Helpviewer/Bookmarks/BookmarksDialog.py

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

eric ide

mercurial