16 |
16 |
17 from .BookmarksModel import BookmarksModel |
17 from .BookmarksModel import BookmarksModel |
18 from .BookmarksMenu import BookmarksMenu |
18 from .BookmarksMenu import BookmarksMenu |
19 from .AddBookmarkDialog import AddBookmarkDialog |
19 from .AddBookmarkDialog import AddBookmarkDialog |
20 |
20 |
|
21 |
21 class BookmarksToolBar(E5ModelToolBar): |
22 class BookmarksToolBar(E5ModelToolBar): |
22 """ |
23 """ |
23 Class implementing a tool bar showing bookmarks. |
24 Class implementing a tool bar showing bookmarks. |
24 |
25 |
25 @signal openUrl(QUrl, str) emitted to open a URL in the current tab |
26 @signal openUrl(QUrl, str) emitted to open a URL in the current tab |
26 @signal newUrl(QUrl, str) emitted to open a URL in a new tab |
27 @signal newUrl(QUrl, str) emitted to open a URL in a new tab |
27 """ |
28 """ |
28 openUrl = pyqtSignal(QUrl, str) |
29 openUrl = pyqtSignal(QUrl, str) |
29 newUrl = pyqtSignal(QUrl, str) |
30 newUrl = pyqtSignal(QUrl, str) |
30 |
31 |
31 def __init__(self, model, parent = None): |
32 def __init__(self, model, parent=None): |
32 """ |
33 """ |
33 Constructor |
34 Constructor |
34 |
35 |
35 @param model reference to the bookmarks model (BookmarksModel) |
36 @param model reference to the bookmarks model (BookmarksModel) |
36 @param parent reference to the parent widget (QWidget) |
37 @param parent reference to the parent widget (QWidget) |
37 """ |
38 """ |
38 E5ModelToolBar.__init__(self, |
39 E5ModelToolBar.__init__(self, |
39 QApplication.translate("BookmarksToolBar", "Bookmarks"), parent) |
40 QApplication.translate("BookmarksToolBar", "Bookmarks"), parent) |
40 |
41 |
41 self.__bookmarksModel = model |
42 self.__bookmarksModel = model |
42 |
43 |
43 self.setModel(model) |
44 self.setModel(model) |
93 """ |
94 """ |
94 assert idx.isValid() |
95 assert idx.isValid() |
95 |
96 |
96 if self._keyboardModifiers & Qt.ControlModifier: |
97 if self._keyboardModifiers & Qt.ControlModifier: |
97 self.newUrl.emit( |
98 self.newUrl.emit( |
98 idx.data(BookmarksModel.UrlRole), |
99 idx.data(BookmarksModel.UrlRole), |
99 idx.data(Qt.DisplayRole)) |
100 idx.data(Qt.DisplayRole)) |
100 else: |
101 else: |
101 self.openUrl.emit( |
102 self.openUrl.emit( |
102 idx.data(BookmarksModel.UrlRole), |
103 idx.data(BookmarksModel.UrlRole), |
103 idx.data(Qt.DisplayRole)) |
104 idx.data(Qt.DisplayRole)) |
104 |
105 |
105 def __openToolBarBookmark(self): |
106 def __openToolBarBookmark(self): |
106 """ |
107 """ |
107 Private slot to open a bookmark in the current browser tab. |
108 Private slot to open a bookmark in the current browser tab. |
108 """ |
109 """ |
109 idx = self.index(self.sender()) |
110 idx = self.index(self.sender()) |
110 |
111 |
111 if self._keyboardModifiers & Qt.ControlModifier: |
112 if self._keyboardModifiers & Qt.ControlModifier: |
112 self.newUrl.emit( |
113 self.newUrl.emit( |
113 idx.data(BookmarksModel.UrlRole), |
114 idx.data(BookmarksModel.UrlRole), |
114 idx.data(Qt.DisplayRole)) |
115 idx.data(Qt.DisplayRole)) |
115 else: |
116 else: |
116 self.openUrl.emit( |
117 self.openUrl.emit( |
117 idx.data(BookmarksModel.UrlRole), |
118 idx.data(BookmarksModel.UrlRole), |
118 idx.data(Qt.DisplayRole)) |
119 idx.data(Qt.DisplayRole)) |
119 self.resetFlags() |
120 self.resetFlags() |
120 |
121 |
121 def __openBookmark(self): |
122 def __openBookmark(self): |
122 """ |
123 """ |
123 Private slot to open a bookmark in the current browser tab. |
124 Private slot to open a bookmark in the current browser tab. |
124 """ |
125 """ |
125 idx = self.index(self.sender()) |
126 idx = self.index(self.sender()) |
126 |
127 |
127 self.openUrl.emit( |
128 self.openUrl.emit( |
128 idx.data(BookmarksModel.UrlRole), |
129 idx.data(BookmarksModel.UrlRole), |
129 idx.data(Qt.DisplayRole)) |
130 idx.data(Qt.DisplayRole)) |
130 |
131 |
131 def __openBookmarkInNewTab(self): |
132 def __openBookmarkInNewTab(self): |
132 """ |
133 """ |
133 Private slot to open a bookmark in a new browser tab. |
134 Private slot to open a bookmark in a new browser tab. |
134 """ |
135 """ |
135 idx = self.index(self.sender()) |
136 idx = self.index(self.sender()) |
136 |
137 |
137 self.newUrl.emit( |
138 self.newUrl.emit( |
138 idx.data(BookmarksModel.UrlRole), |
139 idx.data(BookmarksModel.UrlRole), |
139 idx.data(Qt.DisplayRole)) |
140 idx.data(Qt.DisplayRole)) |
140 |
141 |
141 def __removeBookmark(self): |
142 def __removeBookmark(self): |
142 """ |
143 """ |
143 Private slot to remove a bookmark. |
144 Private slot to remove a bookmark. |