summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authoraunsane <aunsane@gmail.com>2017-01-06 20:12:37 +0300
committeraunsane <aunsane@gmail.com>2017-01-06 20:12:37 +0300
commit36a18b725e67bbc0286f4d550a368cc3400fc7ff (patch)
treeaab063191ea8941792929dde23d9b47cb7c3d9c7 /plugins
parentb7336b2fc97092442ce643532f67466868a87812 (diff)
StatusManager: #662
- ability to disable subplugins - project cleaning
Diffstat (limited to 'plugins')
-rw-r--r--plugins/StatusManager/res/notick.icobin1150 -> 0 bytes
-rw-r--r--plugins/StatusManager/res/notick1.icobin1150 -> 0 bytes
-rw-r--r--plugins/StatusManager/res/resource.rc75
-rw-r--r--plugins/StatusManager/res/useronli.icobin1150 -> 0 bytes
-rw-r--r--plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp1
-rw-r--r--plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp5
-rw-r--r--plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.h2
-rw-r--r--plugins/StatusManager/src/KeepStatus/keepstatus.cpp8
-rw-r--r--plugins/StatusManager/src/KeepStatus/keepstatus.h1
-rw-r--r--plugins/StatusManager/src/KeepStatus/ks_options.cpp1
-rw-r--r--plugins/StatusManager/src/StartupStatus/ss_options.cpp1
-rw-r--r--plugins/StatusManager/src/StartupStatus/ss_profiles.cpp3
-rw-r--r--plugins/StatusManager/src/StartupStatus/ss_toolbars.cpp2
-rw-r--r--plugins/StatusManager/src/StartupStatus/startupstatus.cpp8
-rw-r--r--plugins/StatusManager/src/StartupStatus/startupstatus.h2
-rw-r--r--plugins/StatusManager/src/main.cpp28
-rw-r--r--plugins/StatusManager/src/options.cpp49
-rw-r--r--plugins/StatusManager/src/resource.h13
-rw-r--r--plugins/StatusManager/src/stdafx.h28
19 files changed, 207 insertions, 20 deletions
diff --git a/plugins/StatusManager/res/notick.ico b/plugins/StatusManager/res/notick.ico
deleted file mode 100644
index 7f93490642..0000000000
--- a/plugins/StatusManager/res/notick.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/StatusManager/res/notick1.ico b/plugins/StatusManager/res/notick1.ico
deleted file mode 100644
index 609504d614..0000000000
--- a/plugins/StatusManager/res/notick1.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/StatusManager/res/resource.rc b/plugins/StatusManager/res/resource.rc
index 5497def240..b561065f9a 100644
--- a/plugins/StatusManager/res/resource.rc
+++ b/plugins/StatusManager/res/resource.rc
@@ -13,6 +13,60 @@
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
+// English resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
+#pragma code_page(1252)
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_OPT_SUBPLUGINS DIALOGEX 0, 0, 212, 144
+STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD
+EXSTYLE WS_EX_CONTROLPARENT
+FONT 8, "MS Shell Dlg", 0, 0, 0x1
+BEGIN
+ CONTROL "Enable ""%s"" *",IDC_ENABLE_KEEPSTATUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,24,173,10
+ CONTROL "Enable ""%s"" *",IDC_ENABLE_STARTUPSTATUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,37,173,10
+ CONTROL "Enable ""%s"" *",IDC_ENABLE_ADVANCEDAUTOAWAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,50,173,10
+ GROUPBOX "Subplugins control",IDC_STATIC,7,7,198,89
+ LTEXT "* requires a reboot for applying changes",IDC_STATIC,19,81,173,9
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_OPT_SUBPLUGINS, DIALOG
+ BEGIN
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// AFX_DIALOG_LAYOUT
+//
+
+IDD_OPT_SUBPLUGINS AFX_DIALOG_LAYOUT
+BEGIN
+ 0
+END
+
+#endif // English resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
// German (Germany) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
@@ -360,7 +414,7 @@ BEGIN
END
IDD_TRG_AAASTATECHANGE DIALOGEX 0, 0, 212, 144
-STYLE DS_SETFONT | DS_3DLOOK | WS_CHILD
+STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -368,12 +422,12 @@ BEGIN
CONTROL "Entering second auto-away status",IDC_ENTERSECOND,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,37,123,10
CONTROL "Leaving first auto-away status",IDC_LEAVEFIRST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,50,109,10
- CONTROL "Leaving second auto-away status",IDC_LEAVESECOND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,63,122,10
- CONTROL "Becoming active without status change",IDC_BECOMEACTIVE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,76,140,10
GROUPBOX "Pre-conditions",IDC_STATIC,7,7,198,89
- GROUPBOX "TriggerData",IDC_STATIC,7,97,198,40
LTEXT "Status: The status the account will change to\r\nAccount: The account changing state",IDC_STATIC,19,111,177,18
+ GROUPBOX "TriggerData",IDC_STATIC,7,97,198,40
+ CONTROL "Becoming active without status change",IDC_BECOMEACTIVE,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,76,140,10
+ CONTROL "Leaving second auto-away status",IDC_LEAVESECOND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,63,122,10
END
@@ -445,6 +499,10 @@ BEGIN
VERTGUIDE, 11
VERTGUIDE, 283
END
+
+ IDD_TRG_AAASTATECHANGE, DIALOG
+ BEGIN
+ END
END
#endif // APSTUDIO_INVOKED
@@ -479,7 +537,12 @@ BEGIN
0
END
-#endif // Deutsch (Deutschland) resources
+IDD_TRG_AAASTATECHANGE AFX_DIALOG_LAYOUT
+BEGIN
+ 0
+END
+
+#endif // German (Germany) resources
/////////////////////////////////////////////////////////////////////////////
diff --git a/plugins/StatusManager/res/useronli.ico b/plugins/StatusManager/res/useronli.ico
deleted file mode 100644
index 2760c47d5c..0000000000
--- a/plugins/StatusManager/res/useronli.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp b/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
index 93204a033d..63971adcdf 100644
--- a/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
+++ b/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
@@ -513,6 +513,7 @@ int AutoAwayOptInitialise(WPARAM wParam, LPARAM)
OPTIONSDIALOGPAGE odp = { 0 };
odp.position = 1000000000;
odp.hInstance = hInst;
+ odp.hLangpack = hAAALangpack;
odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_TABS);
odp.szTitle.a = LPGEN("Auto away");
odp.szGroup.a = LPGEN("Status");
diff --git a/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp b/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp
index d0eb48801c..b9647816f2 100644
--- a/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp
+++ b/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.cpp
@@ -22,6 +22,8 @@
#include "..\stdafx.h"
+int hAAALangpack = 0;
+
#ifdef _DEBUG
#define SECS_PER_MINUTE 20 /* speedup */
#else
@@ -587,6 +589,9 @@ int AAAModuleLoaded(WPARAM, LPARAM)
void AdvancedAutoAwayLoad()
{
+ MUUID muidLast = MIID_LAST;
+ hAAALangpack = GetPluginLangId(muidLast, 0);
+
hAAAModuleLoadedHook = HookEvent(ME_SYSTEM_MODULESLOADED, AAAModuleLoaded);
hStateChangedEvent = CreateHookableEvent(ME_AAA_STATECHANGED);
}
diff --git a/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.h b/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.h
index 70118e0e38..3f3a0b3c02 100644
--- a/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.h
+++ b/plugins/StatusManager/src/AdvancedAutoAway/advancedautoaway.h
@@ -19,6 +19,8 @@
#ifndef __ADVANCED_AUTOAWAY_HEADER
#define __ADVANCED_AUTOAWAY_HEADER
+extern int hAAALangpack;
+
#define AAAMODULENAME "AdvancedAutoAway"
#define SETTING_IGNLOCK "IgnoreLockKeys"
#define SETTING_IGNSYSKEYS "IgnoreSysKeys"
diff --git a/plugins/StatusManager/src/KeepStatus/keepstatus.cpp b/plugins/StatusManager/src/KeepStatus/keepstatus.cpp
index f975b64793..1cc209f0c7 100644
--- a/plugins/StatusManager/src/KeepStatus/keepstatus.cpp
+++ b/plugins/StatusManager/src/KeepStatus/keepstatus.cpp
@@ -19,6 +19,8 @@
#include "..\stdafx.h"
+int hKSLangpack = 0;
+
struct TimerInfo {
int timer;
int timeout;
@@ -1214,6 +1216,9 @@ int KSModuleLoaded(WPARAM, LPARAM)
void KeepStatusLoad()
{
+ MUUID muidLast = MIID_LAST;
+ hKSLangpack = GetPluginLangId(muidLast, 0);
+
hKSModuleLoadedHook = HookEvent(ME_SYSTEM_MODULESLOADED, KSModuleLoaded);
CreateHookableEvent(ME_KS_CONNECTIONEVENT);
@@ -1237,9 +1242,6 @@ void KeepStatusUnload()
DestroyServiceFunction(hIsProtoEnabled);
DestroyServiceFunction(hAnnounceStat);
- if (hMainThread)
- CloseHandle(hMainThread);
-
DestroyHookableEvent(hConnectionEvent);
UnhookEvent(hKSModuleLoadedHook);
diff --git a/plugins/StatusManager/src/KeepStatus/keepstatus.h b/plugins/StatusManager/src/KeepStatus/keepstatus.h
index 18e13f242c..167bb1a051 100644
--- a/plugins/StatusManager/src/KeepStatus/keepstatus.h
+++ b/plugins/StatusManager/src/KeepStatus/keepstatus.h
@@ -20,6 +20,7 @@
#ifndef __KEEPSTATUS_HEADER
#define __KEEPSTATUS_HEADER
+extern int hKSLangpack;
#define KSMODULENAME "KeepStatus"
#define SETTING_CHECKCONNECTION "CheckConnection"
diff --git a/plugins/StatusManager/src/KeepStatus/ks_options.cpp b/plugins/StatusManager/src/KeepStatus/ks_options.cpp
index 0f321dfd14..1a4d6075b8 100644
--- a/plugins/StatusManager/src/KeepStatus/ks_options.cpp
+++ b/plugins/StatusManager/src/KeepStatus/ks_options.cpp
@@ -567,6 +567,7 @@ int KeepStatusOptionsInit(WPARAM wparam, LPARAM)
{
OPTIONSDIALOGPAGE odp = { 0 };
odp.hInstance = hInst;
+ odp.hLangpack = hKSLangpack;
odp.szGroup.w = LPGENW("Status");
odp.szTitle.w = LPGENW("Keep status");
odp.flags = ODPF_BOLDGROUPS | ODPF_UNICODE;
diff --git a/plugins/StatusManager/src/StartupStatus/ss_options.cpp b/plugins/StatusManager/src/StartupStatus/ss_options.cpp
index 644be1f1e6..eaa5566820 100644
--- a/plugins/StatusManager/src/StartupStatus/ss_options.cpp
+++ b/plugins/StatusManager/src/StartupStatus/ss_options.cpp
@@ -905,6 +905,7 @@ int StartupStatusOptionsInit(WPARAM wparam,LPARAM)
{
OPTIONSDIALOGPAGE odp = { 0 };
odp.hInstance = hInst;
+ odp.hLangpack = hSSLangpack;
odp.szGroup.a = LPGEN("Status");
odp.szTitle.a = LPGEN("Startup status");
odp.flags = ODPF_BOLDGROUPS;
diff --git a/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp b/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp
index 8abeeaa495..5cb311b605 100644
--- a/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp
+++ b/plugins/StatusManager/src/StartupStatus/ss_profiles.cpp
@@ -57,6 +57,7 @@ static int CreateMainMenuItems(WPARAM, LPARAM)
CMenuItem mi;
mi.position = 2000100000;
mi.flags = CMIF_UNICODE;
+ mi.hLangpack = hSSLangpack;
mcount = 0;
int count = GetProfileCount(0, 0);
for (int i = 0; i < count && mcount < MAX_MMITEMS; i++) {
@@ -65,7 +66,7 @@ static int CreateMainMenuItems(WPARAM, LPARAM)
continue;
if (db_get_b(NULL, SSMODULENAME, OptName(i, SETTING_INSUBMENU), 1) && !mi.root) {
- mi.root = Menu_CreateRoot(MO_STATUS, LPGENW("Status profiles"), 2000100000);
+ mi.root = Menu_CreateRoot(MO_STATUS, LPGENW("Status profiles"), 2000100000, 0, hSSLangpack);
Menu_ConfigureItem(mi.root, MCI_OPT_UID, "1AB30D51-BABA-4B27-9288-1A12278BAD8D");
}
diff --git a/plugins/StatusManager/src/StartupStatus/ss_toolbars.cpp b/plugins/StatusManager/src/StartupStatus/ss_toolbars.cpp
index e9d153670a..db8f6aeb61 100644
--- a/plugins/StatusManager/src/StartupStatus/ss_toolbars.cpp
+++ b/plugins/StatusManager/src/StartupStatus/ss_toolbars.cpp
@@ -41,7 +41,7 @@ void RemoveTopToolbarButtons()
int CreateTopToolbarButtons(WPARAM, LPARAM)
{
if (iconList[0].hIcolib == NULL)
- Icon_Register(hInst, "Toolbar/StartupStatus", iconList, _countof(iconList));
+ Icon_Register(hInst, "Toolbar/StartupStatus", iconList, _countof(iconList), NULL, hSSLangpack);
int profileCount = CallService(MS_SS_GETPROFILECOUNT, 0, 0);
diff --git a/plugins/StatusManager/src/StartupStatus/startupstatus.cpp b/plugins/StatusManager/src/StartupStatus/startupstatus.cpp
index 2af4dc146d..b9bb67d684 100644
--- a/plugins/StatusManager/src/StartupStatus/startupstatus.cpp
+++ b/plugins/StatusManager/src/StartupStatus/startupstatus.cpp
@@ -19,6 +19,8 @@
#include "..\stdafx.h"
+int hSSLangpack = 0;
+
static UINT_PTR setStatusTimerId = 0;
static TSettingsList startupSettings(10, SSCompareSettings);
@@ -488,6 +490,9 @@ HANDLE hSSModuleLoadedHook = NULL,
void StartupStatusLoad()
{
+ MUUID muidLast = MIID_LAST;
+ hSSLangpack = GetPluginLangId(muidLast, 0);
+
hSSModuleLoadedHook = HookEvent(ME_SYSTEM_MODULESLOADED, SSModuleLoaded);
if (db_get_b(NULL, SSMODULENAME, SETTING_SETPROFILE, 1) ||
@@ -513,6 +518,9 @@ void StartupStatusLoad()
void StartupStatusUnload()
{
+ KillModuleIcons(hSSLangpack);
+ KillModuleMenus(hSSLangpack);
+
DeinitProfilesModule();
UnloadProfileModule();
diff --git a/plugins/StatusManager/src/StartupStatus/startupstatus.h b/plugins/StatusManager/src/StartupStatus/startupstatus.h
index 5686e03981..e1ad779103 100644
--- a/plugins/StatusManager/src/StartupStatus/startupstatus.h
+++ b/plugins/StatusManager/src/StartupStatus/startupstatus.h
@@ -19,6 +19,8 @@
#ifndef __STARTUPSTATUSHEADER
#define __STARTUPSTATUSHEADER
+extern int hSSLangpack;
+
#define SSMODULENAME "StartupStatus"
struct TSSSetting : public PROTOCOLSETTINGEX, public MZeroedObject
diff --git a/plugins/StatusManager/src/main.cpp b/plugins/StatusManager/src/main.cpp
index 2264b63fb2..12ea42189b 100644
--- a/plugins/StatusManager/src/main.cpp
+++ b/plugins/StatusManager/src/main.cpp
@@ -59,21 +59,41 @@ extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD)
/////////////////////////////////////////////////////////////////////////////////////////
// interfaces
-extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_AUTOAWAY, MIID_LAST };
+MUUID Interfaces[2] = {0};
+
+MUUID* GetInterfaces(void)
+{
+ if (IsSubPluginEnabled(AAAMODULENAME))
+ Interfaces[0] = MIID_AUTOAWAY;
+ return Interfaces;
+};
+
+extern "C" __declspec(dllexport) MUUID* MirandaInterfaces = GetInterfaces();
/////////////////////////////////////////////////////////////////////////////////////////
// plugin's entry point
+int OnModulesLoaded(WPARAM, LPARAM)
+{
+ HookEvent(ME_OPT_INITIALISE, CSubPluginsOptionsDlg::OnOptionsInit);
+ return 0;
+}
+
extern "C" int __declspec(dllexport) Load(void)
{
mir_getLP(&pluginInfoEx);
pcli = Clist_GetInterface();
+ HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded);
+
InitCommonStatus();
- KeepStatusLoad();
- StartupStatusLoad();
- AdvancedAutoAwayLoad();
+ if (IsSubPluginEnabled(KSMODULENAME))
+ KeepStatusLoad();
+ if (IsSubPluginEnabled(SSMODULENAME))
+ StartupStatusLoad();
+ if (IsSubPluginEnabled(AAAMODULENAME))
+ AdvancedAutoAwayLoad();
return 0;
}
diff --git a/plugins/StatusManager/src/options.cpp b/plugins/StatusManager/src/options.cpp
new file mode 100644
index 0000000000..b80679a06b
--- /dev/null
+++ b/plugins/StatusManager/src/options.cpp
@@ -0,0 +1,49 @@
+#include "stdafx.h"
+
+CSubPluginsOptionsDlg::CSubPluginsOptionsDlg()
+ : CPluginDlgBase(hInst, IDD_OPT_SUBPLUGINS, MODULENAME),
+ m_enableKeepStatus(this, IDC_ENABLE_KEEPSTATUS),
+ m_enableStartupStatus(this, IDC_ENABLE_STARTUPSTATUS),
+ m_enableAdvancedAutoAway(this, IDC_ENABLE_ADVANCEDAUTOAWAY)
+{
+}
+
+void CSubPluginsOptionsDlg::OnInitDialog()
+{
+ CDlgBase::OnInitDialog();
+
+ wchar_t text[128];
+ mir_snwprintf(text, L"Enable \"%s\" *", L"Keep status");
+ m_enableKeepStatus.SetText(text);
+ m_enableKeepStatus.SetState(IsSubPluginEnabled(KSMODULENAME));
+ mir_snwprintf(text, L"Enable \"%s\" *", L"Startup status");
+ m_enableStartupStatus.SetText(text);
+ m_enableStartupStatus.SetState(IsSubPluginEnabled(SSMODULENAME));
+ mir_snwprintf(text, L"Enable \"%s\" *", L"Advanced auto away");
+ m_enableAdvancedAutoAway.SetText(text);
+ m_enableAdvancedAutoAway.SetState(IsSubPluginEnabled(AAAMODULENAME));
+}
+
+void CSubPluginsOptionsDlg::OnApply()
+{
+ char setting[128];
+ mir_snprintf(setting, "%s_enabled", KSMODULENAME);
+ db_set_b(NULL, MODULENAME, setting, m_enableKeepStatus.GetState());
+ mir_snprintf(setting, "%s_enabled", SSMODULENAME);
+ db_set_b(NULL, MODULENAME, setting, m_enableStartupStatus.GetState());
+ mir_snprintf(setting, "%s_enabled", AAAMODULENAME);
+ db_set_b(NULL, MODULENAME, setting, m_enableAdvancedAutoAway.GetState());
+}
+
+int CSubPluginsOptionsDlg::OnOptionsInit(WPARAM wParam, LPARAM)
+{
+ OPTIONSDIALOGPAGE odp = { 0 };
+ odp.hInstance = hInst;
+ odp.flags = ODPF_BOLDGROUPS | ODPF_UNICODE | ODPF_DONTTRANSLATE;
+ odp.szTitle.w = LPGENW("Status");
+ odp.szTab.w = LPGENW("Status manager");
+ odp.pDialog = CSubPluginsOptionsDlg::CreateOptionsPage();
+ Options_AddPage(wParam, &odp);
+
+ return 0;
+} \ No newline at end of file
diff --git a/plugins/StatusManager/src/resource.h b/plugins/StatusManager/src/resource.h
index f49d2abbd5..c0e9db35e6 100644
--- a/plugins/StatusManager/src/resource.h
+++ b/plugins/StatusManager/src/resource.h
@@ -1,6 +1,6 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
-// Used by resource.rc
+// Used by E:\Projects\C++\miranda-ng\plugins\StatusManager\res\resource.rc
//
#define IDD_OPT_KEEPSTATUS 101
#define IDD_OPT_KS_BASIC 101
@@ -11,8 +11,6 @@
#define IDD_OPT_STARTUPSTATUS 110
#define IDD_PUOPT_KEEPSTATUS 113
#define IDD_OPT_AUTOAWAYMSG 114
-#define IDI_TICK 117
-#define IDI_NOTICK 118
#define IDD_OPT_GENAUTOAWAY 119
#define IDD_OPT_KS_ACTION 120
#define IDD_SETSTSMSGDIALOG 121
@@ -22,6 +20,7 @@
#define IDD_OPT_KS_ADV 127
#define IDD_TRG_AAASTATECHANGE 128
#define IDI_TTBDOWN 129
+#define IDD_OPT_SUBPLUGINS 129
#define IDI_TTBUP 130
#define IDC_PROTOCOL 1000
#define IDC_STATUS 1001
@@ -145,6 +144,10 @@
#define IDC_LEAVEFIRST 1136
#define IDC_LEAVESECOND 1137
#define IDC_BECOMEACTIVE 1138
+#define IDC_ENABLE_KEEPSTATUS 1141
+#define IDC_ENABLE_STARTUPSTATUS 1142
+#define IDC_ENABLEADVANCEDAUTOAWAY 1143
+#define IDC_ENABLE_ADVANCEDAUTOAWAY 1143
#define IDC_SCREENSAVE 1145
#define IDC_TIMED 1146
#define IDC_AWAYTIME 1147
@@ -160,9 +163,9 @@
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_RESOURCE_VALUE 131
#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1141
+#define _APS_NEXT_CONTROL_VALUE 1144
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
diff --git a/plugins/StatusManager/src/stdafx.h b/plugins/StatusManager/src/stdafx.h
index 0e481e36ca..fcd8d0d745 100644
--- a/plugins/StatusManager/src/stdafx.h
+++ b/plugins/StatusManager/src/stdafx.h
@@ -21,10 +21,13 @@
#include <m_protocols.h>
#include <m_toptoolbar.h>
#include <m_statusplugins.h>
+#include <m_gui.h>
#include "version.h"
#include "resource.h"
+#define MODULENAME "StatusManager"
+
#include "commonstatus.h"
#include "KeepStatus\keepstatus.h"
#include "StartupStatus\startupstatus.h"
@@ -32,4 +35,29 @@
extern HINSTANCE hInst;
+static BYTE IsSubPluginEnabled(const char* name)
+{
+ char setting[128];
+ mir_snprintf(setting, "%s_enabled", name);
+ return db_get_b(NULL, MODULENAME, setting, 1);
+}
+
+class CSubPluginsOptionsDlg : CPluginDlgBase
+{
+private:
+ CCtrlCheck m_enableKeepStatus;
+ CCtrlCheck m_enableStartupStatus;
+ CCtrlCheck m_enableAdvancedAutoAway;
+
+protected:
+ void OnInitDialog();
+ void OnApply();
+
+public:
+ CSubPluginsOptionsDlg();
+
+ static int OnOptionsInit(WPARAM wParam, LPARAM);
+ static CDlgBase *CreateOptionsPage() { return new CSubPluginsOptionsDlg(); }
+};
+
#endif //_COMMON_H_