Add InitializeWidget before login.
This commit is contained in:
30
src/windows/InitializeWidget.cpp
Normal file
30
src/windows/InitializeWidget.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
#include "InitializeWidget.h"
|
||||
|
||||
#include <QLabel>
|
||||
#include <QVBoxLayout>
|
||||
#include <QProgressBar>
|
||||
|
||||
InitializeWidget::InitializeWidget(QWidget* aParent)
|
||||
: QWidget(aParent)
|
||||
, mMessage(new QLabel(this))
|
||||
, mProgressBar(new QProgressBar(this))
|
||||
{
|
||||
setContentsMargins(0, 0, 0, 0);
|
||||
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
|
||||
QVBoxLayout* layout = new QVBoxLayout(this);
|
||||
layout->addWidget(mMessage);
|
||||
layout->addWidget(mProgressBar);
|
||||
|
||||
QPixmap pixmap = QPixmap("./cfgs/initialize.jpg");
|
||||
mMessage->setPixmap(pixmap);
|
||||
mMessage->setScaledContents(true);
|
||||
mProgressBar->setTextVisible(true);
|
||||
mProgressBar->setFormat("Initializing %p%");
|
||||
mProgressBar->setAlignment(Qt::AlignCenter);
|
||||
}
|
||||
|
||||
void InitializeWidget::setMessage(const QString& aMessage)
|
||||
{
|
||||
mProgressBar->setValue(aMessage.toInt());
|
||||
}
|
||||
24
src/windows/InitializeWidget.h
Normal file
24
src/windows/InitializeWidget.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#ifndef INITIALIZEWIDGET_H
|
||||
#define INITIALIZEWIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class QLabel;
|
||||
class QProgressBar;
|
||||
|
||||
class InitializeWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
InitializeWidget(QWidget* aParent);
|
||||
|
||||
public slots:
|
||||
void setMessage(const QString& aMessage);
|
||||
|
||||
private:
|
||||
QLabel* mMessage;
|
||||
QProgressBar* mProgressBar;
|
||||
|
||||
};
|
||||
|
||||
#endif // INITIALIZEWIDGET_H
|
||||
@@ -152,4 +152,11 @@ bool LoginDialog::isRunning()
|
||||
return mIsRunning;
|
||||
}
|
||||
|
||||
void LoginDialog::showEvent(QShowEvent* event)
|
||||
{
|
||||
QDialog::showEvent(event);
|
||||
emit loginDialogShown();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,12 @@ public:
|
||||
int exec() override;
|
||||
bool isRunning();
|
||||
|
||||
protected:
|
||||
void showEvent(QShowEvent *event) override;
|
||||
|
||||
signals:
|
||||
void sigUserLoginSuccessful(const QString& aUserCode);
|
||||
void loginDialogShown();
|
||||
|
||||
private slots:
|
||||
void doLogin();
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <QGestureEvent>
|
||||
#include <QDockWidget>
|
||||
|
||||
#include "InitializeWidget.h"
|
||||
#include "event/EventCenter.h"
|
||||
#include "forms/TabFormWidget.h"
|
||||
#include "forms/recon/ReconFormWidget.h"
|
||||
@@ -29,6 +30,7 @@ MainWindow::MainWindow(QWidget* aParent)
|
||||
, mDebugConsoleWidget(nullptr)
|
||||
, mDebugMessageConsole(nullptr)
|
||||
, mTabWidget(new QTabWidget(this))
|
||||
, mInitializWidget(new InitializeWidget(this))
|
||||
, mAdminTabIndex(-1)
|
||||
, mThread(nullptr)
|
||||
, mIsDebugMode(false)
|
||||
@@ -46,25 +48,14 @@ MainWindow::MainWindow(QWidget* aParent)
|
||||
connect(DeviceManager::Default(), &DeviceManager::raiseGlobalInfo, this, &MainWindow::triggerInfo);
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, this, &MainWindow::reloadLanguage);
|
||||
connect(EventCenter::Default(), &EventCenter::RequestScreenSaver, this, &MainWindow::requestScreenSaver);
|
||||
GUIErrorHandle::Default()->init();
|
||||
mThread = QThread::create([]() {
|
||||
QThread::sleep(10);
|
||||
int f = 0x00100001;
|
||||
for (int i = 0; i < 8; ++i)
|
||||
{
|
||||
QThread::sleep(10);
|
||||
f = f << (i * 4);
|
||||
char* v = (char*)&f;
|
||||
QString msg;
|
||||
msg.append("w ");
|
||||
msg.append(v[0]);
|
||||
msg.append(v[1]);
|
||||
msg.append(v[2]);
|
||||
msg.append(v[3]);
|
||||
EventCenter::Default()->triggerEvent(GUIErrorRaise, nullptr, (QObject*)&msg);
|
||||
}
|
||||
connect(DeviceManager::Default(), &DeviceManager::initializeFinished, this, &MainWindow::requestLogin);
|
||||
connect(DeviceManager::Default(), &DeviceManager::initializeProgress, mInitializWidget, &InitializeWidget::setMessage);
|
||||
connect(DialogManager::Default(), &DialogManager::loginDialogShown, this, [this]()
|
||||
{
|
||||
mInitializWidget->setVisible(false);
|
||||
mTabWidget->setVisible(true);
|
||||
});
|
||||
mThread->start();
|
||||
GUIErrorHandle::Default()->init();
|
||||
QApplication::setActiveWindow(centralWidget());
|
||||
}
|
||||
|
||||
@@ -97,6 +88,9 @@ void MainWindow::initializeLayout()
|
||||
QWidget* topBarWidget = new TopBarWidget(this);
|
||||
layout->addWidget(topBarWidget);
|
||||
layout->addWidget(mTabWidget);
|
||||
layout->addWidget(mInitializWidget);
|
||||
|
||||
mTabWidget->setVisible(false);
|
||||
}
|
||||
|
||||
void MainWindow::initializeTabWidget()
|
||||
|
||||
@@ -18,6 +18,7 @@ class QGestureEvent;
|
||||
class QSwipeGesture;
|
||||
class QPanGesture;
|
||||
class QDockWidget;
|
||||
class InitializeWidget;
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
@@ -29,13 +30,13 @@ public:
|
||||
static void QMessageOutput(QtMsgType aType, const QMessageLogContext& aContext, const QString& aMessage);
|
||||
void centerWidgetHide();
|
||||
void centerWidgetShow();
|
||||
void requestLogin();
|
||||
void requestScreenSaver();
|
||||
QTextEdit* getEdit();
|
||||
void debugConsoleOn();
|
||||
void grabGestures(const QList<Qt::GestureType>& aGestures);
|
||||
|
||||
public slots:
|
||||
void requestLogin();
|
||||
void triggerError(const QString&);
|
||||
void triggerInfo(const QPair<QString,unsigned int>&);
|
||||
|
||||
@@ -58,6 +59,7 @@ private:
|
||||
QDockWidget* mDebugConsoleWidget;
|
||||
QTextEdit* mDebugMessageConsole;
|
||||
QTabWidget* mTabWidget;
|
||||
InitializeWidget* mInitializWidget;
|
||||
int mAdminTabIndex;
|
||||
QThread* mThread;
|
||||
bool mIsDebugMode;
|
||||
|
||||
Reference in New Issue
Block a user