diff --git a/GUIdataBaseLMS/mainwindow.cpp b/GUIdataBaseLMS/mainwindow.cpp
index a71b858..99a0b30 100644
--- a/GUIdataBaseLMS/mainwindow.cpp
+++ b/GUIdataBaseLMS/mainwindow.cpp
@@ -12,20 +12,18 @@ MainWindow::MainWindow(QWidget *parent)
{
ui->setupUi(this);
- this->setWindowTitle(tr("Learning management system (LMS)"));
-
- //Задаём два пункта с текстом локалей в комбобоксе
- ui->cmbLanguage->addItems(QStringList() << "English" << "Русский");
-
m_instructorsAndTraineesWidget = new InstructorsAndTraineesWidget(this);
- ui->horizontalLayout->addWidget(m_instructorsAndTraineesWidget);
+ connect(m_instructorsAndTraineesWidget,&InstructorsAndTraineesWidget::signal_LanguageChanged,this,&MainWindow::slot_LanguageChanged);
- connect(this, &MainWindow::signal_LanguageChanged, m_instructorsAndTraineesWidget, &InstructorsAndTraineesWidget::slot_LanguageChanged);
+ ui->horizontalLayout->addWidget(m_instructorsAndTraineesWidget);
//this->move(0, 0);
//this->showNormal();
this->showMaximized();
+
+ qtLanguageTranslator.load(QString("translations/GUIdataBaseLMS_") + "en_EN", ".");
+ qApp->installTranslator(&qtLanguageTranslator);
}
MainWindow::~MainWindow()
@@ -43,17 +41,8 @@ void MainWindow::changeEvent(QEvent *event)
}
}
-void MainWindow::on_cmbLanguage_currentIndexChanged(const QString &arg1)
+void MainWindow::slot_LanguageChanged(QString language)
{
- QString language;
-
- if(arg1 == QStringLiteral("English"))
- language = QString("en_EN");
- else
- language = QString("ru_RU");
-
- qtLanguageTranslator.load(QString("translations/testDBpgSQL_") + language, ".");
+ qtLanguageTranslator.load(QString(QStringLiteral("translations/GUIdataBaseLMS_")) + language, QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
-
- emit signal_LanguageChanged(language);
}
diff --git a/GUIdataBaseLMS/mainwindow.h b/GUIdataBaseLMS/mainwindow.h
index 2c5718a..3d720c7 100644
--- a/GUIdataBaseLMS/mainwindow.h
+++ b/GUIdataBaseLMS/mainwindow.h
@@ -22,12 +22,9 @@ public:
protected:
void changeEvent(QEvent * event) override;
-signals:
- //сигнал об изменении языка интерфейса
- void signal_LanguageChanged(QString language);
-
-private slots:
- void on_cmbLanguage_currentIndexChanged(const QString &arg1);
+public Q_SLOTS:
+ //Слот обработки смены языка
+ void slot_LanguageChanged(QString language);
private:
Ui::MainWindow *ui;
diff --git a/GUIdataBaseLMS/mainwindow.ui b/GUIdataBaseLMS/mainwindow.ui
index cbc58d6..16aacea 100644
--- a/GUIdataBaseLMS/mainwindow.ui
+++ b/GUIdataBaseLMS/mainwindow.ui
@@ -11,7 +11,7 @@
- MainWindow
+ Learning management system (LMS)
@@ -20,40 +20,6 @@
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Language
-
-
-
- -
-
-
-
- 100
- 0
-
-
-
-
-
-
diff --git a/GUIdataBaseLMS/translations/GUIdataBaseLMS_ru_RU.qm b/GUIdataBaseLMS/translations/GUIdataBaseLMS_ru_RU.qm
new file mode 100644
index 0000000..a3c25fb
Binary files /dev/null and b/GUIdataBaseLMS/translations/GUIdataBaseLMS_ru_RU.qm differ
diff --git a/GUIdataBaseLMS/translations/GUIdataBaseLMS_ru_RU.ts b/GUIdataBaseLMS/translations/GUIdataBaseLMS_ru_RU.ts
new file mode 100644
index 0000000..9fe98cb
--- /dev/null
+++ b/GUIdataBaseLMS/translations/GUIdataBaseLMS_ru_RU.ts
@@ -0,0 +1,12 @@
+
+
+
+
+ MainWindow
+
+
+ Learning management system (LMS)
+ Система управления обучением (СУО)
+
+
+
diff --git a/InstructorsAndTrainees/CMakeLists.txt b/InstructorsAndTrainees/CMakeLists.txt
index b5fb663..427d04c 100644
--- a/InstructorsAndTrainees/CMakeLists.txt
+++ b/InstructorsAndTrainees/CMakeLists.txt
@@ -7,6 +7,9 @@ add_library(InstructorsAndTrainees SHARED
instructorsandtraineeswidget.cpp
instructorsandtraineeswidget.h
instructorsandtraineeswidget.ui
+ dialogsettings.cpp
+ dialogsettings.h
+ dialogsettings.ui
commonview.cpp
commonview.h
diff --git a/InstructorsAndTrainees/dialogsettings.cpp b/InstructorsAndTrainees/dialogsettings.cpp
new file mode 100644
index 0000000..ae0d4a7
--- /dev/null
+++ b/InstructorsAndTrainees/dialogsettings.cpp
@@ -0,0 +1,45 @@
+#include "dialogsettings.h"
+#include "ui_dialogsettings.h"
+
+DialogSettings::DialogSettings(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::DialogSettings)
+{
+ ui->setupUi(this);
+
+ ui->btnUpdateStyle->setObjectName("btnUpdateStyle");
+
+ //Задаём два пункта с текстом локалей в комбобоксе
+ ui->cmbLanguage->addItems(QStringList() << "English" << "Русский");
+}
+
+DialogSettings::~DialogSettings()
+{
+ delete ui;
+}
+
+void DialogSettings::changeEvent(QEvent *event)
+{
+ // В случае получения события изменения языка приложения
+ if (event->type() == QEvent::LanguageChange)
+ {// переведём окно заново
+ ui->retranslateUi(this);
+ }
+}
+
+void DialogSettings::on_cmbLanguage_currentIndexChanged(const QString &arg1)
+{
+ QString language;
+
+ if(arg1 == QStringLiteral("English"))
+ language = QString("en_EN");
+ else
+ language = QString("ru_RU");
+
+ emit signal_LanguageChanged(language);
+}
+
+void DialogSettings::on_btnUpdateStyle_clicked()
+{
+ emit signal_UpdateStyleSheet();
+}
diff --git a/InstructorsAndTrainees/dialogsettings.h b/InstructorsAndTrainees/dialogsettings.h
new file mode 100644
index 0000000..cfcd813
--- /dev/null
+++ b/InstructorsAndTrainees/dialogsettings.h
@@ -0,0 +1,39 @@
+#ifndef DIALOGSETTINGS_H
+#define DIALOGSETTINGS_H
+
+#include
+#include
+#include
+
+namespace Ui {
+class DialogSettings;
+}
+
+class DialogSettings : public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit DialogSettings(QWidget *parent = nullptr);
+ ~DialogSettings();
+
+protected:
+ void changeEvent(QEvent * event) override;
+
+signals:
+ //сигнал об изменении языка интерфейса
+ void signal_LanguageChanged(QString language);
+ //сигнал об изменении стиля
+ void signal_UpdateStyleSheet();
+
+private slots:
+ void on_cmbLanguage_currentIndexChanged(const QString &arg1);
+
+ void on_btnUpdateStyle_clicked();
+
+private:
+ Ui::DialogSettings *ui;
+ QTranslator qtLanguageTranslator;
+};
+
+#endif // DIALOGSETTINGS_H
diff --git a/InstructorsAndTrainees/dialogsettings.ui b/InstructorsAndTrainees/dialogsettings.ui
new file mode 100644
index 0000000..2aca2a7
--- /dev/null
+++ b/InstructorsAndTrainees/dialogsettings.ui
@@ -0,0 +1,113 @@
+
+
+ DialogSettings
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Settings
+
+
+ -
+
+
-
+
+
-
+
+
+ Language
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 58
+ 58
+
+
+
+ Update style
+
+
+
+ :/resources/icons/style.png:/resources/icons/style.png
+
+
+
+ 32
+ 32
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
index de9ce81..a542075 100644
--- a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
+++ b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
@@ -3,6 +3,7 @@
#include "instructorsandtraineeswidget.h"
#include "ui_instructorsandtraineeswidget.h"
#include "dialogauthorizationinstructor.h"
+#include "dialogsettings.h"
InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
QWidget(parent),
@@ -19,7 +20,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
{
ui->setupUi(this);
- ui->btnUpdateStyleSheet->setObjectName("btnUpdateStyleSheet");
+ ui->btnSettings->setObjectName("btnSettings");
#ifndef PROJECT_TYPE_DEBUG
ui->btnUpdateStyleSheet->setVisible(false);
#endif
@@ -182,7 +183,12 @@ void InstructorsAndTraineesWidget::slot_LanguageChanged(QString language)
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTraineesWidget_")) + language, QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
- Q_EMIT signal_LanguageChanged(language);
+ emit signal_LanguageChanged(language);
+}
+
+void InstructorsAndTraineesWidget::slot_UpdateStyleSheet()
+{
+ updateMyStyleSheet();
}
void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverAuth)
@@ -408,11 +414,6 @@ void InstructorsAndTraineesWidget::updateLabelLoggedInInstructor(QString login,
}
}
-void InstructorsAndTraineesWidget::on_btnUpdateStyleSheet_clicked()
-{
- updateMyStyleSheet();
-}
-
void InstructorsAndTraineesWidget::on_btnSetVersion_clicked()
{
connectorToServer->showVersionSelect();
@@ -445,3 +446,24 @@ void InstructorsAndTraineesWidget::on_tabWidget_currentChanged(int index)
ui->btnAssignTask->setEnabled(false);
}
}
+
+void InstructorsAndTraineesWidget::on_btnSettings_clicked()
+{
+ DialogSettings dlg(this);
+
+ connect(&dlg, &DialogSettings::signal_LanguageChanged, this, &InstructorsAndTraineesWidget::slot_LanguageChanged);
+ connect(&dlg, &DialogSettings::signal_UpdateStyleSheet, this, &InstructorsAndTraineesWidget::slot_UpdateStyleSheet);
+
+
+ switch( dlg.exec() )
+ {
+ case QDialog::Accepted:
+ {
+ break;
+ }
+ case QDialog::Rejected:
+ break;
+ default:
+ break;
+ }
+}
diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.h b/InstructorsAndTrainees/instructorsandtraineeswidget.h
index 0849baa..205c460 100644
--- a/InstructorsAndTrainees/instructorsandtraineeswidget.h
+++ b/InstructorsAndTrainees/instructorsandtraineeswidget.h
@@ -45,6 +45,10 @@ private:
public Q_SLOTS:
//Слот обработки смены языка
void slot_LanguageChanged(QString language);
+ //Слот обработки смены стиля
+ void slot_UpdateStyleSheet();
+
+
//Слот обработки результата авторизации
void checkLoginResult(ServerAuthorization * serverAuth);
//Слот обработки результата деавторизации
@@ -54,7 +58,7 @@ public Q_SLOTS:
void slot_currentItemChanged();
Q_SIGNALS:
- //сигнал об изменении языка интерфейса
+ //Слот смены языка
void signal_LanguageChanged(QString language);
//сигнал о необходимости обновления интерфейса
void signal_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
@@ -67,7 +71,6 @@ Q_SIGNALS:
private Q_SLOTS:
void on_btnConnectionToServer_clicked();
void on_btnAuthorizationInstructor_clicked();
- void on_btnUpdateStyleSheet_clicked();
void on_btnSetVersion_clicked();
@@ -75,6 +78,8 @@ private Q_SLOTS:
void on_tabWidget_currentChanged(int index);
+ void on_btnSettings_clicked();
+
private:
//Авторизация инструктора локальная
bool authorizationInstructorDialog(QWidget* parent = nullptr);
diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.ui b/InstructorsAndTrainees/instructorsandtraineeswidget.ui
index a47deef..6c16896 100644
--- a/InstructorsAndTrainees/instructorsandtraineeswidget.ui
+++ b/InstructorsAndTrainees/instructorsandtraineeswidget.ui
@@ -217,7 +217,7 @@
-
-
+
58
@@ -225,7 +225,20 @@
- Update StyleSheet
+ Settings
+
+
+
+ :/resources/icons/settings.png:/resources/icons/settings.png
+
+
+
+ 32
+ 32
+
+
+
+ Qt::ToolButtonTextUnderIcon
diff --git a/InstructorsAndTrainees/resources.qrc b/InstructorsAndTrainees/resources.qrc
index 2370395..af43fd8 100644
--- a/InstructorsAndTrainees/resources.qrc
+++ b/InstructorsAndTrainees/resources.qrc
@@ -47,5 +47,7 @@
resources/icons/check.png
resources/icons/circleRed.png
resources/icons/circleYellow.png
+ resources/icons/settings.png
+ resources/icons/style.png
diff --git a/InstructorsAndTrainees/resources/icons/settings.png b/InstructorsAndTrainees/resources/icons/settings.png
new file mode 100644
index 0000000..91dfee9
Binary files /dev/null and b/InstructorsAndTrainees/resources/icons/settings.png differ
diff --git a/InstructorsAndTrainees/resources/icons/style.png b/InstructorsAndTrainees/resources/icons/style.png
new file mode 100644
index 0000000..05e9621
Binary files /dev/null and b/InstructorsAndTrainees/resources/icons/style.png differ
diff --git a/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.qm b/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.qm
index 52e5ba6..e6424dd 100644
Binary files a/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.qm and b/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.qm differ
diff --git a/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts b/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts
index 88e1f0b..600f3bb 100644
--- a/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts
+++ b/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts
@@ -232,6 +232,19 @@ The status will be set: 'completed'
Залогирован
+
+ DialogSettings
+
+
+ Settings
+ Настройки
+
+
+
+ Language
+ Язык
+
+
EditorInstructors
@@ -613,28 +626,33 @@ Delete it anyway?
Обновить стиль
-
+
+ Settings
+ Настройки
+
+
+
Tasks
Задачи
-
+
AMM
-
+
FIM
-
+
Assign task
Назначить задачу
-
+
Authorization Instructor
@@ -647,18 +665,18 @@ Delete it anyway?
нет
-
+
Deauthorization Instructor
Деавторизация инструктора
-
+
Attention!
Внимание!
-
+
The file could not be opened
Файл не может быть открыт