Helpviewer/HelpWebSearchWidget.py

changeset 643
719db11dd4df
parent 501
5c615a85241a
child 791
9ec2ac20e54e
diff -r b06d4df23797 -r 719db11dd4df Helpviewer/HelpWebSearchWidget.py
--- a/Helpviewer/HelpWebSearchWidget.py	Sun Sep 26 15:18:07 2010 +0200
+++ b/Helpviewer/HelpWebSearchWidget.py	Sun Sep 26 20:25:09 2010 +0200
@@ -16,6 +16,7 @@
 import Preferences
 
 from E5Gui.E5LineEdit import E5LineEdit
+from E5Gui.E5LineEditButton import E5LineEditButton
 
 from .OpenSearch.OpenSearchManager import OpenSearchManager
 from .OpenSearch.OpenSearchEngineAction import OpenSearchEngineAction
@@ -50,21 +51,21 @@
         
         self.__enginesMenu = QMenu(self)
         
-        self.__engineButton = QToolButton(self)
-        self.__engineButton.setPopupMode(QToolButton.InstantPopup)
-        self.__engineButton.setMenu(self.__enginesMenu)
-        self.__layout.addWidget(self.__engineButton)
-        
-        self.__searchButton = QToolButton(self)
-        self.__searchButton.setIcon(UI.PixmapCache.getIcon("webSearch.png"))
-        self.__layout.addWidget(self.__searchButton)
-        
         self.__searchEdit = E5LineEdit(parent = self)
         self.__layout.addWidget(self.__searchEdit)
         
-        self.__clearButton = QToolButton(self)
+        self.__engineButton = E5LineEditButton(self)
+        self.__engineButton.setMenu(self.__enginesMenu)
+        self.__searchEdit.addWidget(self.__engineButton, E5LineEdit.LeftSide)
+        
+        self.__searchButton = E5LineEditButton(self)
+        self.__searchButton.setIcon(UI.PixmapCache.getIcon("webSearch.png"))
+        self.__searchEdit.addWidget(self.__searchButton, E5LineEdit.LeftSide)
+        
+        self.__clearButton = E5LineEditButton(self)
         self.__clearButton.setIcon(UI.PixmapCache.getIcon("clearLeft.png"))
-        self.__layout.addWidget(self.__clearButton)
+        self.__searchEdit.addWidget(self.__clearButton, E5LineEdit.RightSide)
+        self.__clearButton.setVisible(False)
         
         self.__model = QStandardItemModel(self)
         self.__completer = QCompleter()
@@ -73,8 +74,9 @@
         self.__completer.setWidget(self.__searchEdit)
         
         self.__searchButton.clicked[()].connect(self.__searchButtonClicked)
+        self.__clearButton.clicked[()].connect(self.__searchEdit.clear)
         self.__searchEdit.textEdited.connect(self.__textEdited)
-        self.__clearButton.clicked[()].connect(self.__searchEdit.clear)
+        self.__searchEdit.textChanged.connect(self.__textChanged)
         self.__searchEdit.returnPressed[()].connect(self.__searchNow)
         self.__completer.activated[QModelIndex].connect(self.__completerActivated)
         self.__completer.highlighted[QModelIndex].connect(self.__completerHighlighted)
@@ -207,6 +209,14 @@
             self.__completer.setCompletionPrefix(txt)
             self.__completer.complete()
     
+    def __textChanged(self, txt):
+        """
+        Private slot to handle changes of the search text.
+        
+        @param txt search text (string)
+        """
+        self.__clearButton.setVisible(txt != "")
+    
     def __getSuggestions(self):
         """
         Private slot to get search suggestions from the configured search engine.

eric ide

mercurial