diff -r f046b97785db -r eb5ff61f927b Plugins/CheckerPlugins/Pep8/Pep8CodeSelectionDialog.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/CheckerPlugins/Pep8/Pep8CodeSelectionDialog.py Sun Jan 09 18:16:46 2011 +0100 @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2011 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog to select PEP 8 message codes. +""" + +from PyQt4.QtCore import QCoreApplication +from PyQt4.QtGui import QDialog, QTreeWidgetItem + +from . import pep8 + +from .Ui_Pep8CodeSelectionDialog import Ui_Pep8CodeSelectionDialog + +class Pep8CodeSelectionDialog(QDialog, Ui_Pep8CodeSelectionDialog): + """ + Class implementing a dialog to select PEP 8 message codes. + """ + def __init__(self, codes, parent = None): + """ + Constructor + + @param codes comma separated list of selected codes (string) + @param parent reference to the parent widget (QWidget) + """ + QDialog.__init__(self, parent) + self.setupUi(self) + + codeList = [code.strip() for code in codes.split(",") if code.strip()] + + for code in sorted(pep8.pep8_messages.keys(), key=lambda a: a[1:]): + if code in pep8.pep8_messages_sample_args: + message = QCoreApplication.translate("pep8", + pep8.pep8_messages[code]).format( + *pep8.pep8_messages_sample_args[code]) + else: + message = QCoreApplication.translate("pep8", + pep8.pep8_messages[code]) + itm = QTreeWidgetItem(self.codeTable, [code, message]) + if code in codeList: + itm.setSelected(True) + codeList.remove(code) + + self.__extraCodes = codeList[:] + + def getSelectedCodes(self): + """ + Public method to get a comma separated list of codes selected. + + @return comma separated list of selected codes (string) + """ + selectedCodes = [] + + for itm in self.codeTable.selectedItems(): + selectedCodes.append(itm.text(0)) + + return ", ".join(self.__extraCodes + selectedCodes)