summaryrefslogtreecommitdiff
path: root/everything.py
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-04-02 14:24:41 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-04-02 14:24:41 +0100
commit56ee757b387147b1bd3b2ceeb59635f7e5495530 (patch)
tree630157f3f4ac4875a27cc15aacf0aceff19aaf9f /everything.py
parent8c8de75b54aac5585996e1cb80fe72c27a4e8c84 (diff)
publish new PyQt5 code
Diffstat (limited to 'everything.py')
-rwxr-xr-xeverything.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/everything.py b/everything.py
new file mode 100755
index 0000000..2e55955
--- /dev/null
+++ b/everything.py
@@ -0,0 +1,50 @@
+#!/usr/bin/python3
+import sys, subprocess, sqlite3
+from PyQt5 import QtCore, QtGui, QtWidgets, uic
+
+class Everything(QtWidgets.QMainWindow):
+ def __init__(self):
+ super(Everything, self).__init__()
+ uic.loadUi('ui/everything.ui', self)
+ self.centerOnScreen()
+ self.show()
+ self.load_packages()
+
+ self.package_install.clicked.connect(self.install_package)
+ self.package_uninstall.clicked.connect(self.uninstall_package)
+ self.orphans_remove.clicked.connect(self.remove_orphans)
+ self.category_exit.clicked.connect(self.exit_category)
+
+ def centerOnScreen(self):
+ resolution = QtWidgets.QDesktopWidget().screenGeometry()
+ self.move((resolution.width() / 2) - (self.frameSize().width() / 2),
+ (resolution.height() / 2) - (self.frameSize().height() / 2))
+
+ def install_package(self):
+ pkgname = self.table_everything.item(self.table_everything.currentRow(), 1).text()
+ subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split())
+
+ def uninstall_package(self):
+ pkgname = self.table_everything.item(self.table_everything.currentRow(), 1).text()
+ subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split())
+
+ def remove_orphans(self):
+ subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean'])
+
+ def exit_category(self):
+ self.close()
+
+ def load_packages(self):
+ with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db:
+ cursor=db.cursor()
+ cursor.execute('''SELECT * from remote_packages''')
+ rows = cursor.fetchall()
+
+ for row in rows:
+ inx = rows.index(row)
+ self.table_everything.insertRow(inx)
+ self.table_everything.setItem(inx, 0, QtWidgets.QTableWidgetItem(row[0]))
+ self.table_everything.setItem(inx, 1, QtWidgets.QTableWidgetItem(row[1]))
+ self.table_everything.setItem(inx, 2, QtWidgets.QTableWidgetItem(row[2]))
+ self.table_everything.setItem(inx, 3, QtWidgets.QTableWidgetItem(row[3]))
+ self.table_everything.setItem(inx, 4, QtWidgets.QTableWidgetItem(row[4]))