From bc970507965a809727b3d5877884f21605fdf1a6 Mon Sep 17 00:00:00 2001 From: watcherhd Date: Sat, 26 Nov 2011 11:03:42 +0000 Subject: Project folders rename part 1 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@210 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- AuthState/authstate.dsp | 142 ++++++ AuthState/authstate.dsw | 29 ++ AuthState/authstate.mdsp | 100 +++++ AuthState/authstate.rc | 132 ++++++ AuthState/authstate.sln | 19 + AuthState/authstate.vcproj | 177 ++++++++ AuthState/authstate_10.sln | 38 ++ AuthState/authstate_10.vcxproj | 397 +++++++++++++++++ AuthState/authstate_10.vcxproj.filters | 64 +++ AuthState/authstate_9.vcproj | 793 +++++++++++++++++++++++++++++++++ AuthState/commonheaders.h | 68 +++ AuthState/docs/authstate-readme.txt | 54 +++ AuthState/docs/authstate-translate.txt | 24 + AuthState/icons/auth.ico | Bin 0 -> 2038 bytes AuthState/icons/authgrant.ico | Bin 0 -> 2038 bytes AuthState/icons/grant.ico | Bin 0 -> 2038 bytes AuthState/main.cpp | 385 ++++++++++++++++ AuthState/options.cpp | 154 +++++++ AuthState/resource.h | 25 ++ AuthState/version.h | 28 ++ AuthState/version.rc | 40 ++ 21 files changed, 2669 insertions(+) create mode 100644 AuthState/authstate.dsp create mode 100644 AuthState/authstate.dsw create mode 100644 AuthState/authstate.mdsp create mode 100644 AuthState/authstate.rc create mode 100644 AuthState/authstate.sln create mode 100644 AuthState/authstate.vcproj create mode 100644 AuthState/authstate_10.sln create mode 100644 AuthState/authstate_10.vcxproj create mode 100644 AuthState/authstate_10.vcxproj.filters create mode 100644 AuthState/authstate_9.vcproj create mode 100644 AuthState/commonheaders.h create mode 100644 AuthState/docs/authstate-readme.txt create mode 100644 AuthState/docs/authstate-translate.txt create mode 100644 AuthState/icons/auth.ico create mode 100644 AuthState/icons/authgrant.ico create mode 100644 AuthState/icons/grant.ico create mode 100644 AuthState/main.cpp create mode 100644 AuthState/options.cpp create mode 100644 AuthState/resource.h create mode 100644 AuthState/version.h create mode 100644 AuthState/version.rc (limited to 'AuthState') diff --git a/AuthState/authstate.dsp b/AuthState/authstate.dsp new file mode 100644 index 0000000..a62dc51 --- /dev/null +++ b/AuthState/authstate.dsp @@ -0,0 +1,142 @@ +# Microsoft Developer Studio Project File - Name="AuthState" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=AuthState - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "authstate.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "authstate.mak" CFG="AuthState - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "AuthState - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "AuthState - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 1 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "AuthState - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 1 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FINGER_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /Zi /O1 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FINGER_EXPORTS" /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /I "../../../include" /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x419 /d "NDEBUG" +# ADD RSC /l 0x809 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /base:"0x22620000" /verbose /dll /pdb:"../../bin/release/plugins/AuthState.pdb" /machine:I386 /out:"../../bin/release/plugins/AuthState.dll" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "AuthState - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FINGER_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FINGER_EXPORTS" /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /I "../../../../include" /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x419 /d "_DEBUG" +# ADD RSC /l 0x419 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /base:"0x22620000" /dll /debug /machine:I386 /out:"../../../bin/debug/plugins/AuthState.dll" /pdbtype:sept +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "AuthState - Win32 Release" +# Name "AuthState - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\main.cpp +# End Source File +# Begin Source File + +SOURCE=.\options.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\commonheaders.h +# End Source File +# Begin Source File + +SOURCE=.\m_cluiframes.h +# End Source File +# Begin Source File + +SOURCE=.\m_icolib.h +# End Source File +# Begin Source File + +SOURCE=.\resource.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=.\vc6.rc + +!IF "$(CFG)" == "AuthState - Win32 Release" + +!ELSEIF "$(CFG)" == "AuthState - Win32 Debug" + +!ENDIF + +# End Source File +# End Group +# End Target +# End Project diff --git a/AuthState/authstate.dsw b/AuthState/authstate.dsw new file mode 100644 index 0000000..169266e --- /dev/null +++ b/AuthState/authstate.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "AuthState"=".\authstate.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/AuthState/authstate.mdsp b/AuthState/authstate.mdsp new file mode 100644 index 0000000..8c794e5 --- /dev/null +++ b/AuthState/authstate.mdsp @@ -0,0 +1,100 @@ +[Project] +name=AuthState +type=2 +defaultConfig=1 + + +[Debug] +// compiler +workingDirectory= +arguments= +intermediateFilesDirectory=Debug +outputFilesDirectory=Debug +compilerPreprocessor= +extraCompilerOptions= +compilerIncludeDirectory=..\..\include +noWarning=0 +defaultWarning=0 +allWarning=1 +extraWarning=0 +isoWarning=0 +warningsAsErrors=0 +debugType=1 +debugLevel=2 +exceptionEnabled=1 +runtimeTypeEnabled=1 +optimizeLevel=4 + +// linker +libraryPath= +outputFilename=Debug\AuthState.dll +libraries= +extraLinkerOptions= +ignoreStartupFile=0 +ignoreDefaultLibs=0 +stripExecutableFile=0 + +// archive +extraArchiveOptions= + +//resource +resourcePreprocessor= +resourceIncludeDirectory= +extraResourceOptions= + +[Release] +// compiler +workingDirectory= +arguments= +intermediateFilesDirectory=Release +outputFilesDirectory=Release +compilerPreprocessor= +extraCompilerOptions= +compilerIncludeDirectory=..\..\include +noWarning=0 +defaultWarning=1 +allWarning=1 +extraWarning=0 +isoWarning=0 +warningsAsErrors=0 +debugType=0 +debugLevel=1 +exceptionEnabled=1 +runtimeTypeEnabled=1 +optimizeLevel=4 + +// linker +libraryPath= +outputFilename=Release\AuthState.dll +libraries= +extraLinkerOptions= +ignoreStartupFile=0 +ignoreDefaultLibs=0 +stripExecutableFile=1 + +// archive +extraArchiveOptions= + +//resource +resourcePreprocessor= +resourceIncludeDirectory= +extraResourceOptions= + +[Source] +1=main.cpp +2=options.cpp +[Header] +1=commonheaders.h +2=m_cluiframes.h +3=m_updater.h +4=resource.h +[Resource] +1=authstate.rc +[Other] +1=docs\authstate-readme.txt +2=docs\authstate-translate.txt +[History]commonheaders.h,1232 +docs\authstate-translate.txt,381 +options.cpp,1384 +main.cpp,1168 +docs\authstate-readme.txt,902 diff --git a/AuthState/authstate.rc b/AuthState/authstate.rc new file mode 100644 index 0000000..0bed718 --- /dev/null +++ b/AuthState/authstate.rc @@ -0,0 +1,132 @@ +// 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 + +///////////////////////////////////////////////////////////////////////////// +// Ukrainian resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_UKR) +#ifdef _WIN32 +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT +#pragma code_page(1251) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_AUTH ICON "icons\\auth.ico" +IDI_GRANT ICON "icons\\grant.ico" +IDI_AUTHGRANT ICON "icons\\authgrant.ico" +#endif // Ukrainian resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_AUTHSTATE_OPT DIALOGEX 0, 0, 314, 240 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + COMBOBOX IDC_ADVICON,95,127,78,81,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP,WS_EX_CLIENTEDGE + CONTROL "Show Auth icon",IDC_AUTHICON,"Button",BS_AUTOCHECKBOX | + BS_LEFTTEXT | WS_TABSTOP,76,93,167,18 + CONTROL "Show Grant icon",IDC_GRANTICON,"Button",BS_AUTOCHECKBOX | + BS_LEFTTEXT | WS_TABSTOP,76,109,167,18 + GROUPBOX "Plugin settings",IDC_STATIC,19,46,276,118 + RTEXT "Use",IDC_STATIC,40,129,49,12 + LTEXT "slot to draw the icon",IDC_STATIC,179,129,86,17 + CONTROL "Enable Menu Item (*)",IDC_ENABLEMENUITEM,"Button", + BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,76,65,167,13 + CONTROL "Show icons only for recently added contacts", + IDC_ICONSFORRECENT,"Button",BS_AUTOCHECKBOX | + BS_LEFTTEXT | WS_TABSTOP,76,78,167,17 + RTEXT "* Restart of Miranda required",IDC_STATIC,58,171,210,11 + LTEXT "Note: if you still don't see the icons try changing icon slot. Perhaps its used by some other plugin.", + IDC_NOTICE,54,143,198,20 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_AUTHSTATE_OPT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 307 + TOPMARGIN, 7 + BOTTOMMARGIN, 233 + END +END +#endif // APSTUDIO_INVOKED + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/AuthState/authstate.sln b/AuthState/authstate.sln new file mode 100644 index 0000000..83ffeb1 --- /dev/null +++ b/AuthState/authstate.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual C++ Express 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "authstate", "authstate.vcproj", "{DB315D7D-00BB-43B2-93A6-0430CA2B9F28}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug|Win32.ActiveCfg = Debug|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug|Win32.Build.0 = Debug|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release|Win32.ActiveCfg = Release|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/AuthState/authstate.vcproj b/AuthState/authstate.vcproj new file mode 100644 index 0000000..12c647f --- /dev/null +++ b/AuthState/authstate.vcproj @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AuthState/authstate_10.sln b/AuthState/authstate_10.sln new file mode 100644 index 0000000..6bcf6d3 --- /dev/null +++ b/AuthState/authstate_10.sln @@ -0,0 +1,38 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AuthState", "authstate_10.vcxproj", "{DB315D7D-00BB-43B2-93A6-0430CA2B9F28}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug Unicode|Win32 = Debug Unicode|Win32 + Debug Unicode|x64 = Debug Unicode|x64 + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release Unicode|Win32 = Release Unicode|Win32 + Release Unicode|x64 = Release Unicode|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug Unicode|Win32.ActiveCfg = Debug Unicode|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug Unicode|Win32.Build.0 = Debug Unicode|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug Unicode|x64.ActiveCfg = Debug Unicode|x64 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug Unicode|x64.Build.0 = Debug Unicode|x64 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug|Win32.ActiveCfg = Debug|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug|Win32.Build.0 = Debug|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug|x64.ActiveCfg = Debug|x64 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Debug|x64.Build.0 = Debug|x64 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release Unicode|Win32.ActiveCfg = Release Unicode|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release Unicode|Win32.Build.0 = Release Unicode|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release Unicode|x64.ActiveCfg = Release Unicode|x64 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release Unicode|x64.Build.0 = Release Unicode|x64 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release|Win32.ActiveCfg = Release|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release|Win32.Build.0 = Release|Win32 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release|x64.ActiveCfg = Release|x64 + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/AuthState/authstate_10.vcxproj b/AuthState/authstate_10.vcxproj new file mode 100644 index 0000000..f54aef6 --- /dev/null +++ b/AuthState/authstate_10.vcxproj @@ -0,0 +1,397 @@ + + + + + Debug Unicode + Win32 + + + Debug Unicode + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release Unicode + Win32 + + + Release Unicode + x64 + + + Release + Win32 + + + Release + x64 + + + + AuthState + {DB315D7D-00BB-43B2-93A6-0430CA2B9F28} + authstate_9 + Win32Proj + + + + DynamicLibrary + Unicode + true + + + DynamicLibrary + Unicode + + + DynamicLibrary + MultiByte + true + + + DynamicLibrary + MultiByte + + + DynamicLibrary + Unicode + true + + + DynamicLibrary + Unicode + + + DynamicLibrary + MultiByte + true + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)/Plugins\ + $(SolutionDir)$(Configuration)/Obj/$(ProjectName)\ + $(SolutionDir)$(Configuration)/Plugins\ + $(SolutionDir)$(Configuration)/Obj/$(ProjectName)\ + $(SolutionDir)$(Configuration)/Plugins\ + $(SolutionDir)$(Configuration)/Obj/$(ProjectName)\ + $(SolutionDir)$(Configuration)/Plugins\ + $(SolutionDir)$(Configuration)/Obj/$(ProjectName)\ + $(SolutionDir)$(Configuration)64/Plugins\ + $(SolutionDir)$(Configuration)64/Obj/$(ProjectName)\ + $(SolutionDir)$(Configuration)64/Plugins\ + $(SolutionDir)$(Configuration)64/Obj/$(ProjectName)\ + $(SolutionDir)$(Configuration)64/Plugins\ + $(SolutionDir)$(Configuration)64/Obj/$(ProjectName)\ + $(SolutionDir)$(Configuration)64/Plugins\ + $(SolutionDir)$(Configuration)64/Obj/$(ProjectName)\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDebug + Use + Commonheaders.h + Level3 + EditAndContinue + + + true + Windows + 0x22620000 + false + + + MachineX86 + + + + + Full + OnlyExplicitInline + Size + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + Use + Commonheaders.h + Level3 + ProgramDatabase + 4996;%(DisableSpecificWarnings) + + + true + Windows + true + true + 0x22620000 + false + + + MachineX86 + + + + + Disabled + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDebug + Use + Commonheaders.h + Level3 + EditAndContinue + 4996;%(DisableSpecificWarnings) + + + true + Windows + 0x22620000 + false + + + MachineX86 + + + + + Full + OnlyExplicitInline + Size + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + Use + Commonheaders.h + Level3 + ProgramDatabase + 4996;%(DisableSpecificWarnings) + + + true + Windows + true + true + 0x22620000 + false + + + MachineX86 + + + + + X64 + + + Disabled + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDebug + Use + Commonheaders.h + Level3 + ProgramDatabase + + + true + Windows + 0x22620000 + false + + + $(IntDir)$(TargetName).lib + MachineX64 + + + + + X64 + + + Full + OnlyExplicitInline + Size + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + Use + Commonheaders.h + Level3 + ProgramDatabase + 4996;%(DisableSpecificWarnings) + + + true + Windows + true + true + 0x22620000 + false + + + $(IntDir)$(TargetName).lib + MachineX64 + + + + + X64 + + + Disabled + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDebug + Use + Commonheaders.h + Level3 + ProgramDatabase + 4996;%(DisableSpecificWarnings) + + + true + Windows + 0x22620000 + false + + + $(IntDir)$(TargetName).lib + MachineX64 + + + + + X64 + + + Full + OnlyExplicitInline + Size + ../include;../ExternalAPI;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;AUTHSTATE_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + Use + Commonheaders.h + Level3 + ProgramDatabase + 4996;%(DisableSpecificWarnings) + + + true + Windows + true + true + 0x22620000 + false + + + $(IntDir)$(TargetName).lib + MachineX64 + + + + + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AuthState/authstate_10.vcxproj.filters b/AuthState/authstate_10.vcxproj.filters new file mode 100644 index 0000000..c045a6a --- /dev/null +++ b/AuthState/authstate_10.vcxproj.filters @@ -0,0 +1,64 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + {e3d2bfb3-bac6-4574-951a-0d849c44446e} + + + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + + + Resource Files + + + Resource Files + + + Resource Files + + + Docs + + + Docs + + + + + Resource Files + + + Resource Files + + + \ No newline at end of file diff --git a/AuthState/authstate_9.vcproj b/AuthState/authstate_9.vcproj new file mode 100644 index 0000000..bcd25c9 --- /dev/null +++ b/AuthState/authstate_9.vcproj @@ -0,0 +1,793 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AuthState/commonheaders.h b/AuthState/commonheaders.h new file mode 100644 index 0000000..746ff48 --- /dev/null +++ b/AuthState/commonheaders.h @@ -0,0 +1,68 @@ +/* + Authorization State plugin for Miranda-IM (www.miranda-im.org) + (c) 2006-2009 by Thief + + 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 + + File name : $URL: http://svn.miranda.im/mainrepo/authstate/trunk/commonheaders.h $ + Revision : $Rev: 1686 $ + Last change on : $Date: 2010-10-06 08:26:58 +0200 (Ср, 06 окт 2010) $ + Last change by : $Author: ghazan $ + +*/ + +#ifndef COMMHEADERS_H +#define COMMHEADERS_H + +#define MIRANDA_VER 0x0900 +#define MIRANDA_CUSTOM_LP + +#include +#include // needed by m_utils.h +#include // needed by m_icolib.h > r9256 +#include + +// Miranda API headers +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "resource.h" +#include "Version.h" + +// Third party SDK headers +#include "m_updater.h" +#include "m_extraicons.h" + +static const int DefaultSlot = EXTRA_ICON_ADV2; +#define MODULENAME "AuthState" + +extern int onOptInitialise(WPARAM wParam, LPARAM lParam); +extern int onExtraImageApplying(WPARAM wParam, LPARAM lParam); +extern int onExtraImageListRebuild(WPARAM wParam, LPARAM lParam); + +extern HINSTANCE g_hInst; +extern IconExtraColumn g_IECAuth, g_IECGrant, g_IECAuthGrant, g_IECClear; +extern INT clistIcon; +extern byte bUseAuthIcon, bUseGrantIcon, bContactMenuItem, bIconsForRecentContacts; +extern HANDLE hExtraIcon; + +#endif //COMMHEADERS_H diff --git a/AuthState/docs/authstate-readme.txt b/AuthState/docs/authstate-readme.txt new file mode 100644 index 0000000..d830076 --- /dev/null +++ b/AuthState/docs/authstate-readme.txt @@ -0,0 +1,54 @@ +Authorization State plugin for Miranda IM (http://miranda-im.org) +Homepage: http://thief.miranda.im +Version: 0.0.2.0 (c) 2006-2009 Thief +Idea by snwbrdr, icons by Faith Healer, Angeli-Ka + +This small plugin intended to show an icon in front of contacts which haven't gived us an authorization. +Another icon is displayed if there is Grant Authorization item in contact's menu. +Options to disable/enable icons for particular contact are available in contact's menu. + +I would like to say thanks to: +snwbrdr for initial idea +Faith Healer for cute icons +Kildor for several creative ideas +mirandaim.ru forum members for valuable feedback and suggestions. +eblis and baloo for WhenWasIt and SecureIM plugins (I found many useful hints on implementation in sources of these plugins) + +Changes: + +v0.0.2.0 ++ added support for extraicons service plugin + +v0.0.1.6 +! fixed wrong auth-grant icon in some cases +- minor adjustments to menu item logic + +v0.0.1.5 +* icons by Angeli-Ka ++ auth-grant icon is shown if contact wasn't added to server-side contact list + +v0.0.1.4 +! MinGW build +- small corrections and fixes + +v0.0.1.3 ++ added Miranda 0.8 support (PluginInfoEx and Interfaces) ++ optional ability to move contacts without permited authorization to a separate group (like icq official) - WORK IN PROGRESS +* fixed crash on exit (thx Joe) +* small bugfixes + +v0.0.1.2 +! fix: when changing icon slot clist was getting multiply icons +! fix: dropdown items in options weren't visible in some cases + +v0.0.1.1 +* fixes to translation + +v0.0.1.0 +- initial FL release + +v0.0.0.x +- test versions released on mirandaim.ru forum only. + +Plugin is released under GPL licence. +http://www.gnu.org/copyleft/gpl.html \ No newline at end of file diff --git a/AuthState/docs/authstate-translate.txt b/AuthState/docs/authstate-translate.txt new file mode 100644 index 0000000..4e6d872 --- /dev/null +++ b/AuthState/docs/authstate-translate.txt @@ -0,0 +1,24 @@ +[Auth State] +[Auth] +[Grant] +[Auth & Grant] +[Show Auth icon] +[Show Grant icon] +[Plugin settings] +[Use] +[slot to draw the icon] +[Enable Menu Item (*)] +[Show icons only for recently added contacts] +[* Restart of Miranda required] +[Email] +[Protocol] +[SMS] +[Advanced 1] +[Advanced 2] +[Web] +[Client] +[Advanced 3] +[Advanced 4] +[Advanced 5] +[Disable AuthState icons] +[Enable AuthState icons] \ No newline at end of file diff --git a/AuthState/icons/auth.ico b/AuthState/icons/auth.ico new file mode 100644 index 0000000..01cb6f0 Binary files /dev/null and b/AuthState/icons/auth.ico differ diff --git a/AuthState/icons/authgrant.ico b/AuthState/icons/authgrant.ico new file mode 100644 index 0000000..3f15a64 Binary files /dev/null and b/AuthState/icons/authgrant.ico differ diff --git a/AuthState/icons/grant.ico b/AuthState/icons/grant.ico new file mode 100644 index 0000000..89ce601 Binary files /dev/null and b/AuthState/icons/grant.ico differ diff --git a/AuthState/main.cpp b/AuthState/main.cpp new file mode 100644 index 0000000..ba5a006 --- /dev/null +++ b/AuthState/main.cpp @@ -0,0 +1,385 @@ +/* + Authorization State plugin for Miranda-IM (www.miranda-im.org) + (c) 2006-2010 by Thief + + 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 + + File name : $URL: http://svn.miranda.im/mainrepo/authstate/trunk/main.cpp $ + Revision : $Rev: 1686 $ + Last change on : $Date: 2010-10-06 08:26:58 +0200 (Ср, 06 окт 2010) $ + Last change by : $Author: ghazan $ + +*/ + +#include "commonheaders.h" + +HINSTANCE g_hInst; +PLUGINLINK *pluginLink; +static HANDLE hHookModulesLoaded = NULL, hSystemOKToExit = NULL, hOptInitialise = NULL, hIcoLibIconsChanged = NULL; +static HANDLE hHookExtraIconsRebuild = NULL, hHookExtraIconsApply = NULL, hContactSettingChanged = NULL, hContactAdded = NULL; +static HANDLE hPrebuildContactMenu = NULL, hAuthMenuSelected = NULL; +static HANDLE hUserMenu = NULL; +HANDLE hExtraIcon = NULL; +struct MM_INTERFACE mmi; +int hLangpack; + +IconExtraColumn g_IECAuth = {0}; +IconExtraColumn g_IECGrant = {0}; +IconExtraColumn g_IECAuthGrant = {0}; +IconExtraColumn g_IECClear = {0}; +INT clistIcon = 0; //Icon slot to use +BYTE bUseAuthIcon = 0, bUseGrantIcon = 0, bContactMenuItem = 0, bIconsForRecentContacts = 0, bUseAuthGroup = 0; + +enum { +icon_none, +icon_auth, +icon_grant, +icon_both +}; + +PLUGININFOEX pluginInfo={ + sizeof(PLUGININFOEX), + __PLUGIN_NAME, + PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM), + __DESCRIPTION, + __AUTHOR, + __AUTHOREMAIL, + __COPYRIGHT, + __AUTHORWEB, + UNICODE_AWARE, + 0, //doesn't replace anything built-in + {0xdace7d41, 0xdfa9, 0x4772, {0x89, 0xae, 0xa5, 0x9a, 0x61, 0x53, 0xe6, 0xb2}} +/* DACE7D41-DFA9-4772-89AE-A59A6153E6B2 */ +}; + +extern "C" BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) +{ + g_hInst = hinstDLL; + return TRUE; +} + +/* 236CBB9A-57D2-419D-B5CB-0DF5926E921C */ +#define MIID_AUTHSTATE {0x236cbb9a, 0x57d2, 0x419d, {0xb5, 0xcb, 0x0d, 0xf5, 0x92, 0x6e, 0x92, 0x1c}} + +extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void) +{ + static const MUUID interfaces[] = {MIID_AUTHSTATE, MIID_LAST}; + return interfaces; +} + +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + return &pluginInfo; +} + +INT_PTR getIconToUse(HANDLE hContact, LPARAM lParam) +{ + char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0); +// if (lParam == 1) return icon_none; + if (!DBGetContactSettingByte(hContact,"AuthState","ShowIcons",!bIconsForRecentContacts)) return icon_none; + + if (DBGetContactSettingByte(0,"ICQ","UseServerCList",0)) + if (DBGetContactSettingWord(hContact,proto,"ServerId",1) == 0) + return icon_both; + + if (bUseAuthIcon & bUseGrantIcon) + if (DBGetContactSettingByte(hContact,proto,"Auth",0) && DBGetContactSettingByte(hContact,proto,"Grant",0)) + return icon_both; + + if (bUseAuthIcon) + if (DBGetContactSettingByte(hContact,proto,"Auth",0)) + return icon_auth; + + if (bUseGrantIcon) + if (DBGetContactSettingByte(hContact,proto,"Grant",0)) + return icon_grant; + return icon_none; +} + +int onExtraImageApplying(WPARAM wParam, LPARAM lParam) +{ + if (wParam == NULL) + return 0; + + int usedIcon; + usedIcon = getIconToUse((HANDLE) wParam, lParam); + + if (hExtraIcon != NULL) + { + const char *icon; + switch (usedIcon) + { + case icon_both: icon = "authgrant_icon"; break; + case icon_grant: icon = "grant_icon"; break; + case icon_auth: icon = "auth_icon"; break; + default: icon = NULL; break; + } + ExtraIcon_SetIcon(hExtraIcon, (HANDLE)wParam, icon); + } + else + { + switch (usedIcon) + { + case icon_both: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECAuthGrant); break; + case icon_grant: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECGrant); break; + case icon_auth: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECAuth); break; + default: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECClear); break; + } + } + + return 0; +} + +int onExtraImageListRebuild(WPARAM wParam, LPARAM lParam) +{ + g_IECAuth.cbSize = sizeof(IconExtraColumn); + g_IECAuth.ColumnType = clistIcon; + g_IECGrant.cbSize = sizeof(IconExtraColumn); + g_IECGrant.ColumnType = clistIcon; + g_IECAuthGrant.cbSize = sizeof(IconExtraColumn); + g_IECAuthGrant.ColumnType = clistIcon; + + if (ServiceExists(MS_CLIST_EXTRA_ADD_ICON)) + { + if (ServiceExists(MS_SKIN2_ADDICON)) + { + g_IECAuth.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"auth_icon"), (LPARAM)0); + g_IECGrant.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"grant_icon"), (LPARAM)0); + g_IECAuthGrant.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"authgrant_icon"), (LPARAM)0); + } + else + { + g_IECAuth.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)LoadImage(g_hInst, MAKEINTRESOURCE(IDI_AUTH), IMAGE_ICON, 16, 16, LR_SHARED), (LPARAM)0); + g_IECGrant.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)LoadImage(g_hInst, MAKEINTRESOURCE(IDI_GRANT), IMAGE_ICON, 16, 16, LR_SHARED), (LPARAM)0); + g_IECAuthGrant.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)LoadImage(g_hInst, MAKEINTRESOURCE(IDI_AUTHGRANT), IMAGE_ICON, 16, 16, LR_SHARED), (LPARAM)0); + } + } + + return 0; +} + +int onContactSettingChanged(WPARAM wParam,LPARAM lParam) +{ + DBCONTACTWRITESETTING *cws=(DBCONTACTWRITESETTING*)lParam; + char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0); + if (!proto) return 0; + + if (!lstrcmpA(cws->szModule,proto)) + if (!lstrcmpA(cws->szSetting,"Auth") || !lstrcmpA(cws->szSetting,"Grant") || !lstrcmpA(cws->szSetting,"ServerId")) + onExtraImageApplying(wParam, 1); + + return 0; +} + +int onDBContactAdded(WPARAM wParam, LPARAM lParam) +{ + // A new contact added, mark it as recent + DBWriteContactSettingByte((HANDLE)wParam, MODULENAME, "ShowIcons", 1); + onExtraImageApplying(wParam, 0); + + return 0; +} + +INT_PTR onAuthMenuSelected(WPARAM wParam, LPARAM lParam) +{ + byte enabled = DBGetContactSettingByte((HANDLE)wParam,"AuthState","ShowIcons",1); + DBWriteContactSettingByte((HANDLE)wParam, MODULENAME, "ShowIcons", !enabled); + + if (enabled) + CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM) wParam, (LPARAM) &g_IECClear); + else + onExtraImageApplying(wParam, 0); + + return 0; +} + +int onPrebuildContactMenu(WPARAM wParam, LPARAM lParam) +{ + char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0); + if (!proto) return 0; + + CLISTMENUITEM mi = {0}; + mi.cbSize = sizeof(CLISTMENUITEM); + + if (!DBGetContactSettingByte((HANDLE)wParam,proto,"Auth",0) && !DBGetContactSettingByte((HANDLE)wParam,proto,"Grant",0) && DBGetContactSettingWord((HANDLE)wParam,proto,"ServerId",0)) + mi.flags = CMIF_TCHAR | CMIM_FLAGS | CMIF_HIDDEN; + else + mi.flags = CMIF_TCHAR | CMIM_FLAGS; + + if (DBGetContactSettingByte((HANDLE)wParam,"AuthState","ShowIcons",1)) + { + mi.flags |= CMIF_TCHAR | CMIM_NAME; + mi.ptszName = _T("Disable AuthState icons"); + } + else + { + mi.flags |= CMIF_TCHAR | CMIM_NAME; + mi.ptszName = _T("Enable AuthState icons"); + } + + CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hUserMenu, (LPARAM)&mi); + + return 0; +} + +int onModulesLoaded(WPARAM wParam,LPARAM lParam) +{ + // hHookExtraIconsRebuild = HookEvent(ME_CLIST_EXTRA_LIST_REBUILD, onExtraImageListRebuild); + // hHookExtraIconsApply = HookEvent(ME_CLIST_EXTRA_IMAGE_APPLY, onExtraImageApplying); + // IcoLib support + if (ServiceExists(MS_SKIN2_ADDICON)) + { + SKINICONDESC sid = {0}; + ZeroMemory(&sid, sizeof(sid)); + TCHAR szFile[MAX_PATH]; + sid.cbSize = sizeof(sid); + sid.flags = SIDF_ALL_TCHAR; + + sid.ptszSection = _T("Auth State"); + GetModuleFileName(g_hInst, szFile, MAX_PATH); + sid.ptszDefaultFile = szFile; + + sid.ptszDescription = _T("Auth"); + sid.pszName = "auth_icon"; + sid.iDefaultIndex = -IDI_AUTH; + CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid); + + sid.ptszDescription = _T("Grant"); + sid.pszName = "grant_icon"; + sid.iDefaultIndex = -IDI_GRANT; + CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid); + + sid.ptszDescription = _T("Auth & Grant"); + sid.pszName = "authgrant_icon"; + sid.iDefaultIndex = -IDI_AUTHGRANT; + CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid); + + // hIcoLibIconsChanged = HookEvent(ME_SKIN2_ICONSCHANGED, onExtraImageListRebuild); + } + hExtraIcon = ExtraIcon_Register("authstate", "Auth State", "authgrant_icon"); + + if (hExtraIcon != NULL) + { + // Set initial value for all contacts + HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); + while (hContact != NULL) + { + onExtraImageApplying((WPARAM)hContact, 1); + hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0); + } + } + else + { + hIcoLibIconsChanged = HookEvent(ME_SKIN2_ICONSCHANGED, onExtraImageListRebuild); + hHookExtraIconsRebuild = HookEvent(ME_CLIST_EXTRA_LIST_REBUILD, onExtraImageListRebuild); + hHookExtraIconsApply = HookEvent(ME_CLIST_EXTRA_IMAGE_APPLY, onExtraImageApplying); + onExtraImageListRebuild(0,0); + } + hOptInitialise = HookEvent(ME_OPT_INITIALISE, onOptInitialise); + if (bContactMenuItem) hPrebuildContactMenu = HookEvent(ME_CLIST_PREBUILDCONTACTMENU, onPrebuildContactMenu); + + // Updater support + if (ServiceExists(MS_UPDATE_REGISTER)) + { + Update update = {0}; + char szVersion[16]; + + update.cbSize = sizeof(Update); + + update.szComponentName = pluginInfo.shortName; + update.pbVersion = (BYTE *)CreateVersionString(pluginInfo.version, szVersion); + update.cpbVersion = lstrlenA((char *)update.pbVersion); + + update.szUpdateURL = UPDATER_AUTOREGISTER; + + // these are the three lines that matter - the archive, the page containing the version string, and the text (or data) + // before the version that we use to locate it on the page + // (note that if the update URL and the version URL point to standard file listing entries, the backend xml + // data will be used to check for updates rather than the actual web page - this is not true for beta urls) + update.szBetaUpdateURL = "http://thief.miranda.im/authstate.zip"; + update.szBetaVersionURL = "http://thief.miranda.im/updater/authstate_version.txt"; + update.szBetaChangelogURL = "http://thief.miranda.im"; + update.pbBetaVersionPrefix = (BYTE *)"AuthState "; + + update.cpbBetaVersionPrefix = lstrlenA((char *)update.pbBetaVersionPrefix); + + CallService(MS_UPDATE_REGISTER, 0, (WPARAM)&update); + } + + return 0; +} + +int onSystemOKToExit(WPARAM wParam,LPARAM lParam) +{ + UnhookEvent(hHookModulesLoaded); + UnhookEvent(hHookExtraIconsRebuild); + UnhookEvent(hHookExtraIconsApply); + UnhookEvent(hOptInitialise); + UnhookEvent(hSystemOKToExit); + UnhookEvent(hContactSettingChanged); + if (hIcoLibIconsChanged) UnhookEvent(hIcoLibIconsChanged); + if (hContactAdded) UnhookEvent(hContactAdded); + if (hPrebuildContactMenu) + { + UnhookEvent(hPrebuildContactMenu); + UnhookEvent(hUserMenu); + } + DestroyServiceFunction(hAuthMenuSelected); + + return 0; +} + +extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) +{ + pluginLink = link; + mir_getLP(&pluginInfo); + mir_getMMI(&mmi); + + hHookModulesLoaded = HookEvent(ME_SYSTEM_MODULESLOADED, onModulesLoaded); + hSystemOKToExit = HookEvent(ME_SYSTEM_OKTOEXIT,onSystemOKToExit); + hContactSettingChanged = HookEvent(ME_DB_CONTACT_SETTINGCHANGED, onContactSettingChanged); + + clistIcon = DBGetContactSettingByte(NULL, MODULENAME, "AdvancedIcon", DefaultSlot); + bUseAuthIcon = DBGetContactSettingByte(NULL, MODULENAME, "EnableAuthIcon", 1); + bUseGrantIcon = DBGetContactSettingByte(NULL, MODULENAME, "EnableGrantIcon", 1); + bContactMenuItem = DBGetContactSettingByte(NULL, MODULENAME, "MenuItem", 0); + bIconsForRecentContacts = DBGetContactSettingByte(NULL, MODULENAME, "EnableOnlyForRecent", 0); + + hContactAdded = HookEvent(ME_DB_CONTACT_ADDED, onDBContactAdded); + + if (bContactMenuItem) + { + hAuthMenuSelected = CreateServiceFunction("AuthState/MenuItem", onAuthMenuSelected); + + CLISTMENUITEM mi = {0}; + mi.cbSize = sizeof(CLISTMENUITEM); + mi.position = -1999901005; + mi.flags = CMIF_TCHAR; + mi.ptszName = _T("Enable AuthState icons"); + mi.pszService = "AuthState/MenuItem"; + hUserMenu = (HANDLE) CallService(MS_CLIST_ADDCONTACTMENUITEM, 0, (LPARAM) & mi); + } + + g_IECClear.cbSize = sizeof(IconExtraColumn); + g_IECClear.ColumnType = clistIcon; + g_IECClear.hImage = (HANDLE) -1; + + return 0; +} + +extern "C" int __declspec(dllexport) Unload(void) +{ + return 0; +} diff --git a/AuthState/options.cpp b/AuthState/options.cpp new file mode 100644 index 0000000..37dbdca --- /dev/null +++ b/AuthState/options.cpp @@ -0,0 +1,154 @@ +/* + Authorization State plugin for Miranda-IM (www.miranda-im.org) + (c) 2006-2010 by Thief + + 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 + + File name : $URL: http://svn.miranda.im/mainrepo/authstate/trunk/options.cpp $ + Revision : $Rev: 1686 $ + Last change on : $Date: 2010-10-06 08:26:58 +0200 (Ср, 06 окт 2010) $ + Last change by : $Author: ghazan $ + +*/ + +#include "commonheaders.h" + +const TCHAR* szAdvancedIcons[] = {_T("Email"), _T("Protocol"), _T("SMS"), _T("Advanced 1"), _T("Advanced 2"), _T("Web"), _T("Client"), _T("Advanced 3"), _T("Advanced 4"), _T("Advanced 5")}; +const INT cAdvancedIcons = sizeof(szAdvancedIcons) / sizeof(szAdvancedIcons[0]); + +INT_PTR CALLBACK DlgProcOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + static int bInitializing = 0; + switch (msg) + { + case WM_INITDIALOG: + { + TranslateDialogDefault(hwndDlg); + bInitializing = 1; + if (hExtraIcon==NULL) + { + for (int i = 0; i < cAdvancedIcons; i++) + { + SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_ADDSTRING, 0, (LPARAM) TranslateTS(szAdvancedIcons[i])); + } + SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_SETCURSEL, clistIcon-1, 0); + } + else + { + SendDlgItemMessage(hwndDlg,IDC_NOTICE, WM_SETTEXT,0,(LPARAM)TranslateT("Extraicons plugin is used, use Contact list > Extraicons for customize.")); + ShowWindow(GetDlgItem(hwndDlg, IDC_NOTICE), SW_SHOW); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVICON), 0); + } + + CheckDlgButton(hwndDlg, IDC_AUTHICON, bUseAuthIcon ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_GRANTICON, bUseGrantIcon ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_ENABLEMENUITEM, bContactMenuItem ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_ICONSFORRECENT, bIconsForRecentContacts ? BST_CHECKED : BST_UNCHECKED); + + bInitializing = 0; + return TRUE; + } + + case WM_COMMAND: + { + switch (LOWORD(wParam)) + { + case IDC_AUTHICON: + case IDC_GRANTICON: + case IDC_ENABLEMENUITEM: + case IDC_ICONSFORRECENT: + { + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + } + case IDC_ADVICON: + { + if ((HIWORD(wParam) == EN_CHANGE) && (!bInitializing) || (HIWORD(wParam) == CBN_SELENDOK)) + { + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + } + break; + } + } + break; + } + + case WM_NOTIFY: + { + if (((LPNMHDR)lParam)->idFrom == 0) + switch (((LPNMHDR)lParam)->code) + { + case PSN_APPLY: + { + bUseAuthIcon = IsDlgButtonChecked(hwndDlg, IDC_AUTHICON); + bUseGrantIcon = IsDlgButtonChecked(hwndDlg, IDC_GRANTICON); + bContactMenuItem = IsDlgButtonChecked(hwndDlg, IDC_ENABLEMENUITEM); + bIconsForRecentContacts = IsDlgButtonChecked(hwndDlg, IDC_ICONSFORRECENT); + + clistIcon = SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_GETCURSEL, 0, 0); + clistIcon++; + + HANDLE hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); + while (hContact) + { + CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM)hContact, (LPARAM)&g_IECClear); + hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0); + } + + g_IECClear.ColumnType = clistIcon; + onExtraImageListRebuild(0,0); + + hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); + while (hContact) + { + onExtraImageApplying((WPARAM)hContact,0); + hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0); + } + + //Store options values to DB + DBWriteContactSettingByte(NULL, MODULENAME, "AdvancedIcon", clistIcon); + DBWriteContactSettingByte(NULL, MODULENAME, "EnableAuthIcon", bUseAuthIcon); + DBWriteContactSettingByte(NULL, MODULENAME, "EnableGrantIcon", bUseGrantIcon); + DBWriteContactSettingByte(NULL, MODULENAME, "MenuItem", bContactMenuItem); + DBWriteContactSettingByte(NULL, MODULENAME, "EnableOnlyForRecent", bIconsForRecentContacts); + } + return TRUE; + } + } + + case WM_DESTROY: + break; + + } + return FALSE; +} + +int onOptInitialise(WPARAM wParam, LPARAM lParam) +{ + OPTIONSDIALOGPAGE odp; + + ZeroMemory(&odp, sizeof(odp)); + odp.cbSize = sizeof(odp); + odp.position = 0; + odp.hInstance = g_hInst; + odp.ptszGroup = _T("Contact List"); + odp.pszTemplate = MAKEINTRESOURCEA(IDD_AUTHSTATE_OPT); + odp.ptszTitle = _T("Auth State"); + odp.pfnDlgProc = DlgProcOptions; + odp.flags = ODPF_BOLDGROUPS | ODPF_TCHAR; + CallService(MS_OPT_ADDPAGE, wParam, (LPARAM) &odp); + + return 0; +} diff --git a/AuthState/resource.h b/AuthState/resource.h new file mode 100644 index 0000000..49c8f2f --- /dev/null +++ b/AuthState/resource.h @@ -0,0 +1,25 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by authstate.rc +// +#define IDI_AUTH 101 +#define IDI_GRANT 102 +#define IDI_AUTHGRANT 103 +#define IDD_AUTHSTATE_OPT 103 +#define IDC_ADVICON 1001 +#define IDC_AUTHICON 1002 +#define IDC_GRANTICON 1003 +#define IDC_ENABLEMENUITEM 1005 +#define IDC_ICONSFORRECENT 1006 +#define IDC_NOTICE 1009 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 104 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1010 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/AuthState/version.h b/AuthState/version.h new file mode 100644 index 0000000..7894532 --- /dev/null +++ b/AuthState/version.h @@ -0,0 +1,28 @@ +#define __MAJOR_VERSION 0 +#define __MINOR_VERSION 0 +#define __RELEASE_NUM 2 +#define __BUILD_NUM 0 + +#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM +#define __FILEVERSION_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM + +#define __STRINGIFY_IMPL(x) #x +#define __STRINGIFY(x) __STRINGIFY_IMPL(x) +#define __VERSION_STRING __STRINGIFY(__FILEVERSION_DOTS) + +#ifdef _UNICODE +#if defined(WIN64) || defined(_WIN64) + #define __PLUGIN_NAME "Authorization State (Unicode x64)" +#else + #define __PLUGIN_NAME "Authorization State (Unicode)" +#endif +#else + #define __PLUGIN_NAME "Authorization State" +#endif +#define __INTERNAL_NAME "AuthState" +#define __FILENAME "AuthState.dll" +#define __DESCRIPTION "If contact didn't authorized you this plugin puts an icon in front of contacts name." +#define __AUTHOR "Thief, idea by snwbrdr" +#define __AUTHOREMAIL "thief@miranda.im" +#define __AUTHORWEB "http://thief.miranda.im/" +#define __COPYRIGHT "© 2006-2010 Alexander Turyak" diff --git a/AuthState/version.rc b/AuthState/version.rc new file mode 100644 index 0000000..2b1aaa9 --- /dev/null +++ b/AuthState/version.rc @@ -0,0 +1,40 @@ +// Microsoft Visual C++ generated resource script. +// +#include "afxres.h" +#include "version.h" + +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#endif //_WIN32 + +VS_VERSION_INFO VERSIONINFO + FILEVERSION __FILEVERSION_STRING + PRODUCTVERSION __FILEVERSION_STRING + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x0L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "FileDescription", __DESCRIPTION + VALUE "FileVersion", __FILEVERSION_DOTS + VALUE "InternalName", __PLUGIN_NAME + VALUE "LegalCopyright", __COPYRIGHT + VALUE "OriginalFilename", __FILENAME + VALUE "ProductName", __PLUGIN_NAME + VALUE "ProductVersion", __FILEVERSION_DOTS + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END -- cgit v1.2.3