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

@@ -6,10 +6,8 @@
#include "ui_NetworkCfgDialog.h"
#include "device/networkmanager.h"
#include "dialogs/DialogManager.h"
#include "NetCfgTableModel.h"
#include "GetIPDialog.h"
#include "GetRouteDialog.h"
#include "src/dialogs/GUIMessageDialog.h"
namespace
{
@@ -24,14 +22,12 @@ NetworkCfgDialog::NetworkCfgDialog(QWidget* parent)
, mUi(new Ui::NetworkCfgDialog)
, mModelAddress(new NetCfgTableModel(this))
, mModelRoute(new NetCfgTableModel(this))
, mMessageDialog(new GUIMessageDialog(this))
{
mUi->setupUi(this);
this->setObjectName("formDialog");
this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
mMessageDialog->hide();
setFocusPolicy(Qt::ClickFocus);
mUi->sw_dhcp->setChecked(true);
//ui->sw_dhcp->setButtonStyle(ImageSwitch::ButtonStyle_1);
@@ -74,11 +70,10 @@ NetworkCfgDialog::NetworkCfgDialog(QWidget* parent)
connect(mUi->btn_addr_add, &QPushButton::clicked, [=]()
{
//GetIPDialog* dialog = new GetIPDialog(this);
GetIPDialog dialog(this);
if (dialog.exec() == QDialog::Accepted)
DialogResult result = DialogManager::Default()->requestEditIpAndNetMask();
if (result.ResultCode == QDialog::Accepted)
{
mModelAddress->addRow(dialog.getList());
mModelAddress->addRow(result.ResultData.toStringList());
//ui->tbl_addr->selectRow(0);
}
});
@@ -92,14 +87,11 @@ NetworkCfgDialog::NetworkCfgDialog(QWidget* parent)
if (!index.empty())
{
const QStringList ipdata = mModelAddress->rowData(index.at(0));
//GetIPDialog* dialog = new GetIPDialog(this);
GetIPDialog dialog(this);
dialog.setList(ipdata);
if (dialog.exec() == QDialog::Accepted)
DialogResult result = DialogManager::Default()->requestEditIpAndNetMask(ipdata);
if (result.ResultCode == QDialog::Accepted)
{
mModelAddress->removeRow(index.at(0).row());
mModelAddress->insertRow(index.at(0).row(), dialog.getList());
mModelAddress->insertRow(index.at(0).row(), result.ResultData.toStringList());
}
}
}
@@ -122,17 +114,15 @@ NetworkCfgDialog::NetworkCfgDialog(QWidget* parent)
connect(mUi->btn_route_add, &QPushButton::clicked, [=]()
{
//GetRouteDialog* dialog = new GetRouteDialog(this);
GetRouteDialog dialog(this);
if (dialog.exec() == QDialog::Accepted)
DialogResult result = DialogManager::Default()->requestEditRouteInfo();
if (result.ResultCode == QDialog::Accepted)
{
mModelRoute->addRow(dialog.getList());
mModelRoute->addRow(result.ResultData.toStringList());
}
});
connect(mUi->btn_route_edit, &QPushButton::clicked, [=]()
{
QItemSelectionModel* select = mUi->tbl_route->selectionModel();
if (select->hasSelection())
{
@@ -141,14 +131,11 @@ NetworkCfgDialog::NetworkCfgDialog(QWidget* parent)
{
const QStringList ipdata = mModelRoute->rowData(index.at(0));
//GetRouteDialog* dialog = new GetRouteDialog(this);
GetRouteDialog dialog(this);
dialog.setList(ipdata);
if (dialog.exec() == QDialog::Accepted)
DialogResult result = DialogManager::Default()->requestEditRouteInfo(ipdata);;
if (result.ResultCode == QDialog::Accepted)
{
mModelRoute->removeRow(index.at(0).row());
mModelRoute->insertRow(index.at(0).row(), dialog.getList());
mModelRoute->insertRow(index.at(0).row(), result.ResultData.toStringList());
}
}
}
@@ -273,12 +260,11 @@ bool NetworkCfgDialog::isNetModified()
void NetworkCfgDialog::handleThreadStart()
{
mMessageDialog->showMessage("Saving Network Configuration...");
mMessageDialog->show();
DialogManager::Default()->raiseSyncDialog("Saving Network Configuration...");
}
void NetworkCfgDialog::handleThreadExit()
{
mMessageDialog->hide();
DialogManager::Default()->hideTopSyncDialog();
mUi->output->setPlainText(mError);
if (0 != mThread)
{

View File

@@ -9,7 +9,6 @@ namespace Ui
}
class NetCfgTableModel;
class GUIMessageDialog;
class QThread;
class NetworkCfgDialog : public QDialog
@@ -38,7 +37,6 @@ private:
Ui::NetworkCfgDialog* mUi;
NetCfgTableModel* mModelAddress = nullptr;
NetCfgTableModel* mModelRoute = nullptr;
GUIMessageDialog* mMessageDialog = nullptr;
QThread* mThread = nullptr;
QString mError;
QString mAdminPsw;