diff --git a/ServerLMS/ServerLMS.qrc b/ServerLMS/ServerLMS.qrc
index 041e467..29a560f 100644
--- a/ServerLMS/ServerLMS.qrc
+++ b/ServerLMS/ServerLMS.qrc
@@ -15,5 +15,6 @@
resources/icons/rocket.png
resources/icons/stop.png
resources/icons/settings.png
+ resources/icons/circleGray.png
diff --git a/ServerLMS/resources/icons/circleGray.png b/ServerLMS/resources/icons/circleGray.png
new file mode 100644
index 0000000..74c2897
Binary files /dev/null and b/ServerLMS/resources/icons/circleGray.png differ
diff --git a/ServerLMS/serverlmswidget.cpp b/ServerLMS/serverlmswidget.cpp
index 1782844..4d517fd 100644
--- a/ServerLMS/serverlmswidget.cpp
+++ b/ServerLMS/serverlmswidget.cpp
@@ -40,11 +40,7 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
updateMyStyleSheet();
- setLanguageInterfase();
-
- startInitialization();
-
- tryConnectionToDB();
+ setLanguageInterfase();
}
ServerLMSWidget::~ServerLMSWidget()
@@ -95,10 +91,12 @@ void ServerLMSWidget::changeEvent(QEvent *event)
dbSettings.dbHostName,
QString::number(dbSettings.dbPort));
ui->lblDBsettings->setText(strDBsettings);
+ ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
}
else
{
ui->lblDBsettings->setText("");
+ ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
}
}
}
@@ -126,17 +124,25 @@ void ServerLMSWidget::slot_AddMessageToLog(QString message)
ui->loggerTextField->appendPlainText(message);
}
+void ServerLMSWidget::start()
+{
+ startInitialization();
+ tryConnectionToDB();
+}
+
void ServerLMSWidget::slot_BlockAutorization(bool block)
{
if(block)
{
server->blockAutorization();
ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/lock.png")));
+ //emit signal_Tray_ShowMessage(tr("Authorization blocked!"));
}
else
{
server->unBlockAutorization();
ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/open.png")));
+ //emit signal_Tray_ShowMessage(tr("Authorization unblocked!"));
}
}
@@ -197,6 +203,7 @@ void ServerLMSWidget::on_btnSettings_clicked()
providerDBLMS->DisConnectionFromDB();
ui->lblDBsettings->setText("");
+ ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
QMessageBox::warning(this, tr("Warning!"), tr("Database settings have been changed.\nThe server will be restarted."));
@@ -315,9 +322,12 @@ void ServerLMSWidget::tryConnectionToDB()
if(! providerDBLMS->ConnectionToDB())
{
ui->lblDBsettings->setText("");
+ ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
ui->btnStopServer->setEnabled(false);
ui->btnStartServer->setEnabled(false);
- QMessageBox::critical(this, tr("Error!"), tr("Database connection error"));
+ //QMessageBox::critical(this, tr("Error!"), tr("Database connection error!"));
+
+ emit signal_Tray_ShowMessage(tr("Database connection error!"));
}
else
{
@@ -330,6 +340,9 @@ void ServerLMSWidget::tryConnectionToDB()
dbSettings.dbHostName,
QString::number(dbSettings.dbPort));
ui->lblDBsettings->setText(strDBsettings);
+ ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
+
+ emit signal_Tray_ShowMessage(tr("Database connection OK!") + "\n" + strDBsettings);
on_btnStartServer_clicked();
}
diff --git a/ServerLMS/serverlmswidget.h b/ServerLMS/serverlmswidget.h
index e7ea9af..5ee4907 100644
--- a/ServerLMS/serverlmswidget.h
+++ b/ServerLMS/serverlmswidget.h
@@ -62,6 +62,9 @@ signals:
//сигнал смены языка
void signal_LanguageChanged(QString language);
+ //сигнал вывода сообщения из трея
+ void signal_Tray_ShowMessage(QString textMsg);
+
void sigRecognize();
void sigCalculateFullHash();
void sigUpdateController(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
@@ -101,6 +104,8 @@ public:
void removeClient(int socketId);
+ void start();
+
private slots:
void on_btnStartServer_clicked();
void on_btnStopServer_clicked();
diff --git a/ServerLMS/serverlmswidget.ui b/ServerLMS/serverlmswidget.ui
index 08819e2..a807a59 100644
--- a/ServerLMS/serverlmswidget.ui
+++ b/ServerLMS/serverlmswidget.ui
@@ -223,6 +223,28 @@
-
+
-
+
+
+
+ 32
+ 32
+
+
+
+
+ 32
+ 32
+
+
+
+
+
+
+ :/resources/icons/circleGray.png
+
+
+
-
diff --git a/TrayServerLMS/mainwindow.cpp b/TrayServerLMS/mainwindow.cpp
index f0e4757..dd6e1ce 100644
--- a/TrayServerLMS/mainwindow.cpp
+++ b/TrayServerLMS/mainwindow.cpp
@@ -1,5 +1,6 @@
#include
#include
+#include
#include "mainwindow.h"
#include "./ui_mainwindow.h"
@@ -15,21 +16,6 @@ MainWindow::MainWindow(QWidget *parent) :
{
ui->setupUi(this);
- serverLMSWidget = new ServerLMSWidget(this);
-
- ui->verticalLayout_Main->addWidget(serverLMSWidget);
-
- connect(serverLMSWidget, &ServerLMSWidget::signal_LanguageChanged, this, &MainWindow::slot_LanguageChanged);
-
- qtLanguageTranslator.load(QString("translations/TrayServerLMS_") + serverLMSWidget->getLanguage(), ".");
- qApp->installTranslator(&qtLanguageTranslator);
-
- //this->move(0, 0);
- //this->showNormal();
- //this->showMaximized();
-
- errorCheck();
-
/* Инициализируем иконку трея, устанавливаем иконку,
* а также задаем всплывающую подсказку
* */
@@ -66,6 +52,28 @@ MainWindow::MainWindow(QWidget *parent) :
connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(slot_IconActivated(QSystemTrayIcon::ActivationReason)));
+
+
+ serverLMSWidget = new ServerLMSWidget(this);
+
+ ui->verticalLayout_Main->addWidget(serverLMSWidget);
+
+ connect(serverLMSWidget, &ServerLMSWidget::signal_LanguageChanged, this, &MainWindow::slot_LanguageChanged);
+ connect(serverLMSWidget, &ServerLMSWidget::signal_Tray_ShowMessage, this, &MainWindow::slot_Tray_ShowMessage);
+
+ serverLMSWidget->start();
+
+ qtLanguageTranslator.load(QString("translations/TrayServerLMS_") + serverLMSWidget->getLanguage(), ".");
+ qApp->installTranslator(&qtLanguageTranslator);
+
+ //this->move(0, 0);
+ //this->showNormal();
+ //this->showMaximized();
+
+ errorCheck();
+
+ //QThread::sleep(2);
+
slot_Menu_HideWindow();
}
@@ -178,8 +186,7 @@ void MainWindow::slot_Menu_HideWindow()
trayIcon->showMessage(tr("Server LMS"),
tr("The application is minimized to the tray. "
"To maximize the application window, click the application icon in the tray."),
- icon,
- 2000);
+ icon, 100);
}
void MainWindow::slot_Menu_Exit()
@@ -188,6 +195,14 @@ void MainWindow::slot_Menu_Exit()
this->close();
}
+void MainWindow::slot_Tray_ShowMessage(QString textMsg)
+{
+ QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::MessageIcon(QSystemTrayIcon::Warning);
+ trayIcon->showMessage(tr("Server LMS"),
+ textMsg,
+ icon, 100);
+}
+
void MainWindow::slot_LanguageChanged(QString language)
{
qtLanguageTranslator.load(QString(QStringLiteral("translations/TrayServerLMS_")) + language, QStringLiteral("."));
diff --git a/TrayServerLMS/mainwindow.h b/TrayServerLMS/mainwindow.h
index 1bde9b8..b3e62cb 100644
--- a/TrayServerLMS/mainwindow.h
+++ b/TrayServerLMS/mainwindow.h
@@ -48,6 +48,10 @@ public slots:
void slot_Menu_HideWindow();
void slot_Menu_Exit();
+ //Слот вывода сообщения из трея
+ void slot_Tray_ShowMessage(QString textMsg);
+
+
signals:
//сигнал об изменении языка интерфейса
void signal_LanguageChanged(QString language);