SystemShortcut

Since: BlackBerry 10.1.0

#include <bb/cascades/SystemShortcut>

Represents a Shortcut that can be invoked on objects that inherit from Control, AbstractPane, and AbstractActionItem.

Please note that the shortcut events propagate from the control in focus up to the root of the scene. In case no control is currently in focus, all shortcut events are redirected to the root.

If a SystemShortcut is attached to an ActionItem, the ActionItem::triggered() signal is emitted when the specified SystemShortcut key is pressed.

Use of system shortcuts over key shortcuts (where applicable) is strongly recommended, and application developers are encouraged to map these shortcuts to their own actions in a logical way.

If there is a conflict between a SystemShortcut and a Shortcut, the SystemShortcut will get priority.

You can specify a system shortcut type to be used to trigger a particular SystemShortcut, like this:

SystemShortcut* mySystemShortcut1 = SystemShortcut::create(SystemShortcuts::Reply)
                                    .onTriggered(this, SLOT(systemShortcutHandler1()));
Here's an example of creating a SystemShortcut by calling the constructor and connecting to the signal individually:
SystemShortcut* mySystemShortcut2 = new SystemShortcut(SystemShortcuts::Forward);
connect(mySystemShortcut2, SIGNAL(triggered()), this, SLOT(systemShortcutHandler2()));
Here's how to create a SystemShortcut for a Control using QML:
Button {
    objectName: "button"
    text: "Button with attached shortcut"
    focusPolicy: FocusPolicy.KeyAndTouch

    shortcuts: [
        SystemShortcut {
            type: SystemShortcuts.CreateNew
            onTriggered: {
                console.log("CreateNew system shortcut triggered.")
            }
        }
    ]
}

Overview

QML properties

type: bb::cascades::SystemShortcuts::Type
attachedObjects: QDeclarativeListProperty< QObject > [read-only]Inherited
enabled: boolInherited
objectName: QStringInherited
parent: QObject [read-only]Inherited

QML signals

Only has inherited QML signals

onCreationCompletedInherited: {}
onEnabledChangedInherited: {}
onObjectNameChangedInherited: {}
onTriggeredInherited: {}

Properties Index

bb::cascades::SystemShortcuts::Typetype
QDeclarativeListProperty< QObject >attachedObjects [read-only]Inherited
boolenabledInherited
QStringobjectNameInherited
QObjectparent [read-only]Inherited

Public Functions Index

SystemShortcut (UIObject *parent=0)
SystemShortcut (bb::cascades::SystemShortcuts::Type type, UIObject *parent=0)
virtual ~SystemShortcut ()
bb::cascades::SystemShortcuts::Typetype () const
virtual boolevent (QEvent *event)Inherited
boolisEnabled () const Inherited
Q_SLOT voidresetEnabled ()Inherited
Q_SLOT voidsetEnabled (bool enabled)Inherited
voidsetObjectName (const QString &name)Inherited
virtual Q_INVOKABLE QStringtoDebugString () const Inherited

Static Public Functions Index

Buildercreate (bb::cascades::SystemShortcuts::Type type)

Protected Functions Index

Only has inherited protected functions

BaseObject (QObject *parent=0)Inherited
virtual voidconnectNotify (const char *signal)Inherited
virtual voiddisconnectNotify (const char *signal)Inherited

Signals Index

Only has inherited signals

voidcreationCompleted ()Inherited
voidenabledChanged (bool enabled)Inherited
voidobjectNameChanged (const QString &objectName)Inherited
voidtriggered ()Inherited

Properties

bb::cascades::SystemShortcuts::Type type

A system shortcut type that will trigger this shortcut.

The default value is SystemShortcuts::None, indicating that this shortcut will not be triggered at all.

This is an init-time only property. Attempts to change it after initialization has completed will be ignored.

Since:

BlackBerry 10.1.0

QDeclarativeListProperty< QObject > attachedObjectsInherited[read-only]

A hierarchical list of the UIObject's attached objects.

This QDeclarativeListProperty can contain any QObject. When a QObject is added to property, the UIObject takes ownership of the attached object.

This feature is typically used from QML to specify business logic object or any other shared objects for the subnodes of this UIObject. In C++ the same functionality can be achived by setting a parent of a QObject to be attached to the QObject which is going to own it.

QML usage example (MyObject is a custom class registered for QML using the qmlRegisterType() function):

Container {
    Label { text: "Title: " + myObject.title } 
    Label { text: "Subject: " + myObject.subject }
    attachedObjects: [
        MyObject { id: myObject
            title: "Hello World"
            subject: "Nice Day"
        }
    ]
}

Since:

BlackBerry 10.0.0

bool enabledInherited

Describes whether the current shortcut is enabled or disabled.

By default a shortcut is enabled.

Since:

BlackBerry 10.1.0

QString objectNameInherited

This property is overridden from QObject.

As the objectName property is overridden from the QObject class, this signal will not be emitted if setObjectName() function is called directly on QObject.

The default value of this property is QString::null.

See also:

QObject::objectName().

Since:

BlackBerry 10.0.0

QObject parentInherited[read-only]

A read-only property that represents this object's parent.

The parent of an object is specified using QObject::setParent(QObject*). The purpose of the property is to expose the object's parent to QML.

This property is read-only to prevent modifications from QML, where typically the parent is declaratively set. In C++ code, the parent can be explicitly set using QObject::setParent(QObject*), or implicitly set by adding it to a visual container.

The default value of this property is 0.

Since:

BlackBerry 10.0.0

Public Functions

SystemShortcut (

Default constructor.

The resulting SystemShortcut will have type set to SystemShortcuts::None, meaning the shortcut will not be triggered at all.

Parameters
parent

The parent object, or 0. This parameter is optional. The default is 0 if you don't specify a parent.

Since:

BlackBerry 10.1.0

SystemShortcut (

Constructor.

Parameters
type

The system shortcut type that can trigger this shortcut.

parent

The parent object, or 0. This parameter is optional. The default is 0 if you don't specify a parent.

Since:

BlackBerry 10.1.0

virtual~SystemShortcut ()

Destructor.

bb::cascades::SystemShortcuts::Type type ()

Gets the system shortcut type used to trigger this shortcut.

Return:

The system shortcut type that can trigger this shortcut.

Since:

BlackBerry 10.1.0

virtual bool event (Inherited

Overloaded to implement the event mechanism in Cascades.

Warning!

If this function is overridden, it must be called by the derived class for events to work properly in Cascades.

Parameters
event

The received event.

Return:

True if the received event was recognized and processed, false otherwise.

Since:

BlackBerry 10.0.0

bool isEnabled ()Inherited

Gets the enabled state of the shortcut.

Return:

true if this shortcut is enabled and false otherwise.

Since:

BlackBerry 10.1.0

Q_SLOT void resetEnabled ()Inherited

Resets the enabled state of the shortcut to true.

After the operation is completed and the enabled state is changed, the enabledChanged() signal is emitted.

Since:

BlackBerry 10.1.0

Q_SLOT void setEnabled (
  • boolenabled)
Inherited

Sets the enabled state of the shortcut.

After the operation is completed and the enabled state is changed, the enabledChanged() signal is emitted.

Parameters
enabled

If true the shortcut is enabled, and if false the shortcut is disabled.

Since:

BlackBerry 10.1.0

void setObjectName (Inherited

Sets the objectName property.

Parameters
name

The new name for the object.

Since:

BlackBerry 10.0.0

virtual Q_INVOKABLE QString toDebugString ()Inherited

Returns a debug string representing this object.

Return:

A debug string for the object.

Since:

BlackBerry 10.0.0

Static Public Functions

Builder create (

Creates and returns a builder for constructing a SystemShortcut.

Using the builder to create a SystemShortcut:

SystemShortcut* mySystemShortcut1 = SystemShortcut::create(SystemShortcuts::Reply)
                                    .onTriggered(this, SLOT(systemShortcutHandler1()));
Return:

A builder used for constructing a SystemShortcut.

Since:

BlackBerry 10.1.0

Protected Functions

(Only has inherited protected functions)

BaseObject (Inherited

Constructs an instance of BaseObject's subclass.

Parameters
parent

An optional parent, defaults to 0.

Since:

BlackBerry 10.0.0

virtual void connectNotify (
  • const char *signal)
Inherited

Overloaded to implement the event mechanism in Cascades.

If this function is overridden, it must be called by the derived class for events to work properly in Cascades.

Parameters
signal

The connected signal.

Since:

BlackBerry 10.0.0

virtual void disconnectNotify (
  • const char *signal)
Inherited

Overloaded to implement the event mechanism in Cascades.

If this function is overridden, it must be called by the derived class for events to work properly in Cascades.

Parameters
signal

The disconnected signal.

Since:

BlackBerry 10.0.0

Signals

(Only has inherited signals)

void creationCompleted ()Inherited

This signal is emitted only when this object is instantiated as a result of loading a QML document and creating the root node, or when an object is being constructed using its builder class.

This signal is emitted only when this object is instantiated as a result of loading a QML document and creating the root node (only after the root component that caused this instantiation has completed construction), or when the object is being constructed from its builder class. This signal is emitted to indicate that the construction and initialization of the object has been completed, the properties are initialized, and any QML binding values have been assigned to the object.

This signal is not emitted when the object is constructed from C++ using the constructor. If the object is constructed using its builder class, the signal is emitted when the the builder class returns the fully constructed object.

This signal can be used when there is an activity that needs to be performed, such as a property state integrity verification after the object is instantiated from a QML document or a builder, but before control is returned to the application.

See also:

QmlDocument

Since:

BlackBerry 10.0.0

void enabledChanged (
  • boolenabled)
Inherited

Emitted when the enabled property on the shortcut changes.

Parameters
enabled

If true the shortcut is enabled, if false the shortcut is disabled.

Since:

BlackBerry 10.1.0

void objectNameChanged (Inherited

This signal is emitted when the objectName property is changed.

Since:

BlackBerry 10.0.0

void triggered ()Inherited

Emitted when the AbstractShortcut is triggered by the user.

Since:

BlackBerry 10.1.0

Last modified: 2014-03-13

comments powered by Disqus