Revision | 58 (tree) |
---|---|
Zeit | 2009-03-06 20:58:06 |
Autor | youcharmanums |
* Search Tab reply_to_status_id highlighting bug fixed. (Enbugged in revision 56.)
@@ -1,34 +0,0 @@ | ||
1 | -from PyQt4 import QtCore, QtGui | |
2 | - | |
3 | -class TwitturnSeachingLineEdit(QtGui.QLineEdit): | |
4 | - def setTreeWidget(self, treeWidget): | |
5 | - self.treeWidget = treeWidget | |
6 | - def setSearchTab(self, searchTab): | |
7 | - self.searchTab = searchTab | |
8 | - def keyPressEvent(self, keyEvent): | |
9 | - if keyEvent.key() == QtCore.Qt.Key_Escape: | |
10 | - self.setVisible(False) | |
11 | - if keyEvent.key() in ( | |
12 | - QtCore.Qt.Key_Return, | |
13 | - QtCore.Qt.Key_Enter): | |
14 | - self.doSearching() | |
15 | - return | |
16 | - QtGui.QLineEdit.keyPressEvent(self, keyEvent) | |
17 | - def doSearching(self): | |
18 | -# DONNOT CALL "self.searchTab.treeWidget.clear()" | |
19 | - self.searchTab.clear() | |
20 | - rx = QtCore.QRegExp( | |
21 | - self.text(), | |
22 | - QtCore.Qt.CaseInsensitive, | |
23 | - QtCore.QRegExp.RegExp2 | |
24 | - ) | |
25 | - for i in range(self.treeWidget.topLevelItemCount()): | |
26 | - item = self.treeWidget.topLevelItem(i) | |
27 | - for c in [1,2]: | |
28 | - if not (-1 == rx.indexIn( item.text(c))): | |
29 | - self.searchTab.treeWidget.addTopLevelItem( | |
30 | - item.clone()) | |
31 | - break | |
32 | - self.setVisible(False) | |
33 | - self.searchTab.changeThisTab() | |
34 | - |
@@ -189,7 +189,19 @@ | ||
189 | 189 | for col in range(self.treeWidget.columnCount()): |
190 | 190 | item.setBackground(col, self.replyToBackgroundBrush) |
191 | 191 | break |
192 | + def swapHighlighting(self): | |
193 | + if not self.highlightColorBuffer == None: | |
194 | + item = self.highlightColorBuffer | |
195 | + for col in range(self.treeWidget.columnCount()): | |
196 | + item[0].setBackground(col, item[1]) | |
197 | + return | |
198 | + def unswapHighlighting(self): | |
199 | + if not self.highlightColorBuffer == None: | |
200 | + item = self.highlightColorBuffer | |
201 | + for col in range(self.treeWidget.columnCount()): | |
202 | + item[0].setBackground(col, self.replyToBackgroundBrush) | |
192 | 203 | |
204 | + | |
193 | 205 | if __name__=="__main__": |
194 | 206 | app = QtGui.QApplication(sys.argv) |
195 | 207 | form = TwitturnTimeLineWidget() |
@@ -3,7 +3,6 @@ | ||
3 | 3 | from PyQt4 import QtCore, QtGui, uic |
4 | 4 | from twitturnConfigDialog import TwitturnConfigDialog |
5 | 5 | from twitturnTimeLineWidget import TwitturnTimeLineWidget |
6 | -from twitturnSearchingLineEdit import TwitturnSeachingLineEdit | |
7 | 6 | from twitturnTabWidget import TwitturnTabWidget |
8 | 7 | from twitturnCore import TwitturnCore |
9 | 8 | from iconCacheManager import IconChacheManager |
@@ -31,10 +30,8 @@ | ||
31 | 30 | self.tabWidget.addTab(self.mainTimeLine, self.tr("&TimeLine")) |
32 | 31 | self.treeWidget = self.mainTimeLine.treeWidget |
33 | 32 | self.treeWidget.setAttribute(QtCore.Qt.WA_InputMethodEnabled, False) |
34 | - self.lineEdit.__class__ = TwitturnSeachingLineEdit | |
35 | - self.lineEdit.setTreeWidget(self.treeWidget) | |
36 | - self.lineEdit.setSearchTab(None) | |
37 | 33 | self.lineEdit.setVisible(False) |
34 | + self.searchTab = None | |
38 | 35 | |
39 | 36 | self.labelApiLimitStatus = QtGui.QLabel(self) |
40 | 37 | self.labelApiLimitStatus.setContentsMargins(6,0,0,0) |
@@ -230,6 +227,31 @@ | ||
230 | 227 | self.tr("Twitturn Setting Files (*.ini *.conf);;All Files (*)")) |
231 | 228 | self.exportSettingFile(fileName) |
232 | 229 | |
230 | + def doSearching(self): | |
231 | + currentWidget = self.tabWidget.currentWidget() | |
232 | + currentWidget.swapHighlighting() | |
233 | + | |
234 | +# DO NOT CALL "self.searchTab.treeWidget.clear()" | |
235 | + self.searchTab.clear() | |
236 | + | |
237 | + rx = QtCore.QRegExp( | |
238 | + self.lineEdit.text(), | |
239 | + QtCore.Qt.CaseInsensitive, | |
240 | + QtCore.QRegExp.RegExp2 | |
241 | + ) | |
242 | + for i in range(self.treeWidget.topLevelItemCount()): | |
243 | + item = self.treeWidget.topLevelItem(i) | |
244 | + for c in [1,2]: | |
245 | + if not (-1 == rx.indexIn( item.text(c))): | |
246 | + self.searchTab.treeWidget.addTopLevelItem( | |
247 | + item.clone()) | |
248 | + break | |
249 | + | |
250 | + currentWidget.unswapHighlighting() | |
251 | + self.lineEdit.setVisible(False) | |
252 | + self.searchTab.changeThisTab() | |
253 | + | |
254 | + | |
233 | 255 | def exportSettingFile(self, fileName): |
234 | 256 | fromSettings = self.settings |
235 | 257 | toSettings = QtCore.QSettings( |
@@ -571,11 +593,11 @@ | ||
571 | 593 | str.append("|("+nick+")") |
572 | 594 | |
573 | 595 | self.lineEdit.setText(str) |
574 | - self.lineEdit.doSearching() | |
596 | + self.doSearching() | |
575 | 597 | def searchNick(self): |
576 | 598 | current = self.treeWidget.currentItem() |
577 | 599 | self.lineEdit.setText("^"+current.text(1)+"$") |
578 | - self.lineEdit.doSearching() | |
600 | + self.doSearching() | |
579 | 601 | |
580 | 602 | |
581 | 603 | def focusBellowPost(self): |
@@ -854,5 +876,5 @@ | ||
854 | 876 | form.appendTab( |
855 | 877 | searchTimeLineWidget, |
856 | 878 | form.tr("&Search")) |
857 | - form.lineEdit.setSearchTab(searchTimeLineWidget) | |
879 | + form.searchTab = searchTimeLineWidget | |
858 | 880 | app.exec_() |