8 """ |
8 """ |
9 |
9 |
10 import os |
10 import os |
11 |
11 |
12 from PyQt4.QtCore import pyqtSlot, QUrl, Qt, QFile, qVersion |
12 from PyQt4.QtCore import pyqtSlot, QUrl, Qt, QFile, qVersion |
13 from PyQt4.QtGui import QDialog, QTreeWidgetItem, QPixmap, QGraphicsScene, QMenu, \ |
13 from PyQt4.QtGui import QDialog, QTreeWidgetItem, QPixmap, QGraphicsScene, \ |
14 QCursor, QApplication, QListWidgetItem |
14 QMenu, QCursor, QApplication, QListWidgetItem |
15 from PyQt4.QtWebKit import QWebSettings |
15 from PyQt4.QtWebKit import QWebSettings |
16 |
16 |
17 from E5Gui import E5MessageBox, E5FileDialog |
17 from E5Gui import E5MessageBox, E5FileDialog |
18 |
18 |
19 try: |
19 try: |
20 from .Ui_SiteInfoDialog import Ui_SiteInfoDialog # __IGNORE_WARNING__ |
20 from .Ui_SiteInfoDialog import Ui_SiteInfoDialog # __IGNORE_WARNING__ |
21 SSL = True |
21 SSL = True |
22 except ImportError: |
22 except ImportError: |
23 from .Ui_SiteInfoNoSslDialog import Ui_SiteInfoDialog # __IGNORE_WARNING__ |
23 from .Ui_SiteInfoNoSslDialog import Ui_SiteInfoDialog # __IGNORE_WARNING__ |
24 SSL = False |
24 SSL = False |
25 |
25 |
26 from ..Download.DownloadUtilities import dataString |
26 from ..Download.DownloadUtilities import dataString |
27 |
27 |
28 import UI.PixmapCache |
28 import UI.PixmapCache |
44 """ |
44 """ |
45 super().__init__(parent) |
45 super().__init__(parent) |
46 self.setupUi(self) |
46 self.setupUi(self) |
47 |
47 |
48 # put icons |
48 # put icons |
49 self.tabWidget.setTabIcon(0, UI.PixmapCache.getIcon("siteinfo-general.png")) |
49 self.tabWidget.setTabIcon( |
50 self.tabWidget.setTabIcon(1, UI.PixmapCache.getIcon("siteinfo-media.png")) |
50 0, UI.PixmapCache.getIcon("siteinfo-general.png")) |
51 self.tabWidget.setTabIcon(2, UI.PixmapCache.getIcon("siteinfo-databases.png")) |
51 self.tabWidget.setTabIcon( |
|
52 1, UI.PixmapCache.getIcon("siteinfo-media.png")) |
|
53 self.tabWidget.setTabIcon( |
|
54 2, UI.PixmapCache.getIcon("siteinfo-databases.png")) |
52 if SSL: |
55 if SSL: |
53 self.tabWidget.setTabIcon(3, UI.PixmapCache.getIcon("siteinfo-security.png")) |
56 self.tabWidget.setTabIcon( |
|
57 3, UI.PixmapCache.getIcon("siteinfo-security.png")) |
54 |
58 |
55 self.__mainFrame = browser.page().mainFrame() |
59 self.__mainFrame = browser.page().mainFrame() |
56 title = browser.title() |
60 title = browser.title() |
57 sslInfo = browser.page().getSslCertificateChain() |
61 sslInfo = browser.page().getSslCertificateChain() |
58 |
62 |
98 self.securityDetailsButton.setEnabled(False) |
102 self.securityDetailsButton.setEnabled(False) |
99 else: |
103 else: |
100 self.securityLabel.setStyleSheet(SiteInfoDialog.nokStyle) |
104 self.securityLabel.setStyleSheet(SiteInfoDialog.nokStyle) |
101 self.securityLabel.setText('<b>Connection is not encrypted.</b>') |
105 self.securityLabel.setText('<b>Connection is not encrypted.</b>') |
102 self.securityDetailsButton.setEnabled(False) |
106 self.securityDetailsButton.setEnabled(False) |
103 self.tabWidget.setTabEnabled(self.tabWidget.indexOf(self.securityTab), False) |
107 self.tabWidget.setTabEnabled( |
|
108 self.tabWidget.indexOf(self.securityTab), False) |
104 |
109 |
105 # populate Media tab |
110 # populate Media tab |
106 images = self.__mainFrame.findAllElements("img") |
111 images = self.__mainFrame.findAllElements("img") |
107 for element in images: |
112 for element in images: |
108 src = element.attribute("src") |
113 src = element.attribute("src") |
146 @pyqtSlot() |
151 @pyqtSlot() |
147 def on_securityDetailsButton_clicked(self): |
152 def on_securityDetailsButton_clicked(self): |
148 """ |
153 """ |
149 Private slot to show security details. |
154 Private slot to show security details. |
150 """ |
155 """ |
151 self.tabWidget.setCurrentIndex(self.tabWidget.indexOf(self.securityTab)) |
156 self.tabWidget.setCurrentIndex( |
|
157 self.tabWidget.indexOf(self.securityTab)) |
152 |
158 |
153 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) |
159 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) |
154 def on_imagesTree_currentItemChanged(self, current, previous): |
160 def on_imagesTree_currentItemChanged(self, current, previous): |
155 """ |
161 """ |
156 Private slot to show a preview of the selected image. |
162 Private slot to show a preview of the selected image. |
259 f = QFile(filename) |
265 f = QFile(filename) |
260 if not f.open(QFile.WriteOnly): |
266 if not f.open(QFile.WriteOnly): |
261 E5MessageBox.critical(self, |
267 E5MessageBox.critical(self, |
262 self.trUtf8("Save Image"), |
268 self.trUtf8("Save Image"), |
263 self.trUtf8( |
269 self.trUtf8( |
264 """<p>Cannot write to file <b>{0}</b>.</p>""".format(filename))) |
270 """<p>Cannot write to file <b>{0}</b>.</p>""") |
|
271 .format(filename)) |
265 return |
272 return |
266 f.write(cacheData.readAll()) |
273 f.write(cacheData.readAll()) |
267 f.close() |
274 f.close() |
268 |
275 |
269 @pyqtSlot(QListWidgetItem, QListWidgetItem) |
276 @pyqtSlot(QListWidgetItem, QListWidgetItem) |
282 |
289 |
283 if id >= len(databases): |
290 if id >= len(databases): |
284 return |
291 return |
285 |
292 |
286 db = databases[id] |
293 db = databases[id] |
287 self.databaseName.setText("{0} ({1})".format(db.displayName(), db.name())) |
294 self.databaseName.setText( |
|
295 "{0} ({1})".format(db.displayName(), db.name())) |
288 self.databasePath.setText(db.fileName()) |
296 self.databasePath.setText(db.fileName()) |
289 self.databaseSize.setText(dataString(db.size())) |
297 self.databaseSize.setText(dataString(db.size())) |