diff --git a/ServerLMS/CMakeLists.txt b/ServerLMS/CMakeLists.txt index 151a7bc..8fa2b59 100644 --- a/ServerLMS/CMakeLists.txt +++ b/ServerLMS/CMakeLists.txt @@ -18,6 +18,7 @@ add_library(ServerLMS SHARED Data/Client.h Data/PacketType.h Data/StreamingVersionData.h + Data/usertype.h Systems/assetsmanager.cpp Systems/assetsmanager.h Systems/recognizesystem.cpp @@ -45,8 +46,7 @@ add_library(ServerLMS SHARED Systems/chatsystem.cpp Systems/chatsystem.h Systems/fasthashcalculator.cpp - Systems/fasthashcalculator.h - Data/usertype.h + Systems/fasthashcalculator.h providerdblms.cpp providerdblms.h ServerLMS.qrc diff --git a/ServerLMS/dialogsettingstray.cpp b/ServerLMS/dialogsettingstray.cpp index e1216f4..f6d5f82 100644 --- a/ServerLMS/dialogsettingstray.cpp +++ b/ServerLMS/dialogsettingstray.cpp @@ -11,7 +11,7 @@ DialogSettingsTray::DialogSettingsTray(QWidget *parent) : { ui->setupUi(this); - settings = new DBSettings; + settings = new ServerDBSettings; //Задаём два пункта с текстом локалей в комбобоксе ui->cmbLanguage->addItems(QStringList() << "English" << "Русский"); @@ -37,12 +37,12 @@ DialogSettingsTray::~DialogSettingsTray() delete settings; } -DBSettings DialogSettingsTray::getSettings() +ServerDBSettings DialogSettingsTray::getSettings() { return *settings; } -bool DialogSettingsTray::loadSettings(DBSettings *settings) +bool DialogSettingsTray::loadSettings(ServerDBSettings *settings) { QFile file(settingsName); if(! file.open(QIODevice::ReadOnly)) diff --git a/ServerLMS/dialogsettingstray.h b/ServerLMS/dialogsettingstray.h index d640f8e..7f5ddf1 100644 --- a/ServerLMS/dialogsettingstray.h +++ b/ServerLMS/dialogsettingstray.h @@ -5,7 +5,7 @@ #include #include -class DBSettings{ +class ServerDBSettings{ public: QString Type; QString Name; @@ -28,11 +28,11 @@ public: explicit DialogSettingsTray(QWidget *parent = nullptr); ~DialogSettingsTray(); - DBSettings getSettings(); + ServerDBSettings getSettings(); bool settingsServerIsChanged(){ return flSettingsServerChanged;} - static bool loadSettings(DBSettings *settings); + static bool loadSettings(ServerDBSettings *settings); signals: //сигнал об изменении языка интерфейса @@ -52,7 +52,7 @@ private: private: Ui::DialogSettingsTray *ui; - DBSettings *settings; + ServerDBSettings *settings; bool flSettingsServerChanged; }; diff --git a/ServerLMS/serverlmswidget.cpp b/ServerLMS/serverlmswidget.cpp index 582ae59..8c034e0 100644 --- a/ServerLMS/serverlmswidget.cpp +++ b/ServerLMS/serverlmswidget.cpp @@ -18,11 +18,16 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) : server(nullptr), updateThread(nullptr), loggerThread(nullptr), + mutex(nullptr), dataParser(nullptr), processingSystem(nullptr), updateController(nullptr), + assetsManager(nullptr), + commonClientHandler(nullptr), + chatSystem(nullptr), providerDBLMS(nullptr), - language(languageENG) + language(languageENG), + errorCode(0) { ui->setupUi(this); mutex = new QMutex; @@ -38,10 +43,6 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) : ui->btnStopServer->setEnabled(false); ui->btnStartServer->setEnabled(true); - // Сделаем первоначальную инициализацию перевода для окна виджета - //qtLanguageTranslator.load(QString("translations/ServerLMS_") + QString("en_EN"), "."); - //qApp->installTranslator(&qtLanguageTranslator); - updateThread = new QThread; loggerThread = new QThread; @@ -108,6 +109,20 @@ ServerLMSWidget::~ServerLMSWidget() server->stopServer(); updateThread->exit(); loggerThread->exit(); + + + delete server; + delete commonClientHandler; + delete dataParser; + delete processingSystem; + delete updateController; + delete assetsManager; + delete chatSystem; + delete providerDBLMS; + delete loggerThread; + delete updateThread; + delete mutex; + delete ui; } @@ -208,11 +223,6 @@ void ServerLMSWidget::changeEvent(QEvent *event) } } -void ServerLMSWidget::on_cmbLanguage_currentTextChanged(const QString &arg1) -{ - -} - void ServerLMSWidget::on_btnSettings_clicked() { DialogSettingsTray dlg(this); @@ -251,7 +261,7 @@ void ServerLMSWidget::on_btnSettings_clicked() void ServerLMSWidget::setLanguageInterfase() { - DBSettings settings; + ServerDBSettings settings; DialogSettingsTray::loadSettings(&settings); if(settings.Language == "ENG") diff --git a/ServerLMS/serverlmswidget.h b/ServerLMS/serverlmswidget.h index 82bb778..dbb762c 100644 --- a/ServerLMS/serverlmswidget.h +++ b/ServerLMS/serverlmswidget.h @@ -78,6 +78,7 @@ public slots: void slotUpdateListClients(); void slot_BlockAutorization(bool block); void addToLog(QString message); + public: void removeClient(int socketId); @@ -96,9 +97,6 @@ public: private slots: void on_btnStartServer_clicked(); void on_btnStopServer_clicked(); - - void on_cmbLanguage_currentTextChanged(const QString &arg1); - void on_btnSettings_clicked(); private: diff --git a/ServerLMS/serverlmswidget.ui b/ServerLMS/serverlmswidget.ui index 4e03b96..4a22b69 100644 --- a/ServerLMS/serverlmswidget.ui +++ b/ServerLMS/serverlmswidget.ui @@ -126,7 +126,7 @@ - + Qt::Horizontal @@ -215,7 +215,7 @@ - + @@ -250,7 +250,7 @@ - + diff --git a/TrayServerLMS/main.cpp b/TrayServerLMS/main.cpp index 33d8ea6..f373c53 100644 --- a/TrayServerLMS/main.cpp +++ b/TrayServerLMS/main.cpp @@ -6,6 +6,6 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; - //w.show(); + //w.show(); //По-умолчанию свернуто в трее return a.exec(); } diff --git a/TrayServerLMS/mainwindow.cpp b/TrayServerLMS/mainwindow.cpp index 4c922e3..f47afc5 100644 --- a/TrayServerLMS/mainwindow.cpp +++ b/TrayServerLMS/mainwindow.cpp @@ -67,15 +67,13 @@ MainWindow::MainWindow(QWidget *parent) : this, SLOT(slot_IconActivated(QSystemTrayIcon::ActivationReason))); slot_Menu_HideWindow(); - - } /* Метод, который обрабатывает событие закрытия окна приложения * */ void MainWindow::closeEvent(QCloseEvent * event) { - /* Если окно видимо и чекбокс отмечен, то завершение приложения + /* Если окно видимо, то завершение приложения * игнорируется, а окно просто скрывается, что сопровождается * соответствующим всплывающим сообщением */ @@ -92,7 +90,7 @@ void MainWindow::slot_IconActivated(QSystemTrayIcon::ActivationReason reason) { switch (reason){ case QSystemTrayIcon::Trigger: - /* иначе, если окно видимо, то оно скрывается, + /* если окно видимо, то оно скрывается, * и наоборот, если скрыто, то разворачивается на экран * */ if(!this->isVisible()) @@ -119,6 +117,10 @@ MainWindow::~MainWindow() { delete serverLMSWidget; delete trayIcon; + delete menu; + delete action_ShowWindow; + delete action_HideWindow; + delete action_Exit; delete ui; } @@ -135,28 +137,13 @@ void MainWindow::changeEvent(QEvent *event) } } -void MainWindow::on_cmbLanguage_currentIndexChanged(const QString &arg1) -{ - QString language; - - if(arg1 == QStringLiteral("English")) - language = QString("en_EN"); - else - language = QString("ru_RU"); - - qtLanguageTranslator.load(QString("translations/TrayServerLMS_") + language, "."); - qApp->installTranslator(&qtLanguageTranslator); - - emit signal_LanguageChanged(language); -} - void MainWindow::errorCheck() { if(serverLMSWidget->hasError() == 100) { QMessageBox msgBox; - msgBox.setWindowTitle("Ошибка!"); + msgBox.setWindowTitle(tr("Error!")); msgBox.setIcon(QMessageBox::Critical); msgBox.setText(tr("No Client files found!")); msgBox.setInformativeText(tr("* check Application for the presence of a folder with a build \n" diff --git a/TrayServerLMS/mainwindow.h b/TrayServerLMS/mainwindow.h index be24c8b..1bde9b8 100644 --- a/TrayServerLMS/mainwindow.h +++ b/TrayServerLMS/mainwindow.h @@ -40,20 +40,14 @@ public slots: //Слот обработки смены языка void slot_LanguageChanged(QString language); -private slots: //Слот нажатия на иконку приложения в трее void slot_IconActivated(QSystemTrayIcon::ActivationReason reason); -public slots: //Слоты нажатия на пункты меню void slot_Menu_ShowWindow(); void slot_Menu_HideWindow(); void slot_Menu_Exit(); -private slots: - //Слот смены языка - void on_cmbLanguage_currentIndexChanged(const QString &arg1); - signals: //сигнал об изменении языка интерфейса void signal_LanguageChanged(QString language); @@ -67,6 +61,7 @@ private: ServerLMSWidget* serverLMSWidget; QTranslator qtLanguageTranslator; + //Трей QSystemTrayIcon* trayIcon; QMenu * menu; QAction * action_ShowWindow;