diff --git a/debian/changelog b/debian/changelog index 9184f9a..9b10f8a 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,26 @@ +ukui-menu (3.1.1-ok4~0920) yangtze; urgency=medium + + * 任务:开始菜单工具提示内容优化(收藏&最近 区域),增加路径提示 + + -- lixueman Tue, 20 Sep 2022 09:04:27 +0800 + +ukui-menu (3.1.1-ok4~0913) yangtze; urgency=medium + + * close-cd #125158 【开始菜单】切换全屏时动画显示不太流畅 + * close-cd #133399 【开始菜单】【PC】只有一个用户,开始菜单右键电源按钮存在切换用户选项 + * 添加版权信息 + * 修改规范性问题 + + -- lixueman Tue, 13 Sep 2022 08:40:10 +0800 + +ukui-menu (3.1.1-ok4~0907) yangtze; urgency=medium + + * close-cd #125158 【开始菜单】切换全屏时动画显示不太流畅 + * close-cd #133399 【开始菜单】【PC】只有一个用户,开始菜单右键电源按钮存在切换用户选项 + * 添加版权信息 + + -- lixueman Wed, 07 Sep 2022 14:12:53 +0800 + ukui-menu (3.1.1-ok4~0831) yangtze; urgency=medium * close-cd # 131373 【wayland】【软件更新器】点击打开软件更新器后,开始菜单过6s左右才退出; diff --git a/main.cpp b/main.cpp index 4d4c558..c9c0dbf 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 42f7109..2dc3aaa 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 44f3be4..8da5943 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 f7bc939..24575bf 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,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 "convert_winid_to_desktop.h" diff --git a/src/BackProcess/FileWatcher/convert_winid_to_desktop.h b/src/BackProcess/FileWatcher/convert_winid_to_desktop.h index ba6a77f..92e0521 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 e3c6141..5e2cf10 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 874a98d..9b6f9c3 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 3ef8938..b96a470 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 da6130c..7e29038 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 b8c98f4..9c50f44 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 51d7d8d..2914339 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 0cbbf6b..7c7ee4a 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"); + m_setting->beginGroup("lockapplication"); + m_setting->remove(desktopfn); + m_setting->sync(); + m_setting->endGroup(); + m_setting->beginGroup("application"); - if (!setting->contains(desktopfn)) { - setting->sync(); - setting->endGroup(); + 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 279dec1..6939333 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 4608040..ea71b88 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 cf08151..80c318f 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 ff73a2d..a5a8956 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 c1da729..6b4d501 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 ed6718b..7879cc0 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 1c8ca58..38ed9c2 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 128aeed..e1368f1 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 972ba2b..aca52e4 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 11d0693..0f8080f 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 6e0d3dc..a642aa7 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 86b2af1..3f49f77 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 8c3f2ca..9991403 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 ffed89c..1ed4993 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 6160fb9..c2e1fae 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 11073a8..6577384 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 7235987..fded3eb 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 9e430e6..1d0fe09 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 8634fb2..d1b1895 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 17124b8..5159e10 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 93c06b2..d51420d 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 1588014..91fbe08 100755 --- a/src/UserInterface/ListView/klistview.cpp +++ b/src/UserInterface/ListView/klistview.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 #include "klistview.h" #include "utility.h" @@ -12,37 +29,43 @@ 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(); @@ -70,7 +93,7 @@ void KListView::mouseMoveEvent(QMouseEvent *e) void KListView::mousePressEvent(QMouseEvent *event) { if ((this->indexAt(event->pos()).isValid()) && event->button() == Qt::LeftButton) { - pressApp = listmodel->data(this->indexAt(event->pos()), Qt::DisplayRole); + m_pressApp = m_listmodel->data(this->indexAt(event->pos()), Qt::DisplayRole); } return QListView::mousePressEvent(event); } @@ -93,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 37359b7..503997b 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,11 +32,11 @@ 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); diff --git a/src/UserInterface/ListView/listview.cpp b/src/UserInterface/ListView/listview.cpp index ea511c2..f781921 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" @@ -30,15 +29,18 @@ 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; + 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() @@ -70,12 +72,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); @@ -84,18 +86,18 @@ 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); } } 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()) { diff --git a/src/UserInterface/ListView/listview.h b/src/UserInterface/ListView/listview.h index 5b14550..ff39d9b 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 diff --git a/src/UserInterface/ListView/rightlistview.cpp b/src/UserInterface/ListView/rightlistview.cpp index 5a456bb..4d5b8d5 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" @@ -30,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() @@ -69,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); @@ -129,7 +132,7 @@ void RightListView::keyPressEvent(QKeyEvent *e) void RightListView::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()) { QString desktopfp = var.value(); diff --git a/src/UserInterface/ListView/rightlistview.h b/src/UserInterface/ListView/rightlistview.h index b09c361..0bf0af0 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 6a957f4..3066890 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 5980d2c..5c2e831 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 95c2619..b8eaadb 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 743c8d1..ecb4967 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 176b48b..030e544 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 4f64e0a..81c0411 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 0c08e2e..7badedb 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 f99cdbb..65a7c3b 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 2bb4d2d..c8592ab 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" diff --git a/src/UserInterface/Other/scrollarea.h b/src/UserInterface/Other/scrollarea.h index 96a5f57..c8d8d80 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 c6f9729..ef40c1d 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 ea48961..b6184ec 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 f274607..de3cc85 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 4075294..573b08e 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 0143c32..d559941 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 a91451c..a4a8c8e 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 5e5c358..a09c72a 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 601939e..acc384d 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 7effecd..ba41cc7 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 a57708e..a364527 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 540536e..ab3edb7 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 5145b78..e85e277 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 db471cf..fb38efd 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 a613d90..e30fd84 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 b50de3d..f3ec2ef 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 ee62ed6..0d70f02 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 58e487a..05e52dd 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 8407557..a21803b 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 2676f29..a756da3 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 9cefa24..c0cd67d 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 05d9d14..6adab1a 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() @@ -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); } @@ -259,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); } diff --git a/src/UserInterface/Widget/full_commonuse_widget.h b/src/UserInterface/Widget/full_commonuse_widget.h index cfce3da..dfea5b5 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 diff --git a/src/UserInterface/Widget/full_function_widget.cpp b/src/UserInterface/Widget/full_function_widget.cpp index 09cc615..6e95e13 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_applistAreaWidth, 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); @@ -119,7 +121,7 @@ void FullFunctionWidget::initAppListWidget() 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); @@ -240,7 +242,7 @@ void FullFunctionWidget::updateAppListView() fillAppList(); //刷新图标列表界面 - Q_FOREACH (QAbstractButton *button, m_buttonList) { + Q_FOREACH(QAbstractButton *button, m_buttonList) { m_btnGroup->removeButton(button); } @@ -284,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); } /** @@ -298,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); @@ -313,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); } @@ -326,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); @@ -341,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++); } @@ -358,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(); @@ -405,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)) { @@ -443,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(); @@ -455,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_applistAreaWidth, 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 88493a0..743a005 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 diff --git a/src/UserInterface/Widget/full_letter_widget.cpp b/src/UserInterface/Widget/full_letter_widget.cpp index bd51f38..6bf48bb 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); @@ -83,7 +88,7 @@ void FullLetterWidget::initAppListWidget() 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; @@ -187,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); @@ -242,7 +247,7 @@ void FullLetterWidget::updateAppListView() fillAppList(); //刷新字母列表界面 - Q_FOREACH (QAbstractButton *button, m_buttonList) { + Q_FOREACH(QAbstractButton *button, m_buttonList) { m_btnGroup->removeButton(button); } @@ -266,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); } @@ -293,12 +298,13 @@ void FullLetterWidget::resizeScrollAreaControls() rowcount = listview->model()->rowCount() / dividend; } - listview->setFixedHeight(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()->setFixedHeight(areaHeight - 10); + m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight); } /** @@ -335,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); @@ -345,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++); } @@ -362,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)) { @@ -416,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)) { @@ -446,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(); @@ -469,14 +481,14 @@ void FullLetterWidget::setLetterBtnGeometry() void FullLetterWidget::repaintWidget() { m_letterListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight); - m_scrollArea->setFixedSize(Style::m_applistAreaWidth, 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 72c25a0..addc2a8 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 diff --git a/src/UserInterface/Widget/full_searchresult_widget.cpp b/src/UserInterface/Widget/full_searchresult_widget.cpp index a37fc83..344add3 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() @@ -152,7 +154,7 @@ void FullSearchResultWidget::updateAppListView(QVector arg) { m_data.clear(); - Q_FOREACH (QStringList appinfo, arg) { + Q_FOREACH(QStringList appinfo, arg) { m_data.append(appinfo.at(0)); } diff --git a/src/UserInterface/Widget/full_searchresult_widget.h b/src/UserInterface/Widget/full_searchresult_widget.h index 73a42df..d5a47e1 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 diff --git a/src/UserInterface/Widget/function_Widget.cpp b/src/UserInterface/Widget/function_Widget.cpp index 5cf1f5e..cc0eee7 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 3681c78..9fe81d9 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 dbb116c..22d3553 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 3faed62..419a0e8 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 f110340..667dfec 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 bf50598..ee13f27 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 8a883d8..c459745 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" diff --git a/src/UserInterface/Widget/main_view_widget.h b/src/UserInterface/Widget/main_view_widget.h index ebebf5a..2466398 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 2881e05..b975203 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 af41deb..8541ce9 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 00b9d4a..83cfbaa 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 cafd1e0..079d757 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 c07987b..0000000 --- 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 ca9e999..0000000 --- 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 3a3e2cd..d614bb9 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 @@ -319,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); } diff --git a/src/UserInterface/full_mainwindow.h b/src/UserInterface/full_mainwindow.h index 1f7bc24..09a7c01 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 diff --git a/src/UserInterface/mainwindow.cpp b/src/UserInterface/mainwindow.cpp index c45be17..53451fd 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,8 +206,6 @@ 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); @@ -323,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); @@ -350,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); } @@ -450,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")); @@ -773,12 +768,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(); @@ -792,11 +788,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(); @@ -846,12 +843,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); @@ -949,7 +947,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); } } @@ -1135,7 +1133,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"); } @@ -1153,7 +1151,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) { @@ -1271,12 +1269,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(), this->y(), Style::m_minw, Style::m_minh); m_animationPage->raise(); m_animationPage->repaint(); m_maxAnimation->setDuration(260); @@ -1287,12 +1287,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(), this->y(), Style::m_minw, Style::m_minh)); 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(); @@ -1339,27 +1340,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)); } } } @@ -1374,7 +1375,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; @@ -1389,6 +1390,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 { @@ -1406,9 +1410,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(), this->y(), Style::m_minw, Style::m_minh)); - 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 1b5363d..2afcb93 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 378ad1f..4d7d945 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 7b6a03d..6d05c27 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 56b58f8..00b893b 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 90ed8ff..0000000 --- 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 cf9ad21..44ef75e 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 70198af..84d71aa 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,72 +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::m_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::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::GroupAppColumn = 1; -int Style::GroupAppRow = 1; - -int Style::ButtonWidgetWidth = 56; - -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() { @@ -129,129 +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) + 2; m_applistWidHeight = m_availableScreenHeight - 120; 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 547a072..6ca2f80 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,86 +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 m_timeWidgetTop; + static int m_timeWidgetLeft; - static int ScreenWidth; - static int ScreenHeight; - static int AppListViewTopMargin; - static int AppListViewLeftMargin; - static int AppListViewBottomMargin; - static int AppListViewRightMargin; - static int CenterWindHeight; + static int m_minIconSize; - static int GroupAppRow; - static int GroupAppColumn; - - static int TimeWidgetTop; - static int TimeWidgetLeft; - - static int ButtonWidgetWidth; - - //扩展的开始菜单应用列表 - 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 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 f484d73..0000000 --- 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 55a1f79..eda6562 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 1e320a3..c7b63e7 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" @@ -234,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; @@ -279,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(); @@ -306,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(); @@ -691,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); diff --git a/src/UtilityFunction/utility.h b/src/UtilityFunction/utility.h index 4491673..66a047c 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 3cc89d4..f153ab3 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 d92f153..6677791 100644 --- a/translations/ukui-menu_bo_CN.ts +++ b/translations/ukui-menu_bo_CN.ts @@ -4,22 +4,22 @@ FullMainWindow - + Search འཚོལ་ཞིབ། - + All ཚང་མ། - + Letter འཕྲིན་ཡིག - + Function བྱེད་ནུས། @@ -27,7 +27,7 @@ FunctionWidget - + Search འཚོལ་ཞིབ། @@ -43,55 +43,65 @@ 打开字母排序菜单 - + Open the function sort menu བྱེད་ལས་རིགས་ཀྱི་ཟས་ཐོའི་ཁ་ཕྱེ་བ། - + Open the alphabetical menu དབྱངས་གསལ་ཡི་གེའི་ཟས་ཐོའི་ཁ་ཕྱེ་བ། + + + + path: + འགྲོ་ལམ་: + + + path + འགྲོ་ལམ་ + MainWindow - - + + Search འཚོལ་ཞིབ། - + No recent files ཉེ་དུས་ཀྱི་ཡིག་ཆ་མེད། - - - - - + + + + + All ཚང་མ། - + collection བསྡུ་ཉར། - + recent ཉེ་ཆར། - + Max མའེ་ཁེ་སི། - + PowerOff སྒུལ་ཤུགས་ཀྱི་ནུས་པ། @@ -100,16 +110,16 @@ 搜索应用 - - - + + + Letter འཕྲིན་ཡིག - - - + + + Function བྱེད་ནུས། @@ -117,68 +127,68 @@ QObject - - + + Office གཞུང་ལས་ཁང་། - - + + Development འཕེལ་རྒྱས་ - - + + Image པར་རིས། - - + + Video བརྙན་ཕབ། - - + + Internet དྲ་སྦྲེལ། - - + + Game རོལ་རྩེད། - - + + Education སློབ་གསོ། - - + + Social སྤྱི་ཚོགས། - - + + System ལམ་ལུགས། - - + + Safe བདེ་འཇགས། - - + + Others དེ་མིན་ད་དུང་ @@ -186,82 +196,82 @@ RightClickMenu - + Pin to all མི་ཚང་མར་ཁབ་རྒྱག་པ། - + Unpin from all མི་ཚང་མའི་ཁྲོད་ནས་བཀག་འགོག་བྱེད་ - + Pin to taskbar ལས་འགན་སྒྲུབ་པར་ཁབ་རྒྱག་པ། - + Unpin from taskbar ལས་འགན་སྒྲུབ་ས་ནས་ཁ་པར་གཏོང་བ། - + Add to desktop shortcuts ཅོག་ཙེའི་སྟེང་གི་མགྱོགས་ལམ་ཁ་སྣོན་བྱས་ཡོད། - + Pin to collection འཚོལ་སྡུད་བྱེད་པའི་ཁབ་སྐུད། - + Remove from collection བསྡུ་ཉར་དངོས་རྫས་ཁྲོད་ནས་ཕྱིར་ - + Uninstall སྒྲིག་སྦྱོར་བྱས་མེད་པ། - + Switch user གློག་སྒོ་འབྱེད་པའི་སྤྱོད་མཁན - + Hibernate ཧིན་རྡུ་ཉི་ཞི་ཡ། - + Sleep གཉིད་ཁུག་པ། - + Lock Screen སྒོ་ལྕགས་ཀྱི་བརྙན་ཤེལ། - + Log Out ཕྱིར་འཐེན་བྱ་དགོས། - + Restart ཡང་བསྐྱར་འགོ་འཛུགས་ - + Power Off གློག་ཆད་པ། - + Personalize this list མིང་ཐོ་འདི་རང་གཤིས་ཅན་དུ་བསྒྱུར @@ -269,22 +279,22 @@ TabletRightClickMenu - + Pin to taskbar ལས་འགན་སྒྲུབ་པར་ཁབ་རྒྱག་པ། - + Unpin from taskbar ལས་འགན་སྒྲུབ་ས་ནས་ཁ་པར་གཏོང་བ། - + Add to desktop shortcuts ཅོག་ཙེའི་སྟེང་གི་མགྱོགས་ལམ་ཁ་སྣོན་བྱས་ཡོད། - + Uninstall སྒྲིག་སྦྱོར་བྱས་མེད་པ། diff --git a/translations/ukui-menu_tr.ts b/translations/ukui-menu_tr.ts index 756c8b1..c453759 100755 --- a/translations/ukui-menu_tr.ts +++ b/translations/ukui-menu_tr.ts @@ -4,22 +4,22 @@ FullMainWindow - + Search Ara - + All Tümü - + Letter Alfabetik - + Function Kategori @@ -118,7 +118,7 @@ Diğer - + Search Ara @@ -173,15 +173,21 @@ ItemDelegate - + Open the function sort menu - + Open the alphabetical menu + + + + path: + + MainViewWidget @@ -205,56 +211,56 @@ MainWindow - + collection - - - - - + + + + + All Tümü - - + + Search Ara - + No recent files - + recent - + Max - + PowerOff - - - + + + Letter Alfabetik - - - + + + Function Kategori @@ -309,68 +315,68 @@ QObject - - + + Office Ofis Uygulamaları - - + + Development Programlama - - + + Image Grafik - - + + Video Video - - + + Internet İnternet - - + + Game Oyunlar - - + + Education Eğitim - - + + Social Sosyal - - + + System Sistem - - + + Safe - - + + Others Diğer @@ -378,62 +384,62 @@ RightClickMenu - + Pin to all Tümünü sabitle - + Unpin from all Tüm sabitlemeleri kaldır - + Pin to taskbar Görev çubuğuna sabitle - + Unpin from taskbar Görev çubuğundan sabitlemeyi kaldır - + Add to desktop shortcuts Masaüstü kısayollarına ekle - + Pin to collection - + Remove from collection - + Uninstall Kaldır - + Switch user - + Hibernate Beklemeye Al - + Sleep Uyku Modu - + Lock Screen Ekranı Kilitle @@ -442,22 +448,22 @@ Kullanıcı Değiştir - + Log Out Çıkış - + Restart Yeniden Başlat - + Power Off Kapat - + Personalize this list Bu listeyi özelleştirin @@ -551,22 +557,22 @@ TabletRightClickMenu - + Pin to taskbar Görev çubuğuna sabitle - + Unpin from taskbar Görev çubuğundan sabitlemeyi kaldır - + Add to desktop shortcuts Masaüstü kısayollarına ekle - + Uninstall Kaldır diff --git a/translations/ukui-menu_zh_CN.ts b/translations/ukui-menu_zh_CN.ts index 4d04dbf..59aa5fd 100755 --- a/translations/ukui-menu_zh_CN.ts +++ b/translations/ukui-menu_zh_CN.ts @@ -4,22 +4,22 @@ FullMainWindow - + Search 搜索应用 - + All 全部 - + Letter 字母排序 - + Function 功能分类 @@ -27,7 +27,7 @@ FunctionWidget - + Search 全局搜索 @@ -43,55 +43,65 @@ 打开字母排序菜单 - + Open the function sort menu 打开功能排序菜单 - + Open the alphabetical menu 打开字母排序菜单 + + + + path: + 路径: + + + path + 路径 + MainWindow - - + + Search 搜索应用 - + No recent files 暂无最近文件 - - - - - + + + + + All 全部 - + collection 收藏 - + recent 最近 - + Max 放大 - + PowerOff 电源 @@ -100,16 +110,16 @@ 搜索应用 - - - + + + Letter 字母排序 - - - + + + Function 功能分类 @@ -117,68 +127,68 @@ QObject - - + + Office 办公 - - + + Development 开发 - - + + Image 图像 - - + + Video 影音 - - + + Internet 网络 - - + + Game 游戏 - - + + Education 教育 - - + + Social 社交 - - + + System 系统 - - + + Safe 安全 - - + + Others 其他 @@ -186,82 +196,82 @@ RightClickMenu - + Pin to all 固定到“所有软件” - + Unpin from all 从“所有软件”取消固定 - + Pin to taskbar 固定到任务栏 - + Unpin from taskbar 从任务栏取消固定 - + Add to desktop shortcuts 添加到桌面快捷方式 - + Pin to collection 固定到收藏 - + Remove from collection 从收藏移除 - + Uninstall 卸载 - + Switch user 切换用户 - + Hibernate 休眠 - + Sleep 睡眠 - + Lock Screen 锁屏 - + Log Out 注销 - + Restart 重启 - + Power Off 关机 - + Personalize this list @@ -269,22 +279,22 @@ TabletRightClickMenu - + Pin to taskbar 固定到任务栏 - + Unpin from taskbar 从任务栏取消固定 - + Add to desktop shortcuts 固定到桌面快捷方式 - + Uninstall 卸载