Refactor DialogManager.1

This commit is contained in:
Krad
2022-07-20 16:45:33 +08:00
parent 18331b61cf
commit acc53c463c
8 changed files with 141 additions and 57 deletions

View File

@@ -1,6 +1,8 @@
#include "LoginDialog.h"
#include <QVBoxLayout>
#include <QApplication>
#include <QDeskTopWidget>
#include <QToolButton>
#include <QtWidgets/QLabel>
@@ -24,6 +26,7 @@ LoginDialog::LoginDialog(QWidget* aParent)
{
initializeAllWidget();
setWindowFlags(windowFlags() | Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint);
setGeometry(QApplication::desktop()->screenGeometry());
mAccountEdit->setText(JsonObject::Instance()->defaultUser());
}
@@ -148,4 +151,9 @@ void LoginDialog::doLogin()
}
}
void LoginDialog::accept() {
QDialog::accept();
clearInputData();
}

View File

@@ -19,6 +19,7 @@ public:
LoginDialog(QWidget* aParent = nullptr);
~LoginDialog() override;
void accept() override;
void clearInputData();
signals:

View File

@@ -15,6 +15,7 @@
#include "forms/settings/SettingFormWidget.h"
#include "forms/TopBarWidget.h"
#include "dialogs/GUIMessageDialog.h"
#include "dialogs/DialogManager.h"
#include "device/DeviceManager.h"
#include "errorhandle/GUIErrorHandle.h"
#include "LoginDialog.h"
@@ -64,7 +65,7 @@ MainWindow::MainWindow(QWidget* aParent)
}
});
mThread->start();
centerWidgetHide();
QApplication::setActiveWindow(centralWidget());
}
MainWindow::~MainWindow()
@@ -266,17 +267,7 @@ void MainWindow::swipeTriggered(QSwipeGesture* aSwipeGesture)
void MainWindow::requestLogin()
{
mLoginDialog->clearInputData();
mLoginDialog->setWindowModality(Qt::WindowModal);
mLoginDialog->showFullScreen();
centerWidgetHide();
QApplication::setActiveWindow(mLoginDialog);
while (QDialog::Accepted != mLoginDialog->result())
{
mLoginDialog->exec();
}
mLoginDialog->setResult(QDialog::Rejected);
centerWidgetShow();
DialogManager::Default()->requestLogin();
QApplication::setActiveWindow(centralWidget());
}