Olive
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Private Attributes | List of all members
KeySequenceEditor Class Reference

The KeySequenceEditor class. More...

#include <preferencesdialog.h>

Inheritance diagram for KeySequenceEditor:

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...
 

Detailed Description

The KeySequenceEditor class.

Simple derived class of QKeySequenceEdit that attaches to a QAction and provides functions for transferring keyboard shortcuts to and from it.

Constructor & Destructor Documentation

KeySequenceEditor::KeySequenceEditor ( QWidget *  parent,
QAction *  a 
)

KeySequenceEditor Constructor.

Parameters
parentQWidget parent.
aThe QAction to link to. This cannot be changed throughout the lifetime of a KeySequenceEditor.

Member Function Documentation

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.

Returns

The QAction's unique ID.

QString KeySequenceEditor::export_shortcut ( )

Serialize this shortcut entry into a string that can be saved to a file.

Returns

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.

Member Data Documentation

QAction* KeySequenceEditor::action
private

Internal reference to the linked QAction.


The documentation for this class was generated from the following files: