Helpviewer/OfflineStorage/WebDatabasesDialog.py

changeset 353
c548890dff9b
child 791
9ec2ac20e54e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/OfflineStorage/WebDatabasesDialog.py	Sat Jun 19 16:37:10 2010 +0200
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a dialog to show all web databases.
+"""
+
+from PyQt4.QtCore import Qt
+from PyQt4.QtGui import QDialog, QFontMetrics
+
+from E5Gui.E5TreeSortFilterProxyModel import E5TreeSortFilterProxyModel
+
+from .Ui_WebDatabasesDialog import Ui_WebDatabasesDialog
+
+from .WebDatabasesModel import WebDatabasesModel
+
+import UI.PixmapCache
+
+class WebDatabasesDialog(QDialog, Ui_WebDatabasesDialog):
+    """
+    Class implementing a dialog to show all web databases.
+    """
+    def __init__(self, parent = None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (QWidget)
+        """
+        QDialog.__init__(self, parent)
+        self.setupUi(self)
+        
+        self.clearButton.setIcon(UI.PixmapCache.getIcon("clearLeft.png"))
+        
+        self.removeButton.clicked.connect(self.databasesTree.removeSelected)
+        self.removeAllButton.clicked.connect(self.databasesTree.removeAll)
+        
+        model = WebDatabasesModel(self)
+        self.__proxyModel = E5TreeSortFilterProxyModel(self)
+        self.__proxyModel.setFilterKeyColumn(-1)
+        self.__proxyModel.setSourceModel(model)
+        
+        self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString)
+        
+        self.databasesTree.setModel(self.__proxyModel)
+        fm = QFontMetrics(self.font())
+        header = fm.width("m") * 30
+        self.databasesTree.header().resizeSection(0, header)
+        self.databasesTree.model().sort(
+            self.databasesTree.header().sortIndicatorSection(), 
+            Qt.AscendingOrder)
+        self.databasesTree.expandAll()

eric ide

mercurial