From 78d71d2cad6f243c6ff31d41380b8c5b58407de5 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Thu, 17 May 2012 17:37:22 +0000 Subject: added some plugins git-svn-id: http://svn.miranda-ng.org/main/trunk@20 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/ProfileManager/pmanagerEx.c | 109 ++++++++++++++ plugins/ProfileManager/pmanagerEx.vcproj | 247 +++++++++++++++++++++++++++++++ plugins/ProfileManager/res/ChangePM.ico | Bin 0 -> 1150 bytes plugins/ProfileManager/res/LoadPM.ico | Bin 0 -> 1150 bytes plugins/ProfileManager/resource.h | 17 +++ plugins/ProfileManager/resource.rc | 46 ++++++ 6 files changed, 419 insertions(+) create mode 100644 plugins/ProfileManager/pmanagerEx.c create mode 100644 plugins/ProfileManager/pmanagerEx.vcproj create mode 100644 plugins/ProfileManager/res/ChangePM.ico create mode 100644 plugins/ProfileManager/res/LoadPM.ico create mode 100644 plugins/ProfileManager/resource.h create mode 100644 plugins/ProfileManager/resource.rc (limited to 'plugins/ProfileManager') diff --git a/plugins/ProfileManager/pmanagerEx.c b/plugins/ProfileManager/pmanagerEx.c new file mode 100644 index 0000000000..63f57f5bea --- /dev/null +++ b/plugins/ProfileManager/pmanagerEx.c @@ -0,0 +1,109 @@ +/* +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. +*/ +#include +#include +#include +#include +#include +#include +#include "resource.h" + + +HINSTANCE hInst; +PLUGINLINK *pluginLink; +TCHAR fn[MAX_PATH]; +TCHAR lmn[MAX_PATH]; +TCHAR* pathn; + +#define SIZEOF(x) (sizeof(x)/sizeof(*x)) + +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://code.google.com/p/alfamar/", + 0, //not transient + 0, //doesn't replace anything built-in + // Generate your own unique id for your plugin. + // Do not use this UUID! + // Use uuidgen.exe to generate the uuuid + {0x7eeeb55e, 0x9d83, 0x4e1a, { 0xa1, 0x2f, 0x8f, 0x13, 0xf1, 0xa1, 0x24, 0xfb } } + +}; + +BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) +{ + hInst=hinstDLL; + return TRUE; +} + +static int ChangePM(WPARAM wParam,LPARAM lParam) +{ + GetModuleFileName(GetModuleHandle(NULL), fn, SIZEOF(fn)); + ShellExecute(0, "open", fn, "/FORCESHOW", "", 1); + CallService("CloseAction", 0, 0); + return 0; +} + +static int LoadPM(WPARAM wParam,LPARAM lParam) +{ + GetModuleFileName(GetModuleHandle(NULL), fn, SIZEOF(fn)); + ShellExecute(0, "open", fn, "/FORCESHOW", "", 1); + return 0; +} + + +__declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + return &pluginInfo; +} + +static const MUUID interfaces[] = {MIID_TESTPLUGIN, MIID_LAST}; +__declspec(dllexport) const MUUID* MirandaPluginInterfaces(void) +{ + return interfaces; +} + +int __declspec(dllexport) Load(PLUGINLINK *link) +{ + CLISTMENUITEM mi; + pluginLink=link; + + CreateServiceFunction("Database/LoadPM",LoadPM); + ZeroMemory(&mi,sizeof(mi)); + mi.cbSize=sizeof(mi); + mi.position=-500200000; + mi.flags=0; + mi.hIcon=LoadIcon(hInst, MAKEINTRESOURCE(IDI_LoadPM)); + mi.pszPopupName = "Database"; + mi.pszName=LPGEN("Load profile"); + mi.pszService="Database/LoadPM"; + CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&mi); + + CreateServiceFunction("Database/ChangePM",ChangePM); + ZeroMemory(&mi,sizeof(mi)); + mi.cbSize=sizeof(mi); + mi.position=-500200000; + mi.flags=0; + mi.hIcon=LoadIcon(hInst, MAKEINTRESOURCE(IDI_ChangePM)); + mi.pszPopupName = "Database"; + mi.pszName=LPGEN("Change profile"); + mi.pszService="Database/ChangePM"; + CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&mi); + return 0; +} + +int __declspec(dllexport) Unload(void) +{ + return 0; +} \ No newline at end of file diff --git a/plugins/ProfileManager/pmanagerEx.vcproj b/plugins/ProfileManager/pmanagerEx.vcproj new file mode 100644 index 0000000000..4c5613bdec --- /dev/null +++ b/plugins/ProfileManager/pmanagerEx.vcproj @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/resource.h b/plugins/ProfileManager/resource.h new file mode 100644 index 0000000000..638fcfb4f6 --- /dev/null +++ b/plugins/ProfileManager/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 diff --git a/plugins/ProfileManager/resource.rc b/plugins/ProfileManager/resource.rc new file mode 100644 index 0000000000..92a42063c4 --- /dev/null +++ b/plugins/ProfileManager/resource.rc @@ -0,0 +1,46 @@ +// Microsoft Visual C++ generated resource script. +// +#include "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 "res/ChangePM.ico" +IDI_LoadPM ICON "res/LoadPM.ico" +#endif // Neutral resources +///////////////////////////////////////////////////////////////////////////// + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + -- cgit v1.2.3