From 4f88e37aadccfd0ebc4c4ac880e310d2700c75e4 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Fri, 25 Oct 2013 19:52:36 +0000 Subject: StartupSilence plugin added (written by person) git-svn-id: http://svn.miranda-ng.org/main/trunk@6627 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/StartupSilence/src/StartupSilence.h | 67 +++++ plugins/StartupSilence/src/main.cpp | 394 ++++++++++++++++++++++++++++ plugins/StartupSilence/src/resource.h | 32 +++ plugins/StartupSilence/src/stdafx.cpp | 18 ++ plugins/StartupSilence/src/version.h | 56 ++++ 5 files changed, 567 insertions(+) create mode 100644 plugins/StartupSilence/src/StartupSilence.h create mode 100644 plugins/StartupSilence/src/main.cpp create mode 100644 plugins/StartupSilence/src/resource.h create mode 100644 plugins/StartupSilence/src/stdafx.cpp create mode 100644 plugins/StartupSilence/src/version.h (limited to 'plugins/StartupSilence/src') diff --git a/plugins/StartupSilence/src/StartupSilence.h b/plugins/StartupSilence/src/StartupSilence.h new file mode 100644 index 0000000000..055ffa0448 --- /dev/null +++ b/plugins/StartupSilence/src/StartupSilence.h @@ -0,0 +1,67 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "version.h" +#include "resource.h" +#include "win2k.h" +#include "CommCtrl.h" +#include "WinSock.h" + +#if MIRANDA_VER >= 0x0A00 +static INT_PTR AdvSt(); +static INT_PTR initttb(); +static INT_PTR InitMenu(); +void InitSettings(); +void LoadSettings(); +void DefSettings(); +void IsMenu(); +void UpdateMenu(); +void UpdateTTB(); + +INT_PTR SturtupSilenceEnabled(WPARAM wParam, LPARAM lParam); + +#define MODULE_NAME "StartupSilence" + +#define SS_SERVICE_NAME "StartupSilence/ToggleEnabled" + +#define POPUPONOFF "Popup/ToggleEnabled" +#define POPUPONOFFPP "Popup/EnableDisableMenuCommand" + +#define MENU_NAME LPGEN("Silence at startup") +#define DISABLE_SILENCE LPGEN("Toggle Silence OFF") +#define ENABLE_SILENCE LPGEN("Toggle Silence ON") +#define DISABLE_SILENCETTB LPGEN("Toggle Silence OFF TTB") +#define ENABLE_SILENCETTB LPGEN("Toggle Silence ON TTB") +#define ALL_ENABLED TranslateT("Sounds and Popups are enabled") +#define ALL_DISABLED TranslateT("Sounds and Popups are disabled temporary") +#define S_MODE_CHANGEDON TranslateT("Silent Startup mode changed to ON") +#define S_MODE_CHANGEDOFF TranslateT("Silent Startup mode changed to OFF") +#define SS_IS_ON Translate("Silence At Startup is ON") +#define SS_IS_OFF Translate("Silence At Startup is OFF") +#define TTBNAME Translate("Toggle Silence At Startup") +#define NOTICE TranslateT(MENU_NAME) +#define NEEDTTBMOD TranslateT("For use this option need TopToolBar module installed.") +#define NEEDPOPUP TranslateT("For use this option need \"YAPP\" or \"PopUp+\" module installed.") + +static IconItem iconList[] = { + {MENU_NAME, MENU_NAME, IDI_SSICON}, + {DISABLE_SILENCE, DISABLE_SILENCE, IDI_SSDISABLE}, + {ENABLE_SILENCE, ENABLE_SILENCE, IDI_SSENABLE} +}; + +static IconItem iconttbList[] = { + {DISABLE_SILENCETTB, DISABLE_SILENCETTB, IDI_SSDISABLETTB}, + {ENABLE_SILENCETTB, ENABLE_SILENCETTB, IDI_SSENABLETTB} +}; +#endif + diff --git a/plugins/StartupSilence/src/main.cpp b/plugins/StartupSilence/src/main.cpp new file mode 100644 index 0000000000..176fa9a1bf --- /dev/null +++ b/plugins/StartupSilence/src/main.cpp @@ -0,0 +1,394 @@ +/* +Copyright 2012-2013 Vladimir Lyubimov +Copyright 2012-2013 Miranda-NG team, + +all portions of this codebase are copyrighted to the people +listed in contributors.txt. + +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. +*/ + +//HELPME: need new icons for TTB bottons + +#include "StartupSilence.h" + +HINSTANCE hInst; +int hLangpack; +HANDLE hSSMenuToggleOnOff; +HANDLE GetIconHandle(char *szIcon); +HANDLE hOptionsInitialize; +HANDLE hTTBarloaded = NULL; +HANDLE Buttons = NULL; +static HANDLE hSturtupSilenceEnabled; + +INT_PTR CALLBACK DlgProcOptions(HWND, UINT, WPARAM, LPARAM); +int InitializeOptions(WPARAM wParam,LPARAM lParam); +static int CreateTTButtons(WPARAM wParam, LPARAM lParam); +void RemoveTTButtons(); +BYTE Enabled; +DWORD delay; +BYTE PopUp; +DWORD PopUpTime; +BYTE MenuItem; +BYTE TTBButtons; +char hostname[MAX_PATH] = ""; +char EnabledComp[MAX_PATH] = ""; +char DelayComp[MAX_PATH] = ""; +char PopUpComp[MAX_PATH] = ""; +char PopUpTimeComp[MAX_PATH] = ""; +char MenuitemComp[MAX_PATH] = ""; +char TTBButtonsComp[MAX_PATH] = ""; + +static LIST ttbButtons(1); + +PLUGININFOEX pluginInfo={ + sizeof(PLUGININFOEX), + __PLUGIN_NAME, + PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM), + __DESC, + __AUTHOR, + __AUTHOREMAIL, + __COPYRIGHT, + __AUTHORWEB, + UNICODE_AWARE, + 0x7b856b6a, 0xd48f, 0x4f54, { 0xb8, 0xd6, 0xc8, 0xd8, 0x6d, 0x2, 0xff, 0xc2 } // {7B856B6A-D48F-4f54-B8D6-C8D86D02FFC2} +}; + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + hInst = hinstDLL; + return TRUE; +} + +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + return &pluginInfo; +} + +INT_PTR StartupSilence() +{ + InitSettings(); + mir_forkthread((pThreadFunc)AdvSt, NULL); + hSturtupSilenceEnabled = CreateServiceFunction(SS_SERVICE_NAME, SturtupSilenceEnabled); + IsMenu(); + mir_forkthread((pThreadFunc)initttb, NULL); + HookEvent(ME_OPT_INITIALISE, InitializeOptions); + return 0; +} + +extern "C" __declspec(dllexport) int Load(void) +{ + mir_getLP(&pluginInfo); + StartupSilence(); + return 0; +} + +extern "C" __declspec(dllexport) int Unload(void) +{ + UnhookEvent(ME_OPT_INITIALISE); + if (hTTBarloaded != NULL){ + UnhookEvent(ME_TTB_MODULELOADED); + } + DestroyServiceFunction(hSturtupSilenceEnabled); + return 0; +} + +void InitSettings() +{ + if(gethostname(hostname, SIZEOF(hostname)) == 0){ + mir_snprintf(EnabledComp, SIZEOF(EnabledComp), "%s_Enabled", hostname); + mir_snprintf(DelayComp, SIZEOF(DelayComp), "%s_Delay", hostname); + mir_snprintf(PopUpComp, SIZEOF(PopUpComp), "%s_PopUp", hostname); + mir_snprintf(PopUpTimeComp, SIZEOF(PopUpTimeComp), "%s_PopUpTime", hostname); + mir_snprintf(MenuitemComp, SIZEOF(MenuitemComp), "%s_MenuItem", hostname); + mir_snprintf(TTBButtonsComp, SIZEOF(TTBButtonsComp), "%s_TTBButtons", hostname); + } + //first run on the host, initial setting + if (!(delay = db_get_dw(NULL, MODULE_NAME, DelayComp, 0))) + DefSettings(); + //or load host settings + else LoadSettings(); +} +void DefSettings() +{ + db_set_dw(NULL, MODULE_NAME, DelayComp, 20); + db_set_b(NULL, MODULE_NAME, EnabledComp, 1); + db_set_b(NULL, MODULE_NAME, PopUpComp, 1); + db_set_dw(NULL, MODULE_NAME, PopUpTimeComp, 5); + db_set_b(NULL, MODULE_NAME, MenuitemComp, 1); + db_set_b(NULL, MODULE_NAME, TTBButtonsComp, 0); + LoadSettings(); +} +void LoadSettings() +{ + Enabled = db_get_b(NULL, MODULE_NAME, EnabledComp, 0); + delay = db_get_dw(NULL, MODULE_NAME, DelayComp, 0); + PopUp = db_get_b(NULL, MODULE_NAME, PopUpComp, 0); + PopUpTime = db_get_dw(NULL, MODULE_NAME, PopUpTimeComp, 0); + MenuItem = db_get_b(NULL, MODULE_NAME, MenuitemComp, 0); + TTBButtons = db_get_b(NULL, MODULE_NAME, TTBButtonsComp, 0); + if (PopUpTime < 1) + PopUpTime = (DWORD)1; + if (PopUpTime > 30) + PopUpTime = (DWORD)30; + if (delay < 10) + delay = (DWORD)10; + if (delay > 300) + delay = (DWORD)300; + db_set_dw(NULL, MODULE_NAME, DelayComp, delay); + db_set_dw(NULL, MODULE_NAME, PopUpTimeComp, PopUpTime); +} + +void IsMenu() +{ + if (MenuItem == 1) { + Icon_Register(hInst, MENU_NAME, iconList, SIZEOF(iconList), MENU_NAME); + InitMenu(); + } +} + +static INT_PTR initttb() +{ + Sleep(7000); + hTTBarloaded = HookEvent(ME_TTB_MODULELOADED, CreateTTButtons); + if (TTBButtons == 1 && hTTBarloaded != NULL){ + Icon_Register(hInst, "Toolbar/"MENU_NAME, iconttbList, SIZEOF(iconttbList), MENU_NAME); + RemoveTTButtons(); + CreateTTButtons(0,0); + } + return 0; +} + +static INT_PTR AdvSt() +{ + if ((Enabled == 1)){ + POPUPDATAT ppd = {0}; + TCHAR * lptzText =L""; + db_set_b(NULL, "Skin", "UseSound", 0); + + if (PopUp == 1) { + lptzText = ALL_DISABLED; + ppd.lchIcon = (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, 0, (LPARAM)GetIconHandle(MENU_NAME)); + ppd.lchContact = NULL; + ppd.iSeconds = PopUpTime; + wcsncpy_s(ppd.lptzText, lptzText, size_t(lptzText)); + lptzText = TranslateT(MENU_NAME); + wcsncpy_s(ppd.lptzContactName, lptzText, size_t(lptzText)); + PUAddPopupT(&ppd); + } + if (ServiceExists(POPUPONOFF)) + db_set_b(NULL, "YAPP", "Enabled", 0); + if (ServiceExists(POPUPONOFFPP)) + db_set_b(NULL, "PopUp", "ModuleIsEnabled", 0); + + Sleep(delay * 1000); + + if (ServiceExists(POPUPONOFF)) + db_set_b(NULL, "YAPP", "Enabled", 1); + if (ServiceExists(POPUPONOFFPP)) + db_set_b(NULL, "PopUp", "ModuleIsEnabled", 1); + + db_set_b(NULL, "Skin", "UseSound", 1); + if (PopUp == 1) { + lptzText = ALL_ENABLED; + wcsncpy_s(ppd.lptzText, lptzText, size_t(lptzText)); + PUAddPopupT(&ppd); + } + } + return 0; +} + +static INT_PTR SturtupSilenceEnabled(WPARAM wParam, LPARAM lParam) +{ + db_set_b(NULL, MODULE_NAME, EnabledComp, !Enabled); + LoadSettings(); + if (MenuItem == 1) + UpdateMenu(); + if (PopUp == 1) { + TCHAR * lptzText = Enabled == 1 ? S_MODE_CHANGEDON : S_MODE_CHANGEDOFF; + POPUPDATAT ppd = {0}; + ppd.lchIcon = (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, 0, (LPARAM)(Enabled == 1 ? GetIconHandle(ENABLE_SILENCE) : GetIconHandle(DISABLE_SILENCE))); + ppd.lchContact = NULL; + ppd.iSeconds = PopUpTime; + wcsncpy_s(ppd.lptzText, lptzText, size_t(lptzText)); + lptzText = TranslateT(MENU_NAME); + wcsncpy_s(ppd.lptzContactName, lptzText, size_t(lptzText)); + PUAddPopupT(&ppd); + } + return 0; +} + +static INT_PTR InitMenu() +{ + CLISTMENUITEM mi = {sizeof(mi)}; + mi.flags = CMIM_ALL; + mi.position = 100000000; + mi.icolibItem = GetIconHandle(MENU_NAME); + mi.pszPopupName = MENU_NAME; + mi.pszService = SS_SERVICE_NAME; + hSSMenuToggleOnOff = Menu_AddMainMenuItem(&mi); + UpdateMenu(); + return 0; +} + +void UpdateMenu() +{ + CLISTMENUITEM mi = {sizeof(mi)}; + mi.pszName = (Enabled == 1 ? DISABLE_SILENCE : ENABLE_SILENCE); + mi.flags = CMIM_NAME | CMIM_ALL; + mi.icolibItem = (Enabled == 1 ? GetIconHandle(DISABLE_SILENCE) : GetIconHandle(ENABLE_SILENCE)); + CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hSSMenuToggleOnOff, (LPARAM)&mi); + UpdateTTB(); +} + +void UpdateTTB() +{ + if (hTTBarloaded != NULL && TTBButtons == 1) + CallService(MS_TTB_SETBUTTONSTATE, (WPARAM)Buttons, (Enabled == 1 ? TTBST_RELEASED : TTBST_PUSHED)); + +} + +static int CreateTTButtons(WPARAM wParam, LPARAM lParam) +{ + TTBButton ttb = {sizeof(ttb)}; + ttb.dwFlags = (Enabled == 1 ? 0 : TTBBF_PUSHED) | TTBBF_VISIBLE | TTBBF_ASPUSHBUTTON; + ttb.pszService = SS_SERVICE_NAME; + ttb.hIconHandleDn = GetIconHandle(DISABLE_SILENCETTB); + ttb.hIconHandleUp = GetIconHandle(ENABLE_SILENCETTB); + ttb.name = TTBNAME; + ttb.pszTooltipUp = SS_IS_ON; + ttb.pszTooltipDn = SS_IS_OFF; + Buttons = TopToolbar_AddButton(&ttb); + if (Buttons) + ttbButtons.insert(Buttons); + return 0; +} + +void RemoveTTButtons() +{ + for (int i=ttbButtons.getCount()-1; i >= 0; i--) + CallService(MS_TTB_REMOVEBUTTON, (WPARAM)ttbButtons[i], 0); + ttbButtons.destroy(); +} + +HANDLE GetIconHandle(char *szIcon) +{ + char szSettingName[64]; + mir_snprintf(szSettingName, sizeof(szSettingName), "%s_%s", MENU_NAME, szIcon); + return Skin_GetIconHandle(szSettingName); +} + +int InitializeOptions(WPARAM wParam,LPARAM lParam) +{ + OPTIONSDIALOGPAGE odp = {sizeof(odp)}; + odp.position = 0; + odp.hInstance = hInst; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_SSOPT); + odp.pszGroup = LPGEN("Events");//FIXME: move to...Group? + odp.pszTitle = MENU_NAME; + odp.groupPosition = 910000000; + odp.flags = ODPF_BOLDGROUPS; + odp.pfnDlgProc = DlgProcOptions; + Options_AddPage(wParam, &odp); + return 0; +} + +static INT_PTR CALLBACK DlgProcOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) { + case WM_INITDIALOG: { + TranslateDialogDefault(hwndDlg); + static BOOL initDlg=FALSE; + LoadSettings(); + SetDlgItemText(hwndDlg, IDC_HST, mir_a2t(hostname)); + CheckDlgButton(hwndDlg, IDC_DELAY, (Enabled == 1) ? BST_CHECKED:BST_UNCHECKED); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_SSTIME), 0); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN, UDM_SETRANGE32, 10, 300); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN, UDM_SETPOS, 0, MAKELONG((delay), 0)); + SendDlgItemMessage(hwndDlg, IDC_SSTIME, EM_LIMITTEXT, (WPARAM)3, 0); + + CheckDlgButton(hwndDlg, IDC_DELAY2, (PopUp == 1) ? BST_CHECKED:BST_UNCHECKED); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN2, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_SSPOPUPTIME), 0); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN2, UDM_SETRANGE32, 1, 30); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN2, UDM_SETPOS, 0, MAKELONG((PopUpTime), 0)); + SendDlgItemMessage(hwndDlg, IDC_SSPOPUPTIME, EM_LIMITTEXT, (WPARAM)3, 0); + + CheckDlgButton(hwndDlg, IDC_MENU, (MenuItem == 1) ? BST_CHECKED:BST_UNCHECKED); + + CheckDlgButton(hwndDlg, IDC_TTB, (TTBButtons == 1) ? BST_CHECKED:BST_UNCHECKED); + } + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDC_SSTIME: + DWORD min; + if ((HWND)lParam != GetFocus() || HIWORD(wParam) != EN_CHANGE) return FALSE; + min = GetDlgItemInt(hwndDlg, IDC_SSTIME, NULL, FALSE); + if (min == 0 && GetWindowTextLength(GetDlgItem(hwndDlg, IDC_SSTIME))) + SendDlgItemMessage(hwndDlg, IDC_SSSPIN, UDM_SETPOS, 0, MAKELONG((short) 1, 0)); + delay = (DWORD)db_set_dw(NULL, MODULE_NAME, DelayComp, (DWORD)(SendDlgItemMessage(hwndDlg, IDC_SSSPIN, UDM_GETPOS, 0, 0))); + break; + + case IDC_SSPOPUPTIME: + if ((HWND)lParam != GetFocus() || HIWORD(wParam) != EN_CHANGE) return FALSE; + min = GetDlgItemInt(hwndDlg, IDC_SSPOPUPTIME, NULL, FALSE); + if (min == 0 && GetWindowTextLength(GetDlgItem(hwndDlg, IDC_SSPOPUPTIME))) + SendDlgItemMessage(hwndDlg, IDC_SSSPIN2, UDM_SETPOS, 0, MAKELONG((short) 1, 0)); + PopUpTime = (DWORD)db_set_dw(NULL, MODULE_NAME, PopUpTimeComp, (DWORD)(SendDlgItemMessage(hwndDlg, IDC_SSSPIN2, UDM_GETPOS, 0, 0))); + break; + + case IDC_DELAY: + CallService(SS_SERVICE_NAME, 0, 0); + break; + + case IDC_DELAY2: + if (!(ServiceExists(POPUPONOFF) || ServiceExists(POPUPONOFFPP))) { + MessageBox(0, NEEDPOPUP, NOTICE, MB_OK); + CheckDlgButton(hwndDlg, IDC_DELAY2, BST_UNCHECKED); + PopUp = (BYTE)db_set_b(NULL, MODULE_NAME, PopUpComp, 0); + } + else PopUp = (BYTE)db_set_b(NULL, MODULE_NAME, PopUpComp, (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_DELAY2) == BST_CHECKED ? 1 : 0)); + break; + + case IDC_MENU: + MenuItem = (BYTE)db_set_b(NULL, MODULE_NAME, MenuitemComp, (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_MENU) == BST_CHECKED ? 1 : 0)); + break; + + case IDC_TTB: + if (!hTTBarloaded) { + MessageBox(0, NEEDTTBMOD, NOTICE, MB_OK); + CheckDlgButton(hwndDlg, IDC_TTB, BST_UNCHECKED); + TTBButtons = (BYTE)db_set_b(NULL, MODULE_NAME, TTBButtonsComp, 0); + } + else TTBButtons = (BYTE)db_set_b(NULL, MODULE_NAME, TTBButtonsComp, (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_TTB) == BST_CHECKED ? 1 : 0)); + break; + case IDC_RESETDEFAULT: + DefSettings(); + CheckDlgButton(hwndDlg, IDC_DELAY, (Enabled == 1) ? BST_CHECKED:BST_UNCHECKED); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN, UDM_SETPOS, 0, MAKELONG((delay), 0)); + CheckDlgButton(hwndDlg, IDC_DELAY2, (PopUp == 1) ? BST_CHECKED:BST_UNCHECKED); + SendDlgItemMessage(hwndDlg, IDC_SSSPIN2, UDM_SETPOS, 0, MAKELONG((PopUpTime), 0)); + CheckDlgButton(hwndDlg, IDC_MENU, (MenuItem == 1) ? BST_CHECKED:BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_TTB, (TTBButtons == 1) ? BST_CHECKED:BST_UNCHECKED); + break; + } + break; + case WM_NOTIFY: + case WM_DESTROY: + break; + } + return FALSE; +} diff --git a/plugins/StartupSilence/src/resource.h b/plugins/StartupSilence/src/resource.h new file mode 100644 index 0000000000..1abbf2e44b --- /dev/null +++ b/plugins/StartupSilence/src/resource.h @@ -0,0 +1,32 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by StartupSilence.rc +// +#define IDI_SSICON 101 +#define IDI_SSENABLE 102 +#define IDI_SSDISABLE 103 +#define IDD_SSOPT 104 +#define IDI_SSENABLETTB 105 +#define IDI_SSDISABLETTB 106 +#define IDC_SSTIME 40001 +#define IDC_DELAY 40002 +#define IDC_SSSPIN 40003 +#define IDC_DELAY2 40004 +#define IDC_SSPOPUPTIME 40005 +#define IDC_SSSPIN2 40006 +#define IDC_MENU 40007 +#define IDC_TTB 40008 +#define IDC_RESETDEFAULT 40009 +#define IDC_HST 40010 +#define IDC_HOSTNAME 40011 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 107 +#define _APS_NEXT_COMMAND_VALUE 40012 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/plugins/StartupSilence/src/stdafx.cpp b/plugins/StartupSilence/src/stdafx.cpp new file mode 100644 index 0000000000..4c76456ae4 --- /dev/null +++ b/plugins/StartupSilence/src/stdafx.cpp @@ -0,0 +1,18 @@ +/* +Copyright (C) 2012-13 Miranda NG Project (http://miranda-ng.org) + +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 version 2 +of the License. + +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, see . +*/ + +#include "StartupSilence.h" \ No newline at end of file diff --git a/plugins/StartupSilence/src/version.h b/plugins/StartupSilence/src/version.h new file mode 100644 index 0000000000..0d56110e4f --- /dev/null +++ b/plugins/StartupSilence/src/version.h @@ -0,0 +1,56 @@ +// Set the version number here - it will affect the version resource and the version field of the pluginInfo structure +// (Be careful that you don't have the resource file open when you change this and rebuild, otherwise the changes may not +// take effect within the version resource) +// Do not forget to define symbol "_DEBUG" for resource compiler if you use debug configuration (in VisualStudio you can +// find it under Project properties - Configuration properties - Resource - General - Preprocessor definitions) + +// plugin version part +#define __MAJOR_VERSION 0 +#define __MINOR_VERSION 1 +#define __RELEASE_NUM 0 +#define __BUILD_NUM 0 + +// minimal MirandaIM version number, with which this plugin supposed to work +#define __PROD_MAJOR_VERSION 0 +#define __PROD_MINOR_VERSION 93 +#define __PROD_RELEASE_NUM 5 +#define __PROD_BUILD_NUM 0 +// if your plugin works only with Miranda core beginning from specific revision, you can include this information in Product Version resource +//#define __PROD_REV_NUM 1234 + +// stuff that will be used in PluginInfo section and in Version resource +#define __PLUGIN_NAME "StartupSilence" +#define __FILENAME "StartupSilence.dll" +#define __DESC "Disabled ALL PopUps and Sounds for 10-300 sec at Miranda startup and Enabled it always for Miranda-NG (Automatically per computer settings)." +#define __AUTHOR "Vladimir Lyubimov" +#define __AUTHOREMAIL "" +#define __AUTHORWEB "http://miranda-ng.org/" +#define __COPYRIGHT "© 2012-2013 Vladimir Lyubimov" + +// other stuff for Version resource +#define __STRINGIFY_IMPL(x) #x +#define __STRINGIFY(x) __STRINGIFY_IMPL(x) + +#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM +#define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM +#ifdef _UNICODE +#ifdef __REV_NUM +#define __VERSION_STRING __STRINGIFY(__FILEVERSION_STRING_DOTS rev. __REV_NUM Unicode) +#else +#define __VERSION_STRING __STRINGIFY(__FILEVERSION_STRING_DOTS Unicode) +#endif +#else +#ifdef __REV_NUM +#define __VERSION_STRING __STRINGIFY(__FILEVERSION_STRING_DOTS rev. __REV_NUM) +#else +#define __VERSION_STRING __STRINGIFY(__FILEVERSION_STRING_DOTS) +#endif +#endif + +#define __PRODVERSION_STRING __PROD_MAJOR_VERSION,__PROD_MINOR_VERSION,__PROD_RELEASE_NUM,__PROD_BUILD_NUM +#define __PRODVERSION_STRING_DOTS __PROD_MAJOR_VERSION.__PROD_MINOR_VERSION.__PROD_RELEASE_NUM.__PROD_BUILD_NUM +#ifdef __PROD_REV_NUM +#define __PROD_VERSION_STRING __STRINGIFY(__PRODVERSION_STRING_DOTS rev. __PROD_REV_NUM) +#else +#define __PROD_VERSION_STRING __STRINGIFY(__PRODVERSION_STRING_DOTS+) +#endif -- cgit v1.2.3