From 6643af9a0ce6d8531f2843c087bc69951755e8f0 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Tue, 18 Sep 2012 17:59:18 +0000 Subject: Restart piugin added git-svn-id: http://svn.miranda-ng.org/main/trunk@1596 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- bin10/mir_full.sln | 10 ++ bin10/mir_full_pro.sln | 11 ++ plugins/Restart/Restart.vcxproj | 261 ++++++++++++++++++++++++++++++++ plugins/Restart/Restart.vcxproj.filters | 29 ++++ plugins/Restart/res/Restart.rc | 72 +++++++++ plugins/Restart/res/restart.ico | Bin 0 -> 1150 bytes plugins/Restart/src/resource.h | 17 +++ plugins/Restart/src/restart.c | 80 ++++++++++ 8 files changed, 480 insertions(+) create mode 100644 plugins/Restart/Restart.vcxproj create mode 100644 plugins/Restart/Restart.vcxproj.filters create mode 100644 plugins/Restart/res/Restart.rc create mode 100644 plugins/Restart/res/restart.ico create mode 100644 plugins/Restart/src/resource.h create mode 100644 plugins/Restart/src/restart.c diff --git a/bin10/mir_full.sln b/bin10/mir_full.sln index 894c4c14e0..33a3d70890 100644 --- a/bin10/mir_full.sln +++ b/bin10/mir_full.sln @@ -341,6 +341,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StdMsg", "..\src\core\stdms EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PManagerEx", "..\plugins\ProfileManager\pmanagerEx.vcxproj", "{728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Restart", "..\plugins\Restart\Restart.vcxproj", "{18195F68-A747-8643-050C-C5101DA658FD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -1501,6 +1503,14 @@ Global {728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}.Release|Win32.Build.0 = Release|Win32 {728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}.Release|x64.ActiveCfg = Release|x64 {728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}.Release|x64.Build.0 = Release|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|Win32.ActiveCfg = Debug|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|Win32.Build.0 = Debug|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|x64.ActiveCfg = Debug|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|x64.Build.0 = Debug|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|Win32.ActiveCfg = Release|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|Win32.Build.0 = Release|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|x64.ActiveCfg = Release|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/bin10/mir_full_pro.sln b/bin10/mir_full_pro.sln index 43d073c5b9..d827eaefbc 100644 --- a/bin10/mir_full_pro.sln +++ b/bin10/mir_full_pro.sln @@ -377,6 +377,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StdMsg", "..\src\core\stdms EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PManagerEx", "..\plugins\ProfileManager\pmanagerEx.vcxproj", "{728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Restart", "..\plugins\Restart\Restart.vcxproj", "{18195F68-A747-8643-050C-C5101DA658FD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -1537,6 +1539,14 @@ Global {728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}.Release|Win32.Build.0 = Release|Win32 {728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}.Release|x64.ActiveCfg = Release|x64 {728CF16E-F3FF-4DEB-88C5-E9118F61ACD5}.Release|x64.Build.0 = Release|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|Win32.ActiveCfg = Debug|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|Win32.Build.0 = Debug|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|x64.ActiveCfg = Debug|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Debug|x64.Build.0 = Debug|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|Win32.ActiveCfg = Release|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|Win32.Build.0 = Release|Win32 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|x64.ActiveCfg = Release|x64 + {18195F68-A747-8643-050C-C5101DA658FD}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1567,6 +1577,7 @@ Global {8D233B9A-2744-4B62-94FC-7872FDDA4683} = {A93476F5-9C4C-48A6-A8A4-C79D804A3228} {A7D9DFA5-C34F-4B98-BEE8-5140EFCD2E8C} = {A93476F5-9C4C-48A6-A8A4-C79D804A3228} {21F6C0E4-DD1A-49E6-82FD-64574BB902BD} = {A93476F5-9C4C-48A6-A8A4-C79D804A3228} + {18195F68-A747-8643-050C-C5101DA658FD} = {A93476F5-9C4C-48A6-A8A4-C79D804A3228} {F9916510-9055-4C9F-997A-3755DEC1511B} = {CBBD3DE7-97CE-479D-87E3-8EACD035AF9B} {E2A369CD-EDA3-414F-8AD0-E732CD7EE68C} = {CBBD3DE7-97CE-479D-87E3-8EACD035AF9B} {1C856B14-54CD-4D07-B18B-5F7DB073AB51} = {CBBD3DE7-97CE-479D-87E3-8EACD035AF9B} diff --git a/plugins/Restart/Restart.vcxproj b/plugins/Restart/Restart.vcxproj new file mode 100644 index 0000000000..44b0b82cad --- /dev/null +++ b/plugins/Restart/Restart.vcxproj @@ -0,0 +1,261 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + Restart + {18195F68-A747-8643-050C-C5101DA658FD} + + + + DynamicLibrary + false + MultiByte + true + + + DynamicLibrary + false + MultiByte + true + + + DynamicLibrary + false + MultiByte + + + DynamicLibrary + false + MultiByte + + + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration)\Plugins\ + $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ + true + + + $(SolutionDir)$(Configuration)64\Plugins\ + $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ + true + + + $(SolutionDir)$(Configuration)\Plugins\ + $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ + false + + + $(SolutionDir)$(Configuration)64\Plugins\ + $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ + false + + + + MultiThreadedDebugDLL + Default + false + Disabled + true + Level3 + true + EditAndContinue + ..\..\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;RESTART_EXPORTS;%(PreprocessorDefinitions) + EnableFastChecks + + + true + _DEBUG;%(PreprocessorDefinitions) + .\Debug\Restart.tlb + true + Win32 + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + true + $(IntDir)$(TargetName).bsc + + + true + true + true + Windows + $(IntDir)$(TargetName).lib + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\lib + + + + + MultiThreadedDebugDLL + Default + false + Disabled + true + Level3 + ProgramDatabase + ..\..\include;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_USRDLL;RESTART_EXPORTS;%(PreprocessorDefinitions) + EnableFastChecks + + + true + _DEBUG;%(PreprocessorDefinitions) + .\Debug\Restart.tlb + true + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + true + $(IntDir)$(TargetName).bsc + + + true + true + true + Windows + $(IntDir)$(TargetName).lib + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\lib + + + + + MultiThreadedDLL + OnlyExplicitInline + true + true + MaxSpeed + true + Level3 + ..\..\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;RESTART_EXPORTS;%(PreprocessorDefinitions) + true + Size + + + true + NDEBUG;%(PreprocessorDefinitions) + .\Release\Restart.tlb + true + Win32 + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + true + $(IntDir)$(TargetName).bsc + + + true + true + Windows + $(IntDir)$(TargetName).lib + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\lib + true + true + true + + + + + MultiThreadedDLL + OnlyExplicitInline + true + true + MaxSpeed + true + Level3 + ..\..\include;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_USRDLL;RESTART_EXPORTS;%(PreprocessorDefinitions) + true + Size + + + true + NDEBUG;%(PreprocessorDefinitions) + .\Release\Restart.tlb + true + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + true + $(IntDir)$(TargetName).bsc + + + true + true + Windows + $(IntDir)$(TargetName).lib + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\lib + true + true + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/Restart/Restart.vcxproj.filters b/plugins/Restart/Restart.vcxproj.filters new file mode 100644 index 0000000000..9010c77480 --- /dev/null +++ b/plugins/Restart/Restart.vcxproj.filters @@ -0,0 +1,29 @@ + + + + + {e8aa2230-8568-4173-9e3d-97a356a22822} + + + {f2ac9c4e-4527-4a17-bf1d-41e43b91ec27} + + + {d1b03507-f6e8-450c-b4cd-c9209e4615ec} + + + + + Header Files + + + + + Source Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/plugins/Restart/res/Restart.rc b/plugins/Restart/res/Restart.rc new file mode 100644 index 0000000000..6153050f66 --- /dev/null +++ b/plugins/Restart/res/Restart.rc @@ -0,0 +1,72 @@ +//Microsoft Developer Studio generated resource script. +// +#include "..\src\resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Russian resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) +#ifdef _WIN32 +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT +#pragma code_page(1251) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE MOVEABLE PURE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE MOVEABLE PURE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE MOVEABLE PURE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_RESTARTICON ICON DISCARDABLE "restart.ico" +#endif // Russian resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/plugins/Restart/res/restart.ico b/plugins/Restart/res/restart.ico new file mode 100644 index 0000000000..305f7b39c9 Binary files /dev/null and b/plugins/Restart/res/restart.ico differ diff --git a/plugins/Restart/src/resource.h b/plugins/Restart/src/resource.h new file mode 100644 index 0000000000..0c6d35d224 --- /dev/null +++ b/plugins/Restart/src/resource.h @@ -0,0 +1,17 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by Restart.rc +// +#define IDI_ICON1 101 +#define IDI_RESTARTICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/plugins/Restart/src/restart.c b/plugins/Restart/src/restart.c new file mode 100644 index 0000000000..2c09f2f0ab --- /dev/null +++ b/plugins/Restart/src/restart.c @@ -0,0 +1,80 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include "resource.h" + +HINSTANCE hInst; +HANDLE hIconHandle; +int hLangpack; + +PLUGININFOEX pluginInfo={ + sizeof(PLUGININFOEX), + "Restart plugin", + PLUGIN_MAKE_VERSION(0,0,6,0), + "Adds Restart menu item", + "(..íóæíîå âïèñàòü..)", + "ep@eugn.me", + "© 2008 - 2012 -=J-Scar=-", + "http://miranda.im", + UNICODE_AWARE, + 0x61bedf3a, 0xcc2, 0x41a3, { 0xb9, 0x80, 0xbb, 0x93, 0x93, 0x36, 0x89, 0x35 } // {61BEDF3A-0CC2-41a3-B980-BB9393368935} +}; + +BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) +{ + hInst = hinstDLL; + return TRUE; +} + +static int RestartMenuCommand(WPARAM wParam,LPARAM lParam) +{ + CallService("Miranda/System/Restart",0,0); + CallService("CloseAction",0,0); + return 0; +} + +__declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + return &pluginInfo; +} + +int __declspec(dllexport) Load(void) +{ + SKINICONDESC sid = {0}; + CLISTMENUITEM mi = {0}; + TCHAR szFile[MAX_PATH]; + + // IcoLib support + GetModuleFileName(hInst, szFile, MAX_PATH); + sid.pszDefaultFile = szFile; + sid.cbSize = sizeof(sid); + + sid.pszSection = "Restart Plugin"; + sid.pszDescription = "Restart"; + sid.pszName = "rst_restart_icon"; + sid.iDefaultIndex = -IDI_RESTARTICON; + hIconHandle = Skin_AddIcon(&sid); + + CreateServiceFunction("RestartPlug/MenuCommand",RestartMenuCommand); + + mi.cbSize = sizeof(mi); + mi.position = -0x7FFFFFFF; + mi.flags = CMIF_ICONFROMICOLIB; + mi.icolibItem = hIconHandle; + mi.pszName="Restart"; + mi.pszService="RestartPlug/MenuCommand"; + Menu_AddMainMenuItem(&mi); + Menu_AddTrayMenuItem(&mi); + return 0; +} + + +int __declspec(dllexport) Unload(void) +{ + return 0; +} \ No newline at end of file -- cgit v1.2.3