Fix up keyboard shorcut on < Qt 5.10

This commit is contained in:
Gaute Lindkvist
2019-03-27 12:01:22 +01:00
parent af20545691
commit 3d3868e29d
24 changed files with 52 additions and 50 deletions

View File

@@ -59,5 +59,5 @@ void RicExitApplicationFeature::onActionTriggered(bool isChecked)
void RicExitApplicationFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("E&xit");
actionToSetup->setShortcuts(QKeySequence::Quit);
actionToSetup->setShortcut(QKeySequence::Quit);
}

View File

@@ -78,7 +78,6 @@ void RicDeleteValveTemplateFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete Valve Template");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -79,11 +79,11 @@ void RicToggleMeasurementModeFeature::setupActionLook(QAction* actionToSetup)
auto* meas = measurement();
if (meas && meas->measurementMode() == RimMeasurement::MEASURE_REGULAR)
{
actionToSetup->setShortcut(QKeySequence(Qt::Key_Escape));
applyShortcutWithHintToAction(actionToSetup, QKeySequence(Qt::Key_Escape));
}
else
{
actionToSetup->setShortcut(QKeySequence());
applyShortcutWithHintToAction(actionToSetup, QKeySequence());
}
}
@@ -148,11 +148,11 @@ void RicTogglePolyMeasurementModeFeature::setupActionLook(QAction* actionToSetup
auto* meas = measurement();
if (meas && meas->measurementMode() == RimMeasurement::MEASURE_POLYLINE)
{
actionToSetup->setShortcut(QKeySequence(Qt::Key_Escape));
applyShortcutWithHintToAction(actionToSetup, QKeySequence(Qt::Key_Escape));
}
else
{
actionToSetup->setShortcut(QKeySequence());
applyShortcutWithHintToAction(actionToSetup, QKeySequence());
}
}

View File

@@ -82,6 +82,5 @@ void RicDeleteScriptPathFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete Script Path");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -95,8 +95,7 @@ void RicCopyReferencesToClipboardFeature::setupActionLook(QAction* actionToSetup
{
actionToSetup->setText("Copy");
actionToSetup->setIcon(QIcon(":/Copy.png"));
actionToSetup->setShortcuts(QKeySequence::Copy);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Copy);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -82,8 +82,7 @@ void RicCutReferencesToClipboardFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Cut");
actionToSetup->setIcon(QIcon(":/Clipboard.png"));
actionToSetup->setShortcut(QKeySequence::Cut);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Cut);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -30,6 +30,7 @@
#include "RimMimeData.h"
#include "RimProject.h"
#include "cafCmdFeature.h"
#include "cafPdmObjectGroup.h"
#include "cafPdmObjectHandle.h"
@@ -146,8 +147,7 @@ void RicPasteFeatureImpl::setIconAndShortcuts(QAction* action)
if (action)
{
action->setIcon(QIcon(":/clipboard.png"));
action->setShortcuts(QKeySequence::Paste);
action->setShortcutVisibleInContextMenu(true);
caf::CmdFeature::applyShortcutWithHintToAction(action, QKeySequence::Paste);
}
}

View File

@@ -109,8 +109,7 @@ void RicCloseCaseFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Close");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -46,8 +46,7 @@ void RicCloseSummaryCaseFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Close Summary Case");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -216,6 +216,5 @@ void RicDeleteItemFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -106,8 +106,7 @@ void RicDeleteSubItemsFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete Sub Items");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -133,8 +133,7 @@ void RicDeleteSummaryCaseCollectionFeature::setupActionLook(QAction* actionToSet
{
actionToSetup->setText("Delete Summary Case Group/Ensemble");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -81,6 +81,5 @@ void RicDeleteTemporaryLgrsFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete Temporary LGRs");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -116,11 +116,11 @@ void RicPasteSummaryCaseFeature::onActionTriggered(bool isChecked)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicPasteSummaryCaseFeature::setupActionLook(QAction* action)
void RicPasteSummaryCaseFeature::setupActionLook(QAction* actionToSetup)
{
action->setText("Paste Summary Case");
action->setIcon(QIcon(":/clipboard.png"));
action->setShortcut(QKeySequence::Paste);
actionToSetup->setText("Paste Summary Case");
actionToSetup->setIcon(QIcon(":/clipboard.png"));
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Paste);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -78,6 +78,5 @@ void Ric3dWellLogCurveDeleteFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete 3D Well Log Curve(s)");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -76,6 +76,5 @@ void RicDeleteRftPlotFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete RFT Plot");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -104,6 +104,5 @@ void RicDeleteWellLogPlotTrackFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete Track");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -71,8 +71,7 @@ void RicDeletePolylineTargetFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete Target");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -109,12 +109,12 @@ void RicDeleteWellPathAttributeFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete Attribute");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}
else if (caf::SelectionManager::instance()->selectedItemOfType<RimWellPathAttributeCollection>())
{
actionToSetup->setText("Delete Casing Design");
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}
}

View File

@@ -86,6 +86,5 @@ void RicWellPathDeleteFeature::setupActionLook(QAction* actionToSetup)
actionToSetup->setText("Delete Well Path");
}
actionToSetup->setIcon(QIcon(":/Erase.png"));
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}

View File

@@ -25,6 +25,8 @@
#include "SummaryPlotCommands/RicAsciiExportSummaryPlotFeature.h"
#include "cafCmdFeature.h"
#include <QAction>
#include <QApplication>
#include <QBoxLayout>
@@ -164,7 +166,7 @@ void RiuTextDialog::contextMenuEvent(QContextMenuEvent* event)
actionToSetup->setText("Copy");
actionToSetup->setIcon(QIcon(":/Copy.png"));
actionToSetup->setShortcuts(QKeySequence::Copy);
caf::CmdFeature::applyShortcutWithHintToAction(actionToSetup, QKeySequence::Copy);
connect(actionToSetup, SIGNAL(triggered()), m_textEdit, SLOT(slotCopyContentToClipboard()));
@@ -175,7 +177,7 @@ void RiuTextDialog::contextMenuEvent(QContextMenuEvent* event)
QAction* actionToSetup = new QAction(this);
actionToSetup->setText("Select All");
actionToSetup->setShortcuts(QKeySequence::SelectAll);
caf::CmdFeature::applyShortcutWithHintToAction(actionToSetup, QKeySequence::SelectAll);
connect(actionToSetup, SIGNAL(triggered()), m_textEdit, SLOT(slotSelectAll()));
@@ -309,7 +311,7 @@ void RiuTabbedTextDialog::contextMenuEvent(QContextMenuEvent* event)
actionToSetup->setText("Copy");
actionToSetup->setIcon(QIcon(":/Copy.png"));
actionToSetup->setShortcuts(QKeySequence::Copy);
caf::CmdFeature::applyShortcutWithHintToAction(actionToSetup, QKeySequence::Copy);
connect(actionToSetup, SIGNAL(triggered()), textEdit, SLOT(slotCopyContentToClipboard()));
@@ -320,7 +322,7 @@ void RiuTabbedTextDialog::contextMenuEvent(QContextMenuEvent* event)
QAction* actionToSetup = new QAction(this);
actionToSetup->setText("Select All");
actionToSetup->setShortcuts(QKeySequence::SelectAll);
caf::CmdFeature::applyShortcutWithHintToAction(actionToSetup, QKeySequence::SelectAll);
connect(actionToSetup, SIGNAL(triggered()), textEdit, SLOT(slotSelectAll()));
@@ -331,7 +333,6 @@ void RiuTabbedTextDialog::contextMenuEvent(QContextMenuEvent* event)
QAction* actionToSetup = new QAction(this);
actionToSetup->setText("Export to File...");
//actionToSetup->setShortcuts(QKeySequence::);
connect(actionToSetup, SIGNAL(triggered()), textEdit, SLOT(slotExportToFile()));

View File

@@ -155,6 +155,20 @@ bool CmdFeature::canFeatureBeExecuted()
return this->isCommandEnabled();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void CmdFeature::applyShortcutWithHintToAction(QAction* action, const QKeySequence& keySequence)
{
action->setShortcut(keySequence);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
// Qt made keyboard shortcuts in context menus platform dependent in Qt 5.10
// With no global way of removing it.
action->setShortcutVisibleInContextMenu(true);
#endif
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -46,6 +46,7 @@
class QAction;
class QIcon;
class QKeySequence;
class QString;
#define CAF_CMD_HEADER_INIT \
@@ -84,6 +85,8 @@ public:
bool canFeatureBeExecuted();
static void applyShortcutWithHintToAction(QAction* action, const QKeySequence& keySequence);
public slots:
void actionTriggered(bool isChecked);

View File

@@ -140,8 +140,7 @@ void CmdDeleteItemFeature::onActionTriggered(bool isChecked)
void CmdDeleteItemFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete object");
actionToSetup->setShortcut(QKeySequence::Delete);
actionToSetup->setShortcutVisibleInContextMenu(true);
applyShortcutWithHintToAction(actionToSetup, QKeySequence::Delete);
}
} // end namespace caf