summaryrefslogtreecommitdiff
path: root/Plugins/skins/MirandaSkinnedDialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/skins/MirandaSkinnedDialog.h')
-rw-r--r--Plugins/skins/MirandaSkinnedDialog.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/Plugins/skins/MirandaSkinnedDialog.h b/Plugins/skins/MirandaSkinnedDialog.h
index b8efdd3..4615126 100644
--- a/Plugins/skins/MirandaSkinnedDialog.h
+++ b/Plugins/skins/MirandaSkinnedDialog.h
@@ -4,6 +4,9 @@
#include "SkinLib\SkinnedDialog.h"
class SkinOption;
+class MirandaSkinnedDialog;
+
+typedef void (*MirandaSkinnedCallback)(void *param, const MirandaSkinnedDialog *dlg);
class MirandaSkinnedDialog : public SkinnedDialog
@@ -13,15 +16,24 @@ public:
virtual ~MirandaSkinnedDialog();
virtual const char * getModule() const;
- virtual const TCHAR * getSkinName();
+
+ virtual const TCHAR * getSkinName() const;
+ virtual void setSkinName(const TCHAR *name);
virtual bool finishedConfiguring();
- void storeToDB(const SkinOptions *opts);
+ virtual void storeToDB(const SkinOptions *opts);
+
+ virtual void setOnSkinChangedCallback(MirandaSkinnedCallback cb, void *param);
+
+protected:
+ virtual int compile();
private:
std::string module;
std::tstring skinName;
+ MirandaSkinnedCallback skinChangedCallback;
+ void *skinChangedCallbackParam;
void updateFilename();
@@ -39,6 +51,8 @@ private:
inline void getSettingName(char *setting, const char * name);
+ void fireOnSkinChanged();
+
void onOptionChange(const SkinOption *opt);
static void staticOnOptionChange(void *param, const SkinOption *opt);