Skip to content

Commit

Permalink
refactor: update uab append fails tips
Browse files Browse the repository at this point in the history
As title.

Log: update uab append fails tips
Influence: uab-package
  • Loading branch information
rb-union committed Oct 9, 2024
1 parent a649c07 commit dce608e
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 42 deletions.
2 changes: 1 addition & 1 deletion src/deb-installer/manager/AddPackageThread.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class AddPackageThread : public QThread
void signalAppendFinished();

// Manange package insert failed reason.
void signalAppendFailMessage(Pkg::AppendFailReason reason);
void signalAppendFailMessage(Pkg::AppendFailReason reason, Pkg::PackageType type = Pkg::Deb);

private:
// 要添加的软件包列表
Expand Down
22 changes: 2 additions & 20 deletions src/deb-installer/manager/packagesmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ PackageDependsStatus PackagesManager::getPackageDependsStatus(const int index)
break;
}

if (!m_dependInstallMark.contains(currentPackageMd5)) {
if (!m_dependInstallMark.contains(currentPackageMd5)) {
// replace the marker that the depends error
GlobalStatus::setWinePreDependsInstalling(true);

Expand Down Expand Up @@ -1537,25 +1537,7 @@ void PackagesManager::appendNoThread(const QStringList &packages, int allPackage
void PackagesManager::refreshPage(int validPkgCount)
{
// 获取当前已经添加到程序中的包的数量
int packageCount = m_preparedPackages.size();
// if (1 == packageCount) { //当前程序中只添加了一个包
// if (1 == validPkgCount) { //此次只有一个包将会被添加的程序中
// emit signalRefreshSinglePage(); //刷新单包安装界面

// } else if (validPkgCount > 1) { //当前程序中值添加了一个包,但是这次有不止一个包将会被添加到程序中
// emit signalSingle2MultiPage(); //刷新批量安装界面
// emit signalAppendStart(); //开始批量添加
// }
// } else if (2 == packageCount) {
// //当前程序中已经添加了两个包
// //1.第一次是添加了一个包,第二次又添加了多于一个包
// emit signalSingle2MultiPage(); //刷新批量安装界面
// emit signalAppendStart(); //发送批量添加信号
// } else {
// //此时批量安装界面已经刷新过。如果再添加,就只刷新model
// emit signalRefreshMultiPage();
// emit signalAppendStart();
// }
const int packageCount = m_preparedPackages.size();

Q_EMIT signalPackageCountChanged(packageCount);
// If current first append and only one package, will append directly.
Expand Down
2 changes: 1 addition & 1 deletion src/deb-installer/manager/packagesmanager.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ public slots:
////添加包相关信号
signals:
// Manange package insert failed reason.
void signalAppendFailMessage(Pkg::AppendFailReason reason);
void signalAppendFailMessage(Pkg::AppendFailReason reason, Pkg::PackageType type = Pkg::Deb);

/**
* @brief appendStart 批量安装开始添加包的信号
Expand Down
2 changes: 1 addition & 1 deletion src/deb-installer/model/abstract_package_list_model.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class AbstractPackageListModel : public QAbstractListModel
void signalAppendStart();
void signalAppendFinished();
// manange package insert failed reason
void signalAppendFailMessage(Pkg::AppendFailReason reason);
void signalAppendFailMessage(Pkg::AppendFailReason reason, Pkg::PackageType type = Pkg::Deb);
// manage package appended and remove
void signalPackageCountChanged(int count);

Expand Down
8 changes: 4 additions & 4 deletions src/deb-installer/uab/uab_package_list_model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -447,23 +447,23 @@ UabPackage::Ptr UabPackageListModel::preCheckPackage(const QString &packagePath)
auto readablilty = Utils::checkPackageReadable(packagePath);
switch (readablilty) {
case Pkg::PkgNotInLocal:
Q_EMIT signalAppendFailMessage(Pkg::PackageNotLocal);
Q_EMIT signalAppendFailMessage(Pkg::PackageNotLocal, Pkg::Uab);
return {};
case Pkg::PkgNoPermission:
Q_EMIT signalAppendFailMessage(Pkg::PackageNotInstallable);
Q_EMIT signalAppendFailMessage(Pkg::PackageNotInstallable, Pkg::Uab);
return {};
default:
break;
}

auto uabPtr = Uab::UabPackage::fromFilePath(packagePath);
if (!uabPtr || !uabPtr->isValid()) {
Q_EMIT signalAppendFailMessage(Pkg::PackageInvalid);
Q_EMIT signalAppendFailMessage(Pkg::PackageInvalid, Pkg::Uab);
return {};
}

if (packageExists(uabPtr)) {
Q_EMIT signalAppendFailMessage(Pkg::PackageAlreadyExists);
Q_EMIT signalAppendFailMessage(Pkg::PackageAlreadyExists, Pkg::Uab);
return {};
}

Expand Down
20 changes: 10 additions & 10 deletions src/deb-installer/view/pages/debinstaller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -691,17 +691,17 @@ void DebInstaller::refreshMulti()
MulRefreshPage();
}

void DebInstaller::slotReceiveAppendFailed(Pkg::AppendFailReason reason)
void DebInstaller::slotReceiveAppendFailed(Pkg::AppendFailReason reason, Pkg::PackageType type)
{
switch (reason) {
case Pkg::PackageInvalid:
slotShowInvalidePackageMessage();
slotShowInvalidePackageMessage(type);
break;
case Pkg::PackageNotDdim:
slotShowDdimFloatingMessage(tr("Installing other packages... Please open it later."));
break;
case Pkg::PackageNotLocal:
slotShowNotLocalPackageMessage();
slotShowNotLocalPackageMessage(type);
break;
case Pkg::PackageNotInstallable:
slotShowNotInstallablePackageMessage();
Expand All @@ -714,28 +714,28 @@ void DebInstaller::slotReceiveAppendFailed(Pkg::AppendFailReason reason)
}
}

void DebInstaller::slotShowInvalidePackageMessage()
void DebInstaller::slotShowInvalidePackageMessage(Pkg::PackageType type)
{
DFloatingMessage *floatingMsg = new DFloatingMessage;
floatingMsg->setMessage(tr("The deb package may be broken"));
floatingMsg->setMessage(tr("The %1 package may be broken").arg(Pkg::Uab == type ? "uab" : "deb"));
floatingMsg->setIcon(QIcon::fromTheme("di_warning"));
DMessageManager::instance()->sendMessage(this, floatingMsg); // 如果损坏,提示
DMessageManager::instance()->sendMessage(this, floatingMsg);
}

void DebInstaller::slotShowNotLocalPackageMessage()
void DebInstaller::slotShowNotLocalPackageMessage(Pkg::PackageType type)
{
DFloatingMessage *floatingMsg = new DFloatingMessage;
floatingMsg->setMessage(tr("You can only install local deb packages"));
floatingMsg->setMessage(tr("You can only install local %1 packages").arg(Pkg::Uab == type ? "uab" : "deb"));
floatingMsg->setIcon(QIcon::fromTheme("di_warning"));
DMessageManager::instance()->sendMessage(this, floatingMsg); // 如果损坏,提示
DMessageManager::instance()->sendMessage(this, floatingMsg);
}

void DebInstaller::slotShowNotInstallablePackageMessage()
{
DFloatingMessage *floatingMsg = new DFloatingMessage;
floatingMsg->setMessage(tr("No permission to access this folder"));
floatingMsg->setIcon(QIcon::fromTheme("di_warning"));
DMessageManager::instance()->sendMessage(this, floatingMsg); // 如果损坏,提示
DMessageManager::instance()->sendMessage(this, floatingMsg);
}

void DebInstaller::slotShowPkgExistMessage()
Expand Down
6 changes: 3 additions & 3 deletions src/deb-installer/view/pages/debinstaller.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,17 +71,17 @@ private slots:
void slotDdimSelected(const QStringList &ddimFiles);

// Append package failed, show floating message based on diff error.
void slotReceiveAppendFailed(Pkg::AppendFailReason reason);
void slotReceiveAppendFailed(Pkg::AppendFailReason reason, Pkg::PackageType type);

/**
* @brief slotShowInvalidePackageMessage 弹出无效包的消息通知
*/
void slotShowInvalidePackageMessage();
void slotShowInvalidePackageMessage(Pkg::PackageType type);

/**
* @brief slotShowNotLocalPackageMessage 弹出不是本地包的消息通知
*/
void slotShowNotLocalPackageMessage();
void slotShowNotLocalPackageMessage(Pkg::PackageType type);

/**
* @brief slotShowNotInstallablePackageMessage 弹出无安装权限的消息通知
Expand Down
4 changes: 2 additions & 2 deletions tests/src/view/pages/ut_debinstaller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,9 @@ void stub_enableCloseAndExit()

TEST_F(UT_Debinstaller, UT_Debinstaller_total)
{
deb->slotShowInvalidePackageMessage();
deb->slotShowInvalidePackageMessage(Pkg::Deb);
deb->slotShowPkgExistMessage();
deb->slotShowNotLocalPackageMessage();
deb->slotShowNotLocalPackageMessage(Pkg::Deb);
deb->slotShowPkgRemovedMessage("00");
EXPECT_EQ(deb->backToSinglePage(), nullptr);
}
Expand Down

0 comments on commit dce608e

Please sign in to comment.