summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-11-24 19:37:17 +0100
committerLiang Qi <liang.qi@qt.io>2016-11-24 19:37:17 +0100
commit6f8bb3d4c5b2f19cbf161f9dfff81e86cd0e17ab (patch)
treeb5eb3f0b7ef53eb15fc86f7e79e94a5288242c92
parent3ca53a2257f0fb4eae48e47095f6c01bd2471c06 (diff)
parent0e735daf4530f6f7972f2368535dd3cff2eeb3e3 (diff)
downloadqttools-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.cpp1
-rw-r--r--src/pixeltool/qpixeltool.cpp27
-rw-r--r--sync.profile13
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" => "",
-);