Класс Notification
Разрешает публикацию уведомлений. Подробнее…
Заголовочный файл: | #include <notification.h> |
Создаётся экземпляром: | Notification |
Публичные типы
- enum CloseReason
- enum Progress
- enum Urgency
Свойства
- appIcon : QString
- appName : QString
- body : QString
- category : QString
- expireTimeout : qint32
- icon : QString
- iconData : QImage
- isTransient : bool
- itemCount : int
- maxContentLines : int
- previewBody : QString
- previewSummary : QString
- progress : QVariant
- remoteActions : QVariantList
- replacesId : quint32
- sound : QString
- subText : QString
- summary : QString
- timestamp : QDateTime
- urgency : Urgency
Публичные методы
- Notification(QObject *parent = 0)
- QString appIcon() const
- QString appName() const
- QString body() const
- QString category() const
- void close()
- qint32 expireTimeout() const
- QVariant hintValue(const QString &hint) const
- QString icon() const
- QImage iconData() const
- bool isTransient() const
- int itemCount() const
- int maxContentLines() const
- QString previewBody() const
- QString previewSummary() const
- QVariant progress() const
- void publish()
- QVariantList remoteActions() const
- quint32 replacesId() const
- void resetProgress()
- void setAppIcon(const QString &appIcon)
- void setAppName(const QString &appName)
- void setBody(const QString &body)
- void setCategory(const QString &category)
- void setExpireTimeout(qint32 milliseconds)
- void setHintValue(const QString &hint, const QVariant &value)
- void setIcon(const QString &icon)
- void setIconData(const QImage &image)
- void setIsTransient(bool value)
- void setItemCount(int itemCount)
- void setMaxContentLines(int max)
- void setPreviewBody(const QString &previewBody)
- void setPreviewSummary(const QString &previewSummary)
- void setProgress(const QVariant &value)
- void setRemoteActions(const QVariantList &remoteActions)
- void setReplacesId(quint32 id)
- void setSound(const QString &sound)
- void setSubText(const QString &subText)
- void setSummary(const QString &summary)
- void setTimestamp(const QDateTime ×tamp)
- void setUrgency(Urgency urgency)
- QString sound() const
- QString subText() const
- QString summary() const
- QDateTime timestamp() const
- Urgency urgency() const
Сигналы
- void actionInvoked(const QString &name)
- void appIconChanged()
- void appNameChanged()
- void bodyChanged()
- void categoryChanged()
- void clicked()
- void closed(uint reason)
- void expireTimeoutChanged()
- void iconChanged()
- void iconDataChanged()
- void isTransientChanged()
- void itemCountChanged()
- void maxContentLinesChanged()
- void previewBodyChanged()
- void previewSummaryChanged()
- void progressChanged()
- void remoteActionsChanged()
- void replacesIdChanged()
- void soundChanged()
- void subTextChanged()
- void summaryChanged()
- void timestampChanged()
- void urgencyChanged()
Статические публичные члены
- QList<QObject *> notifications()
- QList<QObject *> notifications(const QString &owner)
- QList<QObject *> notificationsByCategory(const QString &category)
- QVariant remoteAction(const QString &name, const QString &displayName, const QString &service = QString(), const QString &path = QString(), const QString &iface = QString(), const QString &method = QString(), const QVariantList &arguments = QVariantList())
Подробное описание
Разрешает публикацию уведомлений.
Тип Notification
представляет собой удобный способ работы с уведомлениями.
Тип основан на
спецификации уведомлений рабочего стола (Desktop Notifications Specification),
реализованной в Nemo.
Этот класс позволяет клиентским приложениям создавать уведомления, которые могут использоваться для обмена данными с диспетчером уведомлений домашнего экрана через D-Bus. Это упрощает процесс создания, отображения и закрытия уведомлений, так как сам класс управляет всеми необходимыми процедурами обмена данными.
Описание типов класса
enum Notification::CloseReason
В данном перечислении описаны причины, по которым уведомление может считаться закрытым.
Константа | Значение | Описание |
---|---|---|
Notification::Expired |
0 |
Истёк период expireTimeout уведомления |
Notification::DismissedByUser |
1 |
Уведомление было отклонено пользователем |
Notification::Closed |
2 |
Уведомление было закрыто программным способом |
enum Notification::Progress
enum Notification::Urgency
В данном перечислении описаны уровни срочности уведомления.
Константа | Значение | Описание |
---|---|---|
Notification::Low |
0 |
Несрочное уведомление |
Notification::Normal |
1 |
Обычное уведомление |
Notification::Critical |
2 |
Очень важное уведомление |
Описание свойств
appIcon : QString
Иконка приложения, с которым связано уведомление.
Значением свойства может быть либо URI, либо абсолютный путь к файлу,
либо токен, интерпретируемый объектом Theme
.
Данное свойство транслируется как параметр "app_icon" метода Notify.
Методы доступа:
- QString appIcon() const
- void setAppIcon(const QString &appIcon)
Сигнал уведомления:
- void appIconChanged()
appName : QString
Отображаемое название приложения, с которым связано уведомление.
Это должно быть официальное название приложения и, по возможности, переведённое на язык операционной системы.
Данное свойство транслируется как параметр "app_name" метода Notify.
Методы доступа:
- QString appName() const
- void setAppName(const QString &appName)
Сигнал уведомления:
- void appNameChanged()
body : QString
Необязательный текст тела уведомления.
Данное свойство транслируется как параметр "body" метода Notify.
Методы доступа:
- QString body() const
- void setBody(const QString &body)
Сигнал уведомления:
- void bodyChanged()
category : QString
Категория, чьи свойства должны применяться к уведомлению с помощью диспетчера уведомлений.
Свойства, определённые в файле определения категории, будут применены к уведомлению при условии, что эти же свойства ещё не заданы в самом уведомлении.
Данное свойство транслируется как значение стандартной подсказки "category". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- QString category() const
- void setCategory(const QString &category)
Сигнал уведомления:
- void categoryChanged()
expireTimeout : qint32
Количество миллисекунд, по истечении которых показанное уведомление будет автоматически закрыто.
Значение 0
означает, что уведомление не будет закрыто автоматически.
Значение -1
означает, что время истечения задаётся в диспетчере уведомлений.
Значение по умолчанию: -1
.
Данное свойство транслируется как параметр "expire_timeout" метода Notify.
Методы доступа:
- qint32 expireTimeout() const
- void setExpireTimeout(qint32 milliseconds)
Сигнал уведомления:
- void expireTimeoutChanged()
icon : QString
Иконка уведомления.
Значением свойства может быть либо URI, либо абсолютный путь к файлу,
либо токен, интерпретируемый объектом Theme
.
В качестве альтернативы свойство iconData может использоваться для установки декодированного изображения.
Данное свойство транслируется как значение стандартной подсказки "image-path".
Методы доступа:
- QString icon() const
- void setIcon(const QString &icon)
Сигнал уведомления:
- void iconChanged()
See also iconData.
iconData : QImage
Изображение, которое будет отображаться в уведомлении.
В качестве альтернативы свойство icon может использоваться для установки URI постоянного файла изображения или идентификатора темы для иконки.
Данное свойство транслируется как значение стандартной подсказки "image-data".
Методы доступа:
- QImage iconData() const
- void setIconData(const QImage &image)
Сигнал уведомления:
- void iconDataChanged()
См. также icon.
isTransient : bool
При истинном значении данного свойства уведомление будет временным, оно будет показываться только на короткое время. Временные уведомления передают информацию, имеющую отношение только к отправке уведомления, поэтому они не отображаются в представлении событий.
Данное свойство транслируется как значение стандартной подсказки "transient". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- bool isTransient() const
- void setIsTransient(bool value)
Сигнал уведомления:
- void isTransientChanged()
itemCount : int
Количество элементов, представляемых в уведомлении.
Например, в одном уведомлении может сообщаться о четырёх пропущенных звонках.
Для этого значение данного свойства необходимо установить равным 4
.
Значение по умолчанию: 1
.
Данное свойство транслируется как значение расширенной подсказки "x-nemo-item-count". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- int itemCount() const
- void setItemCount(int itemCount)
Сигнал уведомления:
- void itemCountChanged()
maxContentLines : int
Данное свойство определяет максимальное число строк содержимого, отображаемого в уведомлении. В это число входит строка с краткими сведениями об уведомлении. Если уведомление состоит из одной строки, то тело уведомления не отображается.
Данное свойство транслируется как значение расширенной подсказки "x-nemo-max-content-lines". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- int maxContentLines() const
- void setMaxContentLines(int max)
Сигнал уведомления:
- void maxContentLinesChanged()
previewBody : QString
Текст тела, показываемый в области предварительного просмотра уведомления.
Если этот параметр не установлен, ему автоматически будет присвоено значение свойства body при публикации уведомления.
Когда свойствам previewSummary или previewBody
заданы значения,
при публикации уведомления домашний экран создаст для него область предварительного просмотра
(при условии, что предварительный просмотр уведомлений не запрещён в диспетчере уведомлений).
Данное свойство транслируется как значение расширенной подсказки "x-nemo-preview-body". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- QString previewBody() const
- void setPreviewBody(const QString &previewBody)
Сигнал уведомления:
- void previewBodyChanged()
previewSummary : QString
Текст кратких сведений, показываемый в области предварительного просмотра уведомления.
Если этот параметр не установлен, ему автоматически будет присвоено значение свойства summary при публикации уведомления.
Когда свойствам previewSummary
или previewBody
заданы значения,
при публикации уведомления домашний экран создаст для него область предварительного просмотра
(при условии, что предварительный просмотр уведомлений не запрещён в диспетчере уведомлений).
Данное свойство транслируется как значение расширенной подсказки "x-nemo-preview-summary". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- QString previewSummary() const
- void setPreviewSummary(const QString &previewSummary)
Сигнал уведомления:
- void previewSummaryChanged()
progress : QVariant
Свойство содержит прогресс, отображаемый в уведомлении.
Значение может быть неопределённым для отсутствия прогресса,
Notification::ProgressIndeterminate
для неопределённого состояния или действительным значением от 0,0
до 1,0
для представления процента выполнения.
Методы доступа:
- QVariant progress() const
- void setProgress(const QVariant &value)
- void resetProgress()
Сигнал уведомления:
- void progressChanged()
remoteActions : QVariantList
Список зарегистрированных дистанционных действий, которые могут быть выполнены при получении уведомления.
Дистанционные действия могут представлять собой вызовы команд D-Bus, испускаемые диспетчером уведомлений, когда уведомление активируется пользователем. remoteAction описывает спецификацию дистанционных действий.
Примечание: будет вызвано действие с названием "default" при активации пользователем главного элемента уведомления. Если пользователь активирует группу уведомлений, будет вызвано действие с названием "app" при условии, что данное действие распространяется на всех пользователей группы.
Данное свойство транслируется как параметр "actions" метода Notify и как значение расширенной подсказки "x-nemo-remote-action-<name>". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- QVariantList remoteActions() const
- void setRemoteActions(const QVariantList &remoteActions)
Сигнал уведомления:
- void remoteActionsChanged()
См. также remoteAction().
replacesId : quint32
Идентификатор, который используется для замены или удаления данного уведомления.
Если уведомление публикуется с ненулевым идентификатором, то оно заменит собой все существующие уведомления с таким идентификатором без какого-либо оповещения пользователя. Идентификатор неопубликованного уведомления равен нулю. Идентификатор автоматически обновляется после сообщения об успешной публикации уведомления диспетчером уведомлений.
Данное свойство транслируется как параметр "replaces_id" метода Notify.
Методы доступа:
- quint32 replacesId() const
- void setReplacesId(quint32 id)
Сигнал уведомления:
- void replacesIdChanged()
sound : QString
Путь к файлу со звуком, который будет воспроизводиться при отображении уведомления.
Данное свойство транслируется как значение стандартной подсказки "sound-file".
Методы доступа:
- QString sound() const
- void setSound(const QString &sound)
Сигнал уведомления:
- void soundChanged()
subText : QString
Дополнительный текст уведомления, если он имеется.
Это может указывать на некоторую краткую вторичную информацию, такую как адрес электронной почты отправителя в случае уведомления о «новом письме».
Данное свойство транслируется как значение расширенной подсказки "x-nemo-sub-text".
Методы доступа:
- QString subText() const
- void setSubText(const QString &subText)
Сигнал уведомления:
- void subTextChanged()
summary : QString
Текст, кратко описывающий уведомление. Это краткое описание должно умещаться в одну строку.
Данное свойство транслируется как параметр "summary" метода Notify.
Методы доступа:
- QString summary() const
- void setSummary(const QString &summary)
Сигнал уведомления:
- void summaryChanged()
timestamp : QDateTime
Отметка времени обычно связывается с событием, к которому относится уведомление, а не со временем создания самого уведомления. Если значение свойства не задано, то отметкой времени уведомления будет время публикации этого уведомления.
Данное свойство транслируется как значение расширенной подсказки "x-nemo-timestamp". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- QDateTime timestamp() const
- void setTimestamp(const QDateTime ×tamp)
Сигнал уведомления:
- void timestampChanged()
urgency : Urgency
Уровень срочности уведомления.
Уровень срочности интерпретируется диспетчером уведомлений во время публикации.
Например, в зависимости от текущей активности пользователя или состояния устройства,
диспетчер может показывать или блокировать уведомления.
При этом, уведомления с уровнем срочности Critical
будут показаны
с большей степенью вероятности и с большим приоритетом.
Значение по умолчанию: Notification.Normal
.
Данное свойство транслируется как значение стандартной подсказки "urgency". Подсказки (hints) — это дополнительные необязательные данные, передаваемые на сервер уведомлений.
Методы доступа:
- Urgency urgency() const
- void setUrgency(Urgency urgency)
Сигнал уведомления:
- void urgencyChanged()
Описание методов класса
Notification::Notification(QObject *parent = 0)
Конструктор для класса Notification
с необязательным родительским элементом,
указанном в параметре parent.
[signal] void Notification::actionInvoked(const QString &name)
Испускается, когда пользователь активирует действие уведомления. name указывает имя вызванного действия.
Обработка сигнала actionInvoked
имеет смысл только в том случае,
когда пользователь активирует уведомление,
что может произойти спустя достаточно продолжительное время после публикации уведомления.
[signal] void Notification::clicked()
Испускается, когда пользователь активирует уведомление.
Обработка сигнала clicked
имеет смысл только в том случае,
когда пользователь активирует уведомление,
что может произойти спустя достаточно продолжительное время после публикации уведомления.
Более продвинутым решением будет зарегистрировать дистанционное действие в диспетчере уведомлений
с тем, чтобы можно было вызвать обработчик запроса.
См. также remoteActions().
void Notification::close()
Закрывает уведомление с идентификатором replacesId.
[signal] void Notification::closed(uint reason)
Испускается после того, как диспетчер уведомлений считает уведомление закрытым. Параметр reason принимает значения, описанные в перечислении Notification::CloseReason.
QVariant Notification::hintValue(const QString &hint) const
Возвращает значение подсказки (дополнительные необязательные данные, передаваемые на сервер уведомлений) по имени, передаваемом в параметре hint.
См. также setHintValue().
[static] QList<QObject *> Notification::notifications()
Возвращает список существующих уведомлений, у которых значение подсказки 'x-nemo-owner' соответствует имени запущенного процесса.
Для всех уведомлений, созданных вызовом метода publish() значение подсказки 'x-nemo-owner' устанавливается равным имени запущенного процесса (при условии, что значение этой подсказки еще не задано). Таким образом с помощью данного метода можно находить сгенерированные уведомления.
Объекты в возвращаемом списке являются экземплярами класса Notification
.
Вызывающая процедура становится владельцем этих объектов и должна их удалить,
если они больше не нужны.
[static] QList<QObject *> Notification::notifications(const QString &owner)
Возвращает список существующих уведомлений, у которых значение подсказки 'x-nemo-owner' соответствует значению параметра owner.
Объекты в возвращаемом списке являются экземплярами класса Notification
.
Вызывающая процедура становится владельцем этих объектов и должна их удалить,
если они больше не нужны.
[static] QList<QObject *> Notification::notificationsByCategory(const QString &category)
Возвращает список существующих уведомлений, у которых значение подсказки 'category' соответствует значению параметра category. Для вызывающей процедуры требуются привилегированные права доступа.
Объекты в возвращаемом списке являются экземплярами класса Notification
.
Вызывающая процедура становится владельцем этих объектов и должна их удалить,
если они больше не нужны.
void Notification::publish()
Публикует текущее состояние уведомления в диспетчере уведомлений.
Если значением свойства replacesId является 0
,
будет создано новое уведомление, а значение свойства replacesId
будет обновлено этим идентификатором.
В противном случае будет обновлено существующее уведомление с заданным идентификатором.
[static] QVariant Notification::remoteAction(const QString &name, const QString &displayName, const QString &service = QString(), const QString &path = QString(), const QString &iface = QString(), const QString &method = QString(), const QVariantList &arguments = QVariantList())
Вспомогательный метод, формирующий объект дистанционного действия, которое может быть вызвано через D-Bus.
Если service, path, iface, method и опционально arguments установлены, действие может вызвать обратный вызов D-Bus при активации пользователем.
- name: имя действия. "default" для всей иконки уведомления. Если он пуст, будет сгенерировано имя.
- displayName: название действия, которое будет показано пользователю. Может не отображаться для "default", и в этом случае он может быть пустым.
- service: имя службы D-Bus, которая будет вызвана.
- path: путь к объекту, который будет вызван через D-Bus.
- iface: интерфейс, который будет вызван через D-Bus.
- method: метод интерфейса, который будет вызван через D-Bus.
- arguments: необязательные аргументы, передаваемые в метод, который будет вызван через D-Bus.
void Notification::setHintValue(const QString &hint, const QVariant &value)
Задаёт значение value подсказке hint.
См. также hintValue().