kylin-nm/0001-fix-bug-closing-settings-window-causes-the-main-proc.patch

199 lines
5.7 KiB
Diff

From bec5f07f273ec5427730c13a9c64cd5b24d2c3ac Mon Sep 17 00:00:00 2001
From: dou33 <johnwo3396@hotmail.com>
Date: Thu, 28 Oct 2021 14:48:57 +0800
Subject: [PATCH] fix bug closing settings window causes the main process to
exit
---
src/confform.cpp | 14 +++++++++++++-
src/confform.h | 3 ++-
src/confform.ui | 3 +++
src/mainwindow.cpp | 5 ++++-
wireless-security/dlgconnhidwifi.cpp | 6 ++++--
wireless-security/dlgconnhidwifiwpa.cpp | 4 +++-
6 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/confform.cpp b/src/confform.cpp
index a83fc34..d62cbb4 100755
--- a/src/confform.cpp
+++ b/src/confform.cpp
@@ -30,7 +30,7 @@
extern QString llname, lwname;
ConfForm::ConfForm(QWidget *parent) :
- QWidget(parent),
+ QDialog(parent),
ui(new Ui::ConfForm)
{
ui->setupUi(this);
@@ -92,6 +92,12 @@ ConfForm::ConfForm(QWidget *parent) :
// ui->btnCancel->setStyleSheet(btnOffQss);
// ui->btnOk->setStyleSheet(btnOnQss);
// ui->btnCreate->setStyleSheet(btnOnQss);
+ ui->leAddr->setContextMenuPolicy(Qt::NoContextMenu);
+ ui->leName->setContextMenuPolicy(Qt::NoContextMenu);
+ ui->leDns->setContextMenuPolicy(Qt::NoContextMenu);
+ ui->leDns2->setContextMenuPolicy(Qt::NoContextMenu);
+ ui->leGateway->setContextMenuPolicy(Qt::NoContextMenu);
+
ui->lineUp->setStyleSheet(lineQss);
ui->lineDown->setStyleSheet(lineQss);
ui->lineUp->hide();
@@ -148,6 +154,7 @@ void ConfForm::mousePressEvent(QMouseEvent *event)
this->dragPos = event->globalPos();
event->accept();
}
+ return QDialog::mousePressEvent(event);
}
void ConfForm::mouseReleaseEvent(QMouseEvent *event)
{
@@ -159,6 +166,7 @@ void ConfForm::mouseMoveEvent(QMouseEvent *event)
this->move(this->winPos - (this->dragPos - event->globalPos()));
event->accept();
}
+ return QDialog::mouseMoveEvent(event);
}
//网络配置参数设置界面的显示内容
@@ -213,6 +221,7 @@ void ConfForm::on_btnCreate_clicked()
if (mIfname == "") {
QString tip(tr("Can not create new wired network for without wired card"));
kylindbus.showDesktopNotify(tip);
+ //this->close();
this->hide();
return;
}
@@ -231,6 +240,7 @@ void ConfForm::on_btnCreate_clicked()
kylindbus.showDesktopNotify(txt);
}
+ //this->close();
this->hide();
}
@@ -265,6 +275,7 @@ void ConfForm::on_btnOk_clicked()
KylinDBus kylindbus;
+ //this->close();
this->hide();
QString txt(tr("New network settings already finished"));
@@ -293,6 +304,7 @@ void ConfForm::on_btnOk_clicked()
//点击取消按钮
void ConfForm::on_btnCancel_clicked()
{
+ //this->close();
this->hide();
}
diff --git a/src/confform.h b/src/confform.h
index e29cdd2..b40d2c2 100755
--- a/src/confform.h
+++ b/src/confform.h
@@ -25,13 +25,14 @@
#include <QPoint>
#include <QPainter>
#include <QPainterPath>
+#include <QDialog>
#include <QListView>
namespace Ui {
class ConfForm;
}
-class ConfForm : public QWidget
+class ConfForm : public QDialog
{
Q_OBJECT
diff --git a/src/confform.ui b/src/confform.ui
index 3b117a5..a312a94 100755
--- a/src/confform.ui
+++ b/src/confform.ui
@@ -13,6 +13,9 @@
<property name="windowTitle">
<string/>
</property>
+ <property name="toolTip">
+ <string/>
+ </property>
<widget class="QWidget" name="centralWidget" native="true">
<property name="geometry">
<rect>
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 78fa74f..7d9bfdf 100755
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -84,6 +84,7 @@ MainWindow::MainWindow(QWidget *parent) :
objNetSpeed = new NetworkSpeed();
+ QApplication::setQuitOnLastWindowClosed(false);
this->confForm = new ConfForm();
this->ksnm = new KSimpleNM();
@@ -1868,10 +1869,12 @@ void MainWindow::onBtnCreateNetClicked()
primaryGeometry = qApp->primaryScreen()->geometry();
}
+ QApplication::setQuitOnLastWindowClosed(false);
ConfForm *m_cf = new ConfForm();
+ m_cf->setAttribute(Qt::WA_DeleteOnClose);
m_cf->cbTypeChanged(3);
m_cf->move(primaryGeometry.width() / 2 - m_cf->width() / 2, primaryGeometry.height() / 2 - m_cf->height() / 2);
- m_cf->show();
+ m_cf->exec();
}
diff --git a/wireless-security/dlgconnhidwifi.cpp b/wireless-security/dlgconnhidwifi.cpp
index 7cb1f75..f38a88f 100755
--- a/wireless-security/dlgconnhidwifi.cpp
+++ b/wireless-security/dlgconnhidwifi.cpp
@@ -230,7 +230,8 @@ void DlgConnHidWifi::changeWindow(){
void DlgConnHidWifi::on_btnCancel_clicked()
{
- this->close();
+ //this->close();
+ this->hide();
}
void DlgConnHidWifi::on_btnConnect_clicked()
@@ -276,7 +277,8 @@ void DlgConnHidWifi::on_btnConnect_clicked()
connect(this, SIGNAL(sendMessage()), this,SLOT(emitSignal() ));
QTimer::singleShot(4*1000, this, SLOT(emitSignal() ));
}
- this->close();
+ //this->close();
+ this->hide();
}
void DlgConnHidWifi::on_leNetName_textEdited(const QString &arg1)
diff --git a/wireless-security/dlgconnhidwifiwpa.cpp b/wireless-security/dlgconnhidwifiwpa.cpp
index 022df7f..6457463 100755
--- a/wireless-security/dlgconnhidwifiwpa.cpp
+++ b/wireless-security/dlgconnhidwifiwpa.cpp
@@ -244,7 +244,8 @@ void DlgConnHidWifiWpa::changeWindow()
void DlgConnHidWifiWpa::on_btnCancel_clicked()
{
- this->close();
+ //this->close();
+ this->hide();
}
void DlgConnHidWifiWpa::on_btnConnect_clicked()
@@ -289,6 +290,7 @@ void DlgConnHidWifiWpa::on_btnConnect_clicked()
QTimer::singleShot(4*1000, this, SLOT(emitSignal() ));
}
this->close();
+ this->hide();
}
void DlgConnHidWifiWpa::on_checkBoxPwd_stateChanged(int arg1)
--
2.24.3 (Apple Git-128)