1 Star 1 Fork 0

zinface/learning_deepin-deb-installer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
debinstaller.cpp 2.37 KB
一键复制 编辑 原始数据 按行查看 历史
zinface 提交于 2019-11-13 09:48 +08:00 . clean unused files. 清理未使用的文件
#include "debinstaller.h"
#include "deblistmodel.h"
#include "singleinstallpage.h"
#include "multipleinstallpage.h"
#include <QtGui>
#include <QCoreApplication>
#include <QGuiApplication>
#include <QScreen>
#include <QApt/DebFile>
using QApt::DebFile;
DWIDGET_USE_NAMESPACE
DebInstaller::DebInstaller(QWidget *parent)
: QWidget(parent),
m_centralLayout(new QStackedLayout),
m_fileChooseWidget(new FileChooseWidget),
m_fileListModel(new DebListModel(this))
{
m_centralLayout->addWidget(m_fileChooseWidget);
setLayout(m_centralLayout);
setFixedSize(480, 380);
setWindowTitle("MDM Deb Installer");
setWindowIcon(QIcon(":/images/icon.png"));
move(qApp->primaryScreen()->geometry().center() - geometry().center());
connect(m_fileChooseWidget, &FileChooseWidget::packagesSelected, this, &DebInstaller::onPackagesSelected);
connect(m_fileListModel, &DebListModel::appendOutputInfo, this, &DebInstaller::onOutputPrinted);
}
DebInstaller::~DebInstaller()
{
}
void DebInstaller::keyPressEvent(QKeyEvent *event)
{
switch (event->key()) {
case Qt::Key_Escape: qApp->quit(); break;
default:;
}
}
void DebInstaller::onPackagesSelected(const QStringList &packages)
{
Q_ASSERT(m_fileListModel->preparedPackages().isEmpty());
for (const auto &package : packages)
{
DebFile *p = new DebFile(package);
if (!p->isValid()) {
qWarning() << "package invalid: " << p->filePath();
delete p;
continue;
}
m_fileListModel->appendPackage(p);
}
const int packageCount = m_fileListModel->preparedPackages().size();
// no packages found
if(packageCount == 0)
return;
if (packageCount == 1) {
// single package install
// SingleInstallPage *singlePage = new SingleInstallPage;
// singlePage->setPackage(m_fileListModel->preparedPackages().first());
SingleInstallPage *singlePage = new SingleInstallPage(m_fileListModel);
m_centralLayout->addWidget(singlePage);
} else {
// multiple package installA
MultipleInstallPage *multiplePage = new MultipleInstallPage(m_fileListModel);
m_centralLayout->addWidget(multiplePage);
}
// switch to new page
m_centralLayout->setCurrentIndex(1);
}
void DebInstaller::onOutputPrinted(const QString &output) const
{
qDebug() << output;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zinface/learning_deepin-deb-installer.git
git@gitee.com:zinface/learning_deepin-deb-installer.git
zinface
learning_deepin-deb-installer
learning_deepin-deb-installer
master

搜索帮助