IdealIRC::IdealIRC(QWidget *parent) : QMainWindow(parent), ui(new Ui::IdealIRC), firstShow(true), windowIsActive(true), confDlg(NULL), favourites(NULL), chanlist(NULL), scriptManager(NULL), connectionsRemaining(-1), preventSocketAction(false), reconnect(NULL), scriptParent(this, this, &conf, &conlist, &winlist, &activeWid, &activeConn) { ui->setupUi(this); connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)), this, SLOT(applicationFocusChanged(QWidget*,QWidget*))); ui->menuIIRC->addAction(ui->actionConnect); ui->menuIIRC->addAction(ui->actionOptions); ui->menuTools->addAction(ui->actionChannel_favourites); ui->menuTools->addAction(ui->actionChannels_list); ui->menuTools->addAction(ui->actionScript_Manager); QString version = QString("IdealIRC %1").arg(VERSION_STRING); setWindowTitle(version); trayicon.setToolTip(version); trayicon.setIcon( QIcon(":/gfx/icon16x16.png") ); trayicon.setVisible(true); conf.rehash(); setGeometry(conf.mainWinGeo); if (conf.maximized) setWindowState(Qt::WindowMaximized); ui->toolBar->setVisible(conf.showToolBar); connect(&vc, SIGNAL(gotVersion()), this, SLOT(versionReceived())); if (conf.checkVersion) vc.runChecker(); QFont f(conf.fontName); f.setPixelSize(conf.fontSize); ui->treeWidget->setFont(f); updateTreeViewColor(); connect(&scriptParent, SIGNAL(RequestWindow(QString,int,int,bool)), this, SLOT(CreateSubWindow(QString,int,int,bool))); connect(&trayicon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(onTrayActivated(QSystemTrayIcon::ActivationReason))); }
//-----------------------------------------// MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent, Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowStaysOnTopHint | Qt::CustomizeWindowHint), ui_(std::unique_ptr<Ui::MainWindow>(new Ui::MainWindow)), armsManager_(std::unique_ptr<ArmsManager>(new ArmsManager())), remoteDevicesManager_(std::unique_ptr<RemoteDevicesManager>(new RemoteDevicesManager())) { ui_->setupUi(this); setWindowTitle(QApplication::applicationName()); setWindowIcon(QApplication::windowIcon()); // tray connect(&tray_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(onTrayActivated(QSystemTrayIcon::ActivationReason))); menu_.addAction(tr("Открыть"),this,SLOT(onShow()))->setVisible(false); menu_.setDefaultAction(menu_.addAction(tr("Спрятать"),this,SLOT(onHide()))); menu_.addSeparator(); // menu_.addAction(tr("Лог"),this,SLOT(onShowLog())); // menu_.addAction(tr("Выход"),this,SLOT(onExit())); menu_.addSeparator(); tray_.setContextMenu(&menu_); // movia_.stop(); // movia_.setFileName(":/new/list/LAN.png"); // movia_.start(); // tray_.setIcon(QIcon(movia_.currentPixmap())); tray_.setIcon(QIcon(":/new/list/LAN.png")); tray_.show(); onHide(); assert(armsManager_); armsManager_->init(); tray_.showMessage(QApplication::applicationName(), tr("Программа запущена: порт %1").arg(Settings::value("server/port").toUInt())); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //this->setWindowIcon(QIcon(":/icons/duckling.ico")); this->buildTrayMenu(); trayIcon = new QSystemTrayIcon(QIcon(":/icons/duckling.ico")); trayIcon->setContextMenu(trayMenu); trayIcon->show(); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(onTrayActivated(QSystemTrayIcon::ActivationReason))); }
MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, flags), loginWindow_(NULL), connectWindow_(NULL), serverListWindow_(0), timer_(NULL), settingsMenu_(0), connected_(0), getServers_(NULL) { QCoreApplication::setOrganizationName("CPPP"); QCoreApplication::setApplicationName("VPNht"); ui.setupUi(this); setWindowTitle("VPN.ht " + QString(VERSION)); g_openVPNConnection = new OpenVPNConnectorQt(this); if (!g_openVPNConnection->installHelper(SERVICE_NAME)) { QMessageBox::information(this, "VPNht", "Failed to install helper for program. Please contact support."); QTimer::singleShot(1, this, SLOT(close())); return; } #if defined Q_OS_MAC //setAttribute(Qt::WA_QuitOnClose, false); #endif trayIcon_ = new QSystemTrayIcon(this); trayMenu_ = new QMenu(this); actConnect_ = new QAction("Connect", this); actDisconnect_ = new QAction("Disconnect", this); actHelp_ = new QAction("Help", this); actLiveChat_ = new QAction("Live chat", this); actExit_ = new QAction("Quit", this); trayMenu_->addAction(actConnect_); trayMenu_->addAction(actDisconnect_); trayMenu_->addSeparator(); trayMenu_->addAction(actHelp_); trayMenu_->addAction(actLiveChat_); trayMenu_->addAction(actExit_); trayIcon_->setContextMenu(trayMenu_); trayIcon_->hide(); setTrayStatusDisconnected(false); settingsMenu_ = new QMenu(this); settingsMenu_->addAction("Settings", this, SLOT(onSettings())); settingsMenu_->addAction("Status", this, SLOT(onStatus())); settingsMenu_->addAction("Help", this, SLOT(onHelp())); settingsMenu_->addAction("Proxy", this, SLOT(onProxy())); settingsMenu_->addAction("Show logs", this, SLOT(onShowLogs())); settingsMenu_->addAction("Logout", this, SLOT(onReturnToSignUp())); settingsMenu_->setStyleSheet(ctxMenuStyle); loginWindow_ = new LoginWindow(this); ui.verticalLayout->addWidget(loginWindow_); loginWindow_->loadSettings(); loginWindow_->hide(); connect(loginWindow_, SIGNAL(signedIn(QString, QString)), SLOT(onSignIn(QString, QString))); waitWindow_ = new WaitWindow(this); ui.verticalLayout->addWidget(waitWindow_); settingsWindow_ = new SettingsWindow(settingsMenu_, this); connect(settingsWindow_, SIGNAL(back()), SLOT(onBack())); ui.verticalLayout->addWidget(settingsWindow_); settingsWindow_->hide(); connectWindow_ = new ConnectWindow(settingsMenu_, this); connect(connectWindow_, SIGNAL(serverList()), SLOT(onServerList())); connect(connectWindow_, SIGNAL(connected()), SLOT(onConnected())); ui.verticalLayout->addWidget(connectWindow_); ui.verticalLayout->addWidget(connectWindow_); connectWindow_->hide(); serverListWindow_ = new ServerListWindow(this); connect(serverListWindow_, SIGNAL(serverSelected(const QString &)), this, SLOT( onChangeServer(const QString &) )); ui.verticalLayout->addWidget(serverListWindow_); serverListWindow_->hide(); proxySettingsWindow_ = new ProxySettingsWindow(settingsMenu_, this); connect(proxySettingsWindow_, SIGNAL(back()), SLOT(onBack())); ui.verticalLayout->addWidget(proxySettingsWindow_); proxySettingsWindow_->hide(); // tray action connect(actConnect_, SIGNAL(triggered()), connectWindow_, SLOT(onClickConnect())); connect(actDisconnect_, SIGNAL(triggered()), connectWindow_, SLOT(onClickConnect())); connect(actHelp_, SIGNAL(triggered()), SLOT(onActHelp())); connect(actLiveChat_, SIGNAL(triggered()), SLOT(onLiveChat())); connect(actExit_, SIGNAL(triggered()), SLOT(onExit())); #if defined Q_OS_WIN connect(trayIcon_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT( onTrayActivated(QSystemTrayIcon::ActivationReason) )); #endif QSettings settings; if (settings.value("savePass", "true").toString() == "true") { QString username = settings.value("login", "").toString(); QString password = settings.value("password", "").toString(); if (!username.isEmpty() && !password.isEmpty()) { adjustSize(); setFixedSize(size()); skipLoginScreen(username, password); } else { waitWindow_->hide(); loginWindow_->show(); adjustSize(); setFixedSize(size()); } } else { waitWindow_->hide(); loginWindow_->show(); adjustSize(); setFixedSize(size()); } }