KNotifications
kstatusnotifieritem.cpp
111 QString::fromLatin1(metaObject()->enumerator(metaObject()->indexOfEnumerator("ItemStatus")).valueToKey(d->status)));
178 QPixmap iconPixmap = QIcon::fromTheme(d->iconName).pixmap(s_legacyTrayIconSize, s_legacyTrayIconSize);
180 QPixmap overlayPixmap = QIcon::fromTheme(d->overlayIconName).pixmap(s_legacyTrayIconSize / 2, s_legacyTrayIconSize / 2);
182 p.drawPixmap(iconPixmap.width() - overlayPixmap.width(), iconPixmap.height() - overlayPixmap.height(), overlayPixmap);
210 QPixmap overlayPixmap = d->overlayIcon.pixmap(s_legacyTrayIconSize / 2, s_legacyTrayIconSize / 2);
213 p.drawPixmap(iconPixmap.width() - overlayPixmap.width(), iconPixmap.height() - overlayPixmap.height(), overlayPixmap);
294 static void setTrayToolTip(KStatusNotifierLegacyIcon *systemTrayIcon, const QString &title, const QString &subTitle)
314 static void setTrayToolTip(KStatusNotifierLegacyIcon *systemTrayIcon, const QString &title, const QString &)
322 void KStatusNotifierItem::setToolTip(const QString &iconName, const QString &title, const QString &subTitle)
324 if (d->toolTipIconName == iconName && d->toolTipTitle == title && d->toolTipSubTitle == subTitle) {
340 void KStatusNotifierItem::setToolTip(const QIcon &icon, const QString &title, const QString &subTitle)
487 QObject::connect(KWindowSystem::self(), &KWindowSystem::windowAdded, d->associatedWidget, [this](WId id) {
493 QObject::connect(KWindowSystem::self(), &KWindowSystem::windowRemoved, d->associatedWidget, [this](WId id) {
586 void KStatusNotifierItem::showMessage(const QString &title, const QString &message, const QString &icon, int timeout)
590 d->notificationsClient = new org::freedesktop::Notifications(QStringLiteral("org.freedesktop.Notifications"),
608 d->notificationsClient->Notify(d->title, id, icon, title, message, QStringList(), hints, timeout);
633 QString::fromLatin1(metaObject()->enumerator(metaObject()->indexOfEnumerator("ItemStatus")).valueToKey(d->status)));
706 const KWindowInfo info1(associatedWidget->winId(), NET::XAWMState | NET::WMState | NET::WMDesktop);
715 KWindowInfo info2(id, NET::WMDesktop | NET::WMGeometry | NET::XAWMState | NET::WMState | NET::WMWindowType);
790 || (event->type() == QEvent::MouseButtonRelease && static_cast<QMouseEvent *>(event)->button() == Qt::LeftButton))) {
829 QDBusServiceWatcher *watcher = new QDBusServiceWatcher(QString::fromLatin1(s_statusNotifierWatcherServiceName),
833 QObject::connect(watcher, SIGNAL(serviceOwnerChanged(QString, QString, QString)), q, SLOT(serviceChange(QString, QString, QString)));
850 // Systray icon and menu ("menu extra") are often used by applications that provide no other interface.
851 // It is thus reasonable to show the application icon in the menu; Finder, Dock and App Switcher
852 // all show it in addition to the application name (and Apple's input "menu extra" also shows icons).
879 iconThemePath = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("icons"), QStandardPaths::LocateDirectory);
890 statusNotifierWatcher = new org::kde::StatusNotifierWatcher(QString::fromLatin1(s_statusNotifierWatcherServiceName),
897 QDBusMessage msg = QDBusMessage::createMethodCall(QString::fromLatin1(s_statusNotifierWatcherServiceName),
901 msg.setArguments(QVariantList{QStringLiteral("org.kde.StatusNotifierWatcher"), QStringLiteral("ProtocolVersion")});
932 void KStatusNotifierItemPrivate::serviceChange(const QString &name, const QString &oldOwner, const QString &newOwner)
984 bool isKde = !qEnvironmentVariableIsEmpty("KDE_FULL_SESSION") || qgetenv("XDG_CURRENT_DESKTOP") == "KDE";
994 QObject::connect(systemTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), q, SLOT(legacyActivated(QSystemTrayIcon::ActivationReason)));
1136 const QString title = KStatusNotifierItem::tr("Confirm Quit From System Tray", "@title:window");
1137 const QString query = KStatusNotifierItem::tr("<qt>Are you sure you want to quit <b>%1</b>?</qt>").arg(caption);
1139 auto *dialog = new QMessageBox(QMessageBox::Question, title, query, QMessageBox::NoButton, associatedWidget);
1141 auto *quitButton = dialog->addButton(KStatusNotifierItem::tr("Quit", "@action:button"), QMessageBox::AcceptRole);
QMenu * contextMenu() const
Access the context menu associated to this status notifier item.
Definition: kstatusnotifieritem.cpp:476
qsizetype sizeInBytes() const const
static Q_INVOKABLE void activateWindow(QWindow *window, long time=0)
AlignRight
bool endsWith(const QString &s, Qt::CaseSensitivity cs) const const
void finished(QDBusPendingCallWatcher *self)
QWidget * window() const const
qint64 cacheKey() const const
WindowDeactivate
bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *method)
Format_ARGB32
LocateDirectory
QWidget * associatedWidget() const
Access the main widget associated with this StatusNotifierItem.
Definition: kstatusnotifieritem.cpp:533
void drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source)
QAction * action(const QString &name) const
Retrieves an action from the action collection by the action name.
Definition: kstatusnotifieritem.cpp:553
ItemStatus
All the possible status this icon can have, depending on the importance of the events that happens in...
Definition: kstatusnotifieritem.h:82
Q_EMITQ_EMIT
Qt::MouseButton button() const const
QString attentionMovieName() const
Definition: kstatusnotifieritem.cpp:286
QIcon toolTipIconPixmap() const
Definition: kstatusnotifieritem.cpp:394
Type type(const QSqlDatabase &db)
platformName
void setToolTipTitle(const QString &title)
Sets a new title for the toolTip.
Definition: kstatusnotifieritem.cpp:399
ByteOrder
singleShot
Visible
bool isSystemTrayAvailable()
QImage::Format format() const const
Question
static void setCurrentDesktop(int desktop)
KStatusNotifierItem(QObject *parent=nullptr)
Construct a new status notifier item.
Definition: kstatusnotifieritem.cpp:46
QIcon fromTheme(const QString &name)
QFuture< typename QtPrivate::MapResultType< void, MapFunctor >::ResultType > mapped(const Sequence &sequence, MapFunctor function)
QFont systemFont(QFontDatabase::SystemFont type)
void chop(int n)
DialogMask
@ Passive
Nothing is happening in the application, so showing this icon is not required. This is the default va...
Definition: kstatusnotifieritem.h:84
bool isError() const const
static void setOnAllDesktops(WId win, bool b)
int x() const const
int y() const const
void showMessage(const QString &title, const QString &message, const QString &icon, int timeout=10000)
Shows the user a notification.
Definition: kstatusnotifieritem.cpp:586
int width() const const
static void raiseWindow(WId win)
QIcon attentionIconPixmap() const
Definition: kstatusnotifieritem.cpp:260
LeftButton
QString caption()
NoButton
QString locate(QStandardPaths::StandardLocation type, const QString &fileName, QStandardPaths::LocateOptions options)
void setAttentionIconByPixmap(const QIcon &icon)
Sets the pixmap of the requesting attention icon.
Definition: kstatusnotifieritem.cpp:245
QList< QSize > availableSizes(QIcon::Mode mode, QIcon::State state) const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void hideAssociatedWidget()
Hides the main widget, if not already hidden.
Definition: kstatusnotifieritem.cpp:656
void setToolTipSubTitle(const QString &subTitle)
Sets a new subtitle for the toolTip.
Definition: kstatusnotifieritem.cpp:418
NormalMask
void quit()
ActivationReason
KSERVICE_EXPORT KService::List query(FilterFunc filterFunc)
KeepAbove
virtual void activate(const QPoint &pos=QPoint())
Shows the main widget and try to position it on top of the other windows, if the widget is already vi...
Definition: kstatusnotifieritem.cpp:622
void activateRequested(bool active, const QPoint &pos)
Inform the host application that an activation has been requested, for instance left mouse click,...
@ NeedsAttention
The application requests the attention of the user, for instance battery running out or a new IM mess...
Definition: kstatusnotifieritem.h:90
typedef WindowFlags
void setIcon(const QIcon &icon)
void deleteLater()
applicationDisplayName
bool end()
virtual bool event(QEvent *e)
Dock
void setToolTipIconByPixmap(const QIcon &icon)
Set a new icon for the toolTip.
Definition: kstatusnotifieritem.cpp:379
void setAttentionIconByName(const QString &name)
Sets a new icon that should be used when the application wants to request attention (usually the syst...
Definition: kstatusnotifieritem.cpp:226
static void forceActiveWindow(WId win, long time=0)
QDBusConnection sessionBus()
int height() const const
void removeAction(const QString &name)
Removes an action from the collection.
Definition: kstatusnotifieritem.cpp:548
DesktopMask
void setIconByName(const QString &name)
Sets a new main icon for the system tray.
Definition: kstatusnotifieritem.cpp:120
void installEventFilter(QObject *filterObj)
desktopFileName
bool isEmpty() const const
AcceptRole
void setAssociatedWidget(QWidget *parent)
Sets the main widget associated with this StatusNotifierItem.
Definition: kstatusnotifieritem.cpp:481
uchar * bits()
QImage convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags) const &const
void setToolTipIconByName(const QString &name)
Set a new icon for the toolTip.
Definition: kstatusnotifieritem.cpp:361
void addAction(const QString &name, QAction *action)
Adds an action to the actionCollection()
Definition: kstatusnotifieritem.cpp:543
Q_SCRIPTABLE CaptureState status()
QIcon overlayIconPixmap() const
Definition: kstatusnotifieritem.cpp:219
DockMask
void setText(const QString &text)
void setTitle(const QString &title)
Sets a title for this icon.
Definition: kstatusnotifieritem.cpp:96
OverrideMask
void setArguments(const QList< QVariant > &arguments)
void setOverlayIconByName(const QString &name)
Sets an icon to be used as overlay for the main one.
Definition: kstatusnotifieritem.cpp:167
QSize size() const const
void setStandardActionsEnabled(bool enabled)
Sets whether to show the standard items in the menu, such as Quit.
Definition: kstatusnotifieritem.cpp:558
int height() const const
applicationName
QImage toImage() const const
QDBusMessage createMethodCall(const QString &service, const QString &path, const QString &interface, const QString &method)
Information
static KWindowSystem * self()
GeneralFont
void windowAdded(WId id)
virtual const QMetaObject * metaObject() const const
void removeAction(QAction *action)
MenuMask
void windowRemoved(WId id)
@ Active
The application is doing something, or it is important that the icon is always reachable from the use...
Definition: kstatusnotifieritem.h:87
AppDataLocation
void setToolTip(const QString &iconName, const QString &title, const QString &subTitle)
Sets a new toolTip or this icon, a toolTip is composed of an icon, a title and a text,...
Definition: kstatusnotifieritem.cpp:322
void setAttentionMovieByName(const QString &name)
Sets a movie as the requesting attention icon.
Definition: kstatusnotifieritem.cpp:265
void setEnabled(bool)
QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) const const
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
QString fromLatin1(const char *str, int size)
QString providedToken() const
Definition: kstatusnotifieritem.cpp:664
bool standardActionsEnabled() const
Definition: kstatusnotifieritem.cpp:581
KDE Status notifier Item protocol implementation
Definition: kstatusnotifieritem.h:60
void setContextMenu(QMenu *menu)
Sets a new context menu for this StatusNotifierItem.
Definition: kstatusnotifieritem.cpp:437
UtilityMask
QList< QAction * > actionCollection() const
All the actions present in the menu.
Definition: kstatusnotifieritem.cpp:538
TopMenuMask
void setBold(bool enable)
void setPointSizeF(qreal pointSize)
SplashMask
ItemCategory
Different kinds of applications announce their type to the systemtray, so can be drawn in a different...
Definition: kstatusnotifieritem.h:98
static QList< WId > stackingOrder()
ToolbarMask
void setCategory(const ItemCategory category)
Sets the category for this icon, usually it's needed to call this function only once.
Definition: kstatusnotifieritem.cpp:81
void setOverlayIconByPixmap(const QIcon &icon)
Sets an icon to be used as overlay for the main one setOverlayIconByPixmap(QIcon()) will remove the o...
Definition: kstatusnotifieritem.cpp:194
QString tr(const char *sourceText, const char *disambiguation, int n)
Category category(StandardShortcut id)
QDBusPendingCall asyncCall(const QDBusMessage &message, int timeout) const const
NoBrush
QString message
WA_DeleteOnClose
QString & append(QChar ch)
transparent
void setIconByPixmap(const QIcon &icon)
Sets a new main icon for the system tray.
Definition: kstatusnotifieritem.cpp:143
WindowType
WatchForOwnerChange
int width() const const
TopMenu
void setStatus(const ItemStatus status)
Sets a new status for this icon.
Definition: kstatusnotifieritem.cpp:101
void accepted()
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:49:15 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:49:15 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.