summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-10-21 16:43:21 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-10-28 18:21:59 +0200
commitc0d30fae55ce89d957f8a2e9cf18a07d9bc9a83e (patch)
tree89aed0be0727f0e0fca7b302590e832454f8a060
parent2f6f59f6a0a8c91f00fc5ea0530125346cf6650d (diff)
pixeltool: Add context menu option to copy the color
Add an option to copy the color via QColor::name(), bound to the 'c' key. Change-Id: Ib33538e5ea5523e5ec5881d75e0b17ab675078e3 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r--src/pixeltool/qpixeltool.cpp11
-rw-r--r--src/pixeltool/qpixeltool.h1
2 files changed, 11 insertions, 1 deletions
diff --git a/src/pixeltool/qpixeltool.cpp b/src/pixeltool/qpixeltool.cpp
index f699ec828..81923d1ed 100644
--- a/src/pixeltool/qpixeltool.cpp
+++ b/src/pixeltool/qpixeltool.cpp
@@ -307,8 +307,10 @@ void QPixelTool::keyPressEvent(QKeyEvent *e)
break;
#if QT_CONFIG(clipboard)
case Qt::Key_C:
- if (e->modifiers() & Qt::ControlModifier)
+ if (e->modifiers().testFlag(Qt::ControlModifier))
copyToClipboard();
+ else
+ copyColorToClipboard();
break;
#endif // QT_CONFIG(clipboard)
case Qt::Key_S:
@@ -448,6 +450,8 @@ void QPixelTool::contextMenuEvent(QContextMenuEvent *e)
#if QT_CONFIG(clipboard)
menu.addAction(QLatin1String("Copy to clipboard"),
this, &QPixelTool::copyToClipboard, QKeySequence::Copy);
+ menu.addAction(QLatin1String("Copy color value to clipboard"),
+ this, &QPixelTool::copyColorToClipboard, Qt::Key_C);
#endif // QT_CONFIG(clipboard)
menu.addSeparator();
@@ -640,6 +644,11 @@ void QPixelTool::copyToClipboard()
{
QGuiApplication::clipboard()->setPixmap(m_buffer);
}
+
+void QPixelTool::copyColorToClipboard()
+{
+ QGuiApplication::clipboard()->setText(QColor(m_currentColor).name());
+}
#endif // QT_CONFIG(clipboard)
void QPixelTool::saveToFile()
diff --git a/src/pixeltool/qpixeltool.h b/src/pixeltool/qpixeltool.h
index beb786fd2..3fa9f1e7e 100644
--- a/src/pixeltool/qpixeltool.h
+++ b/src/pixeltool/qpixeltool.h
@@ -53,6 +53,7 @@ public slots:
void setZoomVisible(bool visible);
#if QT_CONFIG(clipboard)
void copyToClipboard();
+ void copyColorToClipboard();
#endif
void saveToFile();
void increaseGridSize() { setGridSize(m_gridSize + 1); }