Browse Source

restore window after screenshot

pull/2277/head
PKev 10 years ago committed by PKEv
parent
commit
9484488c31
  1. 10
      src/widget/tool/screenshotgrabber.cpp

10
src/widget/tool/screenshotgrabber.cpp

@ -47,8 +47,9 @@ ScreenshotGrabber::ScreenshotGrabber(QWidget* parent)
void ScreenshotGrabber::reInit() void ScreenshotGrabber::reInit()
{ {
delete scene;
scene = new QGraphicsScene; scene = new QGraphicsScene;
window = new QGraphicsView (scene); // Top-level widget window = new QGraphicsView(scene); // Top-level widget
setupWindow(); setupWindow();
setupScene(scene); setupScene(scene);
showGrabber(); showGrabber();
@ -89,7 +90,7 @@ bool ScreenshotGrabber::handleKeyPress(QKeyEvent* event)
{ {
Widget *Widget = Widget::getInstance(); Widget *Widget = Widget::getInstance();
blocked = true; blocked = true;
if ( Widget->isVisible()) if (Widget->isVisible())
Widget->setVisible(false); Widget->setVisible(false);
else else
Widget->setVisible(true); Widget->setVisible(true);
@ -115,6 +116,7 @@ void ScreenshotGrabber::acceptRegion()
qDebug() << "Screenshot accepted, chosen region" << rect; qDebug() << "Screenshot accepted, chosen region" << rect;
emit screenshotTaken(this->screenGrab.copy(rect)); emit screenshotTaken(this->screenGrab.copy(rect));
this->window->close(); this->window->close();
Widget::getInstance()->setVisible(true); // show window if it was hidden
} }
void ScreenshotGrabber::setupWindow() void ScreenshotGrabber::setupWindow()
@ -170,7 +172,6 @@ void ScreenshotGrabber::chooseHelperTooltipText(QRect rect)
useNothingSelectedTooltip(); useNothingSelectedTooltip();
else else
useRegionSelectedTooltip(); useRegionSelectedTooltip();
} }
void ScreenshotGrabber::adjustTooltipPosition() void ScreenshotGrabber::adjustTooltipPosition()
@ -181,14 +182,13 @@ void ScreenshotGrabber::adjustTooltipPosition()
// Align the toolbox center-top. // Align the toolbox center-top.
helperToolbox->setX(screenRect.x() + (screenRect.width() - size.width() + size.x()) / 2); helperToolbox->setX(screenRect.x() + (screenRect.width() - size.width() + size.x()) / 2);
helperToolbox->setY(screenRect.y()); helperToolbox->setY(screenRect.y());
} }
void ScreenshotGrabber::reject() void ScreenshotGrabber::reject()
{ {
qDebug() << "Rejected screenshot"; qDebug() << "Rejected screenshot";
this->window->close(); this->window->close();
Widget::getInstance()->setVisible(true); // show window if it was hidden
} }
QRect ScreenshotGrabber::getSystemScreenRect() QRect ScreenshotGrabber::getSystemScreenRect()

Loading…
Cancel
Save