From 56ee757b387147b1bd3b2ceeb59635f7e5495530 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 2 Apr 2017 14:24:41 +0100 Subject: publish new PyQt5 code --- system.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 system.py (limited to 'system.py') diff --git a/system.py b/system.py new file mode 100755 index 0000000..628446a --- /dev/null +++ b/system.py @@ -0,0 +1,50 @@ +#!/usr/bin/python3 +import sys, subprocess, sqlite3 +from PyQt5 import QtCore, QtGui, QtWidgets, uic + +class System(QtWidgets.QMainWindow): + def __init__(self): + super(System, self).__init__() + uic.loadUi('ui/system.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_system.item(self.table_system.currentRow(), 1).text() + subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + + def uninstall_package(self): + pkgname = self.table_system.item(self.table_system.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_system.insertRow(inx) + self.table_system.setItem(inx, 0, QtWidgets.QTableWidgetItem(row[0])) + self.table_system.setItem(inx, 1, QtWidgets.QTableWidgetItem(row[1])) + self.table_system.setItem(inx, 2, QtWidgets.QTableWidgetItem(row[2])) + self.table_system.setItem(inx, 3, QtWidgets.QTableWidgetItem(row[3])) + self.table_system.setItem(inx, 4, QtWidgets.QTableWidgetItem(row[4])) -- cgit v1.2.3