12 # |
12 # |
13 |
13 |
14 import os |
14 import os |
15 |
15 |
16 from PyQt4.QtCore import pyqtSlot, QFile, QFileInfo, QTimer, QPoint, QMimeData, Qt, \ |
16 from PyQt4.QtCore import pyqtSlot, QFile, QFileInfo, QTimer, QPoint, QMimeData, Qt, \ |
17 QEvent, QRegExp |
17 QEvent, QRegExp, qVersion |
18 from PyQt4.QtGui import QWidget, QImageWriter, QApplication, QPixmap, QCursor, QDrag, \ |
18 from PyQt4.QtGui import QWidget, QImageWriter, QApplication, QPixmap, QCursor, QDrag, \ |
19 QShortcut, QKeySequence, QDesktopServices |
19 QShortcut, QKeySequence, QDesktopServices |
|
20 if qVersion() >= "5.0.0": |
|
21 from PyQt4.QtGui import QScreen |
20 |
22 |
21 from E5Gui import E5FileDialog, E5MessageBox |
23 from E5Gui import E5FileDialog, E5MessageBox |
22 |
24 |
23 from .Ui_SnapWidget import Ui_SnapWidget |
25 from .Ui_SnapWidget import Ui_SnapWidget |
24 |
26 |
348 self.__grabberWidget.hide() |
350 self.__grabberWidget.hide() |
349 self.__grabTimer.stop() |
351 self.__grabTimer.stop() |
350 |
352 |
351 if self.__mode == SnapWidget.ModeFullscreen: |
353 if self.__mode == SnapWidget.ModeFullscreen: |
352 desktop = QApplication.desktop() |
354 desktop = QApplication.desktop() |
353 self.__snapshot = QPixmap.grabWindow(desktop.winId(), |
355 if qVersion() >= "5.0.0": |
354 desktop.x(), desktop.y(), desktop.width(), desktop.height()) |
356 self.__snapshot = QScreen.grabWindow(desktop.winId(), |
|
357 desktop.x(), desktop.y(), desktop.width(), desktop.height()) |
|
358 else: |
|
359 self.__snapshot = QPixmap.grabWindow(desktop.winId(), |
|
360 desktop.x(), desktop.y(), desktop.width(), desktop.height()) |
355 elif self.__mode == SnapWidget.ModeScreen: |
361 elif self.__mode == SnapWidget.ModeScreen: |
356 desktop = QApplication.desktop() |
362 desktop = QApplication.desktop() |
357 screenId = desktop.screenNumber(QCursor.pos()) |
363 screenId = desktop.screenNumber(QCursor.pos()) |
358 geom = desktop.screenGeometry(screenId) |
364 geom = desktop.screenGeometry(screenId) |
359 x = geom.x() |
365 x = geom.x() |
360 y = geom.y() |
366 y = geom.y() |
361 self.__snapshot = QPixmap.grabWindow( |
367 if qVersion() >= "5.0.0": |
362 desktop.winId(), x, y, geom.width(), geom.height()) |
368 self.__snapshot = QScreen.grabWindow( |
|
369 desktop.winId(), x, y, geom.width(), geom.height()) |
|
370 else: |
|
371 self.__snapshot = QPixmap.grabWindow( |
|
372 desktop.winId(), x, y, geom.width(), geom.height()) |
363 else: |
373 else: |
364 self.__snapshot = QPixmap() |
374 self.__snapshot = QPixmap() |
365 |
375 |
366 self.__redisplay() |
376 self.__redisplay() |
367 self.__modified = True |
377 self.__modified = True |