From e738acea4b31fc29114a408b83b65ecd303a6f74 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Thu, 25 Dec 2014 18:53:33 +0000 Subject: files structure changed git-svn-id: http://svn.miranda-ng.org/main/trunk@11633 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/core/stdhelp/about.cpp | 130 ---------------------------- src/core/stdhelp/commonheaders.cpp | 2 - src/core/stdhelp/commonheaders.h | 78 ----------------- src/core/stdhelp/help.cpp | 103 ---------------------- src/core/stdhelp/main.cpp | 71 --------------- src/core/stdhelp/res/resource.rc | 95 ++++++++++++++++++++ src/core/stdhelp/res/version.rc | 38 ++++++++ src/core/stdhelp/resource.rc | 95 -------------------- src/core/stdhelp/src/about.cpp | 130 ++++++++++++++++++++++++++++ src/core/stdhelp/src/commonheaders.cpp | 2 + src/core/stdhelp/src/commonheaders.h | 78 +++++++++++++++++ src/core/stdhelp/src/help.cpp | 103 ++++++++++++++++++++++ src/core/stdhelp/src/main.cpp | 71 +++++++++++++++ src/core/stdhelp/src/version.h | 12 +++ src/core/stdhelp/stdhelp_10.vcxproj | 20 ++--- src/core/stdhelp/stdhelp_10.vcxproj.filters | 17 ++-- src/core/stdhelp/stdhelp_12.vcxproj | 20 ++--- src/core/stdhelp/stdhelp_12.vcxproj.filters | 17 ++-- src/core/stdhelp/version.h | 14 --- src/core/stdhelp/version.rc | 42 --------- 20 files changed, 567 insertions(+), 571 deletions(-) delete mode 100644 src/core/stdhelp/about.cpp delete mode 100644 src/core/stdhelp/commonheaders.cpp delete mode 100644 src/core/stdhelp/commonheaders.h delete mode 100644 src/core/stdhelp/help.cpp delete mode 100644 src/core/stdhelp/main.cpp create mode 100644 src/core/stdhelp/res/resource.rc create mode 100644 src/core/stdhelp/res/version.rc delete mode 100644 src/core/stdhelp/resource.rc create mode 100644 src/core/stdhelp/src/about.cpp create mode 100644 src/core/stdhelp/src/commonheaders.cpp create mode 100644 src/core/stdhelp/src/commonheaders.h create mode 100644 src/core/stdhelp/src/help.cpp create mode 100644 src/core/stdhelp/src/main.cpp create mode 100644 src/core/stdhelp/src/version.h delete mode 100644 src/core/stdhelp/version.h delete mode 100644 src/core/stdhelp/version.rc (limited to 'src') diff --git a/src/core/stdhelp/about.cpp b/src/core/stdhelp/about.cpp deleted file mode 100644 index ba33896248..0000000000 --- a/src/core/stdhelp/about.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - -Miranda NG: the free IM client for Microsoft* Windows* - -Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), -Copyright (c) 2000-12 Miranda IM project, -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. -*/ - -#include "commonheaders.h" - -#define STR_VERSION_FORMAT _T("Miranda NG\nv%S") - -INT_PTR CALLBACK DlgProcAbout(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) -{ - static int iState = 0; - switch (msg) { - case WM_INITDIALOG: - TranslateDialogDefault(hwndDlg); - { TCHAR filename[MAX_PATH], *productCopyright; - DWORD unused; - DWORD verInfoSize; - UINT blockSize; - PVOID pVerInfo; - - GetModuleFileName(NULL, filename, SIZEOF(filename)); - verInfoSize = GetFileVersionInfoSize(filename, &unused); - pVerInfo = mir_alloc(verInfoSize); - GetFileVersionInfo(filename, 0, verInfoSize, pVerInfo); - VerQueryValue(pVerInfo, _T("\\StringFileInfo\\000004b0\\LegalCopyright"), (LPVOID*)&productCopyright, &blockSize); - SetDlgItemText(hwndDlg, IDC_DEVS, productCopyright); - mir_free(pVerInfo); - } - { - char productVersion[56]; - CallService(MS_SYSTEM_GETVERSIONTEXT, SIZEOF(productVersion), (LPARAM)productVersion); - - TCHAR str[64]; - mir_sntprintf(str, SIZEOF(str), STR_VERSION_FORMAT, productVersion); - SetDlgItemText(hwndDlg, IDC_HEADERBAR, str); - } - ShowWindow(GetDlgItem(hwndDlg, IDC_CREDITSFILE), SW_HIDE); - { - HRSRC hResInfo = FindResource(hInst, MAKEINTRESOURCE(IDR_CREDITS), _T("TEXT")); - DWORD ResSize = SizeofResource(hInst, hResInfo); - HGLOBAL hRes = LoadResource(hInst, hResInfo); - char* pszMsg = (char*)LockResource(hRes); - if (pszMsg) - { - char* pszMsgt = (char*)alloca(ResSize + 1); - memcpy(pszMsgt, pszMsg, ResSize); pszMsgt[ResSize] = 0; - - TCHAR *ptszMsg; - if (ResSize >=3 && pszMsgt[0] == '\xef' && pszMsgt[1] == '\xbb' && pszMsgt[2] == '\xbf') - ptszMsg = Utf8DecodeT(pszMsgt + 3); - else - ptszMsg = mir_a2t_cp(pszMsgt, 1252); - - SetDlgItemText(hwndDlg, IDC_CREDITSFILE, ptszMsg); - UnlockResource(pszMsg); - mir_free(ptszMsg); - } - FreeResource(hRes); - } - Window_SetIcon_IcoLib(hwndDlg, SKINICON_OTHER_MIRANDA); - return TRUE; - - case WM_COMMAND: - switch(LOWORD(wParam)) { - case IDOK: - case IDCANCEL: - DestroyWindow(hwndDlg); - return TRUE; - case IDC_CONTRIBLINK: - if (iState) { - iState = 0; - SetDlgItemText(hwndDlg, IDC_CONTRIBLINK, TranslateT("Credits >")); - ShowWindow(GetDlgItem(hwndDlg, IDC_DEVS), SW_SHOW); - ShowWindow(GetDlgItem(hwndDlg, IDC_CREDITSFILE), SW_HIDE); - } - else { - iState = 1; - SetDlgItemText(hwndDlg, IDC_CONTRIBLINK, TranslateT("< Copyright")); - ShowWindow(GetDlgItem(hwndDlg, IDC_DEVS), SW_HIDE); - ShowWindow(GetDlgItem(hwndDlg, IDC_CREDITSFILE), SW_SHOW); - } - break; - } - break; - - case WM_CTLCOLOREDIT: - case WM_CTLCOLORSTATIC: - switch (GetWindowLongPtr((HWND)lParam, GWL_ID)) { - case IDC_WHITERECT: - case IDC_CREDITSFILE: - case IDC_DEVS: - SetTextColor((HDC)wParam, GetSysColor(COLOR_WINDOWTEXT)); - break; - default: - return FALSE; - } - SetBkColor((HDC)wParam, GetSysColor(COLOR_WINDOW)); - return (INT_PTR)GetSysColorBrush(COLOR_WINDOW); - - case WM_DESTROY: - Window_FreeIcon_IcoLib(hwndDlg); - { - HFONT hFont = (HFONT)SendDlgItemMessage(hwndDlg, IDC_VERSION, WM_GETFONT, 0, 0); - SendDlgItemMessage(hwndDlg, IDC_VERSION, WM_SETFONT, SendDlgItemMessage(hwndDlg, IDOK, WM_GETFONT, 0, 0), 0); - DeleteObject(hFont); - } - break; - } - return FALSE; -} diff --git a/src/core/stdhelp/commonheaders.cpp b/src/core/stdhelp/commonheaders.cpp deleted file mode 100644 index 95b2201163..0000000000 --- a/src/core/stdhelp/commonheaders.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include "commonheaders.h" - diff --git a/src/core/stdhelp/commonheaders.h b/src/core/stdhelp/commonheaders.h deleted file mode 100644 index 9caed79e40..0000000000 --- a/src/core/stdhelp/commonheaders.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - -Miranda NG: the free IM client for Microsoft* Windows* - -Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), -Copyright (c) 2000-12 Miranda IM project, -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. -*/ - -#define WINVER 0x0700 -#define _WIN32_WINNT 0x0700 -#define _WIN32_IE 0x0601 - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "version.h" - -#include "../../resource.h" -#include "../stdplug.h" - -extern HINSTANCE hInst; - -#pragma comment(lib, "version.lib") diff --git a/src/core/stdhelp/help.cpp b/src/core/stdhelp/help.cpp deleted file mode 100644 index 7f7f449ae0..0000000000 --- a/src/core/stdhelp/help.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - -Miranda NG: the free IM client for Microsoft* Windows* - -Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), -Copyright (c) 2000-12 Miranda IM project, -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. -*/ - -#include "commonheaders.h" - -INT_PTR CALLBACK DlgProcAbout(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - -HWND hAboutDlg = NULL; - -static INT_PTR AboutCommand(WPARAM wParam, LPARAM) -{ - if (IsWindow(hAboutDlg)) { - SetForegroundWindow(hAboutDlg); - SetFocus(hAboutDlg); - return 0; - } - hAboutDlg = CreateDialog(hInst, MAKEINTRESOURCE(IDD_ABOUT), (HWND)wParam, DlgProcAbout); - return 0; -} - -static INT_PTR IndexCommand(WPARAM, LPARAM) -{ - CallService(MS_UTILS_OPENURL, OUF_NEWWINDOW | OUF_TCHAR, (LPARAM)_T("http://wiki.miranda-ng.org")); - return 0; -} - -static INT_PTR WebsiteCommand(WPARAM, LPARAM) -{ - CallService(MS_UTILS_OPENURL, OUF_NEWWINDOW | OUF_TCHAR, (LPARAM)_T("http://miranda-ng.org")); - return 0; -} - -static INT_PTR BugCommand(WPARAM, LPARAM) -{ - CallService(MS_UTILS_OPENURL, OUF_NEWWINDOW | OUF_TCHAR, (LPARAM)_T("http://trac.miranda-ng.org/newticket")); - return 0; -} - -int ShutdownHelpModule(WPARAM, LPARAM) -{ - if (IsWindow(hAboutDlg)) DestroyWindow(hAboutDlg); - hAboutDlg = NULL; - return 0; -} - -int LoadHelpModule(void) -{ - HookEvent(ME_SYSTEM_PRESHUTDOWN, ShutdownHelpModule); - - CreateServiceFunction("Help/AboutCommand", AboutCommand); - CreateServiceFunction("Help/IndexCommand", IndexCommand); - CreateServiceFunction("Help/WebsiteCommand", WebsiteCommand); - CreateServiceFunction("Help/BugCommand", BugCommand); - - CLISTMENUITEM mi = { sizeof(mi) }; - mi.icolibItem = GetSkinIconHandle(SKINICON_OTHER_MIRANDA); - mi.pszPopupName = LPGEN("&Help"); - mi.popupPosition = 2000090000; - mi.position = 2000090000; - mi.pszName = LPGEN("&About..."); - mi.pszService = "Help/AboutCommand"; - Menu_AddMainMenuItem(&mi); - - mi.icolibItem = GetSkinIconHandle(SKINICON_OTHER_HELP); - mi.position = -500050000; - mi.pszName = LPGEN("&Support"); - mi.pszService = "Help/IndexCommand"; - Menu_AddMainMenuItem(&mi); - - mi.icolibItem = GetSkinIconHandle(SKINICON_OTHER_MIRANDAWEB); - mi.position = 2000050000; - mi.pszName = LPGEN("&Miranda NG homepage"); - mi.pszService = "Help/WebsiteCommand"; - Menu_AddMainMenuItem(&mi); - - mi.icolibItem = GetSkinIconHandle(SKINICON_EVENT_URL); - mi.position = 2000040000; - mi.pszName = LPGEN("&Report bug"); - mi.pszService = "Help/BugCommand"; - Menu_AddMainMenuItem(&mi); - return 0; -} diff --git a/src/core/stdhelp/main.cpp b/src/core/stdhelp/main.cpp deleted file mode 100644 index ef2d77f8fa..0000000000 --- a/src/core/stdhelp/main.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* - -Standard Help/About plugin for Miranda NG - -Copyright (C) 2012-14 George Hazan - -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., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "commonheaders.h" - -int LoadHelpModule(void); - -CLIST_INTERFACE* pcli; -TIME_API tmi; -HINSTANCE hInst; -int hLangpack; - -PLUGININFOEX pluginInfo = { - sizeof(PLUGININFOEX), - __PLUGIN_NAME, - MIRANDA_VERSION_DWORD, - __DESCRIPTION, - __AUTHOR, - __AUTHOREMAIL, - __COPYRIGHT, - __AUTHORWEB, - UNICODE_AWARE, - // 1e64fd80-299e-48a0-9441-de2868563b6f - { 0x1e64fd80, 0x299e, 0x48a0, {0x94, 0x41, 0xde, 0x28, 0x68, 0x56, 0x3b, 0x6f}} -}; - -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) -{ - hInst = hinstDLL; - return TRUE; -} - -extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) -{ - return &pluginInfo; -} - -extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_UIHELP, MIID_LAST }; - -extern "C" int __declspec(dllexport) Load(void) -{ - mir_getLP(&pluginInfo); - mir_getTMI(&tmi); - mir_getCLI(); - - LoadHelpModule(); - return 0; -} - -extern "C" int __declspec(dllexport) Unload(void) -{ - return 0; -} diff --git a/src/core/stdhelp/res/resource.rc b/src/core/stdhelp/res/resource.rc new file mode 100644 index 0000000000..98a5334dca --- /dev/null +++ b/src/core/stdhelp/res/resource.rc @@ -0,0 +1,95 @@ +// Microsoft Visual C++ generated resource script. +// +#include "..\..\resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include +#include + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_ABOUT DIALOGEX 0, 0, 212, 131 +STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +CAPTION "About Miranda NG" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "",IDC_HEADERBAR,"MHeaderbarCtrl",WS_TABSTOP,0,0,212,25 + LTEXT "",IDC_WHITERECT,0,25,213,81 + DEFPUSHBUTTON "OK",IDOK,152,112,55,14 + CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,106,213,1 + LTEXT "",IDC_DEVS,5,32,202,42 + PUSHBUTTON "Credits >",IDC_CONTRIBLINK,5,112,55,14 + EDITTEXT IDC_CREDITSFILE,4,32,202,67,ES_CENTER | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL +END + +///////////////////////////////////////////////////////////////////////////// +// +// TEXT +// + +IDR_CREDITS TEXT "../../docs/contributors.txt" + +#endif // APSTUDIO_INVOKED + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_ABOUT, DIALOG + BEGIN + LEFTMARGIN, 5 + RIGHTMARGIN, 207 + TOPMARGIN, 7 + BOTTOMMARGIN, 126 + END +END +#endif // APSTUDIO_INVOKED + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "..\..\resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include \r\n" + "#include \r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED diff --git a/src/core/stdhelp/res/version.rc b/src/core/stdhelp/res/version.rc new file mode 100644 index 0000000000..5bfbab4754 --- /dev/null +++ b/src/core/stdhelp/res/version.rc @@ -0,0 +1,38 @@ +// Microsoft Visual C++ generated resource script. +// +#ifdef APSTUDIO_INVOKED +#error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + +#include "afxres.h" +#include "..\src\version.h" + +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 "InternalName", __PLUGIN_NAME + VALUE "LegalCopyright", __COPYRIGHT + VALUE "OriginalFilename", __FILENAME + VALUE "ProductName", __PLUGIN_NAME + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END diff --git a/src/core/stdhelp/resource.rc b/src/core/stdhelp/resource.rc deleted file mode 100644 index 98a5334dca..0000000000 --- a/src/core/stdhelp/resource.rc +++ /dev/null @@ -1,95 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "..\..\resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include -#include - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_ABOUT DIALOGEX 0, 0, 212, 131 -STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -CAPTION "About Miranda NG" -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - CONTROL "",IDC_HEADERBAR,"MHeaderbarCtrl",WS_TABSTOP,0,0,212,25 - LTEXT "",IDC_WHITERECT,0,25,213,81 - DEFPUSHBUTTON "OK",IDOK,152,112,55,14 - CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,106,213,1 - LTEXT "",IDC_DEVS,5,32,202,42 - PUSHBUTTON "Credits >",IDC_CONTRIBLINK,5,112,55,14 - EDITTEXT IDC_CREDITSFILE,4,32,202,67,ES_CENTER | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL -END - -///////////////////////////////////////////////////////////////////////////// -// -// TEXT -// - -IDR_CREDITS TEXT "../../docs/contributors.txt" - -#endif // APSTUDIO_INVOKED - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_ABOUT, DIALOG - BEGIN - LEFTMARGIN, 5 - RIGHTMARGIN, 207 - TOPMARGIN, 7 - BOTTOMMARGIN, 126 - END -END -#endif // APSTUDIO_INVOKED - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "..\..\resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include \r\n" - "#include \r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED diff --git a/src/core/stdhelp/src/about.cpp b/src/core/stdhelp/src/about.cpp new file mode 100644 index 0000000000..ba33896248 --- /dev/null +++ b/src/core/stdhelp/src/about.cpp @@ -0,0 +1,130 @@ +/* + +Miranda NG: the free IM client for Microsoft* Windows* + +Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), +Copyright (c) 2000-12 Miranda IM project, +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. +*/ + +#include "commonheaders.h" + +#define STR_VERSION_FORMAT _T("Miranda NG\nv%S") + +INT_PTR CALLBACK DlgProcAbout(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + static int iState = 0; + switch (msg) { + case WM_INITDIALOG: + TranslateDialogDefault(hwndDlg); + { TCHAR filename[MAX_PATH], *productCopyright; + DWORD unused; + DWORD verInfoSize; + UINT blockSize; + PVOID pVerInfo; + + GetModuleFileName(NULL, filename, SIZEOF(filename)); + verInfoSize = GetFileVersionInfoSize(filename, &unused); + pVerInfo = mir_alloc(verInfoSize); + GetFileVersionInfo(filename, 0, verInfoSize, pVerInfo); + VerQueryValue(pVerInfo, _T("\\StringFileInfo\\000004b0\\LegalCopyright"), (LPVOID*)&productCopyright, &blockSize); + SetDlgItemText(hwndDlg, IDC_DEVS, productCopyright); + mir_free(pVerInfo); + } + { + char productVersion[56]; + CallService(MS_SYSTEM_GETVERSIONTEXT, SIZEOF(productVersion), (LPARAM)productVersion); + + TCHAR str[64]; + mir_sntprintf(str, SIZEOF(str), STR_VERSION_FORMAT, productVersion); + SetDlgItemText(hwndDlg, IDC_HEADERBAR, str); + } + ShowWindow(GetDlgItem(hwndDlg, IDC_CREDITSFILE), SW_HIDE); + { + HRSRC hResInfo = FindResource(hInst, MAKEINTRESOURCE(IDR_CREDITS), _T("TEXT")); + DWORD ResSize = SizeofResource(hInst, hResInfo); + HGLOBAL hRes = LoadResource(hInst, hResInfo); + char* pszMsg = (char*)LockResource(hRes); + if (pszMsg) + { + char* pszMsgt = (char*)alloca(ResSize + 1); + memcpy(pszMsgt, pszMsg, ResSize); pszMsgt[ResSize] = 0; + + TCHAR *ptszMsg; + if (ResSize >=3 && pszMsgt[0] == '\xef' && pszMsgt[1] == '\xbb' && pszMsgt[2] == '\xbf') + ptszMsg = Utf8DecodeT(pszMsgt + 3); + else + ptszMsg = mir_a2t_cp(pszMsgt, 1252); + + SetDlgItemText(hwndDlg, IDC_CREDITSFILE, ptszMsg); + UnlockResource(pszMsg); + mir_free(ptszMsg); + } + FreeResource(hRes); + } + Window_SetIcon_IcoLib(hwndDlg, SKINICON_OTHER_MIRANDA); + return TRUE; + + case WM_COMMAND: + switch(LOWORD(wParam)) { + case IDOK: + case IDCANCEL: + DestroyWindow(hwndDlg); + return TRUE; + case IDC_CONTRIBLINK: + if (iState) { + iState = 0; + SetDlgItemText(hwndDlg, IDC_CONTRIBLINK, TranslateT("Credits >")); + ShowWindow(GetDlgItem(hwndDlg, IDC_DEVS), SW_SHOW); + ShowWindow(GetDlgItem(hwndDlg, IDC_CREDITSFILE), SW_HIDE); + } + else { + iState = 1; + SetDlgItemText(hwndDlg, IDC_CONTRIBLINK, TranslateT("< Copyright")); + ShowWindow(GetDlgItem(hwndDlg, IDC_DEVS), SW_HIDE); + ShowWindow(GetDlgItem(hwndDlg, IDC_CREDITSFILE), SW_SHOW); + } + break; + } + break; + + case WM_CTLCOLOREDIT: + case WM_CTLCOLORSTATIC: + switch (GetWindowLongPtr((HWND)lParam, GWL_ID)) { + case IDC_WHITERECT: + case IDC_CREDITSFILE: + case IDC_DEVS: + SetTextColor((HDC)wParam, GetSysColor(COLOR_WINDOWTEXT)); + break; + default: + return FALSE; + } + SetBkColor((HDC)wParam, GetSysColor(COLOR_WINDOW)); + return (INT_PTR)GetSysColorBrush(COLOR_WINDOW); + + case WM_DESTROY: + Window_FreeIcon_IcoLib(hwndDlg); + { + HFONT hFont = (HFONT)SendDlgItemMessage(hwndDlg, IDC_VERSION, WM_GETFONT, 0, 0); + SendDlgItemMessage(hwndDlg, IDC_VERSION, WM_SETFONT, SendDlgItemMessage(hwndDlg, IDOK, WM_GETFONT, 0, 0), 0); + DeleteObject(hFont); + } + break; + } + return FALSE; +} diff --git a/src/core/stdhelp/src/commonheaders.cpp b/src/core/stdhelp/src/commonheaders.cpp new file mode 100644 index 0000000000..95b2201163 --- /dev/null +++ b/src/core/stdhelp/src/commonheaders.cpp @@ -0,0 +1,2 @@ +#include "commonheaders.h" + diff --git a/src/core/stdhelp/src/commonheaders.h b/src/core/stdhelp/src/commonheaders.h new file mode 100644 index 0000000000..9caed79e40 --- /dev/null +++ b/src/core/stdhelp/src/commonheaders.h @@ -0,0 +1,78 @@ +/* + +Miranda NG: the free IM client for Microsoft* Windows* + +Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), +Copyright (c) 2000-12 Miranda IM project, +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. +*/ + +#define WINVER 0x0700 +#define _WIN32_WINNT 0x0700 +#define _WIN32_IE 0x0601 + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "version.h" + +#include "../../resource.h" +#include "../stdplug.h" + +extern HINSTANCE hInst; + +#pragma comment(lib, "version.lib") diff --git a/src/core/stdhelp/src/help.cpp b/src/core/stdhelp/src/help.cpp new file mode 100644 index 0000000000..7f7f449ae0 --- /dev/null +++ b/src/core/stdhelp/src/help.cpp @@ -0,0 +1,103 @@ +/* + +Miranda NG: the free IM client for Microsoft* Windows* + +Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), +Copyright (c) 2000-12 Miranda IM project, +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. +*/ + +#include "commonheaders.h" + +INT_PTR CALLBACK DlgProcAbout(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); + +HWND hAboutDlg = NULL; + +static INT_PTR AboutCommand(WPARAM wParam, LPARAM) +{ + if (IsWindow(hAboutDlg)) { + SetForegroundWindow(hAboutDlg); + SetFocus(hAboutDlg); + return 0; + } + hAboutDlg = CreateDialog(hInst, MAKEINTRESOURCE(IDD_ABOUT), (HWND)wParam, DlgProcAbout); + return 0; +} + +static INT_PTR IndexCommand(WPARAM, LPARAM) +{ + CallService(MS_UTILS_OPENURL, OUF_NEWWINDOW | OUF_TCHAR, (LPARAM)_T("http://wiki.miranda-ng.org")); + return 0; +} + +static INT_PTR WebsiteCommand(WPARAM, LPARAM) +{ + CallService(MS_UTILS_OPENURL, OUF_NEWWINDOW | OUF_TCHAR, (LPARAM)_T("http://miranda-ng.org")); + return 0; +} + +static INT_PTR BugCommand(WPARAM, LPARAM) +{ + CallService(MS_UTILS_OPENURL, OUF_NEWWINDOW | OUF_TCHAR, (LPARAM)_T("http://trac.miranda-ng.org/newticket")); + return 0; +} + +int ShutdownHelpModule(WPARAM, LPARAM) +{ + if (IsWindow(hAboutDlg)) DestroyWindow(hAboutDlg); + hAboutDlg = NULL; + return 0; +} + +int LoadHelpModule(void) +{ + HookEvent(ME_SYSTEM_PRESHUTDOWN, ShutdownHelpModule); + + CreateServiceFunction("Help/AboutCommand", AboutCommand); + CreateServiceFunction("Help/IndexCommand", IndexCommand); + CreateServiceFunction("Help/WebsiteCommand", WebsiteCommand); + CreateServiceFunction("Help/BugCommand", BugCommand); + + CLISTMENUITEM mi = { sizeof(mi) }; + mi.icolibItem = GetSkinIconHandle(SKINICON_OTHER_MIRANDA); + mi.pszPopupName = LPGEN("&Help"); + mi.popupPosition = 2000090000; + mi.position = 2000090000; + mi.pszName = LPGEN("&About..."); + mi.pszService = "Help/AboutCommand"; + Menu_AddMainMenuItem(&mi); + + mi.icolibItem = GetSkinIconHandle(SKINICON_OTHER_HELP); + mi.position = -500050000; + mi.pszName = LPGEN("&Support"); + mi.pszService = "Help/IndexCommand"; + Menu_AddMainMenuItem(&mi); + + mi.icolibItem = GetSkinIconHandle(SKINICON_OTHER_MIRANDAWEB); + mi.position = 2000050000; + mi.pszName = LPGEN("&Miranda NG homepage"); + mi.pszService = "Help/WebsiteCommand"; + Menu_AddMainMenuItem(&mi); + + mi.icolibItem = GetSkinIconHandle(SKINICON_EVENT_URL); + mi.position = 2000040000; + mi.pszName = LPGEN("&Report bug"); + mi.pszService = "Help/BugCommand"; + Menu_AddMainMenuItem(&mi); + return 0; +} diff --git a/src/core/stdhelp/src/main.cpp b/src/core/stdhelp/src/main.cpp new file mode 100644 index 0000000000..ef2d77f8fa --- /dev/null +++ b/src/core/stdhelp/src/main.cpp @@ -0,0 +1,71 @@ +/* + +Standard Help/About plugin for Miranda NG + +Copyright (C) 2012-14 George Hazan + +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., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include "commonheaders.h" + +int LoadHelpModule(void); + +CLIST_INTERFACE* pcli; +TIME_API tmi; +HINSTANCE hInst; +int hLangpack; + +PLUGININFOEX pluginInfo = { + sizeof(PLUGININFOEX), + __PLUGIN_NAME, + MIRANDA_VERSION_DWORD, + __DESCRIPTION, + __AUTHOR, + __AUTHOREMAIL, + __COPYRIGHT, + __AUTHORWEB, + UNICODE_AWARE, + // 1e64fd80-299e-48a0-9441-de2868563b6f + { 0x1e64fd80, 0x299e, 0x48a0, {0x94, 0x41, 0xde, 0x28, 0x68, 0x56, 0x3b, 0x6f}} +}; + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + hInst = hinstDLL; + return TRUE; +} + +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + return &pluginInfo; +} + +extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_UIHELP, MIID_LAST }; + +extern "C" int __declspec(dllexport) Load(void) +{ + mir_getLP(&pluginInfo); + mir_getTMI(&tmi); + mir_getCLI(); + + LoadHelpModule(); + return 0; +} + +extern "C" int __declspec(dllexport) Unload(void) +{ + return 0; +} diff --git a/src/core/stdhelp/src/version.h b/src/core/stdhelp/src/version.h new file mode 100644 index 0000000000..64147ae010 --- /dev/null +++ b/src/core/stdhelp/src/version.h @@ -0,0 +1,12 @@ +#include + +#define __FILEVERSION_STRING MIRANDA_VERSION_FILEVERSION +#define __VERSION_STRING MIRANDA_VERSION_STRING + +#define __PLUGIN_NAME "Standard Help module" +#define __FILENAME "stdhelp.dll" +#define __DESCRIPTION "Core module for the Help/About dialog." +#define __AUTHOR "Miranda NG Development Team" +#define __AUTHOREMAIL "" +#define __AUTHORWEB "http://miranda-ng.org/p/StdHelp/" +#define __COPYRIGHT "© 2012 Miranda NG Development Team" diff --git a/src/core/stdhelp/stdhelp_10.vcxproj b/src/core/stdhelp/stdhelp_10.vcxproj index 60c7b0cebe..ac4df7abec 100644 --- a/src/core/stdhelp/stdhelp_10.vcxproj +++ b/src/core/stdhelp/stdhelp_10.vcxproj @@ -199,23 +199,21 @@ - - - Create - Create - Create - Create + + + Create - - + + - + + - - + + diff --git a/src/core/stdhelp/stdhelp_10.vcxproj.filters b/src/core/stdhelp/stdhelp_10.vcxproj.filters index 476d1343f6..d783a2d94c 100644 --- a/src/core/stdhelp/stdhelp_10.vcxproj.filters +++ b/src/core/stdhelp/stdhelp_10.vcxproj.filters @@ -15,32 +15,35 @@ - + Source Files - + Source Files - + Source Files - + Source Files - + Header Files Header Files + + Header Files + - + Resource Files - + Resource Files diff --git a/src/core/stdhelp/stdhelp_12.vcxproj b/src/core/stdhelp/stdhelp_12.vcxproj index 958952672d..67af883c0b 100644 --- a/src/core/stdhelp/stdhelp_12.vcxproj +++ b/src/core/stdhelp/stdhelp_12.vcxproj @@ -202,23 +202,21 @@ - - - Create - Create - Create - Create + + + Create - - + + - + + - - + + diff --git a/src/core/stdhelp/stdhelp_12.vcxproj.filters b/src/core/stdhelp/stdhelp_12.vcxproj.filters index 476d1343f6..d783a2d94c 100644 --- a/src/core/stdhelp/stdhelp_12.vcxproj.filters +++ b/src/core/stdhelp/stdhelp_12.vcxproj.filters @@ -15,32 +15,35 @@ - + Source Files - + Source Files - + Source Files - + Source Files - + Header Files Header Files + + Header Files + - + Resource Files - + Resource Files diff --git a/src/core/stdhelp/version.h b/src/core/stdhelp/version.h deleted file mode 100644 index b12b77e56e..0000000000 --- a/src/core/stdhelp/version.h +++ /dev/null @@ -1,14 +0,0 @@ - -#include - -#define __FILEVERSION_STRING MIRANDA_VERSION_FILEVERSION -#define __VERSION_STRING MIRANDA_VERSION_STRING - -#define __PLUGIN_NAME "Standard Help module" -#define __INTERNAL_NAME "stdhelp" -#define __FILENAME "stdhelp.dll" -#define __DESCRIPTION "Core module for the Help/About dialog." -#define __AUTHOR "Miranda NG Development Team" -#define __AUTHOREMAIL "" -#define __AUTHORWEB "http://miranda-ng.org/p/StdHelp/" -#define __COPYRIGHT "© 2012 Miranda NG Development Team" diff --git a/src/core/stdhelp/version.rc b/src/core/stdhelp/version.rc deleted file mode 100644 index d1da5e8d6a..0000000000 --- a/src/core/stdhelp/version.rc +++ /dev/null @@ -1,42 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#ifdef APSTUDIO_INVOKED -#error this file is not editable by Microsoft Visual C++ -#endif //APSTUDIO_INVOKED - -#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 "InternalName", __PLUGIN_NAME - VALUE "LegalCopyright", __COPYRIGHT - VALUE "OriginalFilename", __FILENAME - VALUE "ProductName", __PLUGIN_NAME - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0, 1200 - END -END -- cgit v1.2.3