#ifndef MAINWINDOW_H_ #define MAINWINDOW_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include"UI/CommonWindow.h" #include"UI/AboutWindow.h" namespace UI { class MainWindow: public QMainWindow, public CommonWindow { Q_OBJECT public: MainWindow(); ~MainWindow() = default; private: void configureDownloadSection(); void configureUploadSection(); void configureWindowDimensions(); void configureWindowProperties(); void connections(); void createMenus(); void setupMainWidget(); void setupMainWindow(); void setupWindowLists(); std::unique_ptr widgetStack; std::unique_ptr stackLayout; std::unique_ptr urlPortion; std::unique_ptr songPathPortion; std::unique_ptr mainWidgetQt; std::unique_ptr uploadSongWidgetQt; std::unique_ptr MainDockWidgetQt; std::unique_ptr windowComboBox; std::unique_ptr uploadSongQt; std::unique_ptr urlQt; std::unique_ptr sourceFilePathQt; std::unique_ptr urlLabel; std::unique_ptr songPath; std::unique_ptr fileMenuQt; std::unique_ptr editMenuQt; std::unique_ptr helpMenuQt; std::unique_ptr closeApplicationQt; std::unique_ptr aboutApplicationQt; std::unique_ptr aboutWindow; signals: private slots: void uploadSong(); void exitApplication(); void displaySoftwareInformation(); void setCurrentIndex(int); }; } #endif