ukui-menu/0016-25-upstream.patch
2023-05-24 16:38:41 +08:00

122 lines
5.0 KiB
Diff

From: lixueman <lixueman@kylinos.cn>
Date: Mon, 24 Oct 2022 09:31:59 +0000
Subject: =?utf-8?b?ITI1IOWQjOatpXVwc3RyZWFt5Luj56CB77yM5L+u5pS55YWo5bGP5byA?=
=?utf-8?b?5aeL6I+c5Y2V5L2N572u6Zeu6aKYIE1lcmdlIHB1bGwgcmVxdWVzdCAhMjUgZnJv?=
=?utf-8?b?bSBsaXh1ZW1hbi9vcGVua3lsaW4veWFuZ3R6ZQ==?=
---
src/BackProcess/Interface/ukuimenuinterface.cpp | 2 +-
src/UserInterface/Widget/full_commonuse_widget.cpp | 4 +++-
src/UserInterface/mainwindow.cpp | 8 +++++++-
src/UtilityFunction/utility.cpp | 23 +++++++++++-----------
4 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/src/BackProcess/Interface/ukuimenuinterface.cpp b/src/BackProcess/Interface/ukuimenuinterface.cpp
index 7879cc0..d7438fb 100755
--- a/src/BackProcess/Interface/ukuimenuinterface.cpp
+++ b/src/BackProcess/Interface/ukuimenuinterface.cpp
@@ -375,7 +375,7 @@ QStringList UkuiMenuInterface::getDesktopFilePath()
m_filePathList.removeAll("/usr/share/applications/kylin-io-monitor.desktop");
m_filePathList.removeAll("/usr/share/applications/wps-office-uninstall.desktop");
m_filePathList.removeAll("/usr/share/applications/wps-office-misc.desktop");
- m_filePathList.removeAll("/usr/share/applications/kylin-installer.desktop");
+// m_filePathList.removeAll("/usr/share/applications/kylin-installer.desktop");
QStringList desktopList;
for (int i = 0; i < m_filePathList.count(); ++i) {
diff --git a/src/UserInterface/Widget/full_commonuse_widget.cpp b/src/UserInterface/Widget/full_commonuse_widget.cpp
index 6adab1a..adbce44 100755
--- a/src/UserInterface/Widget/full_commonuse_widget.cpp
+++ b/src/UserInterface/Widget/full_commonuse_widget.cpp
@@ -170,7 +170,7 @@ void FullCommonUseWidget::resizeScrollAreaControls()
rowcount = listview->model()->rowCount() / dividend;
}
- listview->setFixedSize(m_listView->width(), listview->gridSize().height() * rowcount);
+ listview->setFixedSize(Style::m_applistAreaWidth, listview->gridSize().height() * rowcount);
m_scrollArea->widget()->setFixedSize(listview->size());
}
@@ -275,11 +275,13 @@ void FullCommonUseWidget::updateListView()
void FullCommonUseWidget::repaintWidget()
{
m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
+ m_scrollArea->setWidgetResizable(true);
m_scrollAreaWidLayout->removeWidget(m_listView);
m_listView->setParent(nullptr);
delete m_listView;
initAppListWidget();
fillAppList();
+ m_scrollAreaWid->adjustSize();
m_scrollAreaWidHeight = m_scrollAreaWid->height();
initVerticalScrollBar();
on_setAreaScrollBarValue(0);
diff --git a/src/UserInterface/mainwindow.cpp b/src/UserInterface/mainwindow.cpp
index 0c07b15..42a5e78 100755
--- a/src/UserInterface/mainwindow.cpp
+++ b/src/UserInterface/mainwindow.cpp
@@ -1382,8 +1382,14 @@ void MainWindow::repaintWidget()
int y = Style::m_primaryScreenY;
int width = Style::m_availableScreenWidth;
int height = Style::m_availableScreenHeight;
+
setMinWindowPos();
- m_fullWindow->move(x, y);
+
+ if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
+ kdk::WindowManager::setGeometry(m_fullWindow->windowHandle(), QRect(x, y, width, height));
+ } else {
+ m_fullWindow->move(x, y);
+ }
m_fullWindow->setFixedSize(width, height);
m_fullWindow->repaintWidget();
}
diff --git a/src/UtilityFunction/utility.cpp b/src/UtilityFunction/utility.cpp
index c7b63e7..1873136 100755
--- a/src/UtilityFunction/utility.cpp
+++ b/src/UtilityFunction/utility.cpp
@@ -138,23 +138,24 @@ QVariantList getScreenGeometryList()
QRect rect;
rect = qApp->primaryScreen()->geometry();
int panelSize = 0;
- int position = 0;
+ int panelPosition = 0;
QVariantList list;
list.clear();
- QDBusInterface iface(DBUS_NAME,
- DBUS_PATH,
- DBUS_INTERFACE,
- QDBusConnection::sessionBus());
- QDBusReply<QVariantList> reply = iface.call("GetPrimaryScreenPhysicalGeometry");
- if (reply.isValid()) {
- panelSize = reply.value().at(4).toInt();
- position = reply.value().at(5).toInt();
+ if (QGSettings::isSchemaInstalled(QString("org.ukui.panel.settings").toLocal8Bit())) {
+ QGSettings gsetting(QString("org.ukui.panel.settings").toLocal8Bit());
+ if (gsetting.keys().contains("panelposition")) {
+ panelPosition = gsetting.get("panelposition").toInt();
+ }
+
+ if (gsetting.keys().contains("panelsize")) {
+ panelSize = gsetting.get("panelsize").toInt();
+ }
}
QList<int> posIndex;
- switch (position) {
+ switch (panelPosition) {
case BOTTOM:
posIndex = {0, 0, 0, -1};
break;
@@ -173,7 +174,7 @@ QVariantList getScreenGeometryList()
list.append(rect.width() + posIndex[2] * panelSize);
list.append(rect.height() + posIndex[3] * panelSize);
list.append(panelSize);
- list.append(position);
+ list.append(panelPosition);
return list;
}