mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-07-18 19:42:21 +08:00
跟随到beta5
This commit is contained in:
parent
a3ca04ddc5
commit
892766470c
@ -11,7 +11,8 @@ web页面部分正在开发当中,详情请见[web仓库](https://gitee.com/de
|
||||
```
|
||||
http://dcstore.shenmo.tech/
|
||||
http://store.shenmo.tech/
|
||||
http://store2.shenmo.tech/
|
||||
http://store.moshengren.xyz/
|
||||
http://store.jerrywang.top/
|
||||
```
|
||||
|
||||
#### 目录结构
|
||||
|
@ -96,17 +96,18 @@ void downloadlist::on_pushButton_clicked()
|
||||
if(!isInstall){
|
||||
isInstall=true;
|
||||
ui->pushButton->setEnabled(false);
|
||||
qDebug()<<"/tmp/deepin-community-store/"+ui->label_filename->text().toUtf8();
|
||||
ui->label_2->setText("正在安装,请稍候");
|
||||
QtConcurrent::run([=](){
|
||||
QProcess installer;
|
||||
if(reinstall){
|
||||
installer.start("pkexec apt reinstall -y /tmp/deepin-community-store/"+ui->label_filename->text().toUtf8());
|
||||
installer.start("pkexec ssinstall /tmp/deepin-community-store/"+ui->label_filename->text().toUtf8());
|
||||
}else {
|
||||
installer.start("pkexec apt install -y /tmp/deepin-community-store/"+ui->label_filename->text().toUtf8());
|
||||
installer.start("pkexec ssinstall /tmp/deepin-community-store/"+ui->label_filename->text().toUtf8());
|
||||
}
|
||||
|
||||
installer.waitForFinished();
|
||||
QString error=QString::fromStdString(installer.readAllStandardError().toStdString());
|
||||
error=installer.readAllStandardError();
|
||||
out=installer.readAllStandardOutput();
|
||||
QStringList everyError=error.split("\n");
|
||||
bool haveError=false;
|
||||
@ -120,20 +121,23 @@ void downloadlist::on_pushButton_clicked()
|
||||
notRoot=true;
|
||||
}
|
||||
}
|
||||
if(!haveError && !notRoot){
|
||||
QProcess isInstall;
|
||||
isInstall.start("dpkg -s "+pkgName);
|
||||
isInstall.waitForFinished();
|
||||
int error=QString::fromStdString(isInstall.readAllStandardError().toStdString()).length();
|
||||
if(error==0){
|
||||
ui->pushButton->hide();
|
||||
ui->label_2->setText("安装完成");
|
||||
ui->pushButton_3->show();
|
||||
}else if(haveError){
|
||||
}else {
|
||||
ui->pushButton->hide();
|
||||
ui->label_2->setText("安装出现错误");
|
||||
ui->pushButton_3->show();
|
||||
|
||||
}else {
|
||||
}
|
||||
if(notRoot){
|
||||
ui->label_2->setText("安装被终止");
|
||||
ui->pushButton->setEnabled(true);
|
||||
}
|
||||
isInstall=false;
|
||||
});
|
||||
qDebug()<<ui->label_filename->text().toUtf8();
|
||||
}
|
||||
@ -150,6 +154,6 @@ void downloadlist::on_pushButton_2_clicked()
|
||||
|
||||
void downloadlist::on_pushButton_3_clicked()
|
||||
{
|
||||
output_w.setoutput(out);
|
||||
output_w.setoutput(out+"\nERROR:\n"+error);
|
||||
output_w.show();
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ public:
|
||||
QString out;
|
||||
outputwindow output_w;
|
||||
bool reinstall=false;
|
||||
QString error;
|
||||
QString pkgName;
|
||||
private slots:
|
||||
void on_pushButton_clicked();
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>786</width>
|
||||
<width>684</width>
|
||||
<height>54</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -50,7 +50,7 @@
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
@ -90,7 +90,7 @@
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<width>280</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
@ -123,7 +123,7 @@
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<width>300</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
|
32
main.cpp
32
main.cpp
@ -1,7 +1,7 @@
|
||||
#include "mainwindow.h"
|
||||
#include <DApplication>
|
||||
#include <DWidgetUtil> //Dtk::Widget::moveToCenter(&w); 要调用它,就得引用DWidgetUtil
|
||||
|
||||
#include <QDesktopWidget>
|
||||
DWIDGET_USE_NAMESPACE
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
@ -10,13 +10,37 @@ int main(int argc, char *argv[])
|
||||
a.setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||
a.loadTranslator();
|
||||
a.setOrganizationName("community");
|
||||
a.setApplicationVersion(DApplication::buildVersion("1.0-beta3.2"));
|
||||
a.setApplicationVersion(DApplication::buildVersion("1.0-beta5"));
|
||||
a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/deepin-community-store");
|
||||
a.setProductIcon(QIcon::fromTheme("spark-store")); //设置Logo
|
||||
a.setProductName("星火应用商店");
|
||||
a.setApplicationName("星火应用商店"); //只有在这儿修改窗口标题才有效
|
||||
a.setProductName("Spark应用商店");
|
||||
a.setApplicationName("Spark应用商店"); //只有在这儿修改窗口标题才有效
|
||||
|
||||
MainWindow w;
|
||||
QDesktopWidget *s=DApplication::desktop();
|
||||
int d_w=s->width();
|
||||
int d_h=s->height();
|
||||
if(d_w<=1366){
|
||||
w.setMinimumWidth(820);
|
||||
w.resize(820,640);
|
||||
}else if(d_w<=1920){
|
||||
w.setMinimumWidth(1140);
|
||||
w.resize(1140,760);
|
||||
}else {
|
||||
w.setMinimumWidth(1140);
|
||||
w.resize(1140,760);
|
||||
}
|
||||
if(d_h<=768){
|
||||
w.setMinimumHeight(640);
|
||||
w.resize(820,640);
|
||||
}else if(d_h<=1080){
|
||||
w.setMinimumHeight(760);
|
||||
w.resize(1140,760);
|
||||
}else {
|
||||
w.setMinimumHeight(760);
|
||||
w.resize(1140,760);
|
||||
}
|
||||
|
||||
w.show();
|
||||
|
||||
//让打开时界面显示在正中
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "mainwindow.h"
|
||||
|
||||
#include <DMainWindow>
|
||||
|
||||
#include <QDesktopWidget>
|
||||
DWIDGET_USE_NAMESPACE
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
@ -10,7 +10,8 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
w = new Widget;
|
||||
|
||||
resize(w->size()); //设置窗口大小
|
||||
setMinimumSize(950,700);
|
||||
|
||||
// setMinimumSize(950,700);
|
||||
setCentralWidget(w);
|
||||
// searchEdit->setParent(this);
|
||||
// searchEdit->move(1,1);
|
||||
|
@ -1,5 +0,0 @@
|
||||
http://dcstore.shenmo.tech/
|
||||
http://store.shenmo.tech/
|
||||
http://store2.shenmo.tech/
|
||||
http://store.moshengren.xyz/
|
||||
http://127.0.0.1:8000/#/
|
32
widget.cpp
32
widget.cpp
@ -126,6 +126,7 @@ Widget::Widget(QWidget *parent) :
|
||||
ui->label_aptserver->setText("不存在");
|
||||
}
|
||||
aptserver.close();
|
||||
ui->pushButton_5->hide();
|
||||
|
||||
}
|
||||
|
||||
@ -167,6 +168,8 @@ void Widget::on_webView_loadStarted()
|
||||
}
|
||||
void Widget::loadappinfo(QUrl arg1)
|
||||
{
|
||||
ui->pushButton_5->hide();
|
||||
|
||||
|
||||
ui->label_show->setText("正在加载,请稍候");
|
||||
ui->label_show->show();
|
||||
@ -212,11 +215,13 @@ void Widget::loadappinfo(QUrl arg1)
|
||||
ui->label_info->setText(info);
|
||||
ui->label_more->setText(json["More"].toString());
|
||||
QProcess isInstall;
|
||||
pkgName=json["Pkgname"].toString();
|
||||
isInstall.start("dpkg -s "+json["Pkgname"].toString());
|
||||
isInstall.waitForFinished();
|
||||
int error=QString::fromStdString(isInstall.readAllStandardError().toStdString()).length();
|
||||
if(error==0){
|
||||
ui->pushButton->setText("重新安装");
|
||||
ui->pushButton_5->show();
|
||||
|
||||
}else {
|
||||
ui->pushButton->setText("安装");
|
||||
@ -309,6 +314,7 @@ void Widget::on_pushButton_clicked()
|
||||
allDownload+=1;
|
||||
QFileInfo info(url.path());
|
||||
QString fileName(info.fileName()); //获取文件名
|
||||
download_list[allDownload-1].pkgName=pkgName;
|
||||
if(fileName.isEmpty())
|
||||
{
|
||||
fileName = "index.html";
|
||||
@ -319,6 +325,7 @@ void Widget::on_pushButton_clicked()
|
||||
item->setSizeHint(download_list[allDownload-1].size());
|
||||
ui->listWidget->setItemWidget(item,&download_list[allDownload-1]);
|
||||
urList.append(url);
|
||||
qDebug()<<"下载:"<<url;
|
||||
download_list[allDownload-1].setName(appName);
|
||||
download_list[allDownload-1].setFileName(fileName);
|
||||
QPixmap icon;
|
||||
@ -508,8 +515,8 @@ void Widget::on_pushButton_3_clicked()
|
||||
QtConcurrent::run([=](){
|
||||
ui->pushButton_3->setEnabled(false);
|
||||
ui->comboBox_server->clear();
|
||||
system(QDir::homePath().toUtf8()+"/.config/deepin-community-store/server.list");
|
||||
system("wget -P "+QDir::homePath().toUtf8()+"/.config/deepin-community-store http://store2.shenmo.tech/store/server.list");
|
||||
system("rm "+QDir::homePath().toUtf8()+"/.config/deepin-community-store/server.list");
|
||||
system("wget -P "+QDir::homePath().toUtf8()+"/.config/deepin-community-store http://dcstore.shenmo.tech/store/server.list");
|
||||
std::fstream server;
|
||||
server.open(QDir::homePath().toUtf8()+"/.config/deepin-community-store/server.list",std::ios::in);
|
||||
std::string lineTmp;
|
||||
@ -536,7 +543,7 @@ void Widget::on_pushButton_4_clicked()
|
||||
if(sourcesList){
|
||||
sourcesList<<"deb [by-hash=force] ";
|
||||
sourcesList<<QString::fromUtf8(ui->comboBox_server->currentText().toUtf8()).toStdString();
|
||||
sourcesList<<" ./";
|
||||
sourcesList<<" /";
|
||||
std::fstream update;
|
||||
update.open("/tmp/spark-store/update.sh",std::ios::out);
|
||||
update<<"#!/bin/sh\n";
|
||||
@ -557,7 +564,7 @@ void Widget::on_pushButton_4_clicked()
|
||||
}
|
||||
}
|
||||
if(!haveError){
|
||||
ui->label_aptserver->setText("deb [by-hash=force] "+ui->comboBox_server->currentText().toUtf8()+" ./");
|
||||
ui->label_aptserver->setText("deb [by-hash=force] "+ui->comboBox_server->currentText().toUtf8()+" /");
|
||||
}else {
|
||||
ui->label_aptserver->setText("更新中发生错误,请在终端使用apt update来查看错误原因");
|
||||
}
|
||||
@ -568,3 +575,20 @@ void Widget::on_pushButton_4_clicked()
|
||||
ui->pushButton_4->setEnabled(true);
|
||||
});
|
||||
}
|
||||
|
||||
void Widget::on_pushButton_5_clicked()
|
||||
{
|
||||
QtConcurrent::run([=](){
|
||||
ui->pushButton->setEnabled(false);
|
||||
ui->pushButton_5->setEnabled(false);
|
||||
QProcess uninstall;
|
||||
uninstall.start("pkexec apt purge -y "+pkgName);
|
||||
uninstall.waitForFinished();
|
||||
ui->pushButton->setEnabled(true);
|
||||
ui->pushButton->setText("安装");
|
||||
ui->pushButton_5->hide();
|
||||
ui->pushButton_5->setEnabled(true);
|
||||
updatesEnabled();
|
||||
system("notify-send 卸载完成 --icon=spark-store");
|
||||
});
|
||||
}
|
||||
|
3
widget.h
3
widget.h
@ -87,6 +87,8 @@ private slots:
|
||||
|
||||
void on_pushButton_4_clicked();
|
||||
|
||||
void on_pushButton_5_clicked();
|
||||
|
||||
public:
|
||||
QUrl url;
|
||||
bool isBusy=false;
|
||||
@ -98,6 +100,7 @@ public:
|
||||
QFile *file;
|
||||
QString appName;
|
||||
QString urladdress;
|
||||
QString pkgName;
|
||||
QToolButton * left_list[15];
|
||||
QWidget * left_menu_bg[15];
|
||||
QUrl menuUrl[13];
|
||||
|
30
widget.ui
30
widget.ui
@ -934,8 +934,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>299</width>
|
||||
<height>815</height>
|
||||
<width>298</width>
|
||||
<height>814</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_17">
|
||||
@ -1000,7 +1000,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1" rowspan="2">
|
||||
<item row="5" column="1" rowspan="2">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
@ -1054,7 +1054,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3" rowspan="4">
|
||||
<item row="1" column="3" rowspan="5">
|
||||
<widget class="QLabel" name="label_info">
|
||||
<property name="font">
|
||||
<font>
|
||||
@ -1088,6 +1088,13 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="text">
|
||||
<string>卸载</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
@ -1165,8 +1172,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>376</width>
|
||||
<height>325</height>
|
||||
<width>351</width>
|
||||
<height>38</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
@ -1306,8 +1313,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>807</width>
|
||||
<height>595</height>
|
||||
<width>765</width>
|
||||
<height>662</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_23">
|
||||
@ -1403,7 +1410,10 @@
|
||||
<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></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -1465,7 +1475,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>我们并不是官方团队,和你一样,我们也只是众多Linux/deepin系统爱好者和用户之中的一员,我们开发并且运营这个“星火应用商店”,是为了让社区的朋友们一起分享好用的软件,或者一起参与开发,让大家都用到最新的,最优秀的软件。</p><p>如果你也想参与我们,不管是参与开发,设计,投递还是投稿作品,我们都欢迎你的加入。</p><p>QQ群:872690351<br/></p></body></html></string>
|
||||
<string><html><head/><body><p>我们并不是官方团队,和你一样,我们也只是众多Linux/deepin系统爱好者和用户之中的一员,我们开发并且运营这个“Spark应用商店”,是为了让社区的朋友们一起分享好用的软件,或者一起参与开发,让大家都用到最新的,最优秀的软件。</p><p>我们并没有因此盈利,所有开发和维护人员都不会获得报酬,我们的主要支出大部分依赖于社区对我们的捐助,很感谢大家,这部分捐助让我们并不需要耗费太多精力去担心资金问题。</p><p>我们的服务和开发的软件都是免费供给大家使用,交流,学习的,但是在您的使用过程中一定要遵守当地的法律法规,否则出现任何问题和我们无关。</p><p>如果商店中任何一部分有侵犯您权益的行为,请告知我们&lt;jifengshenmo@outlook.com&gt;,我们会第一时间删除侵权内容。</p><p>如果你也想参与我们,不管是参与开发,设计,投递还是投稿作品,我们都欢迎你的加入。</p><p>QQ群:872690351<br/></p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
|
Loading…
x
Reference in New Issue
Block a user