diff --git a/CMakeLists.txt b/CMakeLists.txt index deee372..2cf6d29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,7 @@ set(SOURCES src/Syncers/Download.cpp src/Syncers/Upload.cpp src/UI/MainWindow.cpp + src/UI/AboutWindow.cpp ) set(HEADERS src/Managers/FileManager.h @@ -56,6 +57,7 @@ set(HEADERS src/Syncers/Upload.h src/UI/CommonWindow.h src/UI/MainWindow.h + src/UI/AboutWindow.h ) add_executable(icd ${SOURCES} ${HEADERS}) diff --git a/src/Main.cpp b/src/Main.cpp index 9247b7f..d9560af 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -17,7 +17,6 @@ string newSongPath; int main(int argc, char** argv) { - cout<<"Argument size: "<{new QVBoxLayout}; + + appName = unique_ptr{new QLabel(tr("IcarusDownloadManager"))}; + actionButtonQt = unique_ptr{new QPushButton(tr("Close"))}; + + mainLayoutQt->addWidget(appName.get()); + mainLayoutQt->addWidget(actionButtonQt.get()); + + + setFixedWidth(windowWidth); + setFixedHeight(windowHeight); + + setLayout(mainLayoutQt.get()); + + setWindowTitle("About"); + + connections(); + } + void AboutWindow::connections() + { + QObject::connect(actionButtonQt.get(), SIGNAL(clicked()), this, + SLOT(closeWindow())); + } + + + void AboutWindow::closeWindow() + { + this->hide(); + } +} diff --git a/src/UI/AboutWindow.h b/src/UI/AboutWindow.h new file mode 100644 index 0000000..f479ffc --- /dev/null +++ b/src/UI/AboutWindow.h @@ -0,0 +1,34 @@ +#ifndef ABOUTWINDOW_H_ +#define ABOUTWINDOW_H_ + +#include + +#include +#include +#include +#include +#include + +#include"UI/CommonWindow.h" + +namespace UI +{ + class AboutWindow: public QDialog, public CommonWindow + { + Q_OBJECT + public: + AboutWindow(QWidget* parent=0); + ~AboutWindow() = default; + + private: + void connections(); + void setupWindow(); + + std::unique_ptr appName; + + private slots: + void closeWindow(); + }; +} + +#endif diff --git a/src/UI/MainWindow.cpp b/src/UI/MainWindow.cpp index c264c58..7d260b4 100644 --- a/src/UI/MainWindow.cpp +++ b/src/UI/MainWindow.cpp @@ -18,8 +18,8 @@ namespace UI { MainWindow::MainWindow() { - setupMainWindow(); + aboutWindow = unique_ptr{new AboutWindow}; } @@ -51,8 +51,8 @@ namespace UI } void MainWindow::configureWindowDimensions() { - windowWidth = 400; - windowHeight = 400; + windowWidth = 450; + windowHeight = 450; } void MainWindow::configureWindowProperties() { @@ -63,20 +63,25 @@ namespace UI void MainWindow::connections() { QObject::connect(uploadSongQt.get(), SIGNAL(clicked()), this, SLOT(uploadSong())); + QObject::connect(closeApplicationQt.get(), SIGNAL(triggered()), this, + SLOT(exitApplication())); + QObject::connect(aboutApplicationQt.get(), SIGNAL(triggered()), this, + SLOT(displaySoftwareInformation())); } void MainWindow::createMenus() { fileMenuQt = unique_ptr{menuBar()->addMenu(tr("File"))}; editMenuQt = unique_ptr{menuBar()->addMenu(tr("Edit"))}; + helpMenuQt = unique_ptr{menuBar()->addMenu(tr("Help"))}; closeApplicationQt = unique_ptr{new QAction(new QObject(nullptr))}; - closeApplicationQt.get()->setText("Exit Application"); + closeApplicationQt->setText("Exit Application"); - /** - fileMenu.get()->addAction(closeApplication.get()); - editMenu.get()->addAction(keyEdit.get()); - editMenu.get()->addAction(passwordManage.get()); - */ + aboutApplicationQt = unique_ptr{new QAction(new QObject(nullptr))}; + aboutApplicationQt->setText("About"); + + fileMenuQt->addAction(closeApplicationQt.get()); + helpMenuQt->addAction(aboutApplicationQt.get()); } void MainWindow::setupMainWindow() @@ -103,6 +108,14 @@ namespace UI } + void MainWindow::exitApplication() + { + exit(0); + } + void MainWindow::displaySoftwareInformation() + { + aboutWindow->show(); + } void MainWindow::uploadSong() { uploadSongQt->setEnabled(false); diff --git a/src/UI/MainWindow.h b/src/UI/MainWindow.h index 36bbb56..8ab576f 100644 --- a/src/UI/MainWindow.h +++ b/src/UI/MainWindow.h @@ -16,6 +16,7 @@ #include #include"UI/CommonWindow.h" +#include"UI/AboutWindow.h" namespace UI { @@ -52,10 +53,17 @@ namespace UI 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(); }; } diff --git a/src/split Upload.cpp b/src/split Upload.cpp deleted file mode 100644 index 8d6cbd9..0000000 --- a/src/split Upload.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include"Upload.h" - -Upload::Upload() -{ -}