Helpviewer/Bookmarks/BookmarksDialog.py

changeset 3002
6ffc581f00f1
parent 2403
e3d7a861547c
child 3057
10516539f238
child 3160
209a07d7e401
equal deleted inserted replaced
3001:3674ff5fa8f8 3002:6ffc581f00f1
28 def __init__(self, parent=None, manager=None): 28 def __init__(self, parent=None, manager=None):
29 """ 29 """
30 Constructor 30 Constructor
31 31
32 @param parent reference to the parent widget (QWidget 32 @param parent reference to the parent widget (QWidget
33 @param manager reference to the bookmarks manager object (BookmarksManager) 33 @param manager reference to the bookmarks manager object
34 (BookmarksManager)
34 """ 35 """
35 super().__init__(parent) 36 super().__init__(parent)
36 self.setupUi(self) 37 self.setupUi(self)
37 38
38 self.__bookmarksManager = manager 39 self.__bookmarksManager = manager
39 if self.__bookmarksManager is None: 40 if self.__bookmarksManager is None:
40 import Helpviewer.HelpWindow 41 import Helpviewer.HelpWindow
41 self.__bookmarksManager = Helpviewer.HelpWindow.HelpWindow.bookmarksManager() 42 self.__bookmarksManager = Helpviewer.HelpWindow.HelpWindow\
43 .bookmarksManager()
42 44
43 self.__bookmarksModel = self.__bookmarksManager.bookmarksModel() 45 self.__bookmarksModel = self.__bookmarksManager.bookmarksModel()
44 self.__proxyModel = E5TreeSortFilterProxyModel(self) 46 self.__proxyModel = E5TreeSortFilterProxyModel(self)
45 self.__proxyModel.setFilterKeyColumn(-1) 47 self.__proxyModel.setFilterKeyColumn(-1)
46 self.__proxyModel.setSourceModel(self.__bookmarksModel) 48 self.__proxyModel.setSourceModel(self.__bookmarksModel)
47 49
48 self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString) 50 self.searchEdit.textChanged.connect(
51 self.__proxyModel.setFilterFixedString)
49 52
50 self.bookmarksTree.setModel(self.__proxyModel) 53 self.bookmarksTree.setModel(self.__proxyModel)
51 self.bookmarksTree.setExpanded(self.__proxyModel.index(0, 0), True) 54 self.bookmarksTree.setExpanded(self.__proxyModel.index(0, 0), True)
52 fm = QFontMetrics(self.font()) 55 fm = QFontMetrics(self.font())
53 header = fm.width("m") * 40 56 header = fm.width("m") * 40
57 60
58 self.bookmarksTree.activated.connect(self.__activated) 61 self.bookmarksTree.activated.connect(self.__activated)
59 self.bookmarksTree.customContextMenuRequested.connect( 62 self.bookmarksTree.customContextMenuRequested.connect(
60 self.__customContextMenuRequested) 63 self.__customContextMenuRequested)
61 64
62 self.removeButton.clicked[()].connect(self.bookmarksTree.removeSelected) 65 self.removeButton.clicked[()].connect(
66 self.bookmarksTree.removeSelected)
63 self.addFolderButton.clicked[()].connect(self.__newFolder) 67 self.addFolderButton.clicked[()].connect(self.__newFolder)
64 68
65 self.__expandNodes(self.__bookmarksManager.bookmarks()) 69 self.__expandNodes(self.__bookmarksManager.bookmarks())
66 70
67 def closeEvent(self, evt): 71 def closeEvent(self, evt):
133 idx = self.bookmarksTree.indexAt(pos) 137 idx = self.bookmarksTree.indexAt(pos)
134 idx = idx.sibling(idx.row(), 0) 138 idx = idx.sibling(idx.row(), 0)
135 sourceIndex = self.__proxyModel.mapToSource(idx) 139 sourceIndex = self.__proxyModel.mapToSource(idx)
136 node = self.__bookmarksModel.node(sourceIndex) 140 node = self.__bookmarksModel.node(sourceIndex)
137 if idx.isValid() and node.type() != BookmarkNode.Folder: 141 if idx.isValid() and node.type() != BookmarkNode.Folder:
138 menu.addAction(self.trUtf8("&Open"), self.__openBookmarkInCurrentTab) 142 menu.addAction(
139 menu.addAction(self.trUtf8("Open in New &Tab"), self.__openBookmarkInNewTab) 143 self.trUtf8("&Open"), self.__openBookmarkInCurrentTab)
144 menu.addAction(
145 self.trUtf8("Open in New &Tab"), self.__openBookmarkInNewTab)
140 menu.addSeparator() 146 menu.addSeparator()
141 act = menu.addAction(self.trUtf8("Edit &Name"), self.__editName) 147 act = menu.addAction(self.trUtf8("Edit &Name"), self.__editName)
142 act.setEnabled(idx.flags() & Qt.ItemIsEditable) 148 act.setEnabled(idx.flags() & Qt.ItemIsEditable)
143 if idx.isValid() and node.type() != BookmarkNode.Folder: 149 if idx.isValid() and node.type() != BookmarkNode.Folder:
144 menu.addAction(self.trUtf8("Edit &Address"), self.__editAddress) 150 menu.addAction(self.trUtf8("Edit &Address"), self.__editAddress)
145 menu.addSeparator() 151 menu.addSeparator()
146 act = menu.addAction(self.trUtf8("&Delete"), self.bookmarksTree.removeSelected) 152 act = menu.addAction(
153 self.trUtf8("&Delete"), self.bookmarksTree.removeSelected)
147 act.setEnabled(idx.flags() & Qt.ItemIsDragEnabled) 154 act.setEnabled(idx.flags() & Qt.ItemIsDragEnabled)
148 menu.addSeparator() 155 menu.addSeparator()
149 act = menu.addAction(self.trUtf8("&Properties..."), self.__edit) 156 act = menu.addAction(self.trUtf8("&Properties..."), self.__edit)
150 act.setEnabled(idx.flags() & Qt.ItemIsEditable) 157 act.setEnabled(idx.flags() & Qt.ItemIsEditable)
151 menu.exec_(QCursor.pos()) 158 menu.exec_(QCursor.pos())
154 """ 161 """
155 Private slot to handle the activation of an entry. 162 Private slot to handle the activation of an entry.
156 163
157 @param idx reference to the entry index (QModelIndex) 164 @param idx reference to the entry index (QModelIndex)
158 """ 165 """
159 self.__openBookmark(QApplication.keyboardModifiers() & Qt.ControlModifier) 166 self.__openBookmark(
167 QApplication.keyboardModifiers() & Qt.ControlModifier)
160 168
161 def __openBookmarkInCurrentTab(self): 169 def __openBookmarkInCurrentTab(self):
162 """ 170 """
163 Private slot to open a bookmark in the current browser tab. 171 Private slot to open a bookmark in the current browser tab.
164 """ 172 """
172 180
173 def __openBookmark(self, newTab): 181 def __openBookmark(self, newTab):
174 """ 182 """
175 Private method to open a bookmark. 183 Private method to open a bookmark.
176 184
177 @param newTab flag indicating to open the bookmark in a new tab (boolean) 185 @param newTab flag indicating to open the bookmark in a new tab
186 (boolean)
178 """ 187 """
179 from .BookmarkNode import BookmarkNode 188 from .BookmarkNode import BookmarkNode
180 from .BookmarksModel import BookmarksModel 189 from .BookmarksModel import BookmarksModel
181 190
182 idx = self.bookmarksTree.currentIndex() 191 idx = self.bookmarksTree.currentIndex()

eric ide

mercurial