Helpviewer/Bookmarks/BookmarksMenu.py

changeset 945
8cd4d08fa9f6
parent 791
9ec2ac20e54e
child 1112
8a7d1b9d18db
equal deleted inserted replaced
944:1b59c4ba121e 945:8cd4d08fa9f6
15 import Helpviewer.HelpWindow 15 import Helpviewer.HelpWindow
16 16
17 from .BookmarksModel import BookmarksModel 17 from .BookmarksModel import BookmarksModel
18 from .BookmarkNode import BookmarkNode 18 from .BookmarkNode import BookmarkNode
19 19
20
20 class BookmarksMenu(E5ModelMenu): 21 class BookmarksMenu(E5ModelMenu):
21 """ 22 """
22 Class implementing the bookmarks menu base class. 23 Class implementing the bookmarks menu base class.
23 24
24 @signal openUrl(QUrl, str) emitted to open a URL in the current tab 25 @signal openUrl(QUrl, str) emitted to open a URL in the current tab
25 @signal newUrl(QUrl, str) emitted to open a URL in a new tab 26 @signal newUrl(QUrl, str) emitted to open a URL in a new tab
26 """ 27 """
27 openUrl = pyqtSignal(QUrl, str) 28 openUrl = pyqtSignal(QUrl, str)
28 newUrl = pyqtSignal(QUrl, str) 29 newUrl = pyqtSignal(QUrl, str)
29 30
30 def __init__(self, parent = None): 31 def __init__(self, parent=None):
31 """ 32 """
32 Constructor 33 Constructor
33 34
34 @param parent reference to the parent widget (QWidget) 35 @param parent reference to the parent widget (QWidget)
35 """ 36 """
59 60
60 @param idx index of the activated item (QModelIndex) 61 @param idx index of the activated item (QModelIndex)
61 """ 62 """
62 if self._keyboardModifiers & Qt.ControlModifier: 63 if self._keyboardModifiers & Qt.ControlModifier:
63 self.newUrl.emit( 64 self.newUrl.emit(
64 idx.data(BookmarksModel.UrlRole), 65 idx.data(BookmarksModel.UrlRole),
65 idx.data(Qt.DisplayRole)) 66 idx.data(Qt.DisplayRole))
66 else: 67 else:
67 self.openUrl.emit( 68 self.openUrl.emit(
68 idx.data(BookmarksModel.UrlRole), 69 idx.data(BookmarksModel.UrlRole),
69 idx.data(Qt.DisplayRole)) 70 idx.data(Qt.DisplayRole))
70 self.resetFlags() 71 self.resetFlags()
71 72
72 def postPopulated(self): 73 def postPopulated(self):
73 """ 74 """
112 if child.data(BookmarksModel.TypeRole) != BookmarkNode.Bookmark: 113 if child.data(BookmarksModel.TypeRole) != BookmarkNode.Bookmark:
113 continue 114 continue
114 115
115 if i == 0: 116 if i == 0:
116 self.openUrl.emit( 117 self.openUrl.emit(
117 child.data(BookmarksModel.UrlRole), 118 child.data(BookmarksModel.UrlRole),
118 child.data(Qt.DisplayRole)) 119 child.data(Qt.DisplayRole))
119 else: 120 else:
120 self.newUrl.emit( 121 self.newUrl.emit(
121 child.data(BookmarksModel.UrlRole), 122 child.data(BookmarksModel.UrlRole),
122 child.data(Qt.DisplayRole)) 123 child.data(Qt.DisplayRole))
123 124
124 def __contextMenuRequested(self, pos): 125 def __contextMenuRequested(self, pos):
125 """ 126 """
126 Private slot to handle the context menu request. 127 Private slot to handle the context menu request.
134 v = act.data() 135 v = act.data()
135 136
136 menuAction = menu.addAction(self.trUtf8("&Open"), self.__openBookmark) 137 menuAction = menu.addAction(self.trUtf8("&Open"), self.__openBookmark)
137 menuAction.setData(v) 138 menuAction.setData(v)
138 139
139 menuAction = menu.addAction(self.trUtf8("Open in New &Tab\tCtrl+LMB"), 140 menuAction = menu.addAction(self.trUtf8("Open in New &Tab\tCtrl+LMB"),
140 self.__openBookmarkInNewTab) 141 self.__openBookmarkInNewTab)
141 menuAction.setData(v) 142 menuAction.setData(v)
142 143
143 menu.addSeparator() 144 menu.addSeparator()
144 145
158 Private slot to open a bookmark in the current browser tab. 159 Private slot to open a bookmark in the current browser tab.
159 """ 160 """
160 idx = self.index(self.sender()) 161 idx = self.index(self.sender())
161 162
162 self.openUrl.emit( 163 self.openUrl.emit(
163 idx.data(BookmarksModel.UrlRole), 164 idx.data(BookmarksModel.UrlRole),
164 idx.data(Qt.DisplayRole)) 165 idx.data(Qt.DisplayRole))
165 166
166 def __openBookmarkInNewTab(self): 167 def __openBookmarkInNewTab(self):
167 """ 168 """
168 Private slot to open a bookmark in a new browser tab. 169 Private slot to open a bookmark in a new browser tab.
169 """ 170 """
170 idx = self.index(self.sender()) 171 idx = self.index(self.sender())
171 172
172 self.newUrl.emit( 173 self.newUrl.emit(
173 idx.data(BookmarksModel.UrlRole), 174 idx.data(BookmarksModel.UrlRole),
174 idx.data(Qt.DisplayRole)) 175 idx.data(Qt.DisplayRole))
175 176
176 def __removeBookmark(self): 177 def __removeBookmark(self):
177 """ 178 """
178 Private slot to remove a bookmark. 179 Private slot to remove a bookmark.
180 idx = self.index(self.sender()) 181 idx = self.index(self.sender())
181 self.removeEntry(idx) 182 self.removeEntry(idx)
182 183
183 ########################################################################################## 184 ##########################################################################################
184 185
186
185 class BookmarksMenuBarMenu(BookmarksMenu): 187 class BookmarksMenuBarMenu(BookmarksMenu):
186 """ 188 """
187 Class implementing a dynamically populated menu for bookmarks. 189 Class implementing a dynamically populated menu for bookmarks.
188 """ 190 """
189 def __init__(self, parent = None): 191 def __init__(self, parent=None):
190 """ 192 """
191 Constructor 193 Constructor
192 194
193 @param parent reference to the parent widget (QWidget) 195 @param parent reference to the parent widget (QWidget)
194 """ 196 """

eric ide

mercurial