diff --git a/README.md b/README.md
index ff12dc9bcafe39a878860f5bcb33ddc050e24f57..f6ddfbd1b6ed1a306d0721b3bc936c4600dfcf08 100755
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@ bugfixes for this package.
## Preparation
You can build pre-depends with such command:
-`sudo apt install libglib2.0-dev qtbase5-dev libqt5svg5-dev libqt5x11extras5-dev libgsettings-qt-dev libbamf3-dev libxrandr-dev libxtst-dev libx11-dev`
+`sudo apt install g++ qtbase5-dev qttools5-dev-tools libglib2.0-dev libqt5svg5-dev libqt5x11extras5-dev libgsettings-qt-dev libbamf3-dev libxrandr-dev libxtst-dev libx11-dev libkf5windowsystem-dev libuchardet-dev libpeony-dev libkysdk-waylandhelper-dev libukui-common-dev`
Note: build-depends references the paragraph in debian/control.
diff --git a/main.cpp b/main.cpp
index 4d4c5585734a47378c0edc01382c5da11473bff4..c9c0dbf2ede7dc0c95fb92084051d63d8dd0d6f1 100755
--- a/main.cpp
+++ b/main.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "mainwindow.h"
@@ -81,17 +80,17 @@ int main(int argc, char *argv[])
if (Style::m_panelPosition == 0) {
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
kdk::WindowManager::setGeometry(w.windowHandle(),QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY +
- Style::m_availableScreenHeight - Style::minh - 3, Style::minw, Style::minh));
+ Style::m_availableScreenHeight - Style::m_minh - 3, Style::m_minw, Style::m_minh));
} else {
- w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + Style::m_availableScreenHeight - Style::minh - 3,
- Style::minw, Style::minh));
+ w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + Style::m_availableScreenHeight - Style::m_minh - 3,
+ Style::m_minw, Style::m_minh));
}
} else if (Style::m_panelPosition == 1) {
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
kdk::WindowManager::setGeometry(w.windowHandle(),QRect(Style::m_primaryScreenX + 4,
- Style::m_primaryScreenY + 4, Style::minw, Style::minh));
+ Style::m_primaryScreenY + 4, Style::m_minw, Style::m_minh));
} else {
- w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + 4, Style::minw, Style::minh));
+ w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + 4, Style::m_minw, Style::m_minh));
}
} else if (Style::m_panelPosition == 2) {
@@ -99,17 +98,17 @@ int main(int argc, char *argv[])
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
kdk::WindowManager::setGeometry(w.windowHandle(), QRect(Style::m_primaryScreenX + 4,
- Style::m_primaryScreenY + 4, Style::minw, Style::minh));
+ Style::m_primaryScreenY + 4, Style::m_minw, Style::m_minh));
} else {
- w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + 4, Style::minw, Style::minh));
+ w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + 4, Style::m_minw, Style::m_minh));
}
} else {
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
kdk::WindowManager::setGeometry(w.windowHandle(), QRect(Style::m_primaryScreenX + Style::m_availableScreenWidth -
- Style::minw - 4, Style::m_primaryScreenY + 4, Style::minw, Style::minh));
+ Style::m_minw - 4, Style::m_primaryScreenY + 4, Style::m_minw, Style::m_minh));
} else {
- w.setGeometry(QRect(Style::m_primaryScreenX + Style::m_availableScreenWidth - Style::minw - 4, Style::m_primaryScreenY + 4,
- Style::minw, Style::minh));
+ w.setGeometry(QRect(Style::m_primaryScreenX + Style::m_availableScreenWidth - Style::m_minw - 4, Style::m_primaryScreenY + 4,
+ Style::m_minw, Style::m_minh));
}
}
diff --git a/src/BackProcess/DBus/dbus.cpp b/src/BackProcess/DBus/dbus.cpp
index 42f7109327f6fbd4e03d65a31262fd63d15795fb..2dc3aaa822450ec898ffb4359c141e09a9852b46 100755
--- a/src/BackProcess/DBus/dbus.cpp
+++ b/src/BackProcess/DBus/dbus.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "dbus.h"
#include
#include
diff --git a/src/BackProcess/DBus/dbus.h b/src/BackProcess/DBus/dbus.h
index 44f3be4d17c01d656a968cbb9330d318ddcfb66a..8da594347d1766fcf1796d000701f806be035e0e 100755
--- a/src/BackProcess/DBus/dbus.h
+++ b/src/BackProcess/DBus/dbus.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef DBUS_H
#define DBUS_H
diff --git a/src/BackProcess/FileWatcher/convert_winid_to_desktop.cpp b/src/BackProcess/FileWatcher/convert_winid_to_desktop.cpp
index cf17b369e385a6cc3fcabd3f010a65a5aa68a82d..24575bfbba62ac07726c0073680d23aaa53cb9ba 100755
--- a/src/BackProcess/FileWatcher/convert_winid_to_desktop.cpp
+++ b/src/BackProcess/FileWatcher/convert_winid_to_desktop.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,13 +12,11 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "convert_winid_to_desktop.h"
#include "utility.h"
-#include
#include
#include
#include
diff --git a/src/BackProcess/FileWatcher/convert_winid_to_desktop.h b/src/BackProcess/FileWatcher/convert_winid_to_desktop.h
index ba6a77f54d6c4a9ee7829a4fe4ac752618866780..92e0521bd869514f333cf88d080014d5cb93bc50 100755
--- a/src/BackProcess/FileWatcher/convert_winid_to_desktop.h
+++ b/src/BackProcess/FileWatcher/convert_winid_to_desktop.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef CONVERTDESKTOPTOWINID_H
diff --git a/src/BackProcess/FileWatcher/desktop_watcher.cpp b/src/BackProcess/FileWatcher/desktop_watcher.cpp
index e3c614129209130657edffea0fae5235b844601e..5e2cf1086bbf2ea9b17d447a0469a20fddf5ab9d 100755
--- a/src/BackProcess/FileWatcher/desktop_watcher.cpp
+++ b/src/BackProcess/FileWatcher/desktop_watcher.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "desktop_watcher.h"
#include
#include
@@ -20,6 +37,10 @@ DesktopWatcher::DesktopWatcher()
connect(m_directoryChangedThread, &DirectoryChangedThread::requestUpdateSignal, this, &DesktopWatcher::requestUpdateSlot);
}
+DesktopWatcher::~DesktopWatcher()
+{
+}
+
/**
* desktop文件目录改变信号槽
*/
diff --git a/src/BackProcess/FileWatcher/desktop_watcher.h b/src/BackProcess/FileWatcher/desktop_watcher.h
index 874a98d69729083e51908c749ee09e6469b12d92..9b6f9c3576d35aeb614d9a19609f17b54d4085f4 100755
--- a/src/BackProcess/FileWatcher/desktop_watcher.h
+++ b/src/BackProcess/FileWatcher/desktop_watcher.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef DESKTOPWATCHER_H
#define DESKTOPWATCHER_H
#include
@@ -9,6 +26,7 @@ class DesktopWatcher : public QObject
Q_OBJECT
public:
DesktopWatcher();
+ ~DesktopWatcher();
public:
Q_SIGNALS:
diff --git a/src/BackProcess/FileWatcher/directory_changed_thread.cpp b/src/BackProcess/FileWatcher/directory_changed_thread.cpp
index 3ef8938313a6494cff75aeaee409c10bd1b5cf0e..b96a4703238261406784d57e32b76da28e93b31c 100755
--- a/src/BackProcess/FileWatcher/directory_changed_thread.cpp
+++ b/src/BackProcess/FileWatcher/directory_changed_thread.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "directory_changed_thread.h"
@@ -28,7 +27,10 @@ DirectoryChangedThread::DirectoryChangedThread()
DirectoryChangedThread::~DirectoryChangedThread()
{
- delete m_ukuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void DirectoryChangedThread::run()
diff --git a/src/BackProcess/FileWatcher/directory_changed_thread.h b/src/BackProcess/FileWatcher/directory_changed_thread.h
index da6130cf91c54d420e9d84033f58c8f30b66bbc6..7e290382357e9ae95cd46c08f8809249a4840f9e 100755
--- a/src/BackProcess/FileWatcher/directory_changed_thread.h
+++ b/src/BackProcess/FileWatcher/directory_changed_thread.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef DIRECTORYCHANGEDTHREAD_H
diff --git a/src/BackProcess/FileWatcher/software_database_update_thread.cpp b/src/BackProcess/FileWatcher/software_database_update_thread.cpp
index b8c98f45998eee422fd3d31c7dcb6cd92f8baa52..9c50f44921ad700aace7df4b02d879b940898ead 100755
--- a/src/BackProcess/FileWatcher/software_database_update_thread.cpp
+++ b/src/BackProcess/FileWatcher/software_database_update_thread.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "software_database_update_thread.h"
diff --git a/src/BackProcess/FileWatcher/software_database_update_thread.h b/src/BackProcess/FileWatcher/software_database_update_thread.h
index 51d7d8d2cb88774bb7df512bbe9f68ff178a06c0..2914339dcdd4d56c15a30b2b90e10604f8c796df 100755
--- a/src/BackProcess/FileWatcher/software_database_update_thread.h
+++ b/src/BackProcess/FileWatcher/software_database_update_thread.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef SOFTWAREDATABASEUPDATETHREAD_H
diff --git a/src/BackProcess/FileWatcher/tablet_directorychanged_thread.cpp b/src/BackProcess/FileWatcher/tablet_directorychanged_thread.cpp
index 0cbbf6b4a2487e5e1189c2c99cc66b2ef92d256a..7c7ee4afa9d60d98672566096ad38c9f02dce6f1 100755
--- a/src/BackProcess/FileWatcher/tablet_directorychanged_thread.cpp
+++ b/src/BackProcess/FileWatcher/tablet_directorychanged_thread.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "tablet_directorychanged_thread.h"
@@ -28,21 +27,20 @@ TabletDirectoryChangedThread::TabletDirectoryChangedThread()
{
m_ukuiMenuInterface = new UkuiMenuInterface;
QString path = QDir::homePath() + "/.config/ukui/ukui-menu.ini";
- setting = new QSettings(path, QSettings::IniFormat);
+ m_setting = new QSettings(path, QSettings::IniFormat);
}
TabletDirectoryChangedThread::~TabletDirectoryChangedThread()
{
if (m_ukuiMenuInterface) {
delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
}
- if (setting) {
- delete setting;
+ if (m_setting) {
+ delete m_setting;
+ m_setting = nullptr;
}
-
- m_ukuiMenuInterface = nullptr;
- setting = nullptr;
}
@@ -67,41 +65,41 @@ void TabletDirectoryChangedThread::run()
QStringList list = str.split('/');
str = list[list.size() - 1];
QString desktopfn = str;
- setting->beginGroup("recentapp");
- setting->setValue(desktopfn, datetime);
- setting->sync();
- setting->endGroup();
+ m_setting->beginGroup("recentapp");
+ m_setting->setValue(desktopfn, datetime);
+ m_setting->sync();
+ m_setting->endGroup();
//wgx
- setting->beginGroup("application");
- QStringList applist = setting->allKeys();
- int appnum = setting->allKeys().count();
+ m_setting->beginGroup("application");
+ QStringList applist = m_setting->allKeys();
+ int appnum = m_setting->allKeys().count();
int maxindex = 0;
int minindex = 0;
for (int i = 0; i < appnum; i++) {
- if (setting->value(applist.at(i)).toInt() > maxindex) {
- maxindex = setting->value(applist.at(i)).toInt();
+ if (m_setting->value(applist.at(i)).toInt() > maxindex) {
+ maxindex = m_setting->value(applist.at(i)).toInt();
}
- if(setting->value(applist.at(i)).toInt() <= minindex) {
- minindex = setting->value(applist.at(i)).toInt();
+ if(m_setting->value(applist.at(i)).toInt() <= minindex) {
+ minindex = m_setting->value(applist.at(i)).toInt();
}
}
if (desktopfn.contains("small-plugin-manage")){
- setting->setValue(desktopfn,minindex-1);
+ m_setting->setValue(desktopfn,minindex-1);
} else {
- setting->setValue(desktopfn,maxindex+1);
+ m_setting->setValue(desktopfn,maxindex+1);
}
- setting->sync();
- setting->endGroup();
+ m_setting->sync();
+ m_setting->endGroup();
//
QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfpList.at(i));
syslog(LOG_LOCAL0 | LOG_DEBUG, "%s", iconstr.toLocal8Bit().data());
syslog(LOG_LOCAL0 | LOG_DEBUG, "软件安装desktop文件名:%s", desktopfn.toLocal8Bit().data());
- Q_FOREACH (QString path, QIcon::themeSearchPaths()) {
+ Q_FOREACH(QString path, QIcon::themeSearchPaths()) {
syslog(LOG_LOCAL0 | LOG_DEBUG, "%s", path.toLocal8Bit().data());
}
}
@@ -113,35 +111,35 @@ void TabletDirectoryChangedThread::run()
QFileInfo fileInfo(desktopfp);
QString desktopfn = fileInfo.fileName();
myDebug() << "卸载" << desktopfn;
- setting->beginGroup("lockapplication");
- setting->remove(desktopfn);
- setting->sync();
- setting->endGroup();
- setting->beginGroup("application");
-
- if (!setting->contains(desktopfn)) {
- setting->sync();
- setting->endGroup();
+ m_setting->beginGroup("lockapplication");
+ m_setting->remove(desktopfn);
+ m_setting->sync();
+ m_setting->endGroup();
+ m_setting->beginGroup("application");
+
+ if (!m_setting->contains(desktopfn)) {
+ m_setting->sync();
+ m_setting->endGroup();
continue;
}
- int val = setting->value(desktopfn).toInt();
+ int val = m_setting->value(desktopfn).toInt();
myDebug() << "卸载val" << val;
- setting->remove(desktopfn);
- QStringList desktopfnList = setting->allKeys();
+ m_setting->remove(desktopfn);
+ QStringList desktopfnList = m_setting->allKeys();
for (int i = 0; i < desktopfnList.count(); i++) {
- if (setting->value(desktopfnList.at(i)).toInt() > val) {
- setting->setValue(desktopfnList.at(i), setting->value(desktopfnList.at(i)).toInt() - 1);
+ if (m_setting->value(desktopfnList.at(i)).toInt() > val) {
+ m_setting->setValue(desktopfnList.at(i), m_setting->value(desktopfnList.at(i)).toInt() - 1);
}
}
- setting->sync();
- setting->endGroup();
- setting->beginGroup("recentapp");
- setting->remove(desktopfn);
- setting->sync();
- setting->endGroup();
+ m_setting->sync();
+ m_setting->endGroup();
+ m_setting->beginGroup("recentapp");
+ m_setting->remove(desktopfn);
+ m_setting->sync();
+ m_setting->endGroup();
syslog(LOG_LOCAL0 | LOG_DEBUG, "软件卸载desktop文件名:%s", desktopfn.toLocal8Bit().data());
QDBusInterface iface("com.ukui.panel.desktop",
"/",
diff --git a/src/BackProcess/FileWatcher/tablet_directorychanged_thread.h b/src/BackProcess/FileWatcher/tablet_directorychanged_thread.h
index 279dec115019e165ec2775874f39c8ca41bc0376..69393339e9d5b672227a76aae5a645b769dc8fd4 100755
--- a/src/BackProcess/FileWatcher/tablet_directorychanged_thread.h
+++ b/src/BackProcess/FileWatcher/tablet_directorychanged_thread.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef TABLETDIRECTORYCHANGEDTHREAD_H
@@ -35,7 +34,7 @@ public:
private:
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
- QSettings *setting = nullptr;
+ QSettings *m_setting = nullptr;
TabletListView *m_listView = nullptr;
QStandardItemModel *listmodel = nullptr;
diff --git a/src/BackProcess/Interface/currenttime_interface.cpp b/src/BackProcess/Interface/currenttime_interface.cpp
index 46080401087d0489f3805d987f053ece77535ea4..ea71b8820169724aefc1f3b6d6a24488bf11297d 100755
--- a/src/BackProcess/Interface/currenttime_interface.cpp
+++ b/src/BackProcess/Interface/currenttime_interface.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "currenttime_interface.h"
#include
#define TIME_FORMAT "org.ukui.control-center.panel.plugins"
diff --git a/src/BackProcess/Interface/currenttime_interface.h b/src/BackProcess/Interface/currenttime_interface.h
index cf08151efa466ebc22ec62343c8ca5327cf04d47..80c318f74ed9cc096bb6271099d8b2628f6027f8 100755
--- a/src/BackProcess/Interface/currenttime_interface.h
+++ b/src/BackProcess/Interface/currenttime_interface.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef CURRENTTIMEINTERFACE_H
#define CURRENTTIMEINTERFACE_H
#include
@@ -7,9 +24,9 @@
#include
#include
-class CurrentTimeInterface : QObject
+class CurrentTimeInterface : public QObject
{
-
+ Q_OBJECT
public:
CurrentTimeInterface();
~CurrentTimeInterface();
diff --git a/src/BackProcess/Interface/ukui_chineseletter.cpp b/src/BackProcess/Interface/ukui_chineseletter.cpp
index ff73a2d51892431f31894e79d0d9e2efb5337607..a5a89562756cff953e4246044741cdc3ef692a4a 100755
--- a/src/BackProcess/Interface/ukui_chineseletter.cpp
+++ b/src/BackProcess/Interface/ukui_chineseletter.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "ukui_chineseletter.h"
diff --git a/src/BackProcess/Interface/ukui_chineseletter.h b/src/BackProcess/Interface/ukui_chineseletter.h
index c1da7295426bd0b85860907c7f0a55301edf1f53..6b4d501200b83e0fb09e7130aaa376d7f2a5ded0 100755
--- a/src/BackProcess/Interface/ukui_chineseletter.h
+++ b/src/BackProcess/Interface/ukui_chineseletter.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef UKUICHINESELETTER_H
diff --git a/src/BackProcess/Interface/ukuimenuinterface.cpp b/src/BackProcess/Interface/ukuimenuinterface.cpp
index ed6718b9b1be9a0da1d0f83114051be2d5fd1609..7879cc005d9dcf99db41f6eaacb78502e85ba516 100755
--- a/src/BackProcess/Interface/ukuimenuinterface.cpp
+++ b/src/BackProcess/Interface/ukuimenuinterface.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "ukuimenuinterface.h"
@@ -996,7 +995,7 @@ QVector UkuiMenuInterface::getAllClassification()
commonVector = getCommonUseApp();
int index = 0;
- Q_FOREACH (QString desktopfp, desktopfpVector) {
+ Q_FOREACH(QString desktopfp, desktopfpVector) {
if (!commonVector.contains(desktopfp)) {
appVector.append(appInfoVector.at(index));
}
@@ -1006,7 +1005,7 @@ QVector UkuiMenuInterface::getAllClassification()
qSort(appVector.begin(), appVector.end(), cmpApp);
- Q_FOREACH (QString desktopfp, commonVector) {
+ Q_FOREACH(QString desktopfp, commonVector) {
allAppVector.append(desktopfp);
}
@@ -1102,7 +1101,7 @@ QVector UkuiMenuInterface::getCommonUseApp()
if (!g_projectCodeName.contains("V10SP1-edu")) {
QVector data;
- Q_FOREACH (QString desktopfn, getLockAppList()) {
+ Q_FOREACH(QString desktopfn, getLockAppList()) {
QString desktopfp;
if (androidDesktopfnList.contains(desktopfn)) {
@@ -1120,7 +1119,7 @@ QVector UkuiMenuInterface::getCommonUseApp()
data.append(desktopfp);
}
- Q_FOREACH (QString desktopfn, getUnlockAllList()) {
+ Q_FOREACH(QString desktopfn, getUnlockAllList()) {
QString desktopfp;
if (androidDesktopfnList.contains(desktopfn)) {
@@ -1163,7 +1162,7 @@ QVector UkuiMenuInterface::sortDesktopList(QString group)
setting->endGroup();
QVector data;
- Q_FOREACH (QString desktopfn, desktopfnList) {
+ Q_FOREACH(QString desktopfn, desktopfnList) {
QString desktopfp;
if (androidDesktopfnList.contains(desktopfn)) {
@@ -1181,7 +1180,7 @@ QVector UkuiMenuInterface::getCollectApp()
{
QVector data;
- Q_FOREACH (QString desktopfn, getCollectAppList()) {
+ Q_FOREACH(QString desktopfn, getCollectAppList()) {
QString desktopfp;
if (androidDesktopfnList.contains(desktopfn)) {
@@ -1221,7 +1220,7 @@ QVector UkuiMenuInterface::getLockApp()
setting->endGroup();
QVector data;
- Q_FOREACH (QString desktopfn, lockdesktopfnList) {
+ Q_FOREACH(QString desktopfn, lockdesktopfnList) {
QString desktopfp;
// if(androidDesktopfnList.contains(desktopfn))//如果锁的应用在安卓列表
// desktopfp=QString(QDir::homePath()+"/.local/share/applications/"+desktopfn);
@@ -1580,7 +1579,7 @@ QString UkuiMenuInterface::getAppNameInitials(QString desktopfp)
QStringList appnamestr = appname.split(" ");
QString letters;
- Q_FOREACH (QString name, appnamestr) {
+ Q_FOREACH(QString name, appnamestr) {
letters.clear();
letters = UkuiChineseLetter::getFirstLettersAll(name);
diff --git a/src/BackProcess/Interface/ukuimenuinterface.h b/src/BackProcess/Interface/ukuimenuinterface.h
index 1c8ca58fe66e0ba18785c448b579faf983ac2e5c..38ed9c26dddf83c584c943b2807b50fce048656d 100755
--- a/src/BackProcess/Interface/ukuimenuinterface.h
+++ b/src/BackProcess/Interface/ukuimenuinterface.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef UKUIMENUINTERFACE_H
diff --git a/src/BackProcess/Search/searchappthread.cpp b/src/BackProcess/Search/searchappthread.cpp
index 128aeedbc2725754800a7205c86157d24d81181f..e1368f1149d763ef35ab57c9fcb647b8243e50b8 100755
--- a/src/BackProcess/Search/searchappthread.cpp
+++ b/src/BackProcess/Search/searchappthread.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "searchappthread.h"
@@ -27,7 +26,10 @@ SearchAppThread::SearchAppThread()
SearchAppThread::~SearchAppThread()
{
- delete m_ukuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void SearchAppThread::run()
diff --git a/src/BackProcess/Search/searchappthread.h b/src/BackProcess/Search/searchappthread.h
index 972ba2bfa0427e683fec31c05b055f5e09c30eea..aca52e40b352fd75087d4923ebcc71deb6b20f46 100755
--- a/src/BackProcess/Search/searchappthread.h
+++ b/src/BackProcess/Search/searchappthread.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef SEARCHAPPTHREAD_H
diff --git a/src/BackProcess/tablet/getmodeldata.cpp b/src/BackProcess/tablet/getmodeldata.cpp
index 11d06933a7e881a5c628f9f0095bc30f1f72a39f..0f8080f1818cb254cead8854ce6e513057f5797c 100755
--- a/src/BackProcess/tablet/getmodeldata.cpp
+++ b/src/BackProcess/tablet/getmodeldata.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "getmodeldata.h"
#include
#include
@@ -9,6 +26,14 @@ GetModelData::GetModelData()
loadDesktopVercor();
}
+GetModelData::~GetModelData()
+{
+ if (m_ukuiMenuInterface != nullptr) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
+}
+
void GetModelData::loadDesktopVercor()
{
UkuiMenuInterface::appInfoVector.clear();
@@ -27,7 +52,7 @@ QVector GetModelData::getMinAllData()
{
m_minAllData.clear();
- Q_FOREACH (QString desktopfp, UkuiMenuInterface::allAppVector) {
+ Q_FOREACH(QString desktopfp, UkuiMenuInterface::allAppVector) {
m_minAllData.append(QStringList() << desktopfp << "1");
}
@@ -40,11 +65,11 @@ QStringList GetModelData::getPreCollectionApp()
QStringList preAppList = QStringList();
QStringList preAppListExist = QStringList();
preAppList << QString("/usr/share/applications/ukui-control-center.desktop")
- < GetModelData::getRecentData()
enumerator = new Peony::FileEnumerator(this);
enumerator->setEnumerateDirectory("recent:///");
enumerator->enumerateSync();
- QString uri;
for (auto fileInfo : enumerator->getChildren()) {
QStringList recentData;
diff --git a/src/BackProcess/tablet/getmodeldata.h b/src/BackProcess/tablet/getmodeldata.h
index 6e0d3dc7d182675ee038c75528214550775af32b..a642aa723bc09f0c3423c28cbea38ae2184a76ef 100755
--- a/src/BackProcess/tablet/getmodeldata.h
+++ b/src/BackProcess/tablet/getmodeldata.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef GETMODELDATA_H
#define GETMODELDATA_H
#include "ukuimenuinterface.h"
@@ -11,6 +28,7 @@ class GetModelData : public QObject
public:
GetModelData();
+ ~GetModelData();
public:
/**
diff --git a/src/BackProcess/tablet/pagemanager.cpp b/src/BackProcess/tablet/pagemanager.cpp
index 86b2af101c9be37defc75cbfa34ba8764e6c921f..3f49f7735fe9a3311f944b938773d7ecec97c52c 100755
--- a/src/BackProcess/tablet/pagemanager.cpp
+++ b/src/BackProcess/tablet/pagemanager.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "pagemanager.h"
#include "ukuimenuinterface.h"
#include "style.h"
@@ -9,19 +26,27 @@ PageManager::PageManager()
m_ukuiMenuInterface->initAppIni();
}
+PageManager::~PageManager()
+{
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
+}
+
int PageManager::getPageNum(const int &appNum)
{
int pageNum = 0;
- if (appNum / (Style::appColumnFirst * Style::appLineFirst) == 0) {
+ if (appNum / (Style::m_appColumnFirst * Style::m_appLineFirst) == 0) {
pageNum = 1;
} else {
- int appNumOtherPage = appNum - (Style::appColumnFirst * Style::appLineFirst);
+ int appNumOtherPage = appNum - (Style::m_appColumnFirst * Style::m_appLineFirst);
- if (appNumOtherPage % (Style::appColumn * Style::appLine) == 0) {
- pageNum = appNumOtherPage / (Style::appColumn * Style::appLine) + 1;
+ if (appNumOtherPage % (Style::m_appColumn * Style::m_appLine) == 0) {
+ pageNum = appNumOtherPage / (Style::m_appColumn * Style::m_appLine) + 1;
} else {
- pageNum = appNumOtherPage / (Style::appColumn * Style::appLine) + 2;
+ pageNum = appNumOtherPage / (Style::m_appColumn * Style::m_appLine) + 2;
}
}
@@ -34,14 +59,14 @@ QVector PageManager::sortAppInPage(const QVector &appVecto
QVector pageData;
QStringList onePageData;
- Q_FOREACH (QString desktopfp, appVector) {
+ Q_FOREACH(QString desktopfp, appVector) {
m_data.append(desktopfp);
}
int pageSize = getPageNum(m_data.size());
onePageData.clear();
- for (int j = 0; j < Style::appColumnFirst * Style::appLineFirst; j++) {
+ for (int j = 0; j < Style::m_appColumnFirst * Style::m_appLineFirst; j++) {
if (m_data.size() > 0) {
onePageData.append(m_data.at(0));
m_data.pop_front();
@@ -55,7 +80,7 @@ QVector PageManager::sortAppInPage(const QVector &appVecto
for (int i = 0; i < pageSize - 1; i++) {
onePageData.clear();
- for (int j = 0; j < Style::appColumn * Style::appLine; j++) {
+ for (int j = 0; j < Style::m_appColumn * Style::m_appLine; j++) {
if (m_data.size() > 0) {
onePageData.append(m_data.at(0));
m_data.pop_front();
@@ -79,7 +104,7 @@ QVector PageManager::getAppPageVector()
QVector appPagelist;
QVector allAppList = UkuiMenuInterface::tencentInitVector + UkuiMenuInterface::customizedVector + UkuiMenuInterface::thirdPartyVector + UkuiMenuInterface::applicationVector;
- Q_FOREACH (QStringList desktopfp, sortAppInPage(/*UkuiMenuInterface::tencentInitVector*/allAppList)) {
+ Q_FOREACH(QStringList desktopfp, sortAppInPage(/*UkuiMenuInterface::tencentInitVector*/allAppList)) {
appPagelist.append(desktopfp);
}
diff --git a/src/BackProcess/tablet/pagemanager.h b/src/BackProcess/tablet/pagemanager.h
index 8c3f2cae530c8b161625f6968a35d1e481880c89..9991403dc5570189b66a1dd77971541c802264f6 100755
--- a/src/BackProcess/tablet/pagemanager.h
+++ b/src/BackProcess/tablet/pagemanager.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef PAGEMANAGER_H
#define PAGEMANAGER_H
@@ -9,6 +26,7 @@ class PageManager : public QObject
Q_OBJECT
public:
PageManager();
+ ~PageManager();
int getPageNum(const int &appNum);
QVector sortAppInPage(const QVector &appVector);
diff --git a/src/UserInterface/Button/function_classify_button.cpp b/src/UserInterface/Button/function_classify_button.cpp
index ffed89c417e8636310690031bc3875d1c83638f6..1ed4993ff62301f394b649c6f1ec3241c928480d 100755
--- a/src/UserInterface/Button/function_classify_button.cpp
+++ b/src/UserInterface/Button/function_classify_button.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "function_classify_button.h"
diff --git a/src/UserInterface/Button/function_classify_button.h b/src/UserInterface/Button/function_classify_button.h
index 6160fb9ab3be9f7a2b426ba203e50dd5c35813c5..c2e1fae50e4d83df693c0f72b7e6d9a74f423387 100755
--- a/src/UserInterface/Button/function_classify_button.h
+++ b/src/UserInterface/Button/function_classify_button.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FUNCTIONCLASSIFYBUTTON_H
diff --git a/src/UserInterface/Button/letter_classify_button.cpp b/src/UserInterface/Button/letter_classify_button.cpp
index 11073a873fd60057470deb7a4ec9ba00c4a81178..6577384d17a4918535d51c7c3474ed959573c641 100755
--- a/src/UserInterface/Button/letter_classify_button.cpp
+++ b/src/UserInterface/Button/letter_classify_button.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "letter_classify_button.h"
@@ -167,9 +166,9 @@ void LetterClassifyButton::leaveEvent(QEvent *e)
if (m_fullscreen) {
QFont font;
- font.setPixelSize(Style::LeftLetterFontSize);
+ font.setPixelSize(Style::m_leftLetterFontSize);
this->setFont(font);
- this->setFixedSize(Style::LeftLetterBtnHeight, Style::LeftLetterBtnHeight);
+ this->setFixedSize(Style::m_leftLetterBtnHeight, Style::m_leftLetterBtnHeight);
tooltip->close();
delete tooltip;
tooltip = nullptr;
@@ -195,9 +194,9 @@ void LetterClassifyButton::focusInEvent(QEvent *e)
if (m_fullscreen) {
QFont font;
- font.setPixelSize(Style::LeftLetterFontSize * 3);
+ font.setPixelSize(Style::m_leftLetterFontSize * 3);
this->setFont(font);
- this->setFixedSize(Style::LeftLetterBtnHeight * 2, Style::LeftLetterBtnHeight * 2);
+ this->setFixedSize(Style::m_leftLetterBtnHeight * 2, Style::m_leftLetterBtnHeight * 2);
}
}
diff --git a/src/UserInterface/Button/letter_classify_button.h b/src/UserInterface/Button/letter_classify_button.h
index 72359871d5a8bfba7415d76bc1620bcccf0042ea..fded3ebe917113a8762c3e0848c8a46e242aefba 100755
--- a/src/UserInterface/Button/letter_classify_button.h
+++ b/src/UserInterface/Button/letter_classify_button.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef LETTERCLASSIFYBUTTON_H
diff --git a/src/UserInterface/Button/tool_button.cpp b/src/UserInterface/Button/tool_button.cpp
index 9e430e6654b4287465667d80688bef9f8f86632c..1d0fe09201de650fbdea12e9327e47f10c805d67 100755
--- a/src/UserInterface/Button/tool_button.cpp
+++ b/src/UserInterface/Button/tool_button.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "tool_button.h"
diff --git a/src/UserInterface/Button/tool_button.h b/src/UserInterface/Button/tool_button.h
index 8634fb251b0b97b0320b74f913b448011c5d2a88..d1b18959e993ec354a4ee083f6f0ffe5242bfec6 100755
--- a/src/UserInterface/Button/tool_button.h
+++ b/src/UserInterface/Button/tool_button.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef TOOLBUTTON_H
diff --git a/src/UserInterface/ListView/fulllistview.cpp b/src/UserInterface/ListView/fulllistview.cpp
index 17124b82048e55b9b69f5b3e2db351f4484f368a..5159e10728c50c1b6a37d411618763ea6218c924 100755
--- a/src/UserInterface/ListView/fulllistview.cpp
+++ b/src/UserInterface/ListView/fulllistview.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "fulllistview.h"
@@ -30,13 +29,25 @@ FullListView::FullListView(QWidget *parent, int module):
initWidget();
m_delegate = new FullItemDelegate(this, module);
this->setItemDelegate(m_delegate);
- pUkuiMenuInterface = new UkuiMenuInterface;
+ m_ukuiMenuInterface = new UkuiMenuInterface;
}
FullListView::~FullListView()
{
- delete menu;
- delete gsetting;
+ if (m_rightMenu) {
+ delete m_rightMenu;
+ m_rightMenu = nullptr;
+ }
+
+ if (m_gsetting) {
+ delete m_gsetting;
+ m_gsetting = nullptr;
+ }
+
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void FullListView::initWidget()
@@ -84,7 +95,7 @@ void FullListView::keyPressEvent(QKeyEvent *e)
case Qt::Key_Left: {
this->clearFocus();
- if (mapToGlobal(center.topRight()).y() < Style::QueryLineEditHeight + Style::m_applistGridSizeWidth) {
+ if (mapToGlobal(center.topRight()).y() < Style::m_queryLineEditHeight + Style::m_applistGridSizeWidth) {
Q_EMIT sendSetslidebar(-Style::m_applistGridSizeWidth);
}
@@ -107,7 +118,7 @@ void FullListView::keyPressEvent(QKeyEvent *e)
case Qt::Key_Up: {
if (module == 0) {
- if (mapToGlobal(center.topRight()).y() < (Style::QueryLineEditHeight + Style::m_applistGridSizeWidth)) {
+ if (mapToGlobal(center.topRight()).y() < (Style::m_queryLineEditHeight + Style::m_applistGridSizeWidth)) {
Q_EMIT sendSetslidebar(-Style::m_applistGridSizeWidth);
}
}
diff --git a/src/UserInterface/ListView/fulllistview.h b/src/UserInterface/ListView/fulllistview.h
index 93c06b20979b10cc8d9ec21c90598de3c1297b35..d51420ded9b3c4e40ca33b99891f58986bc9d05c 100755
--- a/src/UserInterface/ListView/fulllistview.h
+++ b/src/UserInterface/ListView/fulllistview.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FULLLISTVIEW_H
@@ -42,9 +41,9 @@ protected:
void keyPressEvent(QKeyEvent *e);
private:
- RightClickMenu *menu = nullptr;//右键菜单
- QStringList data;
- QGSettings *gsetting = nullptr;
+ RightClickMenu *m_rightMenu = nullptr;//右键菜单
+ QStringList m_data;
+ QGSettings *m_gsetting = nullptr;
public Q_SLOTS:
void selectFirstItem();
diff --git a/src/UserInterface/ListView/klistview.cpp b/src/UserInterface/ListView/klistview.cpp
index 3954bc9b61276b6f013a1643ead648b8f57f0596..91fbe08ed1a76bd3c52cfae526a73fa762d7527a 100755
--- a/src/UserInterface/ListView/klistview.cpp
+++ b/src/UserInterface/ListView/klistview.cpp
@@ -1,7 +1,25 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include
#include "klistview.h"
#include "utility.h"
#include
+#include
#include "rightclickmenu.h"
KListView::KListView(QWidget *parent):
@@ -11,42 +29,47 @@ KListView::KListView(QWidget *parent):
KListView::~KListView()
{
- delete m_delegate;
- delete listmodel;
- delete pUkuiMenuInterface;
+ if (m_delegate) {
+ delete m_delegate;
+ m_delegate = nullptr;
+ }
+
+ if (m_listmodel) {
+ delete m_listmodel;
+ m_listmodel = nullptr;
+ }
}
void KListView::addData(QStringList data)
{
- listmodel = new QStandardItemModel(this);
- this->setModel(listmodel);
+ m_listmodel = new QStandardItemModel(this);
+ this->setModel(m_listmodel);
- Q_FOREACH (QString desktopfp, data) {
+ Q_FOREACH(QString desktopfp, data) {
QStandardItem *item = new QStandardItem;
item->setData(QVariant::fromValue(desktopfp), Qt::DisplayRole);
- listmodel->appendRow(item);
+ m_listmodel->appendRow(item);
}
}
void KListView::updateData(QStringList data)
{
- listmodel->clear();
+ m_listmodel->clear();
- Q_FOREACH (QString desktopfp, data) {
+ Q_FOREACH(QString desktopfp, data) {
QStandardItem *item = new QStandardItem;
item->setData(QVariant::fromValue(desktopfp), Qt::DisplayRole);
- listmodel->appendRow(item);
+ m_listmodel->appendRow(item);
}
}
void KListView::onClicked(QModelIndex index)
{
- QVariant var = listmodel->data(index, Qt::DisplayRole);
-
+ QVariant var = m_listmodel->data(index, Qt::DisplayRole);
if (var.isValid()) {
QString desktopfp = var.value();
Q_EMIT sendHideMainWindowSignal();
- execApp(desktopfp);
+ QtConcurrent::run(execApp, QString(desktopfp));
}
}
@@ -69,12 +92,19 @@ void KListView::mouseMoveEvent(QMouseEvent *e)
void KListView::mousePressEvent(QMouseEvent *event)
{
- if (!(this->indexAt(event->pos()).isValid()) && event->button() == Qt::LeftButton) {
+ if ((this->indexAt(event->pos()).isValid()) && event->button() == Qt::LeftButton) {
+ m_pressApp = m_listmodel->data(this->indexAt(event->pos()), Qt::DisplayRole);
+ }
+ return QListView::mousePressEvent(event);
+}
+
+void KListView::mouseReleaseEvent(QMouseEvent *e)
+{
+ if (!(this->indexAt(e->pos()).isValid()) && e->button() == Qt::LeftButton) {
Q_EMIT sendHideMainWindowSignal();
} else {
- pressApp = listmodel->data(this->indexAt(event->pos()), Qt::DisplayRole);
+ return QListView::mouseReleaseEvent(e);
}
- return QListView::mousePressEvent(event);
}
void KListView::rightClickedSlot(const QPoint &pos)
@@ -86,7 +116,7 @@ void KListView::rightClickedSlot(const QPoint &pos)
return;
}
- QVariant var = listmodel->data(index, Qt::DisplayRole);
+ QVariant var = m_listmodel->data(index, Qt::DisplayRole);
QStringList strlist = var.value();
if (strlist.count() == 1 || ((strlist.count() == 2) && (strlist.at(1).toInt() == 1))) {
diff --git a/src/UserInterface/ListView/klistview.h b/src/UserInterface/ListView/klistview.h
index e932fd2d5383ec3b8a8820ed9b56041ec63471de..503997bdfb77b6cfc6f4a46956e8160f71b0a4f6 100755
--- a/src/UserInterface/ListView/klistview.h
+++ b/src/UserInterface/ListView/klistview.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef KLISTVIEW_H
#define KLISTVIEW_H
#include
@@ -15,15 +32,16 @@ public:
void initWidget();
KItemDelegate *m_delegate = nullptr;
- QStandardItemModel *listmodel = nullptr;
+ QStandardItemModel *m_listmodel = nullptr;
int module = 0;
- double transparency;
- QVariant pressApp;
- UkuiMenuInterface *pUkuiMenuInterface = nullptr;
+ double m_transparency;
+ QVariant m_pressApp;
+ UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
protected:
void paintEvent(QPaintEvent *e);
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *e);
+ void mouseReleaseEvent(QMouseEvent *e);
public:
void addData(QStringList data);
void updateData(QStringList data);
diff --git a/src/UserInterface/ListView/listview.cpp b/src/UserInterface/ListView/listview.cpp
index 368f25a6e3367dc7a4900d66d949a87240da645d..89be87b294bcc81a0f2ffee579afc3ebd6a2f09b 100755
--- a/src/UserInterface/ListView/listview.cpp
+++ b/src/UserInterface/ListView/listview.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "listview.h"
@@ -21,6 +20,7 @@
#include "utility.h"
#include
#include
+#include
ListView::ListView(QWidget *parent/*, int width, int height, int module*/):
KListView(parent)
@@ -29,15 +29,19 @@ ListView::ListView(QWidget *parent/*, int width, int height, int module*/):
this->h = 540;
this->module = 1;
initWidget();
- listmodel = new QStandardItemModel(this);
- this->setModel(listmodel);
- pUkuiMenuInterface = new UkuiMenuInterface;
+ setAttribute(Qt::WA_AcceptTouchEvents);
+ m_listmodel = new QStandardItemModel(this);
+ this->setModel(m_listmodel);
+ m_ukuiMenuInterface = new UkuiMenuInterface;
this->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
}
ListView::~ListView()
{
- delete pUkuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void ListView::initWidget()
@@ -69,12 +73,12 @@ void ListView::initWidget()
void ListView::addData(QVector data, int module)
{
this->module = module;
- listmodel->clear();
+ m_listmodel->clear();
- Q_FOREACH (QStringList desktopfp, data) {
+ Q_FOREACH(QStringList desktopfp, data) {
QStandardItem *item = new QStandardItem;
item->setData(QVariant::fromValue(desktopfp), Qt::DisplayRole);
- listmodel->appendRow(item);
+ m_listmodel->appendRow(item);
}
m_delegate = new ItemDelegate(this, module);
@@ -83,18 +87,33 @@ void ListView::addData(QVector data, int module)
void ListView::updateData(QVector data)
{
- listmodel->clear();
+ m_listmodel->clear();
- Q_FOREACH (QStringList desktopfp, data) {
+ Q_FOREACH(QStringList desktopfp, data) {
QStandardItem *item = new QStandardItem;
item->setData(QVariant::fromValue(desktopfp), Qt::DisplayRole);
- listmodel->appendRow(item);
+ m_listmodel->appendRow(item);
+ }
+}
+
+bool ListView::event(QEvent *e)
+{
+ switch (e->type()) {
+ case QEvent::TouchBegin:
+ m_scrollbarState = false;
+ break;
+ case QEvent::ChildRemoved:
+ m_scrollbarState = true;
+ break;
+ default:
+ break;
}
+ return QListView::event(e);
}
void ListView::onClicked(QModelIndex index)
{
- QVariant var = listmodel->data(index, Qt::DisplayRole);
+ QVariant var = m_listmodel->data(index, Qt::DisplayRole);
QString desktopfp = var.value().at(0);
if (var.isValid()) {
@@ -108,7 +127,7 @@ void ListView::onClicked(QModelIndex index)
Q_EMIT sendAppClassificationBtnClicked();
} else {
Q_EMIT sendHideMainWindowSignal();
- execApp(desktopfp);
+ QtConcurrent::run(execApp, QString(desktopfp));
}
}
}
@@ -116,14 +135,18 @@ void ListView::onClicked(QModelIndex index)
void ListView::enterEvent(QEvent *e)
{
Q_UNUSED(e);
- this->selectionModel()->clear();
- this->verticalScrollBar()->setVisible(true);
+ if (m_scrollbarState) {
+ this->selectionModel()->clear();
+ verticalScrollBar()->setVisible(true);
+ }
}
void ListView::leaveEvent(QEvent *e)
{
Q_UNUSED(e);
- this->verticalScrollBar()->setVisible(false);
+ if (m_scrollbarState) {
+ verticalScrollBar()->setVisible(false);
+ }
}
void ListView::paintEvent(QPaintEvent *e)
diff --git a/src/UserInterface/ListView/listview.h b/src/UserInterface/ListView/listview.h
index 5b145505009ffd80bf45925334b767d49c7196be..f9125e80c3dcf52ae2b70c3d5895d5dd5f26def3 100755
--- a/src/UserInterface/ListView/listview.h
+++ b/src/UserInterface/ListView/listview.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef LISTVIEW_H
@@ -50,11 +49,12 @@ protected:
void leaveEvent(QEvent *e) Q_DECL_OVERRIDE;
void paintEvent(QPaintEvent *e) override;
void keyPressEvent(QKeyEvent *e);
-
+ bool event(QEvent *e);
private:
int w = 0;
int h = 0;
int m_preRowCount;
+ bool m_scrollbarState = true;
private Q_SLOTS:
diff --git a/src/UserInterface/ListView/rightlistview.cpp b/src/UserInterface/ListView/rightlistview.cpp
index 7725222240cb5716c1bd91c9d481f02082c75b05..4d5b8d5a5ef5f791ceee6a263ab766219096a19c 100755
--- a/src/UserInterface/ListView/rightlistview.cpp
+++ b/src/UserInterface/ListView/rightlistview.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "rightlistview.h"
@@ -22,6 +21,7 @@
#include
#include
#include
+#include
RightListView::RightListView(QWidget *parent):
KListView(parent)
@@ -29,12 +29,16 @@ RightListView::RightListView(QWidget *parent):
initWidget();
m_delegate = new RightItemDelegate(this);
this->setItemDelegate(m_delegate);
- pUkuiMenuInterface = new UkuiMenuInterface;
+ m_ukuiMenuInterface = new UkuiMenuInterface;
}
RightListView::~RightListView()
{
- delete pUkuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
+
}
void RightListView::initWidget()
@@ -68,11 +72,11 @@ void RightListView::dropEvent(QDropEvent *event)
m_dropPos = event->pos();
if (this->indexAt(m_dropPos).isValid()) {
- QVariant var = listmodel->data(indexAt(m_dropPos), Qt::DisplayRole);
+ QVariant var = m_listmodel->data(indexAt(m_dropPos), Qt::DisplayRole);
QString desktopfp = var.value();
QFileInfo fileInfo(desktopfp);
QString desktopfn = fileInfo.fileName();
- QString dragDesktopfp = pressApp.value();
+ QString dragDesktopfp = m_pressApp.value();
QFileInfo dragFileInfo(dragDesktopfp);
QString dragDesktopfn = dragFileInfo.fileName();
changeCollectSort(dragDesktopfn, desktopfn);
@@ -128,12 +132,12 @@ void RightListView::keyPressEvent(QKeyEvent *e)
void RightListView::onClicked(QModelIndex index)
{
- Q_EMIT sendHideMainWindowSignal();
- QVariant var = listmodel->data(index, Qt::DisplayRole);
+ QVariant var = m_listmodel->data(index, Qt::DisplayRole);
QString desktopfp = var.value().at(0);
if (var.isValid()) {
QString desktopfp = var.value();
- execApp(desktopfp);
+ Q_EMIT sendHideMainWindowSignal();
+ QtConcurrent::run(execApp, QString(desktopfp));
}
}
diff --git a/src/UserInterface/ListView/rightlistview.h b/src/UserInterface/ListView/rightlistview.h
index b09c3619d48dc7c6a9c7b07ba1814c8810b77393..0bf0af0e28c6b61459f2534349eb29285e5e1ff4 100755
--- a/src/UserInterface/ListView/rightlistview.h
+++ b/src/UserInterface/ListView/rightlistview.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef RIGHTLISTVIEW_H
#define RIGHTLISTVIEW_H
#include
diff --git a/src/UserInterface/ListView/tabletlistview.cpp b/src/UserInterface/ListView/tabletlistview.cpp
index 6a957f42d91a445db32414acced66b0c0b2f55f0..30668908c7c6acc1bd9984beef32d1312e85e94f 100755
--- a/src/UserInterface/ListView/tabletlistview.cpp
+++ b/src/UserInterface/ListView/tabletlistview.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "tabletlistview.h"
@@ -150,7 +149,7 @@ void TabletListView::addData(QStringList data)
listmodel = new QStandardItemModel(this);
this->setModel(listmodel);
- Q_FOREACH (QString desktopfp, data) {
+ Q_FOREACH(QString desktopfp, data) {
QStandardItem *item = new QStandardItem;
item->setData(QVariant::fromValue(desktopfp), Qt::DisplayRole);
bool appDis = appDisable(desktopfp);
@@ -166,7 +165,7 @@ void TabletListView::updateData(QStringList data)
{
listmodel->clear();
- Q_FOREACH (QString desktopfp, data) {
+ Q_FOREACH(QString desktopfp, data) {
QStandardItem *p_item = new QStandardItem;
p_item->setData(QVariant::fromValue(desktopfp), Qt::DisplayRole);
bool appDis = appDisable(desktopfp);
@@ -312,15 +311,15 @@ void TabletListView::mousePressEvent(QMouseEvent *event)
//左键
myDebug() << "左键点击,当前点坐标" << event->pos();
- if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && (((pressedpos.x() % Style::TabletItemSizeWidthFirst) >= Style::FirstPageSpace) &&
- ((pressedpos.x() % Style::TabletItemSizeWidthFirst) <= (Style::FirstPageSpace + Style::AppListIconSize)) &&
- ((pressedpos.y() % Style::AppListItemSizeHeight) >= Style::AppTopSpace) &&
- ((pressedpos.y() % Style::AppListItemSizeHeight) <= (Style::AppTopSpace + Style::AppListIconSize)))) ||
+ if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && (((pressedpos.x() % Style::m_tabletItemSizeWidthFirst) >= Style::m_firstPageSpace) &&
+ ((pressedpos.x() % Style::m_tabletItemSizeWidthFirst) <= (Style::m_firstPageSpace + Style::m_appListIconSize)) &&
+ ((pressedpos.y() % Style::m_appListItemSizeHeight) >= Style::m_appTopSpace) &&
+ ((pressedpos.y() % Style::m_appListItemSizeHeight) <= (Style::m_appTopSpace + Style::m_appListIconSize)))) ||
((this->indexAt(event->pos()).isValid()) && (m_pageNum == OTHERPAGE) &&
- (pressedpos.x() % Style::TabletItemSizeWidthOther >= Style::OtherPageSpace &&
- pressedpos.x() % Style::TabletItemSizeWidthOther <= Style::OtherPageSpace + Style::AppListIconSize &&
- pressedpos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
- pressedpos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize))) {
+ (pressedpos.x() % Style::m_tabletItemSizeWidthOther >= Style::m_otherPageSpace &&
+ pressedpos.x() % Style::m_tabletItemSizeWidthOther <= Style::m_otherPageSpace + Style::m_appListIconSize &&
+ pressedpos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
+ pressedpos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize))) {
pressApp = listmodel->data(this->indexAt(pressedpos), Qt::DisplayRole);
iconClick = true;
startPos = event->pos();
@@ -337,15 +336,15 @@ void TabletListView::mousePressEvent(QMouseEvent *event)
//右键
myDebug() << "右键点击,当前点坐标" << event->pos();
- if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && ((pressedpos.x()) % Style::TabletItemSizeWidthFirst >= Style::FirstPageSpace &&
- (pressedpos.x()) % Style::TabletItemSizeWidthFirst <= Style::FirstPageSpace + Style::AppListIconSize &&
- pressedpos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
- pressedpos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize)) ||
+ if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && ((pressedpos.x()) % Style::m_tabletItemSizeWidthFirst >= Style::m_firstPageSpace &&
+ (pressedpos.x()) % Style::m_tabletItemSizeWidthFirst <= Style::m_firstPageSpace + Style::m_appListIconSize &&
+ pressedpos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
+ pressedpos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize)) ||
((this->indexAt(event->pos()).isValid()) && (m_pageNum == OTHERPAGE) &&
- (pressedpos.x() % Style::TabletItemSizeWidthOther >= Style::OtherPageSpace &&
- pressedpos.x() % Style::TabletItemSizeWidthOther <= Style::OtherPageSpace + Style::AppListIconSize &&
- pressedpos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
- pressedpos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize))) {
+ (pressedpos.x() % Style::m_tabletItemSizeWidthOther >= Style::m_otherPageSpace &&
+ pressedpos.x() % Style::m_tabletItemSizeWidthOther <= Style::m_otherPageSpace + Style::m_appListIconSize &&
+ pressedpos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
+ pressedpos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize))) {
pressApp = listmodel->data(this->indexAt(pressedpos), Qt::DisplayRole);
right_iconClick = true;
right_pressedpos = pressedpos;
@@ -362,6 +361,7 @@ void TabletListView::mousePressEvent(QMouseEvent *event)
void TabletListView::mouseMoveEvent(QMouseEvent *event)
{
+ myDebug();
if (event->buttons() & Qt::LeftButton & this->indexAt(event->pos()).isValid()) {
if (iconClick) {
if ((event->pos() - startPos).manhattanLength() >= QApplication::startDragDistance()) {
@@ -408,17 +408,17 @@ void TabletListView::dragMoveEvent(QDragMoveEvent *event)
m_time->start(500);
if (m_pageNum == OTHERPAGE) {
- if (event->pos().x() >= (Style::OtherPageViewWidth - (Style::OtherPageSpace / 2)) || event->pos().x() <= (Style::OtherPageSpace / 2)) {
- if (event->pos().x() <= (Style::OtherPageSpace / 2)) {
+ if (event->pos().x() >= (Style::m_otherPageViewWidth - (Style::m_otherPageSpace / 2)) || event->pos().x() <= (Style::m_otherPageSpace / 2)) {
+ if (event->pos().x() <= (Style::m_otherPageSpace / 2)) {
Q_EMIT pagenumchanged(false);
}
- if (event->pos().x() >= (Style::OtherPageViewWidth - (Style::OtherPageSpace / 2))) {
+ if (event->pos().x() >= (Style::m_otherPageViewWidth - (Style::m_otherPageSpace / 2))) {
Q_EMIT pagenumchanged(true);
}
}
} else {
- if (event->pos().x() >= (Style::FirsPageViewWidth - (Style::FirstPageSpace / 2))) {
+ if (event->pos().x() >= (Style::m_firsPageViewWidth - (Style::m_firstPageSpace / 2))) {
Q_EMIT pagenumchanged(true);
}
}
@@ -429,12 +429,14 @@ void TabletListView::dragMoveEvent(QDragMoveEvent *event)
void TabletListView::dragEnterEvent(QDragEnterEvent *event)
{
+ myDebug();
iconClick = true;
event->accept();
}
void TabletListView::dropEvent(QDropEvent *event)
{
+ myDebug();
dropPos = event->pos();
pressDesktopfp = (QString)event->mimeData()->data("INFO");
insertApplication(startPos, dropPos);
@@ -442,6 +444,7 @@ void TabletListView::dropEvent(QDropEvent *event)
}
void TabletListView::mouseReleaseEvent(QMouseEvent *e)
{
+ myDebug();
releasepos = e->pos();//释放的位置坐标
if (iconClick) {
@@ -503,9 +506,9 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
QString desktopfn2 = fileInfo2.fileName();
if (m_pageNum == FIRSTPAGE) {
- releasepos.setX(releasepos.x() + Style::OtherPageSpace);
+ releasepos.setX(releasepos.x() + Style::m_otherPageSpace);
} else {
- releasepos.setX(releasepos.x() + Style::FirstPageSpace);
+ releasepos.setX(releasepos.x() + Style::m_firstPageSpace);
}
QVariant var3 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//释放位置右侧有应用
@@ -514,9 +517,9 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
QString desktopfn3 = fileInfo3.fileName();
if (m_pageNum == FIRSTPAGE) {
- releasepos.setX(releasepos.x() - (Style::OtherPageSpace * 2));
+ releasepos.setX(releasepos.x() - (Style::m_otherPageSpace * 2));
} else {
- releasepos.setX(releasepos.x() - (Style::FirstPageSpace * 2));
+ releasepos.setX(releasepos.x() - (Style::m_firstPageSpace * 2));
}
QVariant var4 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//右侧没有左侧有
@@ -620,22 +623,22 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
QFileInfo fileInfo2(pressDesktopfp);
QString desktopfn2 = fileInfo2.fileName();
- if (((this->indexAt(releasepos).isValid()) && (m_pageNum == FIRSTPAGE) && ((releasepos.x()) % Style::TabletItemSizeWidthFirst >= Style::FirstPageSpace &&
- (releasepos.x()) % Style::TabletItemSizeWidthFirst <= Style::FirstPageSpace + Style::AppListIconSize &&
- releasepos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
- releasepos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize)) ||
+ if (((this->indexAt(releasepos).isValid()) && (m_pageNum == FIRSTPAGE) && ((releasepos.x()) % Style::m_tabletItemSizeWidthFirst >= Style::m_firstPageSpace &&
+ (releasepos.x()) % Style::m_tabletItemSizeWidthFirst <= Style::m_firstPageSpace + Style::m_appListIconSize &&
+ releasepos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
+ releasepos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize)) ||
((this->indexAt(releasepos).isValid()) && (m_pageNum == OTHERPAGE) &&
- (releasepos.x() % Style::TabletItemSizeWidthOther >= Style::OtherPageSpace &&
- releasepos.x() % Style::TabletItemSizeWidthOther <= Style::OtherPageSpace + Style::AppListIconSize &&
- releasepos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
- releasepos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize))) {
+ (releasepos.x() % Style::m_tabletItemSizeWidthOther >= Style::m_otherPageSpace &&
+ releasepos.x() % Style::m_tabletItemSizeWidthOther <= Style::m_otherPageSpace + Style::m_appListIconSize &&
+ releasepos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
+ releasepos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize))) {
return;
}
if (m_pageNum == FIRSTPAGE) {
- releasepos.setX(releasepos.x() + Style::FirstPageSpace);
+ releasepos.setX(releasepos.x() + Style::m_firstPageSpace);
} else {
- releasepos.setX(releasepos.x() + Style::OtherPageSpace);
+ releasepos.setX(releasepos.x() + Style::m_otherPageSpace);
}
QVariant var3 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//释放位置右侧有应用
@@ -644,9 +647,9 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
QString desktopfn3 = fileInfo3.fileName();
if (m_pageNum == FIRSTPAGE) {
- releasepos.setX(releasepos.x() - Style::FirstPageSpace * 2);
+ releasepos.setX(releasepos.x() - Style::m_firstPageSpace * 2);
} else {
- releasepos.setX(releasepos.x() - Style::OtherPageSpace * 2);
+ releasepos.setX(releasepos.x() - Style::m_otherPageSpace * 2);
}
QVariant var4 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//右侧没有左侧有
diff --git a/src/UserInterface/ListView/tabletlistview.h b/src/UserInterface/ListView/tabletlistview.h
index 5980d2c909ac00a6464a81ed139da716d6cf7e35..5c2e83186cccfd72090218060ae8cc3a9a2db679 100755
--- a/src/UserInterface/ListView/tabletlistview.h
+++ b/src/UserInterface/ListView/tabletlistview.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef TABLETLISTVIEW_H
diff --git a/src/UserInterface/Other/classify_btn_scrollarea.cpp b/src/UserInterface/Other/classify_btn_scrollarea.cpp
index 95c2619879cea56888387cc754895635910283d7..b8eaadb9e926ccbb68d1f6f586d3064421042d2b 100755
--- a/src/UserInterface/Other/classify_btn_scrollarea.cpp
+++ b/src/UserInterface/Other/classify_btn_scrollarea.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "classify_btn_scrollarea.h"
diff --git a/src/UserInterface/Other/classify_btn_scrollarea.h b/src/UserInterface/Other/classify_btn_scrollarea.h
index 743c8d1d7400e7c22180b115486795a4aff45b7e..ecb4967533621daaaff6ab52fb6b905171063f72 100755
--- a/src/UserInterface/Other/classify_btn_scrollarea.h
+++ b/src/UserInterface/Other/classify_btn_scrollarea.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef CLASSIFYSCROLLAREA_H
diff --git a/src/UserInterface/Other/lettertooltip.cpp b/src/UserInterface/Other/lettertooltip.cpp
index 176b48bec3604932492e4b58fae2c411463ed5a0..030e544618d6ed976cd09ada5740abac2fc40d0f 100755
--- a/src/UserInterface/Other/lettertooltip.cpp
+++ b/src/UserInterface/Other/lettertooltip.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "lettertooltip.h"
#include
#include
diff --git a/src/UserInterface/Other/lettertooltip.h b/src/UserInterface/Other/lettertooltip.h
index 4f64e0a9a2505cda868905d6d8abc665731ac536..81c0411c69f2bef5397c9f58bf5969a0b9436ea6 100755
--- a/src/UserInterface/Other/lettertooltip.h
+++ b/src/UserInterface/Other/lettertooltip.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef LETTERTOOLTIP_H
#define LETTERTOOLTIP_H
#include
diff --git a/src/UserInterface/Other/rotationlabel.cpp b/src/UserInterface/Other/rotationlabel.cpp
index 0c08e2eba084abae5b7f4edc39e647787e43f1c5..7badedb08ad3bc9a5d112d1cb2c3ab008d0d2ee1 100644
--- a/src/UserInterface/Other/rotationlabel.cpp
+++ b/src/UserInterface/Other/rotationlabel.cpp
@@ -1,6 +1,24 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "rotationlabel.h"
#include
#include
+#include "utility.h"
RotationLabel::RotationLabel(QWidget *parent)
: QLabel(parent)
@@ -32,6 +50,11 @@ void RotationLabel::paintEvent(QPaintEvent *event)
return QLabel::paintEvent(event);
}
+void RotationLabel::mouseReleaseEvent(QMouseEvent *ev)
+{
+ Q_UNUSED(ev);
+}
+
void RotationLabel::setIcon(const QPixmap &pixmap)
{
m_pixmap = pixmap;
diff --git a/src/UserInterface/Other/rotationlabel.h b/src/UserInterface/Other/rotationlabel.h
index f99cdbbf51c8357d88e9544ff60c3137e4bb6004..65a7c3b1c6d4623d9418dd14485d53509530784c 100644
--- a/src/UserInterface/Other/rotationlabel.h
+++ b/src/UserInterface/Other/rotationlabel.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef ROTATIONLABEL_H
#define ROTATIONLABEL_H
#include
@@ -13,6 +30,7 @@ protected:
int rotation();
void setRotation(int rot);
void paintEvent(QPaintEvent *event);
+ void mouseReleaseEvent(QMouseEvent *ev);
private:
int m_rotation = 0;
QPixmap m_pixmap;
diff --git a/src/UserInterface/Other/scrollarea.cpp b/src/UserInterface/Other/scrollarea.cpp
index 65c26e5587e35b7f22a4d0d1199f32f721dd9b81..c8592ab7a450a0a38fac74a4962eeff286f3e331 100755
--- a/src/UserInterface/Other/scrollarea.cpp
+++ b/src/UserInterface/Other/scrollarea.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "scrollarea.h"
@@ -74,23 +73,13 @@ void ScrollAreaWid::paintEvent(QPaintEvent *event)
ScrollArea::ScrollArea()
{
- // this->verticalScrollBar()->setVisible(false);
- // this->setFocusPolicy(Qt::NoFocus);
- //// this->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
- this->setFixedWidth(1330);
- // this->verticalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
+ this->setFocusPolicy(Qt::NoFocus);
+ this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
this->setFrameShape(QFrame::NoFrame);
- // this->verticalScrollBar()->setProperty("drawScrollBarGroove",false);
- // this->verticalScrollBar()->setAttribute(Qt::WA_TranslucentBackground, false);
- this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
this->verticalScrollBar()->setVisible(false);
- //滚动条设置
- QPalette p = this->verticalScrollBar()->palette();
- QColor color(255, 255, 255);
- color.setAlphaF(0.25);
- p.setColor(QPalette::Active, QPalette::Button, color);
- this->verticalScrollBar()->setPalette(p);
+ this->horizontalScrollBar()->setVisible(false);
+ this->setStyleSheet("QWidget{background:transparent;}");
}
void ScrollArea::setFocusToNextChild()
diff --git a/src/UserInterface/Other/scrollarea.h b/src/UserInterface/Other/scrollarea.h
index 96a5f57460307ac4fa47f748554eed4061ed303f..c8d8d80f149dc552f61b764484a430c58a2d7153 100755
--- a/src/UserInterface/Other/scrollarea.h
+++ b/src/UserInterface/Other/scrollarea.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef SCROLLAREA_H
diff --git a/src/UserInterface/RightClickMenu/menubox.cpp b/src/UserInterface/RightClickMenu/menubox.cpp
index c6f972917c448c7f199e1b459a4e8a143caa9aeb..ef40c1de7f0e2bcf86400cb09e0227199eb40dc9 100755
--- a/src/UserInterface/RightClickMenu/menubox.cpp
+++ b/src/UserInterface/RightClickMenu/menubox.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "menubox.h"
#include
#include
diff --git a/src/UserInterface/RightClickMenu/menubox.h b/src/UserInterface/RightClickMenu/menubox.h
index ea48961396c13b7a8f100eb7fab971a4caee2eb2..b6184ec9fd082b19746429d51f5fc865a380d9db 100755
--- a/src/UserInterface/RightClickMenu/menubox.h
+++ b/src/UserInterface/RightClickMenu/menubox.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef MENUBOX_H
#define MENUBOX_H
#include
diff --git a/src/UserInterface/RightClickMenu/rightclickmenu.cpp b/src/UserInterface/RightClickMenu/rightclickmenu.cpp
index f27460756ab64ea8f653e1b7d016990b726713d6..de3cc8540ed063cc505902ca08bed23450cec3e8 100755
--- a/src/UserInterface/RightClickMenu/rightclickmenu.cpp
+++ b/src/UserInterface/RightClickMenu/rightclickmenu.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "rightclickmenu.h"
@@ -47,8 +46,15 @@ RightClickMenu::RightClickMenu(QWidget *parent):
RightClickMenu::~RightClickMenu()
{
- delete m_cmdProc;
- delete m_ukuiMenuInterface;
+ if (m_cmdProc) {
+ delete m_cmdProc;
+ m_cmdProc = nullptr;
+ }
+
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
QPixmap RightClickMenu::getIconPixmap(QString iconstr, int type)
@@ -101,6 +107,36 @@ void RightClickMenu::removeFromCollectionActionTriggerSlot()
m_actionNumber = 18;
}
+bool RightClickMenu::hasMultipleUsers()
+{
+ QDBusInterface interface("org.freedesktop.Accounts",
+ "/org/freedesktop/Accounts",
+ "org.freedesktop.DBus.Properties",
+ QDBusConnection::systemBus());
+ if (!interface.isValid()) {
+ qCritical() << QDBusConnection::systemBus().lastError().message();
+ return false;
+ }
+
+ QDBusReply reply = interface.call("Get","org.freedesktop.Accounts","HasMultipleUsers");
+ return reply.value().toBool();
+}
+
+bool RightClickMenu::canSwitch()
+{
+ QDBusInterface interface("org.freedesktop.DisplayManager",
+ "/org/freedesktop/DisplayManager/Seat0",
+ "org.freedesktop.DBus.Properties",
+ QDBusConnection::systemBus());
+ if (!interface.isValid()) {
+ qCritical() << QDBusConnection::systemBus().lastError().message();
+ return false;
+ } else {
+ QDBusReply reply = interface.call("Get","org.freedesktop.DisplayManager.Seat","CanSwitch");
+ return reply.value().toBool();
+ }
+}
+
void RightClickMenu::fixToTaskbarActionTriggerSlot()
{
QDBusInterface iface("com.ukui.panel.desktop",
@@ -265,26 +301,26 @@ int RightClickMenu::showShutdownMenu(const QPoint &pos, const bool &isFullWind)
{
m_actionNumber = 0;
MenuBox m_showShutMenu;
+ QDBusReply reply;
connect(&m_showShutMenu, &MenuBox::sendMainWinActiveSignal, this, &RightClickMenu::sendMainWinActiveSignal);
QDBusInterface iface(DBUS_SESSION_NAME, DBUS_SESSION_PATH,
DBUS_SESSION_INTERFACE, QDBusConnection::sessionBus());
- QDBusReply reply = iface.call("canSwitch");
- if (reply.isValid() && reply.value() == true) {
+ if (canSwitch() && hasMultipleUsers()) {
m_showShutMenu.addAction(QIcon(getIconPixmap("stock-people-symbolic", 1)), tr("Switch user"),
this, SLOT(switchUserActionTriggerSlot()));
}
reply = iface.call("canHibernate");
- if (reply.isValid() && reply.value() == true) {
+ if (reply.isValid() && reply.value()) {
m_showShutMenu.addAction(QIcon(getIconPixmap("kylin-sleep-symbolic", 1)), tr("Hibernate"),
this, SLOT(hibernateActionTriggerSlot()));
}
reply = iface.call("canSuspend");
- if (reply.isValid() && reply.value() == true) {
+ if (reply.isValid() && reply.value()) {
m_showShutMenu.addAction(QIcon(getIconPixmap("kylin-hebernate-symbolic", 1)), tr("Sleep"),
this, SLOT(sleepActionTriggerSlot()));
}
@@ -293,21 +329,21 @@ int RightClickMenu::showShutdownMenu(const QPoint &pos, const bool &isFullWind)
this, SLOT(lockScreenActionTriggerSlot()));
reply = iface.call("canLogout");
- if (reply.isValid() && reply.value() == true) {
+ if (reply.isValid() && reply.value()) {
m_showShutMenu.addAction(QIcon(getIconPixmap("system-logout-symbolic", 1)), tr("Log Out"),
this, SLOT(logoutActionTriggerSlot()));
}
reply = iface.call("canReboot");
- if (reply.isValid() && reply.value() == true) {
+ if (reply.isValid() && reply.value()) {
m_showShutMenu.addAction(QIcon(getIconPixmap("system-restart-symbolic", 1)), tr("Restart"),
this, SLOT(rebootActionTriggerSlot()));
}
reply = iface.call("canPowerOff");
- if (reply.isValid() && reply.value() == true) {
+ if (reply.isValid() && reply.value()) {
m_showShutMenu.addAction(QIcon(getIconPixmap("exit-symbolic", 1)), tr("Power Off"),
this, SLOT(shutdownActionTriggerSlot()));
}
diff --git a/src/UserInterface/RightClickMenu/rightclickmenu.h b/src/UserInterface/RightClickMenu/rightclickmenu.h
index 407529438c6d5d5c5c7db516ac0d6da8d765348e..573b08ede6a96bcbf65a85fdfa38a93929b83a4e 100755
--- a/src/UserInterface/RightClickMenu/rightclickmenu.h
+++ b/src/UserInterface/RightClickMenu/rightclickmenu.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef RIGHTCLICKMENU_H
@@ -78,7 +77,6 @@ private:
int m_actionNumber;
QProcess *m_cmdProc = nullptr;
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
-
QStringList m_whiteList;
protected:
@@ -92,6 +90,10 @@ protected:
*/
QPixmap getIconPixmap(QString iconstr, int type);
+ bool hasMultipleUsers();
+
+ bool canSwitch();
+
private Q_SLOTS:
/**
* @brief Fixed to all software
diff --git a/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp b/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp
index 0143c32c2defec0f9620a384304acdf264cc9f57..d559941d86a58c7d17730b312862b1724472ba0e 100755
--- a/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp
+++ b/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "tabletrightclickmenu.h"
@@ -119,7 +118,7 @@ void TabletRightClickMenu::unfixedFromAllActionTriggerSlot()
QString desktopfn = fileInfo.fileName();
m_setting->beginGroup("lockapplication");
- Q_FOREACH (QString desktop, m_setting->allKeys()) {
+ Q_FOREACH(QString desktop, m_setting->allKeys()) {
if (m_setting->value(desktop).toInt() > m_setting->value(desktopfn).toInt()) {
m_setting->setValue(desktop, m_setting->value(desktop).toInt() - 1);
}
diff --git a/src/UserInterface/RightClickMenu/tabletrightclickmenu.h b/src/UserInterface/RightClickMenu/tabletrightclickmenu.h
index a91451ca915f12535119d68b15d83f18fee47012..a4a8c8e4ddc3eb47be8bc59f6d5599bcc1950140 100755
--- a/src/UserInterface/RightClickMenu/tabletrightclickmenu.h
+++ b/src/UserInterface/RightClickMenu/tabletrightclickmenu.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef TABLETRIGHTCLICKMENU_H
diff --git a/src/UserInterface/ViewItem/full_item_delegate.cpp b/src/UserInterface/ViewItem/full_item_delegate.cpp
index 5e5c358c86d1623318708fb0a0c826f468cfafec..a09c72a8e16f31eae59360e72a5c4e32808a8aa5 100755
--- a/src/UserInterface/ViewItem/full_item_delegate.cpp
+++ b/src/UserInterface/ViewItem/full_item_delegate.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "full_item_delegate.h"
@@ -24,12 +23,15 @@ FullItemDelegate::FullItemDelegate(QObject *parent, int module):
KItemDelegate(parent)
{
this->module = module;
- pUkuiMenuInterface = new UkuiMenuInterface;
+ m_ukuiMenuInterface = new UkuiMenuInterface;
}
FullItemDelegate::~FullItemDelegate()
{
- delete pUkuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
@@ -69,7 +71,7 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
painter->save();
painter->setOpacity(1);
QString desktopfp = index.data(Qt::DisplayRole).value();
- QString iconstr = pUkuiMenuInterface->getAppIcon(desktopfp);
+ QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfp);
QIcon icon;
QFileInfo iconFileInfo(iconstr);
@@ -115,13 +117,13 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
}
}
- QString appname = pUkuiMenuInterface->getAppName(desktopfp);
+ QString appname = m_ukuiMenuInterface->getAppName(desktopfp);
QRect iconRect;
QRect textRect;
- iconRect = QRect(rect.x() + (rect.width() - Style::AppListIconSize) / 2,
- rect.y() + 20,
- Style::AppListIconSize,
- Style::AppListIconSize);
+ iconRect = QRect(rect.x() + (rect.width() - Style::m_appListIconSize) / 2,
+ rect.y() + Style::m_appTopSpace,
+ Style::m_appListIconSize,
+ Style::m_appListIconSize);
icon.paint(painter, iconRect);
painter->restore();
painter->save();
@@ -140,9 +142,9 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
painter->restore();
textRect = QRect(rect.x() + 5,
- iconRect.bottom() + Style::AppSpaceBetweenIconText,
+ iconRect.bottom() + Style::m_appSpaceBetweenIconText,
rect.width() - 10,
- rect.height() - iconRect.height() - Style::AppSpaceBetweenIconText);
+ Style::m_appTextRectHeight);
painter->save();
//添加最近安装蓝色标签
bool is_recentapp = false;
@@ -153,9 +155,9 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
is_recentapp = true;
appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 23, Qt::TextShowMnemonic);
textRect = QRect(rect.x() + 18,
- iconRect.bottom() + Style::AppSpaceBetweenIconText,
+ iconRect.bottom() + Style::m_appSpaceBetweenIconText,
rect.width() - 23,
- rect.height() - iconRect.height() - Style::AppSpaceBetweenIconText);
+ Style::m_appTextRectHeight);
painter->setPen(QPen(Qt::NoPen));
painter->setBrush(QColor("#4d94ff"));
int x = 0;
@@ -217,5 +219,5 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
QSize FullItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
{
- return QSize(Style::AppListItemSizeWidth, Style::AppListItemSizeWidth);
+ return QSize(Style::m_appListItemSizeWidth, Style::m_appListItemSizeWidth);
}
diff --git a/src/UserInterface/ViewItem/full_item_delegate.h b/src/UserInterface/ViewItem/full_item_delegate.h
index 601939e9e9ce7adcb048423b4024c61165a8e6a8..acc384d6259b215fa7eecacd06f1b0f0efe22e9a 100755
--- a/src/UserInterface/ViewItem/full_item_delegate.h
+++ b/src/UserInterface/ViewItem/full_item_delegate.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FULLITEMDELEGATE_H
diff --git a/src/UserInterface/ViewItem/itemdelegate.cpp b/src/UserInterface/ViewItem/itemdelegate.cpp
index 7effecd0a314c546798f22223c2a35a6e64604ad..ba41cc725c373bfae8518276ad3aa9166e9246c7 100755
--- a/src/UserInterface/ViewItem/itemdelegate.cpp
+++ b/src/UserInterface/ViewItem/itemdelegate.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "itemdelegate.h"
@@ -26,12 +25,15 @@ ItemDelegate::ItemDelegate(QObject *parent, int module):
KItemDelegate(parent)
{
this->module = module;
- pUkuiMenuInterface = new UkuiMenuInterface;
+ m_ukuiMenuInterface = new UkuiMenuInterface;
}
ItemDelegate::~ItemDelegate()
{
- delete pUkuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
@@ -86,7 +88,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
if (module > 0) {
if (strlist.at(1).toInt() == 1) {
QRect iconRect = QRect(rect.x() + 11, rect.y() + (rect.height() - 32) / 2, 32, 32);
- QString iconstr = pUkuiMenuInterface->getAppIcon(strlist.at(0));
+ QString iconstr = m_ukuiMenuInterface->getAppIcon(strlist.at(0));
QIcon icon;
QFileInfo iconFileInfo(iconstr);
@@ -130,7 +132,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
painter->save();
icon.paint(painter, iconRect, Qt::AlignCenter);
- QString appname = pUkuiMenuInterface->getAppName(strlist.at(0));
+ QString appname = m_ukuiMenuInterface->getAppName(strlist.at(0));
QFontMetrics fm = painter->fontMetrics();
QString appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 62, Qt::TextShowMnemonic);
painter->drawText(QRect(iconRect.right() + 15, rect.y(),
@@ -155,7 +157,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
if (option.state & QStyle::State_MouseOver) {
QToolTip::showText(QCursor::pos(), appname);
} else {
- QToolTip::showText(option.widget->mapToGlobal(QPoint(rect.bottomRight().x(), rect.center().y())), appname);
+ QToolTip::showText(option.widget->mapToGlobal(QPoint(rect.bottomRight().x(), rect.bottom())), appname);
}
} else {
QToolTip::hideText();
@@ -227,6 +229,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
icon.paint(painter, iconRect, Qt::AlignCenter);
QString appname = strlist.at(1);
+ QString url = QUrl(strlist.at(0)).path().remove(appname);
painter->setOpacity(1);
painter->save();
painter->setPen(QPen(option.palette.text().color()));
@@ -239,21 +242,21 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
painter->restore();
if ((option.state & QStyle::State_MouseOver) || (option.state & QStyle::State_HasFocus)) {
+ QToolTip::showText(QCursor::pos(), "为了刷新");
int len = fm.boundingRect(appname).width();
-
+ //富文本,tooltip可自动换行
+ QString tipString = QString("");
if (len > rect.width() - 64) {
- if (option.state & QStyle::State_MouseOver) {
- QToolTip::showText(QCursor::pos(), appname);
- } else {
- QToolTip::showText(option.widget->mapToGlobal(QPoint(rect.bottomRight().x(), rect.center().y())), appname);
- }
+ tipString += appname +" "+ tr("path:") + url;
} else {
- QToolTip::hideText();
+ tipString += tr("path:") + url;
}
+ tipString += QString("");
+ QToolTip::showText(option.widget->mapToGlobal(QPoint(rect.right() + 20, rect.center().y())), tipString);
}
} else {
QRect iconRect = QRect(rect.left() + 11, rect.y() + (rect.height() - 32) / 2, 32, 32);
- QString iconstr = pUkuiMenuInterface->getAppIcon(strlist.at(0));
+ QString iconstr = m_ukuiMenuInterface->getAppIcon(strlist.at(0));
QIcon icon;
QFileInfo iconFileInfo(iconstr);
@@ -296,7 +299,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
}
icon.paint(painter, iconRect, Qt::AlignCenter);
- QString appname = pUkuiMenuInterface->getAppName(strlist.at(0));
+ QString appname = m_ukuiMenuInterface->getAppName(strlist.at(0));
QFileInfo fileInfo(strlist.at(0));
QString desktopfn = fileInfo.fileName();
diff --git a/src/UserInterface/ViewItem/itemdelegate.h b/src/UserInterface/ViewItem/itemdelegate.h
index a57708eb4e8b006e467caca5ba4fc5ec09882373..a364527046759637618cb7eb679de13ef9be98e0 100755
--- a/src/UserInterface/ViewItem/itemdelegate.h
+++ b/src/UserInterface/ViewItem/itemdelegate.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef ITEMDELEGATE_H
diff --git a/src/UserInterface/ViewItem/kitemdelegate.cpp b/src/UserInterface/ViewItem/kitemdelegate.cpp
index 540536e252f342bec60a85b763690dc15acd9619..ab3edb7a1f476719b4ff9ba6841a407c16f5e8ac 100755
--- a/src/UserInterface/ViewItem/kitemdelegate.cpp
+++ b/src/UserInterface/ViewItem/kitemdelegate.cpp
@@ -1,6 +1,27 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "kitemdelegate.h"
KItemDelegate::KItemDelegate(QObject *parent):
QStyledItemDelegate(parent)
{
}
+
+KItemDelegate::~KItemDelegate()
+{
+}
diff --git a/src/UserInterface/ViewItem/kitemdelegate.h b/src/UserInterface/ViewItem/kitemdelegate.h
index 5145b78ed5145c93c29ad60c90a1728dfed58f7c..e85e2772038a7da1d51e2549646b7cf48d968d3a 100755
--- a/src/UserInterface/ViewItem/kitemdelegate.h
+++ b/src/UserInterface/ViewItem/kitemdelegate.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef KITEMDELEGATE_H
#define KITEMDELEGATE_H
#include
@@ -8,9 +25,10 @@ class KItemDelegate : public QStyledItemDelegate
Q_OBJECT
public:
KItemDelegate(QObject *parent);
+ ~KItemDelegate();
int module = 0;
- UkuiMenuInterface *pUkuiMenuInterface = nullptr;
+ UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
};
#endif // KITEMDELEGATE_H
diff --git a/src/UserInterface/ViewItem/recent_item_delegate.cpp b/src/UserInterface/ViewItem/recent_item_delegate.cpp
index db471cf966f0c08294c06310a22375c0530bcad1..fb38efd2dc08968f0f851f78b16eac20beccad63 100755
--- a/src/UserInterface/ViewItem/recent_item_delegate.cpp
+++ b/src/UserInterface/ViewItem/recent_item_delegate.cpp
@@ -1,18 +1,38 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "recent_item_delegate.h"
-recentitemdelegate::recentitemdelegate(QObject *parent, int module):
+RecentItemDelegate::RecentItemDelegate(QObject *parent, int module):
KItemDelegate(parent)
{
this->module = module;
- pUkuiMenuInterface = new UkuiMenuInterface;
+ m_ukuiMenuInterface = new UkuiMenuInterface;
}
-recentitemdelegate::~recentitemdelegate()
+RecentItemDelegate::~RecentItemDelegate()
{
- delete pUkuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
-void recentitemdelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
+void RecentItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
if (index.isValid()) {
// QStyleOptionViewItem viewOption(option);//用来在视图中画一个item
@@ -130,7 +150,7 @@ void recentitemdelegate::paint(QPainter *painter, const QStyleOptionViewItem &op
}
} else {
QRect iconRect = QRect(rect.left() + 11, rect.y() + (rect.height() - 32) / 2, 32, 32);
- QString iconstr = pUkuiMenuInterface->getAppIcon(strlist.at(0));
+ QString iconstr = m_ukuiMenuInterface->getAppIcon(strlist.at(0));
QIcon icon;
QFileInfo iconFileInfo(iconstr);
@@ -173,7 +193,7 @@ void recentitemdelegate::paint(QPainter *painter, const QStyleOptionViewItem &op
}
icon.paint(painter, iconRect, Qt::AlignCenter);
- QString appname = pUkuiMenuInterface->getAppName(strlist.at(0));
+ QString appname = m_ukuiMenuInterface->getAppName(strlist.at(0));
QFileInfo fileInfo(strlist.at(0));
QString desktopfn = fileInfo.fileName();
@@ -219,7 +239,7 @@ void recentitemdelegate::paint(QPainter *painter, const QStyleOptionViewItem &op
}
}
-QSize recentitemdelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
+QSize RecentItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
{
// QStringList strlist=index.model()->data(index,Qt::DisplayRole).toStringList();
// if(strlist.at(1).toInt()==1)
diff --git a/src/UserInterface/ViewItem/recent_item_delegate.h b/src/UserInterface/ViewItem/recent_item_delegate.h
index a613d901cceb7ca7bc21b53a40c7db1f2980ecdb..e30fd848ceaad34cc98f368191002c3b6846c467 100755
--- a/src/UserInterface/ViewItem/recent_item_delegate.h
+++ b/src/UserInterface/ViewItem/recent_item_delegate.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef RECENTITEMDELEGATE_H
#define RECENTITEMDELEGATE_H
#include "itemdelegate.h"
@@ -8,15 +25,15 @@
#include "src/UtilityFunction/utility.h"
#include "kitemdelegate.h"
-class recentitemdelegate : public KItemDelegate
+class RecentItemDelegate : public KItemDelegate
{
Q_OBJECT
public:
/**
* @param module为0时为常用模块,1为字母模块、2为功能模块、3为搜索模块
*/
- recentitemdelegate(QObject *parent, int module);
- ~recentitemdelegate();
+ RecentItemDelegate(QObject *parent, int module);
+ ~RecentItemDelegate();
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
diff --git a/src/UserInterface/ViewItem/right_item_delegate.cpp b/src/UserInterface/ViewItem/right_item_delegate.cpp
index b50de3d44ba0f3286166dc4ed5aefc0b376041df..f3ec2efd8a59692944d2df584a2a11927134d2a2 100755
--- a/src/UserInterface/ViewItem/right_item_delegate.cpp
+++ b/src/UserInterface/ViewItem/right_item_delegate.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "right_item_delegate.h"
#include "utility.h"
#include
@@ -5,12 +22,15 @@
RightItemDelegate::RightItemDelegate(QObject *parent):
KItemDelegate(parent)
{
- pUkuiMenuInterface = new UkuiMenuInterface;
+ m_ukuiMenuInterface = new UkuiMenuInterface;
}
RightItemDelegate::~RightItemDelegate()
{
- delete pUkuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void RightItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
@@ -65,7 +85,7 @@ void RightItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opt
painter->save();
painter->setOpacity(1);
QString desktopfp = index.data(Qt::DisplayRole).value();
- QString iconstr = pUkuiMenuInterface->getAppIcon(desktopfp);
+ QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfp);
QIcon icon;
QFileInfo iconFileInfo(iconstr);
@@ -111,7 +131,7 @@ void RightItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opt
}
}
- QString appname = pUkuiMenuInterface->getAppName(desktopfp);
+ QString appname = m_ukuiMenuInterface->getAppName(desktopfp);
QRect iconRect;
QRect textRect;
iconRect = QRect(rect.x() + 28,
@@ -139,9 +159,9 @@ void RightItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opt
is_recentapp = true;
appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 23, Qt::TextShowMnemonic);
textRect = QRect(rect.x() + 18,
- iconRect.bottom() + Style::AppSpaceBetweenIconText,
+ iconRect.bottom() + Style::m_appSpaceBetweenIconText,
rect.width() - 23,
- rect.height() - iconRect.height() - Style::AppSpaceBetweenIconText);
+ rect.height() - iconRect.height() - Style::m_appSpaceBetweenIconText);
painter->setPen(QPen(Qt::NoPen));
painter->setBrush(QColor("#4d94ff"));
int x = 0;
diff --git a/src/UserInterface/ViewItem/right_item_delegate.h b/src/UserInterface/ViewItem/right_item_delegate.h
index ee62ed642d9032df35391b651782c0a8acd7daf2..0d70f027f18c6853082ec9def0cca1bdc9a15656 100755
--- a/src/UserInterface/ViewItem/right_item_delegate.h
+++ b/src/UserInterface/ViewItem/right_item_delegate.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef RIGHTITEMDELEGATE_H
#define RIGHTITEMDELEGATE_H
#include
diff --git a/src/UserInterface/ViewItem/tablet_full_itemdelegate.cpp b/src/UserInterface/ViewItem/tablet_full_itemdelegate.cpp
index 58e487a7fdaf49179f6c2141f7e7ab50c4726587..05e52ddb8a2d6f9db6989639ebfdc147e3474a92 100755
--- a/src/UserInterface/ViewItem/tablet_full_itemdelegate.cpp
+++ b/src/UserInterface/ViewItem/tablet_full_itemdelegate.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "tablet_full_itemdelegate.h"
@@ -112,14 +111,14 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
}
bool bigIcon = index.data(Qt::UserRole + 2).toBool();
- int iconTopSpace = (rect.height() - Style::AppListIconSize) / 2;
- int iconLeftSpace = (rect.width() - Style::AppListIconSize) / 2;
+ int iconTopSpace = (rect.height() - Style::m_appListIconSize) / 2;
+ int iconLeftSpace = (rect.width() - Style::m_appListIconSize) / 2;
if (bigIcon) {
iconRect = QRect(rect.x() + iconLeftSpace - 6,
rect.y() + iconTopSpace - 6,
- Style::AppListIconSize + 12,
- Style::AppListIconSize + 12);
+ Style::m_appListIconSize + 12,
+ Style::m_appListIconSize + 12);
textRect = QRect(rect.x(),
rect.bottom() - iconTopSpace,
rect.width(),
@@ -127,8 +126,8 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
} else {
iconRect = QRect(rect.x() + iconLeftSpace,
rect.y() + iconTopSpace,
- Style::AppListIconSize,
- Style::AppListIconSize);
+ Style::m_appListIconSize,
+ Style::m_appListIconSize);
textRect = QRect(rect.x(),
rect.bottom() - iconTopSpace,
rect.width(),
@@ -165,10 +164,10 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
QPixmap pixmap;
if (bigIcon) {
- pixmap = icon.pixmap((Style::AppListBigIconSize, Style::AppListBigIconSize), QIcon::Disabled, QIcon::Off); //wgx
- pixmap = pixmap.scaled(Style::AppListBigIconSize, Style::AppListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+ pixmap = icon.pixmap((Style::m_appListBigIconSize, Style::m_appListBigIconSize), QIcon::Disabled, QIcon::Off); //wgx
+ pixmap = pixmap.scaled(Style::m_appListBigIconSize, Style::m_appListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
} else {
- pixmap = icon.pixmap((Style::AppListIconSize, Style::AppListIconSize), QIcon::Disabled, QIcon::Off); //wgx
+ pixmap = icon.pixmap((Style::m_appListIconSize, Style::m_appListIconSize), QIcon::Disabled, QIcon::Off); //wgx
}
icon = QIcon(pixmap);
@@ -176,10 +175,10 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
QPixmap mPixmap;
if (bigIcon) {
- mPixmap = icon.pixmap((Style::AppListBigIconSize, Style::AppListBigIconSize)); //wgx
- mPixmap = mPixmap.scaled(Style::AppListBigIconSize, Style::AppListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+ mPixmap = icon.pixmap((Style::m_appListBigIconSize, Style::m_appListBigIconSize)); //wgx
+ mPixmap = mPixmap.scaled(Style::m_appListBigIconSize, Style::m_appListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
} else {
- mPixmap = icon.pixmap((Style::AppListIconSize, Style::AppListIconSize)); //wgx
+ mPixmap = icon.pixmap((Style::m_appListIconSize, Style::m_appListIconSize)); //wgx
}
icon = QIcon(mPixmap);
@@ -209,6 +208,6 @@ QSize TabletFullItemDelegate::sizeHint(const QStyleOptionViewItem &option, const
// {
// return QSize(0,0);
// }
- return QSize(Style::TabletItemSizeWidthFirst, Style::AppListItemSizeHeight);
+ return QSize(Style::m_tabletItemSizeWidthFirst, Style::m_appListItemSizeHeight);
}
diff --git a/src/UserInterface/ViewItem/tablet_full_itemdelegate.h b/src/UserInterface/ViewItem/tablet_full_itemdelegate.h
index 8407557e8f0b102b38b7b26460956560f665ab9a..a21803bd8bfa175e23a01febc83decab5357a893 100755
--- a/src/UserInterface/ViewItem/tablet_full_itemdelegate.h
+++ b/src/UserInterface/ViewItem/tablet_full_itemdelegate.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef TABLETITEMDELEGATE_H
diff --git a/src/UserInterface/Widget/animationpage.cpp b/src/UserInterface/Widget/animationpage.cpp
index 2676f294dc42cd63ae2e038095f58ceeb7f83fa8..a756da3cf495e5af8cc88b20bcd51c5ad0a4ab57 100755
--- a/src/UserInterface/Widget/animationpage.cpp
+++ b/src/UserInterface/Widget/animationpage.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "animationpage.h"
#include "utility.h"
#include
diff --git a/src/UserInterface/Widget/animationpage.h b/src/UserInterface/Widget/animationpage.h
index 9cefa24dbeca80b4adbfde82841ee7c7cbf0e517..c0cd67d06f4ba90becd3c6876180758bed12db12 100755
--- a/src/UserInterface/Widget/animationpage.h
+++ b/src/UserInterface/Widget/animationpage.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef ANIMATIONPAGE_H
#define ANIMATIONPAGE_H
#include
diff --git a/src/UserInterface/Widget/full_commonuse_widget.cpp b/src/UserInterface/Widget/full_commonuse_widget.cpp
index 26d86b589e38b485818c18742ffe37fc79914abf..6adab1a9874dda193e911b00126d5ba8ab4782fd 100755
--- a/src/UserInterface/Widget/full_commonuse_widget.cpp
+++ b/src/UserInterface/Widget/full_commonuse_widget.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "full_commonuse_widget.h"
@@ -31,7 +30,10 @@ FullCommonUseWidget::FullCommonUseWidget(QWidget *parent) :
FullCommonUseWidget::~FullCommonUseWidget()
{
- delete m_ukuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void FullCommonUseWidget::initUi()
@@ -48,11 +50,11 @@ void FullCommonUseWidget::initUi()
m_scrollArea = new ScrollArea();
m_scrollAreaWid = new ScrollAreaWid(this);
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
- m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
+ m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
m_scrollArea->setWidget(m_scrollAreaWid);
+ m_scrollArea->setAlignment(Qt::AlignCenter);
m_scrollArea->setStyleSheet("QWidget{background:transparent;}");
m_scrollArea->setWidgetResizable(true);
- m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
m_scrollAreaWidLayout = new QVBoxLayout(m_scrollAreaWid);
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
m_scrollAreaWidLayout->setSpacing(10);
@@ -146,9 +148,9 @@ void FullCommonUseWidget::initAppListWidget()
m_listView = new FullListView(this, 0);
m_listView->installEventFilter(this);
m_scrollAreaWidLayout->addWidget(m_listView);
- m_listView->setFixedWidth(m_scrollArea->width());
- connect(m_listView, &FullListView::sendItemClickedSignal, this, &FullCommonUseWidget::execApplication);
+ m_listView->setFixedWidth(m_scrollAreaWid->width());
connect(m_listView, &FullListView::sendUpdateAppListSignal, this, &FullCommonUseWidget::updateListViewSlot);
+ connect(m_listView, &FullListView::sendCollectViewUpdate, this, &FullCommonUseWidget::sendCollectViewUpdate);
connect(m_listView, &FullListView::sendHideMainWindowSignal, this, &FullCommonUseWidget::sendHideMainWindowSignal);
connect(m_listView, &FullListView::sendSetslidebar, this, &FullCommonUseWidget::onSetSlider);
}
@@ -176,7 +178,7 @@ void FullCommonUseWidget::fillAppList()
{
m_data.clear();
- Q_FOREACH (QString desktopfp, UkuiMenuInterface::allAppVector) {
+ Q_FOREACH(QString desktopfp, UkuiMenuInterface::allAppVector) {
m_data.append(desktopfp);
}
@@ -184,15 +186,6 @@ void FullCommonUseWidget::fillAppList()
resizeScrollAreaControls();
}
-/**
- * 执行应用程序
- */
-void FullCommonUseWidget::execApplication(QString desktopfp)
-{
- Q_EMIT sendHideMainWindowSignal();
- execApp(desktopfp);
-}
-
void FullCommonUseWidget::selectFirstItem()
{
m_listView->setCurrentIndex(m_listView->model()->index(0, 0));
@@ -268,7 +261,7 @@ void FullCommonUseWidget::updateListView()
{
m_data.clear();
- Q_FOREACH (QString desktopfp, m_ukuiMenuInterface->getAllClassification()) {
+ Q_FOREACH(QString desktopfp, m_ukuiMenuInterface->getAllClassification()) {
m_data.append(desktopfp);
}
@@ -281,7 +274,7 @@ void FullCommonUseWidget::updateListView()
void FullCommonUseWidget::repaintWidget()
{
- m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
+ m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
m_scrollAreaWidLayout->removeWidget(m_listView);
m_listView->setParent(nullptr);
delete m_listView;
diff --git a/src/UserInterface/Widget/full_commonuse_widget.h b/src/UserInterface/Widget/full_commonuse_widget.h
index 9f605384c9ec6592b9c7784c895ea972757ef655..dfea5b59b03b4123a08981a4232d2d281bcb654f 100755
--- a/src/UserInterface/Widget/full_commonuse_widget.h
+++ b/src/UserInterface/Widget/full_commonuse_widget.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FULLCOMMONUSEWIDGET_H
@@ -102,11 +101,6 @@ protected:
bool eventFilter(QObject *watched, QEvent *event);
public Q_SLOTS:
- /**
- * @brief Open the application
- * @param arg: Desktop file path
- */
- void execApplication(QString desktopfp);
/**
* @brief Update the application list slot function
*/
@@ -134,6 +128,7 @@ Q_SIGNALS:
void changeScrollValue(int value, int maximumValue);
void setFocusToSideWin();
void sendUpdateOtherView();
+ void sendCollectViewUpdate();
};
#endif // FULLCOMMONUSEWIDGET_H
diff --git a/src/UserInterface/Widget/full_function_widget.cpp b/src/UserInterface/Widget/full_function_widget.cpp
index 7cc84645cf4d3d83f1d1eba0b51aee3112d4d672..6e95e131466e0f41b0b5ce01a699c277580619e7 100755
--- a/src/UserInterface/Widget/full_function_widget.cpp
+++ b/src/UserInterface/Widget/full_function_widget.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "full_function_widget.h"
@@ -32,7 +31,10 @@ FullFunctionWidget::FullFunctionWidget(QWidget *parent) :
FullFunctionWidget::~FullFunctionWidget()
{
- delete m_ukuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void FullFunctionWidget::initUi()
@@ -45,7 +47,7 @@ void FullFunctionWidget::initUi()
m_iconListWid = new QWidget(this);
m_iconListWid->setAttribute(Qt::WA_TranslucentBackground);
m_iconListWid->setAutoFillBackground(false);
- m_applistWid->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
+ m_applistWid->setFixedWidth(Style::m_applistAreaWidth);
m_iconListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
m_verticalScrollBar = new QScrollBar(m_scrollArea);
m_verticalScrollBar->installEventFilter(this);
@@ -111,15 +113,15 @@ void FullFunctionWidget::initAppListWidget()
layout->setContentsMargins(0, 0, 0, 0);
m_applistWid->setLayout(layout);
m_scrollArea = new ScrollArea;
- m_scrollArea->setStyleSheet("background:transparent");
m_scrollAreaWid = new ScrollAreaWid(this);
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
m_scrollArea->setFixedSize(m_applistWid->width(), m_applistWid->height());
+ m_scrollAreaWid->adjustSize();
m_scrollArea->setWidget(m_scrollAreaWid);
m_scrollArea->setWidgetResizable(true);
m_scrollAreaWidLayout = new QVBoxLayout(m_scrollAreaWid);
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
- m_scrollAreaWidLayout->setSpacing(10);
+ m_scrollAreaWidLayout->setSpacing(0);
layout->addWidget(m_scrollArea);
connect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
this, &FullFunctionWidget::valueChangedSlot);
@@ -183,7 +185,7 @@ void FullFunctionWidget::fillAppList()
void FullFunctionWidget::insertClassificationBtn(QString category)
{
- SplitBarFrame *classificationbtn = new SplitBarFrame(this, category, m_scrollArea->width() - 12, 30, 2);
+ SplitBarFrame *classificationbtn = new SplitBarFrame(this, category, m_scrollArea->width() - 12, 50, 2);
classificationbtn->setAttribute(Qt::WA_TranslucentBackground);
classificationbtn->setAutoFillBackground(false);
m_scrollAreaWidLayout->addWidget(classificationbtn);
@@ -208,18 +210,9 @@ void FullFunctionWidget::insertAppList(QStringList desktopfplist)
}
listview->addData(m_data);
- connect(listview, &FullListView::sendItemClickedSignal, this, &FullFunctionWidget::execApplication);
connect(listview, &FullListView::sendHideMainWindowSignal, this, &FullFunctionWidget::sendHideMainWindowSignal);
connect(listview, &FullListView::sendUpdateAppListSignal, this, &FullFunctionWidget::sendUpdateCommonView);
-}
-
-/**
- * 执行应用程序
- */
-void FullFunctionWidget::execApplication(QString desktopfp)
-{
- Q_EMIT sendHideMainWindowSignal();
- execApp(desktopfp);
+ connect(listview, &FullListView::sendCollectViewUpdate, this, &FullFunctionWidget::sendCollectViewUpdate);
}
void FullFunctionWidget::on_setAreaScrollBarValue(int value)
@@ -249,7 +242,7 @@ void FullFunctionWidget::updateAppListView()
fillAppList();
//刷新图标列表界面
- Q_FOREACH (QAbstractButton *button, m_buttonList) {
+ Q_FOREACH(QAbstractButton *button, m_buttonList) {
m_btnGroup->removeButton(button);
}
@@ -293,12 +286,12 @@ void FullFunctionWidget::resizeScrollAreaControls()
rowcount = listview->model()->rowCount() / dividend;
}
- listview->setFixedSize(m_scrollArea->width(), listview->gridSize().height()*rowcount);
+ listview->setFixedSize(m_scrollArea->width(), listview->gridSize().height() * rowcount);
areaHeight += listview->height() + 50;
row++;
}
- m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight - 10);
+ m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight);
}
/**
@@ -307,7 +300,7 @@ void FullFunctionWidget::resizeScrollAreaControls()
void FullFunctionWidget::initIconListWidget()
{
m_iconListWidLayout = new QVBoxLayout(m_iconListWid);
- m_iconListWidLayout->setSpacing(Style::LeftSpaceBetweenItem);
+ m_iconListWidLayout->setSpacing(Style::m_leftSpaceBetweenItem);
m_iconListWidLayout->setContentsMargins(45, 0, 0, 0);
m_topSpacerItem = new QSpacerItem(20, 40, QSizePolicy::Fixed, QSizePolicy::Expanding);
m_bottomSpacerItem = new QSpacerItem(20, 40, QSizePolicy::Fixed, QSizePolicy::Expanding);
@@ -322,7 +315,7 @@ void FullFunctionWidget::initIconListWidget()
void FullFunctionWidget::on_setScrollBarValue(int value)
{
- m_verticalScrollBar->setMaximum(m_scrollAreaWidHeight - Style::m_applistWidHeight);
+ m_verticalScrollBar->setMaximum(m_scrollAreaWidHeight - Style::m_applistWidHeight + Style::m_scrollBarHeight);
m_verticalScrollBar->setValue(value);
}
@@ -335,9 +328,9 @@ void FullFunctionWidget::initIconListScrollArea()
for (int i = 0; i < m_classificationList.size(); i++) {
FunctionClassifyButton *iconbtn = new FunctionClassifyButton(
- Style::LeftBtnWidth,
- Style::LeftBtnHeight,
- Style::LeftIconSize,
+ Style::m_leftBtnWidth,
+ Style::m_leftBtnHeight,
+ Style::m_leftIconSize,
m_classificationList.at(i),
true,
true);
@@ -350,7 +343,7 @@ void FullFunctionWidget::initIconListScrollArea()
m_iconListWidLayout->addItem(m_bottomSpacerItem);
int id = 0;
- Q_FOREACH (QAbstractButton *btn, m_buttonList) {
+ Q_FOREACH(QAbstractButton *btn, m_buttonList) {
m_btnGroup->addButton(btn, id++);
}
@@ -367,7 +360,7 @@ void FullFunctionWidget::btnGroupClickedSlot(QAbstractButton *btn)
disconnect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
this, &FullFunctionWidget::valueChangedSlot);
- Q_FOREACH (QAbstractButton *button, m_buttonList) {
+ Q_FOREACH(QAbstractButton *button, m_buttonList) {
if (m_btnGroup->id(btn) == m_buttonList.indexOf(button)) {
m_beginPos = m_scrollArea->verticalScrollBar()->sliderPosition();
m_endPos = m_scrollAreaWidLayout->itemAt(m_btnGroup->id(btn) * 2)->widget()->y();
@@ -414,17 +407,22 @@ void FullFunctionWidget::valueChangedSlot(int value)
int index = 0;
while (index <= m_classificationList.count() - 1) {
- int min = m_scrollAreaWidLayout->itemAt(2 * index)->widget()->y();
+ int min = 0;
int max = 0;
if (index == m_classificationList.count() - 1) {
+ min = m_scrollAreaWidLayout->itemAt(2 * index - 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
max = m_scrollAreaWid->height();
+ } else if (index == 0) {
+ min = 0;
+ max = m_scrollAreaWidLayout->itemAt(2 * index + 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
} else {
- max = m_scrollAreaWidLayout->itemAt(2 * (index + 1))->widget()->y();
+ min = m_scrollAreaWidLayout->itemAt(2 * index - 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
+ max = m_scrollAreaWidLayout->itemAt(2 * index + 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
}
if (value >= min && value < max) {
- Q_FOREACH (QAbstractButton *button, m_buttonList) {
+ Q_FOREACH(QAbstractButton *button, m_buttonList) {
FunctionClassifyButton *fcbutton = qobject_cast(button);
if (index == m_buttonList.indexOf(button)) {
@@ -452,9 +450,9 @@ void FullFunctionWidget::enterAnimation()
m_animation->setDuration(200);//动画总时间
m_animation->setStartValue(QRect(0, 0,
0, m_iconListWid->height()));
- m_animation->setEndValue(QRect(Style::LeftMargin,
+ m_animation->setEndValue(QRect(Style::m_leftMargin,
0,
- Style::LeftBtnWidth,
+ Style::m_leftBtnWidth,
m_iconListWid->height()));
m_animation->setEasingCurve(QEasingCurve::InQuart);
m_animation->start();
@@ -464,16 +462,16 @@ void FullFunctionWidget::enterAnimation()
void FullFunctionWidget::setFunctionBtnGeometry()
{
// int height=m_classificationList.size()*Style::LeftBtnHeight+(m_classificationList.size()-1)*Style::LeftSpaceBetweenItem;
- m_iconListScrollAreaWid->setGeometry(QRect(Style::LeftMargin,
+ m_iconListScrollAreaWid->setGeometry(QRect(Style::m_leftMargin,
0,
- Style::LeftBtnWidth,
+ Style::m_leftBtnWidth,
m_iconListWid->height()));
m_iconListScrollAreaWid->show();
}
void FullFunctionWidget::repaintWidget()
{
- m_applistWid->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
+ m_applistWid->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight + Style::m_scrollBarHeight);
m_iconListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
m_scrollArea->setFixedSize(m_applistWid->width(), m_applistWid->height());
updateAppListView();
diff --git a/src/UserInterface/Widget/full_function_widget.h b/src/UserInterface/Widget/full_function_widget.h
index 931104c233b79984877f2dff096522bb21e25fa6..743a00512bf872411c40b74f8380496e98805b47 100755
--- a/src/UserInterface/Widget/full_function_widget.h
+++ b/src/UserInterface/Widget/full_function_widget.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FULLFUNCTIONWIDGET_H
@@ -142,11 +141,6 @@ protected:
bool eventFilter(QObject *watched, QEvent *event);
public Q_SLOTS:
- /**
- * @brief Open the application
- * @param arg: Desktop file path
- */
- void execApplication(QString desktopfp);
/**
* @brief Respond to button click
* @param btn: QButtonGroup button
@@ -197,6 +191,7 @@ Q_SIGNALS:
void sendUpdateCommonView();
+ void sendCollectViewUpdate();
};
#endif // FULLFUNCTIONWIDGET_H
diff --git a/src/UserInterface/Widget/full_letter_widget.cpp b/src/UserInterface/Widget/full_letter_widget.cpp
index 1ebc2c5d52d2bb8417f7a44b2a619436fdd0c0c9..6bf48bbd6602f9f28848f06e1eb6dbe824881323 100755
--- a/src/UserInterface/Widget/full_letter_widget.cpp
+++ b/src/UserInterface/Widget/full_letter_widget.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "full_letter_widget.h"
@@ -28,8 +27,14 @@ FullLetterWidget::FullLetterWidget(QWidget *parent) :
FullLetterWidget::~FullLetterWidget()
{
- delete m_ukuiMenuInterface;
- delete m_letterListBottomSpacer;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
+ if (m_letterListBottomSpacer) {
+ delete m_letterListBottomSpacer;
+ m_letterListBottomSpacer = nullptr;
+ }
}
/**
@@ -41,7 +46,7 @@ void FullLetterWidget::initUi()
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
this->setAttribute(Qt::WA_TranslucentBackground);
m_letterListWid = new QWidget(this);
- m_letterListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
+ m_letterListWid->setFixedWidth(Style::m_leftWidWidth);
m_verticalScrollBar = new QScrollBar(m_scrollArea);
m_verticalScrollBar->installEventFilter(this);
m_verticalScrollBar->setOrientation(Qt::Vertical);
@@ -77,15 +82,13 @@ void FullLetterWidget::initAppListWidget()
// layout->setContentsMargins(0,0,0,0);
// m_applistWid->setLayout(layout);
m_scrollArea = new ScrollArea();
- m_scrollArea->setStyleSheet("background:transparent");
m_scrollAreaWid = new ScrollAreaWid(this);
m_scrollArea->setWidget(m_scrollAreaWid);
- m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
- m_scrollArea->setWidgetResizable(true);
- // m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ m_scrollAreaWid->setFixedWidth(Style::m_applistWidWidth);
+ m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
m_scrollAreaWidLayout = new QVBoxLayout;
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
- m_scrollAreaWidLayout->setSpacing(10);
+ m_scrollAreaWidLayout->setSpacing(0);
m_scrollAreaWid->setLayout(m_scrollAreaWidLayout);
m_mainLayout->addWidget(m_scrollArea);
QSpacerItem *m_spaceItem1 = nullptr;
@@ -189,7 +192,7 @@ void FullLetterWidget::fillAppList()
m_letterList.append(letterstr);//存储分类字符
//插入字母分类按钮
- SplitBarFrame *letterbtn = new SplitBarFrame(this, letterstr, m_scrollArea->width() - 12, 30, 1);
+ SplitBarFrame *letterbtn = new SplitBarFrame(this, letterstr, m_scrollArea->width() - 12, 50, 1);
m_scrollAreaWidLayout->addWidget(letterbtn);
//插入应用列表
FullListView *listview = new FullListView(this, 1);
@@ -208,24 +211,15 @@ void FullLetterWidget::fillAppList()
}
listview->addData(m_data);
- connect(listview, &FullListView::sendItemClickedSignal, this, &FullLetterWidget::execApplication);
connect(listview, &FullListView::sendHideMainWindowSignal, this, &FullLetterWidget::sendHideMainWindowSignal);
connect(listview, &FullListView::sendUpdateAppListSignal, this, &FullLetterWidget::sendUpdateCommonView);
+ connect(listview, &FullListView::sendCollectViewUpdate, this, &FullLetterWidget::sendCollectViewUpdate);
}
}
resizeScrollAreaControls();
}
-/**
- * 执行应用程序
- */
-void FullLetterWidget::execApplication(QString desktopfp)
-{
- Q_EMIT sendHideMainWindowSignal();
- execApp(desktopfp);
-}
-
void FullLetterWidget::on_setAreaScrollBarValue(int value)
{
// m_scrollArea->verticalScrollBar()->setMaximum(maxmumValue);
@@ -253,7 +247,7 @@ void FullLetterWidget::updateAppListView()
fillAppList();
//刷新字母列表界面
- Q_FOREACH (QAbstractButton *button, m_buttonList) {
+ Q_FOREACH(QAbstractButton *button, m_buttonList) {
m_btnGroup->removeButton(button);
}
@@ -277,7 +271,7 @@ void FullLetterWidget::updateAppListView()
void FullLetterWidget::on_setScrollBarValue(int value)
{
- m_verticalScrollBar->setMaximum(m_scrollAreaWidHeight - Style::m_applistWidHeight);
+ m_verticalScrollBar->setMaximum(m_scrollAreaWidHeight - Style::m_applistWidHeight + Style::m_scrollBarHeight);
m_verticalScrollBar->setValue(value);
}
@@ -304,12 +298,13 @@ void FullLetterWidget::resizeScrollAreaControls()
rowcount = listview->model()->rowCount() / dividend;
}
- listview->setFixedSize(m_scrollArea->width(), listview->gridSize().height()*rowcount);
- areaHeight += listview->height() + 50;
+ listview->setFixedSize(m_scrollArea->width(), listview->gridSize().height() * rowcount);
+ areaHeight += (listview->height() + 50);
+
row++;
}
- m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight - 10);
+ m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight);
}
/**
@@ -346,7 +341,7 @@ void FullLetterWidget::initLetterListScrollArea()
LetterClassifyButton *letterbtn = new LetterClassifyButton(m_letterListWid,
true,
m_letterList.at(i));
- letterbtn->setFixedSize(Style::LeftLetterBtnHeight, Style::LeftLetterBtnHeight);
+ letterbtn->setFixedSize(Style::m_leftLetterBtnHeight, Style::m_leftLetterBtnHeight);
m_buttonList.append(letterbtn);
m_letterListWidLayout->addWidget(letterbtn);
m_letterListWidLayout->setAlignment(letterbtn, Qt::AlignLeft);
@@ -356,7 +351,7 @@ void FullLetterWidget::initLetterListScrollArea()
m_letterListWidLayout->addItem(m_letterListBottomSpacer);
int id = 0;
- Q_FOREACH (QAbstractButton *btn, m_buttonList) {
+ Q_FOREACH(QAbstractButton *btn, m_buttonList) {
m_btnGroup->addButton(btn, id++);
}
@@ -373,7 +368,7 @@ void FullLetterWidget::btnGroupClickedSlot(QAbstractButton *btn)
disconnect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
this, &FullLetterWidget::valueChangedSlot);
- Q_FOREACH (QAbstractButton *button, m_buttonList) {
+ Q_FOREACH(QAbstractButton *button, m_buttonList) {
LetterClassifyButton *letterbtn = qobject_cast(button);
if (m_btnGroup->id(btn) == m_buttonList.indexOf(button)) {
@@ -427,17 +422,23 @@ void FullLetterWidget::valueChangedSlot(int value)
int index = 0;
while (index <= m_letterList.count() - 1) {
- int min = m_scrollAreaWidLayout->itemAt(2 * index)->widget()->y();
+
+ int min = 0;
int max = 0;
if (index == m_letterList.count() - 1) {
+ min = m_scrollAreaWidLayout->itemAt(2 * index - 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
max = m_scrollAreaWid->height();
+ } else if (index == 0) {
+ min = 0;
+ max = m_scrollAreaWidLayout->itemAt(2 * index + 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
} else {
- max = m_scrollAreaWidLayout->itemAt(2 * (index + 1))->widget()->y();
+ min = m_scrollAreaWidLayout->itemAt(2 * index - 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
+ max = m_scrollAreaWidLayout->itemAt(2 * index + 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
}
if (value >= min && value < max) {
- Q_FOREACH (QAbstractButton *button, m_buttonList) {
+ Q_FOREACH(QAbstractButton *button, m_buttonList) {
LetterClassifyButton *letterbtn = qobject_cast(button);
if (index == m_buttonList.indexOf(button)) {
@@ -457,12 +458,12 @@ void FullLetterWidget::valueChangedSlot(int value)
void FullLetterWidget::enterAnimation()
{
m_animation->setDuration(200);//动画总时间
- m_animation->setStartValue(QRect(0, (m_letterListWid->height() - (m_letterList.size() + 1)*Style::LeftLetterBtnHeight) / 2,
- 0, (m_letterList.size() + 1)*Style::LeftLetterBtnHeight));
- m_animation->setEndValue(QRect(Style::LeftMargin,
- (m_letterListWid->height() - (m_letterList.size() + 1)*Style::LeftLetterBtnHeight) / 2,
- Style::LeftLetterBtnHeight * 2,
- (m_letterList.size() + 1)*Style::LeftLetterBtnHeight));
+ m_animation->setStartValue(QRect(0, (m_letterListWid->height() - (m_letterList.size() + 1)*Style::m_leftLetterBtnHeight) / 2,
+ 0, (m_letterList.size() + 1)*Style::m_leftLetterBtnHeight));
+ m_animation->setEndValue(QRect(Style::m_leftMargin,
+ (m_letterListWid->height() - (m_letterList.size() + 1)*Style::m_leftLetterBtnHeight) / 2,
+ Style::m_leftLetterBtnHeight * 2,
+ (m_letterList.size() + 1)*Style::m_leftLetterBtnHeight));
m_animation->setEasingCurve(QEasingCurve::InQuart);
m_animation->start();
// m_letterListScrollArea->show();
@@ -480,13 +481,14 @@ void FullLetterWidget::setLetterBtnGeometry()
void FullLetterWidget::repaintWidget()
{
m_letterListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
- m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
+ m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight + Style::m_scrollBarHeight);
+ m_scrollAreaWid->setFixedWidth(Style::m_applistWidWidth);
updateAppListView();
}
void FullLetterWidget::widgetMakeZero()
{
- Q_FOREACH (QAbstractButton *button, m_buttonList) {
+ Q_FOREACH(QAbstractButton *button, m_buttonList) {
QString letterstr = button->text().at(0);
int num = m_letterList.indexOf(letterstr);
diff --git a/src/UserInterface/Widget/full_letter_widget.h b/src/UserInterface/Widget/full_letter_widget.h
index 662408b9d5efdc125c4d2229e0563ad117948425..addc2a8d91acb909a1cac8fb026e41d625beeac4 100755
--- a/src/UserInterface/Widget/full_letter_widget.h
+++ b/src/UserInterface/Widget/full_letter_widget.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FULLLETTERWIDGET_H
@@ -147,11 +146,6 @@ public Q_SLOTS:
* @param btn: QButtonGroup button
*/
void btnGroupClickedSlot(QAbstractButton *btn);
- /**
- * @brief Open the application
- * @param arg: Desktop file path
- */
- void execApplication(QString desktopfp);
/**
* @brief Update application list slot function
*/
@@ -199,6 +193,8 @@ Q_SIGNALS:
void changeScrollValue(int value, int maximumValue);
void sendUpdateCommonView();
+
+ void sendCollectViewUpdate();
};
#endif // FULLLETTERWIDGET_H
diff --git a/src/UserInterface/Widget/full_searchresult_widget.cpp b/src/UserInterface/Widget/full_searchresult_widget.cpp
index efdee496d0e4078a9120560df7ccb0f92a595aac..344add3eb36626c3e01832e24944af23e1e74757 100755
--- a/src/UserInterface/Widget/full_searchresult_widget.cpp
+++ b/src/UserInterface/Widget/full_searchresult_widget.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "full_searchresult_widget.h"
#include
@@ -29,7 +28,10 @@ FullSearchResultWidget::FullSearchResultWidget(QWidget *parent) :
FullSearchResultWidget::~FullSearchResultWidget()
{
- delete m_ukuiMenuInterface;
+ if (m_ukuiMenuInterface) {
+ delete m_ukuiMenuInterface;
+ m_ukuiMenuInterface = nullptr;
+ }
}
void FullSearchResultWidget::initUi()
@@ -47,7 +49,7 @@ void FullSearchResultWidget::initUi()
m_scrollArea->setStyleSheet("background:transparent");
m_scrollAreaWid = new ScrollAreaWid(this);
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
- m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
+ m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
m_scrollArea->setWidget(m_scrollAreaWid);
m_scrollArea->setWidgetResizable(true);
m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
@@ -136,9 +138,9 @@ void FullSearchResultWidget::initAppListWidget()
m_listView->installEventFilter(this);
m_scrollAreaWidLayout->addWidget(m_listView);
m_listView->setFixedWidth(m_scrollArea->width());
- connect(m_listView, &FullListView::sendItemClickedSignal, this, &FullSearchResultWidget::execApplication);
connect(m_listView, &FullListView::sendHideMainWindowSignal, this, &FullSearchResultWidget::sendHideMainWindowSignal);
connect(m_listView, &FullListView::sendSetslidebar, this, &FullSearchResultWidget::onSetSlider);
+ connect(m_listView, &FullListView::sendCollectViewUpdate, this, &FullSearchResultWidget::sendCollectViewUpdate);
}
void FullSearchResultWidget::fillAppList()
@@ -147,20 +149,12 @@ void FullSearchResultWidget::fillAppList()
m_listView->addData(m_data);
resizeScrollAreaControls();
}
-/**
- * 执行应用程序
- */
-void FullSearchResultWidget::execApplication(QString desktopfp)
-{
- Q_EMIT sendHideMainWindowSignal();
- execApp(desktopfp);
-}
void FullSearchResultWidget::updateAppListView(QVector arg)
{
m_data.clear();
- Q_FOREACH (QStringList appinfo, arg) {
+ Q_FOREACH(QStringList appinfo, arg) {
m_data.append(appinfo.at(0));
}
@@ -228,7 +222,7 @@ void FullSearchResultWidget::selectFirstItemTab()
void FullSearchResultWidget::repaintWidget()
{
- m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
+ m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
resizeScrollAreaControls();
m_scrollAreaWidHeight = m_scrollAreaWid->height() + 1;
initVerticalScrollBar();
diff --git a/src/UserInterface/Widget/full_searchresult_widget.h b/src/UserInterface/Widget/full_searchresult_widget.h
index 43c19555bfb63c60d35430b1623809f914a4abd6..d5a47e193bbb63de1d51d300a36f69e6f1df52ef 100755
--- a/src/UserInterface/Widget/full_searchresult_widget.h
+++ b/src/UserInterface/Widget/full_searchresult_widget.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FULLSEARCHRESULTWIDGET_H
@@ -90,11 +89,6 @@ protected:
bool eventFilter(QObject *watched, QEvent *event);
public Q_SLOTS:
- /**
- * @brief Open the application
- * @param arg: Desktop file path
- */
- void execApplication(QString desktopfp);
void selectFirstItemTab();
@@ -114,6 +108,7 @@ Q_SIGNALS:
*/
void sendHideMainWindowSignal();
void setFocusToSideWin();
+ void sendCollectViewUpdate();
};
#endif // FULLSEARCHRESULTWIDGET_H
diff --git a/src/UserInterface/Widget/function_Widget.cpp b/src/UserInterface/Widget/function_Widget.cpp
index 5cf1f5e4441b9e11b769cc14126e697c6f39ebca..cc0eee7854a9da6a8578ef2bac4be3337df7e6c6 100755
--- a/src/UserInterface/Widget/function_Widget.cpp
+++ b/src/UserInterface/Widget/function_Widget.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "function_Widget.h"
#include "style.h"
#include
@@ -6,7 +23,6 @@
#include
#include
#include
-#include
#include
#include "currenttime_interface.h"
#include "style.h"
@@ -210,7 +226,7 @@ void FunctionWidget::initUi()
}
mainLayout->addWidget(searchEditBtn);
- focusPlug = new pluginwidget(this);
+ focusPlug = new PluginWidget(this);
mainLayout->addWidget(focusPlug);
focusPlug->setFixedSize(400, 638);
mainLayout->addStretch();
diff --git a/src/UserInterface/Widget/function_Widget.h b/src/UserInterface/Widget/function_Widget.h
index 3681c7829e2ea818442daf0bb319d83a85067475..9fe81d934884b5f89246f3c6393c6626da110d59 100755
--- a/src/UserInterface/Widget/function_Widget.h
+++ b/src/UserInterface/Widget/function_Widget.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef FUNCTIONWIDGET_H
#define FUNCTIONWIDGET_H
@@ -11,7 +28,6 @@
#include
#include
#include
-#include "AbstractInterface.h"
#include
#include "plugin_widget.h"
#include "currenttime_interface.h"
@@ -23,7 +39,7 @@ public:
FunctionWidget(QWidget *parent);
~FunctionWidget();
//QWidget* focusPlug=nullptr;
- pluginwidget *focusPlug = nullptr;
+ PluginWidget *focusPlug = nullptr;
void setDownOpacityEffect(const qreal &num);
protected:
diff --git a/src/UserInterface/Widget/function_button_widget.cpp b/src/UserInterface/Widget/function_button_widget.cpp
index dbb116cd8d35039160ed21474017cb0a4f09cd97..22d355378c966b2cb96cd3c8f58886a77768b914 100755
--- a/src/UserInterface/Widget/function_button_widget.cpp
+++ b/src/UserInterface/Widget/function_button_widget.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "function_button_widget.h"
@@ -55,9 +54,9 @@ void FunctionButtonWidget::initUi()
for (int row = 0; row < 6; row++)
for (int col = 0; col < 2; col++) {
- FunctionClassifyButton *iconbtn = new FunctionClassifyButton(Style::LeftBtnWidth,
- Style::LeftBtnHeight,
- Style::LeftIconSize,
+ FunctionClassifyButton *iconbtn = new FunctionClassifyButton(Style::m_leftBtnWidth,
+ Style::m_leftBtnHeight,
+ Style::m_leftIconSize,
m_categoryList.at(row * 2 + col),
false,
false);
@@ -73,7 +72,7 @@ void FunctionButtonWidget::initUi()
if (QGSettings::isSchemaInstalled(QString("org.ukui.style").toLocal8Bit())) {
QGSettings *gsetting = new QGSettings(QString("org.ukui.style").toLocal8Bit());
connect(gsetting, &QGSettings::changed, this, [ = ] {
- Q_FOREACH (QAbstractButton *btn, m_buttonList)
+ Q_FOREACH(QAbstractButton *btn, m_buttonList)
{
FunctionClassifyButton *fbtn = qobject_cast(btn);
fbtn->updateBtnState();
diff --git a/src/UserInterface/Widget/function_button_widget.h b/src/UserInterface/Widget/function_button_widget.h
index 3faed62c51e622da453cea79527f77a05350a18e..419a0e80dcb24d88cc930c02130c24a6a5e3ef24 100755
--- a/src/UserInterface/Widget/function_button_widget.h
+++ b/src/UserInterface/Widget/function_button_widget.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef FUNCTIONBUTTONWIDGET_H
diff --git a/src/UserInterface/Widget/letter_button_widget.cpp b/src/UserInterface/Widget/letter_button_widget.cpp
index f1103406ba7a7d90a055523a209e08cf924fe58d..667dfec427e9ecc750b5f13670c23e5181b81594 100755
--- a/src/UserInterface/Widget/letter_button_widget.cpp
+++ b/src/UserInterface/Widget/letter_button_widget.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "letter_button_widget.h"
diff --git a/src/UserInterface/Widget/letter_button_widget.h b/src/UserInterface/Widget/letter_button_widget.h
index bf505985f054b11a3396436df122eeb222d8485e..ee13f27439623276e88b6f6c2cde6be541d2f746 100755
--- a/src/UserInterface/Widget/letter_button_widget.h
+++ b/src/UserInterface/Widget/letter_button_widget.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef LETTERBUTTONWIDGET_H
diff --git a/src/UserInterface/Widget/main_view_widget.cpp b/src/UserInterface/Widget/main_view_widget.cpp
index 8a883d8ca825df40561c6784afbe2274a270511b..c53fc5391e2fc89fe80170379037674bbe223d1e 100755
--- a/src/UserInterface/Widget/main_view_widget.cpp
+++ b/src/UserInterface/Widget/main_view_widget.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "main_view_widget.h"
@@ -55,23 +54,12 @@ void MainViewWidget::styleChangeSlot(const QString &style)
void MainViewWidget::paintEvent(QPaintEvent *event)
{
-// double transparency = getTransparency();
- QRect rect = this->rect();
+ QRect rect = this->rect().adjusted(5, 5, 0, -5);
QPainterPath path;
QPainter painter(this);
+ path.addRoundedRect(rect, 10, 10);
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
painter.setPen(Qt::transparent);
- qreal radius = 10;
- path.moveTo(rect.topRight() - QPointF(radius, 0));
- path.lineTo(rect.topLeft() + QPointF(radius, 0));
- path.quadTo(rect.topLeft(), rect.topLeft() + QPointF(0, radius));
- path.lineTo(rect.bottomLeft() + QPointF(0, -radius));
- path.quadTo(rect.bottomLeft(), rect.bottomLeft() + QPointF(radius, 0));
- path.lineTo(rect.bottomRight() - QPointF(radius, 0));
- path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
- path.lineTo(rect.topRight() + QPointF(0, radius));
- path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
- painter.setPen(Qt::transparent);
painter.setOpacity(0.58);
painter.fillPath(path, m_backColor);
QWidget::paintEvent(event);
diff --git a/src/UserInterface/Widget/main_view_widget.h b/src/UserInterface/Widget/main_view_widget.h
index ebebf5a54b25c7d944b2745102e3c6f238edd6da..2466398c71d9a7e9f57a31227adfceed18883e02 100755
--- a/src/UserInterface/Widget/main_view_widget.h
+++ b/src/UserInterface/Widget/main_view_widget.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef MAINVIEWWIDGET_H
diff --git a/src/UserInterface/Widget/plugin_widget.cpp b/src/UserInterface/Widget/plugin_widget.cpp
index 2881e055dba29ab40ade8647d510c3ddf42db775..b97520312ed6bce974d2e3a87b3d4cdf86547311 100755
--- a/src/UserInterface/Widget/plugin_widget.cpp
+++ b/src/UserInterface/Widget/plugin_widget.cpp
@@ -1,14 +1,31 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "plugin_widget.h"
#include "KySmallPluginInterface.h"
#include
-pluginwidget::pluginwidget(QWidget *parent) : QWidget(parent)
+PluginWidget::PluginWidget(QWidget *parent) : QWidget(parent)
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground, true);
this->setFocusPolicy(Qt::NoFocus);
init();
}
-void pluginwidget::init()
+void PluginWidget::init()
{
QPluginLoader loader("/opt/small-plugin/bin/libsmall-plugin-manage.so");
QObject *plugin = loader.instance();
diff --git a/src/UserInterface/Widget/plugin_widget.h b/src/UserInterface/Widget/plugin_widget.h
index af41deb9669a19c112136cf39a2bfb45785d175f..8541ce9bf26f42a1d4100ab40e3bf9ef02201b60 100755
--- a/src/UserInterface/Widget/plugin_widget.h
+++ b/src/UserInterface/Widget/plugin_widget.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef PLUGINWIDGET_H
#define PLUGINWIDGET_H
@@ -8,8 +25,6 @@
#include
#include
#include
-#include
-#include
#include
#include
#include
@@ -17,11 +32,11 @@
#include
#include
#include
-class pluginwidget : public QWidget
+class PluginWidget : public QWidget
{
Q_OBJECT
public:
- explicit pluginwidget(QWidget *parent = nullptr);
+ explicit PluginWidget(QWidget *parent = nullptr);
void init();
};
diff --git a/src/UserInterface/Widget/splitbar_frame.cpp b/src/UserInterface/Widget/splitbar_frame.cpp
index 00b9d4af61c64d5479a44079a5ac921bff3eefeb..83cfbaa2e375d541f12976d1ce927de58709b8b0 100755
--- a/src/UserInterface/Widget/splitbar_frame.cpp
+++ b/src/UserInterface/Widget/splitbar_frame.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "splitbar_frame.h"
@@ -45,7 +44,7 @@ void SplitBarFrame::initAppBtn()
layout->setContentsMargins(15, 0, 0, 0);
layout->setSpacing(6);
m_textLabel->setAutoFillBackground(false);
- m_textLabel->setAlignment(Qt::AlignCenter);
+ m_textLabel->setAlignment(Qt::AlignTop);
m_textLabel->setText(m_category);
m_textLabel->adjustSize();
QPalette pe = m_textLabel->palette();
diff --git a/src/UserInterface/Widget/splitbar_frame.h b/src/UserInterface/Widget/splitbar_frame.h
index cafd1e0f996b0835f0dc61594895e96a9f3866dc..079d75750633421a801793869a570e4bf14b9e6c 100755
--- a/src/UserInterface/Widget/splitbar_frame.h
+++ b/src/UserInterface/Widget/splitbar_frame.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef PUSHBUTTON_H
diff --git a/src/UserInterface/Widget/tabview_widget.cpp b/src/UserInterface/Widget/tabview_widget.cpp
deleted file mode 100755
index c07987b010a27cbb237c36fa41dde9b2ecb246f9..0000000000000000000000000000000000000000
--- a/src/UserInterface/Widget/tabview_widget.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "tabview_widget.h"
-#include
-
-TabViewWidget::TabViewWidget()
-{
- setStyleSheet("background:transparent");
- collectionTab = new QWidget();
- recentTab = new QWidget();
- collectionTab->setObjectName(QString::fromUtf8("collectionTab"));
- recentTab->setObjectName(QString::fromUtf8("recentTab"));
- this->addTab(collectionTab, QString());
- this->addTab(recentTab, QString());
- this->tabBar()->hide();
- this->setCurrentIndex(0);
- initAppListWidget();
- updateListView();
-}
-
-void TabViewWidget::initAppListWidget()
-{
- m_collectListView = new RightListView(collectionTab);
- m_collectListView->setFixedSize(352, 428);
- m_collectListView->show();
-}
-
-void TabViewWidget::updateListView()
-{
- m_data.clear();
-
- Q_FOREACH (QString desktopfp, m_ukuiMenuInterface->getAllClassification()) {
- m_data.append(desktopfp);
- }
-
- m_collectListView->addData(m_data);
-}
-
diff --git a/src/UserInterface/Widget/tabview_widget.h b/src/UserInterface/Widget/tabview_widget.h
deleted file mode 100755
index ca9e99932367fee0c3b6f98c3187dc2a2278b38b..0000000000000000000000000000000000000000
--- a/src/UserInterface/Widget/tabview_widget.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef TABVIEWWIDGET_H
-#define TABVIEWWIDGET_H
-#include
-#include "rightlistview.h"
-
-class TabViewWidget: public QTabWidget
-{
-public:
- TabViewWidget();
-
-protected:
-
- void initAppListWidget();
- void updateListView();
-
-private:
-
- UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
- QWidget *collectionTab = nullptr;
- QWidget *recentTab = nullptr;
- RightListView *m_collectListView = nullptr;
- QStringList m_data;
-};
-
-#endif // TABVIEWWIDGET_H
diff --git a/src/UserInterface/full_mainwindow.cpp b/src/UserInterface/full_mainwindow.cpp
index dfd692faaf643dd59ba6e5d09ad2800a32fa604d..d614bb910ce2662d46473cd0ab3f64e84b3d4798 100755
--- a/src/UserInterface/full_mainwindow.cpp
+++ b/src/UserInterface/full_mainwindow.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "full_mainwindow.h"
#include
#include
@@ -216,11 +233,15 @@ void FullMainWindow::initConnect()
connect(this, &FullMainWindow::sendSetFocusToResult, m_fullResultPage, &FullSearchResultWidget::selectFirstItemTab);
// connect(m_fullSelectMenuButton, &QToolButton::clicked, this, &FullMainWindow::on_fullSelectMenuButton_clicked);
connect(m_fullCommonPage, &FullCommonUseWidget::sendUpdateOtherView, this, &FullMainWindow::sendUpdateOtherView);
+ connect(m_fullCommonPage, &FullCommonUseWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
connect(m_fullFunctionPage, &FullFunctionWidget::sendUpdateCommonView, m_fullCommonPage, &FullCommonUseWidget::updateListViewSlot);
+ connect(m_fullFunctionPage, &FullFunctionWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
connect(m_fullLetterPage, &FullLetterWidget::sendUpdateCommonView, m_fullCommonPage, &FullCommonUseWidget::updateListViewSlot);
+ connect(m_fullLetterPage, &FullLetterWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
connect(m_fullCommonPage, &FullCommonUseWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
connect(m_fullFunctionPage, &FullFunctionWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
connect(m_fullLetterPage, &FullLetterWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
+ connect(m_fullResultPage, &FullSearchResultWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
connect(m_fullResultPage, &FullSearchResultWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
connect(m_dropDownMenu, &MenuBox::triggered, this, &FullMainWindow::on_fullSelectMenuButton_triggered);
connect(m_dropDownMenu, &MenuBox::sendMainWinActiveSignal, [ = ]() {
@@ -315,7 +336,7 @@ bool FullMainWindow::eventFilter(QObject *watched, QEvent *event)
m_queryText->setParent(nullptr);
}
- m_queryWid->setGeometry(6, 2, m_queryIcon->width() + 5, Style::QueryLineEditHeight);
+ m_queryWid->setGeometry(6, 2, m_queryIcon->width() + 5, Style::m_queryLineEditHeight);
m_queryWid->layout()->setAlignment(Qt::AlignVCenter);
m_lineEdit->setTextMargins(26, 0, 0, 0);
}
@@ -511,10 +532,15 @@ void FullMainWindow::searchAppSlot(QString arg)
void FullMainWindow::mousePressEvent(QMouseEvent *event)
{
resetEditline();
+ return QMainWindow::mousePressEvent(event);
+}
+
+void FullMainWindow::mouseReleaseEvent(QMouseEvent *event)
+{
if (event->button() == Qt::LeftButton) {
this->hide();
}
- return QMainWindow::mousePressEvent(event);
+ return QMainWindow::mouseReleaseEvent(event);
}
void FullMainWindow::recvSearchResult(QVector arg)
diff --git a/src/UserInterface/full_mainwindow.h b/src/UserInterface/full_mainwindow.h
index 95921697c2b00820306ee27bb56c280bbbc293e3..09a7c01803207470d6893ae2931ea8de4f2d7e6d 100755
--- a/src/UserInterface/full_mainwindow.h
+++ b/src/UserInterface/full_mainwindow.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef FULLMAINWINDOW_H
#define FULLMAINWINDOW_H
@@ -35,6 +52,7 @@ Q_SIGNALS:
void sendSetFocusToLet();
void sendSetFocusToResult();
void sendUpdateOtherView();
+ void sendCollectViewUpdate();
private Q_SLOTS:
@@ -53,6 +71,7 @@ protected:
bool event(QEvent *event);
bool eventFilter(QObject *watched, QEvent *event);
void mousePressEvent(QMouseEvent *event);
+ void mouseReleaseEvent(QMouseEvent *event);
void changeStyle();
void initConnect();
void initTabOrder();
diff --git a/src/UserInterface/mainwindow.cpp b/src/UserInterface/mainwindow.cpp
index 8427b341bcd2a2f015c3539b0fe31fe32e369102..0c07b154d4db918715863ced4d58991dfa82b381 100755
--- a/src/UserInterface/mainwindow.cpp
+++ b/src/UserInterface/mainwindow.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "mainwindow.h"
@@ -41,7 +40,7 @@ MainWindow::MainWindow(QWidget *parent) :
Style::initWidStyle();
openDataBase("MainThreadDataBase");
initDatabase();
- this->resize(Style::minw, Style::minh);
+ this->resize(Style::m_minw, Style::m_minh);
this->setAutoFillBackground(false);
m_centralwidget = new QWidget(this);
m_centerLayout = new QHBoxLayout(m_centralwidget);
@@ -62,8 +61,6 @@ MainWindow::MainWindow(QWidget *parent) :
m_softwareDbThread = new SoftwareDatabaseUpdateThread;
m_animationPage = new AnimationPage();
- m_maxAnimation = new QPropertyAnimation(m_animationPage, "geometry", this);
- m_minAnimation = new QPropertyAnimation(m_animationPage, "geometry", this);
m_searchAppThread = new SearchAppThread;
m_functionBtnWid = new FunctionButtonWidget(m_minFuncPage);
m_functionBtnWid->hide();
@@ -209,13 +206,12 @@ void MainWindow::initSignalConnect()
connect(m_letterBtnWid, &LetterButtonWidget::sendLetterBtnSignal, this, &MainWindow::recvFunctionBtnSignal);
connect(m_functionBtnWid, &FunctionButtonWidget::sendResetFunctionPage, this, &MainWindow::resetFunctionPage);
connect(m_letterBtnWid, &LetterButtonWidget::sendResetLetterPage, this, &MainWindow::resetLetterPage);
- connect(m_maxAnimation, &QPropertyAnimation::finished, this, &MainWindow::maxAnimationFinished);
- connect(m_minAnimation, &QPropertyAnimation::finished, this, &MainWindow::minAnimationFinished);
connect(m_lineEdit, &QLineEdit::textChanged, this, &MainWindow::searchAppSlot);
connect(this, &MainWindow::sendSearchKeyword, m_searchAppThread, &SearchAppThread::recvSearchKeyword);
connect(m_searchAppThread, &SearchAppThread::sendSearchResult, this, &MainWindow::recvSearchResult);
connect(m_fullWindow, &FullMainWindow::showNormalWindow, this, &MainWindow::showNormalWindowSlot);
connect(m_fullWindow, &FullMainWindow::sendUpdateOtherView, this, &MainWindow::updateMinAllView);
+ connect(m_fullWindow, &FullMainWindow::sendCollectViewUpdate, this, &MainWindow::updateCollectView);
connect(m_minSelectButton, &QToolButton::clicked, this, &MainWindow::on_minSelectButton_clicked);
connect(m_dropDownMenu, &MenuBox::triggered, this, &MainWindow::on_selectMenuButton_triggered);
connect(m_dropDownMenu, &MenuBox::sendMainWinActiveSignal, [ = ]() {
@@ -322,7 +318,7 @@ void MainWindow::initSearchUi()
m_selectMenuButton->setAcceptDrops(true);
m_selectMenuButton->setFocusPolicy(Qt::StrongFocus);
m_selectMenuButton->setIcon(getCurIcon(":/data/img/mainviewwidget/downarrow.svg", true)
- .pixmap(QSize(Style::miniIconSize, Style::miniIconSize)));
+ .pixmap(QSize(Style::m_minIconSize, Style::m_minIconSize)));
//搜索框展开页
m_minSearchPage = new QWidget();
m_leftTopSearchHorizontalLayout = new QHBoxLayout(m_minSearchPage);
@@ -349,32 +345,32 @@ void MainWindow::initLeftWidget()
{
//左侧列表区
m_leftStackedWidget = new QStackedWidget(m_viewWidget);
- m_leftStackedWidget->setFixedSize(QSize(300, Style::leftPageHeight));
+ m_leftStackedWidget->setFixedSize(QSize(300, Style::m_leftPageHeight));
m_minAllPage = new QWidget();
- m_minAllPage->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minAllPage->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minAllListView = new ListView(m_minAllPage);
- m_minAllListView->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minAllListView->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minAllListView->setFrameShape(QFrame::NoFrame);
m_leftStackedWidget->addWidget(m_minAllPage);
m_minAllListView->installEventFilter(this);
m_minLetterPage = new QWidget();
- m_minLetterPage->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minLetterPage->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minLetterListView = new ListView(m_minLetterPage);
- m_minLetterListView->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minLetterListView->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minLetterListView->setFrameShape(QFrame::NoFrame);
m_leftStackedWidget->addWidget(m_minLetterPage);
m_minLetterListView->installEventFilter(this);
m_minFuncPage = new QWidget();
- m_minFuncPage->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minFuncPage->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minFuncListView = new ListView(m_minFuncPage);
- m_minFuncListView->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minFuncListView->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minFuncListView->setFrameShape(QFrame::NoFrame);
m_leftStackedWidget->addWidget(m_minFuncPage);
m_minFuncListView->installEventFilter(this);
m_minSearchResultPage = new QWidget();
- m_minSearchResultPage->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minSearchResultPage->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minSearchResultListView = new ListView(m_minSearchResultPage);
- m_minSearchResultListView->setFixedSize(QSize(Style::leftPageWidth, Style::leftPageHeight));
+ m_minSearchResultListView->setFixedSize(QSize(Style::m_leftPageWidth, Style::m_leftPageHeight));
m_minSearchResultListView->installEventFilter(this);
m_leftStackedWidget->addWidget(m_minSearchResultPage);
}
@@ -449,9 +445,9 @@ void MainWindow::initRecentWidget()
//最近视图
m_recentListView = new ListView(m_recentPage);
m_recentListView->installEventFilter(this);
- m_recentListView->setFixedSize(QSize(Style::rightViewWidth, Style::rightViewHeight));
+ m_recentListView->setFixedSize(QSize(Style::m_rightViewWidth, Style::m_rightViewHeight));
m_recentTextlabel = new QLabel(m_recentPage);
- m_recentTextlabel->setFixedSize(QSize(Style::rightViewWidth, Style::rightViewHeight));
+ m_recentTextlabel->setFixedSize(QSize(Style::m_rightViewWidth, Style::m_rightViewHeight));
m_recentTextlabel->setAlignment(Qt::AlignCenter);
m_recentTextlabel->setText(QApplication::translate("MainWindow", "No recent files"));
@@ -678,27 +674,29 @@ void MainWindow::paintEvent(QPaintEvent *event)
if ( transparency == 1) {
curColor.setAlpha(255);
}
- QRect rect = this->rect();
+ QRect rect = this->rect().adjusted(5, 5, -5, -5);
QPainterPath path;
- // rect.setTopLeft(QPoint(rect.x()+320,rect.y()));
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
+ painter.save();
painter.setPen(Qt::transparent);
- qreal radius = 10;
- path.moveTo(rect.topRight() - QPointF(radius, 0));
- path.lineTo(rect.topLeft() + QPointF(radius, 0));
- path.quadTo(rect.topLeft(), rect.topLeft() + QPointF(0, radius));
- path.lineTo(rect.bottomLeft() + QPointF(0, -radius));
- path.quadTo(rect.bottomLeft(), rect.bottomLeft() + QPointF(radius, 0));
- path.lineTo(rect.bottomRight() - QPointF(radius, 0));
- path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
- path.lineTo(rect.topRight() + QPointF(0, radius));
- path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
+ path.addRoundedRect(rect, 10, 10);
painter.setBrush(curColor);
painter.setPen(Qt::transparent);
painter.setOpacity(transparency);
painter.drawPath(path);
+ painter.restore();
KWindowEffects::enableBlurBehind(this->winId(), true, QRegion(path.toFillPolygon().toPolygon()));
+ QColor color = Qt::black;
+ painter.save();
+ for (int i = 0; i < 7; i++) {
+ rect = this->rect().adjusted(i, i, - i, - i);
+ color.setAlpha(i * 6);
+ painter.setBrush(Qt::NoBrush);
+ painter.setPen(QPen(color, 1));
+ painter.drawRoundedRect(rect, 10, 10);
+ }
+ painter.restore();
QMainWindow::paintEvent(event);
}
/**
@@ -772,12 +770,13 @@ void MainWindow::minAnimationFinished()
m_viewWidget->setFocus();
// m_collectPushButton->clicked(true);
on_collectPushButton_clicked();
- QEventLoop loop;
- QTimer::singleShot(100, &loop, SLOT(quit()));
- loop.exec();
- m_animationPage->hide();
+
+ QTimer::singleShot(200, [ = ]() {
+ m_animationPage->hide();
+ });
}
+
void MainWindow::iconAnimationFinished()
{
m_dropDownMenu->raise();
@@ -791,11 +790,12 @@ void MainWindow::maxAnimationFinished()
m_fullWindow->showNormal();
setMaxWindowPos();
m_fullWindow->activateWindow();
- QEventLoop loop;
- QTimer::singleShot(100, &loop, SLOT(quit()));
- loop.exec();
- m_animationPage->hide();
+
+ QTimer::singleShot(200, [ = ]() {
+ m_animationPage->hide();
+ });
}
+
void MainWindow::resetLetterPage()
{
m_minLetterListView->show();
@@ -845,12 +845,13 @@ void MainWindow::primaryScreenChangeSlot()
{
repaintWidget();
}
+
void MainWindow::appClassificationBtnClickedSlot()
{
- m_leaveAnimation->setStartValue(QRect(0, 0, Style::leftPageWidth, Style::leftPageHeight));
+ m_leaveAnimation->setStartValue(QRect(0, 0, Style::m_leftPageWidth, Style::m_leftPageHeight));
m_leaveAnimation->setEndValue(QRect(0, 0, 0, 0));
- m_enterAnimation->setStartValue(QRect(-40, -40, Style::leftPageWidth + 80, Style::leftPageHeight + 80));
- m_enterAnimation->setEndValue(QRect(10, 0, Style::leftPageWidth - 20, Style::leftPageHeight - 60));
+ m_enterAnimation->setStartValue(QRect(-40, -40, Style::m_leftPageWidth + 80, Style::m_leftPageHeight + 80));
+ m_enterAnimation->setEndValue(QRect(10, 0, Style::m_leftPageWidth - 20, Style::m_leftPageHeight - 60));
m_leaveAnimation->setDuration(10);
m_enterAnimation->setDuration(100);
@@ -948,7 +949,7 @@ bool MainWindow::eventFilter(QObject *target, QEvent *event)
if (target == m_selectMenuButton) {
m_selectMenuButton->setIcon(getCurIcon(":/data/img/mainviewwidget/downarrow.svg", true)
- .pixmap(QSize(Style::miniIconSize, Style::miniIconSize)));
+ .pixmap(QSize(Style::m_minIconSize, Style::m_minIconSize)));
selectIconAnimation(true);
}
}
@@ -1134,7 +1135,7 @@ void MainWindow::recvSearchResult(QVector arg)
m_minSearchResultListView->verticalScrollBar()->setSliderPosition(0);
m_minSearchResultListView->addData(m_data, 3);
- Q_FOREACH (QStringList appinfo, arg) {
+ Q_FOREACH(QStringList appinfo, arg) {
m_data.append(QStringList() << appinfo.at(0) << "1");
}
@@ -1152,7 +1153,7 @@ void MainWindow::searchAppSlot(QString arg)
}
void MainWindow::on_selectMenuButton_triggered(QAction *arg1)
{
- m_selectMenuButton->setIcon(getCurIcon(":/data/img/mainviewwidget/downarrow.svg", true).pixmap(QSize(Style::miniIconSize, Style::miniIconSize)));
+ m_selectMenuButton->setIcon(getCurIcon(":/data/img/mainviewwidget/downarrow.svg", true).pixmap(QSize(Style::m_minIconSize, Style::m_minIconSize)));
selectIconAnimation(false);
if (arg1 == m_allAction) {
@@ -1270,12 +1271,14 @@ void MainWindow::on_minMaxChangeButton_clicked()
{
m_canHide = true;
m_isFullScreen = true;
+ QPropertyAnimation *m_maxAnimation = new QPropertyAnimation(m_animationPage, "geometry", this);
+ connect(m_maxAnimation, &QPropertyAnimation::finished, this, &MainWindow::maxAnimationFinished);
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
m_maxAnimation->setDuration(1);
} else {
m_animationPage->show();
- m_animationPage->setGeometry(this->x(), this->y(), Style::minw, Style::minh);
+ m_animationPage->setGeometry(this->x() + 5, this->y() + 5, Style::m_minw - 10, Style::m_minh - 10);
m_animationPage->raise();
m_animationPage->repaint();
m_maxAnimation->setDuration(260);
@@ -1286,12 +1289,13 @@ void MainWindow::on_minMaxChangeButton_clicked()
loop.exec();
m_maxAnimation->setEasingCurve(QEasingCurve::OutExpo);
// m_maxAnimation->setStartValue(QRect(Style::m_primaryScreenX, Style::m_primaryScreenY + Style::m_availableScreenHeight - Style::minh, Style::minw, Style::minh));
- m_maxAnimation->setStartValue(QRect(this->x(), this->y(), Style::minw, Style::minh));
+ m_maxAnimation->setStartValue(QRect(this->x() + 5, this->y() + 5, Style::m_minw - 10, Style::m_minh - 10));
m_maxAnimation->setEndValue(QRect(0, 0, Style::m_availableScreenWidth, Style::m_availableScreenHeight));
- m_maxAnimation->start();
+ m_maxAnimation->start(QAbstractAnimation::DeleteWhenStopped);
this->hide();
}
+
void MainWindow::showWindow()
{
Style::initWidStyle();
@@ -1338,27 +1342,27 @@ void MainWindow::setMinWindowPos()
if (position == 0) {
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
- kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + 4, y + height - Style::minh - 3, Style::minw, Style::minh));
+ kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + 4, y + height - Style::m_minh - 3, Style::m_minw, Style::m_minh));
} else {
- this->setGeometry(QRect(x + 4, y + height - Style::minh - 3, Style::minw, Style::minh));
+ this->setGeometry(QRect(x + 4, y + height - Style::m_minh - 3, Style::m_minw, Style::m_minh));
}
} else if (position == 1) {
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
- kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + 4, y + 4, Style::minw, Style::minh));
+ kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + 4, y + 4, Style::m_minw, Style::m_minh));
} else {
- this->setGeometry(QRect(x + 4, y + 4, Style::minw, Style::minh));
+ this->setGeometry(QRect(x + 4, y + 4, Style::m_minw, Style::m_minh));
}
} else if (position == 2) {
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
- kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + 4, y + 4, Style::minw, Style::minh));
+ kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + 4, y + 4, Style::m_minw, Style::m_minh));
} else {
- this->setGeometry(QRect(x + 4, y + 4, Style::minw, Style::minh));
+ this->setGeometry(QRect(x + 4, y + 4, Style::m_minw, Style::m_minh));
}
} else {
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
- kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + width - Style::minw - 4, y + 4, Style::minw, Style::minh));
+ kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x + width - Style::m_minw - 4, y + 4, Style::m_minw, Style::m_minh));
} else {
- this->setGeometry(QRect(x + width - Style::minw - 4, y + 4, Style::minw, Style::minh));
+ this->setGeometry(QRect(x + width - Style::m_minw - 4, y + 4, Style::m_minw, Style::m_minh));
}
}
}
@@ -1373,7 +1377,7 @@ void MainWindow::setMaxWindowPos()
void MainWindow::repaintWidget()
{
Style::initWidStyle();
- this->setMinimumSize(Style::minw, Style::minh);
+ this->setMinimumSize(Style::m_minw, Style::m_minh);
int x = Style::m_primaryScreenX;
int y = Style::m_primaryScreenY;
int width = Style::m_availableScreenWidth;
@@ -1388,6 +1392,9 @@ void MainWindow::showNormalWindowSlot()
{
myDebug() << "Style::m_availableScreenWidth" << Style::m_availableScreenWidth << "Style::m_availableScreenHeight" << Style::m_availableScreenHeight;
+ QPropertyAnimation *m_minAnimation = new QPropertyAnimation(m_animationPage, "geometry", this);
+ connect(m_minAnimation, &QPropertyAnimation::finished, this, &MainWindow::minAnimationFinished);
+
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
m_minAnimation->setDuration(1);
} else {
@@ -1405,9 +1412,9 @@ void MainWindow::showNormalWindowSlot()
m_isFullScreen = false;
m_minAnimation->setEasingCurve(QEasingCurve::OutExpo);
m_minAnimation->setStartValue(QRect(0, 0, Style::m_availableScreenWidth, Style::m_availableScreenHeight));
- m_minAnimation->setEndValue(QRect(this->x(), this->y(), Style::minw, Style::minh));
+ m_minAnimation->setEndValue(QRect(this->x() + 5, this->y() + 5, Style::m_minw - 10, Style::m_minh - 10));
- m_minAnimation->start();
+ m_minAnimation->start(QAbstractAnimation::DeleteWhenStopped);
m_fullWindow->hide();
}
void MainWindow::on_powerOffButton_clicked()
diff --git a/src/UserInterface/mainwindow.h b/src/UserInterface/mainwindow.h
index 1b5363d5469a6ff7f199f410419aebd4981f663b..2afcb93da4eaf944ef773ee7955ea04472276d89 100755
--- a/src/UserInterface/mainwindow.h
+++ b/src/UserInterface/mainwindow.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef MAINWINDOW_H
@@ -38,7 +37,6 @@
#include "convert_winid_to_desktop.h"
#include "style.h"
#include "main_view_widget.h"
-#include "tabview_widget.h"
#include "dbus.h"
#include "dbus-adaptor.h"
#include "software_database_update_thread.h"
@@ -54,6 +52,7 @@
#include "letter_button_widget.h"
#include "animationpage.h"
#include "rotationlabel.h"
+#include "rightlistview.h"
#include "ukuistylehelper/ukuistylehelper.h"
#include "windowmanager/windowmanager.h"
@@ -144,6 +143,7 @@ public Q_SLOTS:
void iconAnimationFinished();
void changeStyle();
void tabletModeChangeSlot(bool flag);
+
private Q_SLOTS:
void on_selectMenuButton_triggered(QAction *arg1);
@@ -236,8 +236,6 @@ private:
DesktopWatcher *m_desktopWatcher = nullptr;
QPropertyAnimation *m_enterAnimation = nullptr;
QPropertyAnimation *m_leaveAnimation = nullptr;
- QPropertyAnimation *m_minAnimation = nullptr;
- QPropertyAnimation *m_maxAnimation = nullptr;
QPropertyAnimation *iconAnimation = nullptr;
int m_widgetState = -1;
FunctionButtonWidget *m_functionBtnWid = nullptr;
diff --git a/src/UserInterface/tabletwindow.cpp b/src/UserInterface/tabletwindow.cpp
index 378ad1f407b6c19497ccff8e23832cff8c610132..4d7d945dd189bf2529791af03892bd921cca5fae 100755
--- a/src/UserInterface/tabletwindow.cpp
+++ b/src/UserInterface/tabletwindow.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "tabletwindow.h"
@@ -69,12 +68,12 @@ void TabletWindow::initSize()
{
Style::initWidStyle();
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- this->setFixedSize(Style::ScreenWidth, Style::ScreenHeight);
- m_leftWidget->setFixedSize(Style::m_leftWidWidth, Style::CenterWindHeight);
- m_leftWidget->layout()->setContentsMargins(Style::TimeWidgetLeft, Style::TimeWidgetTop, 0, 0);
- m_scrollAreaWid->setFixedHeight(Style::CenterWindHeight);
- m_scrollArea->setFixedSize(Style::ScreenWidth, Style::CenterWindHeight);
- m_buttonWidget->setFixedSize(Style::OtherPageViewWidth, 30);
+ this->setFixedSize(Style::m_screenWidth, Style::m_screenHeight);
+ m_leftWidget->setFixedSize(Style::m_leftWidWidth, Style::m_centerWindHeight);
+ m_leftWidget->layout()->setContentsMargins(Style::m_timeWidgetLeft, Style::m_timeWidgetTop, 0, 0);
+ m_scrollAreaWid->setFixedHeight(Style::m_centerWindHeight);
+ m_scrollArea->setFixedSize(Style::m_screenWidth, Style::m_centerWindHeight);
+ m_buttonWidget->setFixedSize(Style::m_otherPageViewWidth, 30);
}
void TabletWindow::initUi()
@@ -557,15 +556,15 @@ void TabletWindow::insertAppList(QStringList desktopfplist)
m_firstPageLayout->setContentsMargins(0, 0, 0, 0);
m_firstPageWidget->setLayout(m_firstPageLayout);
m_firstPageLayout->addWidget(m_leftWidget);
- listview->setFixedSize(Style::FirsPageViewWidth, Style::CenterWindHeight);
+ listview->setFixedSize(Style::m_firsPageViewWidth, Style::m_centerWindHeight);
m_firstPageLayout->addWidget(listview);
m_scrollAreaWidLayout->addWidget(m_firstPageWidget);
- listview->setGridSize(QSize(Style::TabletItemSizeWidthFirst, Style::AppListItemSizeHeight));
+ listview->setGridSize(QSize(Style::m_tabletItemSizeWidthFirst, Style::m_appListItemSizeHeight));
m_isFirstPage = false;
} else {
listview = new TabletListView(this, 1);
- listview->setFixedSize(Style::OtherPageViewWidth, Style::CenterWindHeight);
- listview->setGridSize(QSize(Style::TabletItemSizeWidthOther, Style::AppListItemSizeHeight));
+ listview->setFixedSize(Style::m_otherPageViewWidth, Style::m_centerWindHeight);
+ listview->setGridSize(QSize(Style::m_tabletItemSizeWidthOther, Style::m_appListItemSizeHeight));
m_scrollAreaWidLayout->addWidget(listview);
}
@@ -936,7 +935,7 @@ void TabletWindow::buttonClicked(QAbstractButton *button)
if (!(m_scrollAnimation->state() == QPropertyAnimation::Running)) {
int idd = m_buttonGroup->id(button);
int preNum = m_curPageNum;
- Style::nowpagenum = idd;
+ Style::m_nowpagenum = idd;
// QDBusReply res = usrInterface->call("get_current_tabletmode");
for (int page = 1; page <= m_pagemanager->getAppPageVector().size(); page++) {
diff --git a/src/UserInterface/tabletwindow.h b/src/UserInterface/tabletwindow.h
index 7b6a03ddf0edc49a978d96534bc053e98677f387..6d05c27d2e953752d43c3e60b670b0135914202f 100755
--- a/src/UserInterface/tabletwindow.h
+++ b/src/UserInterface/tabletwindow.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef TABLETWINDOW_H
diff --git a/src/UserInterface/userinterface.pri b/src/UserInterface/userinterface.pri
index 56b58f8a8a9ca85ebeda5f2e68f8c21c708289d7..00b893b3646576a812d18ba690b591f57802bed0 100755
--- a/src/UserInterface/userinterface.pri
+++ b/src/UserInterface/userinterface.pri
@@ -40,7 +40,6 @@ HEADERS += \
$$PWD/Widget/main_view_widget.h \
$$PWD/Widget/plugin_widget.h \
$$PWD/Widget/splitbar_frame.h \
- $$PWD/Widget/tabview_widget.h \
$$PWD/full_mainwindow.h \
$$PWD/mainwindow.h \
$$PWD/tabletwindow.h
@@ -78,7 +77,6 @@ SOURCES += \
$$PWD/Widget/main_view_widget.cpp \
$$PWD/Widget/plugin_widget.cpp \
$$PWD/Widget/splitbar_frame.cpp \
- $$PWD/Widget/tabview_widget.cpp \
$$PWD/full_mainwindow.cpp \
$$PWD/mainwindow.cpp \
$$PWD/tabletwindow.cpp
diff --git a/src/UtilityFunction/AbstractInterface.h b/src/UtilityFunction/AbstractInterface.h
deleted file mode 100755
index 90ed8ffadb99ca4e44d00281cfa281be68c414d4..0000000000000000000000000000000000000000
--- a/src/UtilityFunction/AbstractInterface.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef ABSTRACTINTERFACE_H
-#define ABSTRACTINTERFACE_H
-#include
-class QWidget;
-class AbstractInterface
-{
-public:
- virtual ~AbstractInterface() {}
- virtual QWidget *createPluginWidget(QWidget *parent, bool type) = 0;
-};
-#define AbstractInterface_iid "Welcome to use focusmode"
-Q_DECLARE_INTERFACE(AbstractInterface, AbstractInterface_iid)
-#endif // ABSTRACTINTERFACE_H
diff --git a/src/UtilityFunction/KySmallPluginInterface.h b/src/UtilityFunction/KySmallPluginInterface.h
index cf9ad2163489fe7b5e585001827388e305d17693..44ef75ef93600a6ac66ce9d001544a9b7507657e 100755
--- a/src/UtilityFunction/KySmallPluginInterface.h
+++ b/src/UtilityFunction/KySmallPluginInterface.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef KYSMALLPLUGININTERFACE_H
#define KYSMALLPLUGININTERFACE_H
diff --git a/src/UtilityFunction/Style/style.cpp b/src/UtilityFunction/Style/style.cpp
index 53378bdbc9633a752144515f9a7a0c96c28b68d3..84d71aa89475dc1e2fa7c65a952d0fcd90aeb447 100755
--- a/src/UtilityFunction/Style/style.cpp
+++ b/src/UtilityFunction/Style/style.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "style.h"
@@ -31,11 +30,11 @@ int Style::m_primaryScreenX = 0;
int Style::m_primaryScreenY = 0;
int Style::m_panelPosition = 0;
//默认窗口
-int Style::minw = 0;
-int Style::minh = 0;
-int Style::leftPageWidth = 0;
-int Style::leftPageHeight = 0;
-int Style::defaultQueryLineEditIconSize = 0;
+int Style::m_minw = 0;
+int Style::m_minh = 0;
+int Style::m_leftPageWidth = 0;
+int Style::m_leftPageHeight = 0;
+int Style::m_defaultQueryLineEditIconSize = 0;
/**
* 全屏窗口
*/
@@ -43,71 +42,62 @@ int Style::defaultQueryLineEditIconSize = 0;
int Style::m_availableScreenWidth = 0;
int Style::m_availableScreenHeight = 0;
//搜索栏
-int Style::QueryLineEditHeight = 0;
+int Style::m_queryLineEditHeight = 0;
//左侧栏
int Style::m_leftWidWidth = 0;
-int Style::LeftMargin = 0;
-int Style::LeftBtnWidth = 0;
-int Style::LeftBtnHeight = 0;
-int Style::LeftLetterBtnHeight = 0;
-int Style::LeftLetterFontSize = 0;
-int Style::LeftIconSize = 0;
-int Style::LeftSpaceIconText = 0;
-int Style::LeftSpaceBetweenItem = 0;
+int Style::m_leftMargin = 0;
+int Style::m_leftBtnWidth = 0;
+int Style::m_leftBtnHeight = 0;
+int Style::m_leftLetterBtnHeight = 0;
+int Style::m_leftLetterFontSize = 0;
+int Style::m_leftIconSize = 0;
+int Style::m_leftSpaceIconText = 0;
+int Style::m_leftSpaceBetweenItem = 0;
//应用列表栏
int Style::m_applistWidWidth = 0;
+int Style::m_applistAreaWidth = 0;
int Style::m_applistWidHeight = 0;
-int Style::AppListIconSize = 0;
-int Style::AppListBigIconSize = 0;
-int Style::AppListItemSizeWidth = 0;
-int Style::TabletItemSizeWidthOther = 0;
-int Style::TabletItemSizeWidthFirst = 0;
-int Style::FirsPageViewWidth = 0;
-int Style::OtherPageViewWidth = 0;
+int Style::m_scrollBarHeight = 0;
+int Style::m_appListIconSize = 0;
+int Style::m_appListBigIconSize = 0;
+int Style::m_appTextRectHeight = 0;
+int Style::m_boundaryOffset = 0;
+int Style::m_appListItemSizeWidth = 0;
+int Style::m_tabletItemSizeWidthOther = 0;
+int Style::m_tabletItemSizeWidthFirst = 0;
+int Style::m_firsPageViewWidth = 0;
+int Style::m_otherPageViewWidth = 0;
int Style::m_applistGridSizeWidth = 0;
-int Style::AppLeftSpace = 0;
-int Style::AppTopSpace = 0;
-int Style::AppSpaceBetweenIconText = 0;
-int Style::FirstPageSpace = 0;
-int Style::OtherPageSpace = 0;
+int Style::m_appLeftSpace = 0;
+int Style::m_appTopSpace = 0;
+int Style::m_appSpaceBetweenIconText = 0;
+int Style::m_firstPageSpace = 0;
+int Style::m_otherPageSpace = 0;
//侧边栏primaryScreen
-int Style::SideBarWidWidth = 0;
-
-int Style::appLine = 0;
-int Style::appColumn = 0;
-int Style::appLineFirst = 0;
-int Style::appColumnFirst = 0;
-int Style::appPage = 1;
-int Style::appNum = 0;
-int Style::nowpagenum = 1;
-int Style::appRows = 0;
-bool Style::ScreenRotation = false;
-int Style::AppListItemSizeHeight = 270;
-int Style::AppListViewTopMargin = 0;
-int Style::ScreenWidth = 0;
-int Style::ScreenHeight = 0;
-int Style::AppListViewLeftMargin = 52;
-int Style::AppListViewBottomMargin = 20;
-int Style::AppListViewRightMargin = 0;
-int Style::TimeWidgetTop = 81;
-int Style::TimeWidgetLeft = 112;
-int Style::CenterWindHeight = 0;
-
-int Style::GroupAppColumn = 1;
-int Style::GroupAppRow = 1;
+int Style::m_sideBarWidWidth = 0;
-int Style::ButtonWidgetWidth = 56;
+int Style::m_appLine = 0;
+int Style::m_appColumn = 0;
+int Style::m_appLineFirst = 0;
+int Style::m_appColumnFirst = 0;
+int Style::m_appPage = 1;
+int Style::m_appNum = 0;
+int Style::m_nowpagenum = 1;
+int Style::m_appRows = 0;
+bool Style::m_screenRotation = false;
+int Style::m_appListItemSizeHeight = 270;
+int Style::m_appListViewTopMargin = 0;
+int Style::m_screenWidth = 0;
+int Style::m_screenHeight = 0;
+int Style::m_appListViewBottomMargin = 20;
+int Style::m_timeWidgetTop = 81;
+int Style::m_timeWidgetLeft = 112;
+int Style::m_centerWindHeight = 0;
-int Style::ToolWidgetLeft = 24;
-bool Style::IsWideScreen = false;
-
-int Style::DropMenuWidth = 0;
-int Style::DropMenuHeight = 0;
-int Style::miniIconSize = 0;
-
-int Style::rightViewWidth = 0;
-int Style::rightViewHeight = 0;
+int Style::m_minIconSize = 0;
+int Style::m_rightViewWidth = 0;
+int Style::m_rightViewHeight = 0;
void Style::initWidStyle()
{
@@ -128,128 +118,130 @@ void Style::initWidStyle()
}
if (m_availableScreenWidth == 800 && m_availableScreenHeight == 600) {
- minw = 320;
- minh = 500;
- leftPageWidth = 300;
- leftPageHeight = 517;
+ m_minw = 320;
+ m_minh = 500;
+ m_leftPageWidth = 300;
+ m_leftPageHeight = 517;
} else {
- minw = 652;
- minh = 590;
- leftPageWidth = 300;
- leftPageHeight = 517;
+ m_minw = 652;
+ m_minh = 590;
+ m_leftPageWidth = 300;
+ m_leftPageHeight = 517;
}
if (m_availableScreenWidth >= 2000 && m_availableScreenWidth <= 4000) {
- LeftMargin = 20;
- LeftLetterFontSize = 14;
- LeftSpaceBetweenItem = 15;
- AppListIconSize = 96;
- AppListItemSizeWidth = 168;
+ m_leftMargin = 20;
+ m_leftLetterFontSize = 14;
+ m_leftSpaceBetweenItem = 15;
+ m_appListIconSize = 96;
+ m_appListItemSizeWidth = 168;
m_applistGridSizeWidth = 240;
- AppSpaceBetweenIconText = 20;
+ m_appSpaceBetweenIconText = 20;
} else if (m_availableScreenWidth >= 1920 && m_availableScreenWidth < 2000) {
- LeftMargin = 20;
- LeftLetterFontSize = 14;
- LeftSpaceBetweenItem = 15;
- AppListIconSize = 86;
- AppListItemSizeWidth = 168;
+ m_leftMargin = 20;
+ m_leftLetterFontSize = 14;
+ m_leftSpaceBetweenItem = 15;
+ m_appListIconSize = 86;
+ m_appListItemSizeWidth = 168;
m_applistGridSizeWidth = 220;
- AppSpaceBetweenIconText = 18;
+ m_appSpaceBetweenIconText = 18;
} else if (m_availableScreenWidth >= 1600 && m_availableScreenWidth < 1920) {
- LeftMargin = 10;
- LeftLetterFontSize = 11;
- LeftSpaceBetweenItem = 10;
- AppListIconSize = 86;
- AppListItemSizeWidth = 150;
+ m_leftMargin = 10;
+ m_leftLetterFontSize = 11;
+ m_leftSpaceBetweenItem = 10;
+ m_appListIconSize = 86;
+ m_appListItemSizeWidth = 150;
m_applistGridSizeWidth = 180;
- AppSpaceBetweenIconText = 14;
+ m_appSpaceBetweenIconText = 14;
} else if (m_availableScreenWidth >= 1366 && m_availableScreenWidth < 1600) {
- LeftMargin = 10;
- LeftLetterFontSize = 11;
- LeftSpaceBetweenItem = 10;
- AppListIconSize = 64;
- AppListItemSizeWidth = 112;
+ m_leftMargin = 10;
+ m_leftLetterFontSize = 11;
+ m_leftSpaceBetweenItem = 10;
+ m_appListIconSize = 64;
+ m_appListItemSizeWidth = 112;
m_applistGridSizeWidth = 140;
- AppSpaceBetweenIconText = 0;
+ m_appSpaceBetweenIconText = 0;
} else if (m_availableScreenWidth >= 1280 && m_availableScreenWidth < 1366) {
- LeftMargin = 10;
- LeftLetterFontSize = 11;
- LeftSpaceBetweenItem = 10;
- AppListIconSize = 64;
- AppListItemSizeWidth = 112;
+ m_leftMargin = 10;
+ m_leftLetterFontSize = 11;
+ m_leftSpaceBetweenItem = 10;
+ m_appListIconSize = 64;
+ m_appListItemSizeWidth = 112;
m_applistGridSizeWidth = 142;
- AppSpaceBetweenIconText = 14;
+ m_appSpaceBetweenIconText = 14;
} else if (m_availableScreenWidth >= 1152 && m_availableScreenWidth < 1280) {
- LeftMargin = 10;
- LeftLetterFontSize = 11;
- LeftSpaceBetweenItem = 10;
- AppListIconSize = 64;
- AppListItemSizeWidth = 112;
+ m_leftMargin = 10;
+ m_leftLetterFontSize = 11;
+ m_leftSpaceBetweenItem = 10;
+ m_appListIconSize = 64;
+ m_appListItemSizeWidth = 112;
m_applistGridSizeWidth = 142;
- AppSpaceBetweenIconText = 14;
+ m_appSpaceBetweenIconText = 14;
} else if (m_availableScreenWidth > 800 && m_availableScreenWidth < 1152) {
- LeftMargin = 10;
- LeftLetterFontSize = 11;
- LeftSpaceBetweenItem = 10;
- AppListIconSize = 64;
- AppListItemSizeWidth = 112;
+ m_leftMargin = 10;
+ m_leftLetterFontSize = 11;
+ m_leftSpaceBetweenItem = 10;
+ m_appListIconSize = 64;
+ m_appListItemSizeWidth = 112;
m_applistGridSizeWidth = 141;
- AppSpaceBetweenIconText = 14;
+ m_appSpaceBetweenIconText = 14;
} else {
- LeftMargin = 10;
- LeftLetterFontSize = 11;
- LeftSpaceBetweenItem = 10;
- AppListIconSize = 64;
- AppListItemSizeWidth = 112;
+ m_leftMargin = 10;
+ m_leftLetterFontSize = 11;
+ m_leftSpaceBetweenItem = 10;
+ m_appListIconSize = 64;
+ m_appListItemSizeWidth = 112;
m_applistGridSizeWidth = 138;
- AppSpaceBetweenIconText = 14;
+ m_appSpaceBetweenIconText = 14;
}
- LeftBtnWidth = 68 + 5 * len;
- LeftBtnHeight = 34;
- QueryLineEditHeight = 30;
- LeftLetterBtnHeight = 25;
- LeftIconSize = 19;
- DropMenuWidth = 170;
- DropMenuHeight = 112;
- miniIconSize = 8;
- rightViewWidth = 324;
- rightViewHeight = 470;
- LeftSpaceIconText = 14;
+ m_leftBtnWidth = 68 + 5 * len;
+ m_leftBtnHeight = 34;
+ m_queryLineEditHeight = 30;
+ m_leftLetterBtnHeight = 25;
+ m_leftIconSize = 19;
+ m_rightViewWidth = 324;
+ m_rightViewHeight = 470;
+ m_leftSpaceIconText = 14;
+ m_appTextRectHeight = 30;
+ m_minIconSize = 8;
+
+ m_appTopSpace = (m_appListItemSizeWidth - m_appSpaceBetweenIconText - m_appListIconSize - m_appTextRectHeight) / 2;
+ m_boundaryOffset = (m_applistGridSizeWidth - m_appListItemSizeWidth) + m_appTopSpace + 10;
m_applistWidWidth = m_availableScreenWidth / 1.25;
- m_applistWidWidth = m_applistWidWidth - (m_applistWidWidth % m_applistGridSizeWidth) + 1;
+ m_applistWidWidth = m_applistWidWidth - (m_applistWidWidth % m_applistGridSizeWidth) + 2;
m_applistWidHeight = m_availableScreenHeight - 120;
- m_applistWidHeight = m_applistWidHeight - (m_applistWidHeight % m_applistGridSizeWidth) + 1;
+ m_applistWidHeight = m_applistWidHeight - (m_applistWidHeight % m_applistGridSizeWidth);
m_leftWidWidth = (m_availableScreenWidth - m_applistWidWidth) / 2 + 1;
+ m_applistAreaWidth = m_applistWidWidth + 20;
+ m_scrollBarHeight = 10;
} else {
- ScreenWidth = QApplication::primaryScreen()->geometry().width();
- ScreenHeight = QApplication::primaryScreen()->geometry().height();
+ m_screenWidth = QApplication::primaryScreen()->geometry().width();
+ m_screenHeight = QApplication::primaryScreen()->geometry().height();
myDebug() << "Winches" << qApp->desktop()->widthMM();
myDebug() << "Hinches" << qApp->desktop()->heightMM();
- myDebug() << "ScreenWidth" << ScreenWidth;
- myDebug() << "ScreenHeight" << ScreenHeight;
- appColumn = 6;
- appLine = 4;
- appLineFirst = 4;
- AppListViewTopMargin = 70;
- AppListViewLeftMargin = 52;
- AppListViewBottomMargin = AppListViewTopMargin - 30;
- AppListViewRightMargin = 0;
- m_leftWidWidth = ScreenWidth * 0.3;
- FirsPageViewWidth = ScreenWidth - m_leftWidWidth - 5;
- appColumnFirst = FirsPageViewWidth / 220;
- OtherPageViewWidth = ScreenWidth;
- TabletItemSizeWidthFirst = FirsPageViewWidth / appColumnFirst;
- TabletItemSizeWidthOther = (ScreenWidth - 5) / appColumn;
- CenterWindHeight = ScreenHeight - AppListViewBottomMargin - AppListViewTopMargin;
- AppListItemSizeHeight = CenterWindHeight / appLine;
- AppListIconSize = 96;
- AppListBigIconSize = 108;
- AppTopSpace = (AppListItemSizeHeight - AppListIconSize) / 2;
- AppLeftSpace = (TabletItemSizeWidthFirst - AppListIconSize) / 2;
- TimeWidgetTop = (CenterWindHeight - 870) / 2;
- TimeWidgetLeft = (m_leftWidWidth - 400) / 2;
- FirstPageSpace = AppLeftSpace;
- OtherPageSpace = (TabletItemSizeWidthOther - AppListIconSize) / 2;
+ myDebug() << "ScreenWidth" << m_screenWidth;
+ myDebug() << "ScreenHeight" << m_screenHeight;
+ m_appColumn = 6;
+ m_appLine = 4;
+ m_appLineFirst = 4;
+ m_appListViewTopMargin = 70;
+ m_appListViewBottomMargin = m_appListViewTopMargin - 30;
+ m_leftWidWidth = m_screenWidth * 0.3;
+ m_firsPageViewWidth = m_screenWidth - m_leftWidWidth - 5;
+ m_appColumnFirst = m_firsPageViewWidth / 220;
+ m_otherPageViewWidth = m_screenWidth;
+ m_tabletItemSizeWidthFirst = m_firsPageViewWidth / m_appColumnFirst;
+ m_tabletItemSizeWidthOther = (m_screenWidth - 5) / m_appColumn;
+ m_centerWindHeight = m_screenHeight - m_appListViewBottomMargin - m_appListViewTopMargin;
+ m_appListItemSizeHeight = m_centerWindHeight / m_appLine;
+ m_appListIconSize = 96;
+ m_appListBigIconSize = 108;
+ m_appTopSpace = (m_appListItemSizeHeight - m_appListIconSize) / 2;
+ m_appLeftSpace = (m_tabletItemSizeWidthFirst - m_appListIconSize) / 2;
+ m_timeWidgetTop = (m_centerWindHeight - 870) / 2;
+ m_timeWidgetLeft = (m_leftWidWidth - 400) / 2;
+ m_firstPageSpace = m_appLeftSpace;
+ m_otherPageSpace = (m_tabletItemSizeWidthOther - m_appListIconSize) / 2;
}
}
diff --git a/src/UtilityFunction/Style/style.h b/src/UtilityFunction/Style/style.h
index a74e0da755e2e193ac2e473b4eab9fe5feacc741..6ca2f800407e6cb34234af9de92ef95964df58f9 100755
--- a/src/UtilityFunction/Style/style.h
+++ b/src/UtilityFunction/Style/style.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef STYLE_H
@@ -85,11 +84,11 @@ public:
static int m_primaryScreenY;
static int m_panelPosition;
//默认窗口
- static int minw;
- static int minh;
- static int leftPageWidth;
- static int leftPageHeight;
- static int defaultQueryLineEditIconSize;
+ static int m_minw;
+ static int m_minh;
+ static int m_leftPageWidth;
+ static int m_leftPageHeight;
+ static int m_defaultQueryLineEditIconSize;
/**
* 全屏
@@ -98,85 +97,71 @@ public:
static int m_availableScreenWidth;
static int m_availableScreenHeight;
//搜索栏
- static int QueryLineEditHeight;//搜索框高度
+ static int m_queryLineEditHeight;//搜索框高度
//左侧栏
static int m_leftWidWidth; //宽度
- static int LeftMargin; //内左侧边距
- static int LeftBtnWidth;//按钮宽度
- static int LeftBtnHeight;//按钮高度
- static int LeftLetterBtnHeight;//按钮高度
- static int LeftLetterFontSize; //字体大小
- static int LeftIconSize; //图标大小
- static int LeftSpaceIconText; //按钮图标与文字内边距
- static int LeftSpaceBetweenItem; //item间距
+ static int m_leftMargin; //内左侧边距
+ static int m_leftBtnWidth;//按钮宽度
+ static int m_leftBtnHeight;//按钮高度
+ static int m_leftLetterBtnHeight;//按钮高度
+ static int m_leftLetterFontSize; //字体大小
+ static int m_leftIconSize; //图标大小
+ static int m_leftSpaceIconText; //按钮图标与文字内边距
+ static int m_leftSpaceBetweenItem; //item间距
//应用列表栏
static int m_applistWidWidth; //宽度
+ static int m_applistAreaWidth;
static int m_applistWidHeight; //高度
- static int AppListIconSize; //图标大小
- static int AppListBigIconSize;
- static int AppListItemSizeWidth; //item大小
- static int TabletItemSizeWidthFirst;
- static int TabletItemSizeWidthOther;
- static int FirsPageViewWidth;
- static int OtherPageViewWidth;
+ static int m_scrollBarHeight;
+ static int m_appListIconSize; //图标大小
+ static int m_appListBigIconSize;
+ static int m_appTextRectHeight;
+ static int m_boundaryOffset;
+ static int m_appListItemSizeWidth; //item大小
+ static int m_tabletItemSizeWidthFirst;
+ static int m_tabletItemSizeWidthOther;
+ static int m_firsPageViewWidth;
+ static int m_otherPageViewWidth;
static int m_applistGridSizeWidth; //网格大小
- static int AppLeftSpace;//左侧边距
- static int AppTopSpace;//上侧边距
- static int AppSpaceBetweenIconText;//图标与文字边距
- static int FirstPageSpace;
- static int OtherPageSpace;
+ static int m_appLeftSpace;//左侧边距
+ static int m_appTopSpace;//上侧边距
+ static int m_appSpaceBetweenIconText;//图标与文字边距
+ static int m_firstPageSpace;
+ static int m_otherPageSpace;
/**
* 侧边栏
*/
- static int SideBarWidWidth; //宽度
+ static int m_sideBarWidWidth; //宽度
- static int appLine;
- static int appColumn;
- static int appLineFirst;
- static int appColumnFirst;
- static int appNum;
- static int appPage;
- static int nowpagenum;
- static int appRows; //app的总行数
- static bool ScreenRotation;
+ static int m_appLine;
+ static int m_appColumn;
+ static int m_appLineFirst;
+ static int m_appColumnFirst;
+ static int m_appNum;
+ static int m_appPage;
+ static int m_nowpagenum;
+ static int m_appRows; //app的总行数
+ static bool m_screenRotation;
- static int AppListItemSizeHeight;
+ static int m_appListItemSizeHeight;
// static int ScreenWidth;
// static int ScreenHeight;
+ static int m_screenWidth;
+ static int m_screenHeight;
+ static int m_appListViewTopMargin;
+ static int m_appListViewBottomMargin;
+ static int m_centerWindHeight;
- static int LeftWidgetWidth;
-
- static int ScreenWidth;
- static int ScreenHeight;
- static int AppListViewTopMargin;
- static int AppListViewLeftMargin;
- static int AppListViewBottomMargin;
- static int AppListViewRightMargin;
- static int CenterWindHeight;
-
- static int GroupAppRow;
- static int GroupAppColumn;
-
- static int TimeWidgetTop;
- static int TimeWidgetLeft;
-
- static int ButtonWidgetWidth;
+ static int m_timeWidgetTop;
+ static int m_timeWidgetLeft;
- //扩展的开始菜单应用列表
- static int ToolWidgetLeft;
- static int WideAppListItemSizeWidth;
- static int WideAppListItemSizeHeight;
- static int WideAppViewLeftMargin;
- static bool IsWideScreen;
- static int DropMenuWidth;
- static int DropMenuHeight;
- static int miniIconSize;
+ static int m_minIconSize;
- static int rightViewWidth;
- static int rightViewHeight;
+ static int m_rightViewWidth;
+ static int m_rightViewHeight;
};
diff --git a/src/UtilityFunction/abstractInterface.h b/src/UtilityFunction/abstractInterface.h
deleted file mode 100755
index f484d73e1586c17e0951524c45621b024c7734ca..0000000000000000000000000000000000000000
--- a/src/UtilityFunction/abstractInterface.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef OOBE_PLUGIN_INFACE_H
-#define OOBE_PLUGIN_INFACE_H
-
-#include
-#include
-#include
-#include
-
-class QWidget;
-class kyMenuPluginInterface
-{
-
-public:
- virtual ~kyMenuPluginInterface() {}
- virtual const QString name() = 0;
- virtual const QString description() = 0;
- virtual QWidget *createWidget(QWidget *parent) = 0;
-};
-Q_DECLARE_INTERFACE(kyMenuPluginInterface, "org.kyMenuPlugin.AbstractInterface")
-#endif
\ No newline at end of file
diff --git a/src/UtilityFunction/thumbnail.cpp b/src/UtilityFunction/thumbnail.cpp
index 55a1f79176faecfaee8ce87ef03879d33fe4fa0b..eda65628c47d4794893990b9fe155027a009586d 100755
--- a/src/UtilityFunction/thumbnail.cpp
+++ b/src/UtilityFunction/thumbnail.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include "thumbnail.h"
#include
#include "style.h"
@@ -22,11 +39,11 @@ void ThumbNail::initUi()
setWindowFlags(Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);
this->setStyleSheet("border:0px;background:transparent;");
- this->setFixedSize(Style::AppListIconSize, Style::AppListIconSize);
+ this->setFixedSize(Style::m_appListIconSize, Style::m_appListIconSize);
iconLabel = new QLabel(this);
iconLabel->setStyleSheet("border:0px;background-color:transparent;");
iconLabel->setFocusPolicy(Qt::NoFocus);
- iconLabel->setFixedSize(Style::AppListIconSize, Style::AppListIconSize);
+ iconLabel->setFixedSize(Style::m_appListIconSize, Style::m_appListIconSize);
layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(0);
@@ -116,11 +133,11 @@ void ThumbNail::setupthumbnail(QString desktopfp)
QPixmap pixmap ;
if (appDisable(desktopfp) == 1) {
- pixmap = icon.pixmap((Style::AppListIconSize, Style::AppListIconSize), QIcon::Disabled, QIcon::Off);
+ pixmap = icon.pixmap((Style::m_appListIconSize, Style::m_appListIconSize), QIcon::Disabled, QIcon::Off);
//qDebug()<<"appDisable(desktopfp)"<setPixmap(pixmap);
@@ -219,19 +236,13 @@ bool ThumbNail::appDisable(QString desktopfp)//判断是否是禁用应用(这
char *name = g_key_file_get_locale_string(keyfile, "Desktop Entry", "Exec", nullptr, nullptr);
//取出value值
QString execnamestr = QString::fromLocal8Bit(name);
- //处理value值
- str = execnamestr;
- // str = execnamestr.section(' ', 0, 0);
- // QStringList list = str.split('/');
- // str = list[list.size()-1];
- //关闭文件
+
g_key_file_free(keyfile);
- QString desktopfp1 =/*"application/"+*/str;
//QString group=desktopfp.split('/').last();
disableSetting->beginGroup("application");
//判断
- bool bo = disableSetting->contains(desktopfp1.toLocal8Bit().data()); // iskey
- bool bo1 = disableSetting->QSettings::value(desktopfp1.toLocal8Bit().data()).toBool(); //isvalue
+ bool bo = disableSetting->contains(execnamestr.toLocal8Bit().data()); // iskey
+ bool bo1 = disableSetting->QSettings::value(execnamestr.toLocal8Bit().data()).toBool(); //isvalue
disableSetting->endGroup();
//qDebug()<.
+ */
+
#ifndef THUMBNAIL_H
#define THUMBNAIL_H
diff --git a/src/UtilityFunction/utility.cpp b/src/UtilityFunction/utility.cpp
index 40c6f083b559086fe33c94d2faceb8b2b48114e2..c7b63e7ac4fb57e559f22a5b356bf18b208d44b7 100755
--- a/src/UtilityFunction/utility.cpp
+++ b/src/UtilityFunction/utility.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#include "utility.h"
@@ -28,6 +27,7 @@
#include
#include
#include
+#include
#include "ukuimenuinterface.h"
#define DATABASENAME QDir::homePath()+"/.config/ukui/"+"UkuiMenu.db"
@@ -233,7 +233,7 @@ QString getEnvOverriddenDesktopFile(int pid)
if (file.open(QIODevice::ReadOnly)) {
QList list = file.readLine().split('\x00');
- Q_FOREACH (QByteArray array, list) {
+ Q_FOREACH(QByteArray array, list) {
if (array.contains("GIO_LAUNCHED_DESKTOP_FILE=")) {
ret = QString(array.split('=').at(1));
break;
@@ -278,7 +278,7 @@ void initDatabase()
setting->beginGroup("application");
QString desktopfp;
- Q_FOREACH (QString desktopfn, setting->allKeys()) {
+ Q_FOREACH(QString desktopfn, setting->allKeys()) {
if (setting->value(desktopfn).toInt() == 1) {
desktopfp.clear();
@@ -305,7 +305,7 @@ void initDatabase()
bool b = sql.exec("create table if not exists appInfo(desktop char primary key, times int, time int, type int, recent int, num int, collect int)");
- Q_FOREACH (QString desktopfn, desktopfnList) {
+ Q_FOREACH(QString desktopfn, desktopfnList) {
myDebug() << "void initDatabase()" << desktopfn;
QDateTime dt = QDateTime::currentDateTime();
int datetime = dt.toTime_t();
@@ -690,7 +690,7 @@ void cleanTimeoutApp()
}
}
- Q_FOREACH (QString desktopfn, list) {
+ Q_FOREACH(QString desktopfn, list) {
cmd = QString("delete from appInfo where desktop=\"%1\"")
.arg(desktopfn);
sql.exec(cmd);
@@ -710,14 +710,16 @@ bool deleteAppRecord(QString desktopfn)
void execApp(QString desktopfp)
{
+ QDBusReply result;
+ if (QDBusConnection::connectToBus(QDBusConnection::SessionBus, QString("com.kylin.AppManager")).isConnected()) {
+ QDBusInterface iface("com.kylin.AppManager", "/com/kylin/AppManager", "com.kylin.AppManager");
+ if (iface.isValid()) {
+ result = iface.call("LaunchApp", desktopfp);
+ myDebug() << "LaunchApp desktopFile:" << desktopfp;
+ }
+ }
- QDBusInterface iface("com.kylin.AppManager",
- "/com/kylin/AppManager",
- "com.kylin.AppManager",
- QDBusConnection::sessionBus());
- QDBusReply res = iface.call("LaunchApp", desktopfp);
-
- if (!res.isValid() || !res) {
+ if (!result.isValid() || !result) {
UkuiMenuInterface interface;
diff --git a/src/UtilityFunction/utility.h b/src/UtilityFunction/utility.h
index 44916736f72831e3178eacb69c5582b50ecfb06a..66a047ce057dad38dd966a3dc32dfbd56d6c9a56 100755
--- a/src/UtilityFunction/utility.h
+++ b/src/UtilityFunction/utility.h
@@ -1,10 +1,10 @@
/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ * Copyright (C) 2022, KylinSoft Co., Ltd.
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,8 +12,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
*/
#ifndef UTILITY_H
diff --git a/src/UtilityFunction/utilityfunction.pri b/src/UtilityFunction/utilityfunction.pri
index 3cc89d4cdd0a7bc23d796195b111f4f52cc277e8..f153ab3458481228d51cb546538af1caadd04c8f 100755
--- a/src/UtilityFunction/utilityfunction.pri
+++ b/src/UtilityFunction/utilityfunction.pri
@@ -3,10 +3,8 @@ INCLUDEPATH += \
$$PWD/Style
HEADERS += \
- $$PWD/AbstractInterface.h \
$$PWD/KySmallPluginInterface.h \
$$PWD/Style/style.h \
- $$PWD/abstractInterface.h \
$$PWD/thumbnail.h \
$$PWD/utility.h
diff --git a/translations/ukui-menu_bo_CN.ts b/translations/ukui-menu_bo_CN.ts
index d92f15348476087eed3ae0b7d8177783678b9801..6677791401e9ff82e566825e53cdc8649c13c4db 100644
--- a/translations/ukui-menu_bo_CN.ts
+++ b/translations/ukui-menu_bo_CN.ts
@@ -4,22 +4,22 @@
FullMainWindow
-
+ འཚོལ་ཞིབ།
-
+ ཚང་མ།
-
+ འཕྲིན་ཡིག
-
+ བྱེད་ནུས།
@@ -27,7 +27,7 @@
FunctionWidget
-
+ འཚོལ་ཞིབ།
@@ -43,55 +43,65 @@
打开字母排序菜单
-
+ བྱེད་ལས་རིགས་ཀྱི་ཟས་ཐོའི་ཁ་ཕྱེ་བ།
-
+ དབྱངས་གསལ་ཡི་གེའི་ཟས་ཐོའི་ཁ་ཕྱེ་བ།
+
+
+
+
+ འགྲོ་ལམ་:
+
+
+
+ འགྲོ་ལམ་
+ MainWindow
-
-
+
+ འཚོལ་ཞིབ།
-
+ ཉེ་དུས་ཀྱི་ཡིག་ཆ་མེད།
-
-
-
-
-
+
+
+
+
+ ཚང་མ།
-
+ བསྡུ་ཉར།
-
+ ཉེ་ཆར།
-
+ མའེ་ཁེ་སི།
-
+ སྒུལ་ཤུགས་ཀྱི་ནུས་པ།
@@ -100,16 +110,16 @@
搜索应用
-
-
-
+
+
+ འཕྲིན་ཡིག
-
-
-
+
+
+ བྱེད་ནུས།
@@ -117,68 +127,68 @@
QObject
-
-
+
+ གཞུང་ལས་ཁང་།
-
-
+
+ འཕེལ་རྒྱས་
-
-
+
+ པར་རིས།
-
-
+
+ བརྙན་ཕབ།
-
-
+
+ དྲ་སྦྲེལ།
-
-
+
+ རོལ་རྩེད།
-
-
+
+ སློབ་གསོ།
-
-
+
+ སྤྱི་ཚོགས།
-
-
+
+ ལམ་ལུགས།
-
-
+
+ བདེ་འཇགས།
-
-
+
+ དེ་མིན་ད་དུང་
@@ -186,82 +196,82 @@
RightClickMenu
-
+ མི་ཚང་མར་ཁབ་རྒྱག་པ།
-
+ མི་ཚང་མའི་ཁྲོད་ནས་བཀག་འགོག་བྱེད་
-
+ ལས་འགན་སྒྲུབ་པར་ཁབ་རྒྱག་པ།
-
+ ལས་འགན་སྒྲུབ་ས་ནས་ཁ་པར་གཏོང་བ།
-
+ ཅོག་ཙེའི་སྟེང་གི་མགྱོགས་ལམ་ཁ་སྣོན་བྱས་ཡོད།
-
+ འཚོལ་སྡུད་བྱེད་པའི་ཁབ་སྐུད།
-
+ བསྡུ་ཉར་དངོས་རྫས་ཁྲོད་ནས་ཕྱིར་
-
+ སྒྲིག་སྦྱོར་བྱས་མེད་པ།
-
+ གློག་སྒོ་འབྱེད་པའི་སྤྱོད་མཁན
-
+ ཧིན་རྡུ་ཉི་ཞི་ཡ།
-
+ གཉིད་ཁུག་པ།
-
+ སྒོ་ལྕགས་ཀྱི་བརྙན་ཤེལ།
-
+ ཕྱིར་འཐེན་བྱ་དགོས།
-
+ ཡང་བསྐྱར་འགོ་འཛུགས་
-
+ གློག་ཆད་པ།
-
+ མིང་ཐོ་འདི་རང་གཤིས་ཅན་དུ་བསྒྱུར
@@ -269,22 +279,22 @@
TabletRightClickMenu
-
+ ལས་འགན་སྒྲུབ་པར་ཁབ་རྒྱག་པ།
-
+ ལས་འགན་སྒྲུབ་ས་ནས་ཁ་པར་གཏོང་བ།
-
+ ཅོག་ཙེའི་སྟེང་གི་མགྱོགས་ལམ་ཁ་སྣོན་བྱས་ཡོད།
-
+ སྒྲིག་སྦྱོར་བྱས་མེད་པ།
diff --git a/translations/ukui-menu_tr.ts b/translations/ukui-menu_tr.ts
index 756c8b10899d20d246691b1c87cc29cbc14392a5..c453759478d745d4ad504816156badc12da82963 100755
--- a/translations/ukui-menu_tr.ts
+++ b/translations/ukui-menu_tr.ts
@@ -4,22 +4,22 @@
FullMainWindow
-
+ Ara
-
+ Tümü
-
+ Alfabetik
-
+ Kategori
@@ -118,7 +118,7 @@
Diğer
-
+ Ara
@@ -173,15 +173,21 @@
ItemDelegate
-
+
-
+
+
+
+
+
+
+ MainViewWidget
@@ -205,56 +211,56 @@
MainWindow
-
+
-
-
-
-
-
+
+
+
+
+ Tümü
-
-
+
+ Ara
-
+
-
+
-
+
-
+
-
-
-
+
+
+ Alfabetik
-
-
-
+
+
+ Kategori
@@ -309,68 +315,68 @@
QObject
-
-
+
+ Ofis Uygulamaları
-
-
+
+ Programlama
-
-
+
+ Grafik
-
-
+
+ Video
-
-
+
+ İnternet
-
-
+
+ Oyunlar
-
-
+
+ Eğitim
-
-
+
+ Sosyal
-
-
+
+ Sistem
-
-
+
+
-
-
+
+ Diğer
@@ -378,62 +384,62 @@
RightClickMenu
-
+ Tümünü sabitle
-
+ Tüm sabitlemeleri kaldır
-
+ Görev çubuğuna sabitle
-
+ Görev çubuğundan sabitlemeyi kaldır
-
+ Masaüstü kısayollarına ekle
-
+
-
+
-
+ Kaldır
-
+
-
+ Beklemeye Al
-
+ Uyku Modu
-
+ Ekranı Kilitle
@@ -442,22 +448,22 @@
Kullanıcı Değiştir
-
+ Çıkış
-
+ Yeniden Başlat
-
+ Kapat
-
+ Bu listeyi özelleştirin
@@ -551,22 +557,22 @@
TabletRightClickMenu
-
+ Görev çubuğuna sabitle
-
+ Görev çubuğundan sabitlemeyi kaldır
-
+ Masaüstü kısayollarına ekle
-
+ Kaldır
diff --git a/translations/ukui-menu_zh_CN.ts b/translations/ukui-menu_zh_CN.ts
index 4d04dbf977a288618a873d1ef9d71fc55b517ec3..59aa5fdd9533bf09afea50552a985040d428e54f 100755
--- a/translations/ukui-menu_zh_CN.ts
+++ b/translations/ukui-menu_zh_CN.ts
@@ -4,22 +4,22 @@
FullMainWindow
-
+ 搜索应用
-
+ 全部
-
+ 字母排序
-
+ 功能分类
@@ -27,7 +27,7 @@
FunctionWidget
-
+ 全局搜索
@@ -43,55 +43,65 @@
打开字母排序菜单
-
+ 打开功能排序菜单
-
+ 打开字母排序菜单
+
+
+
+
+ 路径:
+
+
+
+ 路径
+ MainWindow
-
-
+
+ 搜索应用
-
+ 暂无最近文件
-
-
-
-
-
+
+
+
+
+ 全部
-
+ 收藏
-
+ 最近
-
+ 放大
-
+ 电源
@@ -100,16 +110,16 @@
搜索应用
-
-
-
+
+
+ 字母排序
-
-
-
+
+
+ 功能分类
@@ -117,68 +127,68 @@
QObject
-
-
+
+ 办公
-
-
+
+ 开发
-
-
+
+ 图像
-
-
+
+ 影音
-
-
+
+ 网络
-
-
+
+ 游戏
-
-
+
+ 教育
-
-
+
+ 社交
-
-
+
+ 系统
-
-
+
+ 安全
-
-
+
+ 其他
@@ -186,82 +196,82 @@
RightClickMenu
-
+ 固定到“所有软件”
-
+ 从“所有软件”取消固定
-
+ 固定到任务栏
-
+ 从任务栏取消固定
-
+ 添加到桌面快捷方式
-
+ 固定到收藏
-
+ 从收藏移除
-
+ 卸载
-
+ 切换用户
-
+ 休眠
-
+ 睡眠
-
+ 锁屏
-
+ 注销
-
+ 重启
-
+ 关机
-
+
@@ -269,22 +279,22 @@
TabletRightClickMenu
-
+ 固定到任务栏
-
+ 从任务栏取消固定
-
+ 固定到桌面快捷方式
-
+ 卸载
diff --git a/ukui-menu.desktop b/ukui-menu.desktop
old mode 100755
new mode 100644
diff --git a/ukui-menu.pro b/ukui-menu.pro
index 1ca97974669379d68bcdbcda1d6ca7fbca3719b9..e7e52839158049e88401b122ab0e895f5ea6aec7 100755
--- a/ukui-menu.pro
+++ b/ukui-menu.pro
@@ -48,11 +48,11 @@ INSTALLS += qm_files
# So we can access it from main.cpp
DEFINES += QM_FILES_INSTALL_PATH='\\"$${QM_FILES_INSTALL_PATH}\\"'
-PKGCONFIG+=glib-2.0 gio-unix-2.0 gsettings-qt libbamf3 x11 xtst kysdk-waylandhelper
+PKGCONFIG+=glib-2.0 gio-unix-2.0 gsettings-qt libbamf3 x11 kysdk-waylandhelper
CONFIG += no_keywords link_pkgconfig
-LIBS+=-pthread -luchardet -lukui-log4qt -lukui-com4c -lukui-com4cxx -lpeony
+LIBS+=-pthread -luchardet -lukui-log4qt -lukui-com4c -lukui-com4cxx -lpeony -lXtst
desktop_file.files = ukui-menu.desktop
desktop_file.path = /etc/xdg/autostart