mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-15 13:22:04 +08:00
Compare commits
11 Commits
1.0beta7.2
...
2.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5121a0405 | ||
|
|
e568ddafba | ||
|
|
111174a46f | ||
|
|
6de25a299f | ||
|
|
cbd57a3e25 | ||
|
|
6e083f295b | ||
|
|
b82a821d01 | ||
|
|
6578af935e | ||
|
|
fe4143a3f7 | ||
|
|
8952be33c4 | ||
|
|
4e4f55995e |
19
README.md
19
README.md
@@ -50,6 +50,25 @@ http://dcstore.shenmo.tech/
|
||||
|
||||
线路文件:新版的线路文件被放置于源服务器中,可随时刷新更新源列表
|
||||
|
||||
#### 如何编译
|
||||
|
||||
Deepin/UOS 系统下, 安装依赖
|
||||
|
||||
```shell
|
||||
sudo apt install qt5-default libdtkcore-dev libdtkwidget-dev qtwebengine5-dev
|
||||
```
|
||||
|
||||
```shell
|
||||
git clone https://gitee.com/deepin-community-store/spark-store.git
|
||||
cd spark-store
|
||||
mkdir build
|
||||
cd build
|
||||
qmake ..
|
||||
make -j
|
||||
```
|
||||
|
||||
./build文件下的spark-store即为可执行文件
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本仓库
|
||||
|
||||
@@ -22,8 +22,10 @@ downloadlist::downloadlist(QWidget *parent) :
|
||||
ui->widget_spinner->hide();
|
||||
action_dpkg->setText("dpkg");
|
||||
action_gdebi->setText("gdebi");
|
||||
action_deepin->setText("深度安装器");
|
||||
connect(action_dpkg,&QAction::triggered,[=](){downloadlist::install(1);});
|
||||
connect(action_gdebi,&QAction::triggered,[=](){downloadlist::install(0);});
|
||||
connect(action_deepin,&QAction::triggered,[=](){downloadlist::install(2);});
|
||||
menu_install->addAction(action_gdebi);
|
||||
//ssinstall命令存在时再加入该选项
|
||||
QFile ssinstall("/bin/ssinstall");
|
||||
@@ -31,6 +33,11 @@ downloadlist::downloadlist(QWidget *parent) :
|
||||
if(ssinstall.isOpen()){
|
||||
menu_install->addAction(action_dpkg);
|
||||
}
|
||||
QFile deepin("/bin/deepin-deb-installer");
|
||||
deepin.open(QIODevice::ReadOnly);
|
||||
if(deepin.isOpen()){
|
||||
menu_install->addAction(action_deepin);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -115,28 +122,37 @@ void downloadlist::install(int t)
|
||||
ui->label_2->setText("正在安装,请稍候");
|
||||
QtConcurrent::run([=](){
|
||||
QProcess installer;
|
||||
if(reinstall){
|
||||
if(t==0){
|
||||
if(!reinstall){
|
||||
switch (t) {
|
||||
case 0:
|
||||
installer.start("pkexec gdebi -n /tmp/spark-store/"+ui->label_filename->text().toUtf8());
|
||||
}else {
|
||||
break;
|
||||
case 1:
|
||||
installer.start("pkexec ssinstall /tmp/spark-store/"+ui->label_filename->text().toUtf8());
|
||||
break;
|
||||
case 2:
|
||||
installer.start("deepin-deb-installer /tmp/spark-store/"+ui->label_filename->text().toUtf8());
|
||||
break;
|
||||
}
|
||||
|
||||
}else {
|
||||
if(t==0){
|
||||
switch (t) {
|
||||
case 0:
|
||||
installer.start("pkexec gdebi -n /tmp/spark-store/"+ui->label_filename->text().toUtf8());
|
||||
}else {
|
||||
break;
|
||||
case 1:
|
||||
installer.start("pkexec ssinstall /tmp/spark-store/"+ui->label_filename->text().toUtf8());
|
||||
break;
|
||||
case 2:
|
||||
installer.start("deepin-deb-installer /tmp/spark-store/"+ui->label_filename->text().toUtf8());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool haveError=false;
|
||||
bool notRoot=false;
|
||||
installer.waitForFinished();
|
||||
out=installer.readAllStandardOutput();
|
||||
QStringList everyOut=out.split("\n");
|
||||
bool haveError=false;
|
||||
bool notRoot=false;
|
||||
for (int i=0;i<everyOut.size();i++) {
|
||||
qDebug()<<everyOut[i].left(2);
|
||||
if(everyOut[i].left(2)=="E:"){
|
||||
haveError=true;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ public:
|
||||
QMenu *menu_install=new QMenu;
|
||||
QAction *action_gdebi=new QAction;
|
||||
QAction *action_dpkg=new QAction;
|
||||
QAction *action_deepin=new QAction;
|
||||
void install(int);
|
||||
private slots:
|
||||
void on_pushButton_install_clicked();
|
||||
|
||||
37
progressload.cpp
Normal file
37
progressload.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#include "progressload.h"
|
||||
|
||||
ProgressLoad::ProgressLoad(QWidget *parent) : QWidget(parent)
|
||||
{
|
||||
m_progess=new QWidget(this);
|
||||
m_progess->move(0,0);
|
||||
m_progess->show();
|
||||
timer=new QTimer;
|
||||
value=0;
|
||||
timer->setInterval(10);
|
||||
timer->start();
|
||||
connect(timer,&QTimer::timeout,[=](){
|
||||
m_progess->setFixedWidth(width()/100*value);
|
||||
m_progess->setFixedHeight(height());
|
||||
});
|
||||
}
|
||||
|
||||
void ProgressLoad::setValue(int v)
|
||||
{
|
||||
value=v;
|
||||
m_progess->setFixedWidth(width()/100*value);
|
||||
}
|
||||
|
||||
void ProgressLoad::setTheme(bool dark, QColor color)
|
||||
{
|
||||
if(dark){
|
||||
plt.setColor(QPalette::Background,QColor(28,28,28));
|
||||
setAutoFillBackground(true);
|
||||
setPalette(plt);
|
||||
|
||||
}else {
|
||||
plt.setColor(QPalette::Background,QColor(255,255,255));
|
||||
setAutoFillBackground(true);
|
||||
setPalette(plt);
|
||||
}
|
||||
m_progess->setStyleSheet("background-color:"+color.name());
|
||||
}
|
||||
24
progressload.h
Normal file
24
progressload.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#ifndef PROGRESSLOAD_H
|
||||
#define PROGRESSLOAD_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QTimer>
|
||||
#include <QPalette>
|
||||
class ProgressLoad : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ProgressLoad(QWidget *parent = nullptr);
|
||||
void setValue(int v);
|
||||
void setTheme(bool dark,QColor color);
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
private:
|
||||
QWidget *m_progess;
|
||||
int value;
|
||||
QTimer *timer;
|
||||
QPalette plt;
|
||||
};
|
||||
|
||||
#endif // PROGRESSLOAD_H
|
||||
@@ -4,10 +4,13 @@
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui webkitwidgets network concurrent
|
||||
QT += core gui network concurrent webenginewidgets
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += dtkwidget
|
||||
|
||||
TARGET = spark-store
|
||||
TEMPLATE = app
|
||||
|
||||
@@ -27,16 +30,17 @@ SOURCES += main.cpp\
|
||||
widget.cpp \
|
||||
downloadlist.cpp \
|
||||
image_show.cpp \
|
||||
big_image.cpp
|
||||
big_image.cpp \
|
||||
progressload.cpp
|
||||
|
||||
HEADERS += \
|
||||
widget.h \
|
||||
downloadlist.h \
|
||||
image_show.h \
|
||||
big_image.h
|
||||
big_image.h \
|
||||
progressload.h
|
||||
|
||||
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += dtkwidget
|
||||
|
||||
CONFIG += c++11
|
||||
|
||||
|
||||
154
widget.cpp
154
widget.cpp
@@ -16,7 +16,6 @@
|
||||
#include <QtConcurrent> // 并发
|
||||
#include <QSettings>
|
||||
#include <QIcon>
|
||||
#include <QWebFrame>
|
||||
#include <QGraphicsOpacityEffect>
|
||||
#include <QDesktopServices>
|
||||
#include <DSettings>
|
||||
@@ -36,7 +35,9 @@ Widget::Widget(DBlurEffectWidget *parent) :
|
||||
ui->setupUi(this);
|
||||
initUI();
|
||||
initConfig();
|
||||
manager = new QNetworkAccessManager(this); // 下载管理
|
||||
manager = new QNetworkAccessManager(this);//下载管理
|
||||
m_loadweb=ui->progressload;
|
||||
m_loadweb->show();
|
||||
|
||||
connect(ui->menu_main,&QPushButton::clicked,[=](){Widget::chooseLeftMenu(0);});
|
||||
connect(ui->menu_network,&QPushButton::clicked,[=](){Widget::chooseLeftMenu(1);});
|
||||
@@ -99,6 +100,8 @@ Widget::Widget(DBlurEffectWidget *parent) :
|
||||
size2=download_size;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
Widget::~Widget()
|
||||
@@ -167,21 +170,7 @@ void Widget::initUI()
|
||||
left_list[12]=ui->menu_other;
|
||||
left_list[13]=ui->menu_download;
|
||||
|
||||
// 初始化web加载动画
|
||||
QHBoxLayout *m_weblayout=new QHBoxLayout;
|
||||
m_weblayout->addWidget(m_loadweb);
|
||||
m_weblayout->addWidget(m_loaderror);
|
||||
m_loadweb->hide();
|
||||
m_loaderror->hide();
|
||||
m_loadweb->start();
|
||||
m_loadweb->setMaximumSize(50,50);
|
||||
m_loadweb->setMinimumSize(50,50);
|
||||
m_loadweb->setTextVisible(false);
|
||||
m_loaderror->setPixmap(QIcon::fromTheme("dialog-error").pixmap(50,50));
|
||||
m_loaderror->setAlignment(Qt::AlignCenter);
|
||||
|
||||
ui->webView->setLayout(m_weblayout);
|
||||
// ui->stackedWidget->setLayout(m_weblayout);
|
||||
ui->label_show->hide();
|
||||
|
||||
}
|
||||
@@ -225,14 +214,15 @@ void Widget::initConfig()
|
||||
menuUrl[11]=serverUrl + "store/#/themes";
|
||||
menuUrl[12]=serverUrl + "store/#/others";
|
||||
|
||||
// web控件初始化
|
||||
ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); //用来激活接受linkClicked信号
|
||||
ui->webView->page()->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);
|
||||
|
||||
//web控件初始化
|
||||
// ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); //用来激活接受linkClicked信号
|
||||
// ui->webView->page()->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);
|
||||
ui->webfoot->hide();
|
||||
|
||||
// 初始化首页
|
||||
ui->webView->setUrl(menuUrl[0]);
|
||||
chooseLeftMenu(0);
|
||||
//初始化首页
|
||||
ui->webEngineView->setUrl(menuUrl[0]);
|
||||
// ui->webEngineView->setUrl(menuUrl[1]);
|
||||
|
||||
//给下载列表赋值到数组,方便调用
|
||||
for (int i =0; i<LIST_MAX;i++){
|
||||
@@ -260,7 +250,7 @@ void Widget::setTheme(bool isDark,QColor color)
|
||||
if(isDark){
|
||||
// 黑色模式
|
||||
themeIsDark=true;
|
||||
ui->webView->setStyleSheet("background-color:#282828");
|
||||
ui->webEngineView->setStyleSheet("background-color:#282828");
|
||||
ui->btn_openDir->setStyleSheet("color:#8B91A1;background-color:#2E2F30;border:0px");
|
||||
ui->webfoot->setStyleSheet("background-color:#252525");
|
||||
ui->label->setStyleSheet("background-color:#252525");
|
||||
@@ -270,7 +260,7 @@ void Widget::setTheme(bool isDark,QColor color)
|
||||
}else {
|
||||
// 亮色模式
|
||||
themeIsDark=false;
|
||||
ui->webView->setStyleSheet("background-color:#FFFFFF");
|
||||
ui->webEngineView->setStyleSheet("background-color:#FFFFFF");
|
||||
ui->webfoot->setStyleSheet("background-color:#FFFFFF");
|
||||
ui->btn_openDir->setStyleSheet("color:#505050;background-color:#FBFBFB;border:0px");
|
||||
ui->label->setStyleSheet("background-color:#FFFFFF");
|
||||
@@ -279,7 +269,7 @@ void Widget::setTheme(bool isDark,QColor color)
|
||||
ui->pushButton_return->setIcon(QIcon(":/icons/icons/category_active.svg"));
|
||||
}
|
||||
main_color=color;
|
||||
|
||||
m_loadweb->setTheme(themeIsDark,color);
|
||||
updateUI();
|
||||
if(ui->stackedWidget->currentIndex()==0){
|
||||
chooseLeftMenu(nowMenu);
|
||||
@@ -292,35 +282,6 @@ DTitlebar* Widget::getTitlebar()
|
||||
return ui->titlebar;
|
||||
}
|
||||
|
||||
void Widget::on_webView_loadStarted()
|
||||
{
|
||||
m_loadweb->setValue(0);
|
||||
m_loadweb->show();
|
||||
m_loaderror->hide();
|
||||
ui->label_show->hide();
|
||||
|
||||
// 分析出服务器中的分类名称
|
||||
QUrl arg1=ui->webView->page()->mainFrame()->requestedUrl().toString();
|
||||
QStringList url_=arg1.path().split("/");
|
||||
if(url_.size()>3){
|
||||
type_name=url_[2];
|
||||
}
|
||||
// 如果是app.json就打开详情页
|
||||
if(arg1.path().right(8)=="app.json"){
|
||||
load.cancel(); // 打开并发加载线程前关闭正在执行的线程
|
||||
|
||||
ui->label_more->setText(""); // 清空详情介绍
|
||||
ui->label_info->setText("");
|
||||
ui->label_appname->setText("");
|
||||
ui->pushButton_download->setEnabled(false);
|
||||
ui->stackedWidget->setCurrentIndex(2);
|
||||
load.cancel(); // 打开并发加载线程前关闭正在执行的线程
|
||||
load = QtConcurrent::run([=](){
|
||||
loadappinfo(arg1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void Widget::updateUI()
|
||||
{
|
||||
if(themeIsDark){
|
||||
@@ -363,6 +324,7 @@ void Widget::updateUI()
|
||||
left_list[i]->setStyleSheet("color:#252525;border:0px");
|
||||
}
|
||||
}
|
||||
|
||||
left_list[nowMenu]->setStyleSheet("color:#FFFFFF;background-color:"+main_color.name()+";border-radius:8;border:0px");
|
||||
switch (nowMenu) {
|
||||
case 0:
|
||||
@@ -414,8 +376,6 @@ void Widget::updateUI()
|
||||
void Widget::chooseLeftMenu(int index)
|
||||
{
|
||||
nowMenu=index;
|
||||
// setfoot();
|
||||
// updatefoot();
|
||||
|
||||
updateUI();
|
||||
left_list[index]->setStyleSheet("color:#FFFFFF;background-color:"+main_color.name()+";border-radius:8;border:0px");
|
||||
@@ -428,10 +388,12 @@ void Widget::chooseLeftMenu(int index)
|
||||
darkurl+=tmp[i]+"/";
|
||||
}
|
||||
darkurl+="dark"+tmp[tmp.size()-1];
|
||||
ui->webView->setUrl(darkurl);
|
||||
ui->webEngineView->setUrl(darkurl);
|
||||
qDebug()<<darkurl;
|
||||
|
||||
}else {
|
||||
ui->webView->setUrl(menuUrl[index]);
|
||||
ui->webEngineView->setUrl(menuUrl[index]);
|
||||
|
||||
}
|
||||
|
||||
ui->stackedWidget->setCurrentIndex(0);
|
||||
@@ -463,6 +425,7 @@ void Widget::loadappinfo(QUrl arg1)
|
||||
ui->screen_2->hide();
|
||||
ui->screen_3->hide();
|
||||
ui->screen_4->hide();
|
||||
ui->label_appicon->clear();
|
||||
|
||||
// 重置UI状态
|
||||
ui->pushButton_uninstall->hide();
|
||||
@@ -859,7 +822,7 @@ void Widget::opensetting()
|
||||
void Widget::openUrl(QUrl u)
|
||||
{
|
||||
QString app=serverUrl + "store"+u.path()+"/app.json";
|
||||
ui->webView->setUrl(app);
|
||||
ui->webEngineView->setUrl(app);
|
||||
}
|
||||
|
||||
void Widget::on_pushButton_website_clicked()
|
||||
@@ -867,25 +830,6 @@ void Widget::on_pushButton_website_clicked()
|
||||
QDesktopServices::openUrl(QUrl(appweb));
|
||||
}
|
||||
|
||||
void Widget::on_webView_loadFinished(bool arg1)
|
||||
{
|
||||
if(arg1){
|
||||
m_loadweb->hide();
|
||||
}else {
|
||||
m_loadweb->hide();
|
||||
m_loaderror->show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Widget::on_webView_loadProgress(int progress)
|
||||
{
|
||||
m_loadweb->setValue(progress);
|
||||
if(progress>=90){
|
||||
m_loadweb->hide();
|
||||
}
|
||||
}
|
||||
|
||||
void Widget::on_pushButton_clicked()
|
||||
{
|
||||
QString share_url;
|
||||
@@ -910,3 +854,57 @@ void Widget::on_stackedWidget_currentChanged(int arg1)
|
||||
ui->pushButton_return->setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
void Widget::on_webEngineView_urlChanged(const QUrl &arg1)
|
||||
{
|
||||
//分析出服务器中的分类名称
|
||||
QStringList url_=arg1.path().split("/");
|
||||
QString pname;
|
||||
if(url_.size()>3){
|
||||
type_name=url_[2];
|
||||
pname=url_[3];
|
||||
}
|
||||
//如果是app.json就打开详情页
|
||||
if(arg1.path().right(8)=="app.json"){
|
||||
load.cancel();//打开并发加载线程前关闭正在执行的线程
|
||||
m_loadweb->setValue(0);
|
||||
ui->label_more->setText("");//清空详情介绍
|
||||
ui->label_info->setText("");
|
||||
ui->label_appname->setText("");
|
||||
ui->pushButton_download->setEnabled(false);
|
||||
ui->stackedWidget->setCurrentIndex(2);
|
||||
qDebug()<<"https://demo-one-vert.vercel.app/"+type_name+"/"+pname;
|
||||
load.cancel();//打开并发加载线程前关闭正在执行的线程
|
||||
load = QtConcurrent::run([=](){
|
||||
|
||||
loadappinfo(arg1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void Widget::on_webEngineView_loadStarted()
|
||||
{
|
||||
m_loadweb->setValue(0);
|
||||
m_loadweb->show();
|
||||
m_loaderror->hide();
|
||||
ui->label_show->hide();
|
||||
}
|
||||
|
||||
void Widget::on_webEngineView_loadProgress(int progress)
|
||||
{
|
||||
m_loadweb->setValue(progress);
|
||||
if(progress>=90){
|
||||
m_loadweb->setValue(0);
|
||||
}
|
||||
}
|
||||
|
||||
void Widget::on_webEngineView_loadFinished(bool arg1)
|
||||
{
|
||||
if(arg1){
|
||||
m_loadweb->setValue(0);
|
||||
}else {
|
||||
m_loadweb->setValue(0);
|
||||
m_loaderror->show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
14
widget.h
14
widget.h
@@ -19,6 +19,7 @@
|
||||
#include <QLabel>
|
||||
#include <DTitlebar>
|
||||
#include <DSearchEdit>
|
||||
#include <progressload.h>
|
||||
#define LIST_MAX 99 //一次最多下载数量
|
||||
#define TMP_PATH "/tmp/spark-store"
|
||||
|
||||
@@ -53,15 +54,12 @@ private slots:
|
||||
void updateDataReadProgress(qint64,qint64);
|
||||
void on_pushButton_download_clicked();
|
||||
void on_pushButton_return_clicked();
|
||||
void on_webView_loadStarted();
|
||||
void on_comboBox_server_currentIndexChanged(const QString &arg1);
|
||||
void on_pushButton_updateServer_clicked();
|
||||
void on_pushButton_updateApt_clicked();
|
||||
void on_pushButton_uninstall_clicked();
|
||||
void on_pushButton_clear_clicked();
|
||||
void on_pushButton_website_clicked();
|
||||
void on_webView_loadFinished(bool arg1);
|
||||
void on_webView_loadProgress(int progress);
|
||||
|
||||
void on_pushButton_clicked();
|
||||
|
||||
@@ -69,6 +67,14 @@ private slots:
|
||||
|
||||
void on_stackedWidget_currentChanged(int arg1);
|
||||
|
||||
void on_webEngineView_urlChanged(const QUrl &arg1);
|
||||
|
||||
void on_webEngineView_loadStarted();
|
||||
|
||||
void on_webEngineView_loadProgress(int progress);
|
||||
|
||||
void on_webEngineView_loadFinished(bool arg1);
|
||||
|
||||
public:
|
||||
|
||||
QUrl url;
|
||||
@@ -101,7 +107,7 @@ private:
|
||||
private:
|
||||
QPushButton * left_list[15];
|
||||
QUrl menuUrl[13];
|
||||
DWaterProgress *m_loadweb=new DWaterProgress;
|
||||
ProgressLoad *m_loadweb;
|
||||
QLabel *m_loaderror=new QLabel;
|
||||
QString serverUrl;
|
||||
bool configCanSave=false;
|
||||
|
||||
321
widget.ui
321
widget.ui
@@ -29,7 +29,7 @@
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0" rowspan="3">
|
||||
<item row="0" column="0" rowspan="4">
|
||||
<widget class="QWidget" name="widget_menuList" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@@ -147,6 +147,13 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="11" column="0" colspan="5">
|
||||
<widget class="QPushButton" name="menu_dev">
|
||||
<property name="text">
|
||||
<string>编程开发</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_return">
|
||||
<property name="maximumSize">
|
||||
@@ -164,13 +171,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0" colspan="5">
|
||||
<widget class="QPushButton" name="menu_dev">
|
||||
<property name="text">
|
||||
<string>编程开发</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="5">
|
||||
<widget class="QPushButton" name="menu_office">
|
||||
<property name="text">
|
||||
@@ -278,7 +278,7 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="QStackedWidget" name="stackedWidget">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
@@ -287,7 +287,7 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>3</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
@@ -307,263 +307,10 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWebView" name="webView">
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
<colorrole role="WindowText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>65</red>
|
||||
<green>77</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Light">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>3</red>
|
||||
<green>3</green>
|
||||
<blue>3</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Dark">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>46</red>
|
||||
<green>46</green>
|
||||
<blue>46</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Text">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>65</red>
|
||||
<green>77</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="ButtonText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>65</red>
|
||||
<green>77</green>
|
||||
<blue>104</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="HighlightedText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>28</red>
|
||||
<green>28</green>
|
||||
<blue>28</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="NoRole">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</active>
|
||||
<inactive>
|
||||
<colorrole role="WindowText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>138</red>
|
||||
<green>145</green>
|
||||
<blue>161</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Light">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>3</red>
|
||||
<green>3</green>
|
||||
<blue>3</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Dark">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>46</red>
|
||||
<green>46</green>
|
||||
<blue>46</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Text">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>138</red>
|
||||
<green>145</green>
|
||||
<blue>161</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="ButtonText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>138</red>
|
||||
<green>145</green>
|
||||
<blue>161</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="HighlightedText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>28</red>
|
||||
<green>28</green>
|
||||
<blue>28</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="NoRole">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</inactive>
|
||||
<disabled>
|
||||
<colorrole role="WindowText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>46</red>
|
||||
<green>46</green>
|
||||
<blue>46</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Light">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>3</red>
|
||||
<green>3</green>
|
||||
<blue>3</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Dark">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>46</red>
|
||||
<green>46</green>
|
||||
<blue>46</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Text">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>46</red>
|
||||
<green>46</green>
|
||||
<blue>46</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="ButtonText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>46</red>
|
||||
<green>46</green>
|
||||
<blue>46</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="HighlightedText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>28</red>
|
||||
<green>28</green>
|
||||
<blue>28</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="NoRole">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</disabled>
|
||||
</palette>
|
||||
</property>
|
||||
<widget class="QWebEngineView" name="webEngineView">
|
||||
<property name="url">
|
||||
<url>
|
||||
<string>http://0.0.0.1/</string>
|
||||
<string>about:blank</string>
|
||||
</url>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -657,7 +404,7 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
@@ -675,7 +422,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>404</width>
|
||||
<width>901</width>
|
||||
<height>849</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -971,7 +718,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>370</width>
|
||||
<width>867</width>
|
||||
<height>325</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -1101,8 +848,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>903</width>
|
||||
<height>786</height>
|
||||
<width>687</width>
|
||||
<height>830</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_23">
|
||||
@@ -1198,7 +945,7 @@
|
||||
<string notr="true">color:#808080</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>源服务器的作用是保证软件更新,并且支持使用apt工具获取软件。通常我们更建议你使用第一个线路作为更新源,一般是最稳定的</p></body></html></string>
|
||||
<string><html><head/><body><p>源服务器的作用是保证软件更新,并且支持使用apt工具获取软件。通常我们更建议你使用第一个线路作为更新源,一般是最稳定的。</p><p>线路说明: </p><p>1. 国内推荐使用sucdn.jerrywang.top, cfcdn.jerrry.wang。前二者无法使用时,请切换到store.jerrywang.top</p><p>2. 国外推荐使用cfcdn.jerrry.wang, dcstore.spark-app.store</p><p>3. cdn.jerrywang.top尚在测试中</p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -1385,13 +1132,35 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="ProgressLoad" name="progressload" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>3</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>3</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTipDuration">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QWebView</class>
|
||||
<class>QWebEngineView</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>QtWebKitWidgets/QWebView</header>
|
||||
<header location="global">QtWebEngineWidgets/QWebEngineView</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>image_show</class>
|
||||
@@ -1405,6 +1174,12 @@
|
||||
<header location="global">dtitlebar.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ProgressLoad</class>
|
||||
<extends>QWidget</extends>
|
||||
<header location="global">progressload.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="icons.qrc"/>
|
||||
|
||||
Reference in New Issue
Block a user