diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-10-21 16:43:21 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-10-28 18:21:59 +0200 |
commit | c0d30fae55ce89d957f8a2e9cf18a07d9bc9a83e (patch) | |
tree | 89aed0be0727f0e0fca7b302590e832454f8a060 | |
parent | 2f6f59f6a0a8c91f00fc5ea0530125346cf6650d (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.cpp | 11 | ||||
-rw-r--r-- | src/pixeltool/qpixeltool.h | 1 |
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); } |