diff --git a/src/backend/downloadworker.cpp b/src/backend/downloadworker.cpp index 1d14f27..0895d43 100644 --- a/src/backend/downloadworker.cpp +++ b/src/backend/downloadworker.cpp @@ -30,7 +30,6 @@ void DownloadController::setFilename(QString filename) this->filename = filename; } - bool checkMeatlink(QString metaUrl) { QFile metaStatus("/tmp/spark-store/metaStatus.txt"); diff --git a/src/backend/image_show.cpp b/src/backend/image_show.cpp index f67b340..f817a49 100644 --- a/src/backend/image_show.cpp +++ b/src/backend/image_show.cpp @@ -1,13 +1,12 @@ #include "image_show.h" #include <QHBoxLayout> -#include <QScreen> // Qt5 不再建议使用 QDesktopWidget +#include <QScreen> // Qt5 不再建议使用 QDesktopWidget #include <QGuiApplication> -image_show::image_show(QWidget *parent) : - QWidget(parent), - m_dialog(new big_image), - m_label(new QLabel) +image_show::image_show(QWidget *parent) : QWidget(parent), + m_dialog(new big_image), + m_label(new QLabel) { QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(m_label); @@ -27,7 +26,7 @@ void image_show::setImage(QPixmap image) desktop_w = QGuiApplication::primaryScreen()->geometry().width(); desktop_h = QGuiApplication::primaryScreen()->geometry().height(); - if(screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20)) + if (screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20)) { re_screen1 = screen0.scaled(QSize(desktop_w - 20, desktop_h - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation); m_image = QPixmap::fromImage(re_screen1); @@ -48,7 +47,7 @@ void image_show::mousePressEvent(QMouseEvent *) // 识别主屏幕尺寸并设置 widget 大小 m_dialog->setFixedSize(desktop_w, desktop_h); - m_dialog->move(0,0); + m_dialog->move(0, 0); } image_show::~image_show() { diff --git a/src/backend/sparkapi.cpp b/src/backend/sparkapi.cpp index 70c1983..8a2a4f5 100644 --- a/src/backend/sparkapi.cpp +++ b/src/backend/sparkapi.cpp @@ -7,7 +7,7 @@ QString SparkAPI::serverUrl = ""; SparkAPI::SparkAPI(QObject *parent) : QObject(parent) { QSettings readConfig(QDir::homePath() + "/.config/spark-store/config.ini", QSettings::IniFormat); - if(!readConfig.value("server/choose").toString().isEmpty() && readConfig.value("server/updated").toString() == "TRUE") + if (!readConfig.value("server/choose").toString().isEmpty() && readConfig.value("server/updated").toString() == "TRUE") { SparkAPI::setServerUrl(readConfig.value("server/choose").toString()); } @@ -15,9 +15,10 @@ SparkAPI::SparkAPI(QObject *parent) : QObject(parent) void SparkAPI::get(QUrl url) { QNetworkRequest request; - HttpRequest *httprequest=new HttpRequest; - request.setUrl(QUrl(url.toString().replace("+","%2B"))); - connect(httprequest,&HttpRequest::finished,[=](QString data){ + HttpRequest *httprequest = new HttpRequest; + request.setUrl(QUrl(url.toString().replace("+", "%2B"))); + connect(httprequest, &HttpRequest::finished, [=](QString data) + { QByteArray arr = data.toUtf8(); //解析Json QJsonParseError error; @@ -30,36 +31,35 @@ void SparkAPI::get(QUrl url) emit finishedObject(doc); } - httprequest->deleteLater(); - }); + httprequest->deleteLater(); }); httprequest->getRequest(request); } void SparkAPI::getRAW(QUrl url) { QNetworkRequest request; - HttpRequest *httprequest=new HttpRequest; - request.setUrl(QUrl(url.toString().replace("+","%2B"))); - connect(httprequest,&HttpRequest::finished,[=](QString data){ + HttpRequest *httprequest = new HttpRequest; + request.setUrl(QUrl(url.toString().replace("+", "%2B"))); + connect(httprequest, &HttpRequest::finished, [=](QString data) + { emit finishedRAW(data); - httprequest->deleteLater(); - }); + httprequest->deleteLater(); }); httprequest->getRequest(request); } void SparkAPI::getAppList(QString type) { - get(QUrl(getServerUrl()+"store/"+type+"/applist.json")); + get(QUrl(getServerUrl() + "store/" + type + "/applist.json")); } void SparkAPI::getSearchList(QString keyword) { - get(QUrl("https://search.deepinos.org.cn/appinfo/search?keyword="+keyword)); + get(QUrl("https://search.deepinos.org.cn/appinfo/search?keyword=" + keyword)); } void SparkAPI::getAppInfo(QUrl spk) { - get(QUrl(getServerUrl()+"store"+spk.path().replace("+","%2B") + "/app.json")); + get(QUrl(getServerUrl() + "store" + spk.path().replace("+", "%2B") + "/app.json")); } void SparkAPI::getAppDownloadTimes(QUrl spk) { - getRAW(QUrl(getServerUrl()+"store"+spk.path().replace("+","%2B") + "/download-times.txt")); + getRAW(QUrl(getServerUrl() + "store" + spk.path().replace("+", "%2B") + "/download-times.txt")); } QString SparkAPI::getServerUrl() { diff --git a/src/dbus/dbussparkstoreservice.cpp b/src/dbus/dbussparkstoreservice.cpp index 9fcd673..aaa4bb3 100644 --- a/src/dbus/dbussparkstoreservice.cpp +++ b/src/dbus/dbussparkstoreservice.cpp @@ -3,10 +3,9 @@ DBusSparkStoreService::DBusSparkStoreService(QObject *parent) : QDBusAbstractAdaptor(parent) { - } -void DBusSparkStoreService::activeWindow(const QString & arg) +void DBusSparkStoreService::activeWindow(const QString &arg) { emit sigOpenUrl(arg); } diff --git a/src/main.cpp b/src/main.cpp index 123f451..8e053a9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,55 +16,57 @@ int main(int argc, char *argv[]) { // Get build time static const QString version = "Version 4.1.1"; - static const QDate buildDate = QLocale( QLocale::English ).toDate( QString(__DATE__).replace(" ", " 0"), "MMM dd yyyy"); + static const QDate buildDate = QLocale(QLocale::English).toDate(QString(__DATE__).replace(" ", " 0"), "MMM dd yyyy"); static const QTime buildTime = QTime::fromString(__TIME__, "hh:mm:ss"); - //设置桌面环境环境变量 - if (!QString(qgetenv("XDG_CURRENT_DESKTOP")).toLower().startsWith("deepin")) { + // 设置桌面环境环境变量 + if (!QString(qgetenv("XDG_CURRENT_DESKTOP")).toLower().startsWith("deepin")) + { setenv("XDG_CURRENT_DESKTOP", "Deepin", 1); } bool isWayland = false; auto e = QProcessEnvironment::systemEnvironment(); QString XDG_SESSION_TYPE = e.value(QStringLiteral("XDG_SESSION_TYPE")); QString WAYLAND_DISPLAY = e.value(QStringLiteral("WAYLAND_DISPLAY")); - if (XDG_SESSION_TYPE == QLatin1String("wayland") || WAYLAND_DISPLAY.contains(QLatin1String("wayland"), Qt::CaseInsensitive)){ + if (XDG_SESSION_TYPE == QLatin1String("wayland") || WAYLAND_DISPLAY.contains(QLatin1String("wayland"), Qt::CaseInsensitive)) + { isWayland = true; } qDebug() << "Wayland enabled:" << isWayland; - if(isWayland && !Dtk::Core::DSysInfo::isDDE()){ + if (isWayland && !Dtk::Core::DSysInfo::isDDE()) + { qputenv("QT_QPA_PLATFORM", "wayland"); - } - else if (isWayland && Dtk::Core::DSysInfo::isDDE()){ + else if (isWayland && Dtk::Core::DSysInfo::isDDE()) + { qputenv("QT_QPA_PLATFORM", "dwayland"); } - else { + else + { qputenv("QT_QPA_PLATFORM", "dxcb"); } DApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 开启 Hidpi 支持 - - // 浏览器开启 GPU 支持 qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blocklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-accelerated-video-decode"); - QVector<char*> fakeArgs(argc + 2); + QVector<char *> fakeArgs(argc + 2); fakeArgs[0] = argv[0]; fakeArgs[1] = "-platformtheme"; fakeArgs[2] = "deepin"; - for(int i = 1; i < argc; i++) fakeArgs[i + 2] = argv[i]; - int fakeArgc = argc + 2; // 为啥DApplication的argc要用引用啊? + for (int i = 1; i < argc; i++) + fakeArgs[i + 2] = argv[i]; + int fakeArgc = argc + 2; // DApplication的argc要用引用,避免c++编译器优化 DApplication a(fakeArgc, fakeArgs.data()); - - //初始化日志模块 (默认日志位置 ~/.cache/deepin/spark-store) + // 初始化日志模块 (默认日志位置 ~/.cache/deepin/spark-store) DLogManager::registerConsoleAppender(); DLogManager::registerFileAppender(); - - //Wayland 环境下使用,防止子控件 Native 化 - if (!DPlatformWindowHandle::pluginVersion().isEmpty()) { + // Wayland 环境下使用,防止子控件 Native 化 + if (!DPlatformWindowHandle::pluginVersion().isEmpty()) + { a.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true); } a.setAttribute(Qt::AA_UseHighDpiPixmaps); @@ -74,50 +76,47 @@ int main(int argc, char *argv[]) QSettings readConfig(QDir::homePath() + "/.config/spark-store/config.ini", QSettings::IniFormat); - if (readConfig.value("build/version").toString() != version){ + if (readConfig.value("build/version").toString() != version) + { qDebug() << "Spark Store has been updated!"; QSettings *setConfig = new QSettings(QDir::homePath() + "/.config/spark-store/config.ini", QSettings::IniFormat); setConfig->setValue("build/version", version); - setConfig->setValue("build/time", buildDate.toString("yyyy.MM.dd")+"-"+buildTime.toString()); + setConfig->setValue("build/time", buildDate.toString("yyyy.MM.dd") + "-" + buildTime.toString()); setConfig->deleteLater(); } - //Customized DAboutDialog + // Customized DAboutDialog - DAboutDialog dialog; - a.setAboutDialog(&dialog); - dialog.setLicense(QObject::tr("We publish this program under GPL V3")); - dialog.setVersion(DApplication::buildVersion(readConfig.value("build/version").toString()+"-"+"Flamescion"+"-"+readConfig.value("build/time").toString())); - dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo - dialog.setProductName(QLabel::tr("Spark Store")); - dialog.setDescription( - QObject::tr( - "<span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/>" - "<a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/>" - "<span style=' font-size:12pt;'>Spark developers</span>" - ) - ); + DAboutDialog dialog; + a.setAboutDialog(&dialog); + dialog.setLicense(QObject::tr("We publish this program under GPL V3")); + dialog.setVersion(DApplication::buildVersion(readConfig.value("build/version").toString() + "-" + "Flamescion" + "-" + readConfig.value("build/time").toString())); + dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo + dialog.setProductName(QLabel::tr("Spark Store")); + dialog.setDescription( + QObject::tr( + "<span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/>" + "<a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/>" + "<span style=' font-size:12pt;'>Spark developers</span>")); - dialog.setProductName(QLabel::tr("Spark Store")); - dialog.setCompanyLogo(QPixmap(":/spark-store.png")); - dialog.setWebsiteName(QObject::tr("The Spark Project")); - dialog.setWebsiteLink("https://gitee.com/deepin-community-store"); + dialog.setProductName(QLabel::tr("Spark Store")); + dialog.setCompanyLogo(QPixmap(":/spark-store.png")); + dialog.setWebsiteName(QObject::tr("The Spark Project")); + dialog.setWebsiteLink("https://gitee.com/deepin-community-store"); a.setOrganizationName("spark-union"); a.setProductName(QObject::tr("Spark Store")); - a.setApplicationName("Spark Store"); // 不用翻译,影响 ~/.local/share/spark-union 下文件夹名称 + a.setApplicationName("Spark Store"); // 不用翻译,影响 ~/.local/share/spark-union 下文件夹名称 a.setApplicationDisplayName(QObject::tr("Spark Store")); // 设置窗口显示标题 (Wayland 下会显示 Qt 原生标题栏) a.setWindowIcon(QIcon::fromTheme("spark-store")); a.setApplicationDescription( - QObject::tr( - "<span style='font-size:10pt;font-weight:60;'>An appstore powered by deepin community</span><br/>" - "<a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/>" - "<span style='font-size:12pt;'>Spark developers</span><br/><br/>" - "Published under GPL V3" - ) - ); + QObject::tr( + "<span style='font-size:10pt;font-weight:60;'>An appstore powered by deepin community</span><br/>" + "<a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/>" + "<span style='font-size:12pt;'>Spark developers</span><br/><br/>" + "Published under GPL V3")); // 限制单实例运行 - if(!a.setSingleInstance("spark-store")) + if (!a.setSingleInstance("spark-store")) { qDebug() << "The application is already running!"; QDBusInterface iface("com.gitee.spark.store", @@ -127,21 +126,21 @@ int main(int argc, char *argv[]) QString arg1 = argv[1]; - iface.asyncCall("activeWindow",arg1); - + iface.asyncCall("activeWindow", arg1); return -1; } - DGuiApplicationHelper::instance()->setPaletteType(DGuiApplicationHelper::LightType); //固定主题为浅色主题 - DApplicationSettings settings; // 定义 DApplicationSettings,自动保存主题设置 + DGuiApplicationHelper::instance()->setPaletteType(DGuiApplicationHelper::LightType); // 固定主题为浅色主题 + DApplicationSettings settings; // 定义 DApplicationSettings,自动保存主题设置 MainWindow w; // 让打开时界面显示在正中 Dtk::Widget::moveToCenter(&w); QString arg1 = argv[1]; - if (arg1.startsWith("spk://")) { + if (arg1.startsWith("spk://")) + { w.openUrl(QUrl(argv[1])); } w.show(); diff --git a/src/mainwindow-dtk.cpp b/src/mainwindow-dtk.cpp index 3e51639..6c47115 100644 --- a/src/mainwindow-dtk.cpp +++ b/src/mainwindow-dtk.cpp @@ -11,14 +11,13 @@ #define AppPageSettings 3 MainWindow::MainWindow(QWidget *parent) - : BaseWidgetOpacity(parent) - , ui(new Ui::MainWindow) + : BaseWidgetOpacity(parent), ui(new Ui::MainWindow) { ui->setupUi(this); initConfig(); - moveToCenter(this); //让窗口居中显示 + moveToCenter(this); // 让窗口居中显示 - WidgetAnimation::widgetOpacity(this,true); + WidgetAnimation::widgetOpacity(this, true); downloadlistwidget = new DownloadListWidget; downloadButton = new ProgressButton(ui->titlebar); @@ -26,7 +25,7 @@ MainWindow::MainWindow(QWidget *parent) ui->appintopage->setDownloadWidget(downloadlistwidget); ui->stackedWidget->setCurrentIndex(0); ui->titlebar->setBackgroundTransparent(true); - //ui->titlebar->setSwitchThemeMenuVisible(false); // 去除 dtk 标题栏主题切换菜单 + // ui->titlebar->setSwitchThemeMenuVisible(false); // 去除 dtk 标题栏主题切换菜单 setMaskAlpha(250); updateUi(0); @@ -42,32 +41,34 @@ MainWindow::MainWindow(QWidget *parent) menu->addAction(actionSubmissionWithClient); ui->titlebar->setMenu(menu); - connect(actionSubmission, &QAction::triggered, this, [=]{QDesktopServices::openUrl(QUrl("https://upload.deepinos.org/"));}); - connect(setting, &QAction::triggered, this, [=]{ + connect(actionSubmission, &QAction::triggered, this, [=] + { QDesktopServices::openUrl(QUrl("https://upload.deepinos.org/")); }); + connect(setting, &QAction::triggered, this, [=] + { switchPage(AppPageSettings); - ui->settingspage->updateUI(); - }); - connect(upgrade, &QAction::triggered, this, [=]{QProcess::startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh");}); + ui->settingspage->updateUI(); }); + connect(upgrade, &QAction::triggered, this, [=] + { QProcess::startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh"); }); // 投稿器 connect(actionSubmissionWithClient, &QAction::triggered, this, [=] - { - QString submitterSpk = "spk://store/tools/spark-store-submitter"; - QFile actionSubmissionClientStatus("/opt/spark-store-submitter/bin/spark-store-submitter"); - if (actionSubmissionClientStatus.exists()) { - qDebug() << "投稿器存在"; - QProcess::startDetached("/opt/spark-store-submitter/bin/spark-store-submitter"); - } - else{ - qDebug() << "投稿器不存在,跳转页面"; - openUrl(submitterSpk); - } + QString submitterSpk = "spk://store/tools/spark-store-submitter"; + QFile actionSubmissionClientStatus("/opt/spark-store-submitter/bin/spark-store-submitter"); + if (actionSubmissionClientStatus.exists()) + { + qDebug() << "投稿器存在"; + QProcess::startDetached("/opt/spark-store-submitter/bin/spark-store-submitter"); + } + else + { + qDebug() << "投稿器不存在,跳转页面"; + openUrl(submitterSpk); + } + }); - }); - - - //主题切换 - connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType) { + // 主题切换 + connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType) + { if (themeType == DGuiApplicationHelper::DarkType) { //深色模式 setMaskColor(QColor("#2a2b2b")); @@ -123,32 +124,32 @@ MainWindow::MainWindow(QWidget *parent) ui->applistpage->setTheme(themeType == DGuiApplicationHelper::DarkType); ui->applistpage_1->setTheme(themeType == DGuiApplicationHelper::DarkType); ui->appintopage->setTheme(themeType == DGuiApplicationHelper::DarkType); - ui->settingspage->setTheme(themeType == DGuiApplicationHelper::DarkType); - }); + ui->settingspage->setTheme(themeType == DGuiApplicationHelper::DarkType); }); - //初始化标题栏控件 - connect(downloadButton, &ProgressButton::clicked, [=]() { + // 初始化标题栏控件 + connect(downloadButton, &ProgressButton::clicked, [=]() + { QPoint pos; pos.setX(downloadButton->mapToGlobal(QPoint(0, 0)).x() + downloadButton->width() / 2 - downloadlistwidget->width() / 2); pos.setY(downloadButton->mapToGlobal(QPoint(0, 0)).y() + downloadButton->height() + 5); downloadlistwidget->m_move(pos.x(), pos.y()); - downloadlistwidget->show(); - }); + downloadlistwidget->show(); }); - //appintopage按下下载按钮时标题栏下载列表按钮抖动 - connect(ui->appintopage, &AppIntoPage::clickedDownloadBtn, [=]() { - WidgetAnimation::widgetShake(downloadButton,6);//第一个参数是抖动的控件,第二个参数是抖动范围(像素) - }); + // appintopage按下下载按钮时标题栏下载列表按钮抖动 + connect(ui->appintopage, &AppIntoPage::clickedDownloadBtn, [=]() + { + WidgetAnimation::widgetShake(downloadButton, 6); // 第一个参数是抖动的控件,第二个参数是抖动范围(像素) + }); - connect(backButtom, &QPushButton::clicked, [=]() { + connect(backButtom, &QPushButton::clicked, [=]() + { ui->stackedWidget->setCurrentIndex(pageHistory.at(pageHistory.count() - 2)); pageHistory.removeLast(); if (pageHistory.count() > 1) { backButtom->show(); } else { backButtom->hide(); - } - }); + } }); downloadlistwidget->hide(); backButtom->hide(); ui->titlebar->setIcon(QIcon::fromTheme(":/icon/logo.svg")); @@ -164,21 +165,23 @@ MainWindow::MainWindow(QWidget *parent) ly_titlebar->addWidget(downloadButton); ly_titlebar->addStretch(1); ui->titlebar->setCustomWidget(w_titlebar); - //侧边栏按钮 + // 侧边栏按钮 int i = 0; - while (i < ui->buttonGroup->buttons().size()) { + while (i < ui->buttonGroup->buttons().size()) + { ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{qproperty-icon: url(data/images/userMangaer/teacher.png);}"); - connect(ui->buttonGroup->buttons()[i], &QPushButton::toggled, [=](bool checked) { + connect(ui->buttonGroup->buttons()[i], &QPushButton::toggled, [=](bool checked) + { if (checked == true) { searchEdit->clearEdit(); updateUi(i); - } - }); + } }); i++; } // 搜索事件 - connect(searchEdit, &DSearchEdit::returnPressed, this, [=]() { + connect(searchEdit, &DSearchEdit::returnPressed, this, [=]() + { QString searchtext = searchEdit->text(); if (!searchtext.isEmpty()) { if (searchtext.startsWith("spk://")) { @@ -189,22 +192,17 @@ MainWindow::MainWindow(QWidget *parent) switchPage(AppPageSearchlist); } } - this->setFocus(); - }); + this->setFocus(); }); - connect(downloadlistwidget, &DownloadListWidget::downloadProgress, this, [=](int i) { - downloadButton->setProgress(i); - }); + connect(downloadlistwidget, &DownloadListWidget::downloadProgress, this, [=](int i) + { downloadButton->setProgress(i); }); // 列表点击事件 - connect(ui->applistpage, &AppListPage::clicked, this, [=](QUrl spk) { - openUrl(spk); - }); - connect(ui->applistpage_1, &AppListPage::clicked, this, [=](QUrl spk) { - openUrl(spk); - }); - connect(ui->settingspage, &SettingsPage::openUrl, this, [=](QUrl spk) { - openUrl(spk); - }); + connect(ui->applistpage, &AppListPage::clicked, this, [=](QUrl spk) + { openUrl(spk); }); + connect(ui->applistpage_1, &AppListPage::clicked, this, [=](QUrl spk) + { openUrl(spk); }); + connect(ui->settingspage, &SettingsPage::openUrl, this, [=](QUrl spk) + { openUrl(spk); }); emit DGuiApplicationHelper::instance()->themeTypeChanged(DGuiApplicationHelper::instance()->themeType()); initDbus(); @@ -223,12 +221,12 @@ void MainWindow::initDbus() QDBusConnection::sessionBus().registerService("com.gitee.spark.store"); QDBusConnection::sessionBus().registerObject("/com/gitee/spark/store", "com.gitee.spark.store", this); - connect(dbusInter,&DBusSparkStoreService::sigOpenUrl,this,&MainWindow::onGetUrl); + connect(dbusInter, &DBusSparkStoreService::sigOpenUrl, this, &MainWindow::onGetUrl); } void MainWindow::onGetUrl(const QString &url) { - if(url.left(6)=="spk://") + if (url.left(6) == "spk://") { openUrl(QUrl(url)); } @@ -237,11 +235,14 @@ void MainWindow::onGetUrl(const QString &url) void MainWindow::openUrl(QUrl url) { - if (url.toString().startsWith("spk://")) { - ui->appintopage->openUrl(QUrl(url.toString().replace("+","%2B"))); + if (url.toString().startsWith("spk://")) + { + ui->appintopage->openUrl(QUrl(url.toString().replace("+", "%2B"))); switchPage(AppPageAppdetail); - } else { - QDesktopServices::openUrl(QUrl(url.toString().replace("+","%2B"))); + } + else + { + QDesktopServices::openUrl(QUrl(url.toString().replace("+", "%2B"))); } } @@ -252,50 +253,54 @@ void MainWindow::initConfig() dir.mkpath("/tmp/spark-store"); } -void MainWindow::switchPage(int now) //临时方案,回家后修改 +void MainWindow::switchPage(int now) // 临时方案,回家后修改 { qDebug() << pageHistory.count(); - if (pageHistory.count() >= 1) { + if (pageHistory.count() >= 1) + { backButtom->show(); - } else { + } + else + { backButtom->hide(); } ui->stackedWidget->setCurrentIndex(now); pageHistory << now; } -//刷新界面 +// 刷新界面 void MainWindow::updateUi(int now) { pageHistory.clear(); - QStringList itemlist; - itemlist << "" - << "network" - << "chat" - << "music" - << "video" - << "image_graphics" - << "games" - << "office" - << "reading" - << "development" - << "tools" - << "themes" - << "others"; - ui->applistpage->getAppList(itemlist[now]); - qDebug() << itemlist[now]; - switchPage(AppPageApplist); + QStringList itemlist; + itemlist << "" + << "network" + << "chat" + << "music" + << "video" + << "image_graphics" + << "games" + << "office" + << "reading" + << "development" + << "tools" + << "themes" + << "others"; + ui->applistpage->getAppList(itemlist[now]); + qDebug() << itemlist[now]; + switchPage(AppPageApplist); } void MainWindow::on_pushButton_14_clicked() { QFile upgradeStatus("/tmp/spark-store/upgradeStatus.txt"); - if (!upgradeStatus.exists()){ - QtConcurrent::run([=]{ + if (!upgradeStatus.exists()) + { + QtConcurrent::run([=] + { auto upgradeP = new QProcess(); upgradeP->startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh"); upgradeP->waitForStarted(); - upgradeP->waitForFinished(-1); - }); + upgradeP->waitForFinished(-1); }); } } diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp index eebf953..6d4e075 100644 --- a/src/pages/appintopage.cpp +++ b/src/pages/appintopage.cpp @@ -1,20 +1,19 @@ #include "appintopage.h" #include "ui_appintopage.h" -AppIntoPage::AppIntoPage(QWidget *parent) : - QWidget(parent), - ui(new Ui::AppIntoPage) +AppIntoPage::AppIntoPage(QWidget *parent) : QWidget(parent), + ui(new Ui::AppIntoPage) { ui->setupUi(this); ui->listWidget->setViewMode(QListView::IconMode); ui->listWidget->setMovement(QListView::Static); ui->listWidget->setMaximumHeight(200); ui->listWidget->setFlow(QListView::TopToBottom); - api1=new SparkAPI(this); - connect(api1,&SparkAPI::finishedRAW,[=](QString download_times){ + api1 = new SparkAPI(this); + connect(api1, &SparkAPI::finishedRAW, [=](QString download_times) + { download_times.remove(QRegExp("\\n")); ui->download_times->setText(download_times); - qDebug()<<"Download Times:"+download_times; - }); + qDebug()<<"Download Times:"+download_times; }); clear(); } @@ -35,31 +34,31 @@ void AppIntoPage::clear() ui->downloadButton->hide(); ui->downloadButton->setEnabled(true); ui->pushButton_3->hide(); - int n=ui->listWidget->count(); - for(int i=0;i<n;i++) + int n = ui->listWidget->count(); + for (int i = 0; i < n; i++) { QListWidgetItem *item = ui->listWidget->takeItem(0); QWidget *card = ui->listWidget->itemWidget(item); delete card; - card = NULL; + card = NULL; delete item; - item = NULL; + item = NULL; } ui->listWidget->clear(); } void AppIntoPage::setDownloadWidget(DownloadListWidget *w) { - dw=w; - connect(w, &DownloadListWidget::downloadFinished, [=]() { - isDownloading(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString()); - }); + dw = w; + connect(w, &DownloadListWidget::downloadFinished, [=]() + { isDownloading(SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString()); }); } void AppIntoPage::openUrl(QUrl url) { - spk=url; - SparkAPI *api=new SparkAPI(this); + spk = url; + SparkAPI *api = new SparkAPI(this); clear(); - connect(api,&SparkAPI::finishedObject,[=](QJsonObject appinfo){ + connect(api, &SparkAPI::finishedObject, [=](QJsonObject appinfo) + { info = appinfo; // qDebug()<<url; @@ -188,36 +187,42 @@ void AppIntoPage::openUrl(QUrl url) } this->sltAppinfoTags(&taglist); disconnect(api,&SparkAPI::finished,nullptr,nullptr); - api->deleteLater(); - }); + api->deleteLater(); }); api->getAppInfo(url); api1->getAppDownloadTimes(url); } void AppIntoPage::isDownloading(QUrl url) { - if (dw->getUrlList().lastIndexOf(url) == -1) { + if (dw->getUrlList().lastIndexOf(url) == -1) + { ui->downloadButton->setEnabled(true); return; - } else { + } + else + { ui->downloadButton->setEnabled(false); } ui->pushButton_3->hide(); - if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->download == 2) { + if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->download == 2) + { ui->downloadButton->setEnabled(true); ui->downloadButton->setText(tr("Download")); } - if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->download == 1) { + if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->download == 1) + { ui->downloadButton->setEnabled(true); ui->downloadButton->setText(tr("Install")); } - if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->isInstall) { + if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->isInstall) + { ui->downloadButton->setEnabled(false); ui->downloadButton->setText(tr("Installing")); return; } - if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->download == 3) { + if (dw->getDIList()[dw->getUrlList().lastIndexOf(url)]->download == 3) + { ui->downloadButton->setEnabled(true); ui->downloadButton->setText(tr("Reinstall")); ui->downloadButton->show(); @@ -227,37 +232,37 @@ void AppIntoPage::isDownloading(QUrl url) void AppIntoPage::sltAppinfoTags(QStringList *tagList) { - foreach(const QString &tag, *tagList) + foreach (const QString &tag, *tagList) { - if(tag=="community") + if (tag == "community") { ui->tag_community->show(); } - else if(tag=="ubuntu") + else if (tag == "ubuntu") { ui->tag_ubuntu->show(); } - else if(tag=="deepin") + else if (tag == "deepin") { ui->tag_deepin->show(); } - else if(tag=="uos") + else if (tag == "uos") { ui->tag_uos->show(); } - else if(tag=="dtk5") + else if (tag == "dtk5") { ui->tag_dtk5->show(); } - else if(tag=="dwine2") + else if (tag == "dwine2") { ui->tag_dwine2->show(); } - else if(tag=="dwine5") + else if (tag == "dwine5") { ui->tag_dwine5->show(); } - else if(tag=="a2d") + else if (tag == "a2d") { ui->tag_a2d->show(); } @@ -265,9 +270,9 @@ void AppIntoPage::sltAppinfoTags(QStringList *tagList) } void AppIntoPage::setTheme(bool dark) { - if(dark) + if (dark) { - QString frameStyleSheet ="#frame,#frame_2,#frame_3,#frame_4{background-color: #252525;border-radius:14px;border:1px solid rgb(64, 64, 64);}"; + QString frameStyleSheet = "#frame,#frame_2,#frame_3,#frame_4{background-color: #252525;border-radius:14px;border:1px solid rgb(64, 64, 64);}"; ui->frame->setStyleSheet(frameStyleSheet); ui->frame_2->setStyleSheet(frameStyleSheet); ui->frame_3->setStyleSheet(frameStyleSheet); @@ -279,9 +284,11 @@ void AppIntoPage::setTheme(bool dark) ui->icon_4->setPixmap(QPixmap(":/icon/dark/text.svg")); ui->icon_5->setPixmap(QPixmap(":/icon/dark/folder.svg")); ui->icon_6->setPixmap(QPixmap(":/icon/dark/globe.svg")); - }else { - //亮色模式 - QString frameStyleSheet ="#frame,#frame_2,#frame_3,#frame_4{background-color: #fbfbfb;border-radius:14px;border:1px solid rgb(229,229,229);}"; + } + else + { + // 亮色模式 + QString frameStyleSheet = "#frame,#frame_2,#frame_3,#frame_4{background-color: #fbfbfb;border-radius:14px;border:1px solid rgb(229,229,229);}"; ui->frame->setStyleSheet(frameStyleSheet); ui->frame_2->setStyleSheet(frameStyleSheet); ui->frame_3->setStyleSheet(frameStyleSheet); @@ -293,7 +300,6 @@ void AppIntoPage::setTheme(bool dark) ui->icon_4->setPixmap(QPixmap(":/icon/light/text.svg")); ui->icon_5->setPixmap(QPixmap(":/icon/light/folder.svg")); ui->icon_6->setPixmap(QPixmap(":/icon/light/globe.svg")); - } } AppIntoPage::~AppIntoPage() @@ -303,34 +309,34 @@ AppIntoPage::~AppIntoPage() void AppIntoPage::on_downloadButton_clicked() { - if(ui->downloadButton->text() == tr("Install")) + if (ui->downloadButton->text() == tr("Install")) { - dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString())]->install(0); - isDownloading(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString()); - QObject::connect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString())],&DownloadItem::finished,[=](){ + dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString())]->install(0); + isDownloading(SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString()); + QObject::connect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString())], &DownloadItem::finished, [=]() + { isDownloading(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString()); - disconnect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString())],&DownloadItem::finished,nullptr,nullptr); - }); + disconnect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString())],&DownloadItem::finished,nullptr,nullptr); }); return; } emit clickedDownloadBtn(); - dw->addItem(info["Name"].toString(),info["Filename"].toString(),info["Pkgname"].toString(),iconpixmap,SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString()); - if(ui->downloadButton->text() == tr("Reinstall")) + dw->addItem(info["Name"].toString(), info["Filename"].toString(), info["Pkgname"].toString(), iconpixmap, SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString()); + if (ui->downloadButton->text() == tr("Reinstall")) { dw->getDIList()[dw->allDownload - 1]->reinstall = true; } ui->downloadButton->setEnabled(false); - QObject::connect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString())],&DownloadItem::finished,[=](){ + QObject::connect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString())], &DownloadItem::finished, [=]() + { isDownloading(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString()); - disconnect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString())],&DownloadItem::finished,nullptr,nullptr); - }); - isDownloading(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString()); + disconnect(dw->getDIList()[dw->getUrlList().lastIndexOf(SparkAPI::getServerUrl()+"store"+spk.path()+"/"+info["Filename"].toString())],&DownloadItem::finished,nullptr,nullptr); }); + isDownloading(SparkAPI::getServerUrl() + "store" + spk.path() + "/" + info["Filename"].toString()); } void AppIntoPage::on_pushButton_3_clicked() { QtConcurrent::run([=]() - { + { ui->downloadButton->setEnabled(false); ui->pushButton_3->setEnabled(false); @@ -352,19 +358,17 @@ void AppIntoPage::on_pushButton_3_clicked() } ui->downloadButton->setEnabled(true); - ui->pushButton_3->setEnabled(true); - }); + ui->pushButton_3->setEnabled(true); }); } void AppIntoPage::on_shareButton_clicked() { qDebug() << "Share" << spk; - Utils::sendNotification("spark-store",tr("Spark Store"),tr("The URL has been copied to the clipboard")); + Utils::sendNotification("spark-store", tr("Spark Store"), tr("The URL has been copied to the clipboard")); QClipboard *clipboard = QApplication::clipboard(); clipboard->setText(spk.toString()); } - void AppIntoPage::on_updateButton_clicked() { QString feedbackSpk = "spk://store/chat/store.spark-app.feedback"; @@ -374,9 +378,9 @@ void AppIntoPage::on_updateButton_clicked() qDebug() << "反馈器存在"; QProcess::startDetached("sh /opt/durapps/store.spark-app.feedback/launch.sh"); } - else{ + else + { qDebug() << "反馈器不存在,跳转页面"; openUrl(feedbackSpk); } } - diff --git a/src/pages/applistpage.cpp b/src/pages/applistpage.cpp index 7ea357b..913db5b 100644 --- a/src/pages/applistpage.cpp +++ b/src/pages/applistpage.cpp @@ -1,48 +1,55 @@ #include "applistpage.h" #include "ui_applistpage.h" -AppListPage::AppListPage(QWidget *parent) : - QWidget(parent), - ui(new Ui::AppListPage) +AppListPage::AppListPage(QWidget *parent) : QWidget(parent), + ui(new Ui::AppListPage) { ui->setupUi(this); ui->webEngineView->page()->setBackgroundColor(Qt::transparent); } void AppListPage::setTheme(bool dark) { - isDark=dark; - if(dark) + isDark = dark; + if (dark) { this->setStyleSheet("#frame{background-color: #252525;border-radius:14px;border:1px solid rgb(64, 64, 64);}"); - }else { - //亮色模式 + } + else + { + // 亮色模式 this->setStyleSheet("#frame{background-color: #ffffff;border-radius:14px;border:1px solid rgb(229,229,229);}"); } - if(isSearch) + if (isSearch) { getSearchList(nowType); - }else{ + } + else + { getAppList(nowType); } } void AppListPage::getAppList(QString type) { - isSearch=false; - nowType=type; - SparkAPI *api=new SparkAPI(this); + isSearch = false; + nowType = type; + SparkAPI *api = new SparkAPI(this); QString url; QString theme; - if(isDark) + if (isDark) { - theme="theme=dark"; - }else{ - theme="theme=light"; + theme = "theme=dark"; } - if(type=="") + else { - url=api->getServerUrl()+"store/#/flamescion/?"+theme; - }else{ - url=api->getServerUrl()+"store/#/flamescion/applist?type="+type+"&"+theme; + theme = "theme=light"; + } + if (type == "") + { + url = api->getServerUrl() + "store/#/flamescion/?" + theme; + } + else + { + url = api->getServerUrl() + "store/#/flamescion/applist?type=" + type + "&" + theme; } ui->webEngineView->setUrl(url); @@ -50,18 +57,20 @@ void AppListPage::getAppList(QString type) void AppListPage::getSearchList(QString keyword) { - isSearch=true; - nowType=keyword; - SparkAPI *api=new SparkAPI(this); + isSearch = true; + nowType = keyword; + SparkAPI *api = new SparkAPI(this); QString url; QString theme; - if(isDark) + if (isDark) { - theme="theme=dark"; - }else{ - theme="theme=light"; + theme = "theme=dark"; } - url=api->getServerUrl()+"store/#/flamescion/search?keywords="+keyword+"&"+theme; + else + { + theme = "theme=light"; + } + url = api->getServerUrl() + "store/#/flamescion/search?keywords=" + keyword + "&" + theme; ui->webEngineView->setUrl(url); } @@ -72,15 +81,14 @@ AppListPage::~AppListPage() void AppListPage::on_webEngineView_urlChanged(const QUrl &arg1) { - if(arg1.path().right(8) == "app.json") - { - QString url = arg1.toString(); - url = url.mid(url.indexOf("/store/")); - url = "spk:/"+url; - url = url.mid(0,url.indexOf("/app.json")); - qDebug() << "程序跳转链接地址:" << url; - ui->webEngineView->back(); - emit clicked(url); - } + if (arg1.path().right(8) == "app.json") + { + QString url = arg1.toString(); + url = url.mid(url.indexOf("/store/")); + url = "spk:/" + url; + url = url.mid(0, url.indexOf("/app.json")); + qDebug() << "程序跳转链接地址:" << url; + ui->webEngineView->back(); + emit clicked(url); + } } - diff --git a/src/pages/settingspage.cpp b/src/pages/settingspage.cpp index 6c0d431..1a17213 100644 --- a/src/pages/settingspage.cpp +++ b/src/pages/settingspage.cpp @@ -1,9 +1,8 @@ #include "settingspage.h" #include "ui_settingspage.h" bool SettingsPage::isdownload = false; -SettingsPage::SettingsPage(QWidget *parent) : - QWidget(parent), - ui(new Ui::SettingsPage) +SettingsPage::SettingsPage(QWidget *parent) : QWidget(parent), + ui(new Ui::SettingsPage) { ui->setupUi(this); configCanSave = false; @@ -12,11 +11,13 @@ SettingsPage::SettingsPage(QWidget *parent) : void SettingsPage::setTheme(bool dark) { - if(dark) + if (dark) { this->setStyleSheet("#frame{background-color: #252525;border-radius:14px;border:1px solid rgb(64, 64, 64);}"); - }else { - //亮色模式 + } + else + { + // 亮色模式 this->setStyleSheet("#frame{background-color: #ffffff;border-radius:14px;border:1px solid rgb(229,229,229);}"); } } @@ -26,7 +27,7 @@ void SettingsPage::readServerList() // 读取服务器列表并初始化 QFile file(QDir::homePath().toUtf8() + "/.config/spark-store/server.list"); - //判断文件是否存在 + // 判断文件是否存在 if (!file.exists()) { ui->comboBox_server->addItem("https://d.store.deepinos.org.cn/"); @@ -34,28 +35,28 @@ void SettingsPage::readServerList() if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - qDebug()<<"无法读取server.list"; + qDebug() << "无法读取server.list"; } - //创建QTextStream对象 + // 创建QTextStream对象 QTextStream textStream(&file); - QString lineData = textStream.readLine();//读取文件的第一行 + QString lineData = textStream.readLine(); // 读取文件的第一行 ui->comboBox_server->addItem(lineData); - while(!lineData.isNull()) + while (!lineData.isNull()) { lineData = textStream.readLine(); ui->comboBox_server->addItem(lineData); } - for(int i = 0; i < ui->comboBox_server->count(); i++) + for (int i = 0; i < ui->comboBox_server->count(); i++) { - if(ui->comboBox_server->itemText(i) == "开发者模式 Dev only") + if (ui->comboBox_server->itemText(i) == "开发者模式 Dev only") { ui->comboBox_server->model()->setData(ui->comboBox_server->model()->index(i, 0), QVariant(0), Qt::UserRole - 1); } - if(ui->comboBox_server->itemText(i) == "镜像源 Download only") + if (ui->comboBox_server->itemText(i) == "镜像源 Download only") { - for(int j = i; j < ui->comboBox_server->count(); j++) + for (int j = i; j < ui->comboBox_server->count(); j++) { ui->comboBox_server->model()->setData(ui->comboBox_server->model()->index(j, 0), QVariant(0), Qt::UserRole - 1); } @@ -71,13 +72,13 @@ void SettingsPage::initConfig() // 读取服务器URL并初始化菜单项的链接 QSettings readConfig(QDir::homePath() + "/.config/spark-store/config.ini", QSettings::IniFormat); - if(!readConfig.value("server/choose").toString().isEmpty() && readConfig.value("server/updated").toString() == "TRUE") + if (!readConfig.value("server/choose").toString().isEmpty() && readConfig.value("server/updated").toString() == "TRUE") { - qDebug()<<readConfig.value("server/choose").toString(); + qDebug() << readConfig.value("server/choose").toString(); ui->comboBox_server->setCurrentText(readConfig.value("server/choose").toString()); SparkAPI::setServerUrl(readConfig.value("server/choose").toString()); } - configCanSave = true; // 防止触发保存配置信号 + configCanSave = true; // 防止触发保存配置信号 } SettingsPage::~SettingsPage() @@ -88,7 +89,7 @@ SettingsPage::~SettingsPage() void SettingsPage::on_pushButton_updateServer_clicked() { QtConcurrent::run([=]() - { + { ui->pushButton_updateServer->setEnabled(false); ui->comboBox_server->clear(); @@ -97,17 +98,15 @@ void SettingsPage::on_pushButton_updateServer_clicked() ui->pushButton_updateServer->setEnabled(true); readServerList(); - ui->comboBox_server->setCurrentIndex(0); - }); + ui->comboBox_server->setCurrentIndex(0); }); } - void SettingsPage::on_comboBox_server_currentIndexChanged(const QString &arg1) { - SparkAPI::setServerUrl(arg1); // 服务器信息更新 -qDebug()<<arg1; + SparkAPI::setServerUrl(arg1); // 服务器信息更新 + qDebug() << arg1; const QString updatedInfo = "TRUE"; - if(configCanSave) + if (configCanSave) { // ui->label_setting1->show(); QSettings *setConfig = new QSettings(QDir::homePath() + "/.config/spark-store/config.ini", QSettings::IniFormat); @@ -124,7 +123,7 @@ void SettingsPage::setIsDownload(bool isdownload) void SettingsPage::updateUI() { - if(isdownload) + if (isdownload) { ui->pushButton_clear->setEnabled(false); } @@ -135,15 +134,15 @@ void SettingsPage::updateUI() // 显示缓存占用空间 quint64 tmp_size = dirFileSize(QString::fromUtf8(TMP_PATH)); QString tmp_size_str; - if(tmp_size < 1024) + if (tmp_size < 1024) { tmp_size_str = QString::number(tmp_size) + "B"; } - else if(tmp_size < (1024 * 1024)) + else if (tmp_size < (1024 * 1024)) { tmp_size_str = QString::number(0.01 * int(100 * (tmp_size / 1024))) + "KB"; } - else if(tmp_size<(1024*1024*1024)) + else if (tmp_size < (1024 * 1024 * 1024)) { tmp_size_str = QString::number(0.01 * int(100 * (tmp_size / (1024 * 1024)))) + "MB"; } @@ -160,13 +159,13 @@ quint64 SettingsPage::dirFileSize(const QString &path) QDir dir(path); quint64 size = 0; // dir.entryInfoList(QDir::Files); // 返回文件信息 - foreach(QFileInfo fileInfo, dir.entryInfoList(QDir::Files)) + foreach (QFileInfo fileInfo, dir.entryInfoList(QDir::Files)) { // 计算文件大小 size += quint64(fileInfo.size()); } // dir.entryList(QDir::Dirs|QDir::NoDotAndDotDot); // 返回所有子目录,并进行过滤 - foreach(QString subDir, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) + foreach (QString subDir, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { // 若存在子目录,则递归调用 dirFileSize() 函数 size += dirFileSize(path + QDir::separator() + subDir); @@ -177,22 +176,20 @@ quint64 SettingsPage::dirFileSize(const QString &path) void SettingsPage::on_pushButton_updateApt_clicked() { QtConcurrent::run([=]() - { + { ui->pushButton_updateApt->setEnabled(false); ui->label_aptserver->setText(tr("Updating, please wait...")); emit openUrl(QUrl("spk://store/tools/spark-store")); ui->label_aptserver->setText(tr("")); - ui->pushButton_updateApt->setEnabled(true); - }); + ui->pushButton_updateApt->setEnabled(true); }); } - void SettingsPage::on_pushButton_clear_clicked() { QtConcurrent::run([=]() - { + { ui->pushButton_clear->setEnabled(false); QDir tmpdir("/tmp/spark-store"); @@ -204,15 +201,13 @@ void SettingsPage::on_pushButton_clear_clicked() } Utils::sendNotification("spark-store",tr("Spark Store"),tr("Temporary cache was cleaned")); ui->pushButton_clear->setEnabled(true); - updateUI(); - }); + updateUI(); }); } - void SettingsPage::on_pushButton_clearWebCache_clicked() { QtConcurrent::run([=]() - { + { QString dataLocal = QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation); qDebug() << dataLocal; QDir dataDir(dataLocal); @@ -220,7 +215,5 @@ void SettingsPage::on_pushButton_clearWebCache_clicked() dataLocal = QStandardPaths::writableLocation(QStandardPaths::TempLocation); qDebug() << dataLocal; QDir cacheDir(dataLocal); - cacheDir.removeRecursively(); - }); + cacheDir.removeRecursively(); }); } - diff --git a/src/utils/httprequest.cpp b/src/utils/httprequest.cpp index a9a73dd..c4cf95a 100644 --- a/src/utils/httprequest.cpp +++ b/src/utils/httprequest.cpp @@ -1,22 +1,19 @@ #include "httprequest.h" - - HttpRequest::HttpRequest() { - } void HttpRequest::getRequest(QNetworkRequest request) { - QNetworkAccessManager *naManager=new QNetworkAccessManager(this); + QNetworkAccessManager *naManager = new QNetworkAccessManager(this); request.setRawHeader("User-Agent", "Mozilla/5.0"); request.setRawHeader("Content-Type", "charset='utf-8'"); request.setRawHeader("Content-Type", "application/json"); naManager->get(request); - QObject::connect(naManager,&QNetworkAccessManager::finished,this,&HttpRequest::readdata_slot); + QObject::connect(naManager, &QNetworkAccessManager::finished, this, &HttpRequest::readdata_slot); } void HttpRequest::readdata_slot(QNetworkReply *reply) { @@ -24,19 +21,19 @@ void HttpRequest::readdata_slot(QNetworkReply *reply) } QString HttpRequest::postRequest(QString url, QString jsondata) { - QByteArray array= jsondata.toLatin1(); + QByteArray array = jsondata.toLatin1(); QNetworkRequest request; - QNetworkAccessManager *naManager=new QNetworkAccessManager(this); - QUrl strUrl = url.replace("+","%2B"); + QNetworkAccessManager *naManager = new QNetworkAccessManager(this); + QUrl strUrl = url.replace("+", "%2B"); request.setUrl(strUrl); request.setRawHeader("Content-Type", "charset='utf-8'"); request.setRawHeader("Content-Type", "application/json"); - QNetworkReply* reply = naManager->post(request, array); + QNetworkReply *reply = naManager->post(request, array); QEventLoop eventLoop; - connect(naManager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); + connect(naManager, SIGNAL(finished(QNetworkReply *)), &eventLoop, SLOT(quit())); eventLoop.exec(); - QTextCodec* codec = QTextCodec::codecForName("utf8"); + QTextCodec *codec = QTextCodec::codecForName("utf8"); QString strReply = codec->toUnicode(reply->readAll()); reply->deleteLater(); return strReply; diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp index f475c1f..d57b403 100644 --- a/src/utils/utils.cpp +++ b/src/utils/utils.cpp @@ -2,18 +2,17 @@ Utils::Utils() { - } -//这个函数是chatGPT写的 -void Utils::sendNotification(QString icon,QString title,QString body) +// Author: chatGPT +void Utils::sendNotification(QString icon, QString title, QString body) { QDBusInterface iface("org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications"); QVariantList args; - args << QCoreApplication::applicationName() // the name of the application + args << QCoreApplication::applicationName() // the name of the application << (uint)0 // replaces the previous notification with the same ID << icon // the application icon of the notification << title // the title of the notification diff --git a/src/utils/widgetanimation.cpp b/src/utils/widgetanimation.cpp index f74b130..ee6fe64 100644 --- a/src/utils/widgetanimation.cpp +++ b/src/utils/widgetanimation.cpp @@ -2,43 +2,45 @@ WidgetAnimation::WidgetAnimation() { - } void WidgetAnimation::widgetShake(QWidget *pWidget, int nRange) { int nX = pWidget->x(); int nY = pWidget->y(); - QPropertyAnimation *pAnimation = new QPropertyAnimation(pWidget,"geometry"); + QPropertyAnimation *pAnimation = new QPropertyAnimation(pWidget, "geometry"); pAnimation->setEasingCurve(QEasingCurve::InOutSine); pAnimation->setDuration(400); - pAnimation->setStartValue(QRect(QPoint(nX,nY),pWidget->size())); + pAnimation->setStartValue(QRect(QPoint(nX, nY), pWidget->size())); int nShakeCount = 8; - double nStep = 1.0/nShakeCount; - for(int i = 1; i < nShakeCount; i++){ - nRange = i&1 ? -nRange : nRange; - pAnimation->setKeyValueAt(nStep*i,QRect(QPoint(nX + nRange,nY),pWidget->size())); + double nStep = 1.0 / nShakeCount; + for (int i = 1; i < nShakeCount; i++) + { + nRange = i & 1 ? -nRange : nRange; + pAnimation->setKeyValueAt(nStep * i, QRect(QPoint(nX + nRange, nY), pWidget->size())); } - pAnimation->setEndValue(QRect(QPoint(nX,nY),pWidget->size())); + pAnimation->setEndValue(QRect(QPoint(nX, nY), pWidget->size())); pAnimation->start(QAbstractAnimation::DeleteWhenStopped); } -QPropertyAnimation* WidgetAnimation::createWidgetOpacity(QWidget *pWidget, bool isAppear) +QPropertyAnimation *WidgetAnimation::createWidgetOpacity(QWidget *pWidget, bool isAppear) { QPropertyAnimation *animation = new QPropertyAnimation(pWidget, "windowOpacity", pWidget); - //设置动画效果 + // 设置动画效果 animation->setEasingCurve(QEasingCurve::Linear); - //设置动画时间(单位:毫秒) + // 设置动画时间(单位:毫秒) animation->setDuration(500); // 设置动画步长值,以及在该位置时显示的透明度 - if(isAppear) + if (isAppear) { animation->setKeyValueAt(0, 0); // m_animation->setKeyValueAt(0.5, 0); animation->setKeyValueAt(1, 1); - }else{ + } + else + { animation->setKeyValueAt(0, 1); animation->setKeyValueAt(1, 0); } @@ -46,7 +48,7 @@ QPropertyAnimation* WidgetAnimation::createWidgetOpacity(QWidget *pWidget, bool } void WidgetAnimation::widgetOpacity(QWidget *pWidget, bool isAppear) -{ +{ // 开始动画 createWidgetOpacity(pWidget, isAppear)->start(); } diff --git a/src/widgets/base/basewidgetopacity.cpp b/src/widgets/base/basewidgetopacity.cpp index 224e74a..fcff23f 100644 --- a/src/widgets/base/basewidgetopacity.cpp +++ b/src/widgets/base/basewidgetopacity.cpp @@ -5,14 +5,15 @@ BaseWidgetOpacity::BaseWidgetOpacity(QWidget *parent) : DBlurEffectWidget(parent) { -// WidgetAnimation::widgetOpacity(this,true); + // WidgetAnimation::widgetOpacity(this,true); } /// @brief 窗口关闭事件 /// @param event void BaseWidgetOpacity::closeEvent(QCloseEvent *event) { - if (!closeWindowAnimation) { + if (!closeWindowAnimation) + { closeWindowAnimation = true; QPropertyAnimation *animation = new QPropertyAnimation(this, "windowOpacity"); @@ -21,18 +22,20 @@ void BaseWidgetOpacity::closeEvent(QCloseEvent *event) animation->setStartValue(1.0); animation->setEndValue(0.0); - QObject::connect(animation, &QPropertyAnimation::valueChanged, this, [=](const QVariant &value){ - this->update(); - // setWindowTitle(QString("ヾ(⌒∇⌒*)See You♪ - %1%").arg(int(value.toFloat() * 100))); - }); + QObject::connect(animation, &QPropertyAnimation::valueChanged, this, [=](const QVariant &value) + { + this->update(); + // setWindowTitle(QString("ヾ(⌒∇⌒*)See You♪ - %1%").arg(int(value.toFloat() * 100))); + }); - QObject::connect(animation, &QPropertyAnimation::finished, this, [=](){ - this->close(); - }); + QObject::connect(animation, &QPropertyAnimation::finished, this, [=]() + { this->close(); }); animation->start(); event->ignore(); - } else { + } + else + { event->accept(); } } diff --git a/src/widgets/big_image.cpp b/src/widgets/big_image.cpp index b8d7afa..2549b59 100644 --- a/src/widgets/big_image.cpp +++ b/src/widgets/big_image.cpp @@ -3,11 +3,10 @@ #include <QHBoxLayout> #include <QtConcurrent> -big_image::big_image(DBlurEffectWidget *parent) : - DBlurEffectWidget(parent), - m_image(new QLabel) +big_image::big_image(DBlurEffectWidget *parent) : DBlurEffectWidget(parent), + m_image(new QLabel) { -// setWindowFlags(this->windowFlags() | Qt::WindowStaysOnTopHint); // 设置图片对话框总在最前 + // setWindowFlags(this->windowFlags() | Qt::WindowStaysOnTopHint); // 设置图片对话框总在最前 setWindowModality(Qt::ApplicationModal); // 以上无效不如直接使用 模态化对话框 setRadius(0); setMaskAlpha(60); diff --git a/src/widgets/common/downloaditem.cpp b/src/widgets/common/downloaditem.cpp index bff0095..538942f 100644 --- a/src/widgets/common/downloaditem.cpp +++ b/src/widgets/common/downloaditem.cpp @@ -6,13 +6,12 @@ bool DownloadItem::isInstall = false; -DownloadItem::DownloadItem(QWidget *parent) : - QWidget(parent), - reinstall(false), - close(false), - ui(new Ui::DownloadItem), - output_w(new DDialog), - textbrowser(new QTextBrowser) +DownloadItem::DownloadItem(QWidget *parent) : QWidget(parent), + reinstall(false), + close(false), + ui(new Ui::DownloadItem), + output_w(new DDialog), + textbrowser(new QTextBrowser) { ui->setupUi(this); @@ -34,7 +33,7 @@ void DownloadItem::setValue(qint64 value) { ui->progressBar->setValue(qint32(value)); ui->label_2->setText(QString::number(double(value) / 100) + "% (" + speed + ")"); - if(ui->label_2->text().left(4) == "100%") + if (ui->label_2->text().left(4) == "100%") { download = 1; ui->label_2->setText(tr("Download Complete.")); @@ -58,7 +57,7 @@ QString DownloadItem::getName() void DownloadItem::readyInstall() { - if(!close) + if (!close) { ui->progressBar->hide(); ui->pushButton_install->setEnabled(true); @@ -90,7 +89,7 @@ void DownloadItem::setSpeed(QString s) void DownloadItem::install(int t) { - if(!isInstall) + if (!isInstall) { isInstall = true; ui->pushButton_install->hide(); @@ -99,7 +98,7 @@ void DownloadItem::install(int t) ui->label_2->setText(tr("Installing")); QtConcurrent::run([=]() - { + { QProcess installer; switch(t) { @@ -164,10 +163,9 @@ void DownloadItem::install(int t) ui->widget_spinner->hide(); DownloadItem::isInstall = false; - emit finished(); - }); + emit finished(); }); // emit finished(); - qDebug()<<ui->label_filename->text().toUtf8(); + qDebug() << ui->label_filename->text().toUtf8(); } } diff --git a/src/widgets/common/progressbutton.cpp b/src/widgets/common/progressbutton.cpp index a58532b..59eaf53 100644 --- a/src/widgets/common/progressbutton.cpp +++ b/src/widgets/common/progressbutton.cpp @@ -8,15 +8,15 @@ ProgressButton::ProgressButton(QWidget *parent) : QWidget{parent} { - //this->setWindowFlags(Qt::FramelessWindowHint); + // this->setWindowFlags(Qt::FramelessWindowHint); this->setAttribute(Qt::WA_TranslucentBackground, true); setMinimumWidth(36); setMinimumHeight(36); - svgPath=""; - backColor=Qt::transparent; + svgPath = ""; + backColor = Qt::transparent; setMouseTracking(true); - connect(this,&ProgressButton::startProcessing,this,&ProgressButton::operationProcessing,Qt::QueuedConnection); + connect(this, &ProgressButton::startProcessing, this, &ProgressButton::operationProcessing, Qt::QueuedConnection); } ProgressButton::~ProgressButton() @@ -26,63 +26,63 @@ ProgressButton::~ProgressButton() void ProgressButton::paintEvent(QPaintEvent *event) { QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing,true); + painter.setRenderHint(QPainter::Antialiasing, true); auto rect = event->rect(); - if(buttonState == state::normal || buttonState == state::hover) + if (buttonState == state::normal || buttonState == state::hover) { auto radiu = (rect.height() - 6) / 2; painter.translate(rect.center()); painter.setPen(Qt::transparent); painter.setBrush(QColor(buttonState == state::normal ? color : color.darker())); - //painter.drawEllipse(QPoint(0,0),radiu,radiu); + // painter.drawEllipse(QPoint(0,0),radiu,radiu); - //radiu -= 3; + // radiu -= 3; painter.setBrush(backColor); - painter.drawEllipse(QPoint(0,0),radiu,radiu); + painter.drawEllipse(QPoint(0, 0), radiu, radiu); QSvgRenderer m_svgRender; m_svgRender.load(svgPath); - m_svgRender.render(&painter ,QRectF(-radiu / 2,-radiu / 2,radiu,radiu)); + m_svgRender.render(&painter, QRectF(-radiu / 2, -radiu / 2, radiu, radiu)); } - else if(buttonState == state::openProgress) + else if (buttonState == state::openProgress) { painter.translate(rect.center()); - auto radiu = (rect.height() - 6) / 2 -3; + auto radiu = (rect.height() - 6) / 2 - 3; painter.setBrush(backColor); - painter.setPen(QPen(backColor,3)); - painter.drawEllipse(QPoint(0,0),radiu,radiu); + painter.setPen(QPen(backColor, 3)); + painter.drawEllipse(QPoint(0, 0), radiu, radiu); - painter.setPen(QPen(backColor,3)); + painter.setPen(QPen(backColor, 3)); QSvgRenderer m_svgRender; m_svgRender.load(svgPath); - m_svgRender.render(&painter ,QRectF(-radiu / 2,-radiu / 2,radiu,radiu)); + m_svgRender.render(&painter, QRectF(-radiu / 2, -radiu / 2, radiu, radiu)); QRect rect = QRect(-radiu, -radiu, - radiu*2, radiu*2); + radiu * 2, radiu * 2); - painter.setPen(QPen(color.darker(100),3)); + painter.setPen(QPen(color.darker(100), 3)); auto angle = progress * 360 / 100; - painter.drawArc(rect.adjusted(-3,-3,3,3),90 * 16,-static_cast<int>(angle * 16)); + painter.drawArc(rect.adjusted(-3, -3, 3, 3), 90 * 16, -static_cast<int>(angle * 16)); } - else if(buttonState == state::closeProgress) + else if (buttonState == state::closeProgress) { auto radiu = (rect.height() - 6) / 2; painter.translate(rect.center()); painter.setPen(Qt::transparent); painter.setBrush(QColor(0, 0, 0, 63)); - painter.drawEllipse(QPoint(0,0),radiu,radiu); + painter.drawEllipse(QPoint(0, 0), radiu, radiu); radiu -= 3; painter.setBrush(backColor); - painter.drawEllipse(QPoint(0,0),radiu,radiu); + painter.drawEllipse(QPoint(0, 0), radiu, radiu); - painter.setPen(QPen(color,3,Qt::SolidLine,Qt::RoundCap,Qt::RoundJoin)); - painter.drawLine(QPoint(-radiu / 3,0), - QPoint(-radiu / 5,radiu / 3)); - painter.drawLine(QPoint(-radiu / 5,radiu / 3), - QPoint(radiu / 4,-radiu / 4)); + painter.setPen(QPen(color, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + painter.drawLine(QPoint(-radiu / 3, 0), + QPoint(-radiu / 5, radiu / 3)); + painter.drawLine(QPoint(-radiu / 5, radiu / 3), + QPoint(radiu / 4, -radiu / 4)); } } @@ -90,12 +90,12 @@ void ProgressButton::setProgress(int progress) { buttonState = state::openProgress; ProgressButton::progress = progress; - if(progress == 0) + if (progress == 0) { buttonState = state::normal; update(); } - if(progress == 100) + if (progress == 100) { buttonState = state::closeProgress; update(); @@ -127,7 +127,7 @@ void ProgressButton::setColor(QColor color) void ProgressButton::leaveEvent(QEvent *event) { - if(buttonState == state::hover) + if (buttonState == state::hover) { buttonState = state::normal; update(); @@ -137,12 +137,12 @@ void ProgressButton::leaveEvent(QEvent *event) void ProgressButton::mousePressEvent(QMouseEvent *event) { - if(buttonState == state::hover || buttonState == state::normal) + if (buttonState == state::hover || buttonState == state::normal) { widthChangeValue = (this->width() - 6) / 2; update(); } - else if(buttonState == state::closeProgress) + else if (buttonState == state::closeProgress) { update(); } @@ -152,24 +152,21 @@ void ProgressButton::mousePressEvent(QMouseEvent *event) void ProgressButton::operationProcessing() { - } const int RADIUS = 60; WaterDrop::WaterDrop(QWidget *parent) - : QWidget(parent) - , m_waterDropAnimation(nullptr) - , m_animationRadius(0) + : QWidget(parent), m_waterDropAnimation(nullptr), m_animationRadius(0) { this->setFixedSize(QSize(RADIUS * 2, RADIUS * 2)); this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool); this->setAttribute(Qt::WA_TranslucentBackground); this->setAttribute(Qt::WA_DeleteOnClose); m_waterDropAnimation = new QVariantAnimation(this); -// m_waterDropAnimation->setEasingCurve(QEasingCurve(static_cast<QEasingCurve::Type>(QRandomGenerator::global()->bounded(40)))); + // m_waterDropAnimation->setEasingCurve(QEasingCurve(static_cast<QEasingCurve::Type>(QRandomGenerator::global()->bounded(40)))); } -//把鼠标点击的点转换为圆心点坐标 +// 把鼠标点击的点转换为圆心点坐标 void WaterDrop::move(const QPoint &point) { QPoint translatePoint = point - QPoint(RADIUS, RADIUS); @@ -196,7 +193,7 @@ void WaterDrop::paintEvent(QPaintEvent *event) pen.setColor(QColor(0xffffff80)); pen.setWidth(5); painter.setPen(pen); - painter.drawEllipse(event->rect().center(),m_animationRadius, m_animationRadius); + painter.drawEllipse(event->rect().center(), m_animationRadius, m_animationRadius); } void WaterDrop::onRaduisChanged(QVariant value) diff --git a/src/widgets/common/smoothlistwidget.cpp b/src/widgets/common/smoothlistwidget.cpp index aa84496..3cba1b4 100644 --- a/src/widgets/common/smoothlistwidget.cpp +++ b/src/widgets/common/smoothlistwidget.cpp @@ -5,13 +5,13 @@ #include <QDebug> SmoothListWidget::SmoothListWidget(QWidget *parent) : QListWidget(parent) { - vScrollBar->setOrientation(Qt::Orientation::Vertical); //将滚动条设置为纵向 - setVerticalScrollBar(vScrollBar); //设置纵向滚动条 + vScrollBar->setOrientation(Qt::Orientation::Vertical); // 将滚动条设置为纵向 + setVerticalScrollBar(vScrollBar); // 设置纵向滚动条 connect(vScrollBar, SIGNAL(valueChanged(int)), this, SLOT(onSliderChanged(int))); } void SmoothListWidget::wheelEvent(QWheelEvent *e) { - //当捕获到事件后,调用相对滚动的槽函数 + // 当捕获到事件后,调用相对滚动的槽函数 vScrollBar->scroll(e->angleDelta().y()); } void SmoothListWidget::onSliderChanged(int p) @@ -21,5 +21,5 @@ void SmoothListWidget::onSliderChanged(int p) { emit reachedBottom(); // 1 } - emit msliderChanged(p); // 2 + emit msliderChanged(p); // 2 } diff --git a/src/widgets/common/smoothscrollbar.cpp b/src/widgets/common/smoothscrollbar.cpp index 8759124..5fd190b 100644 --- a/src/widgets/common/smoothscrollbar.cpp +++ b/src/widgets/common/smoothscrollbar.cpp @@ -1,56 +1,56 @@ #include "smoothscrollbar.h" #include <QWheelEvent> #include <QDebug> -SmoothScrollBar::SmoothScrollBar(QWidget* parent):QScrollBar(parent) +SmoothScrollBar::SmoothScrollBar(QWidget *parent) : QScrollBar(parent) { - m_scrollAni=new QPropertyAnimation(this); + m_scrollAni = new QPropertyAnimation(this); m_scrollAni->setTargetObject(this); m_scrollAni->setPropertyName("value"); - m_scrollAni->setEasingCurve(QEasingCurve::OutQuint); //设置动画曲线,在Qt文档中有详细的介绍 - m_scrollAni->setDuration(500); //设置动画时间,数值越小播放越快 - m_targetValue_v=value(); //将m_targetValue_v初始化 + m_scrollAni->setEasingCurve(QEasingCurve::OutQuint); // 设置动画曲线,在Qt文档中有详细的介绍 + m_scrollAni->setDuration(500); // 设置动画时间,数值越小播放越快 + m_targetValue_v = value(); // 将m_targetValue_v初始化 } void SmoothScrollBar::setValue(int value) { - m_scrollAni->stop();//停止现在的动画,防止出现冲突 - m_scrollAni->setStartValue(this->value()); //设置动画滚动的初始值为当前位置 - m_scrollAni->setEndValue(value); //设置动画的结束位置为目标值 - m_scrollAni->start(); //开始动画 + m_scrollAni->stop(); // 停止现在的动画,防止出现冲突 + m_scrollAni->setStartValue(this->value()); // 设置动画滚动的初始值为当前位置 + m_scrollAni->setEndValue(value); // 设置动画的结束位置为目标值 + m_scrollAni->start(); // 开始动画 } void SmoothScrollBar::scrollTop() { - setValue(-m_targetValue_v); //开始动画 - m_targetValue_v=0; + setValue(-m_targetValue_v); // 开始动画 + m_targetValue_v = 0; } void SmoothScrollBar::scroll(int value) { - //这里推荐评论区中大佬优化的写法 - if(m_targetValue_v-value>=0) + // 这里推荐评论区中大佬优化的写法 + if (m_targetValue_v - value >= 0) { - m_targetValue_v-=value; //将目标值和相对位置进行运算 - setValue(m_targetValue_v); //开始动画 + m_targetValue_v -= value; // 将目标值和相对位置进行运算 + setValue(m_targetValue_v); // 开始动画 } } void SmoothScrollBar::mousePressEvent(QMouseEvent *e) { - //当使用鼠标操作滚动条时,不会刷新m_targetValue_v的值,因而需要重写事件,对其进行刷新。 + // 当使用鼠标操作滚动条时,不会刷新m_targetValue_v的值,因而需要重写事件,对其进行刷新。 m_scrollAni->stop(); QScrollBar::mousePressEvent(e); - m_targetValue_v=value(); + m_targetValue_v = value(); } void SmoothScrollBar::mouseReleaseEvent(QMouseEvent *e) { m_scrollAni->stop(); QScrollBar::mouseReleaseEvent(e); - m_targetValue_v=value(); + m_targetValue_v = value(); } void SmoothScrollBar::mouseMoveEvent(QMouseEvent *e) { m_scrollAni->stop(); QScrollBar::mouseMoveEvent(e); - m_targetValue_v=value(); + m_targetValue_v = value(); } diff --git a/src/widgets/common/webenginepage.cpp b/src/widgets/common/webenginepage.cpp index 5f9d025..af7a050 100644 --- a/src/widgets/common/webenginepage.cpp +++ b/src/widgets/common/webenginepage.cpp @@ -13,7 +13,8 @@ WebEnginePage::~WebEnginePage() void WebEnginePage::setUrl(const QUrl &url) { - if (m_currentUrl == url) { + if (m_currentUrl == url) + { return; } @@ -32,7 +33,8 @@ QWebEnginePage *WebEnginePage::createWindow(QWebEnginePage::WebWindowType type) void WebEnginePage::slotUrlChanged(const QUrl &url) { - if (m_currentUrl == url) { + if (m_currentUrl == url) + { sender()->deleteLater(); return; } diff --git a/src/widgets/downloadlistwidget.cpp b/src/widgets/downloadlistwidget.cpp index d99e2f7..e778175 100644 --- a/src/widgets/downloadlistwidget.cpp +++ b/src/widgets/downloadlistwidget.cpp @@ -3,23 +3,22 @@ #include <QGraphicsOpacityEffect> #include <QPropertyAnimation> #include <QDebug> -DownloadListWidget::DownloadListWidget(QWidget *parent) : - DBlurEffectWidget(parent), - ui(new Ui::DownloadListWidget) +DownloadListWidget::DownloadListWidget(QWidget *parent) : DBlurEffectWidget(parent), + ui(new Ui::DownloadListWidget) { ui->setupUi(this); installEventFilter(this); - this->setAttribute(Qt::WA_Hover,true); + this->setAttribute(Qt::WA_Hover, true); setFocus(); - setFixedSize(500,400); + setFixedSize(500, 400); setMaskAlpha(250); ui->listWidget->hide(); ui->widget->show(); // 计算显示下载速度 download_speed.setInterval(1000); download_speed.start(); - connect(&download_speed,&QTimer::timeout,[=]() - { + connect(&download_speed, &QTimer::timeout, [=]() + { if(isdownload && theSpeed == "") { size1 = download_size; @@ -47,13 +46,13 @@ DownloadListWidget::DownloadListWidget(QWidget *parent) : downloaditemlist[nowDownload - 1]->setSpeed(theSpeed); }else{ emit downloadProgress(0); - } - }); + } }); } DownloadListWidget::~DownloadListWidget() { - if (downloadController) { + if (downloadController) + { downloadController->stopDownload(); downloadController->deleteLater(); } @@ -64,41 +63,41 @@ DownloadListWidget::~DownloadListWidget() void DownloadListWidget::clearItem() { ui->listWidget->vScrollBar->scrollTop(); - int n=ui->listWidget->count(); - for(int i=0;i<n;i++) + int n = ui->listWidget->count(); + for (int i = 0; i < n; i++) { QListWidgetItem *item = ui->listWidget->takeItem(0); QWidget *card = ui->listWidget->itemWidget(item); delete card; - card = NULL; + card = NULL; delete item; - item = NULL; + item = NULL; } ui->listWidget->clear(); } -void DownloadListWidget::addItem(QString name,QString fileName,QString pkgName,const QPixmap icon,QString downloadurl) +void DownloadListWidget::addItem(QString name, QString fileName, QString pkgName, const QPixmap icon, QString downloadurl) { - if(fileName.isEmpty()) + if (fileName.isEmpty()) { return; } urList.append(downloadurl); allDownload += 1; - DownloadItem *di=new DownloadItem(this); - dlist<<downloadurl; - downloaditemlist<<di; + DownloadItem *di = new DownloadItem(this); + dlist << downloadurl; + downloaditemlist << di; di->setName(name); di->setFileName(fileName); - di->pkgName=pkgName; + di->pkgName = pkgName; di->seticon(icon); - QListWidgetItem* pItem = new QListWidgetItem(); + QListWidgetItem *pItem = new QListWidgetItem(); pItem->setSizeHint(QSize(240, 50)); ui->listWidget->addItem(pItem); ui->listWidget->setItemWidget(pItem, di); - if(!isBusy) + if (!isBusy) { nowDownload += 1; - startRequest(urList.at(nowDownload - 1), fileName); // 进行链接请求 + startRequest(urList.at(nowDownload - 1), fileName); // 进行链接请求 } } @@ -120,10 +119,10 @@ void DownloadListWidget::startRequest(QUrl url, QString fileName) isdownload = true; downloaditemlist[allDownload - 1]->free = false; - downloadController = new DownloadController(this); // 并发下载,在点击下载按钮的时候才会初始化 + downloadController = new DownloadController(this); // 并发下载,在点击下载按钮的时候才会初始化 connect(downloadController, &DownloadController::downloadProcess, this, &DownloadListWidget::updateDataReadProgress); connect(downloadController, &DownloadController::downloadFinished, this, &DownloadListWidget::httpFinished); - //connect(downloadController, &DownloadController::errorOccur, this, [=](QString msg){this->sendNotification(msg);}); + // connect(downloadController, &DownloadController::errorOccur, this, [=](QString msg){this->sendNotification(msg);}); downloadController->setFilename(fileName); downloadController->startDownload(url.toString()); } @@ -135,37 +134,37 @@ void DownloadListWidget::httpFinished() // 完成下载 downloaditemlist[nowDownload - 1]->readyInstall(); downloaditemlist[nowDownload - 1]->free = true; emit downloadFinished(); - if(nowDownload < allDownload) + if (nowDownload < allDownload) { // 如果有排队则下载下一个 qDebug() << "切换下一个下载..."; nowDownload += 1; - while(downloaditemlist[nowDownload - 1]->close) + while (downloaditemlist[nowDownload - 1]->close) { nowDownload += 1; - if(nowDownload >= allDownload) + if (nowDownload >= allDownload) { nowDownload = allDownload; return; } } QString fileName = downloaditemlist[nowDownload - 1]->getName(); - startRequest(urList.at(nowDownload-1), fileName); + startRequest(urList.at(nowDownload - 1), fileName); } } void DownloadListWidget::updateDataReadProgress(QString speedInfo, qint64 bytesRead, qint64 totalBytes) { - if(totalBytes <= 0) + if (totalBytes <= 0) { return; } theSpeed = speedInfo; - downloaditemlist[nowDownload - 1]->setMax(10000); // 最大值 - downloaditemlist[nowDownload - 1]->setValue(int(bytesRead * 100 / totalBytes) * 100); // 当前值 + downloaditemlist[nowDownload - 1]->setMax(10000); // 最大值 + downloaditemlist[nowDownload - 1]->setValue(int(bytesRead * 100 / totalBytes) * 100); // 当前值 emit downloadProgress(int(bytesRead * 100 / totalBytes)); download_size = bytesRead; - if(downloaditemlist[nowDownload - 1]->close) + if (downloaditemlist[nowDownload - 1]->close) { // 随时检测下载是否被取消 downloadController->disconnect(); @@ -175,21 +174,23 @@ void DownloadListWidget::updateDataReadProgress(QString speedInfo, qint64 bytesR } } - -void DownloadListWidget::m_move(int x,int y) +void DownloadListWidget::m_move(int x, int y) { m_rect.setX(x); m_rect.setY(y); - move(x,y); + move(x, y); return; } bool DownloadListWidget::eventFilter(QObject *watched, QEvent *event) { - if (Q_NULLPTR == watched) { + if (Q_NULLPTR == watched) + { return false; } - if (QEvent::ActivationChange == event->type()) { - if(QApplication::activeWindow() != this){ + if (QEvent::ActivationChange == event->type()) + { + if (QApplication::activeWindow() != this) + { this->close(); } }