diff options
Diffstat (limited to 'client-qt/udm-client-qt/udm_main.cpp')
-rw-r--r-- | client-qt/udm-client-qt/udm_main.cpp | 67 |
1 files changed, 64 insertions, 3 deletions
diff --git a/client-qt/udm-client-qt/udm_main.cpp b/client-qt/udm-client-qt/udm_main.cpp index bf58911..ca5b397 100644 --- a/client-qt/udm-client-qt/udm_main.cpp +++ b/client-qt/udm-client-qt/udm_main.cpp @@ -31,11 +31,14 @@ #include <QHeaderView> #include <QSplitter> #include <QStackedLayout> +#include <QPushButton> +#include <QToolBar> #include "connect_widget.h" #include "client_session.h" #include "downloads_model.h" #include "filters_model.h" +#include "download_add_widget.h" udm_main::udm_main(QWidget *parent) @@ -83,7 +86,6 @@ udm_main::udm_main(QWidget *parent) - spl_vert = new QSplitter(Qt::Vertical); spl_vert->addWidget(spl_hor); spl_vert->addWidget(tabs_info); @@ -92,6 +94,7 @@ udm_main::udm_main(QWidget *parent) spl_vert->setStretchFactor(1, 1); setCentralWidget(spl_vert); + create_buttons(); } udm_main::~udm_main() @@ -99,7 +102,8 @@ udm_main::~udm_main() if(thread_client_session) { thread_client_session->quit(); - delete thread_client_session; + thread_client_session->deleteLater(); + //delete thread_client_session; } //TODO: clear all remaining data } @@ -206,7 +210,6 @@ void udm_main::server_message_received(server_msg msg) break; case SERVER_MSG_TYPE::SERVER_MODULES_REPLY: { - //TODO: create download info ui template for each module here modules.clear(); //TODO: something better for(auto i : msg.server_modules_reply()) modules.push_back(i); @@ -225,6 +228,64 @@ void udm_main::server_message_received(server_msg msg) } } +void udm_main::create_buttons() +{ + btn_start = new QPushButton(this); + connect(btn_start, SIGNAL(clicked(bool)), this, SLOT(btn_start_clicked())); + btn_stop = new QPushButton(this); + connect(btn_stop, SIGNAL(clicked(bool)), this, SLOT(btn_stop_clicked())); + btn_del = new QPushButton(this); + connect(btn_del, SIGNAL(clicked(bool)), this, SLOT(btn_del_clicked())); + btn_add = new QPushButton(this); + connect(btn_add, SIGNAL(clicked(bool)), this, SLOT(btn_add_clicked())); + button_bar = new QToolBar(this); + button_bar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + //TODO: support dynamic action buttons for modules + button_bar->addWidget(btn_start); + button_bar->addWidget(btn_stop); + button_bar->addSeparator(); + button_bar->addWidget(btn_del); + button_bar->addWidget(btn_add); + btn_start->setText(tr("Start")); + btn_start->setToolTip(tr("Start download")); + btn_start->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + btn_stop->setText(tr("Stop")); + btn_stop->setToolTip(tr("Stop download")); + btn_stop->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + btn_del->setText(tr("Delete")); + btn_del->setToolTip(tr("Delete download")); + btn_del->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + btn_add->setText(tr("Add")); + btn_add->setToolTip(tr("Add download")); + btn_add->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + + this->addToolBar(button_bar); + +} + +void udm_main::btn_start_clicked() +{ + +} + +void udm_main::btn_stop_clicked() +{ + +} + +void udm_main::btn_add_clicked() +{ + download_add_widget *w = new download_add_widget(modules); + //TODO: connect slots/signals here + w->show(); +} + +void udm_main::btn_del_clicked() +{ + +} + + void udm_main::client_connected(bool success, QString error_text) { if(!success) |