Refactoring the new dialog manager module and fixed keyboard problem in Linux touch panel.

This commit is contained in:
sunwen
2022-08-10 15:28:59 +08:00
parent 9b96af094b
commit 30df175f22
28 changed files with 485 additions and 303 deletions

View File

@@ -10,7 +10,6 @@
#include <QSqlRecord>
#include "components/AccountRoleComboDelegate.h"
#include "dialogs/AlertDialog.h"
#include "dialogs/DialogManager.h"
#include "db/SQLHelper.h"
#include "models/User.h"
@@ -127,18 +126,11 @@ AccountTableForm::AccountTableForm(QWidget* aParent)
if (User::Current()->getUserID() == id)
{
//尝试删除自己
AlertDialog dialog(this);
dialog.setButtonMode(OkOnly);
dialog.setWindowModality(Qt::WindowModal);
dialog.setAlertMessage(tr("Can't delete current log in account!"));
dialog.exec();
DialogManager::Default()->requestAlertMessage(tr("Can't delete current log in account!"), DialogButtonMode::OkOnly);
return;
}
AlertDialog dialog(this);
dialog.setWindowModality(Qt::WindowModal);
dialog.setAlertMessage(QString(tr("Delete account with ID:\"%1\"!")).arg(id));
if (dialog.exec() != QDialog::Accepted) return;
if ( DialogManager::Default()->requestAlertMessage(QString(tr("Delete account with ID:\"%1\"!")).arg(id), DialogButtonMode::OkAndCancel) != QDialog::Accepted) return;
model->removeRow(mCurrentRow);
model->select();
table->selectRow(model->rowCount() > mCurrentRow + 1 ? mCurrentRow : mCurrentRow - 1);

View File

@@ -10,7 +10,7 @@
#include "event/EventCenter.h"
#include "json/jsonobject.h"
#include "dialogs/SelectDialog.h"
#include "dialogs/DialogManager.h"
#include "utilities/Locker.h"
#include "utilities/LanguageSwitcher.h"
#include "components/ULineEdit.h"
@@ -19,11 +19,10 @@
GeneralForm::GeneralForm(QWidget* aParent)
: QWidget(aParent)
, mLayout(new QVBoxLayout(this))
, mSelectDialog(new SelectDialog(this))
{
setFocusPolicy(Qt::ClickFocus);
QWidget* lanHeader = new QWidget(this);
mLayout->addWidget(lanHeader);
mSelectDialog->setWindowModality(Qt::WindowModal);
QHBoxLayout* lanHeaderLayout = new QHBoxLayout(lanHeader);
QLabel* languageLabel = new QLabel(tr("Language"));
@@ -94,11 +93,10 @@ GeneralForm::GeneralForm(QWidget* aParent)
connect(btnLan, &QPushButton::clicked, [=]()
{
mSelectDialog->setValues(JsonObject::Instance()->language());
mSelectDialog->setSelectedValue(JsonObject::Instance()->defaultLanguage());
if (mSelectDialog->exec() == QDialog::Accepted)
DialogResult result = DialogManager::Default()->requestSelectLanguage();
if (result.ResultCode == QDialog::Accepted)
{
QString language = mSelectDialog->getSelectedValue();
QString language = result.ResultData.toString();
//take effect
JsonObject::Instance()->setDefaultLanguage(language);

View File

@@ -4,7 +4,6 @@
#include <QWidget>
class QVBoxLayout;
class SelectDialog;
class GeneralForm : public QWidget
{
@@ -15,7 +14,6 @@ public:
private:
QVBoxLayout* mLayout;
SelectDialog* mSelectDialog;
};
#endif // GENERALFORM_H

View File

@@ -5,10 +5,7 @@
#include <QToolButton>
#include <QGridLayout>
#include "dialogs/SelectDialog.h"
#include "network/NetworkCfgDialog.h"
#include "network/DicomCfgDialog.h"
#include "network/GetAdminPsw.h"
#include "dialogs/DialogManager.h"
#include "json/jsonobject.h"
#include "event/EventCenter.h"
#include "device/DeviceManager.h"
@@ -18,8 +15,6 @@
SystemSettingForm::SystemSettingForm(QWidget* parent)
: QWidget(parent)
, mUI(new Ui::SystemSettingForm)
, mProtocalSelectDialog(new SelectDialog(this))
, mFilterSelectDialog(new SelectDialog(this))
, mDiskInfoCaller(nullptr)
, mDiskSize(0)
, mDiskUsedSize(0)
@@ -27,8 +22,6 @@ SystemSettingForm::SystemSettingForm(QWidget* parent)
, mDiskUsedSizeFlag(false)
{
mUI->setupUi(this);
mProtocalSelectDialog->setWindowModality(Qt::WindowModal);
mFilterSelectDialog->setWindowModality(Qt::WindowModal);
mUI->lbl_size->setText(tr("Loading..."));
mUI->lbl_used->setText(tr("Loading..."));
@@ -100,31 +93,25 @@ SystemSettingForm::SystemSettingForm(QWidget* parent)
JsonObject::Instance()->setCompleteNotify(scanCompleteButton->getChecked());
});
connect(mUI->btnNetwork, &QToolButton::clicked, [=]() {
GetAdminPsw dialog(this);
if (dialog.exec() == QDialog::Accepted)
if (DialogManager::Default()->requestInputAdminPasswd() == QDialog::Accepted)
{
JsonObject::Instance()->setPassword(dialog.getPsw());
NetworkCfgDialog dia(this);
dia.setWindowModality(Qt::WindowModal);
dia.exec();
//JsonObject::Instance()->setPassword(dialog.getPsw());
DialogManager::Default()->requestEditNetworkConfig();
}
});
connect(mUI->btnDICOM, &QToolButton::clicked, [=]() {
DicomCfgDialog dia(this);
dia.setWindowModality(Qt::WindowModal);
dia.exec();
DialogManager::Default()->requestEditDicomConfig();
});
connect(mUI->btnPro, &QPushButton::clicked, [=]()
{
mProtocalSelectDialog->setValues(JsonObject::Instance()->protocals());
mProtocalSelectDialog->setSelectedValue(JsonObject::Instance()->defaultProtocal());
if (mProtocalSelectDialog->exec() == QDialog::Accepted)
DialogResult result = DialogManager::Default()->requestSelectProtocal();
if (result.ResultCode == QDialog::Accepted)
{
QString pro = mProtocalSelectDialog->getSelectedValue();
QString pro = result.ResultData.toString();
//take effect
JsonObject::Instance()->setDefaultProtocal(pro);
mUI->btnPro->setText(JsonObject::Instance()->defaultProtocal());
@@ -133,11 +120,10 @@ SystemSettingForm::SystemSettingForm(QWidget* parent)
connect(mUI->btnFlt, &QPushButton::clicked, [=]()
{
mFilterSelectDialog->setValues(JsonObject::Instance()->worklistFilters());
mFilterSelectDialog->setSelectedValue(JsonObject::Instance()->defaultFilter());
if (mFilterSelectDialog->exec() == QDialog::Accepted)
DialogResult result = DialogManager::Default()->requestSelectFilter();
if (result.ResultCode == QDialog::Accepted)
{
QString flt = mFilterSelectDialog->getSelectedValue();
QString flt = result.ResultData.toString();
//take effect
JsonObject::Instance()->setDefaultFilter(flt);
mUI->btnFlt->setText(JsonObject::Instance()->defaultFilter());

View File

@@ -3,8 +3,6 @@
#include <QWidget>
class SelectDialog;
namespace Ui
{
class SystemSettingForm;
@@ -23,9 +21,6 @@ private:
void updateStorageUsed();
Ui::SystemSettingForm* mUI;
SelectDialog* mProtocalSelectDialog;
SelectDialog* mFilterSelectDialog;
QThread* mDiskInfoCaller;
double mDiskSize;