diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-09-13 08:17:15 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-09-13 08:17:15 +0300 |
commit | eb5bc25a3ce4eb9a650e433a5206f535c54b453c (patch) | |
tree | 913aaa9450937ebe6553195d853ed69b7a47bddc /client-qt/udm-client-qt/udm_main.cpp | |
parent | 53ecb7e48ede8dbfde85b6452d3fdbd7c56ae01e (diff) |
protocol:
added "data_required" field to module_download_ui_element_info for download creation ui
renamed download_children_menu to download_content_menu as it's more apropriate name
server:
added "data_required" field to module_download_ui_element_info_s for download creation ui
changed "id" field in module_download_menu_element_info_s from string to int
implemented helper functions to fill module_info protobuff structure
implemented most of module_info structures filling (tested, working)
client:
basic implementation of "download add widget"
"marked_class" template for adding module defined id's to ui elements
basic action buttons toolbar in main windows
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) |