kdecore Library API Documentation

KApplication Class Reference

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

#include <kapplication.h>

Inheritance diagram for KApplication:

QApplication KInstance KUniqueApplication List of all members.

Public Types

enum  CaptionLayout { CaptionAppLast = 1, CaptionAppFirst, CaptionNoApp }
enum  ShutdownConfirm { ShutdownConfirmDefault = -1, ShutdownConfirmNo = 0, ShutdownConfirmYes = 1 }
enum  ShutdownType { ShutdownTypeDefault = -1, ShutdownTypeNone = 0, ShutdownTypeReboot = 1, ShutdownTypeHalt = 2 }
enum  ShutdownMode {
  ShutdownModeDefault = -1, ShutdownModeSchedule = 0, ShutdownModeTryNow = 1, ShutdownModeForceNow = 2,
  ShutdownModeInteractive = 3
}
enum  {
  ShiftModifier = 1<<0, LockModifier = 1<<1, ControlModifier = 1<<2, Modifier1 = 1<<3,
  Modifier2 = 1<<4, Modifier3 = 1<<5, Modifier4 = 1<<6, Modifier5 = 1<<7
}
enum  {
  Button1Pressed = 1<<8, Button2Pressed = 1<<9, Button3Pressed = 1<<10, Button4Pressed = 1<<11,
  Button5Pressed = 1<<12
}
enum  SettingsCategory {
  SETTINGS_MOUSE, SETTINGS_COMPLETION, SETTINGS_PATHS, SETTINGS_POPUPMENU,
  SETTINGS_QT, SETTINGS_SHORTCUTS
}

Public Slots

void invokeBrowser (const QString &url, const QCString &startup_id)
void invokeBrowser (const QString &url)
void cut ()
void copy ()
void paste ()
void clear ()
void selectAll ()
void ref ()
void deref ()

Signals

void kdisplayPaletteChanged ()
void kdisplayStyleChanged ()
void kdisplayFontChanged ()
void appearanceChanged ()
void toolbarAppearanceChanged (int)
void backgroundChanged (int desk)
void settingsChanged (int category)
void iconChanged (int group)
void kipcMessage (int id, int data)
void saveYourself ()
void shutDown ()

Public Member Functions

 KApplication (bool allowStyles=true, bool GUIenabled=true)
 KApplication (Display *display, Qt::HANDLE visual=0, Qt::HANDLE colormap=0, bool allowStyles=true)
 KApplication (Display *display, int &argc, char **argv, const QCString &rAppName, bool allowStyles=true, bool GUIenabled=true)
 KApplication (int &argc, char **argv, const QCString &rAppName, bool allowStyles=true, bool GUIenabled=true) KDE_DEPRECATED
KConfigsessionConfig ()
bool isRestored () const
void disableSessionManagement ()
void enableSessionManagement ()
bool requestShutDown (ShutdownConfirm confirm=ShutdownConfirmDefault, ShutdownType sdtype=ShutdownTypeDefault, ShutdownMode sdmode=ShutdownModeDefault)
void propagateSessionManager ()
void commitData (QSessionManager &sm)
void saveState (QSessionManager &sm)
bool sessionSaving () const
QPixmap icon () const
QString iconName () const
QPixmap miniIcon () const
QString miniIconName () const
void setTopWidget (QWidget *topWidget)
void invokeHelp (const QString &anchor, const QString &appname, const QCString &startup_id) const
void invokeHelp (const QString &anchor=QString::null, const QString &appname=QString::null) const
void invokeHTMLHelp (const QString &aFilename, const QString &aTopic=QString::null) const KDE_DEPRECATED
void invokeMailer (const QString &address, const QString &subject, const QCString &startup_id)
void invokeMailer (const QString &address, const QString &subject)
void invokeMailer (const KURL &mailtoURL, const QCString &startup_id, bool allowAttachments)
void invokeMailer (const KURL &mailtoURL, const QCString &startup_id)
void invokeMailer (const KURL &mailtoURL)
void invokeMailer (const QString &to, const QString &cc, const QString &bcc, const QString &subject, const QString &body, const QString &messageFile, const QStringList &attachURLs, const QCString &startup_id)
void invokeMailer (const QString &to, const QString &cc, const QString &bcc, const QString &subject, const QString &body, const QString &messageFile=QString::null, const QStringList &attachURLs=QStringList())
QString caption () const
KDE_DEPRECATED KStyle * kstyle () const
QString makeStdCaption (const QString &userCaption, bool withAppName=true, bool modified=false) const
QString tempSaveName (const QString &pFilename) const
QString checkRecoverFile (const QString &pFilename, bool &bRecover) const
Display * getDisplay ()
void enableStyles ()
void disableStyles ()
void installX11EventFilter (QWidget *filter)
void removeX11EventFilter (const QWidget *filter)
void addKipcEventMask (int id)
void removeKipcEventMask (int id)
QCString startupId () const
void setStartupId (const QCString &startup_id)
void updateUserTimestamp (unsigned long time=0)
unsigned long userTimestamp () const
void updateRemoteUserTimestamp (const QCString &dcopId, unsigned long time=0)
QString geometryArgument () const
void installKDEPropertyMap ()
bool authorize (const QString &genericAction)
bool authorizeKAction (const char *action)
bool authorizeURLAction (const QString &action, const KURL &baseURL, const KURL &destURL)
void allowURLAction (const QString &action, const KURL &_baseURL, const KURL &_destURL)
bool authorizeControlModule (const QString &menuId)
QStringList authorizeControlModules (const QStringList &menuIds)
bool notify (QObject *receiver, QEvent *event)
int xErrhandler (Display *, void *)
int xioErrhandler (Display *)
void iceIOErrorHandler (_IceConn *conn)

Static Public Member Functions

void addCmdLineOptions ()
KApplicationkApplication ()
DCOPClientdcopClient ()
void disableAutoDcopRegistration ()
QCString launcher ()
int startServiceByName (const QString &_name, const QString &URL, QString *error=0, QCString *dcopService=0, int *pid=0, const QCString &startup_id="", bool noWait=false)
int startServiceByName (const QString &_name, const QStringList &URLs=QStringList(), QString *error=0, QCString *dcopService=0, int *pid=0, const QCString &startup_id="", bool noWait=false)
int startServiceByDesktopPath (const QString &_name, const QString &URL, QString *error=0, QCString *dcopService=0, int *pid=0, const QCString &startup_id="", bool noWait=false)
int startServiceByDesktopPath (const QString &_name, const QStringList &URLs=QStringList(), QString *error=0, QCString *dcopService=0, int *pid=0, const QCString &startup_id="", bool noWait=false)
int startServiceByDesktopName (const QString &_name, const QString &URL, QString *error=0, QCString *dcopService=0, int *pid=0, const QCString &startup_id="", bool noWait=false)
int startServiceByDesktopName (const QString &_name, const QStringList &URLs=QStringList(), QString *error=0, QCString *dcopService=0, int *pid=0, const QCString &startup_id="", bool noWait=false)
int kdeinitExec (const QString &name, const QStringList &args, QString *error, int *pid, const QCString &startup_id)
int kdeinitExec (const QString &name, const QStringList &args=QStringList(), QString *error=0, int *pid=0)
int kdeinitExecWait (const QString &name, const QStringList &args, QString *error, int *pid, const QCString &startup_id)
int kdeinitExecWait (const QString &name, const QStringList &args=QStringList(), QString *error=0, int *pid=0)
int random ()
QString randomString (int length)
uint keyboardModifiers ()
uint mouseState ()
void startKdeinit ()
QPalette createApplicationPalette ()
QPalette createApplicationPalette (KConfig *config, int contrast)
void installSigpipeHandler ()
bool guiEnabled ()

Static Public Attributes

bool loadedByKdeinit = false

Protected Member Functions

 KApplication (bool allowStyles, bool GUIenabled, KInstance *_instance)
 KApplication (Display *display, Qt::HANDLE visual, Qt::HANDLE colormap, bool allowStyles, KInstance *_instance)
bool x11EventFilter (XEvent *)
void invokeEditSlot (const char *slot)
virtual void virtual_hook (int id, void *data)

Protected Attributes

Display * display
Atom kipcCommAtom
int kipcEventMask
int pArgc

Static Protected Attributes

KApplicationKApp = 0L

Detailed Description

Controls and provides information to all KDE applications. 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.

The way a service gets started depends on the 'X-DCOP-ServiceType' entry in the desktop file of the service:

There are three possibilities:

Author:
Matthias Kalle Dalheimer <kalle@kde.org>
Version:
Id
kapplication.h,v 1.312 2004/07/22 16:50:04 waba Exp

Definition at line 96 of file kapplication.h.


Member Enumeration Documentation

enum KApplication::ShutdownConfirm
 

The possible values for the confirm parameter of requestShutDown().

Enumeration values:
ShutdownConfirmDefault  Obey the user's confirmation setting.
ShutdownConfirmNo  Don't confirm, shutdown without asking.
ShutdownConfirmYes  Always confirm, ask even if the user turned it off.

Definition at line 257 of file kapplication.h.

enum KApplication::ShutdownType
 

The possible values for the sdtype parameter of requestShutDown().

Enumeration values:
ShutdownTypeDefault  Select previous action or the default if it's the first time.
ShutdownTypeNone  Only log out.
ShutdownTypeReboot  Log out and reboot the machine.
ShutdownTypeHalt  Log out and halt the machine.

Definition at line 275 of file kapplication.h.

enum KApplication::ShutdownMode
 

The possible values for the sdmode parameter of requestShutDown().

Enumeration values:
ShutdownModeDefault  Select previous mode or the default if it's the first time.
ShutdownModeSchedule  Schedule a shutdown (halt or reboot) for the time all active sessions have exited.
ShutdownModeTryNow  Shut down, if no sessions are active.

Otherwise do nothing.

ShutdownModeForceNow  Force shutdown.

Kill any possibly active sessions.

ShutdownModeInteractive  Pop up a dialog asking the user what to do if sessions are still active.

Definition at line 297 of file kapplication.h.

enum KApplication::SettingsCategory
 

Valid values for the settingsChanged signal.

Definition at line 1215 of file kapplication.h.

Referenced by x11EventFilter().


Constructor & Destructor Documentation

KApplication::KApplication bool  allowStyles = true,
bool  GUIenabled = true
 

This constructor takes aboutData and command line arguments from KCmdLineArgs.

Parameters:
allowStyles Set 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.
GUIenabled Set to false to disable all GUI stuff. This implies no styles either.

Definition at line 560 of file kapplication.cpp.

References installSigpipeHandler(), and KInstance::instanceName().

KApplication::KApplication Display *  display,
Qt::HANDLE  visual = 0,
Qt::HANDLE  colormap = 0,
bool  allowStyles = true
 

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 appliction. 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.
allowStyles Set 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.
Since:
KDE 3.3

Definition at line 582 of file kapplication.cpp.

References installSigpipeHandler(), and KInstance::instanceName().

KApplication::KApplication Display *  display,
int &  argc,
char **  argv,
const QCString rAppName,
bool  allowStyles = true,
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.
allowStyles Set 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.
GUIenabled Set to false to disable all GUI stuff. This implies no styles either.

Definition at line 635 of file kapplication.cpp.

References installSigpipeHandler().

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

Deprecated:
do not use it at all, it will make your application crash, use KCmdineArgs
Constructor. Parses command-line arguments.

Parameters:
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.
allowStyles Set 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.
GUIenabled Set to false to disable all GUI stuff. This implies no styles either.

Definition at line 538 of file kapplication.cpp.

References installSigpipeHandler().


Member Function Documentation

void KApplication::addCmdLineOptions  )  [static]
 

Add Qt and KDE command line options to KCmdLineArgs.

Reimplemented in KUniqueApplication.

Definition at line 1357 of file kapplication.cpp.

References KCmdLineArgs::addCmdLineOptions().

Referenced by KCmdLineArgs::init().

KApplication* KApplication::kApplication  )  [inline, 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 217 of file kapplication.h.

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 934 of file kapplication.cpp.

bool KApplication::isRestored  )  const [inline]
 

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.
See also:
sessionConfig()

Definition at line 236 of file kapplication.h.

Referenced by KUniqueApplication::restoringSession().

void KApplication::disableSessionManagement  ) 
 

Disables session management for this application.

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

Definition at line 980 of file kapplication.cpp.

void KApplication::enableSessionManagement  ) 
 

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

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

Definition at line 984 of file kapplication.cpp.

bool KApplication::requestShutDown ShutdownConfirm  confirm = ShutdownConfirmDefault,
ShutdownType  sdtype = ShutdownTypeDefault,
ShutdownMode  sdmode = ShutdownModeDefault
 

Asks the session manager to shut the session down.

Using confirm == ShutdownConfirmYes or sdtype != ShutdownTypeDefault or sdmode != ShutdownModeDefault causes the use of ksmserver's DCOP interface. The remaining two combinations use the standard XSMP and will work with any session manager compliant with it.

Parameters:
confirm Whether to ask the user if he really wants to log out. ShutdownConfirm
sdtype The action to take after logging out. ShutdownType
sdmode If/When the action should be taken. ShutdownMode
Returns:
true on success, false if the session manager could not be contacted.

Definition at line 1006 of file kapplication.cpp.

References dcopClient(), propagateSessionManager(), DCOPClient::send(), ShutdownConfirmNo, ShutdownConfirmYes, and ShutdownTypeDefault.

void KApplication::propagateSessionManager  ) 
 

Propagates the network address of the session manager in the SESSION_MANAGER environment variable so that child processes can pick it up.

If SESSION_MANAGER isn't defined yet, the address is searched in $HOME/.KSMserver.

This function is called by clients that are started outside the session ( i.e. before ksmserver is started), but want to launch other processes that should participate in the session. Examples are kdesktop or kicker.

Definition at line 1069 of file kapplication.cpp.

Referenced by requestShutDown().

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

Since:
3.1.1

Definition at line 1242 of file kapplication.cpp.

DCOPClient * KApplication::dcopClient  )  [static]
 

Returns a pointer to a DCOPClient for the application.

If a client does not exist yet, it is created when this function is called.

Returns:
the DCOPClient for the application

Definition at line 884 of file kapplication.cpp.

References KCmdLineArgs::getOption(), KCmdLineArgs::isSet(), KCmdLineArgs::parsedArgs(), DCOPClient::setMainClient(), and DCOPClient::setServerAddress().

Referenced by invokeHelp(), invokeHTMLHelp(), requestShutDown(), and KUniqueApplication::start().

void KApplication::disableAutoDcopRegistration  )  [static]
 

Disable automatic dcop registration Must be called before creating a KApplication instance to have an effect.

Definition at line 929 of file kapplication.cpp.

QPixmap KApplication::icon  )  const
 

Returns a QPixmap with the application icon.

Returns:
the application icon

Definition at line 1465 of file kapplication.cpp.

References aIconPixmap, and KInstance::instanceName().

Referenced by setTopWidget().

QString KApplication::iconName  )  const
 

Returns the name of the application icon.

Returns:
the icon's name

Definition at line 1474 of file kapplication.cpp.

References KInstance::instanceName().

QPixmap KApplication::miniIcon  )  const
 

Returns the mini-icon for the application as a QPixmap.

Returns:
the application's mini icon

Definition at line 1479 of file kapplication.cpp.

References aMiniIconPixmap, and KInstance::instanceName().

Referenced by setTopWidget().

QString KApplication::miniIconName  )  const
 

Returns the name of the mini-icon for the application.

Returns:
the mini icon's name

Definition at line 1488 of file kapplication.cpp.

References KInstance::instanceName().

void KApplication::setTopWidget QWidget topWidget  ) 
 

Sets the top widget of the application.

This means basically 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 KMainWindow.

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

Definition at line 2589 of file kapplication.cpp.

References caption(), icon(), miniIcon(), KWin::setIcons(), KStartupInfo::setWindowStartupId(), and startupId().

void KApplication::invokeHelp const QString anchor,
const QString appname,
const QCString startup_id
const
 

Invokes the KHelpCenter HTML help viewer from docbook sources.

Parameters:
anchor This has to be a defined anchor in your docbook sources. If empty the main index is loaded
appname This allows you to show the help of another application. If empty the current name() is used
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default

Definition at line 2062 of file kapplication.cpp.

References dcopClient(), DCOPClient::isApplicationRegistered(), and startServiceByDesktopName().

void KApplication::invokeHTMLHelp const QString aFilename,
const QString aTopic = QString::null
const
 

Deprecated:
Invoke the khelpcenter HTML help viewer from HTML sources. Please use invokeHelp() instead.
Parameters:
aFilename The 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.
aTopic This allows context-sensitive help. Its value will be appended to the filename, prefixed with a "#" (hash) character.

Definition at line 2095 of file kapplication.cpp.

References dcopClient(), DCOPClient::isApplicationRegistered(), and startServiceByDesktopName().

void KApplication::invokeMailer const QString address,
const QString subject,
const QCString startup_id
 

Convenience method; invokes the standard email application.

Parameters:
address The destination address
subject Subject string. Can be QString::null.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default

Definition at line 2135 of file kapplication.cpp.

Referenced by invokeMailer().

void KApplication::invokeMailer const KURL mailtoURL,
const QCString startup_id,
bool  allowAttachments
 

Invokes the standard email application.

Parameters:
mailtoURL A mailto URL.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
allowAttachments whether attachments specified in mailtoURL should be honoured. The default is false; do not honour requests for attachments.

Definition at line 2151 of file kapplication.cpp.

References KURL::decode_string(), invokeMailer(), KURL::path(), and KURL::query().

void KApplication::invokeMailer const QString to,
const QString cc,
const QString bcc,
const QString subject,
const QString body,
const QString messageFile,
const QStringList attachURLs,
const QCString startup_id
 

Convenience method; invokes the standard email application.

All parameters are optional.

Parameters:
to The destination address.
cc The Cc field
bcc The Bcc field
subject Subject string
body A string containing the body of the mail (exclusive with messageFile)
messageFile A file (URL) containing the body of the mail (exclusive with body) - currently unsupported
attachURLs List of URLs to be attached to the mail.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default

Definition at line 2191 of file kapplication.cpp.

References KInstance::config(), KMacroExpander::expandMacros(), kdeinitExec(), KConfigBase::readBoolEntry(), KConfigBase::readEntry(), KConfigBase::readPathEntry(), KConfigBase::setGroup(), and KShell::splitArgs().

void KApplication::invokeBrowser const QString url,
const QCString startup_id
[slot]
 

Invokes the standard browser.

Note that you should only do this when you know for sure that the browser can handle the URL (i.e. its mimetype). In doubt, if the URL can point to an image or anything else than directory or HTML, prefer to use new KRun( url ).

Parameters:
url The destination address
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default

Definition at line 2272 of file kapplication.cpp.

References startServiceByDesktopName().

void KApplication::cut  )  [slot]
 

If the widget with focus provides a cut() slot, call that slot.

Thus for a simple application cut can be implemented as:

 KStdAction::cut( kapp, SLOT( cut() ), actionCollection() );

Definition at line 2287 of file kapplication.cpp.

References invokeEditSlot().

void KApplication::copy  )  [slot]
 

If the widget with focus provides a copy() slot, call that slot.

Thus for a simple application copy can be implemented as:

 KStdAction::copy( kapp, SLOT( copy() ), actionCollection() );

Definition at line 2292 of file kapplication.cpp.

References invokeEditSlot().

void KApplication::paste  )  [slot]
 

If the widget with focus provides a paste() slot, call that slot.

Thus for a simple application copy can be implemented as:

 KStdAction::paste( kapp, SLOT( paste() ), actionCollection() );

Definition at line 2297 of file kapplication.cpp.

References invokeEditSlot().

void KApplication::clear  )  [slot]
 

If the widget with focus provides a clear() slot, call that slot.

Thus for a simple application clear() can be implemented as:

 new KAction( i18n( "Clear" ), "editclear", 0, kapp, SLOT( clear() ), actionCollection(), "clear" );

Note that for some widgets, this may not provide the intended bahavior. For example if you make use of the code above and a KListView has the focus, clear() will clear all of the items in the list. If this is not the intened behavior and you want to make use of this slot, you can subclass KListView and reimplement this slot. For example the following code would implement a KListView without this behavior:

 class MyListView : public KListView {
   Q_OBJECT
 public:
   MyListView( QWidget * parent = 0, const char * name = 0, WFlags f = 0 ) : KListView( parent, name, f ) {}
   virtual ~MyListView() {}
 public slots:
   virtual void clear() {}
 };

Definition at line 2302 of file kapplication.cpp.

References invokeEditSlot().

void KApplication::selectAll  )  [slot]
 

If the widget with focus provides a selectAll() slot, call that slot.

Thus for a simple application select all can be implemented as:

 KStdAction::selectAll( kapp, SLOT( selectAll() ), actionCollection() );

Definition at line 2307 of file kapplication.cpp.

References invokeEditSlot().

QCString KApplication::launcher  )  [static]
 

Returns the DCOP name of the service launcher.

This will be something like klaucher_$host_$uid.

Returns:
the name of the service launcher

Definition at line 2313 of file kapplication.cpp.

int KApplication::startServiceByName const QString _name,
const QString URL,
QString error = 0,
QCString dcopService = 0,
int *  pid = 0,
const QCString startup_id = "",
bool  noWait = false
[static]
 

Starts a service based on the (translated) name of the service.

E.g. "Web Browser"

Parameters:
_name the name of the service
URL if not empty this URL is passed to the service
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
dcopService On success, dcopService contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
noWait if set, the function does not wait till the service is running.
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2397 of file kapplication.cpp.

int KApplication::startServiceByName const QString _name,
const QStringList URLs = QStringList(),
QString error = 0,
QCString dcopService = 0,
int *  pid = 0,
const QCString startup_id = "",
bool  noWait = false
[static]
 

Starts a service based on the (translated) name of the service.

E.g. "Web Browser"

Parameters:
_name the name of the service
URLs if not empty these URLs will be passed to the service
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
dcopService On success, dcopService contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
noWait if set, the function does not wait till the service is running.
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2409 of file kapplication.cpp.

int KApplication::startServiceByDesktopPath const QString _name,
const QString URL,
QString error = 0,
QCString dcopService = 0,
int *  pid = 0,
const QCString startup_id = "",
bool  noWait = false
[static]
 

Starts a service based on the desktop path of the service.

E.g. "Applications/konqueror.desktop" or "/home/user/bla/myfile.desktop"

Parameters:
_name the path of the desktop file
URL if not empty this URL is passed to the service
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
dcopService On success, dcopService contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
noWait if set, the function does not wait till the service is running.
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2418 of file kapplication.cpp.

int KApplication::startServiceByDesktopPath const QString _name,
const QStringList URLs = QStringList(),
QString error = 0,
QCString dcopService = 0,
int *  pid = 0,
const QCString startup_id = "",
bool  noWait = false
[static]
 

Starts a service based on the desktop path of the service.

E.g. "Applications/konqueror.desktop" or "/home/user/bla/myfile.desktop"

Parameters:
_name the path of the desktop file
URLs if not empty these URLs will be passed to the service
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
dcopService On success, dcopService contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
noWait if set, the function does not wait till the service is running.
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2430 of file kapplication.cpp.

int KApplication::startServiceByDesktopName const QString _name,
const QString URL,
QString error = 0,
QCString dcopService = 0,
int *  pid = 0,
const QCString startup_id = "",
bool  noWait = false
[static]
 

Starts a service based on the desktop name of the service.

E.g. "konqueror"

Parameters:
_name the desktop name of the service
URL if not empty this URL is passed to the service
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
dcopService On success, dcopService contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
noWait if set, the function does not wait till the service is running.
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2439 of file kapplication.cpp.

Referenced by invokeBrowser(), invokeHelp(), invokeHTMLHelp(), and KNotifyClient::startDaemon().

int KApplication::startServiceByDesktopName const QString _name,
const QStringList URLs = QStringList(),
QString error = 0,
QCString dcopService = 0,
int *  pid = 0,
const QCString startup_id = "",
bool  noWait = false
[static]
 

Starts a service based on the desktop name of the service.

E.g. "konqueror"

Parameters:
_name the desktop name of the service
URLs if not empty these URLs will be passed to the service
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
dcopService On success, dcopService contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
noWait if set, the function does not wait till the service is running.
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2451 of file kapplication.cpp.

int KApplication::kdeinitExec const QString name,
const QStringList args,
QString error,
int *  pid,
const QCString startup_id
[static]
 

Starts a program via kdeinit.

There will be no application startup notification, so you should use it only for starting internal processes.

program name and arguments are converted to according to the local encoding and passed as is to kdeinit.

Parameters:
name Name of the program to start
args Arguments to pass to the program
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2467 of file kapplication.cpp.

Referenced by invokeMailer().

int KApplication::kdeinitExecWait const QString name,
const QStringList args,
QString error,
int *  pid,
const QCString startup_id
[static]
 

Starts a program via kdeinit and wait for it to finish.

Like kdeinitExec(), but it waits till the program is finished. As such it behaves similar to the system(...) function.

Parameters:
name Name of the program to start
args Arguments to pass to the program
error On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
pid On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
startup_id for app startup notification, "0" for none, "" ( empty string ) is the default
Returns:
an error code indicating success (== 0) or failure (> 0).

Definition at line 2482 of file kapplication.cpp.

Referenced by KConfig::checkUpdate().

QString KApplication::caption  )  const
 

Returns a text for the window caption.

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

Returns:
the text for the window caption

Definition at line 1800 of file kapplication.cpp.

References KInstance::aboutData(), KGlobal::instance(), and KAboutData::programName().

Referenced by makeStdCaption(), and setTopWidget().

KDE_DEPRECATED KStyle* KApplication::kstyle  )  const [inline]
 

Deprecated:

Definition at line 802 of file kapplication.h.

QString KApplication::makeStdCaption const QString userCaption,
bool  withAppName = true,
bool  modified = false
const
 

Builds 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:
userCaption The caption string you want to display in the window caption area. Do not include the application name!
withAppName Indicates 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.
modified If true, a 'modified' sign will be included in the returned string. This is useful when indicating that a file is modified, i.e., it contains data that has not been saved.
Returns:
the created caption

Definition at line 1819 of file kapplication.cpp.

References caption().

QString KApplication::tempSaveName const QString pFilename  )  const
 

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.

Definition at line 2489 of file kapplication.cpp.

QString KApplication::checkRecoverFile const QString pFilename,
bool &  bRecover
const
 

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 2517 of file kapplication.cpp.

Display* KApplication::getDisplay  )  [inline]
 

Get the X11 display.

Returns:
the X11 Display

Definition at line 849 of file kapplication.h.

void KApplication::enableStyles  ) 
 

Enables style plugins.

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

Definition at line 1759 of file kapplication.cpp.

void KApplication::disableStyles  ) 
 

Disables style plugins.

Current style plugins do not get unloaded.

This is only useful when used in combination with enableStyles().

Definition at line 1768 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 371 of file kapplication.cpp.

void KApplication::removeX11EventFilter const QWidget filter  ) 
 

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

Definition at line 386 of file kapplication.cpp.

int KApplication::random  )  [static]
 

Generates a uniform random number.

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

Definition at line 2641 of file kapplication.cpp.

Referenced by KTempDir::create(), KLockFile::lock(), randomString(), and KRandomSequence::setSeed().

QString KApplication::randomString int  length  )  [static]
 

Generates a random string.

It operates in the range [A-Za-z0-9]

Parameters:
length Generate a string of this length.
Returns:
the random string

Definition at line 2661 of file kapplication.cpp.

References random().

void KApplication::addKipcEventMask int  id  ) 
 

Adds 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:
id The message id. See KIPC::Message.
See also:
KIPC

removeKipcEventMask()

kipcMessage()

Definition at line 1739 of file kapplication.cpp.

void KApplication::removeKipcEventMask int  id  ) 
 

Removes a message type from the KIPC event mask.

This message will not be handled anymore.

Parameters:
id The message id.
See also:
KIPC

addKipcEventMask()

kipcMessage()

Definition at line 1749 of file kapplication.cpp.

QCString KApplication::startupId  )  const
 

Returns the app startup notification identifier for this running application.

Returns:
the startup notification identifier

Definition at line 2610 of file kapplication.cpp.

Referenced by setTopWidget().

void KApplication::updateUserTimestamp unsigned long  time = 0  ) 
 

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.

Since:
3.2

Definition at line 1686 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.

Since:
3.2.3
See also:
updateuserTimestamp

Definition at line 1706 of file kapplication.cpp.

void KApplication::updateRemoteUserTimestamp const QCString dcopId,
unsigned long  time = 0
 

Updates the last user action timestamp in the application registered to DCOP with dcopId 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.

Since:
3.3

Definition at line 1715 of file kapplication.cpp.

QString KApplication::geometryArgument  )  const
 

Returns the argument to --geometry if any, so the geometry can be set wherever necessary.

Returns:
the geometry argument, or QString::null if there is none

Definition at line 1460 of file kapplication.cpp.

void KApplication::installKDEPropertyMap  ) 
 

Install a Qt SQL property map with entries for all KDE widgets Call this in any application using KDE widgets in QSqlForm or QDataView.

If you are adding a widget that was missing please make sure to also add it to KConfigDialogManager's retrieveSettings() function. Thanks.

Definition at line 2009 of file kapplication.cpp.

bool KApplication::authorize const QString genericAction  ) 
 

Returns whether a certain action is authorized.

Parameters:
genericAction The name of a generic action
Returns:
true if the action is authorized

Definition at line 2679 of file kapplication.cpp.

References KGlobal::config(), and KConfigBase::readBoolEntry().

Referenced by authorizeKAction().

bool KApplication::authorizeKAction const char *  action  ) 
 

Returns whether a certain KAction is authorized.

Parameters:
action The name of a KAction action. The name is prepended with "action/" before being passed to authorize()
Returns:
true if the KAction is authorized

Definition at line 2689 of file kapplication.cpp.

References authorize(), and KGlobal::staticQString().

bool KApplication::authorizeURLAction const QString action,
const KURL baseURL,
const KURL destURL
 

Returns whether a certain URL related action is authorized.

Parameters:
action The name of the action. Known actions are list (may be listed (e.g. in file selection dialog)), link (may be linked to), open (may open) and redirect (may be redirected to)
baseURL The url where the action originates from
destURL The object of the action
Returns:
true when the action is authorized, false otherwise.
Since:
3.1

Definition at line 2809 of file kapplication.cpp.

References KURL::isEmpty(), KURL::path(), KURL::protocol(), KProtocolInfo::protocolClass(), and KURL::setPath().

Referenced by allowURLAction().

void KApplication::allowURLAction const QString action,
const KURL _baseURL,
const KURL _destURL
 

Allow a certain URL action.

This can be useful if your application needs to ensure access to an application specific directory that may otherwise be subject to KIOSK restrictions.

Parameters:
action The name of the action.
_baseURL The url where the action originates from
_destURL The object of the action
Since:
3.2

Definition at line 2799 of file kapplication.cpp.

References authorizeURLAction(), KURL::host(), KURL::path(), and KURL::protocol().

bool KApplication::authorizeControlModule const QString menuId  ) 
 

Returns whether access to a certain control module is authorized.

Parameters:
menuId identifying the control module, e.g. kde-mouse.desktop
Returns:
true if access to the module is authorized, false otherwise.
Since:
3.2

Definition at line 2699 of file kapplication.cpp.

References KGlobal::config(), and KConfigBase::readBoolEntry().

QStringList KApplication::authorizeControlModules const QStringList menuIds  ) 
 

Returns whether access to a certain control modules is authorized.

Parameters:
menuIds list of menu-ids of control module, an example of a menu-id is kde-mouse.desktop.
Returns:
Those control modules for which access has been authorized.
Since:
3.2

Definition at line 2708 of file kapplication.cpp.

References KGlobal::config(), and KConfigBase::readBoolEntry().

uint KApplication::keyboardModifiers  )  [static]
 

Returns the currently pressed keyboard modifiers (e.g.

shift, control, etc.) Usually you simply want to test for those in key events, in which case QKeyEvent::state() does the job (or QKeyEvent::key() to notice when a modifier is pressed alone). But it can be useful to query for the status of the modifiers at another moment (e.g. some KDE apps do that upon a drop event).

Returns:
the keyboard modifiers
Since:
3.1

Definition at line 2840 of file kapplication.cpp.

uint KApplication::mouseState  )  [static]
 

Returns the currently pressed mouse buttons.

Usually you simply want to test for those in mouse events, in which case QMouseEvent::button() does the job (or QMouseEvent::state()). But it can be useful to query for the status of the mouse buttons at another moment. To query for the mouse pointer position, use QCursor::pos().

Returns:
the currently pressed mouse buttons
Since:
3.1

Definition at line 2851 of file kapplication.cpp.

void KApplication::ref  )  [slot]
 

Tells KApplication about one more operation that should be finished before the application exits.

The standard behavior is to exit on the "last window closed" event, but some events should outlive the last window closed (e.g. a file copy for a file manager, or 'compacting folders on exit' for a mail client).

Definition at line 944 of file kapplication.cpp.

void KApplication::deref  )  [slot]
 

Tells KApplication that one operation such as those described in ref() just finished.

The application exits if the counter is back to 0.

Definition at line 950 of file kapplication.cpp.

bool KApplication::x11EventFilter XEvent *   )  [protected]
 

Used to catch X11 events.

Definition at line 1557 of file kapplication.cpp.

References backgroundChanged(), KGlobal::config(), iconChanged(), KGlobal::instance(), kipcMessage(), KInstance::newIconLoader(), KConfig::reparseConfiguration(), SettingsCategory, and toolbarAppearanceChanged().

void KApplication::invokeEditSlot const char *  slot  )  [protected]
 

This method is used internally to determine which edit slots are implemented by the widget that has the focus, and to invoke those slots if available.

Parameters:
slot is the slot as returned using the SLOT() macro, for example SLOT( cut() )
This method can be used in KApplication subclasses to implement application wide edit actions not supported by the KApplication class. For example (in your subclass):

 void MyApplication::deselect()
 {
   invokeEditSlot( SLOT( deselect() ) );
 }

Now in your application calls to MyApplication::deselect() will call this slot on the focused widget if it provides this slot. You can combine this with KAction with:

 KStdAction::deselect( static_cast<MyApplication *>( kapp ), SLOT( cut() ), actionCollection() );

See also:
cut()

copy()

paste()

clear()

selectAll()

Since:
3.2

Definition at line 1724 of file kapplication.cpp.

Referenced by clear(), copy(), cut(), paste(), and selectAll().

QPalette KApplication::createApplicationPalette  )  [static]
 

Used to obtain the QPalette that will be used to set the application palette.

This is only useful for configuration modules such as krdb and should not be used in normal circumstances.

Returns:
the QPalette
Since:
3.1

Definition at line 1838 of file kapplication.cpp.

References KGlobal::config().

void KApplication::installSigpipeHandler  )  [static]
 

Installs a handler for the SIGPIPE signal.

It is thrown when you write to a pipe or socket that has been closed. The handler is installed automatically in the constructor, but you may need it if your application or component does not have a KApplication instance.

Definition at line 2862 of file kapplication.cpp.

Referenced by KApplication().

void KApplication::kdisplayPaletteChanged  )  [signal]
 

Emitted when KApplication has changed its palette due to a KControl request.

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

void KApplication::kdisplayStyleChanged  )  [signal]
 

Emitted when KApplication has changed its GUI style in response to a KControl 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 behavior.

void KApplication::kdisplayFontChanged  )  [signal]
 

Emitted when KApplication has changed its font in response to a KControl 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.

Note: If you derive from a QWidget-based class, a faster method is to reimplement QWidget::fontChange(). This is the preferred way to get informed about font updates.

void KApplication::appearanceChanged  )  [signal]
 

Emitted when KApplication has changed either its GUI style, its font or its palette in response to a kdisplay request.

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

void KApplication::toolbarAppearanceChanged int   )  [signal]
 

Emitted when the settings for toolbars have been changed.

KToolBar will know what to do.

Referenced by x11EventFilter().

void KApplication::backgroundChanged int  desk  )  [signal]
 

Emitted when the desktop background has been changed by kcmdisplay.

Parameters:
desk The desktop whose background has changed.

Referenced by x11EventFilter().

void KApplication::settingsChanged int  category  )  [signal]
 

Emitted when 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:
category the category among the enum above

void KApplication::iconChanged int  group  )  [signal]
 

Emitted when the global icon settings have been changed.

Parameters:
group the new group

Referenced by x11EventFilter().

void KApplication::kipcMessage int  id,
int  data
[signal]
 

Emitted when a KIPC user message has been received.

Parameters:
id the message id
data the data
See also:
KIPC

KIPC::Message

addKipcEventMask

removeKipcEventMask

Referenced by x11EventFilter().

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 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 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 shutDown() (see the following).

void KApplication::shutDown  )  [signal]
 

Your application is killed.

Either by your program itself, 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.


Member Data Documentation

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

Current application object.

Definition at line 138 of file kapplication.cpp.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdecore Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 23 17:11:39 2004 by doxygen 1.3.8-20040913 written by Dimitri van Heesch, © 1997-2003