18 |
18 |
19 class PageScreenDialog(QDialog, Ui_PageScreenDialog): |
19 class PageScreenDialog(QDialog, Ui_PageScreenDialog): |
20 """ |
20 """ |
21 Class documentation goes here. |
21 Class documentation goes here. |
22 """ |
22 """ |
23 def __init__(self, view, parent=None): |
23 def __init__(self, view, visibleOnly=False, parent=None): |
24 """ |
24 """ |
25 Constructor |
25 Constructor |
26 |
26 |
27 @param view reference to the web view containing the page to be saved |
27 @param view reference to the web view containing the page to be saved |
28 (HelpBrowser) |
28 (HelpBrowser) |
|
29 @param visibleOnly flag indicating to just save the visible part |
|
30 of the page (boolean) |
29 @param parent reference to the parent widget (QWidget) |
31 @param parent reference to the parent widget (QWidget) |
30 """ |
32 """ |
31 super().__init__(parent) |
33 super().__init__(parent) |
32 self.setupUi(self) |
34 self.setupUi(self) |
33 |
35 |
34 self.__view = view |
36 self.__view = view |
35 self.__createPixmap() |
37 self.__createPixmap(visibleOnly) |
36 self.pageScreenLabel.setPixmap(self.__pagePixmap) |
38 self.pageScreenLabel.setPixmap(self.__pagePixmap) |
37 |
39 |
38 def __createPixmap(self): |
40 def __createPixmap(self, visibleOnly): |
39 """ |
41 """ |
40 Private slot to create a pixmap of the associated view's page. |
42 Private slot to create a pixmap of the associated view's page. |
|
43 |
|
44 @param visibleOnly flag indicating to just save the visible part |
|
45 of the page (boolean) |
41 """ |
46 """ |
42 page = self.__view.page() |
47 page = self.__view.page() |
43 origSize = page.viewportSize() |
48 origSize = page.viewportSize() |
44 page.setViewportSize(page.mainFrame().contentsSize()) |
49 if not visibleOnly: |
|
50 page.setViewportSize(page.mainFrame().contentsSize()) |
45 |
51 |
46 image = QImage(page.viewportSize(), QImage.Format_ARGB32) |
52 image = QImage(page.viewportSize(), QImage.Format_ARGB32) |
47 painter = QPainter(image) |
53 painter = QPainter(image) |
48 page.mainFrame().render(painter) |
54 page.mainFrame().render(painter) |
49 painter.end() |
55 painter.end() |