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

KDEUI

KApplication Class Reference

Controls and provides information to all KDE applications. More...

#include <kapplication.h>

Inheritance diagram for KApplication:

Inheritance graph
[legend]

List of all members.


Public Slots

Q_SCRIPTABLE void quit ()
Q_SCRIPTABLE void reparseConfiguration ()
Q_SCRIPTABLE void updateUserTimestamp (int time=0)

Signals

void saveYourself ()

Public Member Functions

void clearStartupId ()
void commitData (QSessionManager &sm)
void disableSessionManagement ()
void enableSessionManagement ()
void iceIOErrorHandler (_IceConn *conn)
void installX11EventFilter (QWidget *filter)
 KApplication (Display *display, int &argc, char **argv, const QByteArray &rAppName, bool GUIenabled=true)
 KApplication (Display *display, Qt::HANDLE visual=0, Qt::HANDLE colormap=0)
 KApplication (bool GUIenabled=true)
bool notify (QObject *receiver, QEvent *event)
void removeX11EventFilter (const QWidget *filter)
void saveState (QSessionManager &sm)
KConfig * sessionConfig ()
bool sessionSaving () const
void setStartupId (const QByteArray &startup_id)
void setSynchronizeClipboard (bool synchronize)
void setTopWidget (QWidget *topWidget)
QByteArray startupId () const
void updateRemoteUserTimestamp (const QString &service, int time=0)
unsigned long userTimestamp () const
int xErrhandler (Display *, void *)
int xioErrhandler (Display *)
virtual ~KApplication ()

Static Public Member Functions

static QString checkRecoverFile (const QString &pFilename, bool &bRecover)
static KApplication * kApplication ()
static KDE_DEPRECATED QString tempSaveName (const QString &pFilename)

Static Public Attributes

static bool loadedByKdeinit = false

Protected Member Functions

 KApplication (Display *display, Qt::HANDLE visual, Qt::HANDLE colormap, const KComponentData &cData)
 KApplication (bool GUIenabled, const KComponentData &cData)
bool x11EventFilter (XEvent *)

Static Protected Attributes

static KApplication * KApp = 0L

Detailed Description

Controls and provides information to all KDE applications.

Only one object of this class can be instantiated in a single app. This instance is always accessible via the 'kapp' global variable.

This class provides the following services to all KDE applications.

  • It controls the event queue (see QApplication ).
  • It provides the application with KDE resources such as accelerators, common menu entries, a KConfig object. session management events, help invocation etc.
  • Installs an empty signal handler for the SIGPIPE signal. If you want to catch this signal yourself, you have set a new signal handler after KApplication's constructor has run.
  • It can start new services
Controls and provides information to all KDE applications.
Author:
Matthias Kalle Dalheimer <kalle@kde.org>

Definition at line 81 of file kapplication.h.


Constructor & Destructor Documentation

KApplication::KApplication ( bool  GUIenabled = true  )  [explicit]

This constructor is the one you should use.

It takes aboutData and command line arguments from KCmdLineArgs.

Parameters:
GUIenabled Set to false to disable all GUI stuff. Note that for a non-GUI daemon, you might want to use QCoreApplication and a KComponentData instance instead. The main difference will be that you'll have to register to DBus yourself, but there is no point in a kdeui dependency in a non-GUI daemon.

Definition at line 340 of file kapplication.cpp.

KApplication::KApplication ( Display *  display,
Qt::HANDLE  visual = 0,
Qt::HANDLE  colormap = 0 
) [explicit]

Constructor.

Parses command-line arguments. Use this constructor when you you need to use a non-default visual or colormap.

Parameters:
display Will be passed to Qt as the X display. The display must be valid and already opened.
visual A pointer to the X11 visual that should be used by the application. Note that only TrueColor visuals are supported on depths greater than 8 bpp. If this parameter is NULL, the default visual will be used instead.
colormap The colormap that should be used by the application. If this parameter is 0, the default colormap will be used instead.

Definition at line 352 of file kapplication.cpp.

KApplication::KApplication ( Display *  display,
int &  argc,
char **  argv,
const QByteArray &  rAppName,
bool  GUIenabled = true 
)

Constructor.

Parses command-line arguments. Use this constructor to use KApplication in a Motif or Xt program.

Parameters:
display Will be passed to Qt as the X display. The display must be valid and already opened.
argc command line argument count
argv command line argument value(s)
rAppName application name. Will be used for finding the associated message files and icon files, and as the default registration name for DCOP. This is a mandatory parameter.
GUIenabled Set to false to disable all GUI stuff.

Definition at line 387 of file kapplication.cpp.

KApplication::~KApplication (  )  [virtual]

Definition at line 909 of file kapplication.cpp.

KApplication::KApplication ( bool  GUIenabled,
const KComponentData &  cData 
) [protected]

For internal use only.

Used by KUniqueApplication

Definition at line 375 of file kapplication.cpp.

KApplication::KApplication ( Display *  display,
Qt::HANDLE  visual,
Qt::HANDLE  colormap,
const KComponentData &  cData 
) [protected]

For internal use only.

Used by KUniqueApplication

Definition at line 363 of file kapplication.cpp.


Member Function Documentation

QString KApplication::checkRecoverFile ( const QString &  pFilename,
bool &  bRecover 
) [static]

Check whether an auto-save file exists for the document you want to open.

Parameters:
pFilename The full path to the document you want to open.
bRecover This gets set to true if there was a recover file.
Returns:
The full path of the file to open.

Definition at line 1070 of file kapplication.cpp.

void KApplication::clearStartupId (  ) 

For internal use only.

Used only by KStartupId.

Definition at line 1156 of file kapplication.cpp.

void KApplication::commitData ( QSessionManager &  sm  ) 

Reimplemented for internal purposes, mainly the highlevel handling of session management with KSessionManager.

For internal use only.

Reimplemented from QApplication.

Definition at line 668 of file kapplication.cpp.

void KApplication::disableSessionManagement (  ) 

Disables session management for this application.

Useful in case your application is started by the initial "startkde" script.

Definition at line 641 of file kapplication.cpp.

void KApplication::enableSessionManagement (  ) 

Enables session management for this application, formerly disabled by calling disableSessionManagement().

You usually shouldn't call this function, as session management is enabled by default.

Definition at line 645 of file kapplication.cpp.

void KApplication::iceIOErrorHandler ( _IceConn *  conn  ) 

For internal use only.

Definition at line 439 of file kapplication.cpp.

void KApplication::installX11EventFilter ( QWidget *  filter  ) 

Installs widget filter as global X11 event filter.

The widget filter receives XEvents in its standard QWidget::x11Event() function.

Warning: Only do this when absolutely necessary. An installed X11 filter can slow things down.

Definition at line 258 of file kapplication.cpp.

KApplication * KApplication::kApplication (  )  [static]

Returns the current application object.

This is similar to the global QApplication pointer qApp. It allows access to the single global KApplication object, since more than one cannot be created in the same application. It saves you the trouble of having to pass the pointer explicitly to every function that may require it.

Returns:
the current application object

Definition at line 619 of file kapplication.cpp.

bool KApplication::notify ( QObject *  receiver,
QEvent *  event 
)

For internal use only.

Definition at line 284 of file kapplication.cpp.

void KApplication::quit (  )  [slot]

Definition at line 636 of file kapplication.cpp.

void KApplication::removeX11EventFilter ( const QWidget *  filter  ) 

Removes global X11 event filter previously installed by installX11EventFilter().

Definition at line 273 of file kapplication.cpp.

void KApplication::reparseConfiguration (  )  [slot]

Definition at line 631 of file kapplication.cpp.

void KApplication::saveState ( QSessionManager &  sm  ) 

Reimplemented for internal purposes, mainly the highlevel handling of session management with KSessionManager.

For internal use only.

Reimplemented from QApplication.

Definition at line 747 of file kapplication.cpp.

void KApplication::saveYourself (  )  [signal]

Session management asks you to save the state of your application.

This signal is provided for compatibility only. For new applications, simply use KMainWindow. By reimplementing KMainWindow::queryClose(), KMainWindow::saveProperties() and KMainWindow::readProperties() you can simply handle session management for applications with multiple toplevel windows.

For purposes without KMainWindow, create an instance of KSessionManager and reimplement the functions KSessionManager::commitData() and/or KSessionManager::saveState()

If you still want to use this signal, here is what you should do:

Connect to this signal in order to save your data. Do NOT manipulate the UI in that slot, it is blocked by the session manager.

Use the sessionConfig() KConfig object to store all your instance specific data.

Do not do any closing at this point! The user may still select Cancel wanting to continue working with your application. Cleanups could be done after aboutToQuit().

KConfig * KApplication::sessionConfig (  ) 

Returns the application session config object.

Returns:
A pointer to the application's instance specific KConfig object.
See also:
KConfig

Definition at line 624 of file kapplication.cpp.

bool KApplication::sessionSaving (  )  const

Returns true if the application is currently saving its session data (most probably before KDE logout).

This is intended for use mainly in KMainWindow::queryClose() and KMainWindow::queryExit().

See also:
KMainWindow::queryClose

KMainWindow::queryExit

Definition at line 830 of file kapplication.cpp.

void KApplication::setStartupId ( const QByteArray &  startup_id  ) 

For internal use only.

Sets a new value for the application startup notification window property for newly created toplevel windows.

Parameters:
startup_id the startup notification identifier
See also:
KStartupInfo::setNewStartupId

Definition at line 1134 of file kapplication.cpp.

void KApplication::setSynchronizeClipboard ( bool  synchronize  ) 

Sets how the primary and clipboard selections are synchronized in an X11 environment.

Definition at line 1205 of file kapplication.cpp.

void KApplication::setTopWidget ( QWidget *  topWidget  ) 

Sets the top widget of the application.

This means basically applying the right window caption. An application may have several top widgets. You don't need to call this function manually when using KMainWindow.

Parameters:
topWidget A top widget of the application.
See also:
icon(), caption()

Definition at line 1112 of file kapplication.cpp.

QByteArray KApplication::startupId (  )  const

Returns the app startup notification identifier for this running application.

Returns:
the startup notification identifier

Definition at line 1129 of file kapplication.cpp.

QString KApplication::tempSaveName ( const QString &  pFilename  )  [static]

Get a file name in order to make a temporary copy of your document.

Parameters:
pFilename The full path to the current file of your document.
Returns:
A new filename for auto-saving.
Deprecated:
use KTemporaryFile, KSaveFile or KAutoSaveFile instead

Definition at line 1039 of file kapplication.cpp.

void KApplication::updateRemoteUserTimestamp ( const QString &  service,
int  time = 0 
)

Updates the last user action timestamp in the application registered to DBUS with id service to the given time, or to this application's user time, if 0 is given.

Use before causing user interaction in the remote application, e.g. invoking a dialog in the application using a DCOP call. Consult focus stealing prevention section in kdebase/kwin/README.

Definition at line 1026 of file kapplication.cpp.

void KApplication::updateUserTimestamp ( int  time = 0  )  [slot]

Updates the last user action timestamp to the given time, or to the current time, if 0 is given.

Do not use unless you're really sure what you're doing. Consult focus stealing prevention section in kdebase/kwin/README.

Definition at line 994 of file kapplication.cpp.

unsigned long KApplication::userTimestamp (  )  const

Returns the last user action timestamp or 0 if no user activity has taken place yet.

See also:
updateuserTimestamp

Definition at line 1017 of file kapplication.cpp.

bool KApplication::x11EventFilter ( XEvent *  _event  )  [protected]

Used to catch X11 events.

Reimplemented from QApplication.

Definition at line 942 of file kapplication.cpp.

int KApplication::xErrhandler ( Display *  dpy,
void *  err_ 
)

For internal use only.

Definition at line 422 of file kapplication.cpp.

int KApplication::xioErrhandler ( Display *  dpy  ) 

For internal use only.

Definition at line 408 of file kapplication.cpp.


Member Data Documentation

KApplication * KApplication::KApp = 0L [static, protected]

Current application object.

Definition at line 462 of file kapplication.h.

bool KApplication::loadedByKdeinit = false [static]

For internal use only.

Definition at line 398 of file kapplication.h.


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

KDEUI

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
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