diff options
author | Liang Qi <liang.qi@qt.io> | 2016-11-24 19:37:17 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-11-24 19:37:17 +0100 |
commit | 6f8bb3d4c5b2f19cbf161f9dfff81e86cd0e17ab (patch) | |
tree | b5eb3f0b7ef53eb15fc86f7e79e94a5288242c92 | |
parent | 3ca53a2257f0fb4eae48e47095f6c01bd2471c06 (diff) | |
parent | 0e735daf4530f6f7972f2368535dd3cff2eeb3e3 (diff) | |
download | qttools-5.7.tar.gz |
Merge remote-tracking branch 'origin/5.6' into 5.75.7
Change-Id: Ia29a9aa855aa3bfab1a26fc3671b6c5436c176c1
-rw-r--r-- | src/designer/src/components/widgetbox/widgetboxtreewidget.cpp | 1 | ||||
-rw-r--r-- | src/pixeltool/qpixeltool.cpp | 27 | ||||
-rw-r--r-- | sync.profile | 13 |
3 files changed, 21 insertions, 20 deletions
diff --git a/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp b/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp index 6b87e8131..4fa7222d0 100644 --- a/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp +++ b/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp @@ -67,7 +67,6 @@ static const char *defaultTypeValueC = "default"; static const char *customValueC = "custom"; static const char *iconPrefixC = "__qt_icon__"; static const char *scratchPadValueC = "scratchpad"; -static const char *qtLogoC = "qtlogo.png"; static const char *invisibleNameC = "[invisible]"; enum TopLevelRole { NORMAL_ITEM, SCRATCHPAD_ITEM, CUSTOM_ITEM }; diff --git a/src/pixeltool/qpixeltool.cpp b/src/pixeltool/qpixeltool.cpp index cd39bdde4..e02fa0eb8 100644 --- a/src/pixeltool/qpixeltool.cpp +++ b/src/pixeltool/qpixeltool.cpp @@ -51,6 +51,18 @@ QT_BEGIN_NAMESPACE +static QPoint initialPos(const QSettings &settings, const QSize &initialSize) +{ + const QDesktopWidget *desktopWidget = QApplication::desktop(); + const QPoint defaultPos = desktopWidget->availableGeometry().topLeft(); + const QPoint savedPos = + settings.value(QLatin1String("position"), QVariant(defaultPos)).toPoint(); + const int savedScreen = desktopWidget->screenNumber(savedPos); + return savedScreen >= 0 + && desktopWidget->availableGeometry(savedScreen).intersects(QRect(savedPos, initialSize)) + ? savedPos : defaultPos; +} + QPixelTool::QPixelTool(QWidget *parent) : QWidget(parent) , m_freeze(false) @@ -70,7 +82,7 @@ QPixelTool::QPixelTool(QWidget *parent) m_zoom = settings.value(QLatin1String("zoom"), 4).toInt(); m_initialSize = settings.value(QLatin1String("initialSize"), QSize(250, 200)).toSize(); - move(settings.value(QLatin1String("position")).toPoint()); + move(initialPos(settings, m_initialSize)); setMouseTracking(true); setAttribute(Qt::WA_NoBackground); @@ -426,11 +438,14 @@ void QPixelTool::grabScreen() int x = mousePos.x() - w/2; int y = mousePos.y() - h/2; + const QBrush darkBrush = palette().color(QPalette::Dark); const QDesktopWidget *desktopWidget = QApplication::desktop(); - - QScreen *screen = QGuiApplication::screens().at(desktopWidget->screenNumber(this)); - m_buffer = screen->grabWindow(desktopWidget->winId(), x, y, w, h); - + if (QScreen *screen = QGuiApplication::screens().value(desktopWidget->screenNumber(this), Q_NULLPTR)) { + m_buffer = screen->grabWindow(desktopWidget->winId(), x, y, w, h); + } else { + m_buffer = QPixmap(w, h); + m_buffer.fill(darkBrush.color()); + } QRegion geom(x, y, w, h); QRect screenRect; for (int i = 0; i < desktopWidget->numScreens(); ++i) @@ -441,7 +456,7 @@ void QPixelTool::grabScreen() QPainter p(&m_buffer); p.translate(-x, -y); p.setPen(Qt::NoPen); - p.setBrush(palette().color(QPalette::Dark)); + p.setBrush(darkBrush); p.drawRects(rects); } diff --git a/sync.profile b/sync.profile index 28a3d1b9a..9dcaf8ce7 100644 --- a/sync.profile +++ b/sync.profile @@ -19,16 +19,3 @@ "QDesignerExportWidget" => "QtUiPlugin/QDesignerExportWidget" } ); -# Module dependencies. -# Every module that is required to build this module should have one entry. -# Each of the module version specifiers can take one of the following values: -# - A specific Git revision. -# - any git symbolic ref resolvable from the module's repository (e.g. "refs/heads/master" to track master branch) -# - an empty string to use the same branch under test (dependencies will become "refs/heads/master" if we are in the master branch) -# -%dependencies = ( - "qtbase" => "", - "qtxmlpatterns" => "", - "qtdeclarative" => "", - "qtactiveqt" => "", -); |