8 """ |
8 """ |
9 |
9 |
10 from __future__ import unicode_literals # __IGNORE_WARNING__ |
10 from __future__ import unicode_literals # __IGNORE_WARNING__ |
11 |
11 |
12 from PyQt4.QtCore import QRegExp |
12 from PyQt4.QtCore import QRegExp |
13 from PyQt4.QtGui import QSizePolicy, QSpacerItem, QWidget, QHBoxLayout, QLineEdit, \ |
13 from PyQt4.QtGui import QSizePolicy, QSpacerItem, QWidget, QHBoxLayout, \ |
14 QPushButton, QDialog, QScrollArea, QComboBox, QVBoxLayout, QRegExpValidator, QLabel |
14 QLineEdit, QPushButton, QDialog, QScrollArea, QComboBox, QVBoxLayout, \ |
|
15 QRegExpValidator, QLabel |
15 |
16 |
16 from .Ui_QRegExpWizardCharactersDialog import Ui_QRegExpWizardCharactersDialog |
17 from .Ui_QRegExpWizardCharactersDialog import Ui_QRegExpWizardCharactersDialog |
17 |
18 |
18 |
19 |
19 class QRegExpWizardCharactersDialog(QDialog, Ui_QRegExpWizardCharactersDialog): |
20 class QRegExpWizardCharactersDialog(QDialog, Ui_QRegExpWizardCharactersDialog): |
54 self.comboItems.append((self.trUtf8( |
56 self.comboItems.append((self.trUtf8( |
55 "Unicode character in hexadecimal notation"), "-h")) |
57 "Unicode character in hexadecimal notation"), "-h")) |
56 self.comboItems.append((self.trUtf8( |
58 self.comboItems.append((self.trUtf8( |
57 "ASCII/Latin1 character in octal notation"), "-o")) |
59 "ASCII/Latin1 character in octal notation"), "-o")) |
58 self.singleComboItems.append(("---", "-i")) |
60 self.singleComboItems.append(("---", "-i")) |
59 self.singleComboItems.append((self.trUtf8("Bell character (\\a)"), "\\a")) |
61 self.singleComboItems.append( |
60 self.singleComboItems.append((self.trUtf8("Page break (\\f)"), "\\f")) |
62 (self.trUtf8("Bell character (\\a)"), "\\a")) |
61 self.singleComboItems.append((self.trUtf8("Line feed (\\n)"), "\\n")) |
63 self.singleComboItems.append( |
62 self.singleComboItems.append((self.trUtf8("Carriage return (\\r)"), "\\r")) |
64 (self.trUtf8("Page break (\\f)"), "\\f")) |
|
65 self.singleComboItems.append( |
|
66 (self.trUtf8("Line feed (\\n)"), "\\n")) |
|
67 self.singleComboItems.append( |
|
68 (self.trUtf8("Carriage return (\\r)"), "\\r")) |
63 self.singleComboItems.append( |
69 self.singleComboItems.append( |
64 (self.trUtf8("Horizontal tabulator (\\t)"), "\\t")) |
70 (self.trUtf8("Horizontal tabulator (\\t)"), "\\t")) |
65 self.singleComboItems.append((self.trUtf8("Vertical tabulator (\\v)"), "\\v")) |
71 self.singleComboItems.append( |
|
72 (self.trUtf8("Vertical tabulator (\\v)"), "\\v")) |
66 elif mode == QRegExpWizardCharactersDialog.W3CMode: |
73 elif mode == QRegExpWizardCharactersDialog.W3CMode: |
67 self.comboItems.append((self.trUtf8( |
74 self.comboItems.append((self.trUtf8( |
68 "Unicode character in hexadecimal notation"), "-h")) |
75 "Unicode character in hexadecimal notation"), "-h")) |
69 self.comboItems.append((self.trUtf8( |
76 self.comboItems.append((self.trUtf8( |
70 "ASCII/Latin1 character in octal notation"), "-o")) |
77 "ASCII/Latin1 character in octal notation"), "-o")) |
71 self.singleComboItems.append(("---", "-i")) |
78 self.singleComboItems.append(("---", "-i")) |
72 self.singleComboItems.append((self.trUtf8("Line feed (\\n)"), "\\n")) |
79 self.singleComboItems.append( |
73 self.singleComboItems.append((self.trUtf8("Carriage return (\\r)"), "\\r")) |
80 (self.trUtf8("Line feed (\\n)"), "\\n")) |
|
81 self.singleComboItems.append( |
|
82 (self.trUtf8("Carriage return (\\r)"), "\\r")) |
74 self.singleComboItems.append( |
83 self.singleComboItems.append( |
75 (self.trUtf8("Horizontal tabulator (\\t)"), "\\t")) |
84 (self.trUtf8("Horizontal tabulator (\\t)"), "\\t")) |
76 self.singleComboItems.append(("---", "-i")) |
85 self.singleComboItems.append(("---", "-i")) |
77 self.singleComboItems.append((self.trUtf8("Character Category"), "-ccp")) |
86 self.singleComboItems.append( |
78 self.singleComboItems.append((self.trUtf8("Character Block"), "-cbp")) |
87 (self.trUtf8("Character Category"), "-ccp")) |
79 self.singleComboItems.append((self.trUtf8("Not Character Category"), "-ccn")) |
88 self.singleComboItems.append( |
80 self.singleComboItems.append((self.trUtf8("Not Character Block"), "-cbn")) |
89 (self.trUtf8("Character Block"), "-cbp")) |
|
90 self.singleComboItems.append( |
|
91 (self.trUtf8("Not Character Category"), "-ccn")) |
|
92 self.singleComboItems.append( |
|
93 (self.trUtf8("Not Character Block"), "-cbn")) |
81 |
94 |
82 self.charValidator = QRegExpValidator(QRegExp(".{0,1}"), self) |
95 self.charValidator = QRegExpValidator(QRegExp(".{0,1}"), self) |
83 self.hexValidator = QRegExpValidator(QRegExp("[0-9a-fA-F]{0,4}"), self) |
96 self.hexValidator = QRegExpValidator(QRegExp("[0-9a-fA-F]{0,4}"), self) |
84 self.octValidator = QRegExpValidator(QRegExp("[0-3]?[0-7]{0,2}"), self) |
97 self.octValidator = QRegExpValidator(QRegExp("[0-3]?[0-7]{0,2}"), self) |
85 |
98 |
110 hlayout0.setObjectName("hlayout0") |
123 hlayout0.setObjectName("hlayout0") |
111 self.moreSinglesButton = QPushButton(self.trUtf8("Additional Entries"), |
124 self.moreSinglesButton = QPushButton(self.trUtf8("Additional Entries"), |
112 self.singlesBox) |
125 self.singlesBox) |
113 self.moreSinglesButton.setObjectName("moreSinglesButton") |
126 self.moreSinglesButton.setObjectName("moreSinglesButton") |
114 hlayout0.addWidget(self.moreSinglesButton) |
127 hlayout0.addWidget(self.moreSinglesButton) |
115 hspacer0 = QSpacerItem(30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) |
128 hspacer0 = QSpacerItem( |
|
129 30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) |
116 hlayout0.addItem(hspacer0) |
130 hlayout0.addItem(hspacer0) |
117 self.singlesBoxLayout.addLayout(hlayout0) |
131 self.singlesBoxLayout.addLayout(hlayout0) |
118 self.moreSinglesButton.clicked[()].connect(self.__addSinglesLine) |
132 self.moreSinglesButton.clicked[()].connect(self.__addSinglesLine) |
119 |
133 |
120 # generate dialog part for character ranges |
134 # generate dialog part for character ranges |
144 hlayout1.setObjectName("hlayout1") |
158 hlayout1.setObjectName("hlayout1") |
145 self.moreRangesButton = QPushButton(self.trUtf8("Additional Entries"), |
159 self.moreRangesButton = QPushButton(self.trUtf8("Additional Entries"), |
146 self.rangesBox) |
160 self.rangesBox) |
147 self.moreSinglesButton.setObjectName("moreRangesButton") |
161 self.moreSinglesButton.setObjectName("moreRangesButton") |
148 hlayout1.addWidget(self.moreRangesButton) |
162 hlayout1.addWidget(self.moreRangesButton) |
149 hspacer1 = QSpacerItem(30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) |
163 hspacer1 = QSpacerItem( |
|
164 30, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) |
150 hlayout1.addItem(hspacer1) |
165 hlayout1.addItem(hspacer1) |
151 self.rangesBoxLayout.addLayout(hlayout1) |
166 self.rangesBoxLayout.addLayout(hlayout1) |
152 self.moreRangesButton.clicked[()].connect(self.__addRangesLine) |
167 self.moreRangesButton.clicked[()].connect(self.__addRangesLine) |
153 |
168 |
154 def __initCharacterSelectors(self): |
169 def __initCharacterSelectors(self): |
530 combo.hide() |
545 combo.hide() |
531 lineedit.clear() |
546 lineedit.clear() |
532 |
547 |
533 def __singlesCharTypeSelected(self, index): |
548 def __singlesCharTypeSelected(self, index): |
534 """ |
549 """ |
535 Private slot to handle the activated(int) signal of the single chars combo boxes. |
550 Private slot to handle the activated(int) signal of the single chars |
|
551 combo boxes. |
536 |
552 |
537 @param index selected list index (integer) |
553 @param index selected list index (integer) |
538 """ |
554 """ |
539 combo = self.sender() |
555 combo = self.sender() |
540 for entriesList in self.singlesEntries: |
556 for entriesList in self.singlesEntries: |
541 if combo == entriesList[0]: |
557 if combo == entriesList[0]: |
542 format = combo.itemData(index) |
558 format = combo.itemData(index) |
543 self.__performSelectedAction(format, entriesList[1], entriesList[2]) |
559 self.__performSelectedAction( |
|
560 format, entriesList[1], entriesList[2]) |
544 break |
561 break |
545 |
562 |
546 def __rangesCharTypeSelected(self, index): |
563 def __rangesCharTypeSelected(self, index): |
547 """ |
564 """ |
548 Private slot to handle the activated(int) signal of the char ranges combo boxes. |
565 Private slot to handle the activated(int) signal of the char ranges |
|
566 combo boxes. |
549 |
567 |
550 @param index selected list index (integer) |
568 @param index selected list index (integer) |
551 """ |
569 """ |
552 combo = self.sender() |
570 combo = self.sender() |
553 for entriesList in self.rangesEntries: |
571 for entriesList in self.rangesEntries: |