Add KStandardShortcut::findByName(const QString&) and deprecate find(const char*)

KStandardShortcut::name returns a QString, this makes the api symmetric and more
straightforward to use.
wilder
David Redondo 6 years ago
parent 9bbf7cf53f
commit 24e0799ccc
  1. 7
      autotests/kstandardshortcuttest.cpp
  2. 1
      autotests/kstandardshortcuttest.h
  3. 2
      src/gui/CMakeLists.txt
  4. 14
      src/gui/kstandardshortcut.cpp
  5. 14
      src/gui/kstandardshortcut.h

@ -44,3 +44,10 @@ void KStandardShortcutTest::testFindStdAccel()
QCOMPARE(KStandardShortcut::find(QString("Ctrl+Shift+Alt+G")), KStandardShortcut::AccelNone);
}
void KStandardShortcutTest::testFindByName()
{
for (int i = KStandardShortcut::AccelNone + 1; i < KStandardShortcut::StandardShortcutCount; ++i) {
const auto id = static_cast<KStandardShortcut::StandardShortcut>(i);
QCOMPARE(id, KStandardShortcut::findByName(KStandardShortcut::name(id)));
}
}

@ -19,6 +19,7 @@ private Q_SLOTS:
void testLabel();
void testShortcut();
void testFindStdAccel();
void testFindByName();
};
#endif

@ -15,7 +15,7 @@ ecm_generate_export_header(KF5ConfigGui
GROUP_BASE_NAME KF
VERSION ${KF5_VERSION}
DEPRECATED_BASE_VERSION 0
DEPRECATION_VERSIONS 5.11 5.39
DEPRECATION_VERSIONS 5.11 5.39 5.71
EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
)

@ -318,6 +318,8 @@ StandardShortcut find(const QKeySequence &seq)
return AccelNone;
}
#if KCONFIGGUI_BUILD_DEPRECATED_SINCE(5, 71)
StandardShortcut find(const char *keyName)
{
for (const KStandardShortcutInfo &shortcutInfo : g_infoStandardShortcut) {
@ -328,6 +330,18 @@ StandardShortcut find(const char *keyName)
return AccelNone;
}
#endif
StandardShortcut findByName(const QString &name)
{
for (const KStandardShortcutInfo &shortcutInfo : g_infoStandardShortcut) {
if (QString::fromLatin1(shortcutInfo.name) == name) {
return shortcutInfo.id;
}
}
return AccelNone;
}
QList<QKeySequence> hardcodedDefaultShortcut(StandardShortcut id)
{

@ -186,6 +186,7 @@ KCONFIGGUI_EXPORT QString whatsThis(StandardShortcut id);
*/
KCONFIGGUI_EXPORT StandardShortcut find(const QKeySequence &keySeq);
#if KCONFIGGUI_ENABLE_DEPRECATED_SINCE(5, 71)
/**
* Return the StandardShortcut id of the standard accel action which
* has \a keyName as its name, or AccelNone if none of them do.
@ -193,8 +194,21 @@ KCONFIGGUI_EXPORT StandardShortcut find(const QKeySequence &keySeq);
* @param keyName the key sequence to search
* @return the id of the standard accelerator, or AccelNone if there
* is none
* @deprecated since 5.71, use findByName(const QString &name) instead
*/
KCONFIGGUI_DEPRECATED_VERSION(5, 71, "Use findByName(const QString &name) instead")
KCONFIGGUI_EXPORT StandardShortcut find(const char *keyName);
#endif
/**
* Return the StandardShortcut id of the standard accelerator action which
* has \p name as its name, or AccelNone if none of them do.
* @param name the name as returned by name(StandardShortcut id)
* @return the id of the standard accelerator with the given name or AccelNone
* if there is no such accelerator
* @since 5.71
*/
KCONFIGGUI_EXPORT StandardShortcut findByName(const QString &name);
/**
* Returns the hardcoded default shortcut for @p id.

Loading…
Cancel
Save