Exemple #1
0
void MainWindow::stopSynergy()
{
    if (synergyProcess())
    {
        if (synergyProcess()->isOpen())
            synergyProcess()->close();
        delete synergyProcess();
        setSynergyProcess(NULL);

        setSynergyState(synergyDisconnected);
    }

    delete m_pTempConfigFile;
    m_pTempConfigFile = NULL;
}
Exemple #2
0
MainWindow::MainWindow(QWidget* parent) :
    QMainWindow(parent),
    MainWindowBase(),
    m_Settings(),
    m_AppConfig(&m_Settings),
    m_pSynergy(NULL),
    m_SynergyState(synergyDisconnected),
    m_ServerConfig(&m_Settings, 5, 3),
    m_pTempConfigFile(NULL),
    m_pLogDialog(new LogDialog(this, synergyProcess())),
    m_pTrayIcon(NULL),
    m_pTrayIconMenu(NULL)
{
    setupUi(this);

    createTrayIcon();
    createMenuBar();
    loadSettings();
    initConnections();

    // HACK - surely window should be visible by default?
    setVisible(true);

    if (appConfig().autoConnect())
        startSynergy();
}
Exemple #3
0
void MainWindow::stopSynergy()
{
	if (synergyProcess())
	{
		if (synergyProcess()->isOpen())
			synergyProcess()->close();
		delete synergyProcess();
		setSynergyProcess(NULL);

		setSynergyState(synergyDisconnected);
	}

	// HACK: deleting the object deletes the physical file, which is
	// bad, since it could be in use by the Windows service!
	//delete m_pTempConfigFile;
	m_pTempConfigFile = NULL;
}
Exemple #4
0
void MainWindow::startSynergy()
{
	stopSynergy();

	QString app;
	QStringList args;

	args << "-f" << "--debug" << appConfig().logLevelText();

	if (!appConfig().screenName().isEmpty())
		args << "--name" << appConfig().screenName();

	if (appConfig().gameDevice())
	{
		args << "--game-device";
	}

	setSynergyProcess(new QProcess(this));

	if ((synergyType() == synergyClient && !clientArgs(args, app))
		|| (synergyType() == synergyServer && !serverArgs(args, app)))
	{
		stopSynergy();
		return;
	}

	connect(synergyProcess(), SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(synergyFinished(int, QProcess::ExitStatus)));
	connect(synergyProcess(), SIGNAL(readyReadStandardOutput()), m_pLogDialog, SLOT(readSynergyOutput()));
	connect(synergyProcess(), SIGNAL(readyReadStandardError()), m_pLogDialog, SLOT(readSynergyOutput()));

	m_pLogDialog->append(tr("\n\nRunning synergy: %1 %2\n\n").arg(app).arg(args.join(" ")));

	synergyProcess()->start(app, args);
	if (!synergyProcess()->waitForStarted())
	{
		stopSynergy();
		QMessageBox::warning(this, tr("Program can not be started"), QString(tr("The executable<br><br>%1<br><br>could not be successfully started, although it does exist. Please check if you have sufficient permissions to run this program.").arg(app)));
		return;
	}

	setSynergyState(synergyConnected);
}