Add shutdown widget.
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include <QDockWidget>
|
||||
|
||||
#include "InitializeWidget.h"
|
||||
#include "ShutdownWidget.h"
|
||||
#include "event/EventCenter.h"
|
||||
#include "forms/TabFormWidget.h"
|
||||
#include "forms/recon/ReconFormWidget.h"
|
||||
@@ -31,6 +32,7 @@ MainWindow::MainWindow(QWidget* aParent)
|
||||
, mDebugMessageConsole(nullptr)
|
||||
, mTabWidget(new QTabWidget(this))
|
||||
, mInitializWidget(new InitializeWidget(this))
|
||||
, mShutdownWidget(new ShutdownWidget(nullptr))
|
||||
, mAdminTabIndex(-1)
|
||||
, mThread(nullptr)
|
||||
, mIsDebugMode(false)
|
||||
@@ -50,6 +52,8 @@ MainWindow::MainWindow(QWidget* aParent)
|
||||
connect(EventCenter::Default(), &EventCenter::RequestScreenSaver, this, &MainWindow::requestScreenSaver);
|
||||
connect(DeviceManager::Default(), &DeviceManager::initializeFinished, this, &MainWindow::requestLogin);
|
||||
connect(DeviceManager::Default(), &DeviceManager::initializeProgress, mInitializWidget, &InitializeWidget::setMessage);
|
||||
connect(DeviceManager::Default(), &DeviceManager::shutdownDmsSended, this, &MainWindow::showShutdownWidget);
|
||||
connect(DeviceManager::Default(), &DeviceManager::shutdownDmsFailed, this, &MainWindow::processShutdownDmsFailed);
|
||||
connect(DialogManager::Default(), &DialogManager::loginDialogShown, this, [this]()
|
||||
{
|
||||
mInitializWidget->setVisible(false);
|
||||
@@ -64,6 +68,7 @@ MainWindow::~MainWindow()
|
||||
mThread->terminate();
|
||||
mThread->deleteLater();
|
||||
delete mUI;
|
||||
delete mShutdownWidget;
|
||||
}
|
||||
|
||||
//------Layout-----------------------------------------------------------------
|
||||
@@ -91,6 +96,7 @@ void MainWindow::initializeLayout()
|
||||
layout->addWidget(mInitializWidget);
|
||||
|
||||
mTabWidget->setVisible(false);
|
||||
mShutdownWidget->setVisible(false);
|
||||
}
|
||||
|
||||
void MainWindow::initializeTabWidget()
|
||||
@@ -114,6 +120,17 @@ void MainWindow::reloadLanguage() {
|
||||
mTabWidget->setTabText(3, tr("Settings"));
|
||||
}
|
||||
|
||||
void MainWindow::showShutdownWidget()
|
||||
{
|
||||
mShutdownWidget->setVisible(true);
|
||||
}
|
||||
|
||||
void MainWindow::processShutdownDmsFailed()
|
||||
{
|
||||
mShutdownWidget->setVisible(false);
|
||||
triggerError(tr("Shut down failed, please push emergency button to shutdown."));
|
||||
}
|
||||
|
||||
void MainWindow::switchToScanTab() { mTabWidget->setCurrentIndex(1); }
|
||||
|
||||
void MainWindow::centerWidgetHide()
|
||||
|
||||
@@ -19,6 +19,7 @@ class QSwipeGesture;
|
||||
class QPanGesture;
|
||||
class QDockWidget;
|
||||
class InitializeWidget;
|
||||
class ShutdownWidget;
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
@@ -53,6 +54,8 @@ private:
|
||||
void swipeTriggered(QSwipeGesture* aSwipeGesture);
|
||||
void panTriggered(QPanGesture* aPanGesture);
|
||||
void loadStyleSheet(const QString& aSheetName);
|
||||
void showShutdownWidget();
|
||||
void processShutdownDmsFailed();
|
||||
|
||||
private:
|
||||
Ui::MainWindow* mUI;
|
||||
@@ -60,6 +63,8 @@ private:
|
||||
QTextEdit* mDebugMessageConsole;
|
||||
QTabWidget* mTabWidget;
|
||||
InitializeWidget* mInitializWidget;
|
||||
ShutdownWidget* mShutdownWidget;
|
||||
|
||||
int mAdminTabIndex;
|
||||
QThread* mThread;
|
||||
bool mIsDebugMode;
|
||||
|
||||
31
src/windows/ShutdownWidget.cpp
Normal file
31
src/windows/ShutdownWidget.cpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#include "ShutdownWidget.h"
|
||||
|
||||
#include "components/LoadingWidget.h"
|
||||
|
||||
#include <QLabel>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QApplication>
|
||||
#include <QDesktopWidget>
|
||||
#include <QSpacerItem>
|
||||
|
||||
|
||||
ShutdownWidget::ShutdownWidget(QWidget* aParent)
|
||||
: QWidget(aParent)
|
||||
, mLoadingWidget(new LoadingWidget(this))
|
||||
, mMessage(new QLabel(this))
|
||||
{
|
||||
setGeometry(QApplication::desktop()->screenGeometry());
|
||||
mLoadingWidget->setMaximumHeight(150);
|
||||
mLoadingWidget->setMaxDiameter(16);
|
||||
setWindowFlags( Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::Tool | Qt::BypassWindowManagerHint);
|
||||
mMessage->setText(tr("shut down"));
|
||||
mMessage->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
|
||||
mMessage->setObjectName("Shutdown");
|
||||
QVBoxLayout* layout = new QVBoxLayout(this);
|
||||
layout->addItem(new QSpacerItem(20, 300, QSizePolicy::Minimum, QSizePolicy::Preferred));
|
||||
layout->addWidget(mLoadingWidget);
|
||||
layout->addWidget(mMessage);
|
||||
layout->setSpacing(50);
|
||||
}
|
||||
|
||||
20
src/windows/ShutdownWidget.h
Normal file
20
src/windows/ShutdownWidget.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef SHUTDOWNWIDGET_H
|
||||
#define SHUTDOWNWIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class QLabel;
|
||||
class LoadingWidget;
|
||||
|
||||
class ShutdownWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ShutdownWidget(QWidget* aParent);
|
||||
|
||||
private:
|
||||
LoadingWidget* mLoadingWidget;
|
||||
QLabel* mMessage;
|
||||
};
|
||||
|
||||
#endif // SHUTDOWNWIDGET_H
|
||||
Reference in New Issue
Block a user