summaryrefslogtreecommitdiff
path: root/plugins/StatusManager/src/StartupStatus/startupstatus.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/StatusManager/src/StartupStatus/startupstatus.h')
-rw-r--r--plugins/StatusManager/src/StartupStatus/startupstatus.h167
1 files changed, 167 insertions, 0 deletions
diff --git a/plugins/StatusManager/src/StartupStatus/startupstatus.h b/plugins/StatusManager/src/StartupStatus/startupstatus.h
new file mode 100644
index 0000000000..5686e03981
--- /dev/null
+++ b/plugins/StatusManager/src/StartupStatus/startupstatus.h
@@ -0,0 +1,167 @@
+/*
+ StartupStatus Plugin for Miranda-IM (www.miranda-im.org)
+ Copyright 2003-2006 P. Boon
+
+ 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.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+#ifndef __STARTUPSTATUSHEADER
+#define __STARTUPSTATUSHEADER
+
+#define SSMODULENAME "StartupStatus"
+
+struct TSSSetting : public PROTOCOLSETTINGEX, public MZeroedObject
+{
+ TSSSetting(PROTOACCOUNT *pa);
+ TSSSetting(int profile, PROTOACCOUNT *pa);
+ ~TSSSetting();
+};
+
+static int SSCompareSettings(const TSSSetting *p1, const TSSSetting *p2)
+{
+ return mir_strcmp(p1->szName, p2->szName);
+}
+
+typedef OBJLIST<TSSSetting> TSettingsList;
+
+struct PROFILECE
+{
+ int profile;
+ char *szProto;
+ wchar_t *msg;
+};
+
+struct PROFILEOPTIONS : public MZeroedObject
+{
+ __inline ~PROFILEOPTIONS()
+ {
+ delete ps;
+ mir_free(tszName);
+ }
+
+ wchar_t *tszName;
+ TSettingsList* ps;
+ BOOL showDialog;
+ BOOL createTtb;
+ BOOL createMmi;
+ BOOL inSubMenu;
+ BOOL regHotkey;
+ WORD hotKey;
+};
+
+typedef struct {
+ ATOM id;
+ int profile;
+} HKINFO;
+
+#define UM_REINITPROFILES WM_USER + 1
+#define UM_SETPROFILE WM_USER + 2
+#define UM_SETPROTOCOL WM_USER + 3
+#define UM_SETSTATUSMSG WM_USER + 4
+#define UM_ADDPROFILE WM_USER + 5
+#define UM_DELPROFILE WM_USER + 6
+#define UM_REINITDOCKED WM_USER + 7
+#define UM_REINITWINSTATE WM_USER + 8
+#define UM_REINITWINSIZE WM_USER + 9
+
+#define CLUIINTM_REDRAW (WM_USER+100)
+
+#define MODULE_CLIST "CList"
+#define MODULE_CLUI "CLUI"
+#define SETTING_STATUS "Status"
+
+#define SETTING_SETWINSTATE "SetState"
+#define SETTING_WINSTATE "State"
+
+#define SETTING_SETDOCKED "SetDocked"
+#define SETTING_DOCKED "Docked"
+
+#define SETTING_SHOWDIALOG "ShowDialog"
+#define SETTING_OFFLINECLOSE "OfflineOnClose"
+#define SETTING_SETPROFILE "SetStatusOnStartup"
+#define SETTING_AUTODIAL "AutoDial"
+#define SETTING_AUTOHANGUP "AutoHangup"
+
+#define SETTING_TOOLWINDOW "ToolWindow"
+
+#define SETTING_OVERRIDE "AllowOverride"
+
+#define SETTING_SETWINLOCATION "SetWinLoc"
+#define SETTING_XPOS "x"
+#define SETTING_YPOS "y"
+
+#define SETTING_SETWINSIZE "SetWinSize"
+#define SETTING_WIDTH "Width"
+#define SETTING_HEIGHT "Height"
+#define SETTING_AUTOSIZE "AutoSize"
+
+#define SETTING_PROFILECOUNT "ProfileCount"
+#define SETTING_DEFAULTPROFILE "DefaultProfile"
+#define SETTING_PROFILENAME "ProfileName"
+#define SETTING_CREATETTBBUTTON "CreateTTBButton"
+#define SETTING_PROFILE_STSMSG "StatusMsg"
+#define SETTING_SHOWCONFIRMDIALOG "profile_ShowDialog"
+#define SETTING_CREATEMMITEM "CreateMMItem"
+#define SETTING_INSUBMENU "InSubMenu"
+#define SETTING_REGHOTKEY "RegHotKey"
+#define SETTING_HOTKEY "HotKey"
+#define SETTING_PROFILENO "ProfileNo"
+
+#define SETTING_SETPROFILEDELAY "SetStatusDelay"
+#define SETTING_DLGTIMEOUT "DialogTimeout"
+
+#define SHORTCUT_DESC L"Miranda NG"
+#define SHORTCUT_FILENAME L"\\Miranda NG.lnk"
+
+#define DOCKED_NONE 0
+#define DOCKED_LEFT 1
+#define DOCKED_RIGHT 2
+
+#define MS_SS_MENUSETPROFILEPREFIX "StartupStatus/SetProfile_"
+
+// options
+int StartupStatusOptionsInit(WPARAM wparam,LPARAM lparam);
+char* OptName(int i, const char* setting);
+
+// startupstatus
+void StartupStatusLoad();
+void StartupStatusUnload();
+
+int SSLoadMainOptions();
+
+TSettingsList* GetCurrentProtoSettings();
+
+// profile
+int GetProfile(int profileID, TSettingsList& arSettings );
+wchar_t *GetStatusMessage(int profile, char *szProto);
+
+static INT_PTR SrvGetProfile(WPARAM wParam, LPARAM lParam)
+{
+ return GetProfile((int)wParam, *(TSettingsList*)lParam);
+}
+
+INT_PTR LoadAndSetProfile(WPARAM wParam, LPARAM lParam);
+INT_PTR GetProfileCount(WPARAM wParam, LPARAM lParam);
+INT_PTR GetProfileName(WPARAM wParam, LPARAM lParam);
+
+extern HANDLE hTTBModuleLoadedHook;
+void RemoveTopToolbarButtons();
+int CreateTopToolbarButtons(WPARAM wParam, LPARAM lParam);
+
+int LoadProfileModule();
+int UnloadProfileModule();
+int InitProfileModule();
+int DeinitProfilesModule();
+
+#endif //__STARTUPSTATUSHEADER