00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __kicker_h__
00025 #define __kicker_h__
00026
00027 #include <tqcolor.h>
00028
00029 #include <kuniqueapplication.h>
00030 #include <kicontheme.h>
00031
00032 class KCMultiDialog;
00033 class KDirWatch;
00034 class KGlobalAccel;
00035 class KWinModule;
00036 class PanelKMenu;
00037 class PanelPopupButton;
00038
00039 class Kicker : public KUniqueApplication
00040 {
00041 Q_OBJECT
00042 K_DCOP
00043
00044 public:
00045 Kicker();
00046 ~Kicker();
00047
00048 k_dcop:
00049 void configure();
00050 void quit();
00051 void restart();
00052 void addExtension( const TQString &desktopFile );
00053 void popupKMenu( const TQPoint &globalPos );
00054 void clearQuickStartMenu();
00055 bool highlightMenuItem( const TQString &menuId );
00056 void showKMenu();
00057 void toggleShowDesktop();
00058 bool desktopShowing();
00059 void showConfig(const TQString& config, int page = -1);
00060 void showTaskBarConfig();
00061 void configureMenubar();
00062
00063
00064 TQRect desktopIconsArea(int screen) const;
00065
00066 k_dcop_signals:
00067 void desktopIconsAreaChanged(TQRect area, int screen);
00068
00069 public:
00070 static Kicker* the();
00071 KDirWatch* fileWatcher();
00072 KWinModule* kwinModule();
00073
00074 bool isImmutable() const;
00075 bool isKioskImmutable() const;
00076 bool canAddContainers() const { return m_canAddContainers && !isImmutable(); }
00077
00078 static TQStringList configModules(bool controlCenter);
00079
00083 TQPoint insertionPoint();
00084
00100 void setInsertionPoint(const TQPoint &p);
00101
00102
00103 public slots:
00104 void slotToggleShowDesktop();
00105 void toggleLock();
00106
00107 signals:
00108 void configurationChanged();
00109 void immutabilityChanged(bool immutable);
00110
00111 private slots:
00112 void configDialogFinished();
00113 void slotSettingsChanged( int );
00114 void slotRestart();
00115 void slotDesktopResized();
00116 void slotStyleChanged();
00117 void paletteChanged();
00118 void setCrashHandler();
00119 void slotDesktopIconsAreaChanged(const TQRect &area, int screen);
00120
00121 private:
00122 static void crashHandler(int signal);
00123
00124 KGlobalAccel* keys;
00125 KWinModule* m_kwinModule;
00126 KCMultiDialog* m_configDialog;
00127 bool m_canAddContainers;
00128 TQPoint m_insertionPoint;
00129 };
00130
00131 #endif