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.
tdemultimedia/noatun/modules/kjofol-skin/kjloader.h

131 lines
2.9 KiB

#ifndef KJLOADER_H
#define KJLOADER_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
// local includes
#include "parser.h"
// noatun-specific includes
#include <noatun/plugin.h>
#include <noatun/app.h>
// system includes
#include <tqwidget.h>
#include <tqbitmap.h>
#include <tqptrlist.h>
#include <tqcstring.h>
#include <kwinmodule.h>
class TQLabel;
class KJWidget;
class KHelpMenu;
class KJSeeker;
class NoatunPreferences;
class KJToolTip;
class KJFont;
class KJPrefs;
class KJLoader : public TQWidget, public UserInterface, public Parser
{
Q_OBJECT
TQ_OBJECT
NOATUNPLUGIND
friend class KJWidget;
public:
KJLoader();
~KJLoader();
public:
void minimize();
KHelpMenu *helpMenu() const { return mHelpMenu; }
TQStringList &item(const TQString &key) { return *Parser::find(key); }
// returns path to currently loaded configfile
// can be either a newly loaded one or one of the three below
TQString currentSkin() { return mCurrentSkin; }
// returns path to mainskin-configfile
TQString currentDefaultSkin() { return mCurrentDefaultSkin; }
//returns path to dockmode-configfile if present
TQString currentDockModeSkin() { return mCurrentDockModeSkin; }
//returns path to winshademode-configfile if present (not supported yet)
TQString currentWinshadeModeSkin() { return mCurrentWinshadeModeSkin; }
KJPrefs *prefs() const { return mPrefs; }
TQPtrList<KJWidget> widgetsAt(const TQPoint &pt) const;
void removeChild(KJWidget *c);
void addChild(KJWidget *c);
public slots:
void loadSkin(const TQString &file);
void readConfig();
void switchToDockmode();
void returnFromDockmode();
protected:
void unloadSkin();
void showSplash();
public slots:
void timeUpdate();
void newSong();
private slots:
void loadSeeker();
void slotWindowActivate(WId win);
void slotWindowRemove(WId win);
void slotWindowChange(WId win);
void slotDesktopChange(int);
void slotStackingChanged();
void restack();
void hideSplash();
protected:
virtual void mouseMoveEvent(TQMouseEvent *e);
virtual void mousePressEvent(TQMouseEvent *e);
virtual void mouseReleaseEvent(TQMouseEvent *e);
virtual void paintEvent(TQPaintEvent *e);
virtual void closeEvent(TQCloseEvent*e);
virtual void wheelEvent(TQWheelEvent *e);
virtual void dragEnterEvent(TQDragEnterEvent *event);
virtual void dropEvent(TQDropEvent *event);
public:
static KJLoader* kjofol;
private:
// ==== docking stuff ====
KWinModule *mWin;
WId mDockToWin;
int mDockPositionX, mDockPositionY, mDockPosition;
TQRect mDockWindowRect;
// ==== end of docking stuff ====
bool moving;
TQPoint mMousePoint;
TQPtrList<KJWidget> subwidgets;
KJWidget *mClickedIn;
KHelpMenu *mHelpMenu;
KJFont *mText, *mNumbers, *mVolumeFont, *mPitchFont;
TQLabel *splashScreen;
KJToolTip *mTooltips;
TQString mCurrentSkin;
TQString mCurrentDefaultSkin;
TQString mCurrentDockModeSkin;
TQString mCurrentWinshadeModeSkin;
KJPrefs *mPrefs;
};
#endif // KJLOADER_H