55 Constructor |
55 Constructor |
56 |
56 |
57 @param mode region grabber mode (SnapshotRegionGrabber.Rectangle or |
57 @param mode region grabber mode (SnapshotRegionGrabber.Rectangle or |
58 SnapshotRegionGrabber.Ellipse) |
58 SnapshotRegionGrabber.Ellipse) |
59 """ |
59 """ |
60 super().__init__(None, |
60 super().__init__( |
|
61 None, |
61 Qt.X11BypassWindowManagerHint | Qt.WindowStaysOnTopHint | |
62 Qt.X11BypassWindowManagerHint | Qt.WindowStaysOnTopHint | |
62 Qt.FramelessWindowHint | Qt.Tool) |
63 Qt.FramelessWindowHint | Qt.Tool) |
63 |
64 |
64 assert mode in [SnapshotRegionGrabber.Rectangle, |
65 assert mode in [SnapshotRegionGrabber.Rectangle, |
65 SnapshotRegionGrabber.Ellipse] |
66 SnapshotRegionGrabber.Ellipse] |
111 if qVersion() >= "5.0.0": |
112 if qVersion() >= "5.0.0": |
112 self.__pixmap = QApplication.screens()[0].grabWindow( |
113 self.__pixmap = QApplication.screens()[0].grabWindow( |
113 self.__desktop.winId(), x, y, |
114 self.__desktop.winId(), x, y, |
114 self.__desktop.width(), self.__desktop.height()) |
115 self.__desktop.width(), self.__desktop.height()) |
115 else: |
116 else: |
116 self.__pixmap = QPixmap.grabWindow(self.__desktop.winId(), x, y, |
117 self.__pixmap = QPixmap.grabWindow( |
|
118 self.__desktop.winId(), x, y, |
117 self.__desktop.width(), self.__desktop.height()) |
119 self.__desktop.width(), self.__desktop.height()) |
118 self.resize(self.__pixmap.size()) |
120 self.resize(self.__pixmap.size()) |
119 self.move(x, y) |
121 self.move(x, y) |
120 self.setCursor(Qt.CrossCursor) |
122 self.setCursor(Qt.CrossCursor) |
121 self.show() |
123 self.show() |
167 Qt.TextWordWrap, self.__helpText).translated( |
169 Qt.TextWordWrap, self.__helpText).translated( |
168 -self.__desktop.x(), -self.__desktop.y()) |
170 -self.__desktop.x(), -self.__desktop.y()) |
169 self.__helpTextRect.adjust(-2, -2, 4, 2) |
171 self.__helpTextRect.adjust(-2, -2, 4, 2) |
170 drawRect(painter, self.__helpTextRect, textColor, |
172 drawRect(painter, self.__helpTextRect, textColor, |
171 textBackgroundColor) |
173 textBackgroundColor) |
172 painter.drawText(self.__helpTextRect.adjusted(3, 3, -3, -3), |
174 painter.drawText( |
|
175 self.__helpTextRect.adjusted(3, 3, -3, -3), |
173 Qt.TextWordWrap, self.__helpText) |
176 Qt.TextWordWrap, self.__helpText) |
174 |
177 |
175 if self.__selection.isNull(): |
178 if self.__selection.isNull(): |
176 return |
179 return |
177 |
180 |
292 # moving the whole selection |
295 # moving the whole selection |
293 r = self.rect().normalized() |
296 r = self.rect().normalized() |
294 s = self.__selectionBeforeDrag.normalized() |
297 s = self.__selectionBeforeDrag.normalized() |
295 p = s.topLeft() + evt.pos() - self.__dragStartPoint |
298 p = s.topLeft() + evt.pos() - self.__dragStartPoint |
296 r.setBottomRight( |
299 r.setBottomRight( |
297 r.bottomRight() - QPoint(s.width(), |
300 r.bottomRight() - QPoint(s.width(), s.height()) + |
298 s.height()) + QPoint(1, 1)) |
301 QPoint(1, 1)) |
299 if not r.isNull() and r.isValid(): |
302 if not r.isNull() and r.isValid(): |
300 self.__selection.moveTo(self.__limitPointToRect(p, r)) |
303 self.__selection.moveTo(self.__limitPointToRect(p, r)) |
301 else: |
304 else: |
302 # dragging a handle |
305 # dragging a handle |
303 r = QRect(self.__selectionBeforeDrag) |
306 r = QRect(self.__selectionBeforeDrag) |