00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef SPLASHINSTALLER_H
00012 #define SPLASHINSTALLER_H
00013
00014 #include <tqmap.h>
00015 #include <tqpoint.h>
00016
00017 #include <klistbox.h>
00018 #include <kurl.h>
00019
00020 class TQLabel;
00021 class TQTextEdit;
00022 class TQPushButton;
00023 class ThemeListBox;
00024
00025 class SplashInstaller : public QWidget
00026 {
00027 Q_OBJECT
00028 public:
00029 SplashInstaller(TQWidget *parent=0, const char *aName=0, bool aInit=FALSE);
00030 ~SplashInstaller();
00031
00032 virtual void load();
00033 virtual void load( bool useDefaults );
00034 virtual void save();
00035 virtual void defaults();
00036
00037 signals:
00038 void changed( bool state );
00039
00040 protected slots:
00041 virtual void slotAdd();
00042 virtual void slotRemove();
00043 virtual void slotTest();
00044 virtual void slotSetTheme(int);
00045 void slotFilesDropped(const KURL::List &urls);
00046
00047 protected:
00049 virtual void readThemesList();
00051 int addTheme(const TQString &path, const TQString &name);
00052 void addNewTheme(const KURL &srcURL);
00053 int findTheme( const TQString &theme );
00054
00055 private:
00056 bool mGui;
00057 ThemeListBox *mThemesList;
00058 TQPushButton *mBtnAdd, *mBtnRemove, *mBtnTest;
00059 TQTextEdit *mText;
00060 TQLabel *mPreview;
00061 };
00062
00063 class ThemeListBox: public KListBox
00064 {
00065 Q_OBJECT
00066 public:
00067 ThemeListBox(TQWidget *parent);
00068 TQMap<TQString, TQString> text2path;
00069
00070 signals:
00071 void filesDropped(const KURL::List &urls);
00072
00073 protected:
00074 void dragEnterEvent(TQDragEnterEvent* event);
00075 void dropEvent(TQDropEvent* event);
00076 void mouseMoveEvent(TQMouseEvent *e);
00077
00078 protected slots:
00079 void slotMouseButtonPressed(int button, TQListBoxItem *item, const TQPoint &p);
00080
00081 private:
00082 TQString mDragFile;
00083 TQPoint mOldPos;
00084
00085 };
00086
00087 #endif