commit
641845bff6
|
@ -46,7 +46,7 @@ bugfixes for this package.
|
||||||
## Preparation
|
## Preparation
|
||||||
You can build pre-depends with such command:
|
You can build pre-depends with such command:
|
||||||
|
|
||||||
`sudo apt install libglib2.0-dev qtbase5-dev libqt5svg5-dev libqt5x11extras5-dev libgsettings-qt-dev libbamf3-dev libxrandr-dev libxtst-dev libx11-dev`
|
`sudo apt install g++ qtbase5-dev qttools5-dev-tools libglib2.0-dev libqt5svg5-dev libqt5x11extras5-dev libgsettings-qt-dev libbamf3-dev libxrandr-dev libxtst-dev libx11-dev libkf5windowsystem-dev libuchardet-dev libpeony-dev libkysdk-waylandhelper-dev libukui-common-dev`
|
||||||
|
|
||||||
Note: build-depends references the paragraph in debian/control.
|
Note: build-depends references the paragraph in debian/control.
|
||||||
|
|
||||||
|
|
31
main.cpp
31
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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
@ -81,17 +80,17 @@ int main(int argc, char *argv[])
|
||||||
if (Style::m_panelPosition == 0) {
|
if (Style::m_panelPosition == 0) {
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
||||||
kdk::WindowManager::setGeometry(w.windowHandle(),QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY +
|
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 {
|
} else {
|
||||||
w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + Style::m_availableScreenHeight - Style::minh - 3,
|
w.setGeometry(QRect(Style::m_primaryScreenX + 4, Style::m_primaryScreenY + Style::m_availableScreenHeight - Style::m_minh - 3,
|
||||||
Style::minw, Style::minh));
|
Style::m_minw, Style::m_minh));
|
||||||
}
|
}
|
||||||
} else if (Style::m_panelPosition == 1) {
|
} else if (Style::m_panelPosition == 1) {
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
||||||
kdk::WindowManager::setGeometry(w.windowHandle(),QRect(Style::m_primaryScreenX + 4,
|
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 {
|
} 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) {
|
} else if (Style::m_panelPosition == 2) {
|
||||||
|
@ -99,17 +98,17 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
||||||
kdk::WindowManager::setGeometry(w.windowHandle(), QRect(Style::m_primaryScreenX + 4,
|
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 {
|
} 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 {
|
} else {
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
||||||
kdk::WindowManager::setGeometry(w.windowHandle(), QRect(Style::m_primaryScreenX + Style::m_availableScreenWidth -
|
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 {
|
} else {
|
||||||
w.setGeometry(QRect(Style::m_primaryScreenX + Style::m_availableScreenWidth - Style::minw - 4, Style::m_primaryScreenY + 4,
|
w.setGeometry(QRect(Style::m_primaryScreenX + Style::m_availableScreenWidth - Style::m_minw - 4, Style::m_primaryScreenY + 4,
|
||||||
Style::minw, Style::minh));
|
Style::m_minw, Style::m_minh));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "dbus.h"
|
#include "dbus.h"
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef DBUS_H
|
#ifndef DBUS_H
|
||||||
#define DBUS_H
|
#define DBUS_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,13 +12,11 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "convert_winid_to_desktop.h"
|
#include "convert_winid_to_desktop.h"
|
||||||
#include "utility.h"
|
#include "utility.h"
|
||||||
#include <KWindowSystem>
|
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONVERTDESKTOPTOWINID_H
|
#ifndef CONVERTDESKTOPTOWINID_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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "desktop_watcher.h"
|
#include "desktop_watcher.h"
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QEventLoop>
|
#include <QEventLoop>
|
||||||
|
@ -20,6 +37,10 @@ DesktopWatcher::DesktopWatcher()
|
||||||
connect(m_directoryChangedThread, &DirectoryChangedThread::requestUpdateSignal, this, &DesktopWatcher::requestUpdateSlot);
|
connect(m_directoryChangedThread, &DirectoryChangedThread::requestUpdateSignal, this, &DesktopWatcher::requestUpdateSlot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DesktopWatcher::~DesktopWatcher()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* desktop文件目录改变信号槽
|
* desktop文件目录改变信号槽
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef DESKTOPWATCHER_H
|
#ifndef DESKTOPWATCHER_H
|
||||||
#define DESKTOPWATCHER_H
|
#define DESKTOPWATCHER_H
|
||||||
#include <QFileSystemWatcher>
|
#include <QFileSystemWatcher>
|
||||||
|
@ -9,6 +26,7 @@ class DesktopWatcher : public QObject
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
DesktopWatcher();
|
DesktopWatcher();
|
||||||
|
~DesktopWatcher();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "directory_changed_thread.h"
|
#include "directory_changed_thread.h"
|
||||||
|
@ -28,7 +27,10 @@ DirectoryChangedThread::DirectoryChangedThread()
|
||||||
|
|
||||||
DirectoryChangedThread::~DirectoryChangedThread()
|
DirectoryChangedThread::~DirectoryChangedThread()
|
||||||
{
|
{
|
||||||
delete m_ukuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DirectoryChangedThread::run()
|
void DirectoryChangedThread::run()
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DIRECTORYCHANGEDTHREAD_H
|
#ifndef DIRECTORYCHANGEDTHREAD_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "software_database_update_thread.h"
|
#include "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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SOFTWAREDATABASEUPDATETHREAD_H
|
#ifndef SOFTWAREDATABASEUPDATETHREAD_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tablet_directorychanged_thread.h"
|
#include "tablet_directorychanged_thread.h"
|
||||||
|
@ -28,21 +27,20 @@ TabletDirectoryChangedThread::TabletDirectoryChangedThread()
|
||||||
{
|
{
|
||||||
m_ukuiMenuInterface = new UkuiMenuInterface;
|
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||||
QString path = QDir::homePath() + "/.config/ukui/ukui-menu.ini";
|
QString path = QDir::homePath() + "/.config/ukui/ukui-menu.ini";
|
||||||
setting = new QSettings(path, QSettings::IniFormat);
|
m_setting = new QSettings(path, QSettings::IniFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
TabletDirectoryChangedThread::~TabletDirectoryChangedThread()
|
TabletDirectoryChangedThread::~TabletDirectoryChangedThread()
|
||||||
{
|
{
|
||||||
if (m_ukuiMenuInterface) {
|
if (m_ukuiMenuInterface) {
|
||||||
delete m_ukuiMenuInterface;
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (setting) {
|
if (m_setting) {
|
||||||
delete setting;
|
delete m_setting;
|
||||||
|
m_setting = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ukuiMenuInterface = nullptr;
|
|
||||||
setting = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,41 +65,41 @@ void TabletDirectoryChangedThread::run()
|
||||||
QStringList list = str.split('/');
|
QStringList list = str.split('/');
|
||||||
str = list[list.size() - 1];
|
str = list[list.size() - 1];
|
||||||
QString desktopfn = str;
|
QString desktopfn = str;
|
||||||
setting->beginGroup("recentapp");
|
m_setting->beginGroup("recentapp");
|
||||||
setting->setValue(desktopfn, datetime);
|
m_setting->setValue(desktopfn, datetime);
|
||||||
setting->sync();
|
m_setting->sync();
|
||||||
setting->endGroup();
|
m_setting->endGroup();
|
||||||
//wgx
|
//wgx
|
||||||
setting->beginGroup("application");
|
m_setting->beginGroup("application");
|
||||||
QStringList applist = setting->allKeys();
|
QStringList applist = m_setting->allKeys();
|
||||||
int appnum = setting->allKeys().count();
|
int appnum = m_setting->allKeys().count();
|
||||||
int maxindex = 0;
|
int maxindex = 0;
|
||||||
int minindex = 0;
|
int minindex = 0;
|
||||||
|
|
||||||
for (int i = 0; i < appnum; i++) {
|
for (int i = 0; i < appnum; i++) {
|
||||||
if (setting->value(applist.at(i)).toInt() > maxindex) {
|
if (m_setting->value(applist.at(i)).toInt() > maxindex) {
|
||||||
maxindex = setting->value(applist.at(i)).toInt();
|
maxindex = m_setting->value(applist.at(i)).toInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(setting->value(applist.at(i)).toInt() <= minindex) {
|
if(m_setting->value(applist.at(i)).toInt() <= minindex) {
|
||||||
minindex = setting->value(applist.at(i)).toInt();
|
minindex = m_setting->value(applist.at(i)).toInt();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (desktopfn.contains("small-plugin-manage")){
|
if (desktopfn.contains("small-plugin-manage")){
|
||||||
setting->setValue(desktopfn,minindex-1);
|
m_setting->setValue(desktopfn,minindex-1);
|
||||||
} else {
|
} else {
|
||||||
setting->setValue(desktopfn,maxindex+1);
|
m_setting->setValue(desktopfn,maxindex+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
setting->sync();
|
m_setting->sync();
|
||||||
setting->endGroup();
|
m_setting->endGroup();
|
||||||
//
|
//
|
||||||
QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfpList.at(i));
|
QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfpList.at(i));
|
||||||
syslog(LOG_LOCAL0 | LOG_DEBUG, "%s", iconstr.toLocal8Bit().data());
|
syslog(LOG_LOCAL0 | LOG_DEBUG, "%s", iconstr.toLocal8Bit().data());
|
||||||
syslog(LOG_LOCAL0 | LOG_DEBUG, "软件安装desktop文件名:%s", desktopfn.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());
|
syslog(LOG_LOCAL0 | LOG_DEBUG, "%s", path.toLocal8Bit().data());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,35 +111,35 @@ void TabletDirectoryChangedThread::run()
|
||||||
QFileInfo fileInfo(desktopfp);
|
QFileInfo fileInfo(desktopfp);
|
||||||
QString desktopfn = fileInfo.fileName();
|
QString desktopfn = fileInfo.fileName();
|
||||||
myDebug() << "卸载" << desktopfn;
|
myDebug() << "卸载" << desktopfn;
|
||||||
setting->beginGroup("lockapplication");
|
m_setting->beginGroup("lockapplication");
|
||||||
setting->remove(desktopfn);
|
m_setting->remove(desktopfn);
|
||||||
setting->sync();
|
m_setting->sync();
|
||||||
setting->endGroup();
|
m_setting->endGroup();
|
||||||
setting->beginGroup("application");
|
m_setting->beginGroup("application");
|
||||||
|
|
||||||
if (!setting->contains(desktopfn)) {
|
if (!m_setting->contains(desktopfn)) {
|
||||||
setting->sync();
|
m_setting->sync();
|
||||||
setting->endGroup();
|
m_setting->endGroup();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int val = setting->value(desktopfn).toInt();
|
int val = m_setting->value(desktopfn).toInt();
|
||||||
myDebug() << "卸载val" << val;
|
myDebug() << "卸载val" << val;
|
||||||
setting->remove(desktopfn);
|
m_setting->remove(desktopfn);
|
||||||
QStringList desktopfnList = setting->allKeys();
|
QStringList desktopfnList = m_setting->allKeys();
|
||||||
|
|
||||||
for (int i = 0; i < desktopfnList.count(); i++) {
|
for (int i = 0; i < desktopfnList.count(); i++) {
|
||||||
if (setting->value(desktopfnList.at(i)).toInt() > val) {
|
if (m_setting->value(desktopfnList.at(i)).toInt() > val) {
|
||||||
setting->setValue(desktopfnList.at(i), setting->value(desktopfnList.at(i)).toInt() - 1);
|
m_setting->setValue(desktopfnList.at(i), m_setting->value(desktopfnList.at(i)).toInt() - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setting->sync();
|
m_setting->sync();
|
||||||
setting->endGroup();
|
m_setting->endGroup();
|
||||||
setting->beginGroup("recentapp");
|
m_setting->beginGroup("recentapp");
|
||||||
setting->remove(desktopfn);
|
m_setting->remove(desktopfn);
|
||||||
setting->sync();
|
m_setting->sync();
|
||||||
setting->endGroup();
|
m_setting->endGroup();
|
||||||
syslog(LOG_LOCAL0 | LOG_DEBUG, "软件卸载desktop文件名:%s", desktopfn.toLocal8Bit().data());
|
syslog(LOG_LOCAL0 | LOG_DEBUG, "软件卸载desktop文件名:%s", desktopfn.toLocal8Bit().data());
|
||||||
QDBusInterface iface("com.ukui.panel.desktop",
|
QDBusInterface iface("com.ukui.panel.desktop",
|
||||||
"/",
|
"/",
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TABLETDIRECTORYCHANGEDTHREAD_H
|
#ifndef TABLETDIRECTORYCHANGEDTHREAD_H
|
||||||
|
@ -35,7 +34,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
|
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
|
||||||
QSettings *setting = nullptr;
|
QSettings *m_setting = nullptr;
|
||||||
TabletListView *m_listView = nullptr;
|
TabletListView *m_listView = nullptr;
|
||||||
QStandardItemModel *listmodel = nullptr;
|
QStandardItemModel *listmodel = nullptr;
|
||||||
|
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "currenttime_interface.h"
|
#include "currenttime_interface.h"
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#define TIME_FORMAT "org.ukui.control-center.panel.plugins"
|
#define TIME_FORMAT "org.ukui.control-center.panel.plugins"
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef CURRENTTIMEINTERFACE_H
|
#ifndef CURRENTTIMEINTERFACE_H
|
||||||
#define CURRENTTIMEINTERFACE_H
|
#define CURRENTTIMEINTERFACE_H
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
@ -7,9 +24,9 @@
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
|
||||||
class CurrentTimeInterface : QObject
|
class CurrentTimeInterface : public QObject
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
CurrentTimeInterface();
|
CurrentTimeInterface();
|
||||||
~CurrentTimeInterface();
|
~CurrentTimeInterface();
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ukui_chineseletter.h"
|
#include "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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef UKUICHINESELETTER_H
|
#ifndef UKUICHINESELETTER_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ukuimenuinterface.h"
|
#include "ukuimenuinterface.h"
|
||||||
|
@ -996,7 +995,7 @@ QVector<QString> UkuiMenuInterface::getAllClassification()
|
||||||
commonVector = getCommonUseApp();
|
commonVector = getCommonUseApp();
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, desktopfpVector) {
|
Q_FOREACH(QString desktopfp, desktopfpVector) {
|
||||||
if (!commonVector.contains(desktopfp)) {
|
if (!commonVector.contains(desktopfp)) {
|
||||||
appVector.append(appInfoVector.at(index));
|
appVector.append(appInfoVector.at(index));
|
||||||
}
|
}
|
||||||
|
@ -1006,7 +1005,7 @@ QVector<QString> UkuiMenuInterface::getAllClassification()
|
||||||
|
|
||||||
qSort(appVector.begin(), appVector.end(), cmpApp);
|
qSort(appVector.begin(), appVector.end(), cmpApp);
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, commonVector) {
|
Q_FOREACH(QString desktopfp, commonVector) {
|
||||||
allAppVector.append(desktopfp);
|
allAppVector.append(desktopfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1102,7 +1101,7 @@ QVector<QString> UkuiMenuInterface::getCommonUseApp()
|
||||||
if (!g_projectCodeName.contains("V10SP1-edu")) {
|
if (!g_projectCodeName.contains("V10SP1-edu")) {
|
||||||
QVector<QString> data;
|
QVector<QString> data;
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfn, getLockAppList()) {
|
Q_FOREACH(QString desktopfn, getLockAppList()) {
|
||||||
QString desktopfp;
|
QString desktopfp;
|
||||||
|
|
||||||
if (androidDesktopfnList.contains(desktopfn)) {
|
if (androidDesktopfnList.contains(desktopfn)) {
|
||||||
|
@ -1120,7 +1119,7 @@ QVector<QString> UkuiMenuInterface::getCommonUseApp()
|
||||||
data.append(desktopfp);
|
data.append(desktopfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfn, getUnlockAllList()) {
|
Q_FOREACH(QString desktopfn, getUnlockAllList()) {
|
||||||
QString desktopfp;
|
QString desktopfp;
|
||||||
|
|
||||||
if (androidDesktopfnList.contains(desktopfn)) {
|
if (androidDesktopfnList.contains(desktopfn)) {
|
||||||
|
@ -1163,7 +1162,7 @@ QVector<QString> UkuiMenuInterface::sortDesktopList(QString group)
|
||||||
setting->endGroup();
|
setting->endGroup();
|
||||||
QVector<QString> data;
|
QVector<QString> data;
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfn, desktopfnList) {
|
Q_FOREACH(QString desktopfn, desktopfnList) {
|
||||||
QString desktopfp;
|
QString desktopfp;
|
||||||
|
|
||||||
if (androidDesktopfnList.contains(desktopfn)) {
|
if (androidDesktopfnList.contains(desktopfn)) {
|
||||||
|
@ -1181,7 +1180,7 @@ QVector<QString> UkuiMenuInterface::getCollectApp()
|
||||||
{
|
{
|
||||||
QVector<QString> data;
|
QVector<QString> data;
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfn, getCollectAppList()) {
|
Q_FOREACH(QString desktopfn, getCollectAppList()) {
|
||||||
QString desktopfp;
|
QString desktopfp;
|
||||||
|
|
||||||
if (androidDesktopfnList.contains(desktopfn)) {
|
if (androidDesktopfnList.contains(desktopfn)) {
|
||||||
|
@ -1221,7 +1220,7 @@ QVector<QString> UkuiMenuInterface::getLockApp()
|
||||||
setting->endGroup();
|
setting->endGroup();
|
||||||
QVector<QString> data;
|
QVector<QString> data;
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfn, lockdesktopfnList) {
|
Q_FOREACH(QString desktopfn, lockdesktopfnList) {
|
||||||
QString desktopfp;
|
QString desktopfp;
|
||||||
// if(androidDesktopfnList.contains(desktopfn))//如果锁的应用在安卓列表
|
// if(androidDesktopfnList.contains(desktopfn))//如果锁的应用在安卓列表
|
||||||
// desktopfp=QString(QDir::homePath()+"/.local/share/applications/"+desktopfn);
|
// desktopfp=QString(QDir::homePath()+"/.local/share/applications/"+desktopfn);
|
||||||
|
@ -1580,7 +1579,7 @@ QString UkuiMenuInterface::getAppNameInitials(QString desktopfp)
|
||||||
QStringList appnamestr = appname.split(" ");
|
QStringList appnamestr = appname.split(" ");
|
||||||
QString letters;
|
QString letters;
|
||||||
|
|
||||||
Q_FOREACH (QString name, appnamestr) {
|
Q_FOREACH(QString name, appnamestr) {
|
||||||
letters.clear();
|
letters.clear();
|
||||||
letters = UkuiChineseLetter::getFirstLettersAll(name);
|
letters = UkuiChineseLetter::getFirstLettersAll(name);
|
||||||
|
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef UKUIMENUINTERFACE_H
|
#ifndef 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "searchappthread.h"
|
#include "searchappthread.h"
|
||||||
|
@ -27,7 +26,10 @@ SearchAppThread::SearchAppThread()
|
||||||
|
|
||||||
SearchAppThread::~SearchAppThread()
|
SearchAppThread::~SearchAppThread()
|
||||||
{
|
{
|
||||||
delete m_ukuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchAppThread::run()
|
void SearchAppThread::run()
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SEARCHAPPTHREAD_H
|
#ifndef SEARCHAPPTHREAD_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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "getmodeldata.h"
|
#include "getmodeldata.h"
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
@ -9,6 +26,14 @@ GetModelData::GetModelData()
|
||||||
loadDesktopVercor();
|
loadDesktopVercor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GetModelData::~GetModelData()
|
||||||
|
{
|
||||||
|
if (m_ukuiMenuInterface != nullptr) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void GetModelData::loadDesktopVercor()
|
void GetModelData::loadDesktopVercor()
|
||||||
{
|
{
|
||||||
UkuiMenuInterface::appInfoVector.clear();
|
UkuiMenuInterface::appInfoVector.clear();
|
||||||
|
@ -27,7 +52,7 @@ QVector<QStringList> GetModelData::getMinAllData()
|
||||||
{
|
{
|
||||||
m_minAllData.clear();
|
m_minAllData.clear();
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, UkuiMenuInterface::allAppVector) {
|
Q_FOREACH(QString desktopfp, UkuiMenuInterface::allAppVector) {
|
||||||
m_minAllData.append(QStringList() << desktopfp << "1");
|
m_minAllData.append(QStringList() << desktopfp << "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,11 +65,11 @@ QStringList GetModelData::getPreCollectionApp()
|
||||||
QStringList preAppList = QStringList();
|
QStringList preAppList = QStringList();
|
||||||
QStringList preAppListExist = QStringList();
|
QStringList preAppListExist = QStringList();
|
||||||
preAppList << QString("/usr/share/applications/ukui-control-center.desktop")
|
preAppList << QString("/usr/share/applications/ukui-control-center.desktop")
|
||||||
<<QString("/usr/share/applications/kylin-weather.desktop")
|
<< QString("/usr/share/applications/kylin-weather.desktop")
|
||||||
<<QString("/usr/share/applications/kylin-software-center.desktop")
|
<< QString("/usr/share/applications/kylin-software-center.desktop")
|
||||||
<<QString("/usr/share/applications/kylin-screenshot.desktop")
|
<< QString("/usr/share/applications/kylin-screenshot.desktop")
|
||||||
<<QString("/usr/share/applications/peony.desktop");
|
<< QString("/usr/share/applications/peony.desktop");
|
||||||
Q_FOREACH (QString appDesktop,preAppList) {
|
Q_FOREACH(QString appDesktop,preAppList) {
|
||||||
if (UkuiMenuInterface::allAppVector.contains(appDesktop)) {
|
if (UkuiMenuInterface::allAppVector.contains(appDesktop)) {
|
||||||
preAppListExist.append(appDesktop);
|
preAppListExist.append(appDesktop);
|
||||||
QFileInfo fileInfo(appDesktop);
|
QFileInfo fileInfo(appDesktop);
|
||||||
|
@ -60,7 +85,7 @@ QStringList GetModelData::getcollectData()
|
||||||
{
|
{
|
||||||
m_collectData.clear();
|
m_collectData.clear();
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, UkuiMenuInterface::collectAppVector) {
|
Q_FOREACH(QString desktopfp, UkuiMenuInterface::collectAppVector) {
|
||||||
m_collectData.append(QString(desktopfp));
|
m_collectData.append(QString(desktopfp));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +108,6 @@ QVector<QStringList> GetModelData::getRecentData()
|
||||||
enumerator = new Peony::FileEnumerator(this);
|
enumerator = new Peony::FileEnumerator(this);
|
||||||
enumerator->setEnumerateDirectory("recent:///");
|
enumerator->setEnumerateDirectory("recent:///");
|
||||||
enumerator->enumerateSync();
|
enumerator->enumerateSync();
|
||||||
QString uri;
|
|
||||||
|
|
||||||
for (auto fileInfo : enumerator->getChildren()) {
|
for (auto fileInfo : enumerator->getChildren()) {
|
||||||
QStringList recentData;
|
QStringList recentData;
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef GETMODELDATA_H
|
#ifndef GETMODELDATA_H
|
||||||
#define GETMODELDATA_H
|
#define GETMODELDATA_H
|
||||||
#include "ukuimenuinterface.h"
|
#include "ukuimenuinterface.h"
|
||||||
|
@ -11,6 +28,7 @@ class GetModelData : public QObject
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GetModelData();
|
GetModelData();
|
||||||
|
~GetModelData();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "pagemanager.h"
|
#include "pagemanager.h"
|
||||||
#include "ukuimenuinterface.h"
|
#include "ukuimenuinterface.h"
|
||||||
#include "style.h"
|
#include "style.h"
|
||||||
|
@ -9,19 +26,27 @@ PageManager::PageManager()
|
||||||
m_ukuiMenuInterface->initAppIni();
|
m_ukuiMenuInterface->initAppIni();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PageManager::~PageManager()
|
||||||
|
{
|
||||||
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int PageManager::getPageNum(const int &appNum)
|
int PageManager::getPageNum(const int &appNum)
|
||||||
{
|
{
|
||||||
int pageNum = 0;
|
int pageNum = 0;
|
||||||
|
|
||||||
if (appNum / (Style::appColumnFirst * Style::appLineFirst) == 0) {
|
if (appNum / (Style::m_appColumnFirst * Style::m_appLineFirst) == 0) {
|
||||||
pageNum = 1;
|
pageNum = 1;
|
||||||
} else {
|
} else {
|
||||||
int appNumOtherPage = appNum - (Style::appColumnFirst * Style::appLineFirst);
|
int appNumOtherPage = appNum - (Style::m_appColumnFirst * Style::m_appLineFirst);
|
||||||
|
|
||||||
if (appNumOtherPage % (Style::appColumn * Style::appLine) == 0) {
|
if (appNumOtherPage % (Style::m_appColumn * Style::m_appLine) == 0) {
|
||||||
pageNum = appNumOtherPage / (Style::appColumn * Style::appLine) + 1;
|
pageNum = appNumOtherPage / (Style::m_appColumn * Style::m_appLine) + 1;
|
||||||
} else {
|
} else {
|
||||||
pageNum = appNumOtherPage / (Style::appColumn * Style::appLine) + 2;
|
pageNum = appNumOtherPage / (Style::m_appColumn * Style::m_appLine) + 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,14 +59,14 @@ QVector<QStringList> PageManager::sortAppInPage(const QVector<QString> &appVecto
|
||||||
QVector<QStringList> pageData;
|
QVector<QStringList> pageData;
|
||||||
QStringList onePageData;
|
QStringList onePageData;
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, appVector) {
|
Q_FOREACH(QString desktopfp, appVector) {
|
||||||
m_data.append(desktopfp);
|
m_data.append(desktopfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
int pageSize = getPageNum(m_data.size());
|
int pageSize = getPageNum(m_data.size());
|
||||||
onePageData.clear();
|
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) {
|
if (m_data.size() > 0) {
|
||||||
onePageData.append(m_data.at(0));
|
onePageData.append(m_data.at(0));
|
||||||
m_data.pop_front();
|
m_data.pop_front();
|
||||||
|
@ -55,7 +80,7 @@ QVector<QStringList> PageManager::sortAppInPage(const QVector<QString> &appVecto
|
||||||
for (int i = 0; i < pageSize - 1; i++) {
|
for (int i = 0; i < pageSize - 1; i++) {
|
||||||
onePageData.clear();
|
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) {
|
if (m_data.size() > 0) {
|
||||||
onePageData.append(m_data.at(0));
|
onePageData.append(m_data.at(0));
|
||||||
m_data.pop_front();
|
m_data.pop_front();
|
||||||
|
@ -79,7 +104,7 @@ QVector<QStringList> PageManager::getAppPageVector()
|
||||||
QVector<QStringList> appPagelist;
|
QVector<QStringList> appPagelist;
|
||||||
QVector<QString> allAppList = UkuiMenuInterface::tencentInitVector + UkuiMenuInterface::customizedVector + UkuiMenuInterface::thirdPartyVector + UkuiMenuInterface::applicationVector;
|
QVector<QString> 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);
|
appPagelist.append(desktopfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef PAGEMANAGER_H
|
#ifndef PAGEMANAGER_H
|
||||||
#define PAGEMANAGER_H
|
#define PAGEMANAGER_H
|
||||||
|
|
||||||
|
@ -9,6 +26,7 @@ class PageManager : public QObject
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
PageManager();
|
PageManager();
|
||||||
|
~PageManager();
|
||||||
|
|
||||||
int getPageNum(const int &appNum);
|
int getPageNum(const int &appNum);
|
||||||
QVector<QStringList> sortAppInPage(const QVector<QString> &appVector);
|
QVector<QStringList> sortAppInPage(const QVector<QString> &appVector);
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "function_classify_button.h"
|
#include "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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FUNCTIONCLASSIFYBUTTON_H
|
#ifndef FUNCTIONCLASSIFYBUTTON_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "letter_classify_button.h"
|
#include "letter_classify_button.h"
|
||||||
|
@ -167,9 +166,9 @@ void LetterClassifyButton::leaveEvent(QEvent *e)
|
||||||
|
|
||||||
if (m_fullscreen) {
|
if (m_fullscreen) {
|
||||||
QFont font;
|
QFont font;
|
||||||
font.setPixelSize(Style::LeftLetterFontSize);
|
font.setPixelSize(Style::m_leftLetterFontSize);
|
||||||
this->setFont(font);
|
this->setFont(font);
|
||||||
this->setFixedSize(Style::LeftLetterBtnHeight, Style::LeftLetterBtnHeight);
|
this->setFixedSize(Style::m_leftLetterBtnHeight, Style::m_leftLetterBtnHeight);
|
||||||
tooltip->close();
|
tooltip->close();
|
||||||
delete tooltip;
|
delete tooltip;
|
||||||
tooltip = nullptr;
|
tooltip = nullptr;
|
||||||
|
@ -195,9 +194,9 @@ void LetterClassifyButton::focusInEvent(QEvent *e)
|
||||||
|
|
||||||
if (m_fullscreen) {
|
if (m_fullscreen) {
|
||||||
QFont font;
|
QFont font;
|
||||||
font.setPixelSize(Style::LeftLetterFontSize * 3);
|
font.setPixelSize(Style::m_leftLetterFontSize * 3);
|
||||||
this->setFont(font);
|
this->setFont(font);
|
||||||
this->setFixedSize(Style::LeftLetterBtnHeight * 2, Style::LeftLetterBtnHeight * 2);
|
this->setFixedSize(Style::m_leftLetterBtnHeight * 2, Style::m_leftLetterBtnHeight * 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef LETTERCLASSIFYBUTTON_H
|
#ifndef LETTERCLASSIFYBUTTON_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tool_button.h"
|
#include "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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TOOLBUTTON_H
|
#ifndef TOOLBUTTON_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fulllistview.h"
|
#include "fulllistview.h"
|
||||||
|
@ -30,13 +29,25 @@ FullListView::FullListView(QWidget *parent, int module):
|
||||||
initWidget();
|
initWidget();
|
||||||
m_delegate = new FullItemDelegate(this, module);
|
m_delegate = new FullItemDelegate(this, module);
|
||||||
this->setItemDelegate(m_delegate);
|
this->setItemDelegate(m_delegate);
|
||||||
pUkuiMenuInterface = new UkuiMenuInterface;
|
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
FullListView::~FullListView()
|
FullListView::~FullListView()
|
||||||
{
|
{
|
||||||
delete menu;
|
if (m_rightMenu) {
|
||||||
delete gsetting;
|
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()
|
void FullListView::initWidget()
|
||||||
|
@ -84,7 +95,7 @@ void FullListView::keyPressEvent(QKeyEvent *e)
|
||||||
case Qt::Key_Left: {
|
case Qt::Key_Left: {
|
||||||
this->clearFocus();
|
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);
|
Q_EMIT sendSetslidebar(-Style::m_applistGridSizeWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +118,7 @@ void FullListView::keyPressEvent(QKeyEvent *e)
|
||||||
|
|
||||||
case Qt::Key_Up: {
|
case Qt::Key_Up: {
|
||||||
if (module == 0) {
|
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);
|
Q_EMIT sendSetslidebar(-Style::m_applistGridSizeWidth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FULLLISTVIEW_H
|
#ifndef FULLLISTVIEW_H
|
||||||
|
@ -42,9 +41,9 @@ protected:
|
||||||
void keyPressEvent(QKeyEvent *e);
|
void keyPressEvent(QKeyEvent *e);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RightClickMenu *menu = nullptr;//右键菜单
|
RightClickMenu *m_rightMenu = nullptr;//右键菜单
|
||||||
QStringList data;
|
QStringList m_data;
|
||||||
QGSettings *gsetting = nullptr;
|
QGSettings *m_gsetting = nullptr;
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void selectFirstItem();
|
void selectFirstItem();
|
||||||
|
|
|
@ -1,7 +1,25 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2022, KylinSoft Co., Ltd.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include "klistview.h"
|
#include "klistview.h"
|
||||||
#include "utility.h"
|
#include "utility.h"
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
|
#include <QtConcurrent/QtConcurrent>
|
||||||
#include "rightclickmenu.h"
|
#include "rightclickmenu.h"
|
||||||
|
|
||||||
KListView::KListView(QWidget *parent):
|
KListView::KListView(QWidget *parent):
|
||||||
|
@ -11,42 +29,47 @@ KListView::KListView(QWidget *parent):
|
||||||
|
|
||||||
KListView::~KListView()
|
KListView::~KListView()
|
||||||
{
|
{
|
||||||
delete m_delegate;
|
if (m_delegate) {
|
||||||
delete listmodel;
|
delete m_delegate;
|
||||||
delete pUkuiMenuInterface;
|
m_delegate = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_listmodel) {
|
||||||
|
delete m_listmodel;
|
||||||
|
m_listmodel = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void KListView::addData(QStringList data)
|
void KListView::addData(QStringList data)
|
||||||
{
|
{
|
||||||
listmodel = new QStandardItemModel(this);
|
m_listmodel = new QStandardItemModel(this);
|
||||||
this->setModel(listmodel);
|
this->setModel(m_listmodel);
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, data) {
|
Q_FOREACH(QString desktopfp, data) {
|
||||||
QStandardItem *item = new QStandardItem;
|
QStandardItem *item = new QStandardItem;
|
||||||
item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
||||||
listmodel->appendRow(item);
|
m_listmodel->appendRow(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void KListView::updateData(QStringList data)
|
void KListView::updateData(QStringList data)
|
||||||
{
|
{
|
||||||
listmodel->clear();
|
m_listmodel->clear();
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, data) {
|
Q_FOREACH(QString desktopfp, data) {
|
||||||
QStandardItem *item = new QStandardItem;
|
QStandardItem *item = new QStandardItem;
|
||||||
item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
||||||
listmodel->appendRow(item);
|
m_listmodel->appendRow(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void KListView::onClicked(QModelIndex index)
|
void KListView::onClicked(QModelIndex index)
|
||||||
{
|
{
|
||||||
QVariant var = listmodel->data(index, Qt::DisplayRole);
|
QVariant var = m_listmodel->data(index, Qt::DisplayRole);
|
||||||
|
|
||||||
if (var.isValid()) {
|
if (var.isValid()) {
|
||||||
QString desktopfp = var.value<QString>();
|
QString desktopfp = var.value<QString>();
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
Q_EMIT sendHideMainWindowSignal();
|
||||||
execApp(desktopfp);
|
QtConcurrent::run(execApp, QString(desktopfp));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,14 +92,21 @@ void KListView::mouseMoveEvent(QMouseEvent *e)
|
||||||
|
|
||||||
void KListView::mousePressEvent(QMouseEvent *event)
|
void KListView::mousePressEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (!(this->indexAt(event->pos()).isValid()) && event->button() == Qt::LeftButton) {
|
if ((this->indexAt(event->pos()).isValid()) && event->button() == Qt::LeftButton) {
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
m_pressApp = m_listmodel->data(this->indexAt(event->pos()), Qt::DisplayRole);
|
||||||
} else {
|
|
||||||
pressApp = listmodel->data(this->indexAt(event->pos()), Qt::DisplayRole);
|
|
||||||
}
|
}
|
||||||
return QListView::mousePressEvent(event);
|
return QListView::mousePressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KListView::mouseReleaseEvent(QMouseEvent *e)
|
||||||
|
{
|
||||||
|
if (!(this->indexAt(e->pos()).isValid()) && e->button() == Qt::LeftButton) {
|
||||||
|
Q_EMIT sendHideMainWindowSignal();
|
||||||
|
} else {
|
||||||
|
return QListView::mouseReleaseEvent(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void KListView::rightClickedSlot(const QPoint &pos)
|
void KListView::rightClickedSlot(const QPoint &pos)
|
||||||
{
|
{
|
||||||
if (!(this->selectionModel()->selectedIndexes().isEmpty())) {
|
if (!(this->selectionModel()->selectedIndexes().isEmpty())) {
|
||||||
|
@ -86,7 +116,7 @@ void KListView::rightClickedSlot(const QPoint &pos)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant var = listmodel->data(index, Qt::DisplayRole);
|
QVariant var = m_listmodel->data(index, Qt::DisplayRole);
|
||||||
QStringList strlist = var.value<QStringList>();
|
QStringList strlist = var.value<QStringList>();
|
||||||
|
|
||||||
if (strlist.count() == 1 || ((strlist.count() == 2) && (strlist.at(1).toInt() == 1))) {
|
if (strlist.count() == 1 || ((strlist.count() == 2) && (strlist.at(1).toInt() == 1))) {
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef KLISTVIEW_H
|
#ifndef KLISTVIEW_H
|
||||||
#define KLISTVIEW_H
|
#define KLISTVIEW_H
|
||||||
#include <QListView>
|
#include <QListView>
|
||||||
|
@ -15,15 +32,16 @@ public:
|
||||||
void initWidget();
|
void initWidget();
|
||||||
|
|
||||||
KItemDelegate *m_delegate = nullptr;
|
KItemDelegate *m_delegate = nullptr;
|
||||||
QStandardItemModel *listmodel = nullptr;
|
QStandardItemModel *m_listmodel = nullptr;
|
||||||
int module = 0;
|
int module = 0;
|
||||||
double transparency;
|
double m_transparency;
|
||||||
QVariant pressApp;
|
QVariant m_pressApp;
|
||||||
UkuiMenuInterface *pUkuiMenuInterface = nullptr;
|
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
|
||||||
protected:
|
protected:
|
||||||
void paintEvent(QPaintEvent *e);
|
void paintEvent(QPaintEvent *e);
|
||||||
void mousePressEvent(QMouseEvent *event);
|
void mousePressEvent(QMouseEvent *event);
|
||||||
void mouseMoveEvent(QMouseEvent *e);
|
void mouseMoveEvent(QMouseEvent *e);
|
||||||
|
void mouseReleaseEvent(QMouseEvent *e);
|
||||||
public:
|
public:
|
||||||
void addData(QStringList data);
|
void addData(QStringList data);
|
||||||
void updateData(QStringList data);
|
void updateData(QStringList data);
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "listview.h"
|
#include "listview.h"
|
||||||
|
@ -21,6 +20,7 @@
|
||||||
#include "utility.h"
|
#include "utility.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
|
#include <QtConcurrent/QtConcurrent>
|
||||||
|
|
||||||
ListView::ListView(QWidget *parent/*, int width, int height, int module*/):
|
ListView::ListView(QWidget *parent/*, int width, int height, int module*/):
|
||||||
KListView(parent)
|
KListView(parent)
|
||||||
|
@ -29,15 +29,19 @@ ListView::ListView(QWidget *parent/*, int width, int height, int module*/):
|
||||||
this->h = 540;
|
this->h = 540;
|
||||||
this->module = 1;
|
this->module = 1;
|
||||||
initWidget();
|
initWidget();
|
||||||
listmodel = new QStandardItemModel(this);
|
setAttribute(Qt::WA_AcceptTouchEvents);
|
||||||
this->setModel(listmodel);
|
m_listmodel = new QStandardItemModel(this);
|
||||||
pUkuiMenuInterface = new UkuiMenuInterface;
|
this->setModel(m_listmodel);
|
||||||
|
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||||
this->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
|
this->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||||
}
|
}
|
||||||
|
|
||||||
ListView::~ListView()
|
ListView::~ListView()
|
||||||
{
|
{
|
||||||
delete pUkuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListView::initWidget()
|
void ListView::initWidget()
|
||||||
|
@ -69,12 +73,12 @@ void ListView::initWidget()
|
||||||
void ListView::addData(QVector<QStringList> data, int module)
|
void ListView::addData(QVector<QStringList> data, int module)
|
||||||
{
|
{
|
||||||
this->module = module;
|
this->module = module;
|
||||||
listmodel->clear();
|
m_listmodel->clear();
|
||||||
|
|
||||||
Q_FOREACH (QStringList desktopfp, data) {
|
Q_FOREACH(QStringList desktopfp, data) {
|
||||||
QStandardItem *item = new QStandardItem;
|
QStandardItem *item = new QStandardItem;
|
||||||
item->setData(QVariant::fromValue<QStringList>(desktopfp), Qt::DisplayRole);
|
item->setData(QVariant::fromValue<QStringList>(desktopfp), Qt::DisplayRole);
|
||||||
listmodel->appendRow(item);
|
m_listmodel->appendRow(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_delegate = new ItemDelegate(this, module);
|
m_delegate = new ItemDelegate(this, module);
|
||||||
|
@ -83,18 +87,33 @@ void ListView::addData(QVector<QStringList> data, int module)
|
||||||
|
|
||||||
void ListView::updateData(QVector<QStringList> data)
|
void ListView::updateData(QVector<QStringList> data)
|
||||||
{
|
{
|
||||||
listmodel->clear();
|
m_listmodel->clear();
|
||||||
|
|
||||||
Q_FOREACH (QStringList desktopfp, data) {
|
Q_FOREACH(QStringList desktopfp, data) {
|
||||||
QStandardItem *item = new QStandardItem;
|
QStandardItem *item = new QStandardItem;
|
||||||
item->setData(QVariant::fromValue<QStringList>(desktopfp), Qt::DisplayRole);
|
item->setData(QVariant::fromValue<QStringList>(desktopfp), Qt::DisplayRole);
|
||||||
listmodel->appendRow(item);
|
m_listmodel->appendRow(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ListView::event(QEvent *e)
|
||||||
|
{
|
||||||
|
switch (e->type()) {
|
||||||
|
case QEvent::TouchBegin:
|
||||||
|
m_scrollbarState = false;
|
||||||
|
break;
|
||||||
|
case QEvent::ChildRemoved:
|
||||||
|
m_scrollbarState = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return QListView::event(e);
|
||||||
|
}
|
||||||
|
|
||||||
void ListView::onClicked(QModelIndex index)
|
void ListView::onClicked(QModelIndex index)
|
||||||
{
|
{
|
||||||
QVariant var = listmodel->data(index, Qt::DisplayRole);
|
QVariant var = m_listmodel->data(index, Qt::DisplayRole);
|
||||||
QString desktopfp = var.value<QStringList>().at(0);
|
QString desktopfp = var.value<QStringList>().at(0);
|
||||||
|
|
||||||
if (var.isValid()) {
|
if (var.isValid()) {
|
||||||
|
@ -108,7 +127,7 @@ void ListView::onClicked(QModelIndex index)
|
||||||
Q_EMIT sendAppClassificationBtnClicked();
|
Q_EMIT sendAppClassificationBtnClicked();
|
||||||
} else {
|
} else {
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
Q_EMIT sendHideMainWindowSignal();
|
||||||
execApp(desktopfp);
|
QtConcurrent::run(execApp, QString(desktopfp));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,14 +135,18 @@ void ListView::onClicked(QModelIndex index)
|
||||||
void ListView::enterEvent(QEvent *e)
|
void ListView::enterEvent(QEvent *e)
|
||||||
{
|
{
|
||||||
Q_UNUSED(e);
|
Q_UNUSED(e);
|
||||||
this->selectionModel()->clear();
|
if (m_scrollbarState) {
|
||||||
this->verticalScrollBar()->setVisible(true);
|
this->selectionModel()->clear();
|
||||||
|
verticalScrollBar()->setVisible(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListView::leaveEvent(QEvent *e)
|
void ListView::leaveEvent(QEvent *e)
|
||||||
{
|
{
|
||||||
Q_UNUSED(e);
|
Q_UNUSED(e);
|
||||||
this->verticalScrollBar()->setVisible(false);
|
if (m_scrollbarState) {
|
||||||
|
verticalScrollBar()->setVisible(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListView::paintEvent(QPaintEvent *e)
|
void ListView::paintEvent(QPaintEvent *e)
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef LISTVIEW_H
|
#ifndef LISTVIEW_H
|
||||||
|
@ -50,11 +49,12 @@ protected:
|
||||||
void leaveEvent(QEvent *e) Q_DECL_OVERRIDE;
|
void leaveEvent(QEvent *e) Q_DECL_OVERRIDE;
|
||||||
void paintEvent(QPaintEvent *e) override;
|
void paintEvent(QPaintEvent *e) override;
|
||||||
void keyPressEvent(QKeyEvent *e);
|
void keyPressEvent(QKeyEvent *e);
|
||||||
|
bool event(QEvent *e);
|
||||||
private:
|
private:
|
||||||
int w = 0;
|
int w = 0;
|
||||||
int h = 0;
|
int h = 0;
|
||||||
int m_preRowCount;
|
int m_preRowCount;
|
||||||
|
bool m_scrollbarState = true;
|
||||||
|
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rightlistview.h"
|
#include "rightlistview.h"
|
||||||
|
@ -22,6 +21,7 @@
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QGSettings>
|
#include <QGSettings>
|
||||||
|
#include <QtConcurrent/QtConcurrent>
|
||||||
|
|
||||||
RightListView::RightListView(QWidget *parent):
|
RightListView::RightListView(QWidget *parent):
|
||||||
KListView(parent)
|
KListView(parent)
|
||||||
|
@ -29,12 +29,16 @@ RightListView::RightListView(QWidget *parent):
|
||||||
initWidget();
|
initWidget();
|
||||||
m_delegate = new RightItemDelegate(this);
|
m_delegate = new RightItemDelegate(this);
|
||||||
this->setItemDelegate(m_delegate);
|
this->setItemDelegate(m_delegate);
|
||||||
pUkuiMenuInterface = new UkuiMenuInterface;
|
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
RightListView::~RightListView()
|
RightListView::~RightListView()
|
||||||
{
|
{
|
||||||
delete pUkuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RightListView::initWidget()
|
void RightListView::initWidget()
|
||||||
|
@ -68,11 +72,11 @@ void RightListView::dropEvent(QDropEvent *event)
|
||||||
m_dropPos = event->pos();
|
m_dropPos = event->pos();
|
||||||
|
|
||||||
if (this->indexAt(m_dropPos).isValid()) {
|
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<QString>();
|
QString desktopfp = var.value<QString>();
|
||||||
QFileInfo fileInfo(desktopfp);
|
QFileInfo fileInfo(desktopfp);
|
||||||
QString desktopfn = fileInfo.fileName();
|
QString desktopfn = fileInfo.fileName();
|
||||||
QString dragDesktopfp = pressApp.value<QString>();
|
QString dragDesktopfp = m_pressApp.value<QString>();
|
||||||
QFileInfo dragFileInfo(dragDesktopfp);
|
QFileInfo dragFileInfo(dragDesktopfp);
|
||||||
QString dragDesktopfn = dragFileInfo.fileName();
|
QString dragDesktopfn = dragFileInfo.fileName();
|
||||||
changeCollectSort(dragDesktopfn, desktopfn);
|
changeCollectSort(dragDesktopfn, desktopfn);
|
||||||
|
@ -128,12 +132,12 @@ void RightListView::keyPressEvent(QKeyEvent *e)
|
||||||
|
|
||||||
void RightListView::onClicked(QModelIndex index)
|
void RightListView::onClicked(QModelIndex index)
|
||||||
{
|
{
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
QVariant var = m_listmodel->data(index, Qt::DisplayRole);
|
||||||
QVariant var = listmodel->data(index, Qt::DisplayRole);
|
|
||||||
QString desktopfp = var.value<QStringList>().at(0);
|
QString desktopfp = var.value<QStringList>().at(0);
|
||||||
if (var.isValid()) {
|
if (var.isValid()) {
|
||||||
QString desktopfp = var.value<QString>();
|
QString desktopfp = var.value<QString>();
|
||||||
execApp(desktopfp);
|
Q_EMIT sendHideMainWindowSignal();
|
||||||
|
QtConcurrent::run(execApp, QString(desktopfp));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef RIGHTLISTVIEW_H
|
#ifndef RIGHTLISTVIEW_H
|
||||||
#define RIGHTLISTVIEW_H
|
#define RIGHTLISTVIEW_H
|
||||||
#include <QListView>
|
#include <QListView>
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tabletlistview.h"
|
#include "tabletlistview.h"
|
||||||
|
@ -150,7 +149,7 @@ void TabletListView::addData(QStringList data)
|
||||||
listmodel = new QStandardItemModel(this);
|
listmodel = new QStandardItemModel(this);
|
||||||
this->setModel(listmodel);
|
this->setModel(listmodel);
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, data) {
|
Q_FOREACH(QString desktopfp, data) {
|
||||||
QStandardItem *item = new QStandardItem;
|
QStandardItem *item = new QStandardItem;
|
||||||
item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
||||||
bool appDis = appDisable(desktopfp);
|
bool appDis = appDisable(desktopfp);
|
||||||
|
@ -166,7 +165,7 @@ void TabletListView::updateData(QStringList data)
|
||||||
{
|
{
|
||||||
listmodel->clear();
|
listmodel->clear();
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, data) {
|
Q_FOREACH(QString desktopfp, data) {
|
||||||
QStandardItem *p_item = new QStandardItem;
|
QStandardItem *p_item = new QStandardItem;
|
||||||
p_item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
p_item->setData(QVariant::fromValue<QString>(desktopfp), Qt::DisplayRole);
|
||||||
bool appDis = appDisable(desktopfp);
|
bool appDis = appDisable(desktopfp);
|
||||||
|
@ -312,15 +311,15 @@ void TabletListView::mousePressEvent(QMouseEvent *event)
|
||||||
//左键
|
//左键
|
||||||
myDebug() << "左键点击,当前点坐标" << event->pos();
|
myDebug() << "左键点击,当前点坐标" << event->pos();
|
||||||
|
|
||||||
if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && (((pressedpos.x() % Style::TabletItemSizeWidthFirst) >= Style::FirstPageSpace) &&
|
if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && (((pressedpos.x() % Style::m_tabletItemSizeWidthFirst) >= Style::m_firstPageSpace) &&
|
||||||
((pressedpos.x() % Style::TabletItemSizeWidthFirst) <= (Style::FirstPageSpace + Style::AppListIconSize)) &&
|
((pressedpos.x() % Style::m_tabletItemSizeWidthFirst) <= (Style::m_firstPageSpace + Style::m_appListIconSize)) &&
|
||||||
((pressedpos.y() % Style::AppListItemSizeHeight) >= Style::AppTopSpace) &&
|
((pressedpos.y() % Style::m_appListItemSizeHeight) >= Style::m_appTopSpace) &&
|
||||||
((pressedpos.y() % Style::AppListItemSizeHeight) <= (Style::AppTopSpace + Style::AppListIconSize)))) ||
|
((pressedpos.y() % Style::m_appListItemSizeHeight) <= (Style::m_appTopSpace + Style::m_appListIconSize)))) ||
|
||||||
((this->indexAt(event->pos()).isValid()) && (m_pageNum == OTHERPAGE) &&
|
((this->indexAt(event->pos()).isValid()) && (m_pageNum == OTHERPAGE) &&
|
||||||
(pressedpos.x() % Style::TabletItemSizeWidthOther >= Style::OtherPageSpace &&
|
(pressedpos.x() % Style::m_tabletItemSizeWidthOther >= Style::m_otherPageSpace &&
|
||||||
pressedpos.x() % Style::TabletItemSizeWidthOther <= Style::OtherPageSpace + Style::AppListIconSize &&
|
pressedpos.x() % Style::m_tabletItemSizeWidthOther <= Style::m_otherPageSpace + Style::m_appListIconSize &&
|
||||||
pressedpos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
|
pressedpos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
|
||||||
pressedpos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize))) {
|
pressedpos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize))) {
|
||||||
pressApp = listmodel->data(this->indexAt(pressedpos), Qt::DisplayRole);
|
pressApp = listmodel->data(this->indexAt(pressedpos), Qt::DisplayRole);
|
||||||
iconClick = true;
|
iconClick = true;
|
||||||
startPos = event->pos();
|
startPos = event->pos();
|
||||||
|
@ -337,15 +336,15 @@ void TabletListView::mousePressEvent(QMouseEvent *event)
|
||||||
//右键
|
//右键
|
||||||
myDebug() << "右键点击,当前点坐标" << event->pos();
|
myDebug() << "右键点击,当前点坐标" << event->pos();
|
||||||
|
|
||||||
if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && ((pressedpos.x()) % Style::TabletItemSizeWidthFirst >= Style::FirstPageSpace &&
|
if (((this->indexAt(event->pos()).isValid()) && (m_pageNum == FIRSTPAGE) && ((pressedpos.x()) % Style::m_tabletItemSizeWidthFirst >= Style::m_firstPageSpace &&
|
||||||
(pressedpos.x()) % Style::TabletItemSizeWidthFirst <= Style::FirstPageSpace + Style::AppListIconSize &&
|
(pressedpos.x()) % Style::m_tabletItemSizeWidthFirst <= Style::m_firstPageSpace + Style::m_appListIconSize &&
|
||||||
pressedpos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
|
pressedpos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
|
||||||
pressedpos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize)) ||
|
pressedpos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize)) ||
|
||||||
((this->indexAt(event->pos()).isValid()) && (m_pageNum == OTHERPAGE) &&
|
((this->indexAt(event->pos()).isValid()) && (m_pageNum == OTHERPAGE) &&
|
||||||
(pressedpos.x() % Style::TabletItemSizeWidthOther >= Style::OtherPageSpace &&
|
(pressedpos.x() % Style::m_tabletItemSizeWidthOther >= Style::m_otherPageSpace &&
|
||||||
pressedpos.x() % Style::TabletItemSizeWidthOther <= Style::OtherPageSpace + Style::AppListIconSize &&
|
pressedpos.x() % Style::m_tabletItemSizeWidthOther <= Style::m_otherPageSpace + Style::m_appListIconSize &&
|
||||||
pressedpos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
|
pressedpos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
|
||||||
pressedpos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize))) {
|
pressedpos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize))) {
|
||||||
pressApp = listmodel->data(this->indexAt(pressedpos), Qt::DisplayRole);
|
pressApp = listmodel->data(this->indexAt(pressedpos), Qt::DisplayRole);
|
||||||
right_iconClick = true;
|
right_iconClick = true;
|
||||||
right_pressedpos = pressedpos;
|
right_pressedpos = pressedpos;
|
||||||
|
@ -362,6 +361,7 @@ void TabletListView::mousePressEvent(QMouseEvent *event)
|
||||||
|
|
||||||
void TabletListView::mouseMoveEvent(QMouseEvent *event)
|
void TabletListView::mouseMoveEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
|
myDebug();
|
||||||
if (event->buttons() & Qt::LeftButton & this->indexAt(event->pos()).isValid()) {
|
if (event->buttons() & Qt::LeftButton & this->indexAt(event->pos()).isValid()) {
|
||||||
if (iconClick) {
|
if (iconClick) {
|
||||||
if ((event->pos() - startPos).manhattanLength() >= QApplication::startDragDistance()) {
|
if ((event->pos() - startPos).manhattanLength() >= QApplication::startDragDistance()) {
|
||||||
|
@ -408,17 +408,17 @@ void TabletListView::dragMoveEvent(QDragMoveEvent *event)
|
||||||
m_time->start(500);
|
m_time->start(500);
|
||||||
|
|
||||||
if (m_pageNum == OTHERPAGE) {
|
if (m_pageNum == OTHERPAGE) {
|
||||||
if (event->pos().x() >= (Style::OtherPageViewWidth - (Style::OtherPageSpace / 2)) || 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::OtherPageSpace / 2)) {
|
if (event->pos().x() <= (Style::m_otherPageSpace / 2)) {
|
||||||
Q_EMIT pagenumchanged(false);
|
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);
|
Q_EMIT pagenumchanged(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} 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);
|
Q_EMIT pagenumchanged(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -429,12 +429,14 @@ void TabletListView::dragMoveEvent(QDragMoveEvent *event)
|
||||||
|
|
||||||
void TabletListView::dragEnterEvent(QDragEnterEvent *event)
|
void TabletListView::dragEnterEvent(QDragEnterEvent *event)
|
||||||
{
|
{
|
||||||
|
myDebug();
|
||||||
iconClick = true;
|
iconClick = true;
|
||||||
event->accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabletListView::dropEvent(QDropEvent *event)
|
void TabletListView::dropEvent(QDropEvent *event)
|
||||||
{
|
{
|
||||||
|
myDebug();
|
||||||
dropPos = event->pos();
|
dropPos = event->pos();
|
||||||
pressDesktopfp = (QString)event->mimeData()->data("INFO");
|
pressDesktopfp = (QString)event->mimeData()->data("INFO");
|
||||||
insertApplication(startPos, dropPos);
|
insertApplication(startPos, dropPos);
|
||||||
|
@ -442,6 +444,7 @@ void TabletListView::dropEvent(QDropEvent *event)
|
||||||
}
|
}
|
||||||
void TabletListView::mouseReleaseEvent(QMouseEvent *e)
|
void TabletListView::mouseReleaseEvent(QMouseEvent *e)
|
||||||
{
|
{
|
||||||
|
myDebug();
|
||||||
releasepos = e->pos();//释放的位置坐标
|
releasepos = e->pos();//释放的位置坐标
|
||||||
|
|
||||||
if (iconClick) {
|
if (iconClick) {
|
||||||
|
@ -503,9 +506,9 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
|
||||||
QString desktopfn2 = fileInfo2.fileName();
|
QString desktopfn2 = fileInfo2.fileName();
|
||||||
|
|
||||||
if (m_pageNum == FIRSTPAGE) {
|
if (m_pageNum == FIRSTPAGE) {
|
||||||
releasepos.setX(releasepos.x() + Style::OtherPageSpace);
|
releasepos.setX(releasepos.x() + Style::m_otherPageSpace);
|
||||||
} else {
|
} else {
|
||||||
releasepos.setX(releasepos.x() + Style::FirstPageSpace);
|
releasepos.setX(releasepos.x() + Style::m_firstPageSpace);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant var3 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//释放位置右侧有应用
|
QVariant var3 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//释放位置右侧有应用
|
||||||
|
@ -514,9 +517,9 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
|
||||||
QString desktopfn3 = fileInfo3.fileName();
|
QString desktopfn3 = fileInfo3.fileName();
|
||||||
|
|
||||||
if (m_pageNum == FIRSTPAGE) {
|
if (m_pageNum == FIRSTPAGE) {
|
||||||
releasepos.setX(releasepos.x() - (Style::OtherPageSpace * 2));
|
releasepos.setX(releasepos.x() - (Style::m_otherPageSpace * 2));
|
||||||
} else {
|
} 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);//右侧没有左侧有
|
QVariant var4 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//右侧没有左侧有
|
||||||
|
@ -620,22 +623,22 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
|
||||||
QFileInfo fileInfo2(pressDesktopfp);
|
QFileInfo fileInfo2(pressDesktopfp);
|
||||||
QString desktopfn2 = fileInfo2.fileName();
|
QString desktopfn2 = fileInfo2.fileName();
|
||||||
|
|
||||||
if (((this->indexAt(releasepos).isValid()) && (m_pageNum == FIRSTPAGE) && ((releasepos.x()) % Style::TabletItemSizeWidthFirst >= Style::FirstPageSpace &&
|
if (((this->indexAt(releasepos).isValid()) && (m_pageNum == FIRSTPAGE) && ((releasepos.x()) % Style::m_tabletItemSizeWidthFirst >= Style::m_firstPageSpace &&
|
||||||
(releasepos.x()) % Style::TabletItemSizeWidthFirst <= Style::FirstPageSpace + Style::AppListIconSize &&
|
(releasepos.x()) % Style::m_tabletItemSizeWidthFirst <= Style::m_firstPageSpace + Style::m_appListIconSize &&
|
||||||
releasepos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
|
releasepos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
|
||||||
releasepos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize)) ||
|
releasepos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize)) ||
|
||||||
((this->indexAt(releasepos).isValid()) && (m_pageNum == OTHERPAGE) &&
|
((this->indexAt(releasepos).isValid()) && (m_pageNum == OTHERPAGE) &&
|
||||||
(releasepos.x() % Style::TabletItemSizeWidthOther >= Style::OtherPageSpace &&
|
(releasepos.x() % Style::m_tabletItemSizeWidthOther >= Style::m_otherPageSpace &&
|
||||||
releasepos.x() % Style::TabletItemSizeWidthOther <= Style::OtherPageSpace + Style::AppListIconSize &&
|
releasepos.x() % Style::m_tabletItemSizeWidthOther <= Style::m_otherPageSpace + Style::m_appListIconSize &&
|
||||||
releasepos.y() % Style::AppListItemSizeHeight >= Style::AppTopSpace &&
|
releasepos.y() % Style::m_appListItemSizeHeight >= Style::m_appTopSpace &&
|
||||||
releasepos.y() % Style::AppListItemSizeHeight <= Style::AppTopSpace + Style::AppListIconSize))) {
|
releasepos.y() % Style::m_appListItemSizeHeight <= Style::m_appTopSpace + Style::m_appListIconSize))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_pageNum == FIRSTPAGE) {
|
if (m_pageNum == FIRSTPAGE) {
|
||||||
releasepos.setX(releasepos.x() + Style::FirstPageSpace);
|
releasepos.setX(releasepos.x() + Style::m_firstPageSpace);
|
||||||
} else {
|
} else {
|
||||||
releasepos.setX(releasepos.x() + Style::OtherPageSpace);
|
releasepos.setX(releasepos.x() + Style::m_otherPageSpace);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant var3 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//释放位置右侧有应用
|
QVariant var3 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//释放位置右侧有应用
|
||||||
|
@ -644,9 +647,9 @@ void TabletListView::insertApplication(QPoint pressedpos, QPoint releasepos)
|
||||||
QString desktopfn3 = fileInfo3.fileName();
|
QString desktopfn3 = fileInfo3.fileName();
|
||||||
|
|
||||||
if (m_pageNum == FIRSTPAGE) {
|
if (m_pageNum == FIRSTPAGE) {
|
||||||
releasepos.setX(releasepos.x() - Style::FirstPageSpace * 2);
|
releasepos.setX(releasepos.x() - Style::m_firstPageSpace * 2);
|
||||||
} else {
|
} 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);//右侧没有左侧有
|
QVariant var4 = listmodel->data(this->indexAt(releasepos), Qt::DisplayRole);//右侧没有左侧有
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TABLETLISTVIEW_H
|
#ifndef 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "classify_btn_scrollarea.h"
|
#include "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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CLASSIFYSCROLLAREA_H
|
#ifndef CLASSIFYSCROLLAREA_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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "lettertooltip.h"
|
#include "lettertooltip.h"
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef LETTERTOOLTIP_H
|
#ifndef LETTERTOOLTIP_H
|
||||||
#define LETTERTOOLTIP_H
|
#define LETTERTOOLTIP_H
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "rotationlabel.h"
|
#include "rotationlabel.h"
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include "utility.h"
|
||||||
|
|
||||||
RotationLabel::RotationLabel(QWidget *parent)
|
RotationLabel::RotationLabel(QWidget *parent)
|
||||||
: QLabel(parent)
|
: QLabel(parent)
|
||||||
|
@ -32,6 +50,11 @@ void RotationLabel::paintEvent(QPaintEvent *event)
|
||||||
return QLabel::paintEvent(event);
|
return QLabel::paintEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RotationLabel::mouseReleaseEvent(QMouseEvent *ev)
|
||||||
|
{
|
||||||
|
Q_UNUSED(ev);
|
||||||
|
}
|
||||||
|
|
||||||
void RotationLabel::setIcon(const QPixmap &pixmap)
|
void RotationLabel::setIcon(const QPixmap &pixmap)
|
||||||
{
|
{
|
||||||
m_pixmap = pixmap;
|
m_pixmap = pixmap;
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef ROTATIONLABEL_H
|
#ifndef ROTATIONLABEL_H
|
||||||
#define ROTATIONLABEL_H
|
#define ROTATIONLABEL_H
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
@ -13,6 +30,7 @@ protected:
|
||||||
int rotation();
|
int rotation();
|
||||||
void setRotation(int rot);
|
void setRotation(int rot);
|
||||||
void paintEvent(QPaintEvent *event);
|
void paintEvent(QPaintEvent *event);
|
||||||
|
void mouseReleaseEvent(QMouseEvent *ev);
|
||||||
private:
|
private:
|
||||||
int m_rotation = 0;
|
int m_rotation = 0;
|
||||||
QPixmap m_pixmap;
|
QPixmap m_pixmap;
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "scrollarea.h"
|
#include "scrollarea.h"
|
||||||
|
@ -74,23 +73,13 @@ void ScrollAreaWid::paintEvent(QPaintEvent *event)
|
||||||
|
|
||||||
ScrollArea::ScrollArea()
|
ScrollArea::ScrollArea()
|
||||||
{
|
{
|
||||||
// this->verticalScrollBar()->setVisible(false);
|
this->setFocusPolicy(Qt::NoFocus);
|
||||||
// this->setFocusPolicy(Qt::NoFocus);
|
this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||||
//// this->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||||
this->setFixedWidth(1330);
|
|
||||||
// this->verticalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
|
|
||||||
this->setFrameShape(QFrame::NoFrame);
|
this->setFrameShape(QFrame::NoFrame);
|
||||||
// this->verticalScrollBar()->setProperty("drawScrollBarGroove",false);
|
|
||||||
// this->verticalScrollBar()->setAttribute(Qt::WA_TranslucentBackground, false);
|
|
||||||
this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
|
||||||
this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
|
||||||
this->verticalScrollBar()->setVisible(false);
|
this->verticalScrollBar()->setVisible(false);
|
||||||
//滚动条设置
|
this->horizontalScrollBar()->setVisible(false);
|
||||||
QPalette p = this->verticalScrollBar()->palette();
|
this->setStyleSheet("QWidget{background:transparent;}");
|
||||||
QColor color(255, 255, 255);
|
|
||||||
color.setAlphaF(0.25);
|
|
||||||
p.setColor(QPalette::Active, QPalette::Button, color);
|
|
||||||
this->verticalScrollBar()->setPalette(p);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScrollArea::setFocusToNextChild()
|
void ScrollArea::setFocusToNextChild()
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SCROLLAREA_H
|
#ifndef SCROLLAREA_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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "menubox.h"
|
#include "menubox.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef MENUBOX_H
|
#ifndef MENUBOX_H
|
||||||
#define MENUBOX_H
|
#define MENUBOX_H
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rightclickmenu.h"
|
#include "rightclickmenu.h"
|
||||||
|
@ -47,8 +46,15 @@ RightClickMenu::RightClickMenu(QWidget *parent):
|
||||||
|
|
||||||
RightClickMenu::~RightClickMenu()
|
RightClickMenu::~RightClickMenu()
|
||||||
{
|
{
|
||||||
delete m_cmdProc;
|
if (m_cmdProc) {
|
||||||
delete m_ukuiMenuInterface;
|
delete m_cmdProc;
|
||||||
|
m_cmdProc = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap RightClickMenu::getIconPixmap(QString iconstr, int type)
|
QPixmap RightClickMenu::getIconPixmap(QString iconstr, int type)
|
||||||
|
@ -101,6 +107,36 @@ void RightClickMenu::removeFromCollectionActionTriggerSlot()
|
||||||
m_actionNumber = 18;
|
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<QVariant> 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<QVariant> reply = interface.call("Get","org.freedesktop.DisplayManager.Seat","CanSwitch");
|
||||||
|
return reply.value().toBool();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void RightClickMenu::fixToTaskbarActionTriggerSlot()
|
void RightClickMenu::fixToTaskbarActionTriggerSlot()
|
||||||
{
|
{
|
||||||
QDBusInterface iface("com.ukui.panel.desktop",
|
QDBusInterface iface("com.ukui.panel.desktop",
|
||||||
|
@ -265,26 +301,26 @@ int RightClickMenu::showShutdownMenu(const QPoint &pos, const bool &isFullWind)
|
||||||
{
|
{
|
||||||
m_actionNumber = 0;
|
m_actionNumber = 0;
|
||||||
MenuBox m_showShutMenu;
|
MenuBox m_showShutMenu;
|
||||||
|
QDBusReply<bool> reply;
|
||||||
connect(&m_showShutMenu, &MenuBox::sendMainWinActiveSignal, this, &RightClickMenu::sendMainWinActiveSignal);
|
connect(&m_showShutMenu, &MenuBox::sendMainWinActiveSignal, this, &RightClickMenu::sendMainWinActiveSignal);
|
||||||
QDBusInterface iface(DBUS_SESSION_NAME, DBUS_SESSION_PATH,
|
QDBusInterface iface(DBUS_SESSION_NAME, DBUS_SESSION_PATH,
|
||||||
DBUS_SESSION_INTERFACE, QDBusConnection::sessionBus());
|
DBUS_SESSION_INTERFACE, QDBusConnection::sessionBus());
|
||||||
QDBusReply<bool> 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"),
|
m_showShutMenu.addAction(QIcon(getIconPixmap("stock-people-symbolic", 1)), tr("Switch user"),
|
||||||
this, SLOT(switchUserActionTriggerSlot()));
|
this, SLOT(switchUserActionTriggerSlot()));
|
||||||
}
|
}
|
||||||
|
|
||||||
reply = iface.call("canHibernate");
|
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"),
|
m_showShutMenu.addAction(QIcon(getIconPixmap("kylin-sleep-symbolic", 1)), tr("Hibernate"),
|
||||||
this, SLOT(hibernateActionTriggerSlot()));
|
this, SLOT(hibernateActionTriggerSlot()));
|
||||||
}
|
}
|
||||||
|
|
||||||
reply = iface.call("canSuspend");
|
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"),
|
m_showShutMenu.addAction(QIcon(getIconPixmap("kylin-hebernate-symbolic", 1)), tr("Sleep"),
|
||||||
this, SLOT(sleepActionTriggerSlot()));
|
this, SLOT(sleepActionTriggerSlot()));
|
||||||
}
|
}
|
||||||
|
@ -293,21 +329,21 @@ int RightClickMenu::showShutdownMenu(const QPoint &pos, const bool &isFullWind)
|
||||||
this, SLOT(lockScreenActionTriggerSlot()));
|
this, SLOT(lockScreenActionTriggerSlot()));
|
||||||
reply = iface.call("canLogout");
|
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"),
|
m_showShutMenu.addAction(QIcon(getIconPixmap("system-logout-symbolic", 1)), tr("Log Out"),
|
||||||
this, SLOT(logoutActionTriggerSlot()));
|
this, SLOT(logoutActionTriggerSlot()));
|
||||||
}
|
}
|
||||||
|
|
||||||
reply = iface.call("canReboot");
|
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"),
|
m_showShutMenu.addAction(QIcon(getIconPixmap("system-restart-symbolic", 1)), tr("Restart"),
|
||||||
this, SLOT(rebootActionTriggerSlot()));
|
this, SLOT(rebootActionTriggerSlot()));
|
||||||
}
|
}
|
||||||
|
|
||||||
reply = iface.call("canPowerOff");
|
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"),
|
m_showShutMenu.addAction(QIcon(getIconPixmap("exit-symbolic", 1)), tr("Power Off"),
|
||||||
this, SLOT(shutdownActionTriggerSlot()));
|
this, SLOT(shutdownActionTriggerSlot()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef RIGHTCLICKMENU_H
|
#ifndef RIGHTCLICKMENU_H
|
||||||
|
@ -78,7 +77,6 @@ private:
|
||||||
int m_actionNumber;
|
int m_actionNumber;
|
||||||
QProcess *m_cmdProc = nullptr;
|
QProcess *m_cmdProc = nullptr;
|
||||||
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
|
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
|
||||||
|
|
||||||
QStringList m_whiteList;
|
QStringList m_whiteList;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -92,6 +90,10 @@ protected:
|
||||||
*/
|
*/
|
||||||
QPixmap getIconPixmap(QString iconstr, int type);
|
QPixmap getIconPixmap(QString iconstr, int type);
|
||||||
|
|
||||||
|
bool hasMultipleUsers();
|
||||||
|
|
||||||
|
bool canSwitch();
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
/**
|
/**
|
||||||
* @brief Fixed to all software
|
* @brief Fixed to all software
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tabletrightclickmenu.h"
|
#include "tabletrightclickmenu.h"
|
||||||
|
@ -119,7 +118,7 @@ void TabletRightClickMenu::unfixedFromAllActionTriggerSlot()
|
||||||
QString desktopfn = fileInfo.fileName();
|
QString desktopfn = fileInfo.fileName();
|
||||||
m_setting->beginGroup("lockapplication");
|
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()) {
|
if (m_setting->value(desktop).toInt() > m_setting->value(desktopfn).toInt()) {
|
||||||
m_setting->setValue(desktop, m_setting->value(desktop).toInt() - 1);
|
m_setting->setValue(desktop, m_setting->value(desktop).toInt() - 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TABLETRIGHTCLICKMENU_H
|
#ifndef 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "full_item_delegate.h"
|
#include "full_item_delegate.h"
|
||||||
|
@ -24,12 +23,15 @@ FullItemDelegate::FullItemDelegate(QObject *parent, int module):
|
||||||
KItemDelegate(parent)
|
KItemDelegate(parent)
|
||||||
{
|
{
|
||||||
this->module = module;
|
this->module = module;
|
||||||
pUkuiMenuInterface = new UkuiMenuInterface;
|
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
FullItemDelegate::~FullItemDelegate()
|
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
|
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->save();
|
||||||
painter->setOpacity(1);
|
painter->setOpacity(1);
|
||||||
QString desktopfp = index.data(Qt::DisplayRole).value<QString>();
|
QString desktopfp = index.data(Qt::DisplayRole).value<QString>();
|
||||||
QString iconstr = pUkuiMenuInterface->getAppIcon(desktopfp);
|
QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfp);
|
||||||
QIcon icon;
|
QIcon icon;
|
||||||
QFileInfo iconFileInfo(iconstr);
|
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 iconRect;
|
||||||
QRect textRect;
|
QRect textRect;
|
||||||
iconRect = QRect(rect.x() + (rect.width() - Style::AppListIconSize) / 2,
|
iconRect = QRect(rect.x() + (rect.width() - Style::m_appListIconSize) / 2,
|
||||||
rect.y() + 20,
|
rect.y() + Style::m_appTopSpace,
|
||||||
Style::AppListIconSize,
|
Style::m_appListIconSize,
|
||||||
Style::AppListIconSize);
|
Style::m_appListIconSize);
|
||||||
icon.paint(painter, iconRect);
|
icon.paint(painter, iconRect);
|
||||||
painter->restore();
|
painter->restore();
|
||||||
painter->save();
|
painter->save();
|
||||||
|
@ -140,9 +142,9 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
|
||||||
|
|
||||||
painter->restore();
|
painter->restore();
|
||||||
textRect = QRect(rect.x() + 5,
|
textRect = QRect(rect.x() + 5,
|
||||||
iconRect.bottom() + Style::AppSpaceBetweenIconText,
|
iconRect.bottom() + Style::m_appSpaceBetweenIconText,
|
||||||
rect.width() - 10,
|
rect.width() - 10,
|
||||||
rect.height() - iconRect.height() - Style::AppSpaceBetweenIconText);
|
Style::m_appTextRectHeight);
|
||||||
painter->save();
|
painter->save();
|
||||||
//添加最近安装蓝色标签
|
//添加最近安装蓝色标签
|
||||||
bool is_recentapp = false;
|
bool is_recentapp = false;
|
||||||
|
@ -153,9 +155,9 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
|
||||||
is_recentapp = true;
|
is_recentapp = true;
|
||||||
appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 23, Qt::TextShowMnemonic);
|
appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 23, Qt::TextShowMnemonic);
|
||||||
textRect = QRect(rect.x() + 18,
|
textRect = QRect(rect.x() + 18,
|
||||||
iconRect.bottom() + Style::AppSpaceBetweenIconText,
|
iconRect.bottom() + Style::m_appSpaceBetweenIconText,
|
||||||
rect.width() - 23,
|
rect.width() - 23,
|
||||||
rect.height() - iconRect.height() - Style::AppSpaceBetweenIconText);
|
Style::m_appTextRectHeight);
|
||||||
painter->setPen(QPen(Qt::NoPen));
|
painter->setPen(QPen(Qt::NoPen));
|
||||||
painter->setBrush(QColor("#4d94ff"));
|
painter->setBrush(QColor("#4d94ff"));
|
||||||
int x = 0;
|
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
|
QSize FullItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
|
||||||
{
|
{
|
||||||
return QSize(Style::AppListItemSizeWidth, Style::AppListItemSizeWidth);
|
return QSize(Style::m_appListItemSizeWidth, Style::m_appListItemSizeWidth);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FULLITEMDELEGATE_H
|
#ifndef FULLITEMDELEGATE_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "itemdelegate.h"
|
#include "itemdelegate.h"
|
||||||
|
@ -26,12 +25,15 @@ ItemDelegate::ItemDelegate(QObject *parent, int module):
|
||||||
KItemDelegate(parent)
|
KItemDelegate(parent)
|
||||||
{
|
{
|
||||||
this->module = module;
|
this->module = module;
|
||||||
pUkuiMenuInterface = new UkuiMenuInterface;
|
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemDelegate::~ItemDelegate()
|
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
|
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 (module > 0) {
|
||||||
if (strlist.at(1).toInt() == 1) {
|
if (strlist.at(1).toInt() == 1) {
|
||||||
QRect iconRect = QRect(rect.x() + 11, rect.y() + (rect.height() - 32) / 2, 32, 32);
|
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;
|
QIcon icon;
|
||||||
QFileInfo iconFileInfo(iconstr);
|
QFileInfo iconFileInfo(iconstr);
|
||||||
|
|
||||||
|
@ -130,7 +132,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
|
||||||
|
|
||||||
painter->save();
|
painter->save();
|
||||||
icon.paint(painter, iconRect, Qt::AlignCenter);
|
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();
|
QFontMetrics fm = painter->fontMetrics();
|
||||||
QString appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 62, Qt::TextShowMnemonic);
|
QString appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 62, Qt::TextShowMnemonic);
|
||||||
painter->drawText(QRect(iconRect.right() + 15, rect.y(),
|
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) {
|
if (option.state & QStyle::State_MouseOver) {
|
||||||
QToolTip::showText(QCursor::pos(), appname);
|
QToolTip::showText(QCursor::pos(), appname);
|
||||||
} else {
|
} 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 {
|
} else {
|
||||||
QToolTip::hideText();
|
QToolTip::hideText();
|
||||||
|
@ -227,6 +229,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
|
||||||
|
|
||||||
icon.paint(painter, iconRect, Qt::AlignCenter);
|
icon.paint(painter, iconRect, Qt::AlignCenter);
|
||||||
QString appname = strlist.at(1);
|
QString appname = strlist.at(1);
|
||||||
|
QString url = QUrl(strlist.at(0)).path().remove(appname);
|
||||||
painter->setOpacity(1);
|
painter->setOpacity(1);
|
||||||
painter->save();
|
painter->save();
|
||||||
painter->setPen(QPen(option.palette.text().color()));
|
painter->setPen(QPen(option.palette.text().color()));
|
||||||
|
@ -239,21 +242,21 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
|
||||||
painter->restore();
|
painter->restore();
|
||||||
|
|
||||||
if ((option.state & QStyle::State_MouseOver) || (option.state & QStyle::State_HasFocus)) {
|
if ((option.state & QStyle::State_MouseOver) || (option.state & QStyle::State_HasFocus)) {
|
||||||
|
QToolTip::showText(QCursor::pos(), "为了刷新");
|
||||||
int len = fm.boundingRect(appname).width();
|
int len = fm.boundingRect(appname).width();
|
||||||
|
//富文本,tooltip可自动换行
|
||||||
|
QString tipString = QString("<font>");
|
||||||
if (len > rect.width() - 64) {
|
if (len > rect.width() - 64) {
|
||||||
if (option.state & QStyle::State_MouseOver) {
|
tipString += appname +"<br>"+ tr("path:") + url;
|
||||||
QToolTip::showText(QCursor::pos(), appname);
|
|
||||||
} else {
|
|
||||||
QToolTip::showText(option.widget->mapToGlobal(QPoint(rect.bottomRight().x(), rect.center().y())), appname);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
QToolTip::hideText();
|
tipString += tr("path:") + url;
|
||||||
}
|
}
|
||||||
|
tipString += QString("</font>");
|
||||||
|
QToolTip::showText(option.widget->mapToGlobal(QPoint(rect.right() + 20, rect.center().y())), tipString);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
QRect iconRect = QRect(rect.left() + 11, rect.y() + (rect.height() - 32) / 2, 32, 32);
|
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;
|
QIcon icon;
|
||||||
QFileInfo iconFileInfo(iconstr);
|
QFileInfo iconFileInfo(iconstr);
|
||||||
|
|
||||||
|
@ -296,7 +299,7 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
|
||||||
}
|
}
|
||||||
|
|
||||||
icon.paint(painter, iconRect, Qt::AlignCenter);
|
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));
|
QFileInfo fileInfo(strlist.at(0));
|
||||||
QString desktopfn = fileInfo.fileName();
|
QString desktopfn = fileInfo.fileName();
|
||||||
|
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ITEMDELEGATE_H
|
#ifndef ITEMDELEGATE_H
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "kitemdelegate.h"
|
#include "kitemdelegate.h"
|
||||||
|
|
||||||
KItemDelegate::KItemDelegate(QObject *parent):
|
KItemDelegate::KItemDelegate(QObject *parent):
|
||||||
QStyledItemDelegate(parent)
|
QStyledItemDelegate(parent)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KItemDelegate::~KItemDelegate()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef KITEMDELEGATE_H
|
#ifndef KITEMDELEGATE_H
|
||||||
#define KITEMDELEGATE_H
|
#define KITEMDELEGATE_H
|
||||||
#include <QStyledItemDelegate>
|
#include <QStyledItemDelegate>
|
||||||
|
@ -8,9 +25,10 @@ class KItemDelegate : public QStyledItemDelegate
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
KItemDelegate(QObject *parent);
|
KItemDelegate(QObject *parent);
|
||||||
|
~KItemDelegate();
|
||||||
|
|
||||||
int module = 0;
|
int module = 0;
|
||||||
UkuiMenuInterface *pUkuiMenuInterface = nullptr;
|
UkuiMenuInterface *m_ukuiMenuInterface = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // KITEMDELEGATE_H
|
#endif // KITEMDELEGATE_H
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "recent_item_delegate.h"
|
#include "recent_item_delegate.h"
|
||||||
|
|
||||||
recentitemdelegate::recentitemdelegate(QObject *parent, int module):
|
RecentItemDelegate::RecentItemDelegate(QObject *parent, int module):
|
||||||
KItemDelegate(parent)
|
KItemDelegate(parent)
|
||||||
{
|
{
|
||||||
this->module = module;
|
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()) {
|
if (index.isValid()) {
|
||||||
// QStyleOptionViewItem viewOption(option);//用来在视图中画一个item
|
// QStyleOptionViewItem viewOption(option);//用来在视图中画一个item
|
||||||
|
@ -130,7 +150,7 @@ void recentitemdelegate::paint(QPainter *painter, const QStyleOptionViewItem &op
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
QRect iconRect = QRect(rect.left() + 11, rect.y() + (rect.height() - 32) / 2, 32, 32);
|
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;
|
QIcon icon;
|
||||||
QFileInfo iconFileInfo(iconstr);
|
QFileInfo iconFileInfo(iconstr);
|
||||||
|
|
||||||
|
@ -173,7 +193,7 @@ void recentitemdelegate::paint(QPainter *painter, const QStyleOptionViewItem &op
|
||||||
}
|
}
|
||||||
|
|
||||||
icon.paint(painter, iconRect, Qt::AlignCenter);
|
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));
|
QFileInfo fileInfo(strlist.at(0));
|
||||||
QString desktopfn = fileInfo.fileName();
|
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();
|
// QStringList strlist=index.model()->data(index,Qt::DisplayRole).toStringList();
|
||||||
// if(strlist.at(1).toInt()==1)
|
// if(strlist.at(1).toInt()==1)
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef RECENTITEMDELEGATE_H
|
#ifndef RECENTITEMDELEGATE_H
|
||||||
#define RECENTITEMDELEGATE_H
|
#define RECENTITEMDELEGATE_H
|
||||||
#include "itemdelegate.h"
|
#include "itemdelegate.h"
|
||||||
|
@ -8,15 +25,15 @@
|
||||||
#include "src/UtilityFunction/utility.h"
|
#include "src/UtilityFunction/utility.h"
|
||||||
#include "kitemdelegate.h"
|
#include "kitemdelegate.h"
|
||||||
|
|
||||||
class recentitemdelegate : public KItemDelegate
|
class RecentItemDelegate : public KItemDelegate
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @param module为0时为常用模块,1为字母模块、2为功能模块、3为搜索模块
|
* @param module为0时为常用模块,1为字母模块、2为功能模块、3为搜索模块
|
||||||
*/
|
*/
|
||||||
recentitemdelegate(QObject *parent, int module);
|
RecentItemDelegate(QObject *parent, int module);
|
||||||
~recentitemdelegate();
|
~RecentItemDelegate();
|
||||||
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
||||||
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "right_item_delegate.h"
|
#include "right_item_delegate.h"
|
||||||
#include "utility.h"
|
#include "utility.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
@ -5,12 +22,15 @@
|
||||||
RightItemDelegate::RightItemDelegate(QObject *parent):
|
RightItemDelegate::RightItemDelegate(QObject *parent):
|
||||||
KItemDelegate(parent)
|
KItemDelegate(parent)
|
||||||
{
|
{
|
||||||
pUkuiMenuInterface = new UkuiMenuInterface;
|
m_ukuiMenuInterface = new UkuiMenuInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
RightItemDelegate::~RightItemDelegate()
|
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
|
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->save();
|
||||||
painter->setOpacity(1);
|
painter->setOpacity(1);
|
||||||
QString desktopfp = index.data(Qt::DisplayRole).value<QString>();
|
QString desktopfp = index.data(Qt::DisplayRole).value<QString>();
|
||||||
QString iconstr = pUkuiMenuInterface->getAppIcon(desktopfp);
|
QString iconstr = m_ukuiMenuInterface->getAppIcon(desktopfp);
|
||||||
QIcon icon;
|
QIcon icon;
|
||||||
QFileInfo iconFileInfo(iconstr);
|
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 iconRect;
|
||||||
QRect textRect;
|
QRect textRect;
|
||||||
iconRect = QRect(rect.x() + 28,
|
iconRect = QRect(rect.x() + 28,
|
||||||
|
@ -139,9 +159,9 @@ void RightItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opt
|
||||||
is_recentapp = true;
|
is_recentapp = true;
|
||||||
appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 23, Qt::TextShowMnemonic);
|
appnameElidedText = fm.elidedText(appname, Qt::ElideRight, rect.width() - 23, Qt::TextShowMnemonic);
|
||||||
textRect = QRect(rect.x() + 18,
|
textRect = QRect(rect.x() + 18,
|
||||||
iconRect.bottom() + Style::AppSpaceBetweenIconText,
|
iconRect.bottom() + Style::m_appSpaceBetweenIconText,
|
||||||
rect.width() - 23,
|
rect.width() - 23,
|
||||||
rect.height() - iconRect.height() - Style::AppSpaceBetweenIconText);
|
rect.height() - iconRect.height() - Style::m_appSpaceBetweenIconText);
|
||||||
painter->setPen(QPen(Qt::NoPen));
|
painter->setPen(QPen(Qt::NoPen));
|
||||||
painter->setBrush(QColor("#4d94ff"));
|
painter->setBrush(QColor("#4d94ff"));
|
||||||
int x = 0;
|
int x = 0;
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef RIGHTITEMDELEGATE_H
|
#ifndef RIGHTITEMDELEGATE_H
|
||||||
#define RIGHTITEMDELEGATE_H
|
#define RIGHTITEMDELEGATE_H
|
||||||
#include <QStyledItemDelegate>
|
#include <QStyledItemDelegate>
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tablet_full_itemdelegate.h"
|
#include "tablet_full_itemdelegate.h"
|
||||||
|
@ -112,14 +111,14 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
|
||||||
}
|
}
|
||||||
|
|
||||||
bool bigIcon = index.data(Qt::UserRole + 2).toBool();
|
bool bigIcon = index.data(Qt::UserRole + 2).toBool();
|
||||||
int iconTopSpace = (rect.height() - Style::AppListIconSize) / 2;
|
int iconTopSpace = (rect.height() - Style::m_appListIconSize) / 2;
|
||||||
int iconLeftSpace = (rect.width() - Style::AppListIconSize) / 2;
|
int iconLeftSpace = (rect.width() - Style::m_appListIconSize) / 2;
|
||||||
|
|
||||||
if (bigIcon) {
|
if (bigIcon) {
|
||||||
iconRect = QRect(rect.x() + iconLeftSpace - 6,
|
iconRect = QRect(rect.x() + iconLeftSpace - 6,
|
||||||
rect.y() + iconTopSpace - 6,
|
rect.y() + iconTopSpace - 6,
|
||||||
Style::AppListIconSize + 12,
|
Style::m_appListIconSize + 12,
|
||||||
Style::AppListIconSize + 12);
|
Style::m_appListIconSize + 12);
|
||||||
textRect = QRect(rect.x(),
|
textRect = QRect(rect.x(),
|
||||||
rect.bottom() - iconTopSpace,
|
rect.bottom() - iconTopSpace,
|
||||||
rect.width(),
|
rect.width(),
|
||||||
|
@ -127,8 +126,8 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
|
||||||
} else {
|
} else {
|
||||||
iconRect = QRect(rect.x() + iconLeftSpace,
|
iconRect = QRect(rect.x() + iconLeftSpace,
|
||||||
rect.y() + iconTopSpace,
|
rect.y() + iconTopSpace,
|
||||||
Style::AppListIconSize,
|
Style::m_appListIconSize,
|
||||||
Style::AppListIconSize);
|
Style::m_appListIconSize);
|
||||||
textRect = QRect(rect.x(),
|
textRect = QRect(rect.x(),
|
||||||
rect.bottom() - iconTopSpace,
|
rect.bottom() - iconTopSpace,
|
||||||
rect.width(),
|
rect.width(),
|
||||||
|
@ -165,10 +164,10 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
|
||||||
QPixmap pixmap;
|
QPixmap pixmap;
|
||||||
|
|
||||||
if (bigIcon) {
|
if (bigIcon) {
|
||||||
pixmap = icon.pixmap((Style::AppListBigIconSize, Style::AppListBigIconSize), QIcon::Disabled, QIcon::Off); //wgx
|
pixmap = icon.pixmap((Style::m_appListBigIconSize, Style::m_appListBigIconSize), QIcon::Disabled, QIcon::Off); //wgx
|
||||||
pixmap = pixmap.scaled(Style::AppListBigIconSize, Style::AppListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
|
pixmap = pixmap.scaled(Style::m_appListBigIconSize, Style::m_appListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
|
||||||
} else {
|
} 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);
|
icon = QIcon(pixmap);
|
||||||
|
@ -176,10 +175,10 @@ void TabletFullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
|
||||||
QPixmap mPixmap;
|
QPixmap mPixmap;
|
||||||
|
|
||||||
if (bigIcon) {
|
if (bigIcon) {
|
||||||
mPixmap = icon.pixmap((Style::AppListBigIconSize, Style::AppListBigIconSize)); //wgx
|
mPixmap = icon.pixmap((Style::m_appListBigIconSize, Style::m_appListBigIconSize)); //wgx
|
||||||
mPixmap = mPixmap.scaled(Style::AppListBigIconSize, Style::AppListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
|
mPixmap = mPixmap.scaled(Style::m_appListBigIconSize, Style::m_appListBigIconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
|
||||||
} else {
|
} else {
|
||||||
mPixmap = icon.pixmap((Style::AppListIconSize, Style::AppListIconSize)); //wgx
|
mPixmap = icon.pixmap((Style::m_appListIconSize, Style::m_appListIconSize)); //wgx
|
||||||
}
|
}
|
||||||
|
|
||||||
icon = QIcon(mPixmap);
|
icon = QIcon(mPixmap);
|
||||||
|
@ -209,6 +208,6 @@ QSize TabletFullItemDelegate::sizeHint(const QStyleOptionViewItem &option, const
|
||||||
// {
|
// {
|
||||||
// return QSize(0,0);
|
// return QSize(0,0);
|
||||||
// }
|
// }
|
||||||
return QSize(Style::TabletItemSizeWidthFirst, Style::AppListItemSizeHeight);
|
return QSize(Style::m_tabletItemSizeWidthFirst, Style::m_appListItemSizeHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TABLETITEMDELEGATE_H
|
#ifndef TABLETITEMDELEGATE_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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "animationpage.h"
|
#include "animationpage.h"
|
||||||
#include "utility.h"
|
#include "utility.h"
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef ANIMATIONPAGE_H
|
#ifndef ANIMATIONPAGE_H
|
||||||
#define ANIMATIONPAGE_H
|
#define ANIMATIONPAGE_H
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "full_commonuse_widget.h"
|
#include "full_commonuse_widget.h"
|
||||||
|
@ -31,7 +30,10 @@ FullCommonUseWidget::FullCommonUseWidget(QWidget *parent) :
|
||||||
|
|
||||||
FullCommonUseWidget::~FullCommonUseWidget()
|
FullCommonUseWidget::~FullCommonUseWidget()
|
||||||
{
|
{
|
||||||
delete m_ukuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullCommonUseWidget::initUi()
|
void FullCommonUseWidget::initUi()
|
||||||
|
@ -48,11 +50,11 @@ void FullCommonUseWidget::initUi()
|
||||||
m_scrollArea = new ScrollArea();
|
m_scrollArea = new ScrollArea();
|
||||||
m_scrollAreaWid = new ScrollAreaWid(this);
|
m_scrollAreaWid = new ScrollAreaWid(this);
|
||||||
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
|
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
|
||||||
m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
|
||||||
m_scrollArea->setWidget(m_scrollAreaWid);
|
m_scrollArea->setWidget(m_scrollAreaWid);
|
||||||
|
m_scrollArea->setAlignment(Qt::AlignCenter);
|
||||||
m_scrollArea->setStyleSheet("QWidget{background:transparent;}");
|
m_scrollArea->setStyleSheet("QWidget{background:transparent;}");
|
||||||
m_scrollArea->setWidgetResizable(true);
|
m_scrollArea->setWidgetResizable(true);
|
||||||
m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
|
||||||
m_scrollAreaWidLayout = new QVBoxLayout(m_scrollAreaWid);
|
m_scrollAreaWidLayout = new QVBoxLayout(m_scrollAreaWid);
|
||||||
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
|
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
m_scrollAreaWidLayout->setSpacing(10);
|
m_scrollAreaWidLayout->setSpacing(10);
|
||||||
|
@ -146,9 +148,9 @@ void FullCommonUseWidget::initAppListWidget()
|
||||||
m_listView = new FullListView(this, 0);
|
m_listView = new FullListView(this, 0);
|
||||||
m_listView->installEventFilter(this);
|
m_listView->installEventFilter(this);
|
||||||
m_scrollAreaWidLayout->addWidget(m_listView);
|
m_scrollAreaWidLayout->addWidget(m_listView);
|
||||||
m_listView->setFixedWidth(m_scrollArea->width());
|
m_listView->setFixedWidth(m_scrollAreaWid->width());
|
||||||
connect(m_listView, &FullListView::sendItemClickedSignal, this, &FullCommonUseWidget::execApplication);
|
|
||||||
connect(m_listView, &FullListView::sendUpdateAppListSignal, this, &FullCommonUseWidget::updateListViewSlot);
|
connect(m_listView, &FullListView::sendUpdateAppListSignal, this, &FullCommonUseWidget::updateListViewSlot);
|
||||||
|
connect(m_listView, &FullListView::sendCollectViewUpdate, this, &FullCommonUseWidget::sendCollectViewUpdate);
|
||||||
connect(m_listView, &FullListView::sendHideMainWindowSignal, this, &FullCommonUseWidget::sendHideMainWindowSignal);
|
connect(m_listView, &FullListView::sendHideMainWindowSignal, this, &FullCommonUseWidget::sendHideMainWindowSignal);
|
||||||
connect(m_listView, &FullListView::sendSetslidebar, this, &FullCommonUseWidget::onSetSlider);
|
connect(m_listView, &FullListView::sendSetslidebar, this, &FullCommonUseWidget::onSetSlider);
|
||||||
}
|
}
|
||||||
|
@ -176,7 +178,7 @@ void FullCommonUseWidget::fillAppList()
|
||||||
{
|
{
|
||||||
m_data.clear();
|
m_data.clear();
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, UkuiMenuInterface::allAppVector) {
|
Q_FOREACH(QString desktopfp, UkuiMenuInterface::allAppVector) {
|
||||||
m_data.append(desktopfp);
|
m_data.append(desktopfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,15 +186,6 @@ void FullCommonUseWidget::fillAppList()
|
||||||
resizeScrollAreaControls();
|
resizeScrollAreaControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 执行应用程序
|
|
||||||
*/
|
|
||||||
void FullCommonUseWidget::execApplication(QString desktopfp)
|
|
||||||
{
|
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
|
||||||
execApp(desktopfp);
|
|
||||||
}
|
|
||||||
|
|
||||||
void FullCommonUseWidget::selectFirstItem()
|
void FullCommonUseWidget::selectFirstItem()
|
||||||
{
|
{
|
||||||
m_listView->setCurrentIndex(m_listView->model()->index(0, 0));
|
m_listView->setCurrentIndex(m_listView->model()->index(0, 0));
|
||||||
|
@ -268,7 +261,7 @@ void FullCommonUseWidget::updateListView()
|
||||||
{
|
{
|
||||||
m_data.clear();
|
m_data.clear();
|
||||||
|
|
||||||
Q_FOREACH (QString desktopfp, m_ukuiMenuInterface->getAllClassification()) {
|
Q_FOREACH(QString desktopfp, m_ukuiMenuInterface->getAllClassification()) {
|
||||||
m_data.append(desktopfp);
|
m_data.append(desktopfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,7 +274,7 @@ void FullCommonUseWidget::updateListView()
|
||||||
|
|
||||||
void FullCommonUseWidget::repaintWidget()
|
void FullCommonUseWidget::repaintWidget()
|
||||||
{
|
{
|
||||||
m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
|
||||||
m_scrollAreaWidLayout->removeWidget(m_listView);
|
m_scrollAreaWidLayout->removeWidget(m_listView);
|
||||||
m_listView->setParent(nullptr);
|
m_listView->setParent(nullptr);
|
||||||
delete m_listView;
|
delete m_listView;
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FULLCOMMONUSEWIDGET_H
|
#ifndef FULLCOMMONUSEWIDGET_H
|
||||||
|
@ -102,11 +101,6 @@ protected:
|
||||||
bool eventFilter(QObject *watched, QEvent *event);
|
bool eventFilter(QObject *watched, QEvent *event);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
/**
|
|
||||||
* @brief Open the application
|
|
||||||
* @param arg: Desktop file path
|
|
||||||
*/
|
|
||||||
void execApplication(QString desktopfp);
|
|
||||||
/**
|
/**
|
||||||
* @brief Update the application list slot function
|
* @brief Update the application list slot function
|
||||||
*/
|
*/
|
||||||
|
@ -134,6 +128,7 @@ Q_SIGNALS:
|
||||||
void changeScrollValue(int value, int maximumValue);
|
void changeScrollValue(int value, int maximumValue);
|
||||||
void setFocusToSideWin();
|
void setFocusToSideWin();
|
||||||
void sendUpdateOtherView();
|
void sendUpdateOtherView();
|
||||||
|
void sendCollectViewUpdate();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FULLCOMMONUSEWIDGET_H
|
#endif // FULLCOMMONUSEWIDGET_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "full_function_widget.h"
|
#include "full_function_widget.h"
|
||||||
|
@ -32,7 +31,10 @@ FullFunctionWidget::FullFunctionWidget(QWidget *parent) :
|
||||||
|
|
||||||
FullFunctionWidget::~FullFunctionWidget()
|
FullFunctionWidget::~FullFunctionWidget()
|
||||||
{
|
{
|
||||||
delete m_ukuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullFunctionWidget::initUi()
|
void FullFunctionWidget::initUi()
|
||||||
|
@ -45,7 +47,7 @@ void FullFunctionWidget::initUi()
|
||||||
m_iconListWid = new QWidget(this);
|
m_iconListWid = new QWidget(this);
|
||||||
m_iconListWid->setAttribute(Qt::WA_TranslucentBackground);
|
m_iconListWid->setAttribute(Qt::WA_TranslucentBackground);
|
||||||
m_iconListWid->setAutoFillBackground(false);
|
m_iconListWid->setAutoFillBackground(false);
|
||||||
m_applistWid->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_applistWid->setFixedWidth(Style::m_applistAreaWidth);
|
||||||
m_iconListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
|
m_iconListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
|
||||||
m_verticalScrollBar = new QScrollBar(m_scrollArea);
|
m_verticalScrollBar = new QScrollBar(m_scrollArea);
|
||||||
m_verticalScrollBar->installEventFilter(this);
|
m_verticalScrollBar->installEventFilter(this);
|
||||||
|
@ -111,15 +113,15 @@ void FullFunctionWidget::initAppListWidget()
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
m_applistWid->setLayout(layout);
|
m_applistWid->setLayout(layout);
|
||||||
m_scrollArea = new ScrollArea;
|
m_scrollArea = new ScrollArea;
|
||||||
m_scrollArea->setStyleSheet("background:transparent");
|
|
||||||
m_scrollAreaWid = new ScrollAreaWid(this);
|
m_scrollAreaWid = new ScrollAreaWid(this);
|
||||||
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
|
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
|
||||||
m_scrollArea->setFixedSize(m_applistWid->width(), m_applistWid->height());
|
m_scrollArea->setFixedSize(m_applistWid->width(), m_applistWid->height());
|
||||||
|
m_scrollAreaWid->adjustSize();
|
||||||
m_scrollArea->setWidget(m_scrollAreaWid);
|
m_scrollArea->setWidget(m_scrollAreaWid);
|
||||||
m_scrollArea->setWidgetResizable(true);
|
m_scrollArea->setWidgetResizable(true);
|
||||||
m_scrollAreaWidLayout = new QVBoxLayout(m_scrollAreaWid);
|
m_scrollAreaWidLayout = new QVBoxLayout(m_scrollAreaWid);
|
||||||
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
|
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
m_scrollAreaWidLayout->setSpacing(10);
|
m_scrollAreaWidLayout->setSpacing(0);
|
||||||
layout->addWidget(m_scrollArea);
|
layout->addWidget(m_scrollArea);
|
||||||
connect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
|
connect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
|
||||||
this, &FullFunctionWidget::valueChangedSlot);
|
this, &FullFunctionWidget::valueChangedSlot);
|
||||||
|
@ -183,7 +185,7 @@ void FullFunctionWidget::fillAppList()
|
||||||
|
|
||||||
void FullFunctionWidget::insertClassificationBtn(QString category)
|
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->setAttribute(Qt::WA_TranslucentBackground);
|
||||||
classificationbtn->setAutoFillBackground(false);
|
classificationbtn->setAutoFillBackground(false);
|
||||||
m_scrollAreaWidLayout->addWidget(classificationbtn);
|
m_scrollAreaWidLayout->addWidget(classificationbtn);
|
||||||
|
@ -208,18 +210,9 @@ void FullFunctionWidget::insertAppList(QStringList desktopfplist)
|
||||||
}
|
}
|
||||||
|
|
||||||
listview->addData(m_data);
|
listview->addData(m_data);
|
||||||
connect(listview, &FullListView::sendItemClickedSignal, this, &FullFunctionWidget::execApplication);
|
|
||||||
connect(listview, &FullListView::sendHideMainWindowSignal, this, &FullFunctionWidget::sendHideMainWindowSignal);
|
connect(listview, &FullListView::sendHideMainWindowSignal, this, &FullFunctionWidget::sendHideMainWindowSignal);
|
||||||
connect(listview, &FullListView::sendUpdateAppListSignal, this, &FullFunctionWidget::sendUpdateCommonView);
|
connect(listview, &FullListView::sendUpdateAppListSignal, this, &FullFunctionWidget::sendUpdateCommonView);
|
||||||
}
|
connect(listview, &FullListView::sendCollectViewUpdate, this, &FullFunctionWidget::sendCollectViewUpdate);
|
||||||
|
|
||||||
/**
|
|
||||||
* 执行应用程序
|
|
||||||
*/
|
|
||||||
void FullFunctionWidget::execApplication(QString desktopfp)
|
|
||||||
{
|
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
|
||||||
execApp(desktopfp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullFunctionWidget::on_setAreaScrollBarValue(int value)
|
void FullFunctionWidget::on_setAreaScrollBarValue(int value)
|
||||||
|
@ -249,7 +242,7 @@ void FullFunctionWidget::updateAppListView()
|
||||||
fillAppList();
|
fillAppList();
|
||||||
|
|
||||||
//刷新图标列表界面
|
//刷新图标列表界面
|
||||||
Q_FOREACH (QAbstractButton *button, m_buttonList) {
|
Q_FOREACH(QAbstractButton *button, m_buttonList) {
|
||||||
m_btnGroup->removeButton(button);
|
m_btnGroup->removeButton(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -293,12 +286,12 @@ void FullFunctionWidget::resizeScrollAreaControls()
|
||||||
rowcount = listview->model()->rowCount() / dividend;
|
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;
|
areaHeight += listview->height() + 50;
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight - 10);
|
m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -307,7 +300,7 @@ void FullFunctionWidget::resizeScrollAreaControls()
|
||||||
void FullFunctionWidget::initIconListWidget()
|
void FullFunctionWidget::initIconListWidget()
|
||||||
{
|
{
|
||||||
m_iconListWidLayout = new QVBoxLayout(m_iconListWid);
|
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_iconListWidLayout->setContentsMargins(45, 0, 0, 0);
|
||||||
m_topSpacerItem = new QSpacerItem(20, 40, QSizePolicy::Fixed, QSizePolicy::Expanding);
|
m_topSpacerItem = new QSpacerItem(20, 40, QSizePolicy::Fixed, QSizePolicy::Expanding);
|
||||||
m_bottomSpacerItem = new QSpacerItem(20, 40, QSizePolicy::Fixed, QSizePolicy::Expanding);
|
m_bottomSpacerItem = new QSpacerItem(20, 40, QSizePolicy::Fixed, QSizePolicy::Expanding);
|
||||||
|
@ -322,7 +315,7 @@ void FullFunctionWidget::initIconListWidget()
|
||||||
|
|
||||||
void FullFunctionWidget::on_setScrollBarValue(int value)
|
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);
|
m_verticalScrollBar->setValue(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,9 +328,9 @@ void FullFunctionWidget::initIconListScrollArea()
|
||||||
|
|
||||||
for (int i = 0; i < m_classificationList.size(); i++) {
|
for (int i = 0; i < m_classificationList.size(); i++) {
|
||||||
FunctionClassifyButton *iconbtn = new FunctionClassifyButton(
|
FunctionClassifyButton *iconbtn = new FunctionClassifyButton(
|
||||||
Style::LeftBtnWidth,
|
Style::m_leftBtnWidth,
|
||||||
Style::LeftBtnHeight,
|
Style::m_leftBtnHeight,
|
||||||
Style::LeftIconSize,
|
Style::m_leftIconSize,
|
||||||
m_classificationList.at(i),
|
m_classificationList.at(i),
|
||||||
true,
|
true,
|
||||||
true);
|
true);
|
||||||
|
@ -350,7 +343,7 @@ void FullFunctionWidget::initIconListScrollArea()
|
||||||
m_iconListWidLayout->addItem(m_bottomSpacerItem);
|
m_iconListWidLayout->addItem(m_bottomSpacerItem);
|
||||||
int id = 0;
|
int id = 0;
|
||||||
|
|
||||||
Q_FOREACH (QAbstractButton *btn, m_buttonList) {
|
Q_FOREACH(QAbstractButton *btn, m_buttonList) {
|
||||||
m_btnGroup->addButton(btn, id++);
|
m_btnGroup->addButton(btn, id++);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -367,7 +360,7 @@ void FullFunctionWidget::btnGroupClickedSlot(QAbstractButton *btn)
|
||||||
disconnect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
|
disconnect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
|
||||||
this, &FullFunctionWidget::valueChangedSlot);
|
this, &FullFunctionWidget::valueChangedSlot);
|
||||||
|
|
||||||
Q_FOREACH (QAbstractButton *button, m_buttonList) {
|
Q_FOREACH(QAbstractButton *button, m_buttonList) {
|
||||||
if (m_btnGroup->id(btn) == m_buttonList.indexOf(button)) {
|
if (m_btnGroup->id(btn) == m_buttonList.indexOf(button)) {
|
||||||
m_beginPos = m_scrollArea->verticalScrollBar()->sliderPosition();
|
m_beginPos = m_scrollArea->verticalScrollBar()->sliderPosition();
|
||||||
m_endPos = m_scrollAreaWidLayout->itemAt(m_btnGroup->id(btn) * 2)->widget()->y();
|
m_endPos = m_scrollAreaWidLayout->itemAt(m_btnGroup->id(btn) * 2)->widget()->y();
|
||||||
|
@ -414,17 +407,22 @@ void FullFunctionWidget::valueChangedSlot(int value)
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
while (index <= m_classificationList.count() - 1) {
|
while (index <= m_classificationList.count() - 1) {
|
||||||
int min = m_scrollAreaWidLayout->itemAt(2 * index)->widget()->y();
|
int min = 0;
|
||||||
int max = 0;
|
int max = 0;
|
||||||
|
|
||||||
if (index == m_classificationList.count() - 1) {
|
if (index == m_classificationList.count() - 1) {
|
||||||
|
min = m_scrollAreaWidLayout->itemAt(2 * index - 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
|
||||||
max = m_scrollAreaWid->height();
|
max = m_scrollAreaWid->height();
|
||||||
|
} else if (index == 0) {
|
||||||
|
min = 0;
|
||||||
|
max = m_scrollAreaWidLayout->itemAt(2 * index + 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
|
||||||
} else {
|
} 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) {
|
if (value >= min && value < max) {
|
||||||
Q_FOREACH (QAbstractButton *button, m_buttonList) {
|
Q_FOREACH(QAbstractButton *button, m_buttonList) {
|
||||||
FunctionClassifyButton *fcbutton = qobject_cast<FunctionClassifyButton *>(button);
|
FunctionClassifyButton *fcbutton = qobject_cast<FunctionClassifyButton *>(button);
|
||||||
|
|
||||||
if (index == m_buttonList.indexOf(button)) {
|
if (index == m_buttonList.indexOf(button)) {
|
||||||
|
@ -452,9 +450,9 @@ void FullFunctionWidget::enterAnimation()
|
||||||
m_animation->setDuration(200);//动画总时间
|
m_animation->setDuration(200);//动画总时间
|
||||||
m_animation->setStartValue(QRect(0, 0,
|
m_animation->setStartValue(QRect(0, 0,
|
||||||
0, m_iconListWid->height()));
|
0, m_iconListWid->height()));
|
||||||
m_animation->setEndValue(QRect(Style::LeftMargin,
|
m_animation->setEndValue(QRect(Style::m_leftMargin,
|
||||||
0,
|
0,
|
||||||
Style::LeftBtnWidth,
|
Style::m_leftBtnWidth,
|
||||||
m_iconListWid->height()));
|
m_iconListWid->height()));
|
||||||
m_animation->setEasingCurve(QEasingCurve::InQuart);
|
m_animation->setEasingCurve(QEasingCurve::InQuart);
|
||||||
m_animation->start();
|
m_animation->start();
|
||||||
|
@ -464,16 +462,16 @@ void FullFunctionWidget::enterAnimation()
|
||||||
void FullFunctionWidget::setFunctionBtnGeometry()
|
void FullFunctionWidget::setFunctionBtnGeometry()
|
||||||
{
|
{
|
||||||
// int height=m_classificationList.size()*Style::LeftBtnHeight+(m_classificationList.size()-1)*Style::LeftSpaceBetweenItem;
|
// 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,
|
0,
|
||||||
Style::LeftBtnWidth,
|
Style::m_leftBtnWidth,
|
||||||
m_iconListWid->height()));
|
m_iconListWid->height()));
|
||||||
m_iconListScrollAreaWid->show();
|
m_iconListScrollAreaWid->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullFunctionWidget::repaintWidget()
|
void FullFunctionWidget::repaintWidget()
|
||||||
{
|
{
|
||||||
m_applistWid->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_applistWid->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight + Style::m_scrollBarHeight);
|
||||||
m_iconListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
|
m_iconListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
|
||||||
m_scrollArea->setFixedSize(m_applistWid->width(), m_applistWid->height());
|
m_scrollArea->setFixedSize(m_applistWid->width(), m_applistWid->height());
|
||||||
updateAppListView();
|
updateAppListView();
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FULLFUNCTIONWIDGET_H
|
#ifndef FULLFUNCTIONWIDGET_H
|
||||||
|
@ -142,11 +141,6 @@ protected:
|
||||||
bool eventFilter(QObject *watched, QEvent *event);
|
bool eventFilter(QObject *watched, QEvent *event);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
/**
|
|
||||||
* @brief Open the application
|
|
||||||
* @param arg: Desktop file path
|
|
||||||
*/
|
|
||||||
void execApplication(QString desktopfp);
|
|
||||||
/**
|
/**
|
||||||
* @brief Respond to button click
|
* @brief Respond to button click
|
||||||
* @param btn: QButtonGroup button
|
* @param btn: QButtonGroup button
|
||||||
|
@ -197,6 +191,7 @@ Q_SIGNALS:
|
||||||
|
|
||||||
void sendUpdateCommonView();
|
void sendUpdateCommonView();
|
||||||
|
|
||||||
|
void sendCollectViewUpdate();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FULLFUNCTIONWIDGET_H
|
#endif // FULLFUNCTIONWIDGET_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "full_letter_widget.h"
|
#include "full_letter_widget.h"
|
||||||
|
@ -28,8 +27,14 @@ FullLetterWidget::FullLetterWidget(QWidget *parent) :
|
||||||
|
|
||||||
FullLetterWidget::~FullLetterWidget()
|
FullLetterWidget::~FullLetterWidget()
|
||||||
{
|
{
|
||||||
delete m_ukuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
delete m_letterListBottomSpacer;
|
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->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||||
m_letterListWid = new QWidget(this);
|
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 = new QScrollBar(m_scrollArea);
|
||||||
m_verticalScrollBar->installEventFilter(this);
|
m_verticalScrollBar->installEventFilter(this);
|
||||||
m_verticalScrollBar->setOrientation(Qt::Vertical);
|
m_verticalScrollBar->setOrientation(Qt::Vertical);
|
||||||
|
@ -77,15 +82,13 @@ void FullLetterWidget::initAppListWidget()
|
||||||
// layout->setContentsMargins(0,0,0,0);
|
// layout->setContentsMargins(0,0,0,0);
|
||||||
// m_applistWid->setLayout(layout);
|
// m_applistWid->setLayout(layout);
|
||||||
m_scrollArea = new ScrollArea();
|
m_scrollArea = new ScrollArea();
|
||||||
m_scrollArea->setStyleSheet("background:transparent");
|
|
||||||
m_scrollAreaWid = new ScrollAreaWid(this);
|
m_scrollAreaWid = new ScrollAreaWid(this);
|
||||||
m_scrollArea->setWidget(m_scrollAreaWid);
|
m_scrollArea->setWidget(m_scrollAreaWid);
|
||||||
m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_scrollAreaWid->setFixedWidth(Style::m_applistWidWidth);
|
||||||
m_scrollArea->setWidgetResizable(true);
|
m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
|
||||||
// m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
|
||||||
m_scrollAreaWidLayout = new QVBoxLayout;
|
m_scrollAreaWidLayout = new QVBoxLayout;
|
||||||
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
|
m_scrollAreaWidLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
m_scrollAreaWidLayout->setSpacing(10);
|
m_scrollAreaWidLayout->setSpacing(0);
|
||||||
m_scrollAreaWid->setLayout(m_scrollAreaWidLayout);
|
m_scrollAreaWid->setLayout(m_scrollAreaWidLayout);
|
||||||
m_mainLayout->addWidget(m_scrollArea);
|
m_mainLayout->addWidget(m_scrollArea);
|
||||||
QSpacerItem *m_spaceItem1 = nullptr;
|
QSpacerItem *m_spaceItem1 = nullptr;
|
||||||
|
@ -189,7 +192,7 @@ void FullLetterWidget::fillAppList()
|
||||||
|
|
||||||
m_letterList.append(letterstr);//存储分类字符
|
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);
|
m_scrollAreaWidLayout->addWidget(letterbtn);
|
||||||
//插入应用列表
|
//插入应用列表
|
||||||
FullListView *listview = new FullListView(this, 1);
|
FullListView *listview = new FullListView(this, 1);
|
||||||
|
@ -208,24 +211,15 @@ void FullLetterWidget::fillAppList()
|
||||||
}
|
}
|
||||||
|
|
||||||
listview->addData(m_data);
|
listview->addData(m_data);
|
||||||
connect(listview, &FullListView::sendItemClickedSignal, this, &FullLetterWidget::execApplication);
|
|
||||||
connect(listview, &FullListView::sendHideMainWindowSignal, this, &FullLetterWidget::sendHideMainWindowSignal);
|
connect(listview, &FullListView::sendHideMainWindowSignal, this, &FullLetterWidget::sendHideMainWindowSignal);
|
||||||
connect(listview, &FullListView::sendUpdateAppListSignal, this, &FullLetterWidget::sendUpdateCommonView);
|
connect(listview, &FullListView::sendUpdateAppListSignal, this, &FullLetterWidget::sendUpdateCommonView);
|
||||||
|
connect(listview, &FullListView::sendCollectViewUpdate, this, &FullLetterWidget::sendCollectViewUpdate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resizeScrollAreaControls();
|
resizeScrollAreaControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 执行应用程序
|
|
||||||
*/
|
|
||||||
void FullLetterWidget::execApplication(QString desktopfp)
|
|
||||||
{
|
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
|
||||||
execApp(desktopfp);
|
|
||||||
}
|
|
||||||
|
|
||||||
void FullLetterWidget::on_setAreaScrollBarValue(int value)
|
void FullLetterWidget::on_setAreaScrollBarValue(int value)
|
||||||
{
|
{
|
||||||
// m_scrollArea->verticalScrollBar()->setMaximum(maxmumValue);
|
// m_scrollArea->verticalScrollBar()->setMaximum(maxmumValue);
|
||||||
|
@ -253,7 +247,7 @@ void FullLetterWidget::updateAppListView()
|
||||||
fillAppList();
|
fillAppList();
|
||||||
|
|
||||||
//刷新字母列表界面
|
//刷新字母列表界面
|
||||||
Q_FOREACH (QAbstractButton *button, m_buttonList) {
|
Q_FOREACH(QAbstractButton *button, m_buttonList) {
|
||||||
m_btnGroup->removeButton(button);
|
m_btnGroup->removeButton(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -277,7 +271,7 @@ void FullLetterWidget::updateAppListView()
|
||||||
|
|
||||||
void FullLetterWidget::on_setScrollBarValue(int value)
|
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);
|
m_verticalScrollBar->setValue(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -304,12 +298,13 @@ void FullLetterWidget::resizeScrollAreaControls()
|
||||||
rowcount = listview->model()->rowCount() / dividend;
|
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;
|
areaHeight += (listview->height() + 50);
|
||||||
|
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight - 10);
|
m_scrollArea->widget()->setFixedSize(m_scrollArea->width(), areaHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -346,7 +341,7 @@ void FullLetterWidget::initLetterListScrollArea()
|
||||||
LetterClassifyButton *letterbtn = new LetterClassifyButton(m_letterListWid,
|
LetterClassifyButton *letterbtn = new LetterClassifyButton(m_letterListWid,
|
||||||
true,
|
true,
|
||||||
m_letterList.at(i));
|
m_letterList.at(i));
|
||||||
letterbtn->setFixedSize(Style::LeftLetterBtnHeight, Style::LeftLetterBtnHeight);
|
letterbtn->setFixedSize(Style::m_leftLetterBtnHeight, Style::m_leftLetterBtnHeight);
|
||||||
m_buttonList.append(letterbtn);
|
m_buttonList.append(letterbtn);
|
||||||
m_letterListWidLayout->addWidget(letterbtn);
|
m_letterListWidLayout->addWidget(letterbtn);
|
||||||
m_letterListWidLayout->setAlignment(letterbtn, Qt::AlignLeft);
|
m_letterListWidLayout->setAlignment(letterbtn, Qt::AlignLeft);
|
||||||
|
@ -356,7 +351,7 @@ void FullLetterWidget::initLetterListScrollArea()
|
||||||
m_letterListWidLayout->addItem(m_letterListBottomSpacer);
|
m_letterListWidLayout->addItem(m_letterListBottomSpacer);
|
||||||
int id = 0;
|
int id = 0;
|
||||||
|
|
||||||
Q_FOREACH (QAbstractButton *btn, m_buttonList) {
|
Q_FOREACH(QAbstractButton *btn, m_buttonList) {
|
||||||
m_btnGroup->addButton(btn, id++);
|
m_btnGroup->addButton(btn, id++);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -373,7 +368,7 @@ void FullLetterWidget::btnGroupClickedSlot(QAbstractButton *btn)
|
||||||
disconnect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
|
disconnect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged,
|
||||||
this, &FullLetterWidget::valueChangedSlot);
|
this, &FullLetterWidget::valueChangedSlot);
|
||||||
|
|
||||||
Q_FOREACH (QAbstractButton *button, m_buttonList) {
|
Q_FOREACH(QAbstractButton *button, m_buttonList) {
|
||||||
LetterClassifyButton *letterbtn = qobject_cast<LetterClassifyButton *>(button);
|
LetterClassifyButton *letterbtn = qobject_cast<LetterClassifyButton *>(button);
|
||||||
|
|
||||||
if (m_btnGroup->id(btn) == m_buttonList.indexOf(button)) {
|
if (m_btnGroup->id(btn) == m_buttonList.indexOf(button)) {
|
||||||
|
@ -427,17 +422,23 @@ void FullLetterWidget::valueChangedSlot(int value)
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
while (index <= m_letterList.count() - 1) {
|
while (index <= m_letterList.count() - 1) {
|
||||||
int min = m_scrollAreaWidLayout->itemAt(2 * index)->widget()->y();
|
|
||||||
|
int min = 0;
|
||||||
int max = 0;
|
int max = 0;
|
||||||
|
|
||||||
if (index == m_letterList.count() - 1) {
|
if (index == m_letterList.count() - 1) {
|
||||||
|
min = m_scrollAreaWidLayout->itemAt(2 * index - 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
|
||||||
max = m_scrollAreaWid->height();
|
max = m_scrollAreaWid->height();
|
||||||
|
} else if (index == 0) {
|
||||||
|
min = 0;
|
||||||
|
max = m_scrollAreaWidLayout->itemAt(2 * index + 1)->widget()->geometry().bottom() - Style::m_boundaryOffset;
|
||||||
} else {
|
} 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) {
|
if (value >= min && value < max) {
|
||||||
Q_FOREACH (QAbstractButton *button, m_buttonList) {
|
Q_FOREACH(QAbstractButton *button, m_buttonList) {
|
||||||
LetterClassifyButton *letterbtn = qobject_cast<LetterClassifyButton *>(button);
|
LetterClassifyButton *letterbtn = qobject_cast<LetterClassifyButton *>(button);
|
||||||
|
|
||||||
if (index == m_buttonList.indexOf(button)) {
|
if (index == m_buttonList.indexOf(button)) {
|
||||||
|
@ -457,12 +458,12 @@ void FullLetterWidget::valueChangedSlot(int value)
|
||||||
void FullLetterWidget::enterAnimation()
|
void FullLetterWidget::enterAnimation()
|
||||||
{
|
{
|
||||||
m_animation->setDuration(200);//动画总时间
|
m_animation->setDuration(200);//动画总时间
|
||||||
m_animation->setStartValue(QRect(0, (m_letterListWid->height() - (m_letterList.size() + 1)*Style::LeftLetterBtnHeight) / 2,
|
m_animation->setStartValue(QRect(0, (m_letterListWid->height() - (m_letterList.size() + 1)*Style::m_leftLetterBtnHeight) / 2,
|
||||||
0, (m_letterList.size() + 1)*Style::LeftLetterBtnHeight));
|
0, (m_letterList.size() + 1)*Style::m_leftLetterBtnHeight));
|
||||||
m_animation->setEndValue(QRect(Style::LeftMargin,
|
m_animation->setEndValue(QRect(Style::m_leftMargin,
|
||||||
(m_letterListWid->height() - (m_letterList.size() + 1)*Style::LeftLetterBtnHeight) / 2,
|
(m_letterListWid->height() - (m_letterList.size() + 1)*Style::m_leftLetterBtnHeight) / 2,
|
||||||
Style::LeftLetterBtnHeight * 2,
|
Style::m_leftLetterBtnHeight * 2,
|
||||||
(m_letterList.size() + 1)*Style::LeftLetterBtnHeight));
|
(m_letterList.size() + 1)*Style::m_leftLetterBtnHeight));
|
||||||
m_animation->setEasingCurve(QEasingCurve::InQuart);
|
m_animation->setEasingCurve(QEasingCurve::InQuart);
|
||||||
m_animation->start();
|
m_animation->start();
|
||||||
// m_letterListScrollArea->show();
|
// m_letterListScrollArea->show();
|
||||||
|
@ -480,13 +481,14 @@ void FullLetterWidget::setLetterBtnGeometry()
|
||||||
void FullLetterWidget::repaintWidget()
|
void FullLetterWidget::repaintWidget()
|
||||||
{
|
{
|
||||||
m_letterListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
|
m_letterListWid->setFixedSize(Style::m_leftWidWidth, Style::m_applistWidHeight);
|
||||||
m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight + Style::m_scrollBarHeight);
|
||||||
|
m_scrollAreaWid->setFixedWidth(Style::m_applistWidWidth);
|
||||||
updateAppListView();
|
updateAppListView();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullLetterWidget::widgetMakeZero()
|
void FullLetterWidget::widgetMakeZero()
|
||||||
{
|
{
|
||||||
Q_FOREACH (QAbstractButton *button, m_buttonList) {
|
Q_FOREACH(QAbstractButton *button, m_buttonList) {
|
||||||
QString letterstr = button->text().at(0);
|
QString letterstr = button->text().at(0);
|
||||||
int num = m_letterList.indexOf(letterstr);
|
int num = m_letterList.indexOf(letterstr);
|
||||||
|
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FULLLETTERWIDGET_H
|
#ifndef FULLLETTERWIDGET_H
|
||||||
|
@ -147,11 +146,6 @@ public Q_SLOTS:
|
||||||
* @param btn: QButtonGroup button
|
* @param btn: QButtonGroup button
|
||||||
*/
|
*/
|
||||||
void btnGroupClickedSlot(QAbstractButton *btn);
|
void btnGroupClickedSlot(QAbstractButton *btn);
|
||||||
/**
|
|
||||||
* @brief Open the application
|
|
||||||
* @param arg: Desktop file path
|
|
||||||
*/
|
|
||||||
void execApplication(QString desktopfp);
|
|
||||||
/**
|
/**
|
||||||
* @brief Update application list slot function
|
* @brief Update application list slot function
|
||||||
*/
|
*/
|
||||||
|
@ -199,6 +193,8 @@ Q_SIGNALS:
|
||||||
void changeScrollValue(int value, int maximumValue);
|
void changeScrollValue(int value, int maximumValue);
|
||||||
|
|
||||||
void sendUpdateCommonView();
|
void sendUpdateCommonView();
|
||||||
|
|
||||||
|
void sendCollectViewUpdate();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FULLLETTERWIDGET_H
|
#endif // FULLLETTERWIDGET_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
#include "full_searchresult_widget.h"
|
#include "full_searchresult_widget.h"
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
|
@ -29,7 +28,10 @@ FullSearchResultWidget::FullSearchResultWidget(QWidget *parent) :
|
||||||
|
|
||||||
FullSearchResultWidget::~FullSearchResultWidget()
|
FullSearchResultWidget::~FullSearchResultWidget()
|
||||||
{
|
{
|
||||||
delete m_ukuiMenuInterface;
|
if (m_ukuiMenuInterface) {
|
||||||
|
delete m_ukuiMenuInterface;
|
||||||
|
m_ukuiMenuInterface = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullSearchResultWidget::initUi()
|
void FullSearchResultWidget::initUi()
|
||||||
|
@ -47,7 +49,7 @@ void FullSearchResultWidget::initUi()
|
||||||
m_scrollArea->setStyleSheet("background:transparent");
|
m_scrollArea->setStyleSheet("background:transparent");
|
||||||
m_scrollAreaWid = new ScrollAreaWid(this);
|
m_scrollAreaWid = new ScrollAreaWid(this);
|
||||||
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
|
m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
|
||||||
m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
|
||||||
m_scrollArea->setWidget(m_scrollAreaWid);
|
m_scrollArea->setWidget(m_scrollAreaWid);
|
||||||
m_scrollArea->setWidgetResizable(true);
|
m_scrollArea->setWidgetResizable(true);
|
||||||
m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
|
@ -136,9 +138,9 @@ void FullSearchResultWidget::initAppListWidget()
|
||||||
m_listView->installEventFilter(this);
|
m_listView->installEventFilter(this);
|
||||||
m_scrollAreaWidLayout->addWidget(m_listView);
|
m_scrollAreaWidLayout->addWidget(m_listView);
|
||||||
m_listView->setFixedWidth(m_scrollArea->width());
|
m_listView->setFixedWidth(m_scrollArea->width());
|
||||||
connect(m_listView, &FullListView::sendItemClickedSignal, this, &FullSearchResultWidget::execApplication);
|
|
||||||
connect(m_listView, &FullListView::sendHideMainWindowSignal, this, &FullSearchResultWidget::sendHideMainWindowSignal);
|
connect(m_listView, &FullListView::sendHideMainWindowSignal, this, &FullSearchResultWidget::sendHideMainWindowSignal);
|
||||||
connect(m_listView, &FullListView::sendSetslidebar, this, &FullSearchResultWidget::onSetSlider);
|
connect(m_listView, &FullListView::sendSetslidebar, this, &FullSearchResultWidget::onSetSlider);
|
||||||
|
connect(m_listView, &FullListView::sendCollectViewUpdate, this, &FullSearchResultWidget::sendCollectViewUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullSearchResultWidget::fillAppList()
|
void FullSearchResultWidget::fillAppList()
|
||||||
|
@ -147,20 +149,12 @@ void FullSearchResultWidget::fillAppList()
|
||||||
m_listView->addData(m_data);
|
m_listView->addData(m_data);
|
||||||
resizeScrollAreaControls();
|
resizeScrollAreaControls();
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 执行应用程序
|
|
||||||
*/
|
|
||||||
void FullSearchResultWidget::execApplication(QString desktopfp)
|
|
||||||
{
|
|
||||||
Q_EMIT sendHideMainWindowSignal();
|
|
||||||
execApp(desktopfp);
|
|
||||||
}
|
|
||||||
|
|
||||||
void FullSearchResultWidget::updateAppListView(QVector<QStringList> arg)
|
void FullSearchResultWidget::updateAppListView(QVector<QStringList> arg)
|
||||||
{
|
{
|
||||||
m_data.clear();
|
m_data.clear();
|
||||||
|
|
||||||
Q_FOREACH (QStringList appinfo, arg) {
|
Q_FOREACH(QStringList appinfo, arg) {
|
||||||
m_data.append(appinfo.at(0));
|
m_data.append(appinfo.at(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -228,7 +222,7 @@ void FullSearchResultWidget::selectFirstItemTab()
|
||||||
|
|
||||||
void FullSearchResultWidget::repaintWidget()
|
void FullSearchResultWidget::repaintWidget()
|
||||||
{
|
{
|
||||||
m_scrollArea->setFixedSize(Style::m_applistWidWidth, Style::m_applistWidHeight);
|
m_scrollArea->setFixedSize(Style::m_applistAreaWidth, Style::m_applistWidHeight);
|
||||||
resizeScrollAreaControls();
|
resizeScrollAreaControls();
|
||||||
m_scrollAreaWidHeight = m_scrollAreaWid->height() + 1;
|
m_scrollAreaWidHeight = m_scrollAreaWid->height() + 1;
|
||||||
initVerticalScrollBar();
|
initVerticalScrollBar();
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FULLSEARCHRESULTWIDGET_H
|
#ifndef FULLSEARCHRESULTWIDGET_H
|
||||||
|
@ -90,11 +89,6 @@ protected:
|
||||||
bool eventFilter(QObject *watched, QEvent *event);
|
bool eventFilter(QObject *watched, QEvent *event);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
/**
|
|
||||||
* @brief Open the application
|
|
||||||
* @param arg: Desktop file path
|
|
||||||
*/
|
|
||||||
void execApplication(QString desktopfp);
|
|
||||||
|
|
||||||
void selectFirstItemTab();
|
void selectFirstItemTab();
|
||||||
|
|
||||||
|
@ -114,6 +108,7 @@ Q_SIGNALS:
|
||||||
*/
|
*/
|
||||||
void sendHideMainWindowSignal();
|
void sendHideMainWindowSignal();
|
||||||
void setFocusToSideWin();
|
void setFocusToSideWin();
|
||||||
|
void sendCollectViewUpdate();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FULLSEARCHRESULTWIDGET_H
|
#endif // FULLSEARCHRESULTWIDGET_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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "function_Widget.h"
|
#include "function_Widget.h"
|
||||||
#include "style.h"
|
#include "style.h"
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
@ -6,7 +23,6 @@
|
||||||
#include <QLocale>
|
#include <QLocale>
|
||||||
#include <qwindow.h>
|
#include <qwindow.h>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <AbstractInterface.h>
|
|
||||||
#include <QPluginLoader>
|
#include <QPluginLoader>
|
||||||
#include "currenttime_interface.h"
|
#include "currenttime_interface.h"
|
||||||
#include "style.h"
|
#include "style.h"
|
||||||
|
@ -210,7 +226,7 @@ void FunctionWidget::initUi()
|
||||||
}
|
}
|
||||||
|
|
||||||
mainLayout->addWidget(searchEditBtn);
|
mainLayout->addWidget(searchEditBtn);
|
||||||
focusPlug = new pluginwidget(this);
|
focusPlug = new PluginWidget(this);
|
||||||
mainLayout->addWidget(focusPlug);
|
mainLayout->addWidget(focusPlug);
|
||||||
focusPlug->setFixedSize(400, 638);
|
focusPlug->setFixedSize(400, 638);
|
||||||
mainLayout->addStretch();
|
mainLayout->addStretch();
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef FUNCTIONWIDGET_H
|
#ifndef FUNCTIONWIDGET_H
|
||||||
#define FUNCTIONWIDGET_H
|
#define FUNCTIONWIDGET_H
|
||||||
|
|
||||||
|
@ -11,7 +28,6 @@
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QGSettings>
|
#include <QGSettings>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include "AbstractInterface.h"
|
|
||||||
#include <QGraphicsDropShadowEffect>
|
#include <QGraphicsDropShadowEffect>
|
||||||
#include "plugin_widget.h"
|
#include "plugin_widget.h"
|
||||||
#include "currenttime_interface.h"
|
#include "currenttime_interface.h"
|
||||||
|
@ -23,7 +39,7 @@ public:
|
||||||
FunctionWidget(QWidget *parent);
|
FunctionWidget(QWidget *parent);
|
||||||
~FunctionWidget();
|
~FunctionWidget();
|
||||||
//QWidget* focusPlug=nullptr;
|
//QWidget* focusPlug=nullptr;
|
||||||
pluginwidget *focusPlug = nullptr;
|
PluginWidget *focusPlug = nullptr;
|
||||||
void setDownOpacityEffect(const qreal &num);
|
void setDownOpacityEffect(const qreal &num);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "function_button_widget.h"
|
#include "function_button_widget.h"
|
||||||
|
@ -55,9 +54,9 @@ void FunctionButtonWidget::initUi()
|
||||||
|
|
||||||
for (int row = 0; row < 6; row++)
|
for (int row = 0; row < 6; row++)
|
||||||
for (int col = 0; col < 2; col++) {
|
for (int col = 0; col < 2; col++) {
|
||||||
FunctionClassifyButton *iconbtn = new FunctionClassifyButton(Style::LeftBtnWidth,
|
FunctionClassifyButton *iconbtn = new FunctionClassifyButton(Style::m_leftBtnWidth,
|
||||||
Style::LeftBtnHeight,
|
Style::m_leftBtnHeight,
|
||||||
Style::LeftIconSize,
|
Style::m_leftIconSize,
|
||||||
m_categoryList.at(row * 2 + col),
|
m_categoryList.at(row * 2 + col),
|
||||||
false,
|
false,
|
||||||
false);
|
false);
|
||||||
|
@ -73,7 +72,7 @@ void FunctionButtonWidget::initUi()
|
||||||
if (QGSettings::isSchemaInstalled(QString("org.ukui.style").toLocal8Bit())) {
|
if (QGSettings::isSchemaInstalled(QString("org.ukui.style").toLocal8Bit())) {
|
||||||
QGSettings *gsetting = new QGSettings(QString("org.ukui.style").toLocal8Bit());
|
QGSettings *gsetting = new QGSettings(QString("org.ukui.style").toLocal8Bit());
|
||||||
connect(gsetting, &QGSettings::changed, this, [ = ] {
|
connect(gsetting, &QGSettings::changed, this, [ = ] {
|
||||||
Q_FOREACH (QAbstractButton *btn, m_buttonList)
|
Q_FOREACH(QAbstractButton *btn, m_buttonList)
|
||||||
{
|
{
|
||||||
FunctionClassifyButton *fbtn = qobject_cast<FunctionClassifyButton *>(btn);
|
FunctionClassifyButton *fbtn = qobject_cast<FunctionClassifyButton *>(btn);
|
||||||
fbtn->updateBtnState();
|
fbtn->updateBtnState();
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FUNCTIONBUTTONWIDGET_H
|
#ifndef FUNCTIONBUTTONWIDGET_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "letter_button_widget.h"
|
#include "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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef LETTERBUTTONWIDGET_H
|
#ifndef LETTERBUTTONWIDGET_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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "main_view_widget.h"
|
#include "main_view_widget.h"
|
||||||
|
@ -55,23 +54,12 @@ void MainViewWidget::styleChangeSlot(const QString &style)
|
||||||
|
|
||||||
void MainViewWidget::paintEvent(QPaintEvent *event)
|
void MainViewWidget::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
// double transparency = getTransparency();
|
QRect rect = this->rect().adjusted(5, 5, 0, -5);
|
||||||
QRect rect = this->rect();
|
|
||||||
QPainterPath path;
|
QPainterPath path;
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
|
path.addRoundedRect(rect, 10, 10);
|
||||||
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
|
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
|
||||||
painter.setPen(Qt::transparent);
|
painter.setPen(Qt::transparent);
|
||||||
qreal radius = 10;
|
|
||||||
path.moveTo(rect.topRight() - QPointF(radius, 0));
|
|
||||||
path.lineTo(rect.topLeft() + QPointF(radius, 0));
|
|
||||||
path.quadTo(rect.topLeft(), rect.topLeft() + QPointF(0, radius));
|
|
||||||
path.lineTo(rect.bottomLeft() + QPointF(0, -radius));
|
|
||||||
path.quadTo(rect.bottomLeft(), rect.bottomLeft() + QPointF(radius, 0));
|
|
||||||
path.lineTo(rect.bottomRight() - QPointF(radius, 0));
|
|
||||||
path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
|
|
||||||
path.lineTo(rect.topRight() + QPointF(0, radius));
|
|
||||||
path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
|
|
||||||
painter.setPen(Qt::transparent);
|
|
||||||
painter.setOpacity(0.58);
|
painter.setOpacity(0.58);
|
||||||
painter.fillPath(path, m_backColor);
|
painter.fillPath(path, m_backColor);
|
||||||
QWidget::paintEvent(event);
|
QWidget::paintEvent(event);
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MAINVIEWWIDGET_H
|
#ifndef MAINVIEWWIDGET_H
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "plugin_widget.h"
|
#include "plugin_widget.h"
|
||||||
#include "KySmallPluginInterface.h"
|
#include "KySmallPluginInterface.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
pluginwidget::pluginwidget(QWidget *parent) : QWidget(parent)
|
PluginWidget::PluginWidget(QWidget *parent) : QWidget(parent)
|
||||||
{
|
{
|
||||||
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
|
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
|
||||||
this->setAttribute(Qt::WA_StyledBackground, true);
|
this->setAttribute(Qt::WA_StyledBackground, true);
|
||||||
this->setFocusPolicy(Qt::NoFocus);
|
this->setFocusPolicy(Qt::NoFocus);
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
void pluginwidget::init()
|
void PluginWidget::init()
|
||||||
{
|
{
|
||||||
QPluginLoader loader("/opt/small-plugin/bin/libsmall-plugin-manage.so");
|
QPluginLoader loader("/opt/small-plugin/bin/libsmall-plugin-manage.so");
|
||||||
QObject *plugin = loader.instance();
|
QObject *plugin = loader.instance();
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef PLUGINWIDGET_H
|
#ifndef PLUGINWIDGET_H
|
||||||
#define PLUGINWIDGET_H
|
#define PLUGINWIDGET_H
|
||||||
|
|
||||||
|
@ -8,8 +25,6 @@
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QPluginLoader>
|
#include <QPluginLoader>
|
||||||
#include <AbstractInterface.h>
|
|
||||||
#include <abstractInterface.h>
|
|
||||||
#include <QLibrary>
|
#include <QLibrary>
|
||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
@ -17,11 +32,11 @@
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QDBusInterface>
|
#include <QDBusInterface>
|
||||||
#include <QDBusReply>
|
#include <QDBusReply>
|
||||||
class pluginwidget : public QWidget
|
class PluginWidget : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit pluginwidget(QWidget *parent = nullptr);
|
explicit PluginWidget(QWidget *parent = nullptr);
|
||||||
void init();
|
void init();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "splitbar_frame.h"
|
#include "splitbar_frame.h"
|
||||||
|
@ -45,7 +44,7 @@ void SplitBarFrame::initAppBtn()
|
||||||
layout->setContentsMargins(15, 0, 0, 0);
|
layout->setContentsMargins(15, 0, 0, 0);
|
||||||
layout->setSpacing(6);
|
layout->setSpacing(6);
|
||||||
m_textLabel->setAutoFillBackground(false);
|
m_textLabel->setAutoFillBackground(false);
|
||||||
m_textLabel->setAlignment(Qt::AlignCenter);
|
m_textLabel->setAlignment(Qt::AlignTop);
|
||||||
m_textLabel->setText(m_category);
|
m_textLabel->setText(m_category);
|
||||||
m_textLabel->adjustSize();
|
m_textLabel->adjustSize();
|
||||||
QPalette pe = m_textLabel->palette();
|
QPalette pe = m_textLabel->palette();
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef PUSHBUTTON_H
|
#ifndef PUSHBUTTON_H
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
#include "tabview_widget.h"
|
|
||||||
#include <QTabBar>
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
#ifndef TABVIEWWIDGET_H
|
|
||||||
#define TABVIEWWIDGET_H
|
|
||||||
#include <QTabWidget>
|
|
||||||
#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
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "full_mainwindow.h"
|
#include "full_mainwindow.h"
|
||||||
#include <KWindowEffects>
|
#include <KWindowEffects>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
@ -216,11 +233,15 @@ void FullMainWindow::initConnect()
|
||||||
connect(this, &FullMainWindow::sendSetFocusToResult, m_fullResultPage, &FullSearchResultWidget::selectFirstItemTab);
|
connect(this, &FullMainWindow::sendSetFocusToResult, m_fullResultPage, &FullSearchResultWidget::selectFirstItemTab);
|
||||||
// connect(m_fullSelectMenuButton, &QToolButton::clicked, this, &FullMainWindow::on_fullSelectMenuButton_clicked);
|
// connect(m_fullSelectMenuButton, &QToolButton::clicked, this, &FullMainWindow::on_fullSelectMenuButton_clicked);
|
||||||
connect(m_fullCommonPage, &FullCommonUseWidget::sendUpdateOtherView, this, &FullMainWindow::sendUpdateOtherView);
|
connect(m_fullCommonPage, &FullCommonUseWidget::sendUpdateOtherView, this, &FullMainWindow::sendUpdateOtherView);
|
||||||
|
connect(m_fullCommonPage, &FullCommonUseWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
|
||||||
connect(m_fullFunctionPage, &FullFunctionWidget::sendUpdateCommonView, m_fullCommonPage, &FullCommonUseWidget::updateListViewSlot);
|
connect(m_fullFunctionPage, &FullFunctionWidget::sendUpdateCommonView, m_fullCommonPage, &FullCommonUseWidget::updateListViewSlot);
|
||||||
|
connect(m_fullFunctionPage, &FullFunctionWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
|
||||||
connect(m_fullLetterPage, &FullLetterWidget::sendUpdateCommonView, m_fullCommonPage, &FullCommonUseWidget::updateListViewSlot);
|
connect(m_fullLetterPage, &FullLetterWidget::sendUpdateCommonView, m_fullCommonPage, &FullCommonUseWidget::updateListViewSlot);
|
||||||
|
connect(m_fullLetterPage, &FullLetterWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
|
||||||
connect(m_fullCommonPage, &FullCommonUseWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
connect(m_fullCommonPage, &FullCommonUseWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
||||||
connect(m_fullFunctionPage, &FullFunctionWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
connect(m_fullFunctionPage, &FullFunctionWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
||||||
connect(m_fullLetterPage, &FullLetterWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
connect(m_fullLetterPage, &FullLetterWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
||||||
|
connect(m_fullResultPage, &FullSearchResultWidget::sendCollectViewUpdate, this, &FullMainWindow::sendCollectViewUpdate);
|
||||||
connect(m_fullResultPage, &FullSearchResultWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
connect(m_fullResultPage, &FullSearchResultWidget::sendHideMainWindowSignal, this, &FullMainWindow::fullWindowHide);
|
||||||
connect(m_dropDownMenu, &MenuBox::triggered, this, &FullMainWindow::on_fullSelectMenuButton_triggered);
|
connect(m_dropDownMenu, &MenuBox::triggered, this, &FullMainWindow::on_fullSelectMenuButton_triggered);
|
||||||
connect(m_dropDownMenu, &MenuBox::sendMainWinActiveSignal, [ = ]() {
|
connect(m_dropDownMenu, &MenuBox::sendMainWinActiveSignal, [ = ]() {
|
||||||
|
@ -315,7 +336,7 @@ bool FullMainWindow::eventFilter(QObject *watched, QEvent *event)
|
||||||
m_queryText->setParent(nullptr);
|
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_queryWid->layout()->setAlignment(Qt::AlignVCenter);
|
||||||
m_lineEdit->setTextMargins(26, 0, 0, 0);
|
m_lineEdit->setTextMargins(26, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -511,10 +532,15 @@ void FullMainWindow::searchAppSlot(QString arg)
|
||||||
void FullMainWindow::mousePressEvent(QMouseEvent *event)
|
void FullMainWindow::mousePressEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
resetEditline();
|
resetEditline();
|
||||||
|
return QMainWindow::mousePressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FullMainWindow::mouseReleaseEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (event->button() == Qt::LeftButton) {
|
||||||
this->hide();
|
this->hide();
|
||||||
}
|
}
|
||||||
return QMainWindow::mousePressEvent(event);
|
return QMainWindow::mouseReleaseEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullMainWindow::recvSearchResult(QVector<QStringList> arg)
|
void FullMainWindow::recvSearchResult(QVector<QStringList> arg)
|
||||||
|
|
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef FULLMAINWINDOW_H
|
#ifndef FULLMAINWINDOW_H
|
||||||
#define FULLMAINWINDOW_H
|
#define FULLMAINWINDOW_H
|
||||||
|
|
||||||
|
@ -35,6 +52,7 @@ Q_SIGNALS:
|
||||||
void sendSetFocusToLet();
|
void sendSetFocusToLet();
|
||||||
void sendSetFocusToResult();
|
void sendSetFocusToResult();
|
||||||
void sendUpdateOtherView();
|
void sendUpdateOtherView();
|
||||||
|
void sendCollectViewUpdate();
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
|
|
||||||
|
@ -53,6 +71,7 @@ protected:
|
||||||
bool event(QEvent *event);
|
bool event(QEvent *event);
|
||||||
bool eventFilter(QObject *watched, QEvent *event);
|
bool eventFilter(QObject *watched, QEvent *event);
|
||||||
void mousePressEvent(QMouseEvent *event);
|
void mousePressEvent(QMouseEvent *event);
|
||||||
|
void mouseReleaseEvent(QMouseEvent *event);
|
||||||
void changeStyle();
|
void changeStyle();
|
||||||
void initConnect();
|
void initConnect();
|
||||||
void initTabOrder();
|
void initTabOrder();
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
@ -41,7 +40,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||||
Style::initWidStyle();
|
Style::initWidStyle();
|
||||||
openDataBase("MainThreadDataBase");
|
openDataBase("MainThreadDataBase");
|
||||||
initDatabase();
|
initDatabase();
|
||||||
this->resize(Style::minw, Style::minh);
|
this->resize(Style::m_minw, Style::m_minh);
|
||||||
this->setAutoFillBackground(false);
|
this->setAutoFillBackground(false);
|
||||||
m_centralwidget = new QWidget(this);
|
m_centralwidget = new QWidget(this);
|
||||||
m_centerLayout = new QHBoxLayout(m_centralwidget);
|
m_centerLayout = new QHBoxLayout(m_centralwidget);
|
||||||
|
@ -62,8 +61,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||||
|
|
||||||
m_softwareDbThread = new SoftwareDatabaseUpdateThread;
|
m_softwareDbThread = new SoftwareDatabaseUpdateThread;
|
||||||
m_animationPage = new AnimationPage();
|
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_searchAppThread = new SearchAppThread;
|
||||||
m_functionBtnWid = new FunctionButtonWidget(m_minFuncPage);
|
m_functionBtnWid = new FunctionButtonWidget(m_minFuncPage);
|
||||||
m_functionBtnWid->hide();
|
m_functionBtnWid->hide();
|
||||||
|
@ -209,13 +206,12 @@ void MainWindow::initSignalConnect()
|
||||||
connect(m_letterBtnWid, &LetterButtonWidget::sendLetterBtnSignal, this, &MainWindow::recvFunctionBtnSignal);
|
connect(m_letterBtnWid, &LetterButtonWidget::sendLetterBtnSignal, this, &MainWindow::recvFunctionBtnSignal);
|
||||||
connect(m_functionBtnWid, &FunctionButtonWidget::sendResetFunctionPage, this, &MainWindow::resetFunctionPage);
|
connect(m_functionBtnWid, &FunctionButtonWidget::sendResetFunctionPage, this, &MainWindow::resetFunctionPage);
|
||||||
connect(m_letterBtnWid, &LetterButtonWidget::sendResetLetterPage, this, &MainWindow::resetLetterPage);
|
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(m_lineEdit, &QLineEdit::textChanged, this, &MainWindow::searchAppSlot);
|
||||||
connect(this, &MainWindow::sendSearchKeyword, m_searchAppThread, &SearchAppThread::recvSearchKeyword);
|
connect(this, &MainWindow::sendSearchKeyword, m_searchAppThread, &SearchAppThread::recvSearchKeyword);
|
||||||
connect(m_searchAppThread, &SearchAppThread::sendSearchResult, this, &MainWindow::recvSearchResult);
|
connect(m_searchAppThread, &SearchAppThread::sendSearchResult, this, &MainWindow::recvSearchResult);
|
||||||
connect(m_fullWindow, &FullMainWindow::showNormalWindow, this, &MainWindow::showNormalWindowSlot);
|
connect(m_fullWindow, &FullMainWindow::showNormalWindow, this, &MainWindow::showNormalWindowSlot);
|
||||||
connect(m_fullWindow, &FullMainWindow::sendUpdateOtherView, this, &MainWindow::updateMinAllView);
|
connect(m_fullWindow, &FullMainWindow::sendUpdateOtherView, this, &MainWindow::updateMinAllView);
|
||||||
|
connect(m_fullWindow, &FullMainWindow::sendCollectViewUpdate, this, &MainWindow::updateCollectView);
|
||||||
connect(m_minSelectButton, &QToolButton::clicked, this, &MainWindow::on_minSelectButton_clicked);
|
connect(m_minSelectButton, &QToolButton::clicked, this, &MainWindow::on_minSelectButton_clicked);
|
||||||
connect(m_dropDownMenu, &MenuBox::triggered, this, &MainWindow::on_selectMenuButton_triggered);
|
connect(m_dropDownMenu, &MenuBox::triggered, this, &MainWindow::on_selectMenuButton_triggered);
|
||||||
connect(m_dropDownMenu, &MenuBox::sendMainWinActiveSignal, [ = ]() {
|
connect(m_dropDownMenu, &MenuBox::sendMainWinActiveSignal, [ = ]() {
|
||||||
|
@ -322,7 +318,7 @@ void MainWindow::initSearchUi()
|
||||||
m_selectMenuButton->setAcceptDrops(true);
|
m_selectMenuButton->setAcceptDrops(true);
|
||||||
m_selectMenuButton->setFocusPolicy(Qt::StrongFocus);
|
m_selectMenuButton->setFocusPolicy(Qt::StrongFocus);
|
||||||
m_selectMenuButton->setIcon(getCurIcon(":/data/img/mainviewwidget/downarrow.svg", true)
|
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_minSearchPage = new QWidget();
|
||||||
m_leftTopSearchHorizontalLayout = new QHBoxLayout(m_minSearchPage);
|
m_leftTopSearchHorizontalLayout = new QHBoxLayout(m_minSearchPage);
|
||||||
|
@ -349,32 +345,32 @@ void MainWindow::initLeftWidget()
|
||||||
{
|
{
|
||||||
//左侧列表区
|
//左侧列表区
|
||||||
m_leftStackedWidget = new QStackedWidget(m_viewWidget);
|
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 = 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 = 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_minAllListView->setFrameShape(QFrame::NoFrame);
|
||||||
m_leftStackedWidget->addWidget(m_minAllPage);
|
m_leftStackedWidget->addWidget(m_minAllPage);
|
||||||
m_minAllListView->installEventFilter(this);
|
m_minAllListView->installEventFilter(this);
|
||||||
m_minLetterPage = new QWidget();
|
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 = 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_minLetterListView->setFrameShape(QFrame::NoFrame);
|
||||||
m_leftStackedWidget->addWidget(m_minLetterPage);
|
m_leftStackedWidget->addWidget(m_minLetterPage);
|
||||||
m_minLetterListView->installEventFilter(this);
|
m_minLetterListView->installEventFilter(this);
|
||||||
m_minFuncPage = new QWidget();
|
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 = 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_minFuncListView->setFrameShape(QFrame::NoFrame);
|
||||||
m_leftStackedWidget->addWidget(m_minFuncPage);
|
m_leftStackedWidget->addWidget(m_minFuncPage);
|
||||||
m_minFuncListView->installEventFilter(this);
|
m_minFuncListView->installEventFilter(this);
|
||||||
m_minSearchResultPage = new QWidget();
|
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 = 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_minSearchResultListView->installEventFilter(this);
|
||||||
m_leftStackedWidget->addWidget(m_minSearchResultPage);
|
m_leftStackedWidget->addWidget(m_minSearchResultPage);
|
||||||
}
|
}
|
||||||
|
@ -449,9 +445,9 @@ void MainWindow::initRecentWidget()
|
||||||
//最近视图
|
//最近视图
|
||||||
m_recentListView = new ListView(m_recentPage);
|
m_recentListView = new ListView(m_recentPage);
|
||||||
m_recentListView->installEventFilter(this);
|
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 = 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->setAlignment(Qt::AlignCenter);
|
||||||
m_recentTextlabel->setText(QApplication::translate("MainWindow", "No recent files"));
|
m_recentTextlabel->setText(QApplication::translate("MainWindow", "No recent files"));
|
||||||
|
|
||||||
|
@ -678,27 +674,29 @@ void MainWindow::paintEvent(QPaintEvent *event)
|
||||||
if ( transparency == 1) {
|
if ( transparency == 1) {
|
||||||
curColor.setAlpha(255);
|
curColor.setAlpha(255);
|
||||||
}
|
}
|
||||||
QRect rect = this->rect();
|
QRect rect = this->rect().adjusted(5, 5, -5, -5);
|
||||||
QPainterPath path;
|
QPainterPath path;
|
||||||
// rect.setTopLeft(QPoint(rect.x()+320,rect.y()));
|
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
|
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
|
||||||
|
painter.save();
|
||||||
painter.setPen(Qt::transparent);
|
painter.setPen(Qt::transparent);
|
||||||
qreal radius = 10;
|
path.addRoundedRect(rect, 10, 10);
|
||||||
path.moveTo(rect.topRight() - QPointF(radius, 0));
|
|
||||||
path.lineTo(rect.topLeft() + QPointF(radius, 0));
|
|
||||||
path.quadTo(rect.topLeft(), rect.topLeft() + QPointF(0, radius));
|
|
||||||
path.lineTo(rect.bottomLeft() + QPointF(0, -radius));
|
|
||||||
path.quadTo(rect.bottomLeft(), rect.bottomLeft() + QPointF(radius, 0));
|
|
||||||
path.lineTo(rect.bottomRight() - QPointF(radius, 0));
|
|
||||||
path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
|
|
||||||
path.lineTo(rect.topRight() + QPointF(0, radius));
|
|
||||||
path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
|
|
||||||
painter.setBrush(curColor);
|
painter.setBrush(curColor);
|
||||||
painter.setPen(Qt::transparent);
|
painter.setPen(Qt::transparent);
|
||||||
painter.setOpacity(transparency);
|
painter.setOpacity(transparency);
|
||||||
painter.drawPath(path);
|
painter.drawPath(path);
|
||||||
|
painter.restore();
|
||||||
KWindowEffects::enableBlurBehind(this->winId(), true, QRegion(path.toFillPolygon().toPolygon()));
|
KWindowEffects::enableBlurBehind(this->winId(), true, QRegion(path.toFillPolygon().toPolygon()));
|
||||||
|
QColor color = Qt::black;
|
||||||
|
painter.save();
|
||||||
|
for (int i = 0; i < 7; i++) {
|
||||||
|
rect = this->rect().adjusted(i, i, - i, - i);
|
||||||
|
color.setAlpha(i * 6);
|
||||||
|
painter.setBrush(Qt::NoBrush);
|
||||||
|
painter.setPen(QPen(color, 1));
|
||||||
|
painter.drawRoundedRect(rect, 10, 10);
|
||||||
|
}
|
||||||
|
painter.restore();
|
||||||
QMainWindow::paintEvent(event);
|
QMainWindow::paintEvent(event);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -772,12 +770,13 @@ void MainWindow::minAnimationFinished()
|
||||||
m_viewWidget->setFocus();
|
m_viewWidget->setFocus();
|
||||||
// m_collectPushButton->clicked(true);
|
// m_collectPushButton->clicked(true);
|
||||||
on_collectPushButton_clicked();
|
on_collectPushButton_clicked();
|
||||||
QEventLoop loop;
|
|
||||||
QTimer::singleShot(100, &loop, SLOT(quit()));
|
QTimer::singleShot(200, [ = ]() {
|
||||||
loop.exec();
|
m_animationPage->hide();
|
||||||
m_animationPage->hide();
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::iconAnimationFinished()
|
void MainWindow::iconAnimationFinished()
|
||||||
{
|
{
|
||||||
m_dropDownMenu->raise();
|
m_dropDownMenu->raise();
|
||||||
|
@ -791,11 +790,12 @@ void MainWindow::maxAnimationFinished()
|
||||||
m_fullWindow->showNormal();
|
m_fullWindow->showNormal();
|
||||||
setMaxWindowPos();
|
setMaxWindowPos();
|
||||||
m_fullWindow->activateWindow();
|
m_fullWindow->activateWindow();
|
||||||
QEventLoop loop;
|
|
||||||
QTimer::singleShot(100, &loop, SLOT(quit()));
|
QTimer::singleShot(200, [ = ]() {
|
||||||
loop.exec();
|
m_animationPage->hide();
|
||||||
m_animationPage->hide();
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::resetLetterPage()
|
void MainWindow::resetLetterPage()
|
||||||
{
|
{
|
||||||
m_minLetterListView->show();
|
m_minLetterListView->show();
|
||||||
|
@ -845,12 +845,13 @@ void MainWindow::primaryScreenChangeSlot()
|
||||||
{
|
{
|
||||||
repaintWidget();
|
repaintWidget();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::appClassificationBtnClickedSlot()
|
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_leaveAnimation->setEndValue(QRect(0, 0, 0, 0));
|
||||||
m_enterAnimation->setStartValue(QRect(-40, -40, Style::leftPageWidth + 80, Style::leftPageHeight + 80));
|
m_enterAnimation->setStartValue(QRect(-40, -40, Style::m_leftPageWidth + 80, Style::m_leftPageHeight + 80));
|
||||||
m_enterAnimation->setEndValue(QRect(10, 0, Style::leftPageWidth - 20, Style::leftPageHeight - 60));
|
m_enterAnimation->setEndValue(QRect(10, 0, Style::m_leftPageWidth - 20, Style::m_leftPageHeight - 60));
|
||||||
m_leaveAnimation->setDuration(10);
|
m_leaveAnimation->setDuration(10);
|
||||||
m_enterAnimation->setDuration(100);
|
m_enterAnimation->setDuration(100);
|
||||||
|
|
||||||
|
@ -948,7 +949,7 @@ bool MainWindow::eventFilter(QObject *target, QEvent *event)
|
||||||
|
|
||||||
if (target == m_selectMenuButton) {
|
if (target == m_selectMenuButton) {
|
||||||
m_selectMenuButton->setIcon(getCurIcon(":/data/img/mainviewwidget/downarrow.svg", true)
|
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);
|
selectIconAnimation(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1134,7 +1135,7 @@ void MainWindow::recvSearchResult(QVector<QStringList> arg)
|
||||||
m_minSearchResultListView->verticalScrollBar()->setSliderPosition(0);
|
m_minSearchResultListView->verticalScrollBar()->setSliderPosition(0);
|
||||||
m_minSearchResultListView->addData(m_data, 3);
|
m_minSearchResultListView->addData(m_data, 3);
|
||||||
|
|
||||||
Q_FOREACH (QStringList appinfo, arg) {
|
Q_FOREACH(QStringList appinfo, arg) {
|
||||||
m_data.append(QStringList() << appinfo.at(0) << "1");
|
m_data.append(QStringList() << appinfo.at(0) << "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1152,7 +1153,7 @@ void MainWindow::searchAppSlot(QString arg)
|
||||||
}
|
}
|
||||||
void MainWindow::on_selectMenuButton_triggered(QAction *arg1)
|
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);
|
selectIconAnimation(false);
|
||||||
|
|
||||||
if (arg1 == m_allAction) {
|
if (arg1 == m_allAction) {
|
||||||
|
@ -1270,12 +1271,14 @@ void MainWindow::on_minMaxChangeButton_clicked()
|
||||||
{
|
{
|
||||||
m_canHide = true;
|
m_canHide = true;
|
||||||
m_isFullScreen = 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)) {
|
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
||||||
m_maxAnimation->setDuration(1);
|
m_maxAnimation->setDuration(1);
|
||||||
} else {
|
} else {
|
||||||
m_animationPage->show();
|
m_animationPage->show();
|
||||||
m_animationPage->setGeometry(this->x(), this->y(), Style::minw, Style::minh);
|
m_animationPage->setGeometry(this->x() + 5, this->y() + 5, Style::m_minw - 10, Style::m_minh - 10);
|
||||||
m_animationPage->raise();
|
m_animationPage->raise();
|
||||||
m_animationPage->repaint();
|
m_animationPage->repaint();
|
||||||
m_maxAnimation->setDuration(260);
|
m_maxAnimation->setDuration(260);
|
||||||
|
@ -1286,12 +1289,13 @@ void MainWindow::on_minMaxChangeButton_clicked()
|
||||||
loop.exec();
|
loop.exec();
|
||||||
m_maxAnimation->setEasingCurve(QEasingCurve::OutExpo);
|
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(Style::m_primaryScreenX, Style::m_primaryScreenY + Style::m_availableScreenHeight - Style::minh, Style::minw, Style::minh));
|
||||||
m_maxAnimation->setStartValue(QRect(this->x(), this->y(), Style::minw, Style::minh));
|
m_maxAnimation->setStartValue(QRect(this->x() + 5, this->y() + 5, Style::m_minw - 10, Style::m_minh - 10));
|
||||||
m_maxAnimation->setEndValue(QRect(0, 0, Style::m_availableScreenWidth, Style::m_availableScreenHeight));
|
m_maxAnimation->setEndValue(QRect(0, 0, Style::m_availableScreenWidth, Style::m_availableScreenHeight));
|
||||||
|
|
||||||
m_maxAnimation->start();
|
m_maxAnimation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||||
this->hide();
|
this->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::showWindow()
|
void MainWindow::showWindow()
|
||||||
{
|
{
|
||||||
Style::initWidStyle();
|
Style::initWidStyle();
|
||||||
|
@ -1338,27 +1342,27 @@ void MainWindow::setMinWindowPos()
|
||||||
|
|
||||||
if (position == 0) {
|
if (position == 0) {
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
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 {
|
} 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) {
|
} else if (position == 1) {
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
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 {
|
} 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) {
|
} else if (position == 2) {
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
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 {
|
} 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 {
|
} else {
|
||||||
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
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 {
|
} else {
|
||||||
this->setGeometry(QRect(x + width - Style::minw - 4, y + 4, Style::minw, Style::minh));
|
this->setGeometry(QRect(x + width - Style::m_minw - 4, y + 4, Style::m_minw, Style::m_minh));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1373,7 +1377,7 @@ void MainWindow::setMaxWindowPos()
|
||||||
void MainWindow::repaintWidget()
|
void MainWindow::repaintWidget()
|
||||||
{
|
{
|
||||||
Style::initWidStyle();
|
Style::initWidStyle();
|
||||||
this->setMinimumSize(Style::minw, Style::minh);
|
this->setMinimumSize(Style::m_minw, Style::m_minh);
|
||||||
int x = Style::m_primaryScreenX;
|
int x = Style::m_primaryScreenX;
|
||||||
int y = Style::m_primaryScreenY;
|
int y = Style::m_primaryScreenY;
|
||||||
int width = Style::m_availableScreenWidth;
|
int width = Style::m_availableScreenWidth;
|
||||||
|
@ -1388,6 +1392,9 @@ void MainWindow::showNormalWindowSlot()
|
||||||
{
|
{
|
||||||
myDebug() << "Style::m_availableScreenWidth" << Style::m_availableScreenWidth << "Style::m_availableScreenHeight" << Style::m_availableScreenHeight;
|
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)) {
|
if (g_platform.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
||||||
m_minAnimation->setDuration(1);
|
m_minAnimation->setDuration(1);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1405,9 +1412,9 @@ void MainWindow::showNormalWindowSlot()
|
||||||
m_isFullScreen = false;
|
m_isFullScreen = false;
|
||||||
m_minAnimation->setEasingCurve(QEasingCurve::OutExpo);
|
m_minAnimation->setEasingCurve(QEasingCurve::OutExpo);
|
||||||
m_minAnimation->setStartValue(QRect(0, 0, Style::m_availableScreenWidth, Style::m_availableScreenHeight));
|
m_minAnimation->setStartValue(QRect(0, 0, Style::m_availableScreenWidth, Style::m_availableScreenHeight));
|
||||||
m_minAnimation->setEndValue(QRect(this->x(), this->y(), Style::minw, Style::minh));
|
m_minAnimation->setEndValue(QRect(this->x() + 5, this->y() + 5, Style::m_minw - 10, Style::m_minh - 10));
|
||||||
|
|
||||||
m_minAnimation->start();
|
m_minAnimation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||||
m_fullWindow->hide();
|
m_fullWindow->hide();
|
||||||
}
|
}
|
||||||
void MainWindow::on_powerOffButton_clicked()
|
void MainWindow::on_powerOffButton_clicked()
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MAINWINDOW_H
|
#ifndef MAINWINDOW_H
|
||||||
|
@ -38,7 +37,6 @@
|
||||||
#include "convert_winid_to_desktop.h"
|
#include "convert_winid_to_desktop.h"
|
||||||
#include "style.h"
|
#include "style.h"
|
||||||
#include "main_view_widget.h"
|
#include "main_view_widget.h"
|
||||||
#include "tabview_widget.h"
|
|
||||||
#include "dbus.h"
|
#include "dbus.h"
|
||||||
#include "dbus-adaptor.h"
|
#include "dbus-adaptor.h"
|
||||||
#include "software_database_update_thread.h"
|
#include "software_database_update_thread.h"
|
||||||
|
@ -54,6 +52,7 @@
|
||||||
#include "letter_button_widget.h"
|
#include "letter_button_widget.h"
|
||||||
#include "animationpage.h"
|
#include "animationpage.h"
|
||||||
#include "rotationlabel.h"
|
#include "rotationlabel.h"
|
||||||
|
#include "rightlistview.h"
|
||||||
#include "ukuistylehelper/ukuistylehelper.h"
|
#include "ukuistylehelper/ukuistylehelper.h"
|
||||||
#include "windowmanager/windowmanager.h"
|
#include "windowmanager/windowmanager.h"
|
||||||
|
|
||||||
|
@ -144,6 +143,7 @@ public Q_SLOTS:
|
||||||
void iconAnimationFinished();
|
void iconAnimationFinished();
|
||||||
void changeStyle();
|
void changeStyle();
|
||||||
void tabletModeChangeSlot(bool flag);
|
void tabletModeChangeSlot(bool flag);
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void on_selectMenuButton_triggered(QAction *arg1);
|
void on_selectMenuButton_triggered(QAction *arg1);
|
||||||
|
|
||||||
|
@ -236,8 +236,6 @@ private:
|
||||||
DesktopWatcher *m_desktopWatcher = nullptr;
|
DesktopWatcher *m_desktopWatcher = nullptr;
|
||||||
QPropertyAnimation *m_enterAnimation = nullptr;
|
QPropertyAnimation *m_enterAnimation = nullptr;
|
||||||
QPropertyAnimation *m_leaveAnimation = nullptr;
|
QPropertyAnimation *m_leaveAnimation = nullptr;
|
||||||
QPropertyAnimation *m_minAnimation = nullptr;
|
|
||||||
QPropertyAnimation *m_maxAnimation = nullptr;
|
|
||||||
QPropertyAnimation *iconAnimation = nullptr;
|
QPropertyAnimation *iconAnimation = nullptr;
|
||||||
int m_widgetState = -1;
|
int m_widgetState = -1;
|
||||||
FunctionButtonWidget *m_functionBtnWid = nullptr;
|
FunctionButtonWidget *m_functionBtnWid = nullptr;
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tabletwindow.h"
|
#include "tabletwindow.h"
|
||||||
|
@ -69,12 +68,12 @@ void TabletWindow::initSize()
|
||||||
{
|
{
|
||||||
Style::initWidStyle();
|
Style::initWidStyle();
|
||||||
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
this->setFixedSize(Style::ScreenWidth, Style::ScreenHeight);
|
this->setFixedSize(Style::m_screenWidth, Style::m_screenHeight);
|
||||||
m_leftWidget->setFixedSize(Style::m_leftWidWidth, Style::CenterWindHeight);
|
m_leftWidget->setFixedSize(Style::m_leftWidWidth, Style::m_centerWindHeight);
|
||||||
m_leftWidget->layout()->setContentsMargins(Style::TimeWidgetLeft, Style::TimeWidgetTop, 0, 0);
|
m_leftWidget->layout()->setContentsMargins(Style::m_timeWidgetLeft, Style::m_timeWidgetTop, 0, 0);
|
||||||
m_scrollAreaWid->setFixedHeight(Style::CenterWindHeight);
|
m_scrollAreaWid->setFixedHeight(Style::m_centerWindHeight);
|
||||||
m_scrollArea->setFixedSize(Style::ScreenWidth, Style::CenterWindHeight);
|
m_scrollArea->setFixedSize(Style::m_screenWidth, Style::m_centerWindHeight);
|
||||||
m_buttonWidget->setFixedSize(Style::OtherPageViewWidth, 30);
|
m_buttonWidget->setFixedSize(Style::m_otherPageViewWidth, 30);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabletWindow::initUi()
|
void TabletWindow::initUi()
|
||||||
|
@ -557,15 +556,15 @@ void TabletWindow::insertAppList(QStringList desktopfplist)
|
||||||
m_firstPageLayout->setContentsMargins(0, 0, 0, 0);
|
m_firstPageLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
m_firstPageWidget->setLayout(m_firstPageLayout);
|
m_firstPageWidget->setLayout(m_firstPageLayout);
|
||||||
m_firstPageLayout->addWidget(m_leftWidget);
|
m_firstPageLayout->addWidget(m_leftWidget);
|
||||||
listview->setFixedSize(Style::FirsPageViewWidth, Style::CenterWindHeight);
|
listview->setFixedSize(Style::m_firsPageViewWidth, Style::m_centerWindHeight);
|
||||||
m_firstPageLayout->addWidget(listview);
|
m_firstPageLayout->addWidget(listview);
|
||||||
m_scrollAreaWidLayout->addWidget(m_firstPageWidget);
|
m_scrollAreaWidLayout->addWidget(m_firstPageWidget);
|
||||||
listview->setGridSize(QSize(Style::TabletItemSizeWidthFirst, Style::AppListItemSizeHeight));
|
listview->setGridSize(QSize(Style::m_tabletItemSizeWidthFirst, Style::m_appListItemSizeHeight));
|
||||||
m_isFirstPage = false;
|
m_isFirstPage = false;
|
||||||
} else {
|
} else {
|
||||||
listview = new TabletListView(this, 1);
|
listview = new TabletListView(this, 1);
|
||||||
listview->setFixedSize(Style::OtherPageViewWidth, Style::CenterWindHeight);
|
listview->setFixedSize(Style::m_otherPageViewWidth, Style::m_centerWindHeight);
|
||||||
listview->setGridSize(QSize(Style::TabletItemSizeWidthOther, Style::AppListItemSizeHeight));
|
listview->setGridSize(QSize(Style::m_tabletItemSizeWidthOther, Style::m_appListItemSizeHeight));
|
||||||
m_scrollAreaWidLayout->addWidget(listview);
|
m_scrollAreaWidLayout->addWidget(listview);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -936,7 +935,7 @@ void TabletWindow::buttonClicked(QAbstractButton *button)
|
||||||
if (!(m_scrollAnimation->state() == QPropertyAnimation::Running)) {
|
if (!(m_scrollAnimation->state() == QPropertyAnimation::Running)) {
|
||||||
int idd = m_buttonGroup->id(button);
|
int idd = m_buttonGroup->id(button);
|
||||||
int preNum = m_curPageNum;
|
int preNum = m_curPageNum;
|
||||||
Style::nowpagenum = idd;
|
Style::m_nowpagenum = idd;
|
||||||
|
|
||||||
// QDBusReply<bool> res = usrInterface->call("get_current_tabletmode");
|
// QDBusReply<bool> res = usrInterface->call("get_current_tabletmode");
|
||||||
for (int page = 1; page <= m_pagemanager->getAppPageVector().size(); page++) {
|
for (int page = 1; page <= m_pagemanager->getAppPageVector().size(); page++) {
|
||||||
|
|
|
@ -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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3, or (at your option)
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -12,8 +12,7 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TABLETWINDOW_H
|
#ifndef TABLETWINDOW_H
|
||||||
|
|
|
@ -40,7 +40,6 @@ HEADERS += \
|
||||||
$$PWD/Widget/main_view_widget.h \
|
$$PWD/Widget/main_view_widget.h \
|
||||||
$$PWD/Widget/plugin_widget.h \
|
$$PWD/Widget/plugin_widget.h \
|
||||||
$$PWD/Widget/splitbar_frame.h \
|
$$PWD/Widget/splitbar_frame.h \
|
||||||
$$PWD/Widget/tabview_widget.h \
|
|
||||||
$$PWD/full_mainwindow.h \
|
$$PWD/full_mainwindow.h \
|
||||||
$$PWD/mainwindow.h \
|
$$PWD/mainwindow.h \
|
||||||
$$PWD/tabletwindow.h
|
$$PWD/tabletwindow.h
|
||||||
|
@ -78,7 +77,6 @@ SOURCES += \
|
||||||
$$PWD/Widget/main_view_widget.cpp \
|
$$PWD/Widget/main_view_widget.cpp \
|
||||||
$$PWD/Widget/plugin_widget.cpp \
|
$$PWD/Widget/plugin_widget.cpp \
|
||||||
$$PWD/Widget/splitbar_frame.cpp \
|
$$PWD/Widget/splitbar_frame.cpp \
|
||||||
$$PWD/Widget/tabview_widget.cpp \
|
|
||||||
$$PWD/full_mainwindow.cpp \
|
$$PWD/full_mainwindow.cpp \
|
||||||
$$PWD/mainwindow.cpp \
|
$$PWD/mainwindow.cpp \
|
||||||
$$PWD/tabletwindow.cpp
|
$$PWD/tabletwindow.cpp
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
#ifndef ABSTRACTINTERFACE_H
|
|
||||||
#define ABSTRACTINTERFACE_H
|
|
||||||
#include <QObject>
|
|
||||||
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
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue