class KApplication

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

Definition#include <kapp.h>
InheritsKInstance, QApplication (qt)
Inherited byKUniqueApplication
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Signals

Public Static Methods

Protected Methods

Protected Members


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 kApplication method.

This class provides the following services to all KDE applications.

 KApplication (int& argc, char** argv, const QCString& rAppName, bool allowStyles=true, bool GUIenabled=true)

Constructor. Parses command-line arguments.

Parameters:
rAppNameapplication 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.
allowStylesSet to false to disable the loading on plugin based styles. This is only useful to applications that do not display a GUI normally. If you do create an application with allowStyles set to false that normally runs in the background but under special circumstances displays widgets call enableStyles() before displaying any widgets.
GUIenabledSet to false to disable all GUI stuff. This implies no styles either.

 KApplication ( bool allowStyles=true, bool GUIenabled=true)

This constructor takes aboutData and command line arguments from KCmdLineArgs.

Parameters:
allowStylesSet to false to disable the loading on plugin based styles. This is only useful to applications that do not display a GUI normally. If you do create an application with allowStyles set to false it normally runs in the background but under special circumstances displays widgets. Call enableStyles() before displaying any widgets.
GUIenabledSet to false to disable all GUI stuff. This implies no styles either.

void  addCmdLineOptions ()

[static]

Add Qt and KDE command line options to KCmdLineArgs.

int  argc ()

[const]

Retrieve the number of command line arguments, i. e. the length of the array KApplication::argv().

In this array, the arguments handled by KApplication itself (eg. '-icon') are already removed

Reimplemented from QApplication

KApplication*  kApplication ()

[static]

Retrieve 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.

KConfig*  sessionConfig ()

Retrieve the application session config object.

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

bool  isRestored ()

[const]

Is the application restored from the session manager?

Returns: If true, this application was restored by the session manager. Note that this may mean the config object returned by sessionConfig() contains data saved by a session closedown.

void  disableSessionManagement ()

Disable session management for this application.

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

DCOPClientdcopClient ()

[virtual]

Retrieve a pointer to a DCOPClient for the application.

QPixmap  icon ()

[const]

Get the application icon.

Returns: a QPixmap with the icon.

QPixmap  miniIcon ()

[const]

Get the mini-icon for the application.

Returns: a QPixmap with the icon.

void  setTopWidget ( QWidget *topWidget )

Set the top widget of the application.

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

Parameters:
topWidgetA top widget of the application.

See also: icon(), caption()

void  invokeHTMLHelp ( QString aFilename, QString aTopic )

[const]

Invoke the khelpcenter HTML help viewer.

Parameters:
aFilenameThe filename that is to be loaded. Its location is computed automatically according to the KFSSTND. If aFilename is empty, the logical appname with .html appended to it is used.
aTopicThis allows context-sensitive help. Its value will be appended to the filename, prefixed with a "#" (hash) character.

void  invokeMailer ( const QString &address, const QString &subject )

Invoke the standard email application.

Parameters:
addressThe destination address
subjectSubject string. Can be QString::null.

void  invokeBrowser ( const QString &url )

Invoke the standard browser.

Parameters:
urlThe destination address

QCString  launcher ()

[static]

Get the DCOP name of the service launcher. This will be something like klaucher_$host_$uid.

Returns: The DCOP name of the launcher.

int  startServiceByName ( const QString& _name, const QString &URL, QCString &dcopService, QString &error )

[static]

Starts a service based on the (translated) name of the service. E.g. "Web Browser"

Parameters:
URL- if not empty this URL is passed to the service

Returns: On failure, 'error' contains a description of the error that occured.

int  startServiceByDesktopPath ( const QString& _name, const QString &URL, QCString &dcopService, QString &error )

[static]

Starts a service based on the desktop path of the service. E.g. "Applications/konqueror.desktop" or "/home/user/bla/myfile.desktop"

Parameters:
URL- if not empty this URL is passed to the service

Returns: On failure, 'error' contains a description of the error that occured.

int  startServiceByDesktopName ( const QString& _name, const QString &URL, QCString &dcopService, QString &error )

[static]

Starts a service based on the desktop name of the service. E.g. "konqueror"

Parameters:
URL- if not empty this URL is passed to the service

Returns: On failure, 'error' contains a description of the error that occured.

KStyle*  kstyle ()

[const]

Retrieve the current KDE style object if a plugin is in use, or else NULL if a Qt internal style is being used.

bool  kdeFonts (QStringList &fontlist)

[const]

Get the KDE font list.

This method allows you to get the KDE font list which was composed by the user with kfontmanager. Usually you should work only with those fonts in your KDE application.

Parameters:
fontlistA reference to a list to fill with fonts.

Returns: true on success.

QString  caption ()

[const]

Return a text for the window caption.

This may be set by "-caption", otherwise it will be equivalent to the name of the executable.

QString  makeStdCaption ( const QString &userCaption, bool withAppName=true, bool modified=false )

[const]

Build a caption that contains the application name along with the userCaption() using a standard layout.

To make a compliant caption for your window, simply do: setCaption(kapp->makeStdCaption(yourCaption));

Parameters:
userCaptionThe caption string you want to display in the window caption area. Do not include the application name!
withAppNameIndicates that the method shall include or ignore the application name when making the caption string. You are not compliant if you set this to false.
modifiedIf true, a 'modified' sign will be included in the returned string. This is useful when indicating that a file is modified, i.e., contains data the has not been saved.

QString  tempSaveName ( const QString& pFilename )

[const]

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

Parameters:
pFilenameThe full path to the current file of your document.

Returns: A new filename for auto-saving.

QString  checkRecoverFile ( const QString& pFilename, bool& bRecover )

[const]

Check if there is an auto-save file for the document you want to open.

Parameters:
pFilenameThe full path to the document you want to open.
bRecoverThis gets set to true if there was a recover file.

Returns: The full path of the file to open.

Display * getDisplay ()

Get the X11 display

void  enableStyles ()

Enable style plugins.

This is useful only to applications that normally do not display a GUI and create the KApplication with allowStyles = @pfalse.

void  installX11EventFilter ( QWidget* filter )

Install 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.

int  random ()

[static]

Generate a uniform random number.

Returns: A truly unpredictable number in the range [0, MAX_RAND)

void  addKipcEventMask (int id)

Add a message type to the KIPC event mask. You can only add "system messages" to the event mask. These are the messages with id < 32. Messages with id >= 32 are user messages.

Parameters:
idThe message id. See KIPC::Message.

void  removeKipcEventMask (int id)

Remove a message type from the KIPC event mask. This message will not be handled anymore.

Parameters:
idThe message id.

bool  x11EventFilter ( XEvent * )

[protected]

Used to catch X11 events

int  xioErrhandler ()

enum {SETTINGS_MOUSE, SETTINGS_COMPLETION, SETTINGS_PATHS }

Valid values for the settingsChanged signal

void  kdisplayPaletteChanged ()

[signal]

KApplication has changed its Palette due to a KDisplay request.

Normally, widgets will update their palettes automatically, but you should connect to this to program special behaviour.

void  kdisplayStyleChanged ()

[signal]

KApplication has changed its GUI Style due to a KDisplay request.

Normally, widgets will update their styles automatically (as they would respond to an explicit setGUIStyle() call), but you should connect to this to program special behaviour.

void  kdisplayFontChanged ()

[signal]

KApplication has changed its Font due to a KDisplay request.

Normally widgets will update their fonts automatically, but you should connect to this to monitor global font changes, especially if you are using explicit fonts.

void  appearanceChanged ()

[signal]

KApplication has changed either its GUI style, its font or its palette due to a kdisplay request. Normally, widgets will update their styles automatically, but you should connect to this to program special behavior.

void  backgroundChanged (int desk)

[signal]

The desktop background has been changed by kcmdisplay.

Parameters:
deskThe desktop whose background has changed.

void  settingsChanged (int category)

[signal]

The global settings have been changed - see KGlobalSettings KApplication takes care of calling reparseConfiguration on KGlobal::config() so that applications/classes using this only have to re-read the configuration

Parameters:
categorythe category among the enum above

void  kipcMessage (int id, int data)

[signal]

Emitted when a KIPC user message has been received.

void  saveYourself ()

[signal]

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

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

For purposes without KTMainWindow, create an instance of KSessionManaged and reimplement the functions KSessionManaged::commitData and/or KSessionManaged::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 ::getSessionConfig KConfig object to store all your instance specific datas.

Do not do any closing at this point! The user may still select "cancel" and then he wants to continue working with your application. Cleanups could be done after shutDown() (see below)

void  shutDown ()

[signal]

Your application is killed. Either by your program itself, kwm's killwindow function, xkill or (the usual case) by KDE's logout.

The signal is particularly useful if your application has to do some last-second cleanups. Note that no user interaction is possible at this state.