feat: add scenario conflict resolver

This commit is contained in:
semenov
2026-03-11 15:53:08 +03:00
parent 4edfae5740
commit eb70ed9a6e
23 changed files with 29888 additions and 29762 deletions

View File

@@ -13,7 +13,7 @@ MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent),
ui(new Ui::MainWindow),
bottomRightPosition(QRect(530,506,250,40)),
offlinePosition(240,340,300,40)
offlinePosition(240,350,300,40)
{
ui->setupUi(this);
setAttribute(Qt::WA_TranslucentBackground);
@@ -44,7 +44,8 @@ void MainWindow::initialize(ResourceManager *resourceManager)
bindConnection();
this->resourceManager = resourceManager;
ui->LanguageWidget->hide();
ui->offlineStartButton->setGeometry(offlinePosition);
ui->offlineStartButton->hide();
}
void MainWindow::setStartState()
@@ -74,9 +75,7 @@ void MainWindow::bindConnection()
void MainWindow::loadCompleteState()
{
ui->inlineTextDebug->setText(tr("Обновление завершено"));
ui->offlineStartButton->setEnabled(true);
ui->autostartCheckBox->hide();
ui->offlineStartButton->show();
}
bool MainWindow::getIsAutoStart()
@@ -133,15 +132,9 @@ void MainWindow::serverNotifyShow(QString text, int durationMS)
void MainWindow::setLoginSuccessState()
{
ui->settingsButton->hide();
ui->offlineStartButton->show();
ui->versionLayoutWidget->show();
}
void MainWindow::setStartOfflineButton(bool isAvailable)
{
ui->offlineStartButton->setEnabled(isAvailable);
}
void MainWindow::setClientVersionName(const QString& versionName)
{
ui->valueClientVersion->setText(versionName);
@@ -153,9 +146,7 @@ void MainWindow::showConnectionEmpty()
QPalette palette = ui->notificationLabel->palette();
palette.setColor(ui->notificationLabel->foregroundRole(),Qt::red);
ui->notificationLabel->setText(tr("Соединение отсутсвует"));
ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(offlinePosition);
ui->offlineStartButton->raise();
ui->settingsButton->show();
ui->unsafeChangingButton->hide();
}
@@ -178,9 +169,6 @@ void MainWindow::slotConnectionState(bool flag)
{
palette.setColor(ui->notificationLabel->foregroundRole(),Qt::green);
ui->notificationLabel->setText(tr("Соединение установлено"));
ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(bottomRightPosition);
}
else
{
@@ -193,11 +181,19 @@ void MainWindow::slotConnectionState(bool flag)
void MainWindow::slotServerDisconnect()
{
checkApp();
ui->autostartCheckBox->hide();
ui->inlineTextDebug->setText("");
slotConnectionState(false);
}
void MainWindow::checkApp()
{
bool isAvailable = emit sigAppAvailable();
if (isAvailable) ui->offlineStartButton->show();
else ui->offlineStartButton->hide();
}
void MainWindow::slotDisableNotify()
{
ui->notificationLabel->hide();
@@ -209,14 +205,6 @@ void MainWindow::slotDisableNotify()
timer->stop();
}
void MainWindow::showOfflineButton(bool flag)
{
if (flag)
ui->offlineStartButton->show();
else
ui->offlineStartButton->hide();
}
void MainWindow::on_settingsButton_clicked()
{
emit sigShowSettings(true);
@@ -233,14 +221,14 @@ void MainWindow::loadToServer()
{
ui->mainFrame->show();
ui->inlineTextDebug->setText(tr("Отправка файлов..."));
ui->offlineStartButton->setEnabled(false);
//ui->offlineStartButton->setEnabled(false);
ui->unsafeChangingButton->hide();
}
void MainWindow::undoCurrentChanges()
{
ui->mainFrame->show();
ui->offlineStartButton->setEnabled(false);
//ui->offlineStartButton->setEnabled(false);
ui->unsafeChangingButton->hide();
}
@@ -260,7 +248,8 @@ void MainWindow::on_exitButton_clicked()
void MainWindow::slotShowUpdateInfo()
{
ui->unsafeChangingButton->show();
ui->offlineStartButton->setGeometry(bottomRightPosition);
//ui->offlineStartButton->setGeometry(bottomRightPosition);
//ui->offlineStartButton->setParent(ui->changeButtonGroup->widget());
}
void MainWindow::setUpUi()
@@ -268,9 +257,10 @@ void MainWindow::setUpUi()
ui->notificationLabel->hide();
ui->unsafeChangingButton->hide();
ui->offlineStartButton->show();
ui->offlineStartButton->setEnabled(false);
ui->offlineStartButton->setGeometry(bottomRightPosition);
//ui->offlineStartButton->show();
//ui->offlineStartButton->setEnabled(false);
//ui->offlineStartButton->setGeometry(bottomRightPosition);
//ui->offlineStartButton->setParent(ui->changeButtonGroup->widget());
ui->settingsButton->setIcon(*resourceManager->getSettingsIcon());
@@ -324,9 +314,14 @@ QHBoxLayout *MainWindow::getDisplayLayout() const
return ui->displayLayout;
}
QPushButton *MainWindow::getStartOfflineButton() const
{
return ui->offlineStartButton;
}
void MainWindow::addWidgetToChangeGroup(CommonButtonGroupWidget *commonWidgetGroup)
{
ui->changButtonGroup->addWidget(commonWidgetGroup);
ui->changeButtonGroup->addWidget(commonWidgetGroup);
}
void MainWindow::addWidgetToInteractiveGroup(EntryWidget *entryWidget)