You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeutils/superkaramba/src/karambaapp.h

97 lines
2.7 KiB

/***************************************************************************
* Copyright (C) 2003-2004 Adam Geitgey <adam@rootnode.org> *
* Copyright (C) 2003 Hans Karlsson <karlsson.h@home.se> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#ifndef KARAMBAAPP_H
#define KARAMBAAPP_H
#include "kapplication.h"
#include <tdeversion.h>
#include <ksystemtray.h>
#undef KDE_3_2
#undef KDE_3_3
#if defined(KDE_MAKE_VERSION)
#if TDE_VERSION >= KDE_MAKE_VERSION(3,2,0)
#define KDE_3_2
#endif
#if TDE_VERSION >= KDE_MAKE_VERSION(3,3,0)
#define KDE_3_3
#endif
#endif
#define karambaApp ((KarambaApplication*)tqApp)
class karamba;
class KarambaIface;
class KCmdLineArgs;
class ThemesDlg;
class dcopIface_stub;
class KHelpMenu;
class KAboutData;
class KarambaApplication : public KApplication
{
Q_OBJECT
TQ_OBJECT
friend class KarambaIface;
private:
static int fd;
KHelpMenu* m_helpMenu;
void showKarambaMenuExtension(bool show = true);
void setToolTip(const TQString &tip = TQString());
protected:
KarambaIface* iface;
ThemesDlg* themeListWindow;
dcopIface_stub* dcopIfaceStub;
TQObjectList *karambaList;
KSystemTray* sysTrayIcon;
public:
KarambaApplication();
~KarambaApplication();
TQString getMainKaramba();
TQStringList getKarambas();
bool themeExists(TQString pretty_name);
void initDcopStub(TQCString app = "");
void setUpSysTray(KAboutData* about);
void checkPreviousSession(KApplication &app, TQStringList &lst);
void checkCommandLine(KCmdLineArgs *args, TQStringList &lst);
bool startThemes(TQStringList &lst);
KarambaIface* dcopIface() { return iface; };
dcopIface_stub* dcopStub() { return dcopIfaceStub; };
TQWidget* parentWindow() { return (TQWidget*)themeListWindow; };
void addKaramba(karamba* k, bool reloading = false);
void deleteKaramba(karamba* k, bool reloading = false);
bool hasKaramba(karamba* k);
static bool lockKaramba();
static void unlockKaramba();
static void checkSuperKarambaDir();
public slots:
void buildToolTip();
void globalQuitSuperKaramba();
void globalShowThemeDialog();
void globalHideSysTray(bool hide = true);
protected slots:
void quitSuperKaramba();
void showThemeDialog();
void hideSysTray(bool hide = true);
};
#endif // KARAMBAAPP_H