refactor MainWindow, move start and restart inline with mode options
update labels for the mode buttons actions and menu actions
use callstart / callstop for connect and disconect icons
This commit is contained in:
committed by
Chris Rizzitello
parent
a0d75b28ba
commit
26983dc0e4
@ -340,9 +340,8 @@ void MainWindow::connectSlots()
|
||||
|
||||
connect(ui->btnToggleCore, &QPushButton::clicked, m_actionStartCore, &QAction::trigger, Qt::UniqueConnection);
|
||||
connect(ui->btnRestartCore, &QPushButton::clicked, this, &MainWindow::resetCore);
|
||||
connect(ui->btnConnect, &QPushButton::clicked, this, &MainWindow::resetCore);
|
||||
|
||||
connect(ui->lineHostname, &QLineEdit::returnPressed, ui->btnConnect, &QPushButton::click);
|
||||
connect(ui->lineHostname, &QLineEdit::returnPressed, ui->btnRestartCore, &QPushButton::click);
|
||||
connect(ui->lineHostname, &QLineEdit::textChanged, this, &MainWindow::remoteHostChanged);
|
||||
|
||||
connect(ui->btnSaveServerConfig, &QPushButton::clicked, this, &MainWindow::saveServerConfig);
|
||||
@ -561,7 +560,6 @@ void MainWindow::coreModeToggled()
|
||||
|
||||
const auto coreMode = serverMode ? Settings::CoreMode::Server : Settings::CoreMode::Client;
|
||||
Settings::setValue(Settings::Core::CoreMode, coreMode);
|
||||
|
||||
Settings::save();
|
||||
updateModeControls(serverMode);
|
||||
}
|
||||
@ -588,10 +586,47 @@ void MainWindow::updateModeControls(bool serverMode)
|
||||
m_coreProcess.start();
|
||||
}
|
||||
}
|
||||
updateModeControlLabels();
|
||||
|
||||
toggleCanRunCore((!serverMode && !ui->lineHostname->text().isEmpty()) || serverMode);
|
||||
}
|
||||
|
||||
void MainWindow::updateModeControlLabels()
|
||||
{
|
||||
const bool isServer = m_coreProcess.mode() == CoreMode::Server;
|
||||
const bool isStarted = m_coreProcess.isStarted();
|
||||
|
||||
QString startText;
|
||||
QString stopText;
|
||||
QIcon startIcon;
|
||||
QIcon stopIcon;
|
||||
|
||||
if (isServer) {
|
||||
startText = tr("Start");
|
||||
stopText = tr("Stop");
|
||||
startIcon = QIcon::fromTheme(QStringLiteral("system-run"));
|
||||
stopIcon = QIcon::fromTheme(QIcon::ThemeIcon::ProcessStop);
|
||||
} else {
|
||||
startText = tr("Connect");
|
||||
stopText = tr("Disconnect");
|
||||
startIcon = QIcon::fromTheme(QIcon::ThemeIcon::CallStart);
|
||||
stopIcon = QIcon::fromTheme(QIcon::ThemeIcon::CallStop);
|
||||
}
|
||||
|
||||
m_actionStartCore->setText(startText);
|
||||
m_actionStartCore->setIcon(startIcon);
|
||||
m_actionStopCore->setText(stopText);
|
||||
m_actionStopCore->setIcon(stopIcon);
|
||||
|
||||
if (isStarted) {
|
||||
ui->btnToggleCore->setText(stopText);
|
||||
ui->btnToggleCore->setIcon(stopIcon);
|
||||
} else {
|
||||
ui->btnToggleCore->setText(startText);
|
||||
ui->btnToggleCore->setIcon(startIcon);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::updateSecurityIcon(bool visible)
|
||||
{
|
||||
m_lblSecurityStatus->setVisible(visible);
|
||||
@ -1002,9 +1037,6 @@ void MainWindow::coreProcessStateChanged(CoreProcessState state)
|
||||
disconnect(ui->btnToggleCore, &QPushButton::clicked, m_actionStartCore, &QAction::trigger);
|
||||
connect(ui->btnToggleCore, &QPushButton::clicked, m_actionStopCore, &QAction::trigger, Qt::UniqueConnection);
|
||||
|
||||
ui->btnToggleCore->setText(tr("&Stop"));
|
||||
ui->btnToggleCore->setIcon(QIcon::fromTheme(QIcon::ThemeIcon::ProcessStop));
|
||||
|
||||
ui->btnRestartCore->setEnabled(true);
|
||||
m_actionStartCore->setVisible(false);
|
||||
m_actionRestartCore->setVisible(true);
|
||||
@ -1014,14 +1046,12 @@ void MainWindow::coreProcessStateChanged(CoreProcessState state)
|
||||
disconnect(ui->btnToggleCore, &QPushButton::clicked, m_actionStopCore, &QAction::trigger);
|
||||
connect(ui->btnToggleCore, &QPushButton::clicked, m_actionStartCore, &QAction::trigger, Qt::UniqueConnection);
|
||||
|
||||
ui->btnToggleCore->setText(tr("&Start"));
|
||||
ui->btnToggleCore->setIcon(QIcon::fromTheme(QStringLiteral("system-run")));
|
||||
|
||||
ui->btnRestartCore->setEnabled(false);
|
||||
m_actionStartCore->setVisible(true);
|
||||
m_actionRestartCore->setVisible(false);
|
||||
m_actionStopCore->setEnabled(false);
|
||||
}
|
||||
updateModeControlLabels();
|
||||
}
|
||||
|
||||
void MainWindow::coreConnectionStateChanged(CoreConnectionState state)
|
||||
@ -1219,7 +1249,6 @@ void MainWindow::daemonIpcClientConnectionFailed()
|
||||
void MainWindow::toggleCanRunCore(bool enableButtons)
|
||||
{
|
||||
ui->btnToggleCore->setEnabled(enableButtons);
|
||||
ui->btnConnect->setEnabled(enableButtons);
|
||||
ui->btnRestartCore->setEnabled(enableButtons && m_coreProcess.isStarted());
|
||||
m_actionStartCore->setEnabled(enableButtons);
|
||||
m_actionStopCore->setEnabled(enableButtons);
|
||||
|
||||
@ -117,7 +117,7 @@ private:
|
||||
|
||||
void coreModeToggled();
|
||||
void updateModeControls(bool serverMode);
|
||||
|
||||
void updateModeControlLabels();
|
||||
std::unique_ptr<Ui::MainWindow> ui;
|
||||
|
||||
void updateSize();
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>781</width>
|
||||
<height>483</height>
|
||||
<width>758</width>
|
||||
<height>466</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@ -22,7 +22,7 @@
|
||||
<widget class="QWidget" name="topLevelWidget">
|
||||
<layout class="QVBoxLayout" name="_2">
|
||||
<property name="spacing">
|
||||
<number>10</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
@ -40,16 +40,16 @@
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelComputerName">
|
||||
@ -153,7 +153,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
@ -192,15 +192,33 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widgetModeOptions" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QWidget" name="serverOptions" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
@ -222,6 +240,18 @@
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Configure Server</string>
|
||||
</property>
|
||||
@ -229,6 +259,24 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnSaveServerConfig">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Export server configuration</string>
|
||||
</property>
|
||||
@ -293,7 +341,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Server IP address or hostname:</string>
|
||||
<string>Server IP or hostname:</string>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>0</number>
|
||||
@ -313,10 +361,98 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="horizontalWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnConnect">
|
||||
<widget class="QPushButton" name="btnToggleCore">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Connect</string>
|
||||
<string>&Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRestartCore">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Restart</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="view-refresh"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -385,29 +521,6 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRestartCore">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Rest&art</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="view-refresh"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnToggleCore">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
||||
Reference in New Issue
Block a user