MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), d(new MainWindow_private(this)) { g_pMainGuiWindow = this; //createDockWindows(); createActions(); createMenus(); //createToolBars(); //createStatusBar(); setCentralWidget(d->m_canvasWidget); #ifdef DEBUG setWindowTitle(QString(APPLICATION_NAME) + "-" + QString(APP_FULL_VERSION_TAG) + " (" + QString(APP_DATE) +")"); #else setWindowTitle(QString(APPLICATION_NAME) + "-" + QString(APP_SHORT_VERSION_TAG)); #endif //DEBUG setWindowIcon(QIcon(":/icons/semaphored.svg")); d->m_pTrayIcon = new QSystemTrayIcon(QIcon(":/icons/semaphored.svg"),this); connect(this, SIGNAL(signalPlaceToTray()),this, SLOT(slotPlaceToTray()),Qt::QueuedConnection); connect(d->m_pTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); d->m_pTrayIcon->show(); }
slm_machine::slm_machine(QWidget *parent) : QMainWindow(parent), ui(new Ui::slm_machineClass) { /************************** UI and Buddy Management *******************************/ ui->setupUi(this); setProgressBarVisibility(false); //Buddy Management buddies = new buddyManager(); buddies->loadBuddiesAndIPs(); buddyModel = new QStringListModel(); buddyModel->setStringList(buddies->AliasBuddyList); ui->buddyList->setModel(buddyModel); ui->buddyList->setEditTriggers(QAbstractItemView::NoEditTriggers); this->setWindowTitle("SLM"); //UI connections connect(ui->addBuddyButton, SIGNAL(clicked()),this, SLOT(addBuddyPressed())); connect(ui->removeBuddyButton, SIGNAL(clicked()), this, SLOT(removeBuddypressed())); connect(ui->actionExit, SIGNAL(triggered()), this, SLOT(closeApplication())); connect(ui->buddyList, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(buddyPressed(QModelIndex))); connect(ui->actionAbout_Qt, SIGNAL(triggered()), this, SLOT(aboutQTPressed())); connect(ui->actionAbout_SLM, SIGNAL(triggered()), this, SLOT(aboutSLMPressed())); connect(ui->actionEncryption_Key, SIGNAL(triggered()), this, SLOT(encryptionKeyPressed())); /************************************************************************************/ /************************** Message Server Management *******************************/ messageServer = slm_server::getInstance(); connect(messageServer, SIGNAL(sendtoUI(QByteArray,QHostAddress)),this,SLOT(messageHandler(QByteArray,QHostAddress))); /************************************************************************************/ /***************************** File Server Management *******************************/ onGoingFileTransfer = false; FServer = new fileServer(); //File Server Connections connect(FServer,SIGNAL(newDocumentArrived(QString,QString,quint32,quint8)),this,SLOT(incomingFileSlot(QString,QString,quint32,quint8)),Qt::QueuedConnection); connect(FServer,SIGNAL(transferCompleted(QString)),this,SLOT(incomingFileTransferCompleted(QString)),Qt::QueuedConnection); connect(FServer,SIGNAL(transferCanceled()),this,SLOT(transferIsCancelled()),Qt::QueuedConnection); connect(FServer,SIGNAL(ongoingTransfer()),this,SLOT(ongoingTransferExists()),Qt::QueuedConnection); connect(FServer,SIGNAL(receivingProgress(quint32)),this,SLOT(updateReceivingProgress(quint32)),Qt::QueuedConnection); //Start the File Server Thread FServer->start(); /***********************************************************************************/ /***************************** Buddy List Right Click *******************************/ checkOnline = new QAction(tr("&Check Online"), this); checkOnline->setIcon(QIcon(":/icons/CheckOnline")); rightClickUserMenu = new QMenu(); rightClickUserMenu->addAction(checkOnline); connect(checkOnline,SIGNAL(triggered()),this,SLOT(checkUserOnline())); ui->buddyList->installEventFilter(this); /***********************************************************************************/ /***************************** Tray Icon Management ********************************/ //Create tray icon and contex menu actions this->createActions(); this->createTrayIcon(); //Tray Icon Connections connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); connect(this, SIGNAL(signalPlaceToTray()),this, SLOT(slotPlaceToTray()),Qt::QueuedConnection); //Show application icon in the tray trayIcon->setIcon(QIcon(":/icons/SLM_Logo")); trayIcon->setToolTip("SLM (SMG Lan Messenger)"); trayIcon->show(); /**********************************************************************************/ }