/* Copyright © 2015 Gluzskiy Alexandr (sss) This file is part of Unknown Download Manager (UDM). UDM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. UDM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with UDM. If not, see . */ #include "udm_main.h" #include #include #include "connect_widget.h" #include "client_session.h" udm_main::udm_main(QWidget *parent) : QMainWindow(parent) { auto menu_main = this->menuBar()->addMenu(tr("Main")); auto action_connect = menu_main->addAction(tr("Connect")); connect(action_connect, SIGNAL(triggered()), this, SLOT(show_connect_widget())); } udm_main::~udm_main() { } void udm_main::show_connect_widget() { connect_widget *w = new connect_widget; //TODO: make connection to other slots related to connection //TODO: destroy widget on close w->show(); } void udm_main::client_connect(QString &host, int port) { thread_client_session = new QThread(this); io_service_ = new boost::asio::io_service; session = new client_session(0, io_service_); //parent must be 0 here connect(this, SIGNAL(connect_signal(QString,int)), session, SLOT(client_connect(QString,int))); connect(this, SIGNAL(run_client_io_loop()), session, SLOT(run_io_service())); session->moveToThread(thread_client_session); thread_client_session->start(); emit connect_signal(host, port); emit run_client_io_loop(); }