1
1
from app .handlers .URLEmptyException import URLEmptyException
2
2
from app .services .DownloadService import DownloadService
3
- from app .settings .settings import Settings
4
3
from app .widgets .about import AboutWidget
5
4
from app .widgets .app import MainWidget
6
5
13
12
from PySide6 .QtWidgets import QMainWindow
14
13
from PySide6 .QtWidgets import QWidget
15
14
from PySide6 .QtCore import QUrl
16
- import sys
17
-
18
- # class DownloadWorker(QObject):
19
-
20
- # finished = Signal()
21
- # error_occurred = Signal(str)
22
-
23
- # def __init__(self, url, path, file_type, download_service):
24
- # super().__init__()
25
- # self.url = url
26
- # self.path = path
27
- # self.file_type = file_type
28
- # self.download_service = download_service
29
15
30
- # def run(self):
31
- # try:
32
- # self.download_service.download(self.url, self.path, self.file_type)
33
- # except Exception as e:
34
- # self.error_occurred.emit(str(e))
35
- # finally:
36
- # self.finished.emit()
16
+ import sys
37
17
38
18
39
19
class ApplicationContext :
40
20
41
- __main_widget :MainWidget
42
- __about_widget :AboutWidget
43
- __download_service :DownloadService
44
- __version_service :str
45
-
46
- @property
47
- def __app (self ):
48
- return QApplication (sys .argv )
49
-
50
- def __init__ (self , main_widget :MainWidget ,about_widget :AboutWidget ,download_service :DownloadService ):
51
-
52
- self .__main_widget = main_widget
53
- self .__about_widget = about_widget
54
- self .__download_service = download_service
55
-
56
- self .__set_up ()
57
-
58
- def __set_up (self ):
59
- # self.__app.setStyle(self.__settings_config.config['theme']);
60
- self .__main_widget .setupUi (QMainWindow ().setFixedSize (836 , 324 ));
61
- self .__about_widget .setupUi (QWidget ().setFixedSize (400 , 125 ));
62
-
63
- def run (self ):
64
- ...
65
-
66
- def start_download (self ):
67
- ...
68
-
69
-
70
-
71
-
72
-
73
-
21
+ def __inject_theme (self ):
22
+ self .app .setStyle ('Fusion' )
74
23
24
+ def __load_about_dialog (self ):
25
+ self .dialog = QWidget ()
26
+ self .about = AboutWidget ()
75
27
28
+ def __load_main_form (self ):
29
+ self .app = QApplication ([])
30
+ self .main_window = QMainWindow ()
31
+ self .ui = MainWidget ()
76
32
33
+ def __setup_main_form (self ):
34
+ self .ui .setupUi (self .main_window )
77
35
36
+ def __setup_about_dialog (self ):
37
+ self .about .setupUi (self .dialog )
78
38
39
+ def __inject_signals (self ):
40
+ self .ui .WikiButton .clicked .connect (self .dialog .show ())
79
41
42
+ def __init__ (self ):
43
+ self .__load_main_form ()
44
+ self .__load_about_dialog ()
45
+ self .__setup_about_dialog ()
46
+ self .__setup_main_form ()
47
+ self .__inject_signals ()
80
48
81
-
82
-
83
-
84
-
85
- def load_config (self ):
86
- ...
87
-
88
- # """
89
- # Initializes the Application class by setting up the QApplication, main window,
90
- # about window, and settings window. It also configures the application style
91
- # and sets up the UI components and services.
92
- # """
93
- # # Injecting
94
- # self.app = QApplication(sys.argv)
95
- # self.main_window = QMainWindow()
96
- # self.about_window = QWidget()
97
- # self.settings_window = QWidget()
98
- # self.app.setStyle(self.settings_config.config['theme'])
99
- # # Setting Up
100
- # self.main_widget.setupUi(self.main_window)
101
- # self.about_widget.setupUi(self.about_window)
102
- # self.main_window.setFixedSize(836, 324)
103
- # self.about_window.setFixedSize(400, 125)
104
- # # Services
105
- # self.download_service = DownloadService(
106
- # self.main_widget.DownloadProgressBar, self.main_widget.OutputAreaBox
107
- # )
108
- # self.download_thread = None # Initialize as None
109
- # self.set_actions()
110
-
111
- # def start_download(self):
112
-
113
- # if self.main_widget.UrlEntry.text() == "":
114
- # self.show_error_message("Empty URL Warning", "Please provide a URL.")
115
- # return
116
-
117
- # self.main_widget.OutputAreaBox.insertPlainText("Starting download...\n")
118
-
119
- # url = self.main_widget.UrlEntry.text()
120
- # path = self.settings_config.config['path']
121
- # file_type = self.main_widget.TypeComboBox.currentText()
122
-
123
- # # Create and set up worker thread
124
- # self.download_thread = QThread()
125
- # self.download_worker = DownloadWorker(url, path, file_type, self.download_service)
126
- # self.download_worker.moveToThread(self.download_thread)
127
-
128
- # # Connect signals
129
- # self.download_thread.started.connect(self.download_worker.run)
130
- # self.download_worker.finished.connect(self.download_thread.quit)
131
- # self.download_worker.finished.connect(self.download_worker.deleteLater)
132
- # self.download_thread.finished.connect(self.download_thread.deleteLater)
133
- # self.download_worker.error_occurred.connect(self.show_error_message)
134
-
135
- # # Start the thread
136
- # self.download_thread.start()
137
-
138
- # def show_error_message(self, title, message):
139
- # msg = QMessageBox()
140
- # msg.critical(self.main_window, title, message)
141
-
142
- # def set_actions(self):
143
- # url = QUrl('https://github.com/Kyle-Myre')
144
- # self.main_widget.DownloadButton.clicked.connect(self.start_download)
145
- # self.main_widget.WikiButton.clicked.connect(self.about_window.show)
146
- # self.main_widget.GithubButton.clicked.connect(lambda: QDesktopServices.openUrl(url))
147
-
148
- # def run(self):
149
- # self.main_window.show()
150
- # sys.exit(self.app.exec())
49
+ def run (self ):
50
+ self .__inject_theme ()
51
+ self .main_window .show ()
52
+ sys .exit (self .app .exec ())
0 commit comments