mirror of
https://github.com/oguzhaninan/Stacer.git
synced 2026-04-20 06:26:59 -04:00
fixed dpkg get packages
This commit is contained in:
@@ -27,7 +27,8 @@ QStringList PackageTool::getDpkgPackages()
|
||||
try {
|
||||
packageList = CommandUtil::exec("bash", {"-c", "dpkg --get-selections 2> /dev/null"})
|
||||
.trimmed()
|
||||
.split("\n");
|
||||
.split('\n')
|
||||
.filter(QRegExp("\\s+install$"));
|
||||
|
||||
for (int i = 0; i < packageList.count(); ++i)
|
||||
packageList[i] = packageList.at(i).split(QRegExp("\\s+")).first();
|
||||
@@ -66,7 +67,7 @@ QStringList PackageTool::getRpmPackages()
|
||||
try {
|
||||
packageList = CommandUtil::exec("bash", {"-c", "rpm -qa 2> /dev/null"})
|
||||
.trimmed()
|
||||
.split("\n");
|
||||
.split('\n');
|
||||
|
||||
} catch(QString &ex) {
|
||||
qCritical() << ex;
|
||||
@@ -126,7 +127,7 @@ QStringList PackageTool::getPacmanPackages()
|
||||
try {
|
||||
packageList = CommandUtil::exec("bash", {"-c", "pacman -Q 2> /dev/null"})
|
||||
.trimmed()
|
||||
.split("\n");
|
||||
.split('\n');
|
||||
|
||||
for (int i = 0; i < packageList.count(); ++i)
|
||||
packageList[i] = packageList.at(i).split(QRegExp("\\s+")).first();
|
||||
|
||||
@@ -81,7 +81,7 @@ QFileInfoList ToolManager::getPackageCaches() const
|
||||
|
||||
void ToolManager::uninstallPackages(const QStringList &packages)
|
||||
{
|
||||
uninstallStarted();
|
||||
emit uninstallStarted();
|
||||
|
||||
switch (PackageTool::currentPackageTool) {
|
||||
case PackageTool::PackageTools::APT:
|
||||
@@ -100,7 +100,7 @@ void ToolManager::uninstallPackages(const QStringList &packages)
|
||||
break;
|
||||
}
|
||||
|
||||
uninstallFinished();
|
||||
emit uninstallFinished();
|
||||
}
|
||||
|
||||
/******************
|
||||
|
||||
@@ -28,20 +28,20 @@ void UninstallerPage::init()
|
||||
|
||||
QtConcurrent::run(this, &UninstallerPage::loadPackages);
|
||||
|
||||
connect(tm, &ToolManager::uninstallFinished, this, &UninstallerPage::loadPackages);
|
||||
connect(tm, &ToolManager::uninstallStarted, this, &UninstallerPage::uninstallStarted);
|
||||
connect(tm, &ToolManager::uninstallFinished, this, &UninstallerPage::loadPackages);
|
||||
}
|
||||
|
||||
void UninstallerPage::loadPackages()
|
||||
{
|
||||
uninstallStarted();
|
||||
emit uninstallStarted();
|
||||
|
||||
// clear items
|
||||
ui->packagesList->clear();
|
||||
|
||||
QIcon icon(QString(":/static/themes/%1/img/package.svg").arg(AppManager::ins()->getThemeName()));
|
||||
for (const QString &package : tm->getPackages())
|
||||
{
|
||||
QStringList packages = tm->getPackages();
|
||||
for (const QString &package : packages) {
|
||||
QListWidgetItem *item = new QListWidgetItem(QIcon::fromTheme(package, icon), QString(" %1").arg(package));
|
||||
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
@@ -52,7 +52,6 @@ void UninstallerPage::loadPackages()
|
||||
|
||||
ui->packagesList->setEnabled(true);
|
||||
ui->packageSearch->setEnabled(true);
|
||||
ui->uninstallBtn->show();
|
||||
ui->packageSearch->clear();
|
||||
|
||||
ui->loading->hide();
|
||||
@@ -65,6 +64,7 @@ void UninstallerPage::setAppCount()
|
||||
ui->packagesTitle->setText(tr("System Installed Packages (%1)").arg(count));
|
||||
|
||||
ui->notFoundWidget->setVisible(! count);
|
||||
ui->uninstallBtn->setVisible(count);
|
||||
ui->packagesList->setVisible(count);
|
||||
}
|
||||
|
||||
@@ -87,8 +87,7 @@ void UninstallerPage::on_uninstallBtn_clicked()
|
||||
{
|
||||
QStringList selectedPackages = getSelectedPackages();
|
||||
|
||||
if(! selectedPackages.isEmpty())
|
||||
{
|
||||
if(! selectedPackages.isEmpty()) {
|
||||
QtConcurrent::run([selectedPackages]() -> void {
|
||||
ToolManager::ins()->uninstallPackages(selectedPackages);
|
||||
});
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>916</width>
|
||||
<height>553</height>
|
||||
<width>935</width>
|
||||
<height>585</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -31,6 +31,12 @@
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="verticalWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
@@ -50,46 +56,96 @@
|
||||
<property name="spacing">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QListWidget" name="packagesList">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
<item row="0" column="0" colspan="2" alignment="Qt::AlignTop">
|
||||
<widget class="QWidget" name="horizontalWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item alignment="Qt::AlignLeft|Qt::AlignTop">
|
||||
<widget class="QLabel" name="packagesTitle">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>11</pointsize>
|
||||
<italic>false</italic>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>System Installed Packages</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item alignment="Qt::AlignRight|Qt::AlignTop">
|
||||
<widget class="QLineEdit" name="packageSearch">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Search...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2" alignment="Qt::AlignHCenter">
|
||||
<widget class="QLabel" name="loading">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="autoScrollMargin">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="textElideMode">
|
||||
<enum>Qt::ElideMiddle</enum>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="uniformItemSizes">
|
||||
<bool>false</bool>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -133,7 +189,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<item row="1" column="0" colspan="2" alignment="Qt::AlignTop">
|
||||
<widget class="QWidget" name="notFoundWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
@@ -174,6 +230,12 @@
|
||||
</property>
|
||||
<item alignment="Qt::AlignHCenter|Qt::AlignBottom">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Not Found Installed Packages</string>
|
||||
</property>
|
||||
@@ -182,103 +244,46 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QWidget" name="horizontalWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QListWidget" name="packagesList">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item alignment="Qt::AlignLeft">
|
||||
<widget class="QLabel" name="packagesTitle">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>11</pointsize>
|
||||
<italic>false</italic>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>System Installed Packages</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item alignment="Qt::AlignRight|Qt::AlignVCenter">
|
||||
<widget class="QLineEdit" name="packageSearch">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Search...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2" alignment="Qt::AlignHCenter">
|
||||
<widget class="QLabel" name="loading">
|
||||
<property name="text">
|
||||
<string/>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="autoScrollMargin">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="textElideMode">
|
||||
<enum>Qt::ElideMiddle</enum>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="uniformItemSizes">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user