From 92dc423d7fc6131e60d9c9ea067be73b0df1a580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BA=AB?= Date: Mon, 22 Jul 2024 16:42:36 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix(mainwindow):=20=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=A4=9A=E6=AC=A1=E7=82=B9=E5=87=BB=E6=9C=AA?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E7=9A=84WiFi=EF=BC=8C=E9=AB=98=E6=A6=82?= =?UTF-8?q?=E7=8E=87=E5=87=BA=E7=8E=B0=E5=AF=86=E7=A0=81=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E6=A1=86=E4=B8=8D=E6=98=BE=E7=A4=BA=E8=BE=93=E5=85=A5=E5=85=89?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Description: 控制面板多次点击未连接的WiFi,高概率出现密码输入框不显示输入光标 Log: 控制面板多次点击未连接的WiFi,高概率出现密码输入框不显示输入光标 Bug: https://pm.kylin.com/bug-view-240566.html --- src/frontend/mainwindow.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/frontend/mainwindow.cpp b/src/frontend/mainwindow.cpp index a72ea88a..7786d7e2 100644 --- a/src/frontend/mainwindow.cpp +++ b/src/frontend/mainwindow.cpp @@ -643,6 +643,7 @@ void MainWindow::showByWaylandHelper() //去除窗管标题栏,传入参数为QWidget* kdk::UkuiStyleHelper::self()->removeHeader(this); this->show(); + this->setFocus(); QWindow* window = this->windowHandle(); if (window) { //跳过任务栏和分页器的属性 From 406516e970d6afc5bfafa17928183b089aaca0ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BA=AB?= Date: Thu, 25 Jul 2024 09:33:48 +0800 Subject: [PATCH 2/3] changelog --- debian/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/debian/changelog b/debian/changelog index 87948b3e..d5dd39f4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +kylin-nm (4.10.0.0-ok0.9) nile; urgency=medium + + * BUG:#240566 【兆芯KX6000】【冒烟1级】【WiFi】控制面板多次点击未连接的WiFi,高概率出现密码输入框不显示输入光标 + * 需求:无 + * 其他改动说明:更新翻译 + * 其他改动影响域:无 + + -- lixiang1 Thu, 25 Jul 2024 09:31:57 +0800 + kylin-nm (4.10.0.0-ok0.8) nile; urgency=medium * BUG:无 From ee8760138936662a13d34158fcda9ed7d993d5d9 Mon Sep 17 00:00:00 2001 From: Lixit Date: Thu, 29 Aug 2024 17:31:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix(mainwindow):=20=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=A0=8F=E7=BD=91=E7=BB=9C=E6=A8=A1=E5=9D=97=EF=BC=8C=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E5=93=88=E7=BB=B4=E6=9F=AF=E8=AF=AD=E8=A8=80=E6=97=B6?= =?UTF-8?q?=E4=BB=8E=E5=8F=B3=E5=BE=80=E5=B7=A6=E5=B8=83=E5=B1=80=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E6=B7=B7=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Description: 任务栏网络模块,切换哈维柯语言时从右往左布局出现混乱 Log: 任务栏网络模块,切换哈维柯语言时从右往左布局出现混乱 Bug: https://gitee.com/openkylin/kylin-nm/issues/I9IYPM?from=project-issue --- src/frontend/mainwindow.cpp | 48 ++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/src/frontend/mainwindow.cpp b/src/frontend/mainwindow.cpp index 7786d7e2..be72f8d2 100644 --- a/src/frontend/mainwindow.cpp +++ b/src/frontend/mainwindow.cpp @@ -537,31 +537,41 @@ void MainWindow::resetWindowPosition() #define PANEL_LEFT 2 #define PANEL_RIGHT 3 //#define PANEL_BOTTOM 4 - QRect availableGeo = QGuiApplication::screenAt(QCursor::pos())->geometry(); - int x, y; - switch(m_panelPosition){ - //任务栏位于上方 - case PANEL_TOP: - x = availableGeo.x() + availableGeo.width() - this->width() - MARGIN; - y = availableGeo.y() + m_panelSize + MARGIN; +#define MARGIN 8 + QDBusInterface iface("org.ukui.panel", + "/panel/position", + "org.ukui.panel", + QDBusConnection::sessionBus()); + QDBusReply reply=iface.call("GetPrimaryScreenGeometry"); + QVariantList position_list=reply.value(); + + /* + * 通过这个dbus接口获取到的6个参数分别为 :可用屏幕大小的x坐标、y坐标、宽度、高度,任务栏位置 + */ + QRect rect; + switch(reply.value().at(4).toInt()){ + case 1: + rect = QRect(position_list.at(0).toInt()+position_list.at(2).toInt()-this->width()-MARGIN, + position_list.at(1).toInt()+MARGIN, + this->width(),this->height()); break; - //任务栏位于左边 - case PANEL_LEFT: - x = availableGeo.x() + m_panelSize + MARGIN; - y = availableGeo.y() + availableGeo.height() - this->height() - MARGIN; + case 2: + rect = QRect(position_list.at(0).toInt()+MARGIN, + position_list.at(1).toInt()+reply.value().at(3).toInt()-this->height()-MARGIN, + this->width(),this->height()); break; - //任务栏位于右边 - case PANEL_RIGHT: - x = availableGeo.x() + availableGeo.width() - m_panelSize - this->width() - MARGIN; - y = availableGeo.y() + availableGeo.height() - this->height() - MARGIN; + case 3: + rect = QRect(position_list.at(0).toInt()+position_list.at(2).toInt()-this->width()-MARGIN, + position_list.at(1).toInt()+reply.value().at(3).toInt()-this->height()-MARGIN, + this->width(),this->height()); break; - //任务栏位于下方 default: - x = availableGeo.x() + availableGeo.width() - this->width() - MARGIN; - y = availableGeo.y() + availableGeo.height() - m_panelSize - this->height() - MARGIN; + rect = QRect(position_list.at(0).toInt()+position_list.at(2).toInt()-this->width()-MARGIN, + position_list.at(1).toInt()+reply.value().at(3).toInt()-this->height()-MARGIN, + this->width(),this->height()); break; } - kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x, y, this->width(), this->height())); + kdk::WindowManager::setGeometry(this->windowHandle(), rect); qDebug() << " Position of ukui-panel is " << m_panelPosition << "; Position of mainwindow is " << this->geometry() << "." << Q_FUNC_INFO << __LINE__; }