Browse Source

Merge remote-tracking branch 'qubesos/pr/20'

* qubesos/pr/20:
  Select search box contents on focus
Marek Marczykowski-Górecki 7 years ago
parent
commit
c214c65589
2 changed files with 21 additions and 4 deletions
  1. 1 4
      mainwindow.ui
  2. 20 0
      qubesmanager/main.py

+ 1 - 4
mainwindow.ui

@@ -58,7 +58,7 @@
      <number>0</number>
     </property>
     <item row="0" column="0">
-     <layout class="QHBoxLayout" name="horizontalLayout">
+     <layout class="QHBoxLayout" name="searchContainer">
       <property name="spacing">
        <number>6</number>
       </property>
@@ -72,9 +72,6 @@
         </property>
        </widget>
       </item>
-      <item>
-       <widget class="QLineEdit" name="searchbox"/>
-      </item>
      </layout>
     </item>
     <item row="1" column="0">

+ 20 - 0
qubesmanager/main.py

@@ -119,6 +119,23 @@ class QubesManagerFileWatcher(ProcessEvent):
             trayIcon.showMessage("Qubes dom0 updates available.", msecs=0)
 
 
+class SearchBox(QLineEdit):
+    def __init__(self, parent=None):
+        super(SearchBox, self).__init__(parent)
+        self.focusing = False
+
+    def focusInEvent(self, e):
+        super(SearchBox, self).focusInEvent(e)
+        self.selectAll()
+        self.focusing = True
+
+    def mousePressEvent(self, e):
+        super(SearchBox, self).mousePressEvent(e)
+        if self.focusing:
+            self.selectAll()
+            self.focusing = False
+
+
 class VmRowInTable(object):
     cpu_graph_hue = 210
     mem_graph_hue = 120
@@ -333,6 +350,9 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
         self.blk_watch_thread.daemon = True
         self.blk_watch_thread.start()
 
+        self.searchbox = SearchBox()
+        self.searchContainer.addWidget(self.searchbox)
+
         self.connect(self.table, SIGNAL("itemSelectionChanged()"),
                      self.table_selection_changed)