Plugins/CheckerPlugins/Pep8/Pep8CodeSelectionDialog.py

changeset 832
eb5ff61f927b
child 849
996367a89673
equal deleted inserted replaced
831:f046b97785db 832:eb5ff61f927b
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2011 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog to select PEP 8 message codes.
8 """
9
10 from PyQt4.QtCore import QCoreApplication
11 from PyQt4.QtGui import QDialog, QTreeWidgetItem
12
13 from . import pep8
14
15 from .Ui_Pep8CodeSelectionDialog import Ui_Pep8CodeSelectionDialog
16
17 class Pep8CodeSelectionDialog(QDialog, Ui_Pep8CodeSelectionDialog):
18 """
19 Class implementing a dialog to select PEP 8 message codes.
20 """
21 def __init__(self, codes, parent = None):
22 """
23 Constructor
24
25 @param codes comma separated list of selected codes (string)
26 @param parent reference to the parent widget (QWidget)
27 """
28 QDialog.__init__(self, parent)
29 self.setupUi(self)
30
31 codeList = [code.strip() for code in codes.split(",") if code.strip()]
32
33 for code in sorted(pep8.pep8_messages.keys(), key=lambda a: a[1:]):
34 if code in pep8.pep8_messages_sample_args:
35 message = QCoreApplication.translate("pep8",
36 pep8.pep8_messages[code]).format(
37 *pep8.pep8_messages_sample_args[code])
38 else:
39 message = QCoreApplication.translate("pep8",
40 pep8.pep8_messages[code])
41 itm = QTreeWidgetItem(self.codeTable, [code, message])
42 if code in codeList:
43 itm.setSelected(True)
44 codeList.remove(code)
45
46 self.__extraCodes = codeList[:]
47
48 def getSelectedCodes(self):
49 """
50 Public method to get a comma separated list of codes selected.
51
52 @return comma separated list of selected codes (string)
53 """
54 selectedCodes = []
55
56 for itm in self.codeTable.selectedItems():
57 selectedCodes.append(itm.text(0))
58
59 return ", ".join(self.__extraCodes + selectedCodes)

eric ide

mercurial