Wed, 18 Dec 2013 09:26:02 +0100
Finished first relese of the print remover tool plug-in.
# -*- coding: utf-8 -*- # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the Print Remover configuration page. """ from __future__ import unicode_literals # __IGNORE_WARNING__ from PyQt4.QtCore import pyqtSlot, Qt from PyQt4.QtGui import QListWidgetItem from Preferences.ConfigurationPages.ConfigurationPageBase import \ ConfigurationPageBase from .Ui_PrintRemoverPage import Ui_PrintRemoverPage class PrintRemoverPage(ConfigurationPageBase, Ui_PrintRemoverPage): """ Class implementing the Print Remover configuration page. """ def __init__(self, plugin): """ Constructor @param plugin reference to the plugin object """ super(PrintRemoverPage, self).__init__() self.setupUi(self) self.setObjectName("PrintRemoverPage") self.__plugin = plugin # set initial values for pattern in self.__plugin.getPreferences("StartswithStrings"): QListWidgetItem(pattern, self.patternList) def save(self): """ Public slot to save the Print Remover configuration. """ patterns = [] for row in range(self.patternList.count()): itm = self.patternList.item(row) patterns.append(itm.text()) self.__plugin.setPreferences("StartswithStrings", patterns) @pyqtSlot() def on_patternList_itemSelectionChanged(self): """ Private slot to handle the selection of patterns. """ self.deletePatternButton.setEnabled( len(self.patternList.selectedItems()) != 0) @pyqtSlot() def on_deletePatternButton_clicked(self): """ Private slot to delete the selected items. """ for itm in self.patternList.selectedItems(): self.patternList.takeItem(self.patternList.row(itm)) del itm @pyqtSlot() def on_addPatternButton_clicked(self): """ Private slot add a pattern to the list. """ pattern = self.patternEdit.text() if pattern: foundItems = self.patternList.findItems( pattern, Qt.MatchCaseSensitive | Qt.MatchExactly) if len(foundItems) == 0: QListWidgetItem(pattern, self.patternList) self.patternEdit.clear() @pyqtSlot(str) def on_patternEdit_textChanged(self, pattern): """ Private slot to handle entering a pattern. @param pattern pattern string entered into the line edit (string) """ enable = False if pattern: foundItems = self.patternList.findItems( pattern, Qt.MatchCaseSensitive | Qt.MatchExactly) enable = len(foundItems) == 0 self.addPatternButton.setEnabled(enable)