From 480385491fa8669f5afff76f62f17237099e5830 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Tue, 14 Aug 2012 03:16:08 +0000 Subject: restored git-svn-id: http://svn.miranda-ng.org/main/trunk@1449 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../docs/profilemanager-translation.txt | 2 + plugins/ProfileManager/pmanagerEx.vcxproj | 180 +++++++++++++++++++++ plugins/ProfileManager/pmanagerEx.vcxproj.filters | 32 ++++ plugins/ProfileManager/res/ChangePM.ico | Bin 0 -> 1150 bytes plugins/ProfileManager/res/LoadPM.ico | Bin 0 -> 1150 bytes plugins/ProfileManager/res/resource.rc | 46 ++++++ plugins/ProfileManager/src/pmanagerEx.cpp | 106 ++++++++++++ plugins/ProfileManager/src/resource.h | 17 ++ 8 files changed, 383 insertions(+) create mode 100644 plugins/ProfileManager/docs/profilemanager-translation.txt create mode 100644 plugins/ProfileManager/pmanagerEx.vcxproj create mode 100644 plugins/ProfileManager/pmanagerEx.vcxproj.filters create mode 100644 plugins/ProfileManager/res/ChangePM.ico create mode 100644 plugins/ProfileManager/res/LoadPM.ico create mode 100644 plugins/ProfileManager/res/resource.rc create mode 100644 plugins/ProfileManager/src/pmanagerEx.cpp create mode 100644 plugins/ProfileManager/src/resource.h (limited to 'plugins/ProfileManager') diff --git a/plugins/ProfileManager/docs/profilemanager-translation.txt b/plugins/ProfileManager/docs/profilemanager-translation.txt new file mode 100644 index 0000000000..52329c17db --- /dev/null +++ b/plugins/ProfileManager/docs/profilemanager-translation.txt @@ -0,0 +1,2 @@ +; Common strings that belong to many files +;[] diff --git a/plugins/ProfileManager/pmanagerEx.vcxproj b/plugins/ProfileManager/pmanagerEx.vcxproj new file mode 100644 index 0000000000..d672501b04 --- /dev/null +++ b/plugins/ProfileManager/pmanagerEx.vcxproj @@ -0,0 +1,180 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {728CF16E-F3FF-4DEB-88C5-E9118F61ACD5} + PManagerEx + + + + DynamicLibrary + Unicode + true + + + DynamicLibrary + MultiByte + true + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + $(SolutionDir)$(Configuration)\Plugins\ + $(SolutionDir)$(Configuration)64\Plugins\ + $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ + $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ + $(SolutionDir)$(Configuration)\Plugins\ + $(SolutionDir)$(Configuration)64\Plugins\ + $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ + $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ + true + + + + Disabled + ..\..\include;..\ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + Level3 + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + false + $(IntDir)$(TargetName).lib + true + Windows + $(SolutionDir)\lib + + + + + Disabled + ..\..\include;..\ExternalAPI;%(AdditionalIncludeDirectories) + WIN64;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Level3 + + + _DEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + false + $(IntDir)$(TargetName).lib + true + Windows + $(SolutionDir)\lib + + + + + Full + AnySuitable + Size + ..\..\include;..\ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + true + Level3 + + + NDEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + false + $(IntDir)$(TargetName).lib + true + Windows + true + true + $(SolutionDir)\lib + /PDBALTPATH:%_PDB% + + + + + Full + AnySuitable + Size + ..\..\include;..\ExternalAPI;%(AdditionalIncludeDirectories) + WIN64;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + true + Level3 + + + NDEBUG;%(PreprocessorDefinitions) + ..\..\include\msapi + + + false + $(IntDir)$(TargetName).lib + true + Windows + true + true + $(SolutionDir)\lib + /PDBALTPATH:%_PDB% + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/ProfileManager/pmanagerEx.vcxproj.filters b/plugins/ProfileManager/pmanagerEx.vcxproj.filters new file mode 100644 index 0000000000..223e2d2d66 --- /dev/null +++ b/plugins/ProfileManager/pmanagerEx.vcxproj.filters @@ -0,0 +1,32 @@ + + + + + {7fcc9ab8-407a-4e78-80e0-3854d2b0cc67} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {3929b053-bc23-4d61-9c93-ddc8c84c8506} + h;hpp;hxx;hm;inl + + + {b9cfa9f3-72bc-439d-afaa-65df673624ea} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + + + Header Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/plugins/ProfileManager/res/ChangePM.ico b/plugins/ProfileManager/res/ChangePM.ico new file mode 100644 index 0000000000..89b5d08f0f Binary files /dev/null and b/plugins/ProfileManager/res/ChangePM.ico differ diff --git a/plugins/ProfileManager/res/LoadPM.ico b/plugins/ProfileManager/res/LoadPM.ico new file mode 100644 index 0000000000..ec298dea37 Binary files /dev/null and b/plugins/ProfileManager/res/LoadPM.ico differ diff --git a/plugins/ProfileManager/res/resource.rc b/plugins/ProfileManager/res/resource.rc new file mode 100644 index 0000000000..8a81324da1 --- /dev/null +++ b/plugins/ProfileManager/res/resource.rc @@ -0,0 +1,46 @@ +// Microsoft Visual C++ generated resource script. +// +#include "..\src\resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Neutral resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(1250) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ChangePM ICON "ChangePM.ico" +IDI_LoadPM ICON "LoadPM.ico" +#endif // Neutral resources +///////////////////////////////////////////////////////////////////////////// + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/plugins/ProfileManager/src/pmanagerEx.cpp b/plugins/ProfileManager/src/pmanagerEx.cpp new file mode 100644 index 0000000000..e2d9f0a3de --- /dev/null +++ b/plugins/ProfileManager/src/pmanagerEx.cpp @@ -0,0 +1,106 @@ +/* +Miranda plugin template, originally by Richard Hughes +http://miranda-icq.sourceforge.net/ + +This file is placed in the public domain. Anybody is free to use or +modify it as they wish with no restriction. +There is no warranty. +*/ +#define MIRANDA_VER 0x0A00 + +#include +#include + +#include +#include +#include +#include +#include + +#include "resource.h" + +HINSTANCE hInst; + +TCHAR fn[MAX_PATH]; +TCHAR lmn[MAX_PATH]; +TCHAR* pathn; +int hLangpack; +HANDLE hLoadPM, hChangePM; + +PLUGININFOEX pluginInfo={ + sizeof(PLUGININFOEX), + "Miranda IM Profile Changer", + PLUGIN_MAKE_VERSION(0,0,0,3), + "Adds a menu item to change or load a different profile of Miranda IM.", + "Roman Gemini", + "woobind@ukr.net", + "© 2008 - 2010 Roman Gemini", + "http://miranda-ng.org/", + UNICODE_AWARE, + {0x7eeeb55e, 0x9d83, 0x4e1a, { 0xa1, 0x2f, 0x8f, 0x13, 0xf1, 0xa1, 0x24, 0xfb } } +}; + +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + return &pluginInfo; +} + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + hInst = hinstDLL; + return TRUE; +} + +static INT_PTR ChangePM(WPARAM wParam, LPARAM lParam) +{ + GetModuleFileName(GetModuleHandle(NULL), fn, SIZEOF(fn)); + ShellExecute(0, _T("open"), fn, _T("/ForceShowPM"), _T(""), 1); + CallService("CloseAction", 0, 0); + return 0; +} + +static INT_PTR LoadPM(WPARAM wParam, LPARAM lParam) +{ + GetModuleFileName(GetModuleHandle(NULL), fn, SIZEOF(fn)); + ShellExecute(0, _T("open"), fn, _T("/ForceShowPM"), _T(""), 1); + return 0; +} + +extern "C" __declspec(dllexport) int Load(void) +{ + CLISTMENUITEM mi; + + mir_getLP(&pluginInfo); + + hLoadPM = CreateServiceFunction("Database/LoadPM", LoadPM); + ZeroMemory(&mi, sizeof(mi)); + mi.cbSize = sizeof(mi); + mi.position = -500200000; + mi.flags = CMIF_TCHAR; + mi.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_LoadPM)); + mi.ptszPopupName = _T("Database"); + mi.ptszName = _T("Load profile"); + mi.pszService = "Database/LoadPM"; + Menu_AddMainMenuItem(&mi); + + hChangePM = CreateServiceFunction("Database/ChangePM", ChangePM); + ZeroMemory(&mi, sizeof(mi)); + mi.cbSize = sizeof(mi); + mi.position = -500200000; + mi.flags = CMIF_TCHAR; + mi.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ChangePM)); + mi.ptszPopupName = _T("Database"); + mi.ptszName = _T("Change profile"); + mi.pszService = "Database/ChangePM"; + Menu_AddMainMenuItem(&mi); + + return 0; +} + +extern "C" __declspec(dllexport) int Unload(void) +{ + DestroyServiceFunction(hLoadPM); + DestroyServiceFunction(hChangePM); + + return 0; +} diff --git a/plugins/ProfileManager/src/resource.h b/plugins/ProfileManager/src/resource.h new file mode 100644 index 0000000000..638fcfb4f6 --- /dev/null +++ b/plugins/ProfileManager/src/resource.h @@ -0,0 +1,17 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by resource.rc +// +#define IDI_ChangePM 101 +#define IDI_LoadPM 102 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 105 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1007 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif -- cgit v1.2.3