11from app .handlers .URLEmptyException import URLEmptyException
22from app .services .DownloadService import DownloadService
3- from app .settings .settings import Settings
43from app .widgets .about import AboutWidget
54from app .widgets .app import MainWidget
65
1312from PySide6 .QtWidgets import QMainWindow
1413from PySide6 .QtWidgets import QWidget
1514from 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
2915
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
3717
3818
3919class ApplicationContext :
4020
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' )
7423
24+ def __load_about_dialog (self ):
25+ self .dialog = QWidget ()
26+ self .about = AboutWidget ()
7527
28+ def __load_main_form (self ):
29+ self .app = QApplication ([])
30+ self .main_window = QMainWindow ()
31+ self .ui = MainWidget ()
7632
33+ def __setup_main_form (self ):
34+ self .ui .setupUi (self .main_window )
7735
36+ def __setup_about_dialog (self ):
37+ self .about .setupUi (self .dialog )
7838
39+ def __inject_signals (self ):
40+ self .ui .WikiButton .clicked .connect (self .dialog .show ())
7941
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 ()
8048
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