The KeySequenceEditor class. More...
#include <preferencesdialog.h>
Public Member Functions | |
KeySequenceEditor (QWidget *parent, QAction *a) | |
KeySequenceEditor Constructor. More... | |
void | set_action_shortcut () |
Sets the attached QAction's shortcut to the shortcut entered in this field. More... | |
void | reset_to_default () |
Set this shortcut back to the QAction's default shortcut. More... | |
QString | action_name () |
Return attached QAction's unique ID. More... | |
QString | export_shortcut () |
Serialize this shortcut entry into a string that can be saved to a file. More... | |
Private Attributes | |
QAction * | action |
Internal reference to the linked QAction. More... | |
The KeySequenceEditor class.
Simple derived class of QKeySequenceEdit that attaches to a QAction and provides functions for transferring keyboard shortcuts to and from it.
KeySequenceEditor::KeySequenceEditor | ( | QWidget * | parent, |
QAction * | a | ||
) |
KeySequenceEditor Constructor.
parent | QWidget parent. |
a | The QAction to link to. This cannot be changed throughout the lifetime of a KeySequenceEditor. |
QString KeySequenceEditor::action_name | ( | ) |
Return attached QAction's unique ID.
Each of Olive's menu actions has a unique string ID (that, unlike the text, is not translated) for matching with an external shortcut configuration file. The ID is stored in the QAction's property("id")
. This function returns that ID.
The QAction's unique ID.
QString KeySequenceEditor::export_shortcut | ( | ) |
Serialize this shortcut entry into a string that can be saved to a file.
A string serialization of this shortcut. The format is "[ID]\t[SEQUENCE]" where [ID] is the attached QAction's unique identifier and [SEQUENCE] is the current keyboard shortcut in the field (NOT necessarily the shortcut in the QAction). If the entered shortcut is the same as the QAction's default shortcut, the return value is empty because a default shortcut does not need to be saved to a file.
void KeySequenceEditor::reset_to_default | ( | ) |
Set this shortcut back to the QAction's default shortcut.
Each QAction contains the default shortcut in its property("default")
and can be used to restore the default "hard-coded" shortcut with this function.
This function does not save the default shortcut back into the QAction, it simply loads the default shortcut from the QAction into this edit field. To save it into the QAction, it's necessary to call set_action_shortcut() after calling this function.
void KeySequenceEditor::set_action_shortcut | ( | ) |
Sets the attached QAction's shortcut to the shortcut entered in this field.
This is not done automatically in case the user cancels out of the Preferences dialog, in which case the expectation is that the changes made will not be saved. Therefore, this needs to be triggered manually when PreferencesDialog saves.
|
private |
Internal reference to the linked QAction.