Files
flameshot/src/utils/configshortcuts.cpp
2020-12-17 12:25:08 +02:00

144 lines
6.1 KiB
C++

#include "configshortcuts.h"
#include "src/tools/capturetool.h"
#include <QVariant>
ConfigShortcuts::ConfigShortcuts() {}
const QVector<QStringList>& ConfigShortcuts::captureShortcutsDefault(
const QVector<CaptureToolButton::ButtonType>& buttons)
{
// get shortcuts names from tools
for (const CaptureToolButton::ButtonType& t : buttons) {
CaptureToolButton* b = new CaptureToolButton(t, nullptr);
QString shortcutName = QVariant::fromValue(t).toString();
QKeySequence ks = captureShortcutDefault(t);
m_shortcuts << (QStringList()
<< shortcutName << b->tool()->description()
<< ks.toString());
delete b;
}
m_shortcuts << (QStringList()
<< "TYPE_TOGGLE_PANEL" << QObject::tr("Toggle side panel")
<< QKeySequence(Qt::Key_Space).toString());
m_shortcuts << (QStringList()
<< "TYPE_RESIZE_LEFT"
<< QObject::tr("Resize selection left 1px")
<< QKeySequence(Qt::SHIFT + Qt::Key_Left).toString());
m_shortcuts << (QStringList()
<< "TYPE_RESIZE_RIGHT"
<< QObject::tr("Resize selection right 1px")
<< QKeySequence(Qt::SHIFT + Qt::Key_Right).toString());
m_shortcuts << (QStringList()
<< "TYPE_RESIZE_UP"
<< QObject::tr("Resize selection up 1px")
<< QKeySequence(Qt::SHIFT + Qt::Key_Up).toString());
m_shortcuts << (QStringList()
<< "TYPE_RESIZE_DOWN"
<< QObject::tr("Resize selection down 1px")
<< QKeySequence(Qt::SHIFT + Qt::Key_Down).toString());
m_shortcuts << (QStringList() << "TYPE_MOVE_LEFT"
<< QObject::tr("Move selection left 1px")
<< QKeySequence(Qt::Key_Left).toString());
m_shortcuts << (QStringList() << "TYPE_MOVE_RIGHT"
<< QObject::tr("Move selection right 1px")
<< QKeySequence(Qt::Key_Right).toString());
m_shortcuts << (QStringList()
<< "TYPE_MOVE_UP" << QObject::tr("Move selection up 1px")
<< QKeySequence(Qt::Key_Up).toString());
m_shortcuts << (QStringList() << "TYPE_MOVE_DOWN"
<< QObject::tr("Move selection down 1px")
<< QKeySequence(Qt::Key_Down).toString());
m_shortcuts << (QStringList() << "" << QObject::tr("Quit capture")
<< QKeySequence(Qt::Key_Escape).toString());
#if (defined(Q_OS_MAC) || defined(Q_OS_MAC64) || defined(Q_OS_MACOS) || \
defined(Q_OS_MACX))
m_shortcuts << (QStringList()
<< "" << QObject::tr("Screenshot history") << "⇧⌘⌥H");
m_shortcuts << (QStringList()
<< "" << QObject::tr("Capture screen") << "⇧⌘⌥4");
#else
m_shortcuts << (QStringList() << "" << QObject::tr("Screenshot history")
<< "Shift+Print Screen");
m_shortcuts << (QStringList()
<< "" << QObject::tr("Capture screen") << "Print Screen");
#endif
m_shortcuts << (QStringList()
<< "" << QObject::tr("Show color picker") << "Right Click");
m_shortcuts << (QStringList()
<< "" << QObject::tr("Change the tool's thickness")
<< "Mouse Wheel");
return m_shortcuts;
}
const QKeySequence& ConfigShortcuts::captureShortcutDefault(
const CaptureToolButton::ButtonType& buttonType)
{
m_ks = QKeySequence();
switch (buttonType) {
case CaptureToolButton::ButtonType::TYPE_PENCIL:
m_ks = QKeySequence(Qt::Key_P);
break;
case CaptureToolButton::ButtonType::TYPE_DRAWER:
m_ks = QKeySequence(Qt::Key_D);
break;
case CaptureToolButton::ButtonType::TYPE_ARROW:
m_ks = QKeySequence(Qt::Key_A);
break;
case CaptureToolButton::ButtonType::TYPE_SELECTION:
m_ks = QKeySequence(Qt::Key_S);
break;
case CaptureToolButton::ButtonType::TYPE_RECTANGLE:
m_ks = QKeySequence(Qt::Key_R);
break;
case CaptureToolButton::ButtonType::TYPE_CIRCLE:
m_ks = QKeySequence(Qt::Key_C);
break;
case CaptureToolButton::ButtonType::TYPE_MARKER:
m_ks = QKeySequence(Qt::Key_M);
break;
// case CaptureToolButton::ButtonType::TYPE_SELECTIONINDICATOR:
case CaptureToolButton::ButtonType::TYPE_MOVESELECTION:
m_ks = QKeySequence(Qt::CTRL + Qt::Key_M);
break;
case CaptureToolButton::ButtonType::TYPE_UNDO:
m_ks = QKeySequence(Qt::CTRL + Qt::Key_Z);
break;
case CaptureToolButton::ButtonType::TYPE_COPY:
m_ks = QKeySequence(Qt::CTRL + Qt::Key_C);
break;
case CaptureToolButton::ButtonType::TYPE_SAVE:
m_ks = QKeySequence(Qt::CTRL + Qt::Key_S);
break;
case CaptureToolButton::ButtonType::TYPE_EXIT:
m_ks = QKeySequence(Qt::CTRL + Qt::Key_Q);
break;
case CaptureToolButton::ButtonType::TYPE_IMAGEUPLOADER:
m_ks = QKeySequence(Qt::Key_Return);
break;
#if not(defined(Q_OS_MAC) || defined(Q_OS_MAC64) || defined(Q_OS_MACOS) || \
defined(Q_OS_MACX))
case CaptureToolButton::ButtonType::TYPE_OPEN_APP:
m_ks = QKeySequence(Qt::CTRL + Qt::Key_O);
break;
#endif
case CaptureToolButton::ButtonType::TYPE_PIXELATE:
m_ks = QKeySequence(Qt::Key_B);
break;
case CaptureToolButton::ButtonType::TYPE_REDO:
m_ks = QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Z);
break;
// case CaptureToolButton::ButtonType::TYPE_PIN:
case CaptureToolButton::ButtonType::TYPE_TEXT:
m_ks = QKeySequence(Qt::Key_T);
break;
default:
break;
}
return m_ks;
}