This commit is contained in:
2025-05-30 12:01:24 +03:00
parent 0ff72cf6c1
commit c4d60f0081
13 changed files with 435 additions and 362 deletions

View File

@@ -22,8 +22,16 @@ MainWindow::MainWindow(QWidget *parent)
//this->showNormal(); //this->showNormal();
this->showMaximized(); this->showMaximized();
qtLanguageTranslator.load(QString("translations/GUIdataBaseLMS_") + "en_EN", "."); if(m_instructorsAndTraineesWidget->getLanguage() == "ENG")
qApp->installTranslator(&qtLanguageTranslator); {
qtLanguageTranslator.load(QString("translations/GUIdataBaseLMS_") + "en_EN", ".");
qApp->installTranslator(&qtLanguageTranslator);
}
else
{
qtLanguageTranslator.load(QString("translations/GUIdataBaseLMS_") + "ru_RU", ".");
qApp->installTranslator(&qtLanguageTranslator);
}
} }
MainWindow::~MainWindow() MainWindow::~MainWindow()

View File

@@ -40,17 +40,6 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget> </widget>
<resources> <resources>
<include location="testDBpgSQL.qrc"/> <include location="testDBpgSQL.qrc"/>

View File

@@ -78,6 +78,11 @@ DialogSettings::~DialogSettings()
delete settings; delete settings;
} }
ServerSettings DialogSettings::getSettings()
{
return *settings;
}
void DialogSettings::changeEvent(QEvent *event) void DialogSettings::changeEvent(QEvent *event)
{ {
// В случае получения события изменения языка приложения // В случае получения события изменения языка приложения

View File

@@ -19,6 +19,8 @@ public:
explicit DialogSettings(ConnectorToServer* connectorToServer, bool instructorIsLogged, QWidget *parent = nullptr); explicit DialogSettings(ConnectorToServer* connectorToServer, bool instructorIsLogged, QWidget *parent = nullptr);
~DialogSettings(); ~DialogSettings();
ServerSettings getSettings();
protected: protected:
void changeEvent(QEvent * event) override; void changeEvent(QEvent * event) override;

View File

@@ -16,12 +16,15 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
fimTasksWidget(nullptr), fimTasksWidget(nullptr),
adminMode(false), adminMode(false),
loginInstructorLoggedInLocal(QStringLiteral("")), loginInstructorLoggedInLocal(QStringLiteral("")),
nameInstructorLoggedInLocal(QStringLiteral("")) nameInstructorLoggedInLocal(QStringLiteral("")),
language("ENG")
{ {
ui->setupUi(this); ui->setupUi(this);
ui->btnSettings->setObjectName("btnSettings"); ui->btnSettings->setObjectName("btnSettings");
ui->tabWidgetTasks->setObjectName("tabWidgetTasks"); ui->tabWidgetTasks->setObjectName("tabWidgetTasks");
ui->widgetTop->setObjectName("widgetTop");
#ifndef PROJECT_TYPE_DEBUG #ifndef PROJECT_TYPE_DEBUG
ui->btnUpdateStyleSheet->setVisible(false); ui->btnUpdateStyleSheet->setVisible(false);
#endif #endif
@@ -156,6 +159,11 @@ void InstructorsAndTraineesWidget::updateMyStyleSheet()
this->setStyleSheet(styleSheet); this->setStyleSheet(styleSheet);
} }
QString InstructorsAndTraineesWidget::getLanguage()
{
return language;
}
QString InstructorsAndTraineesWidget::loadStyleSheet() QString InstructorsAndTraineesWidget::loadStyleSheet()
{ {
//QString fileName = ":/resources/css/styleSheetMain.css"; //QString fileName = ":/resources/css/styleSheetMain.css";
@@ -412,7 +420,7 @@ void InstructorsAndTraineesWidget::updateLabelServer()
if(connectorToServer->getIsConnected()) if(connectorToServer->getIsConnected())
{ {
ServerSettings serverSettings = connectorToServer->getServerSettings(); ServerSettings serverSettings = connectorToServer->getServerSettings();
ui->lblServer->setText(serverSettings.Address + ":" +serverSettings.Port); ui->lblServer->setText(serverSettings.Address + " : " +serverSettings.Port);
} }
else else
ui->lblServer->setText(tr("none")); ui->lblServer->setText(tr("none"));
@@ -435,6 +443,7 @@ void InstructorsAndTraineesWidget::on_btnSettings_clicked()
{ {
case QDialog::Accepted: case QDialog::Accepted:
{ {
language = dlg.getSettings().Language;
break; break;
} }
case QDialog::Rejected: case QDialog::Rejected:
@@ -442,6 +451,8 @@ void InstructorsAndTraineesWidget::on_btnSettings_clicked()
default: default:
break; break;
} }
language = dlg.getSettings().Language;
} }
void InstructorsAndTraineesWidget::on_btnEditorTrainees_clicked() void InstructorsAndTraineesWidget::on_btnEditorTrainees_clicked()

View File

@@ -39,6 +39,7 @@ private:
public: public:
void updateMyStyleSheet(); void updateMyStyleSheet();
QString getLanguage();
private: private:
QString loadStyleSheet(); QString loadStyleSheet();
@@ -100,6 +101,7 @@ private:
QString nameInstructorLoggedInLocal; QString nameInstructorLoggedInLocal;
QTranslator qtLanguageTranslator; QTranslator qtLanguageTranslator;
QString language;
}; };
#endif // INSTRUCTORSANDTRAINEESWIDGET_H #endif // INSTRUCTORSANDTRAINEESWIDGET_H

View File

@@ -25,276 +25,271 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QWidget" name="widgetTop" native="true">
<property name="font"> <layout class="QGridLayout" name="gridLayout_6">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="title">
<string/>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0"> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_1"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QToolButton" name="btnConnectionToServer"> <layout class="QHBoxLayout" name="horizontalLayout_1">
<property name="minimumSize"> <item>
<size> <widget class="QToolButton" name="btnConnectionToServer">
<width>130</width> <property name="minimumSize">
<height>58</height> <size>
</size> <width>130</width>
</property> <height>58</height>
<property name="text"> </size>
<string>Connection to Server</string> </property>
</property> <property name="text">
<property name="icon"> <string>Connection to Server</string>
<iconset resource="resources.qrc"> </property>
<normaloff>:/resources/icons/connectDB.png</normaloff>:/resources/icons/connectDB.png</iconset> <property name="icon">
</property> <iconset resource="resources.qrc">
<property name="iconSize"> <normaloff>:/resources/icons/connectDB.png</normaloff>:/resources/icons/connectDB.png</iconset>
<size> </property>
<width>32</width> <property name="iconSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="checkable"> </size>
<bool>false</bool> </property>
</property> <property name="checkable">
<property name="toolButtonStyle"> <bool>false</bool>
<enum>Qt::ToolButtonTextUnderIcon</enum> </property>
</property> <property name="toolButtonStyle">
</widget> <enum>Qt::ToolButtonTextUnderIcon</enum>
</item> </property>
<item> </widget>
<widget class="QToolButton" name="btnAuthorizationInstructor"> </item>
<property name="minimumSize"> <item>
<size> <widget class="QToolButton" name="btnAuthorizationInstructor">
<width>170</width> <property name="minimumSize">
<height>58</height> <size>
</size> <width>170</width>
</property> <height>58</height>
<property name="text"> </size>
<string>Authorization Instructor</string> </property>
</property> <property name="text">
<property name="icon"> <string>Authorization Instructor</string>
<iconset resource="resources.qrc"> </property>
<normaloff>:/resources/icons/login-user.png</normaloff>:/resources/icons/login-user.png</iconset> <property name="icon">
</property> <iconset resource="resources.qrc">
<property name="iconSize"> <normaloff>:/resources/icons/login-user.png</normaloff>:/resources/icons/login-user.png</iconset>
<size> </property>
<width>32</width> <property name="iconSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="checkable"> </size>
<bool>true</bool> </property>
</property> <property name="checkable">
<property name="toolButtonStyle"> <bool>true</bool>
<enum>Qt::ToolButtonTextUnderIcon</enum> </property>
</property> <property name="toolButtonStyle">
</widget> <enum>Qt::ToolButtonTextUnderIcon</enum>
</item> </property>
<item> </widget>
<widget class="QLabel" name="lblDBisConnected"> </item>
<property name="minimumSize"> <item>
<size> <widget class="QLabel" name="lblDBisConnected">
<width>32</width> <property name="minimumSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="maximumSize"> </size>
<size> </property>
<width>32</width> <property name="maximumSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="text"> </size>
<string/> </property>
</property> <property name="text">
<property name="pixmap"> <string/>
<pixmap resource="resources.qrc">:/resources/icons/circleGray.png</pixmap> </property>
</property> <property name="pixmap">
<property name="scaledContents"> <pixmap resource="resources.qrc">:/resources/icons/circleGray.png</pixmap>
<bool>true</bool> </property>
</property> <property name="scaledContents">
</widget> <bool>true</bool>
</item> </property>
<item> </widget>
<widget class="QLabel" name="lblServerPrefix"> </item>
<property name="text"> <item>
<string>Server: </string> <widget class="QLabel" name="lblServerPrefix">
</property> <property name="text">
</widget> <string>Server: </string>
</item> </property>
<item> </widget>
<widget class="QLabel" name="lblServer"> </item>
<property name="text"> <item>
<string>none</string> <widget class="QLabel" name="lblServer">
</property> <property name="text">
</widget> <string>none</string>
</item> </property>
<item> </widget>
<widget class="QLabel" name="lblLoggedIn"> </item>
<property name="minimumSize"> <item>
<size> <widget class="QLabel" name="lblLoggedIn">
<width>32</width> <property name="minimumSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="maximumSize"> </size>
<size> </property>
<width>32</width> <property name="maximumSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="text"> </size>
<string/> </property>
</property> <property name="text">
<property name="pixmap"> <string/>
<pixmap resource="resources.qrc">:/resources/icons/circleGray.png</pixmap> </property>
</property> <property name="pixmap">
<property name="scaledContents"> <pixmap resource="resources.qrc">:/resources/icons/circleGray.png</pixmap>
<bool>true</bool> </property>
</property> <property name="scaledContents">
</widget> <bool>true</bool>
</item> </property>
<item> </widget>
<widget class="QLabel" name="lblLoggedInPrefix"> </item>
<property name="maximumSize"> <item>
<size> <widget class="QLabel" name="lblLoggedInPrefix">
<width>16777215</width> <property name="maximumSize">
<height>40</height> <size>
</size> <width>16777215</width>
</property> <height>40</height>
<property name="text"> </size>
<string>Logged in Instructor: </string> </property>
</property> <property name="text">
<property name="textFormat"> <string>Logged in Instructor: </string>
<enum>Qt::AutoText</enum> </property>
</property> <property name="textFormat">
<property name="scaledContents"> <enum>Qt::AutoText</enum>
<bool>false</bool> </property>
</property> <property name="scaledContents">
</widget> <bool>false</bool>
</item> </property>
<item> </widget>
<widget class="QLabel" name="lblLoggedInInstructor"> </item>
<property name="maximumSize"> <item>
<size> <widget class="QLabel" name="lblLoggedInInstructor">
<width>16777215</width> <property name="maximumSize">
<height>40</height> <size>
</size> <width>16777215</width>
</property> <height>40</height>
<property name="text"> </size>
<string>none</string> </property>
</property> <property name="text">
</widget> <string>none</string>
</item> </property>
<item> </widget>
<spacer name="horizontalSpacer"> </item>
<property name="orientation"> <item>
<enum>Qt::Horizontal</enum> <spacer name="horizontalSpacer">
</property> <property name="orientation">
<property name="sizeHint" stdset="0"> <enum>Qt::Horizontal</enum>
<size> </property>
<width>40</width> <property name="sizeHint" stdset="0">
<height>20</height> <size>
</size> <width>40</width>
</property> <height>20</height>
</spacer> </size>
</item> </property>
<item> </spacer>
<widget class="QToolButton" name="btnSetVersion"> </item>
<property name="minimumSize"> <item>
<size> <widget class="QToolButton" name="btnSetVersion">
<width>58</width> <property name="minimumSize">
<height>58</height> <size>
</size> <width>58</width>
</property> <height>58</height>
<property name="text"> </size>
<string>ChangeVersion</string> </property>
</property> <property name="text">
</widget> <string>ChangeVersion</string>
</item> </property>
<item> </widget>
<widget class="QToolButton" name="btnEditorTrainees"> </item>
<property name="minimumSize"> <item>
<size> <widget class="QToolButton" name="btnEditorTrainees">
<width>58</width> <property name="minimumSize">
<height>58</height> <size>
</size> <width>58</width>
</property> <height>58</height>
<property name="text"> </size>
<string>Editor Trainees</string> </property>
</property> <property name="text">
<property name="icon"> <string>Editor Trainees</string>
<iconset resource="resources.qrc"> </property>
<normaloff>:/resources/icons/DB-trainees.png</normaloff>:/resources/icons/DB-trainees.png</iconset> <property name="icon">
</property> <iconset resource="resources.qrc">
<property name="iconSize"> <normaloff>:/resources/icons/DB-trainees.png</normaloff>:/resources/icons/DB-trainees.png</iconset>
<size> </property>
<width>32</width> <property name="iconSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="toolButtonStyle"> </size>
<enum>Qt::ToolButtonTextUnderIcon</enum> </property>
</property> <property name="toolButtonStyle">
</widget> <enum>Qt::ToolButtonTextUnderIcon</enum>
</item> </property>
<item> </widget>
<widget class="QToolButton" name="btnEditorInstructors"> </item>
<property name="minimumSize"> <item>
<size> <widget class="QToolButton" name="btnEditorInstructors">
<width>58</width> <property name="minimumSize">
<height>58</height> <size>
</size> <width>58</width>
</property> <height>58</height>
<property name="text"> </size>
<string>Editor Instructors</string> </property>
</property> <property name="text">
<property name="icon"> <string>Editor Instructors</string>
<iconset resource="resources.qrc"> </property>
<normaloff>:/resources/icons/DB-instructors.png</normaloff>:/resources/icons/DB-instructors.png</iconset> <property name="icon">
</property> <iconset resource="resources.qrc">
<property name="iconSize"> <normaloff>:/resources/icons/DB-instructors.png</normaloff>:/resources/icons/DB-instructors.png</iconset>
<size> </property>
<width>32</width> <property name="iconSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="toolButtonStyle"> </size>
<enum>Qt::ToolButtonTextUnderIcon</enum> </property>
</property> <property name="toolButtonStyle">
</widget> <enum>Qt::ToolButtonTextUnderIcon</enum>
</item> </property>
<item> </widget>
<widget class="QToolButton" name="btnSettings"> </item>
<property name="minimumSize"> <item>
<size> <widget class="QToolButton" name="btnSettings">
<width>58</width> <property name="minimumSize">
<height>58</height> <size>
</size> <width>58</width>
</property> <height>58</height>
<property name="text"> </size>
<string>Settings</string> </property>
</property> <property name="text">
<property name="icon"> <string>Settings</string>
<iconset resource="resources.qrc"> </property>
<normaloff>:/resources/icons/settings.png</normaloff>:/resources/icons/settings.png</iconset> <property name="icon">
</property> <iconset resource="resources.qrc">
<property name="iconSize"> <normaloff>:/resources/icons/settings.png</normaloff>:/resources/icons/settings.png</iconset>
<size> </property>
<width>32</width> <property name="iconSize">
<height>32</height> <size>
</size> <width>32</width>
</property> <height>32</height>
<property name="toolButtonStyle"> </size>
<enum>Qt::ToolButtonTextUnderIcon</enum> </property>
</property> <property name="toolButtonStyle">
</widget> <enum>Qt::ToolButtonTextUnderIcon</enum>
</property>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</item> </item>

View File

@@ -56,13 +56,13 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
ui->btnOnlyActive->setObjectName("btnOnlyActive"); ui->btnOnlyActive->setObjectName("btnOnlyActive");
ui->btnAssignTask->setObjectName("btnAssignTask"); ui->btnAssignTask->setObjectName("btnAssignTask");
ui->btnAssignTask->setEnabled(false); ui->btnAssignTask->setEnabled(false);
if(type == TypeList::listCommon) if(type == TypeList::listCommon)
{ {
ui->horizontalLayout_3->addWidget(ui->btnAssignTask); ui->horizontalLayout_3->addWidget(ui->btnAssignTask);
ui->horizontalLayout_3->addWidget(ui->btnOnlyActive); ui->horizontalLayout_3->addWidget(ui->btnOnlyActive);
ui->horizontalLayout_3->addWidget(ui->btnCheck); ui->horizontalLayout_3->addWidget(ui->btnCheck);
ui->horizontalLayout_3->addWidget(ui->btnDelete); ui->horizontalLayout_3->addWidget(ui->btnDelete);
ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft); ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft);
ui->btnDelete->setVisible(false); ui->btnDelete->setVisible(false);

View File

@@ -53,7 +53,6 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
ui->horizontalLayout_3->addWidget(ui->btnAssignTask); ui->horizontalLayout_3->addWidget(ui->btnAssignTask);
ui->horizontalLayout_3->addWidget(ui->btnCheck); ui->horizontalLayout_3->addWidget(ui->btnCheck);
ui->horizontalLayout_3->addWidget(ui->btnDelete); ui->horizontalLayout_3->addWidget(ui->btnDelete);
ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft); ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft);
ui->btnDelete->setVisible(false); ui->btnDelete->setVisible(false);

View File

@@ -24,7 +24,7 @@ void TraineesView::resizeEvent(QResizeEvent *event)
if(typeView == TypeView::onlyView) if(typeView == TypeView::onlyView)
{//onlyView {//onlyView
widthTrainee = width - (530 + 10); widthTrainee = width - (230 + 10);
} }
else else
{//control {//control
@@ -62,6 +62,10 @@ void TraineesView::preparationTreeWidget()
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true); treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true); treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true); treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Class, true);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Computer, true);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_IP_address, true);
} }
else else
{//control {//control

View File

@@ -8,7 +8,7 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *pa
ammTasksWidget(nullptr), ammTasksWidget(nullptr),
fimTasksWidget(nullptr) fimTasksWidget(nullptr)
{ {
ui->setupUi(this); ui->setupUi(this);
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged); connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged);

View File

@@ -9,59 +9,64 @@
<translation>Форма</translation> <translation>Форма</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.ui" line="52"/> <location filename="../tasks/ammtaskswidget.ui" line="41"/>
<source>Assign</source>
<translation>Назначить</translation>
</message>
<message>
<location filename="../tasks/ammtaskswidget.ui" line="67"/>
<source>Аvailable</source> <source>Аvailable</source>
<translation>Доступные</translation> <translation>Доступные</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.ui" line="81"/> <location filename="../tasks/ammtaskswidget.ui" line="96"/>
<source>Check</source> <source>Check</source>
<translation>Проверить</translation> <translation>Проверить</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.ui" line="107"/> <location filename="../tasks/ammtaskswidget.ui" line="122"/>
<source>Delete</source> <source>Delete</source>
<translation>Удалить</translation> <translation>Удалить</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="258"/> <location filename="../tasks/ammtaskswidget.cpp" line="285"/>
<source>Task AMM</source> <source>Task AMM</source>
<translation>Задача AMM</translation> <translation>Задача AMM</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="258"/> <location filename="../tasks/ammtaskswidget.cpp" line="285"/>
<source>DM code</source> <source>DM code</source>
<translation>DM код</translation> <translation>DM код</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="258"/> <location filename="../tasks/ammtaskswidget.cpp" line="285"/>
<location filename="../tasks/ammtaskswidget.cpp" line="260"/> <location filename="../tasks/ammtaskswidget.cpp" line="287"/>
<source>ID</source> <source>ID</source>
<translation>ID</translation> <translation>ID</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="258"/> <location filename="../tasks/ammtaskswidget.cpp" line="285"/>
<location filename="../tasks/ammtaskswidget.cpp" line="260"/> <location filename="../tasks/ammtaskswidget.cpp" line="287"/>
<source>Status</source> <source>Status</source>
<translation>Статус</translation> <translation>Статус</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="260"/> <location filename="../tasks/ammtaskswidget.cpp" line="287"/>
<source>PM/DM</source> <source>PM/DM</source>
<translation>PM/DM</translation> <translation>PM/DM</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="260"/> <location filename="../tasks/ammtaskswidget.cpp" line="287"/>
<source>Code</source> <source>Code</source>
<translation>Код</translation> <translation>Код</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="315"/> <location filename="../tasks/ammtaskswidget.cpp" line="342"/>
<source>Attention!</source> <source>Attention!</source>
<translation>Внимание!</translation> <translation>Внимание!</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="315"/> <location filename="../tasks/ammtaskswidget.cpp" line="342"/>
<source>The deletion will be irrevocable. <source>The deletion will be irrevocable.
Delete it anyway?</source> Delete it anyway?</source>
<translation>Удаление будет безвозвратным. <translation>Удаление будет безвозвратным.
@@ -110,14 +115,14 @@ Delete it anyway?</source>
<translation>Отчет о выполнении</translation> <translation>Отчет о выполнении</translation>
</message> </message>
<message> <message>
<location filename="../tasks/dialogchecktask.ui" line="88"/> <location filename="../tasks/dialogchecktask.ui" line="101"/>
<source>Failed</source> <source>Failed</source>
<translation>Неверно</translation> <translation>Неверно</translation>
</message> </message>
<message> <message>
<location filename="../tasks/dialogchecktask.ui" line="114"/> <location filename="../tasks/dialogchecktask.ui" line="127"/>
<source>Completed</source> <source>Right</source>
<translation>Выполнена</translation> <translation>Верно</translation>
</message> </message>
<message> <message>
<location filename="../tasks/dialogchecktask.cpp" line="70"/> <location filename="../tasks/dialogchecktask.cpp" line="70"/>
@@ -235,15 +240,60 @@ The status will be set: &apos;completed&apos;</source>
<context> <context>
<name>DialogSettings</name> <name>DialogSettings</name>
<message> <message>
<location filename="../dialogsettings.ui" line="14"/> <location filename="../dialogsettings.ui" line="20"/>
<source>Settings</source> <source>Learning management system - Settings</source>
<translation>Настройки</translation> <translation>Система управления обучением - Настройки</translation>
</message> </message>
<message> <message>
<location filename="../dialogsettings.ui" line="24"/> <location filename="../dialogsettings.ui" line="43"/>
<source>Main</source>
<translation>Основные</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="61"/>
<source>Language</source> <source>Language</source>
<translation>Язык</translation> <translation>Язык</translation>
</message> </message>
<message>
<location filename="../dialogsettings.ui" line="99"/>
<source>Server</source>
<translation>Сервер</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="109"/>
<source>Address</source>
<translation>Адрес</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="146"/>
<source>Port</source>
<translation>Порт</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="189"/>
<source>Auto start</source>
<translation>Авто старт</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="231"/>
<source>Save</source>
<translation>Сохранить</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="274"/>
<source>Additional</source>
<translation>Расширенные</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="301"/>
<source>Version</source>
<translation>Версия</translation>
</message>
<message>
<location filename="../dialogsettings.ui" line="340"/>
<source>Style</source>
<translation>Стиль</translation>
</message>
</context> </context>
<context> <context>
<name>EditorInstructors</name> <name>EditorInstructors</name>
@@ -524,71 +574,76 @@ The changes will not be accepted.</source>
<translation>Форма</translation> <translation>Форма</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.ui" line="46"/> <location filename="../tasks/fimtaskswidget.ui" line="35"/>
<source>Assign</source>
<translation>Назначить</translation>
</message>
<message>
<location filename="../tasks/fimtaskswidget.ui" line="61"/>
<source>Check</source> <source>Check</source>
<translation>Проверить</translation> <translation>Проверить</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.ui" line="72"/> <location filename="../tasks/fimtaskswidget.ui" line="87"/>
<source>Delete</source> <source>Delete</source>
<translation>Удалить</translation> <translation>Удалить</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="258"/> <location filename="../tasks/fimtaskswidget.cpp" line="283"/>
<source>completed</source> <source>completed</source>
<translation>выполнена</translation> <translation>выполнена</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="263"/> <location filename="../tasks/fimtaskswidget.cpp" line="288"/>
<source>failed</source> <source>failed</source>
<translation>неверно</translation> <translation>неверно</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="268"/> <location filename="../tasks/fimtaskswidget.cpp" line="293"/>
<source>checkup</source> <source>checkup</source>
<translation>на проверке</translation> <translation>на проверке</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="273"/> <location filename="../tasks/fimtaskswidget.cpp" line="298"/>
<source>new</source> <source>new</source>
<translation>новая</translation> <translation>новая</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="361"/> <location filename="../tasks/fimtaskswidget.cpp" line="386"/>
<source>Task FIM</source> <source>Task FIM</source>
<translation>Задача FIM</translation> <translation>Задача FIM</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="361"/> <location filename="../tasks/fimtaskswidget.cpp" line="386"/>
<location filename="../tasks/fimtaskswidget.cpp" line="363"/> <location filename="../tasks/fimtaskswidget.cpp" line="388"/>
<source>ID</source> <source>ID</source>
<translation>ID</translation> <translation>ID</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="361"/> <location filename="../tasks/fimtaskswidget.cpp" line="386"/>
<location filename="../tasks/fimtaskswidget.cpp" line="363"/> <location filename="../tasks/fimtaskswidget.cpp" line="388"/>
<source>Status</source> <source>Status</source>
<translation>Статус</translation> <translation>Статус</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="363"/> <location filename="../tasks/fimtaskswidget.cpp" line="388"/>
<source>Title</source> <source>Title</source>
<translation>Заголовок</translation> <translation>Заголовок</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="504"/> <location filename="../tasks/fimtaskswidget.cpp" line="529"/>
<source>Attention!</source> <source>Attention!</source>
<translation>Внимание!</translation> <translation>Внимание!</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="504"/> <location filename="../tasks/fimtaskswidget.cpp" line="529"/>
<source>The deletion will be irrevocable. <source>The deletion will be irrevocable.
Delete it anyway?</source> Delete it anyway?</source>
<translation>Удаление будет безвозвратным. <translation>Удаление будет безвозвратным.
Всё равно удалить?</translation> Всё равно удалить?</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="533"/> <location filename="../tasks/fimtaskswidget.cpp" line="558"/>
<source>Check Task</source> <source>Check Task</source>
<translation>Проверка задачи</translation> <translation>Проверка задачи</translation>
</message> </message>
@@ -601,113 +656,116 @@ Delete it anyway?</source>
<translation>Форма</translation> <translation>Форма</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="34"/> <location filename="../instructorsandtraineeswidget.ui" line="43"/>
<source>Database LMS</source>
<translation>База данных СУО</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="62"/>
<source>Connection to Server</source> <source>Connection to Server</source>
<translation>Подключение к серверу</translation> <translation>Подключение к серверу</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="170"/> <location filename="../instructorsandtraineeswidget.ui" line="120"/>
<source>Server: </source>
<translation>Сервер: </translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="165"/>
<source>Logged in Instructor: </source> <source>Logged in Instructor: </source>
<translation>Вошедший в систему инструктор: </translation> <translation>Вошедший в систему инструктор: </translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="215"/> <location filename="../instructorsandtraineeswidget.ui" line="210"/>
<source>ChangeVersion</source> <source>ChangeVersion</source>
<translation>Изменение версии</translation> <translation>Изменение версии</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="228"/> <location filename="../instructorsandtraineeswidget.ui" line="223"/>
<source>Update StyleSheet</source> <source>Editor Trainees</source>
<translation>Обновить стиль</translation> <translation>Редактор Обучаемых</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="241"/> <location filename="../instructorsandtraineeswidget.ui" line="249"/>
<source>Editor Instructors</source>
<translation>Редактор Инструкторов</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="275"/>
<source>Settings</source> <source>Settings</source>
<translation>Настройки</translation> <translation>Настройки</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="268"/> <location filename="../instructorsandtraineeswidget.ui" line="320"/>
<source>Tasks</source> <source>Tasks</source>
<translation>Задачи</translation> <translation>Задачи</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="280"/> <location filename="../instructorsandtraineeswidget.ui" line="332"/>
<source>AMM</source> <source>AMM</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="290"/> <location filename="../instructorsandtraineeswidget.ui" line="342"/>
<source>FIM</source> <source>FIM</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="305"/> <location filename="../instructorsandtraineeswidget.ui" line="72"/>
<source>Assign task</source> <location filename="../instructorsandtraineeswidget.cpp" line="139"/>
<translation>Назначить задачу</translation> <location filename="../instructorsandtraineeswidget.cpp" line="252"/>
</message> <location filename="../instructorsandtraineeswidget.cpp" line="280"/>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="116"/>
<location filename="../instructorsandtraineeswidget.cpp" line="141"/>
<location filename="../instructorsandtraineeswidget.cpp" line="239"/>
<location filename="../instructorsandtraineeswidget.cpp" line="264"/>
<source>Authorization Instructor</source> <source>Authorization Instructor</source>
<translation>Авторизация инструктора</translation> <translation>Авторизация инструктора</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="189"/> <location filename="../instructorsandtraineeswidget.ui" line="127"/>
<location filename="../instructorsandtraineeswidget.cpp" line="406"/> <location filename="../instructorsandtraineeswidget.ui" line="184"/>
<location filename="../instructorsandtraineeswidget.cpp" line="284"/>
<location filename="../instructorsandtraineeswidget.cpp" line="404"/>
<location filename="../instructorsandtraineeswidget.cpp" line="420"/>
<source>none</source> <source>none</source>
<translation>нет</translation> <translation>нет</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="139"/> <location filename="../instructorsandtraineeswidget.cpp" line="137"/>
<location filename="../instructorsandtraineeswidget.cpp" line="207"/> <location filename="../instructorsandtraineeswidget.cpp" line="217"/>
<source>Deauthorization Instructor</source> <source>Deauthorization Instructor</source>
<translation>Деавторизация инструктора</translation> <translation>Деавторизация инструктора</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="169"/> <location filename="../instructorsandtraineeswidget.cpp" line="168"/>
<source>Attention!</source> <source>Attention!</source>
<translation>Внимание!</translation> <translation>Внимание!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="169"/> <location filename="../instructorsandtraineeswidget.cpp" line="168"/>
<source>The file could not be opened </source> <source>The file could not be opened </source>
<translation>Файл не может быть открыт </translation> <translation>Файл не может быть открыт </translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="247"/> <location filename="../instructorsandtraineeswidget.cpp" line="260"/>
<source>Instructor deauthorization</source> <source>Instructor deauthorization</source>
<translation>Деавторизация инструктора</translation> <translation>Деавторизация инструктора</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="247"/> <location filename="../instructorsandtraineeswidget.cpp" line="260"/>
<source>Error!</source> <source>Error!</source>
<translation>Ошибка!</translation> <translation>Ошибка!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="281"/> <location filename="../instructorsandtraineeswidget.cpp" line="300"/>
<source>Warning!</source> <source>Warning!</source>
<translation>Внимание!</translation> <translation>Внимание!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="281"/> <location filename="../instructorsandtraineeswidget.cpp" line="300"/>
<source>The server is disabled</source> <source>The server is disabled</source>
<translation>Сервер отключен</translation> <translation>Сервер отключен</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="220"/> <location filename="../instructorsandtraineeswidget.cpp" line="230"/>
<location filename="../instructorsandtraineeswidget.cpp" line="308"/> <location filename="../instructorsandtraineeswidget.cpp" line="307"/>
<source>Instructor authorization</source> <source>Instructor authorization</source>
<translation>Авторизация инструктора</translation> <translation>Авторизация инструктора</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="220"/> <location filename="../instructorsandtraineeswidget.cpp" line="230"/>
<source>Invalid login or password!</source> <source>Invalid login or password!</source>
<translation>Неправильный логин или пароль!</translation> <translation>Неправильный логин или пароль!</translation>
</message> </message>
@@ -1067,7 +1125,7 @@ Delete it anyway?</source>
<translation>Редактор инструкторов</translation> <translation>Редактор инструкторов</translation>
</message> </message>
<message> <message>
<location filename="../instructors/viewerinstructors.cpp" line="60"/> <location filename="../instructors/viewerinstructors.cpp" line="62"/>
<source>Editor of instructors</source> <source>Editor of instructors</source>
<translation>Редактор инструкторов</translation> <translation>Редактор инструкторов</translation>
</message> </message>
@@ -1086,7 +1144,7 @@ Delete it anyway?</source>
<translation>Редактор обучаемых</translation> <translation>Редактор обучаемых</translation>
</message> </message>
<message> <message>
<location filename="../trainees/viewertrainees.cpp" line="114"/> <location filename="../trainees/viewertrainees.cpp" line="116"/>
<source>Editor of trainees</source> <source>Editor of trainees</source>
<translation>Редактор обучаемых</translation> <translation>Редактор обучаемых</translation>
</message> </message>