• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kdeui

KSystemTray Class Reference

KDE System Tray Window class More...

#include <ksystemtray.h>

Inheritance diagram for KSystemTray:

Inheritance graph
[legend]

List of all members.


Public Slots

void setActive ()
void setInactive ()
void toggleActive ()

Signals

void quitSelected ()

Public Member Functions

KActionCollection * actionCollection ()
KPopupMenu * contextMenu () const
 KSystemTray (QWidget *parent=0, const char *name=0)
virtual void setCaption (const QString &title)
virtual void setPixmap (const QPixmap &icon)
 ~KSystemTray ()

Static Public Member Functions

static QPixmap loadIcon (const QString &icon, KInstance *instance=KGlobal::instance())

Protected Member Functions

virtual void contextMenuAboutToShow (KPopupMenu *menu)
void enterEvent (QEvent *)
void mousePressEvent (QMouseEvent *)
void mouseReleaseEvent (QMouseEvent *)
void showEvent (QShowEvent *)
virtual void virtual_hook (int id, void *data)

Detailed Description

KDE System Tray Window class

This class implements system tray windows.

A tray window is a small window (typically 24x24 pixel) that docks into the system tray in the desktop panel. It usually displays an icon or an animated icon there. The icon represents the application, similar to a taskbar button, but consumes less screen space.

When the user clicks with the left mouse button on the icon, the main application window is shown/raised and activated. With the right mouse button, she gets a popupmenu with application specific commands, including "Minimize/Restore" and "Quit".

Docking happens magically when calling show(). The window undocks with either hide() or when it is destroyed.

KSystemTray inherits methods such as setPixmap() and setMovie() to specify an icon or movie (animated icon) respectively. It is designed to be usable "as is", without the need to subclass it. In case you need to provide something special (such as an additional popupmenu on a click with the left mouse button), you can subclass anyway, of course.

Having an icon on the system tray is a useful technique for daemon-like applications that may run for some time without user interaction but have to be there immediately when the user needs them. Examples are kppp, kisdn, kscd, kmix or knotes. With kppp and kisdn, the docked icon even provides real-time information about the network status.

Author:
Matthias Ettrich <ettrich@kde.org>

Definition at line 63 of file ksystemtray.h.


Constructor & Destructor Documentation

KSystemTray::KSystemTray ( QWidget *  parent = 0,
const char *  name = 0 
)

Construct a KSystemTray widget just like any other widget.

The parent widget parent has a special meaning: Besides owning the tray window, the parent widget will dissappear from taskbars when it is iconified while the tray window is visible. This is the desired behavior. After all, the tray window is the parent's taskbar icon.

Furthermore, the parent widget is shown or raised respectively when the user clicks on the trray window with the left mouse button.

Definition at line 59 of file ksystemtray.cpp.

KSystemTray::~KSystemTray (  ) 

Definition at line 100 of file ksystemtray.cpp.


Member Function Documentation

KActionCollection * KSystemTray::actionCollection (  ) 

Easy access to the actions in the context menu Currently includes KStdAction::Quit and minimizeRestore.

Since:
3.1

Definition at line 305 of file ksystemtray.cpp.

KPopupMenu * KSystemTray::contextMenu (  )  const

Access to the context menu.

This makes it easy to add new items to it.

Definition at line 134 of file ksystemtray.cpp.

void KSystemTray::contextMenuAboutToShow ( KPopupMenu *  menu  )  [protected, virtual]

Makes it easy to adjust some menu items right before the context menu becomes visible.

Definition at line 173 of file ksystemtray.cpp.

void KSystemTray::enterEvent ( QEvent *  e  )  [protected]

Reimplemented for internal reasons.

Definition at line 129 of file ksystemtray.cpp.

QPixmap KSystemTray::loadIcon ( const QString &  icon,
KInstance *  instance = KGlobal::instance() 
) [static]

Loads an icon icon using the icon loader class of the given instance instance.

The icon is applied the panel effect as it should only be used to be shown in the system tray. It's commonly used in the form : systray->setPixmap( systray->loadIcon( "mysystray" ) );

Since:
3.2

Definition at line 310 of file ksystemtray.cpp.

void KSystemTray::mousePressEvent ( QMouseEvent *  e  )  [protected]

Reimplemented to provide the standard show/raise behavior for the parentWidget() and the context menu.

Feel free to reimplement this if you need something special.

Definition at line 140 of file ksystemtray.cpp.

void KSystemTray::mouseReleaseEvent ( QMouseEvent *   )  [protected]

Reimplemented to provide the standard show/raise behavior for the parentWidget() and the context menu.

Feel free to reimplement this if you need something special.

Definition at line 168 of file ksystemtray.cpp.

void KSystemTray::quitSelected (  )  [signal]

Emitted when quit is selected in the menu.

If you want to perform any other action than to close the main application window please connect to this signal.

Since:
3.1

void KSystemTray::setActive (  )  [slot]

Activates the window associated with this system tray icon, regardless of its current state.

Since:
3.3

Definition at line 222 of file ksystemtray.cpp.

void KSystemTray::setCaption ( const QString &  title  )  [virtual]

Changes the tray's text description (which can be seen e.g.

in the systray configuration dialog). The default value is KAboutData::programName().

Definition at line 326 of file ksystemtray.cpp.

void KSystemTray::setInactive (  )  [slot]

Hides the window associated with this system tray icon, regardless of its current state.

Since:
3.3

Definition at line 227 of file ksystemtray.cpp.

void KSystemTray::setPixmap ( const QPixmap &  icon  )  [virtual]

Changes the tray's icon.

Reimplemented from QLabel.

Definition at line 318 of file ksystemtray.cpp.

void KSystemTray::showEvent ( QShowEvent *   )  [protected]

Reimplemented for internal reasons.

Definition at line 106 of file ksystemtray.cpp.

void KSystemTray::toggleActive (  )  [slot]

Toggles the state of the window associated with this system tray icon (hides it, shows it or activates it depending on the window state).

The default implementation of mousePressEvent() calls toggleActive() when the tray icon is left-clicked, use it when reimplementing mousePressEvent().

Since:
3.3

Definition at line 217 of file ksystemtray.cpp.

void KSystemTray::virtual_hook ( int  id,
void *  data 
) [protected, virtual]

Definition at line 331 of file ksystemtray.cpp.


The documentation for this class was generated from the following files:
  • ksystemtray.h
  • ksystemtray.cpp

kdeui

Skip menu "kdeui"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal