Compare commits

...

1 Commits

Author SHA1 Message Date
5b55646789 修改: debian/changelog
修改:     debian/control
	修改:     src/main.cpp
	修改:     src/widget.cpp
	新文件:   tool/btinst
	修改:     translations/spark-store_zh_CN.ts
2022-04-03 17:44:39 +08:00
6 changed files with 65 additions and 54 deletions

13
debian/changelog vendored
View File

@@ -1,12 +1,5 @@
spark-store (3.0.3-10) stable; urgency=medium
spark-store (3.0.3-11~bt) stable; urgency=medium
* BT test 01
* Now also compile dstore patch
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-9) stable; urgency=medium
* Support dpkg-buildpackage
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800

3
debian/control vendored
View File

@@ -32,6 +32,7 @@ Depends:${shlibs:Depends}, ${misc:Depends},
libdtkcore5,
libdtkgui5,
libdtkwidget5,
libnotify4
libnotify4,
aria2
Description: Spark Store
A community powered app store, based on DTK.

View File

@@ -1,7 +1,7 @@
#include <DApplication>
#include <DApplicationSettings>
#include <DWidgetUtil> // Dtk::Widget::moveToCenter(&w); 要调用它,就得引用 DWidgetUtil
#include <DAboutDialog>
#include <QScreen>
#include "widget.h"
@@ -16,33 +16,12 @@ int main(int argc, char *argv[])
a.setAttribute(Qt::AA_UseHighDpiPixmaps);
a.loadTranslator(); // 载入翻译
/* Customized DAboutDialog (Can't work on other distro like Ubuntu...)
*
* DAboutDialog dialog;
* a.setAboutDialog(&dialog);
* dialog.setLicense(QObject::tr("We publish this program under GPL V3"));
* dialog.setVersion(DApplication::buildVersion("Version 2.0.2.5"));
* 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 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>"
* )
* );
* dialog.setProductName(QLabel::tr("Spark Store"));
* dialog.setCompanyLogo(QPixmap(":/Logo-Spark.png"));
* dialog.setWebsiteName(QObject::tr("The Spark Project"));
* dialog.setWebsiteLink("https://gitee.com/deepin-community-store");
*/
a.setProductName(QLabel::tr("Spark Store"));
a.setProductIcon(QIcon::fromTheme("spark-store")); //设置Logo
a.setOrganizationName("spark-union");
a.setOrganizationDomain("https://www.deepinos.org/");
a.setApplicationName("Spark Store"); //不需要翻译,否则 ~/.local/share/ 下文件夹名称也被翻译为中文
a.setApplicationVersion(DApplication::buildVersion("3.0.3-10"));
a.setApplicationVersion(DApplication::buildVersion("3.0.3-11~bt"));
a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store");
a.setApplicationDescription(
QObject::tr(

View File

@@ -18,7 +18,7 @@
#include <QSettings>
#include <QGraphicsOpacityEffect>
#include <QtConcurrent> // 并发
#include <QDebug>
#include <DApplication>
#include <DGuiApplicationHelper>
#include <DDialog>
@@ -606,19 +606,39 @@ void Widget::updatefoot()
void Widget::on_pushButton_download_clicked()
{
chooseLeftMenu(13);
// chooseLeftMenu(13);
allDownload += 1;
// allDownload += 1;
QFileInfo info(url.path());
QString fileName(info.fileName()); // 获取文件名
download_list[allDownload - 1].pkgName = pkgName;
if(fileName.isEmpty())
{
sendNotification(tr("Failed to get the name to the file to be downloaded."));
return;
}
// download_list[allDownload - 1].pkgName = pkgName;
QString downloadurl(url.path());
downloadurl.remove(0,2);
//日了获取serverurl那么远。。。直接写死了反正在测试
downloadurl.prepend("https://d.store.deepinos.org.cn");
qInfo()<<"下载链接拼接之后是"<<downloadurl<<"注意这里的serverUrl是写死的正式上线不要用"<<endl;
QString btUrl = downloadurl + ".torrent";
qInfo()<<"合成的bt链接是"<<btUrl<<endl;
qInfo()<<"虽然很奇怪这个链接为什么要这样处理但是确实能获取到的filename是"<<fileName<<endl;
QtConcurrent::run([=]()
{
ui->pushButton_download->setEnabled(false);
QProcess btinst;
btinst.start("x-terminal-emulator", QStringList() << "-e" << "/opt/durapps/spark-store/bin/btinst" << btUrl << fileName);
btinst.waitForFinished();
ui->pushButton_download->setEnabled(true);
});
/*
download_list[allDownload - 1].setParent(ui->listWidget);
QListWidgetItem *item = new QListWidgetItem(ui->listWidget);
item->setSizeHint(download_list[allDownload - 1].size());
@@ -632,29 +652,24 @@ void Widget::on_pushButton_download_clicked()
icon.load("/tmp/spark-store/icon.png", "PNG");
system("cp /tmp/spark-store/icon.png /tmp/spark-store/icon_" + QString::number(allDownload - 1).toUtf8() + ".png");
download_list[allDownload - 1].seticon(icon);
*/
/*
if(!isBusy)
{
/*
file = new QFile(fileName);
if(!file->open(QIODevice::WriteOnly))
{
delete file;
file = nullptr;
return;
}
*/
nowDownload += 1;
startRequest(urList.at(nowDownload - 1), fileName); // 进行链接请求
}
*/
if(ui->pushButton_download->text() == tr("Reinstall"))
{
download_list[allDownload - 1].reinstall = true;
}
}
void Widget::startRequest(QUrl url, QString fileName)
{
ui->listWidget->show();
@@ -869,6 +884,8 @@ void Widget::sltAppinfoTags(QStringList *tagList)
}
}
// 在这里添加选择新的json项目比如bt专用链接
void Widget::sltAppinfoDetails(QString *name, QString *details, QString *info,
QString *website, QString *packageName, QUrl *fileUrl,
bool isInstalled, bool isUpdated)

21
tool/btinst Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
# 第一个参数固定是bittorrent下载链接或者magnet
# 第二个参数就是文件名
export DISPLAY=:0
export XAUTHORITY=/home/shenmo/.Xauthority
if [ -x /tmp/spark-store/$2 ];then
rm /tmp/spark-store/$2
echo "检测到之前下载了软件包,未避免不能覆盖,先删除"
fi
mkdir -p /tmp/spark-store
cd /tmp/spark-store
echo "开始下载软件包"
aria2c "$1"
echo "安装"
pkexec ssinstall "/tmp/spark-store/$2"
echo 安装结束,按回车关闭窗口
read
exit 0

View File

@@ -193,7 +193,7 @@
<location filename="../src/widget.cpp" line="902"/>
<location filename="../src/widget.cpp" line="1171"/>
<source>Install</source>
<translation></translation>
<translation>bt下载</translation>
</message>
<message>
<location filename="../src/widget.ui" line="313"/>