Example #1
0
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)));

}
Example #2
0
//-----------------------------------------//
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()));
}
Example #3
0
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)));

}
Example #4
0
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());
    }
}