From 5884b2fb2b1d434103af5f1b594f8407d338265f Mon Sep 17 00:00:00 2001 From: Branislav Blaskovic Date: Aug 06 2013 20:08:22 +0000 Subject: Karma user filter enhancement --- diff --git a/src/fedora-gooey-karma b/src/fedora-gooey-karma index d8a9877..240ac5a 100755 --- a/src/fedora-gooey-karma +++ b/src/fedora-gooey-karma @@ -23,6 +23,7 @@ # Author: Tomas Meszaros import os +import re import sys sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '../share/fedora-gooey-karma')) @@ -84,7 +85,7 @@ class MainWindow(QtGui.QMainWindow): self.ui.tabWidget.setCurrentIndex(0) self.ui.tabWidget_side.setCurrentIndex(0) self.ui.toolBoxWhatToTest.setCurrentIndex(0) - self.ui.karmaUsernameEdit.setVisible(False) + self.ui.karmaFilterWidget.setVisible(False) self.toolbox.update_favorite_ignored_pkg_lists() # Progress bar @@ -111,6 +112,7 @@ class MainWindow(QtGui.QMainWindow): self.ui.treeWidget_related_packages.itemDoubleClicked.connect(self.webbrowser.show_relevant_pkg_in_browser, QtCore.Qt.QueuedConnection) self.ui.treeWidget_test_cases.itemDoubleClicked.connect(self.webbrowser.show_testcase_in_browser, QtCore.Qt.QueuedConnection) self.ui.karmaCheckBox.stateChanged.connect(self.__populate_pkgList, QtCore.Qt.QueuedConnection) + self.ui.karmaFilterUserCombo.currentIndexChanged.connect(self.__populate_pkgList, QtCore.Qt.QueuedConnection) self.ui.karmaUsernameEdit.textChanged.connect(self.__populate_pkgList, QtCore.Qt.QueuedConnection) self.ui.sendBtn.clicked.connect(self.__send_comment, QtCore.Qt.QueuedConnection) ## Package settings @@ -409,11 +411,21 @@ class MainWindow(QtGui.QMainWindow): return False ## Karma submitted filter - karma_username = self.ui.karmaUsernameEdit.text() - if self.ui.karmaCheckBox.isChecked(): - for comment in update['formatted_comments']: - if comment['author'] == karma_username: - return False + if self.ui.karmaCheckBox.isChecked() and len(self.ui.karmaUsernameEdit.text()) > 0: + karma_username = self.ui.karmaUsernameEdit.text() + ### If there is 'not submitted' in combobox + if re.search('not', str(self.ui.karmaFilterUserCombo.currentText())): + print 'not submitted' + for comment in update['formatted_comments']: + if comment['author'] == karma_username: + return False + else: + print 'submitted' + for comment in update['formatted_comments']: + if comment['author'] == karma_username: + return True + # Not found a comment by this user? + return False return True diff --git a/src/mainwindow_gui.py b/src/mainwindow_gui.py index 4845d98..2a18c5d 100644 --- a/src/mainwindow_gui.py +++ b/src/mainwindow_gui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui/mainwindow.ui' # -# Created: Fri Aug 2 02:19:33 2013 +# Created: Tue Aug 6 21:50:14 2013 # by: pyside-uic 0.2.13 running on PySide 1.1.0 # # WARNING! All changes made in this file will be lost! @@ -46,12 +46,25 @@ class Ui_MainWindow(object): self.searchEdit.setObjectName("searchEdit") self.verticalLayout_5.addWidget(self.searchEdit) self.karmaCheckBox = QtGui.QCheckBox(self.groupBox) + self.karmaCheckBox.setChecked(False) self.karmaCheckBox.setObjectName("karmaCheckBox") self.verticalLayout_5.addWidget(self.karmaCheckBox) - self.karmaUsernameEdit = QtGui.QLineEdit(self.groupBox) + self.karmaFilterWidget = QtGui.QWidget(self.groupBox) + self.karmaFilterWidget.setMinimumSize(QtCore.QSize(0, 0)) + self.karmaFilterWidget.setObjectName("karmaFilterWidget") + self.verticalLayout_8 = QtGui.QVBoxLayout(self.karmaFilterWidget) + self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_8.setObjectName("verticalLayout_8") + self.karmaFilterUserCombo = QtGui.QComboBox(self.karmaFilterWidget) + self.karmaFilterUserCombo.setObjectName("karmaFilterUserCombo") + self.karmaFilterUserCombo.addItem("") + self.karmaFilterUserCombo.addItem("") + self.verticalLayout_8.addWidget(self.karmaFilterUserCombo) + self.karmaUsernameEdit = QtGui.QLineEdit(self.karmaFilterWidget) self.karmaUsernameEdit.setDragEnabled(False) self.karmaUsernameEdit.setObjectName("karmaUsernameEdit") - self.verticalLayout_5.addWidget(self.karmaUsernameEdit) + self.verticalLayout_8.addWidget(self.karmaUsernameEdit) + self.verticalLayout_5.addWidget(self.karmaFilterWidget) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.installedBtn = QtGui.QPushButton(self.groupBox) @@ -379,9 +392,9 @@ class Ui_MainWindow(object): self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(1) self.toolBoxWhatToTest.setCurrentIndex(3) - self.tabWidget_side.setCurrentIndex(2) + self.tabWidget_side.setCurrentIndex(1) self.karmaBox.setCurrentIndex(1) - QtCore.QObject.connect(self.karmaCheckBox, QtCore.SIGNAL("toggled(bool)"), self.karmaUsernameEdit.setVisible) + QtCore.QObject.connect(self.karmaCheckBox, QtCore.SIGNAL("toggled(bool)"), self.karmaFilterWidget.setShown) QtCore.QMetaObject.connectSlotsByName(MainWindow) MainWindow.setTabOrder(self.karmaBox, self.sendBtn) MainWindow.setTabOrder(self.sendBtn, self.loadPackagesBtn) @@ -394,7 +407,9 @@ class Ui_MainWindow(object): MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Fedora Gooey Karma", None, QtGui.QApplication.UnicodeUTF8)) self.groupBox.setTitle(QtGui.QApplication.translate("MainWindow", "Filter", None, QtGui.QApplication.UnicodeUTF8)) self.searchEdit.setPlaceholderText(QtGui.QApplication.translate("MainWindow", "Search packages...", None, QtGui.QApplication.UnicodeUTF8)) - self.karmaCheckBox.setText(QtGui.QApplication.translate("MainWindow", "karma not submitted by user", None, QtGui.QApplication.UnicodeUTF8)) + self.karmaCheckBox.setText(QtGui.QApplication.translate("MainWindow", "Karma filter", None, QtGui.QApplication.UnicodeUTF8)) + self.karmaFilterUserCombo.setItemText(0, QtGui.QApplication.translate("MainWindow", "Karma not submitted by user", None, QtGui.QApplication.UnicodeUTF8)) + self.karmaFilterUserCombo.setItemText(1, QtGui.QApplication.translate("MainWindow", "Karma submitted by user", None, QtGui.QApplication.UnicodeUTF8)) self.karmaUsernameEdit.setPlaceholderText(QtGui.QApplication.translate("MainWindow", "username for karma filter", None, QtGui.QApplication.UnicodeUTF8)) self.installedBtn.setText(QtGui.QApplication.translate("MainWindow", "Installed", None, QtGui.QApplication.UnicodeUTF8)) self.availableBtn.setText(QtGui.QApplication.translate("MainWindow", "Available", None, QtGui.QApplication.UnicodeUTF8)) diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui index cfba881..47c15d3 100644 --- a/src/ui/mainwindow.ui +++ b/src/ui/mainwindow.ui @@ -64,18 +64,47 @@ - karma not submitted by user + User filter + + + false - - - false - - - username for karma filter + + + + 0 + 0 + + + + + + + Karma not submitted by user + + + + + Karma submitted by user + + + + + + + + false + + + username for karma filter + + + + @@ -451,7 +480,7 @@ p, li { white-space: pre-wrap; } QTabWidget::East - 2 + 1 @@ -865,16 +894,16 @@ p, li { white-space: pre-wrap; } karmaCheckBox toggled(bool) - karmaUsernameEdit - setVisible(bool) + karmaFilterWidget + setShown(bool) - 114 - 112 + 84 + 96 - 114 - 137 + 40 + 142