|
@@ -213,6 +213,7 @@ void MainWnd::ShowOriginalWndSlots()
|
|
|
m_pOriginalWnd = new OriginalWnd(this, m_pCameraBind);
|
|
|
ui->stackedWidget_UI->addWidget(m_pOriginalWnd);
|
|
|
connect(this, &MainWnd::setLanguageSignal, m_pOriginalWnd, &OriginalWnd::onHandleLanguageSignal);
|
|
|
+ connect(m_pOriginalWnd, &OriginalWnd::sendDisableFeaturesSig, this, &MainWnd::GetDisableFeaturesSlots);
|
|
|
}
|
|
|
|
|
|
ui->stackedWidget_UI->setCurrentWidget(m_pOriginalWnd);
|
|
@@ -224,17 +225,37 @@ void MainWnd::CloseMainWndSlots()
|
|
|
qApp->quit();
|
|
|
}
|
|
|
|
|
|
+void MainWnd::GetDisableFeaturesSlots(bool isDisable)
|
|
|
+{
|
|
|
+ QToolButton* buttons[] = {
|
|
|
+ ui->tabHomeBtn, ui->tabProductionBtn, ui->tabProgramBtn,
|
|
|
+ ui->tabMessageBtn, ui->tabModuleBtn, ui->tabDispositionBtn,
|
|
|
+ ui->tabDiagnosisBtn, ui->tabSystemBtn, ui->tabHelpBtn
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ for (auto btn : buttons)
|
|
|
+ {
|
|
|
+ btn->setDisabled(isDisable);
|
|
|
+ }
|
|
|
+
|
|
|
+ ui->label_logo_m->setDisabled(isDisable);
|
|
|
+}
|
|
|
+
|
|
|
void MainWnd::applyTheme(int themeValue)
|
|
|
{
|
|
|
QString qssFileName;
|
|
|
- if (themeValue == 0) {
|
|
|
+ if (themeValue == 0)
|
|
|
+ {
|
|
|
qssFileName = ":/Src/Res/qss/light.qss";
|
|
|
}
|
|
|
- else {
|
|
|
+ else
|
|
|
+ {
|
|
|
qssFileName = ":/Src/Res/qss/dark.qss";
|
|
|
}
|
|
|
QFile qssFile(qssFileName);
|
|
|
- if (qssFile.open(QFile::ReadOnly)) {
|
|
|
+ if (qssFile.open(QFile::ReadOnly))
|
|
|
+ {
|
|
|
QString qssContent = qssFile.readAll();
|
|
|
qApp->setStyleSheet(qssContent);
|
|
|
qssFile.close();
|
|
@@ -775,56 +796,48 @@ void MainWnd::SwitchToConfig(void (OriginalWnd::* switchMethod)())
|
|
|
ui->stackedWidget_UI->setCurrentWidget(m_pOriginalWnd);
|
|
|
}
|
|
|
|
|
|
-void MainWnd::onCurrentWidgetChanged() {
|
|
|
+void MainWnd::onCurrentWidgetChanged()
|
|
|
+{
|
|
|
QWidget* currentWidget = ui->stackedWidget_UI->currentWidget();
|
|
|
- if (currentWidget) {
|
|
|
- QString currentWidgetName = currentWidget->objectName();
|
|
|
+ if (!currentWidget)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ QString currentWidgetName = currentWidget->objectName();
|
|
|
+ QSettings settings("YourCompany", "YourApplication_style");
|
|
|
+ int flag = settings.value("Flag_Style", 0).toInt();
|
|
|
|
|
|
- QSettings settings("YourCompany", "YourApplication_style");
|
|
|
- int flag = settings.value("Flag_Style", 0).toInt();
|
|
|
+ // 获取所有需要操作的按钮指针数组
|
|
|
+ QToolButton* buttons[] = {
|
|
|
+ ui->tabHomeBtn, ui->tabProductionBtn, ui->tabProgramBtn,
|
|
|
+ ui->tabMessageBtn, ui->tabModuleBtn, ui->tabDispositionBtn,
|
|
|
+ ui->tabDiagnosisBtn, ui->tabSystemBtn, ui->tabHelpBtn
|
|
|
+ };
|
|
|
|
|
|
- if (currentWidgetName == "Login") {
|
|
|
- QString styleSheet;
|
|
|
- if (flag == 0) {
|
|
|
- styleSheet = "QToolButton:disabled { color: #808080; background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #F8FBFF, stop: 1 #E7ECF3); }"; // 设置禁用状态下的文本颜色为灰色
|
|
|
- }
|
|
|
- else if (flag == 1) {
|
|
|
- styleSheet = "QToolButton:disabled { color: #B1B2D8; background: #7276AA;}";
|
|
|
- }
|
|
|
+ if (currentWidgetName == "Login")
|
|
|
+ {
|
|
|
+ QString styleSheet = (flag == 0)
|
|
|
+ ? "QToolButton:disabled { color: #808080; background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #F8FBFF, stop: 1 #E7ECF3); }"
|
|
|
+ : "QToolButton:disabled { color: #B1B2D8; background: #7276AA;}";
|
|
|
|
|
|
- ui->tabHomeBtn->setDisabled(true);
|
|
|
- ui->tabHomeBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabProductionBtn->setDisabled(true);
|
|
|
- ui->tabProductionBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabProgramBtn->setDisabled(true);
|
|
|
- ui->tabProgramBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabMessageBtn->setDisabled(true);
|
|
|
- ui->tabMessageBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabModuleBtn->setDisabled(true);
|
|
|
- ui->tabModuleBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabDispositionBtn->setDisabled(true);
|
|
|
- ui->tabDispositionBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabDiagnosisBtn->setDisabled(true);
|
|
|
- ui->tabDiagnosisBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabSystemBtn->setDisabled(true);
|
|
|
- ui->tabSystemBtn->setStyleSheet(styleSheet);
|
|
|
- ui->tabHelpBtn->setDisabled(true);
|
|
|
- ui->tabHelpBtn->setStyleSheet(styleSheet);
|
|
|
+ for (auto btn : buttons)
|
|
|
+ {
|
|
|
+ btn->setDisabled(true);
|
|
|
+ btn->setStyleSheet(styleSheet);
|
|
|
}
|
|
|
- else {
|
|
|
- ui->tabHomeBtn->setDisabled(false);
|
|
|
- if (!initialIconSet) {
|
|
|
- // ui->tabHomeBtn->setIcon(QIcon(":/images/deep/home.png"));
|
|
|
- initialIconSet = true;
|
|
|
- }
|
|
|
- ui->tabProductionBtn->setDisabled(false);
|
|
|
- ui->tabProgramBtn->setDisabled(false);
|
|
|
- ui->tabMessageBtn->setDisabled(false);
|
|
|
- ui->tabModuleBtn->setDisabled(false);
|
|
|
- ui->tabDispositionBtn->setDisabled(false);
|
|
|
- ui->tabDiagnosisBtn->setDisabled(false);
|
|
|
- ui->tabSystemBtn->setDisabled(false);
|
|
|
- ui->tabHelpBtn->setDisabled(false);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!initialIconSet)
|
|
|
+ {
|
|
|
+ // ui->tabHomeBtn->setIcon(QIcon(":/images/deep/home.png"));
|
|
|
+ initialIconSet = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (auto btn : buttons)
|
|
|
+ {
|
|
|
+ btn->setDisabled(false);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -924,11 +937,13 @@ void MainWnd::switchLanguage(const QString& languageCode)
|
|
|
{
|
|
|
qApp->removeTranslator(&translator); // 先移除当前翻译器
|
|
|
|
|
|
- if (languageCode == "en") {
|
|
|
+ if (languageCode == "en")
|
|
|
+ {
|
|
|
translator.load(":/Src/Res/Translate/SBT_en.qm");
|
|
|
gen_if.setLanguageValue(0);
|
|
|
}
|
|
|
- else if (languageCode == "zh_CN") {
|
|
|
+ else if (languageCode == "zh_CN")
|
|
|
+ {
|
|
|
translator.load(":/Src/Res/Translate/SBT_zh_CN.qm");
|
|
|
gen_if.setLanguageValue(1);
|
|
|
}
|