diff options
author | René Schümann <white06tiger@gmail.com> | 2014-12-25 00:30:09 +0000 |
---|---|---|
committer | René Schümann <white06tiger@gmail.com> | 2014-12-25 00:30:09 +0000 |
commit | f1854df3ba57b0358c893884d56d6826e25f344d (patch) | |
tree | c78083d6fc677729fc86f895ab4695c899ed86e3 | |
parent | e5c1ba56b7f6ef24279b5e7cda3759b2e68e4c8d (diff) |
SendSS:
* global.h is now more global
removed Main.h dependency
removed MODNAME define (just a dupe of SZ_SENDSS)
hInst -> g_hSendSS
myGlobals -> g_myGlobals
hNetlibUser -> g_hNetlibUser
* restructured Main.cpp by reordering functions to be more logically placed
* Main.h now only holds DLL_EXPORT functions
git-svn-id: http://svn.miranda-ng.org/main/trunk@11608 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r-- | plugins/SendScreenshotPlus/src/CSend.cpp | 4 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/CSendHost_ImageShack.cpp | 4 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/CSendHost_imgur.cpp | 4 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/CSendHost_uploadpie.cpp | 4 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/Main.cpp | 390 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/Main.h | 37 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/UAboutForm.cpp | 14 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/UMainForm.cpp | 20 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/ctrl_button.cpp | 2 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/dlg_msgbox.cpp | 30 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/global.h | 9 | ||||
-rw-r--r-- | plugins/SendScreenshotPlus/src/mir_icolib.h | 58 |
12 files changed, 263 insertions, 313 deletions
diff --git a/plugins/SendScreenshotPlus/src/CSend.cpp b/plugins/SendScreenshotPlus/src/CSend.cpp index cc1e5d40c7..cd6aaa856c 100644 --- a/plugins/SendScreenshotPlus/src/CSend.cpp +++ b/plugins/SendScreenshotPlus/src/CSend.cpp @@ -382,7 +382,7 @@ void CSend::DB_EventAdd(WORD EventType) void CSend::Error(LPCTSTR pszFormat, ...) { TCHAR tszMsg[MAX_SECONDLINE]; - mir_sntprintf(tszMsg, SIZEOF(tszMsg),_T("%s - %s") ,_T(MODNAME), TranslateT("Error")); + mir_sntprintf(tszMsg, SIZEOF(tszMsg),_T("%s - %s") ,_T(SZ_SENDSS), TranslateT("Error")); mir_free(m_ErrorTitle), m_ErrorTitle = mir_tstrdup(tszMsg); va_list vl; @@ -408,7 +408,7 @@ void CSend::Exit(unsigned int Result) { switch(Result) { case CSEND_DIALOG: SkinPlaySound("FileDone"); - DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_UResultForm),0, ResultDialogProc,(LPARAM)this); + DialogBoxParam(g_hSendSS, MAKEINTRESOURCE(IDD_UResultForm),0, ResultDialogProc,(LPARAM)this); err = false; break; case ACKRESULT_SUCCESS: diff --git a/plugins/SendScreenshotPlus/src/CSendHost_ImageShack.cpp b/plugins/SendScreenshotPlus/src/CSendHost_ImageShack.cpp index d53a11c495..85b82fa348 100644 --- a/plugins/SendScreenshotPlus/src/CSendHost_ImageShack.cpp +++ b/plugins/SendScreenshotPlus/src/CSendHost_ImageShack.cpp @@ -41,7 +41,7 @@ CSendHost_ImageShack::~CSendHost_ImageShack(){ //--------------------------------------------------------------------------- int CSendHost_ImageShack::Send() { - if(!hNetlibUser){ /// check Netlib + if(!g_hNetlibUser){ /// check Netlib Error(SS_ERR_INIT, m_pszSendTyp); Exit(ACKRESULT_FAILED); return !m_bAsync; @@ -70,7 +70,7 @@ int CSendHost_ImageShack::Send() { void CSendHost_ImageShack::SendThread() { /// send DATA and wait for m_nlreply - NETLIBHTTPREQUEST* reply=(NETLIBHTTPREQUEST*)CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM)hNetlibUser, (LPARAM)&m_nlhr); + NETLIBHTTPREQUEST* reply=(NETLIBHTTPREQUEST*)CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM)g_hNetlibUser, (LPARAM)&m_nlhr); HTTPFormDestroy(&m_nlhr); if(reply){ if(reply->resultCode>=200 && reply->resultCode<300 && reply->dataLength){ diff --git a/plugins/SendScreenshotPlus/src/CSendHost_imgur.cpp b/plugins/SendScreenshotPlus/src/CSendHost_imgur.cpp index 77be71704f..830ce71454 100644 --- a/plugins/SendScreenshotPlus/src/CSendHost_imgur.cpp +++ b/plugins/SendScreenshotPlus/src/CSendHost_imgur.cpp @@ -28,7 +28,7 @@ CSendHost_Imgur::~CSendHost_Imgur() //--------------------------------------------------------------------------- int CSendHost_Imgur::Send() { - if(!hNetlibUser){ /// check Netlib + if(!g_hNetlibUser){ /// check Netlib Error(SS_ERR_INIT, m_pszSendTyp); Exit(ACKRESULT_FAILED); return !m_bAsync; @@ -59,7 +59,7 @@ void CSendHost_Imgur::SendThread(void* obj) { CSendHost_Imgur* self=(CSendHost_Imgur*)obj; /// send DATA and wait for m_nlreply - NETLIBHTTPREQUEST* reply=(NETLIBHTTPREQUEST*)CallService(MS_NETLIB_HTTPTRANSACTION,(WPARAM)hNetlibUser,(LPARAM)&self->m_nlhr); + NETLIBHTTPREQUEST* reply=(NETLIBHTTPREQUEST*)CallService(MS_NETLIB_HTTPTRANSACTION,(WPARAM)g_hNetlibUser,(LPARAM)&self->m_nlhr); self->HTTPFormDestroy(&self->m_nlhr); if(reply){ if(reply->dataLength){ diff --git a/plugins/SendScreenshotPlus/src/CSendHost_uploadpie.cpp b/plugins/SendScreenshotPlus/src/CSendHost_uploadpie.cpp index a3a640b986..a19cfa3ced 100644 --- a/plugins/SendScreenshotPlus/src/CSendHost_uploadpie.cpp +++ b/plugins/SendScreenshotPlus/src/CSendHost_uploadpie.cpp @@ -28,7 +28,7 @@ CSendHost_UploadPie::~CSendHost_UploadPie() //--------------------------------------------------------------------------- int CSendHost_UploadPie::Send() { - if(!hNetlibUser){ /// check Netlib + if(!g_hNetlibUser){ /// check Netlib Error(SS_ERR_INIT, m_pszSendTyp); Exit(ACKRESULT_FAILED); return !m_bAsync; @@ -64,7 +64,7 @@ void CSendHost_UploadPie::SendThread(void* obj) { CSendHost_UploadPie* self=(CSendHost_UploadPie*)obj; /// send DATA and wait for m_nlreply - NETLIBHTTPREQUEST* reply=(NETLIBHTTPREQUEST*)CallService(MS_NETLIB_HTTPTRANSACTION,(WPARAM)hNetlibUser,(LPARAM)&self->m_nlhr); + NETLIBHTTPREQUEST* reply=(NETLIBHTTPREQUEST*)CallService(MS_NETLIB_HTTPTRANSACTION,(WPARAM)g_hNetlibUser,(LPARAM)&self->m_nlhr); self->HTTPFormDestroy(&self->m_nlhr); if(reply){ if(reply->resultCode>=200 && reply->resultCode<300 && reply->dataLength){ diff --git a/plugins/SendScreenshotPlus/src/Main.cpp b/plugins/SendScreenshotPlus/src/Main.cpp index 4a758d1c09..ebfea3f228 100644 --- a/plugins/SendScreenshotPlus/src/Main.cpp +++ b/plugins/SendScreenshotPlus/src/Main.cpp @@ -26,154 +26,69 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "global.h" +#include "Main.h" #include <m_hotkeys.h> // Prototypes /////////////////////////////////////////////////////////////////////////// -//LIST_INTERFACE li; -FI_INTERFACE *FIP = 0; -HINSTANCE hInst; //!< Global reference to the application -MGLOBAL myGlobals; -int hLangpack; +HINSTANCE g_hSendSS; +MGLOBAL g_myGlobals; +HANDLE g_hNetlibUser=0;//!< Netlib Register User +FI_INTERFACE* FIP=NULL; +int hLangpack;//Miranda NG langpack used by translate functions, filled by mir_getLP() -//Information gathered by Miranda, displayed in the plugin pane of the Option Dialog -PLUGININFOEX pluginInfo={ - sizeof(PLUGININFOEX), - __PLUGIN_NAME, - PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM), - __DESCRIPTION, - __AUTHOR, - __AUTHOREMAIL, - __COPYRIGHT, - __AUTHORWEB, - UNICODE_AWARE, - // {ED39AF7C-BECD-404E-9499-4D04F711B9CB} - {0xed39af7c, 0xbecd, 0x404e, {0x94, 0x99, 0x4d, 0x04, 0xf7, 0x11, 0xb9, 0xcb}} -}; +HANDLE hFolderScreenshot=0; +TCHAR* GetCustomPath() { + TCHAR* pszPath = Utils_ReplaceVarsT(_T("%miranda_userdata%\\Screenshots")); + if(hFolderScreenshot){ + TCHAR szPath[1024]={0}; + FoldersGetCustomPathT(hFolderScreenshot, szPath, 1024, pszPath); + mir_free(pszPath); + pszPath = mir_tstrdup(szPath); + } + if(!pszPath){ + MessageBox(NULL, _T("Can not retrieve Screenshot path."), _T("Send Screenshot"), MB_OK | MB_ICONERROR | MB_APPLMODAL); + return 0; + } + int result = CreateDirectoryTreeT(pszPath); + if(result){ + TCHAR szError[MAX_PATH]; + mir_sntprintf(szError,MAX_PATH,TranslateT("Could not create Screenshot folder (error code: %d):\n%s\nDo you have write permissions?"),result,pszPath); + MessageBox(NULL, szError, _T("Send Screenshot"), MB_OK | MB_ICONERROR | MB_APPLMODAL); + mir_free(pszPath); + return 0; + } + return pszPath; +} +/// services HANDLE hsvc_SendScreenshot=0; HANDLE hsvc_SendDesktop=0; HANDLE hsvc_EditBitmap=0; HANDLE hsvc_Send2ImageShack=0; - -HANDLE hNetlibUser = 0; //!< Netlib Register User -HANDLE hFolderScreenshot=0; - -// Functions //////////////////////////////////////////////////////////////////////////// - -/*--------------------------------------------------------------------------- -* DLL entry point - Required to store the instance handle -*/ -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) -{ - hInst=hinstDLL; - return TRUE; -} - -/*--------------------------------------------------------------------------- -* Called by Miranda to get the information associated to this plugin. -* It only returns the PLUGININFO structure, without any test on the version -* @param mirandaVersion The version of the application calling this function -*/ -extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) -{ - return &pluginInfo; -} - - -/*--------------------------------------------------------------------------- -* Initializes the services provided and the link to those needed -* Called when the plugin is loaded into Miranda -*/ -ATOM g_clsTargetHighlighter=0; -HANDLE g_hookModulesLoaded=0; -HANDLE g_hookSystemPreShutdown=0; -extern "C" __declspec(dllexport) int Load(void) -{ - mir_getLP(&pluginInfo); - INT_PTR result = CallService(MS_IMG_GETINTERFACE, FI_IF_VERSION, (LPARAM)&FIP); - - if(FIP == NULL || result != S_OK) { - MessageBoxEx(NULL, TranslateT("Fatal error, image services not found. SendScreenshot will be disabled."), TranslateT("Error"), MB_OK | MB_ICONERROR | MB_APPLMODAL, 0); - return 1; +//--------------------------------------------------------------------------- +// Callback function of service for contact menu and main menu +// wParam = contact handle +// lParam = 0 +INT_PTR service_OpenCaptureDialog(WPARAM wParam, LPARAM lParam){ + TfrmMain* frmMain=new TfrmMain(); + if(!frmMain) { + MessageBoxEx(NULL, TranslateT("Could not create main dialog."), TranslateT("Error"), MB_OK | MB_ICONERROR | MB_APPLMODAL, 0); + return -1; } - - // load icon library (use UserInfoEx icon Pack) - IcoLib_LoadModule(); - - g_hookModulesLoaded=HookEvent(ME_SYSTEM_MODULESLOADED, hook_ModulesLoaded); - g_hookSystemPreShutdown=HookEvent(ME_SYSTEM_PRESHUTDOWN, hook_SystemPreShutdown); - - RegisterServices(); - AddMenuItems(); - - //hotkey's - HOTKEYDESC hkd={sizeof(hkd)}; - hkd.pszName="Open SendSS+"; - hkd.ptszDescription=LPGENT("Open SendSS+"); - hkd.ptszSection=_T("SendSS+"); - hkd.pszService=MS_SENDSS_OPENDIALOG; - //hkd.DefHotKey=HOTKEYCODE(HOTKEYF_CONTROL, VK_F10) | HKF_MIRANDA_LOCAL; - hkd.lParam=0xFFFF; - hkd.dwFlags = HKD_TCHAR; - Hotkey_Register(&hkd); - - HBRUSH brush=CreateSolidBrush(0x0000FF00);//owned by class - WNDCLASS wndclass={CS_HREDRAW|CS_VREDRAW,DefWindowProc,0,0,hInst,NULL,NULL,brush,NULL,L"SendSSHighlighter"}; - g_clsTargetHighlighter=RegisterClass(&wndclass); - return 0; -} - -int hook_ModulesLoaded(WPARAM, LPARAM) -{ - myGlobals.PopupExist = ServiceExists(MS_POPUP_ADDPOPUPT); - myGlobals.PopupActionsExist = ServiceExists(MS_POPUP_REGISTERACTIONS); - myGlobals.PluginHTTPExist = ServiceExists(MS_HTTP_ACCEPT_CONNECTIONS); - myGlobals.PluginFTPExist = ServiceExists(MS_FTPFILE_SHAREFILE); - myGlobals.PluginDropboxExist = ServiceExists(MS_DROPBOX_SEND_FILE); - - // Netlib register - NetlibInit(); - - // load my button class / or use UInfoEx - CtrlButtonLoadModule(); - - // Folders plugin support - hFolderScreenshot = FoldersRegisterCustomPathT(LPGEN("SendSS"), LPGEN("Screenshots"), - _T(PROFILE_PATH)_T("\\")_T(CURRENT_PROFILE)_T("\\Screenshots")); - - return 0; -} - -/*--------------------------------------------------------------------------- -* Prepare the plugin to stop -* Called by Miranda when it will exit or when the plugin gets deselected -*/ - -extern "C" __declspec(dllexport) int Unload(void) -{//as "ghazan" says, it's useless to unregister services or unhook events, let's still do it for now :P - CallService(MS_HOTKEY_UNREGISTER,0,(LPARAM)"Open SendSS+"); - UnRegisterServices(); - if(g_hookModulesLoaded) UnhookEvent(g_hookModulesLoaded),g_hookModulesLoaded=0; - if(g_hookSystemPreShutdown) UnhookEvent(g_hookSystemPreShutdown),g_hookSystemPreShutdown=0; - if(g_clsTargetHighlighter) UnregisterClass((TCHAR*)g_clsTargetHighlighter,hInst),g_clsTargetHighlighter=0; - return 0; -} - -int hook_SystemPreShutdown(WPARAM wParam, LPARAM lParam) -{ - TfrmAbout::Unload();//crashes if done from "Unload" because of dependencies - TfrmMain::Unload();// " - - // Netlib unregister - NetlibClose(); - - // uninitialize classes - CtrlButtonUnloadModule(); + TCHAR* pszPath=GetCustomPath(); + if(!pszPath){ + delete frmMain; + return -1; + } + frmMain->Init(pszPath, wParam); + mir_free(pszPath); + if(lParam==0xFFFF){ + frmMain->SetTargetWindow(NULL); + } + frmMain->Show(); return 0; } - //--------------------------------------------------------------------------- // Netlib HANDLE NetlibInit(void) @@ -182,11 +97,41 @@ HANDLE NetlibInit(void) nlu.szSettingsModule = __PLUGIN_NAME; nlu.ptszDescriptiveName = TranslateT("SendSS HTTP connections"); nlu.flags = NUF_OUTGOING|NUF_HTTPCONNS|NUF_TCHAR; //|NUF_NOHTTPSOPTION; - return hNetlibUser = (HANDLE)CallService(MS_NETLIB_REGISTERUSER, 0, (LPARAM)&nlu); + return g_hNetlibUser = (HANDLE)CallService(MS_NETLIB_REGISTERUSER, 0, (LPARAM)&nlu); } void NetlibClose(void) { - Netlib_CloseHandle(hNetlibUser); + Netlib_CloseHandle(g_hNetlibUser); +} +//--------------------------------------------------------------------------- +// Add SendSS menu item in contact menu +void AddMenuItems(void) +{ + // Common + CLISTMENUITEM mi = { sizeof(mi) }; + mi.flags = CMIF_ROOTHANDLE | CMIF_TCHAR; + mi.hParentMenu = HGENMENU_ROOT; + + // Add item to contact menu + mi.position = 1000000; + mi.ptszName = LPGENT("Send Screenshot"); + mi.hIcon = Skin_GetIcon(ICO_COMMON_SSWINDOW2); + mi.pszService = MS_SENDSS_OPENDIALOG; + Menu_AddContactMenuItem(&mi); + + // Add item to contact menu + mi.position = 1000001; + mi.ptszName = LPGENT("Send desktop screenshot"); +// mi.hIcon = Skin_GetIcon(ICO_COMMON_SSWINDOW2); + mi.pszService = MS_SENDSS_SENDDESKTOP; + Menu_AddContactMenuItem(&mi); + + // Add item to main menu + mi.position = 1000001; + mi.ptszName = LPGENT("Take a screenshot"); +// mi.hIcon = Skin_GetIcon(ICO_COMMON_SSWINDOW2); + mi.pszService = MS_SENDSS_OPENDIALOG; + Menu_AddMainMenuItem(&mi); } @@ -222,31 +167,6 @@ INT_PTR service_CaptureAndSendDesktop(WPARAM wParam, LPARAM lParam) { frmMain->btnCaptureClick(); // this method will call Close() return 0; } - -//--------------------------------------------------------------------------- -// Callback function of service for contact menu and main menu -// wParam = contact handle -// lParam = 0 -INT_PTR service_OpenCaptureDialog(WPARAM wParam, LPARAM lParam){ - TfrmMain* frmMain=new TfrmMain(); - if(!frmMain) { - MessageBoxEx(NULL, TranslateT("Could not create main dialog."), TranslateT("Error"), MB_OK | MB_ICONERROR | MB_APPLMODAL, 0); - return -1; - } - TCHAR* pszPath=GetCustomPath(); - if(!pszPath){ - delete frmMain; - return -1; - } - frmMain->Init(pszPath, wParam); - mir_free(pszPath); - if(lParam==0xFFFF){ - frmMain->SetTargetWindow(NULL); - } - frmMain->Show(); - return 0; -} - //--------------------------------------------------------------------------- // Edit a in-memory bitmap on the edit window // wParam = (SENDSSCB) callback function address to call when editing is done @@ -268,7 +188,6 @@ INT_PTR service_EditBitmap(WPARAM wParam, LPARAM lParam) { */ return 0; } - //--------------------------------------------------------------------------- // Callback function of service for sending image to imageshack.us // wParam = (char*)filename @@ -292,35 +211,63 @@ INT_PTR service_Send2ImageShack(WPARAM wParam, LPARAM lParam) { return (INT_PTR)result; } -//--------------------------------------------------------------------------- -// Add SendSS menu item in contact menu -void AddMenuItems(void) +// Functions //////////////////////////////////////////////////////////////////////////// +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - // Common - CLISTMENUITEM mi = { sizeof(mi) }; - mi.flags = CMIF_ROOTHANDLE | CMIF_TCHAR; - mi.hParentMenu = HGENMENU_ROOT; + g_hSendSS=hinstDLL; + return TRUE; +} +PLUGININFOEX pluginInfo={ + sizeof(PLUGININFOEX), + __PLUGIN_NAME, + PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM), + __DESCRIPTION, + __AUTHOR, + __AUTHOREMAIL, + __COPYRIGHT, + __AUTHORWEB, + UNICODE_AWARE, + // {ED39AF7C-BECD-404E-9499-4D04F711B9CB} + {0xed39af7c, 0xbecd, 0x404e, {0x94, 0x99, 0x4d, 0x04, 0xf7, 0x11, 0xb9, 0xcb}} +}; +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + return &pluginInfo; +} +/// hooks +HANDLE g_hookModulesLoaded=0; +HANDLE g_hookSystemPreShutdown=0; +int hook_ModulesLoaded(WPARAM, LPARAM) +{ + g_myGlobals.PopupExist = ServiceExists(MS_POPUP_ADDPOPUPT); + g_myGlobals.PopupActionsExist = ServiceExists(MS_POPUP_REGISTERACTIONS); + g_myGlobals.PluginHTTPExist = ServiceExists(MS_HTTP_ACCEPT_CONNECTIONS); + g_myGlobals.PluginFTPExist = ServiceExists(MS_FTPFILE_SHAREFILE); + g_myGlobals.PluginDropboxExist = ServiceExists(MS_DROPBOX_SEND_FILE); - // Add item to contact menu - mi.position = 1000000; - mi.ptszName = LPGENT("Send Screenshot"); - mi.hIcon = Skin_GetIcon(ICO_COMMON_SSWINDOW2); - mi.pszService = MS_SENDSS_OPENDIALOG; - Menu_AddContactMenuItem(&mi); + // Netlib register + NetlibInit(); - // Add item to contact menu - mi.position = 1000001; - mi.ptszName = LPGENT("Send desktop screenshot"); -// mi.hIcon = Skin_GetIcon(ICO_COMMON_SSWINDOW2); - mi.pszService = MS_SENDSS_SENDDESKTOP; - Menu_AddContactMenuItem(&mi); + // load my button class / or use UInfoEx + CtrlButtonLoadModule(); - // Add item to main menu - mi.position = 1000001; - mi.ptszName = LPGENT("Take a screenshot"); -// mi.hIcon = Skin_GetIcon(ICO_COMMON_SSWINDOW2); - mi.pszService = MS_SENDSS_OPENDIALOG; - Menu_AddMainMenuItem(&mi); + // Folders plugin support + hFolderScreenshot = FoldersRegisterCustomPathT(LPGEN("SendSS"), LPGEN("Screenshots"), + _T(PROFILE_PATH)_T("\\")_T(CURRENT_PROFILE)_T("\\Screenshots")); + + return 0; +} +int hook_SystemPreShutdown(WPARAM wParam, LPARAM lParam) +{ + TfrmAbout::Unload();//crashes if done from "Unload" because of dependencies + TfrmMain::Unload();// " + + // Netlib unregister + NetlibClose(); + + // uninitialize classes + CtrlButtonUnloadModule(); + return 0; } //--------------------------------------------------------------------------- @@ -354,28 +301,53 @@ int UnRegisterServices(){ return 0; } -//--------------------------------------------------------------------------- -TCHAR* GetCustomPath() { - TCHAR* pszPath = Utils_ReplaceVarsT(_T("%miranda_userdata%\\Screenshots")); - if(hFolderScreenshot){ - TCHAR szPath[1024]={0}; - FoldersGetCustomPathT(hFolderScreenshot, szPath, 1024, pszPath); - mir_free(pszPath); - pszPath = mir_tstrdup(szPath); - } - if(!pszPath){ - MessageBox(NULL, _T("Can not retrieve Screenshot path."), _T("Send Screenshot"), MB_OK | MB_ICONERROR | MB_APPLMODAL); - return 0; +ATOM g_clsTargetHighlighter=0; +extern "C" __declspec(dllexport) int Load(void) +{ + mir_getLP(&pluginInfo); + INT_PTR result = CallService(MS_IMG_GETINTERFACE, FI_IF_VERSION, (LPARAM)&FIP); + + if(FIP == NULL || result != S_OK) { + MessageBoxEx(NULL, TranslateT("Fatal error, image services not found. SendScreenshot will be disabled."), TranslateT("Error"), MB_OK | MB_ICONERROR | MB_APPLMODAL, 0); + return 1; } - int result = CreateDirectoryTreeT(pszPath); - if(result){ - TCHAR szError[MAX_PATH]; + mir_sntprintf(szError,SIZEOF(szError),TranslateT("Could not create Screenshot folder (error code: %d):\n%s\nDo you have write permissions?"),result,pszPath); + // load icon library (use UserInfoEx icon Pack) + IcoLib_LoadModule(); - mir_sntprintf(szError, SIZEOF(szError), TranslateT("Could not create Screenshot folder (error code: %d):\n%s\nDo you have write permissions?"), result, pszPath); - MessageBox(NULL, szError, _T("Send Screenshot"), MB_OK | MB_ICONERROR | MB_APPLMODAL); - mir_free(pszPath); - return 0; - } - return pszPath; + g_hookModulesLoaded=HookEvent(ME_SYSTEM_MODULESLOADED, hook_ModulesLoaded); + g_hookSystemPreShutdown=HookEvent(ME_SYSTEM_PRESHUTDOWN, hook_SystemPreShutdown); + + RegisterServices(); + AddMenuItems(); + + //hotkey's + HOTKEYDESC hkd={sizeof(hkd)}; + hkd.pszName="Open SendSS+"; + hkd.ptszDescription=LPGENT("Open SendSS+"); + hkd.ptszSection=_T("SendSS+"); + hkd.pszService=MS_SENDSS_OPENDIALOG; + //hkd.DefHotKey=HOTKEYCODE(HOTKEYF_CONTROL, VK_F10) | HKF_MIRANDA_LOCAL; + hkd.lParam=0xFFFF; + hkd.dwFlags = HKD_TCHAR; + Hotkey_Register(&hkd); + + HBRUSH brush=CreateSolidBrush(0x0000FF00);//owned by class + WNDCLASS wndclass={CS_HREDRAW|CS_VREDRAW,DefWindowProc,0,0,g_hSendSS,NULL,NULL,brush,NULL,L"SendSSHighlighter"}; + g_clsTargetHighlighter=RegisterClass(&wndclass); + return 0; +} +/*--------------------------------------------------------------------------- +* Prepare the plugin to stop +* Called by Miranda when it will exit or when the plugin gets deselected +*/ +extern "C" __declspec(dllexport) int Unload(void) +{//as "ghazan" says, it's useless to unregister services or unhook events, let's still do it for now :P + CallService(MS_HOTKEY_UNREGISTER,0,(LPARAM)"Open SendSS+"); + UnRegisterServices(); + if(g_hookModulesLoaded) UnhookEvent(g_hookModulesLoaded),g_hookModulesLoaded=0; + if(g_hookSystemPreShutdown) UnhookEvent(g_hookSystemPreShutdown),g_hookSystemPreShutdown=0; + if(g_clsTargetHighlighter) UnregisterClass((TCHAR*)g_clsTargetHighlighter,g_hSendSS),g_clsTargetHighlighter=0; + return 0; } diff --git a/plugins/SendScreenshotPlus/src/Main.h b/plugins/SendScreenshotPlus/src/Main.h index 17fc5add7e..4b84849e26 100644 --- a/plugins/SendScreenshotPlus/src/Main.h +++ b/plugins/SendScreenshotPlus/src/Main.h @@ -28,33 +28,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef MainH #define MainH - -//--------------------------------------------------------------------------- - -extern ATOM g_clsTargetHighlighter; -extern HANDLE hNetlibUser; - -//--------------------------------------------------------------------------- - -HANDLE NetlibInit(); -void NetlibClose(); - -void IcoLib_LoadModule(); -void AddMenuItems(); -int RegisterServices(); -int UnRegisterServices(); - -int hook_ModulesLoaded(WPARAM, LPARAM); -int hook_SystemPreShutdown(WPARAM wParam, LPARAM lParam); - -INT_PTR service_CaptureAndSendDesktop(WPARAM wParam, LPARAM lParam); -INT_PTR service_OpenCaptureDialog(WPARAM wParam, LPARAM lParam); -INT_PTR service_EditBitmap(WPARAM wParam, LPARAM lParam); -INT_PTR service_Send2ImageShack(WPARAM wParam, LPARAM lParam); - -int OnSendScreenShot(WPARAM wParam, LPARAM lParam); - -TCHAR* GetCustomPath(); - -//--------------------------------------------------------------------------- +#include "global.h" + +#define DLL_EXPORT __declspec(dllexport) +extern "C"{ +DLL_EXPORT PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion); +DLL_EXPORT int Load(void); +DLL_EXPORT int Unload(void); +} #endif diff --git a/plugins/SendScreenshotPlus/src/UAboutForm.cpp b/plugins/SendScreenshotPlus/src/UAboutForm.cpp index e587697bdd..987b24c847 100644 --- a/plugins/SendScreenshotPlus/src/UAboutForm.cpp +++ b/plugins/SendScreenshotPlus/src/UAboutForm.cpp @@ -107,9 +107,9 @@ LRESULT TfrmAbout::wmInitdialog(WPARAM wParam, LPARAM lParam) { { mir_tcsadd(pszTitle ,_T(__COPYRIGHT)); mir_tcsadd(pszTitle ,_T("\r\n\r\n")); - hResInfo = FindResource(hInst,MAKEINTRESOURCE(IDR_LICENSE),_T("TEXT")); - ResSize = SizeofResource(hInst,hResInfo); - pszMsg = (char*)LockResource(LoadResource(hInst,hResInfo)); + hResInfo = FindResource(g_hSendSS,MAKEINTRESOURCE(IDR_LICENSE),_T("TEXT")); + ResSize = SizeofResource(g_hSendSS,hResInfo); + pszMsg = (char*)LockResource(LoadResource(g_hSendSS,hResInfo)); temp = mir_a2t(pszMsg); temp [ResSize] = 0; //LockResource is not NULL terminatet !! mir_tcsadd(pszTitle ,temp); @@ -120,9 +120,9 @@ LRESULT TfrmAbout::wmInitdialog(WPARAM wParam, LPARAM lParam) { //Credit { - hResInfo = FindResource(hInst,MAKEINTRESOURCE(IDR_CREDIT),_T("TEXT")); - ResSize = SizeofResource(hInst,hResInfo); - pszMsg = (char*)LockResource(LoadResource(hInst,hResInfo)); + hResInfo = FindResource(g_hSendSS,MAKEINTRESOURCE(IDR_CREDIT),_T("TEXT")); + ResSize = SizeofResource(g_hSendSS,hResInfo); + pszMsg = (char*)LockResource(LoadResource(g_hSendSS,hResInfo)); temp = mir_a2t(pszMsg); temp [ResSize] = 0; //LockResource is not NULL terminatet !! mir_tcsadd(pszTitle ,temp); @@ -176,7 +176,7 @@ LRESULT TfrmAbout::wmClose(WPARAM wParam, LPARAM lParam) { TfrmAbout::TfrmAbout(HWND Owner) { m_hWndOwner = Owner; // create window - m_hWnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_UAboutForm),0, DlgTfrmAbout,(LPARAM)this); + m_hWnd = CreateDialogParam(g_hSendSS, MAKEINTRESOURCE(IDD_UAboutForm),0, DlgTfrmAbout,(LPARAM)this); //register object _HandleMapping.insert(CHandleMapping::value_type(m_hWnd, this)); //init page diff --git a/plugins/SendScreenshotPlus/src/UMainForm.cpp b/plugins/SendScreenshotPlus/src/UMainForm.cpp index b427e7c01a..eda4f7d95b 100644 --- a/plugins/SendScreenshotPlus/src/UMainForm.cpp +++ b/plugins/SendScreenshotPlus/src/UMainForm.cpp @@ -217,7 +217,7 @@ void TfrmMain::wmInitdialog(WPARAM wParam, LPARAM lParam) { /// Add a tab for each of the three child dialog boxes. itab.tcih.pszText = TranslateT("Window"); // itab.tcih.iImage = 0; - itab.hwndTabPage = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_UMain_CaptureWindow),m_hWnd,DlgProc_CaptureTabPage,IDD_UMain_CaptureWindow); + itab.hwndTabPage = CreateDialogParam(g_hSendSS,MAKEINTRESOURCE(IDD_UMain_CaptureWindow),m_hWnd,DlgProc_CaptureTabPage,IDD_UMain_CaptureWindow); TabCtrl_InsertItem(m_hwndTab,0,&itab); /// get tab boundaries (required after 1st tab) GetClientRect(m_hwndTab,&rcTab); @@ -231,7 +231,7 @@ void TfrmMain::wmInitdialog(WPARAM wParam, LPARAM lParam) { itab.tcih.pszText = TranslateT("Desktop"); // itab.tcih.iImage = 1; - itab.hwndTabPage = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_UMain_CaptureDesktop),m_hWnd,DlgProc_CaptureTabPage,IDD_UMain_CaptureDesktop); + itab.hwndTabPage = CreateDialogParam(g_hSendSS,MAKEINTRESOURCE(IDD_UMain_CaptureDesktop),m_hWnd,DlgProc_CaptureTabPage,IDD_UMain_CaptureDesktop); TabCtrl_InsertItem(m_hwndTab,1,&itab); SetWindowPos(itab.hwndTabPage,HWND_TOP,rcTab.left,rcTab.top,rcTab.right,rcTab.bottom,0); @@ -254,7 +254,7 @@ void TfrmMain::wmInitdialog(WPARAM wParam, LPARAM lParam) { itab.tcih.pszText = TranslateT("File"); // itab.tcih.iImage = 2; - itab.hwndTabPage = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_UMain_CaptureFile),m_hWnd,DlgProc_CaptureTabPage,IDD_UMain_CaptureFile); + itab.hwndTabPage = CreateDialogParam(g_hSendSS,MAKEINTRESOURCE(IDD_UMain_CaptureFile),m_hWnd,DlgProc_CaptureTabPage,IDD_UMain_CaptureFile); TabCtrl_InsertItem(m_hwndTab,2,&itab); SetWindowPos(itab.hwndTabPage,HWND_TOP,rcTab.left,rcTab.top,rcTab.right,rcTab.bottom,0); @@ -295,12 +295,12 @@ void TfrmMain::wmInitdialog(WPARAM wParam, LPARAM lParam) { if(m_hContact){ ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT("File Transfer")),SS_FILESEND); ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT("E-mail")) ,SS_EMAIL); - if (myGlobals.PluginHTTPExist) { + if (g_myGlobals.PluginHTTPExist) { ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, _T("HTTP Server")) ,SS_HTTPSERVER); }else if(m_opt_cboxSendBy == SS_HTTPSERVER) { m_opt_cboxSendBy = SS_IMAGESHACK; } - if (myGlobals.PluginFTPExist) { + if (g_myGlobals.PluginFTPExist) { ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT("FTP File")) ,SS_FTPFILE); }else if(m_opt_cboxSendBy == SS_FTPFILE) { m_opt_cboxSendBy = SS_IMAGESHACK; @@ -308,7 +308,7 @@ void TfrmMain::wmInitdialog(WPARAM wParam, LPARAM lParam) { }else if(m_opt_cboxSendBy == SS_FILESEND || m_opt_cboxSendBy == SS_EMAIL || m_opt_cboxSendBy == SS_HTTPSERVER || m_opt_cboxSendBy == SS_FTPFILE) { m_opt_cboxSendBy = SS_IMAGESHACK; } - if (myGlobals.PluginDropboxExist) { + if (g_myGlobals.PluginDropboxExist) { ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, _T("Dropbox")), SS_DROPBOX); }else if(m_opt_cboxSendBy == SS_DROPBOX) { m_opt_cboxSendBy = SS_IMAGESHACK; @@ -504,11 +504,11 @@ void TfrmMain::SetTargetWindow(HWND hwnd){ edtSizeUpdate(m_hTargetWindow,m_opt_chkClientArea,m_hwndTabPage,ID_edtSize); } void TfrmMain::wmTimer(WPARAM wParam, LPARAM lParam){ - if (wParam == ID_imgTarget){// Timer for Target selector + if(wParam==ID_imgTarget){// Timer for Target selector static int primarymouse; if(!m_hTargetHighlighter){ primarymouse=GetSystemMetrics(SM_SWAPBUTTON)?VK_RBUTTON:VK_LBUTTON; - m_hTargetHighlighter=CreateWindowEx(WS_EX_LAYERED|WS_EX_TRANSPARENT|WS_EX_TOOLWINDOW,(TCHAR*)g_clsTargetHighlighter,NULL,WS_POPUP,0,0,0,0,NULL,NULL,hInst,NULL); + m_hTargetHighlighter=CreateWindowEx(WS_EX_LAYERED|WS_EX_TRANSPARENT|WS_EX_TOOLWINDOW,(TCHAR*)g_clsTargetHighlighter,NULL,WS_POPUP,0,0,0,0,NULL,NULL,g_hSendSS,NULL); if(!m_hTargetHighlighter) return; SetLayeredWindowAttributes(m_hTargetHighlighter,0,123,LWA_ALPHA); SetSystemCursor(CopyCursor(Skin_GetIcon(ICO_COMMON_SSTARGET)),OCR_NORMAL); @@ -557,7 +557,7 @@ void TfrmMain::wmTimer(WPARAM wParam, LPARAM lParam){ } return; } - if (wParam == ID_chkTimed){// Timer for Screenshot + if(wParam==ID_chkTimed){// Timer for Screenshot #ifdef _DEBUG OutputDebugStringA("SS Bitmap Timer Start\r\n" ); #endif @@ -767,7 +767,7 @@ void TfrmMain::Init(TCHAR* DestFolder, MCONTACT Contact) { m_hContact = Contact; // create window - m_hWnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_UMainForm),0,DlgTfrmMain,(LPARAM)this); + m_hWnd = CreateDialogParam(g_hSendSS, MAKEINTRESOURCE(IDD_UMainForm),0,DlgTfrmMain,(LPARAM)this); //register object _HandleMapping.insert(CHandleMapping::value_type(m_hWnd, this)); diff --git a/plugins/SendScreenshotPlus/src/ctrl_button.cpp b/plugins/SendScreenshotPlus/src/ctrl_button.cpp index c42f35fa2e..eff1b3f963 100644 --- a/plugins/SendScreenshotPlus/src/ctrl_button.cpp +++ b/plugins/SendScreenshotPlus/src/ctrl_button.cpp @@ -629,7 +629,7 @@ void CtrlButtonUnloadModule() if(!g_init) return; g_init=false; DeleteCriticalSection(&csTips); - UnregisterClass(UINFOBUTTONCLASS, hInst); + UnregisterClass(UINFOBUTTONCLASS, g_hSendSS); } void CtrlButtonLoadModule()/// @fixme : compatibility with UInfoEx is everything but perfect... we get a huge problem if UInfoEx is unloaded... diff --git a/plugins/SendScreenshotPlus/src/dlg_msgbox.cpp b/plugins/SendScreenshotPlus/src/dlg_msgbox.cpp index 2014dfb8d5..65df1437a5 100644 --- a/plugins/SendScreenshotPlus/src/dlg_msgbox.cpp +++ b/plugins/SendScreenshotPlus/src/dlg_msgbox.cpp @@ -109,53 +109,53 @@ static void MakePopupAction(POPUPACTION &pa, int id) switch (id) { case IDOK: pa.lchIcon = Skin_GetIcon(ICO_BTN_OK); - mir_strcpy(pa.lpzTitle, MODNAME"/Ok"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/Ok"); break; case IDCLOSE: case IDCANCEL: pa.lchIcon = Skin_GetIcon(ICO_BTN_CANCEL); - mir_strcpy(pa.lpzTitle, MODNAME"/Cancel"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/Cancel"); break; case IDABORT: pa.lchIcon = Skin_GetIcon(ICO_BTN_CANCEL); - mir_strcpy(pa.lpzTitle, MODNAME"/Abort"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/Abort"); break; case IDRETRY: pa.lchIcon = Skin_GetIcon(ICO_BTN_UPDATE); - mir_strcpy(pa.lpzTitle, MODNAME"/Retry"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/Retry"); break; case IDIGNORE: pa.lchIcon = Skin_GetIcon(ICO_BTN_OK); - mir_strcpy(pa.lpzTitle, MODNAME"/Ignore"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/Ignore"); break; case IDYES: pa.lchIcon = Skin_GetIcon(ICO_BTN_OK); - mir_strcpy(pa.lpzTitle, MODNAME"/Yes"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/Yes"); break; case IDNO: pa.lchIcon = Skin_GetIcon(ICO_BTN_CANCEL); - mir_strcpy(pa.lpzTitle, MODNAME"/No"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/No"); break; case IDHELP: pa.lchIcon = Skin_GetIcon(ICO_BTN_CANCEL); - mir_strcpy(pa.lpzTitle, MODNAME"/Help"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/Help"); break; case IDALL: pa.lchIcon = Skin_GetIcon(ICO_BTN_OK); - mir_strcpy(pa.lpzTitle, MODNAME"/All"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/All"); break; case IDNONE: pa.lchIcon = Skin_GetIcon(ICO_BTN_CANCEL); - mir_strcpy(pa.lpzTitle, MODNAME"/None"); + mir_strcpy(pa.lpzTitle, SZ_SENDSS"/None"); } } @@ -628,12 +628,12 @@ INT_PTR MsgBoxService(WPARAM wParam, LPARAM lParam) // Shall the MessageBox displayed as popup? if (!(pMsgBox->uType & (MB_INFOBAR|MB_NOPOPUP)) && // message box can be a popup? ServiceExists(MS_POPUP_ADDPOPUPT) && // popups exist? - myGlobals.PopupActionsExist == 1 && // popup support ext stuct? + g_myGlobals.PopupActionsExist == 1 && // popup support ext stuct? (db_get_dw(NULL, "Popup","Actions", 0) & 1) && // popup++ actions on? - db_get_b(NULL, MODNAME, SET_POPUPMSGBOX, DEFVAL_POPUPMSGBOX)) // user likes popups? - return DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_MSGBOXDUMMI), pMsgBox->hParent, MsgBoxPop, lParam); + db_get_b(NULL, SZ_SENDSS, SET_POPUPMSGBOX, DEFVAL_POPUPMSGBOX)) // user likes popups? + return DialogBoxParam(g_hSendSS, MAKEINTRESOURCE(IDD_MSGBOXDUMMI), pMsgBox->hParent, MsgBoxPop, lParam); - return DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_MSGBOX), pMsgBox->hParent, MsgBoxProc, lParam); + return DialogBoxParam(g_hSendSS, MAKEINTRESOURCE(IDD_MSGBOX), pMsgBox->hParent, MsgBoxProc, lParam); } return -1; } @@ -674,7 +674,7 @@ INT_PTR CALLBACK MsgBox(HWND hParent, UINT uType, LPCTSTR pszTitle, LPCTSTR pszI INT_PTR CALLBACK MsgErr(HWND hParent, LPCTSTR pszFormat, ...) { TCHAR tszTitle[MAX_SECONDLINE], tszMsg[MAX_SECONDLINE]; - mir_sntprintf(tszTitle, SIZEOF(tszMsg),_T("%s - %s") ,_T(MODNAME), TranslateT("Error")); + mir_sntprintf(tszTitle, SIZEOF(tszMsg),_T("%s - %s") ,_T(SZ_SENDSS), TranslateT("Error")); va_list vl; va_start(vl, pszFormat); diff --git a/plugins/SendScreenshotPlus/src/global.h b/plugins/SendScreenshotPlus/src/global.h index 9c822d3f98..c0d6c2d965 100644 --- a/plugins/SendScreenshotPlus/src/global.h +++ b/plugins/SendScreenshotPlus/src/global.h @@ -83,7 +83,6 @@ using namespace std; #include "dlg_msgbox.h" #include "resource.h" #include "version.h" -#include "main.h" #include "CSend.h" #include "CSendEmail.h" #include "CSendFile.h" @@ -120,11 +119,11 @@ typedef struct _MGLOBAL { // Miranda Database Key #define SZ_SENDSS "SendSS" -#define MODNAME "SendSS" -extern HINSTANCE hInst; -extern MGLOBAL myGlobals; -extern HANDLE hNetlibUser; +extern ATOM g_clsTargetHighlighter; +extern HINSTANCE g_hSendSS; +extern MGLOBAL g_myGlobals; +extern HANDLE g_hNetlibUser; #define PtrIsValid(p) (((p)!=0)&&(((HANDLE)(p))!=INVALID_HANDLE_VALUE)) #define MIR_FREE(p) {if (PtrIsValid(p)){mir_free((void*)p);(p)=NULL;}} diff --git a/plugins/SendScreenshotPlus/src/mir_icolib.h b/plugins/SendScreenshotPlus/src/mir_icolib.h index bb0c8ce642..883b78350e 100644 --- a/plugins/SendScreenshotPlus/src/mir_icolib.h +++ b/plugins/SendScreenshotPlus/src/mir_icolib.h @@ -25,38 +25,38 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define _UINFOEX_ICONS_H_INCLUDED_ 1 // sections -#define SECT_COMMON MODNAME -#define SECT_BUTTONS MODNAME"/"LPGEN("Buttons") -#define SECT_OVERLAY MODNAME"/"LPGEN("Overlays") +#define SECT_COMMON SZ_SENDSS +#define SECT_BUTTONS SZ_SENDSS"/"LPGEN("Buttons") +#define SECT_OVERLAY SZ_SENDSS"/"LPGEN("Overlays") // icons -#define ICO_COMMON_SSWINDOW1 MODNAME"_plug_SSwindow1" -#define ICO_COMMON_SSWINDOW2 MODNAME"_plug_SSwindow2" -#define ICO_COMMON_SSMONITOR MODNAME"_plug_SSmonitor" -#define ICO_COMMON_SSDEFAULT MODNAME"_plug_SSdefault" -#define ICO_COMMON_SSTARGET MODNAME"_plug_SSTarget" -#define ICO_COMMON_SSHELP MODNAME"_plug_SSHelp" -#define ICO_COMMON_SSFOLDERO MODNAME"_plug_SSFolderOpen" -#define ICO_COMMON_ARROWL MODNAME"_plug_SSArrowL" -#define ICO_COMMON_ARROWR MODNAME"_plug_SSArrowR" -#define ICO_COMMON_SSDESKOFF MODNAME"_plug_SSDeskOff" -#define ICO_COMMON_SSDESKON MODNAME"_plug_SSDeskOn" -#define ICO_COMMON_SSDELOFF MODNAME"_plug_SSDelOff" -#define ICO_COMMON_SSDELON MODNAME"_plug_SSDelOn" -#define ICO_DLG_DETAILS MODNAME"_dlg_details" -#define ICO_BTN_UPDATE MODNAME"_plug_update" -#define ICO_BTN_OK MODNAME"_plug_ok" -#define ICO_BTN_CANCEL MODNAME"_plug_cancel" -//#define ICO_BTN_APPLY MODNAME"_plug_apply" -#define ICO_BTN_EDIT MODNAME"_plug_edit" -#define ICO_BTN_EDITON MODNAME"_plug_editOn" -#define ICO_BTN_COPY MODNAME"_plug_copy" -#define ICO_BTN_BBC MODNAME"_plug_bbc" -#define ICO_BTN_BBC2 MODNAME"_plug_bbclnk" -#define ICO_BTN_DOWNARROW MODNAME"_plug_downarrow" +#define ICO_COMMON_SSWINDOW1 SZ_SENDSS"_plug_SSwindow1" +#define ICO_COMMON_SSWINDOW2 SZ_SENDSS"_plug_SSwindow2" +#define ICO_COMMON_SSMONITOR SZ_SENDSS"_plug_SSmonitor" +#define ICO_COMMON_SSDEFAULT SZ_SENDSS"_plug_SSdefault" +#define ICO_COMMON_SSTARGET SZ_SENDSS"_plug_SSTarget" +#define ICO_COMMON_SSHELP SZ_SENDSS"_plug_SSHelp" +#define ICO_COMMON_SSFOLDERO SZ_SENDSS"_plug_SSFolderOpen" +#define ICO_COMMON_ARROWL SZ_SENDSS"_plug_SSArrowL" +#define ICO_COMMON_ARROWR SZ_SENDSS"_plug_SSArrowR" +#define ICO_COMMON_SSDESKOFF SZ_SENDSS"_plug_SSDeskOff" +#define ICO_COMMON_SSDESKON SZ_SENDSS"_plug_SSDeskOn" +#define ICO_COMMON_SSDELOFF SZ_SENDSS"_plug_SSDelOff" +#define ICO_COMMON_SSDELON SZ_SENDSS"_plug_SSDelOn" +#define ICO_DLG_DETAILS SZ_SENDSS"_dlg_details" +#define ICO_BTN_UPDATE SZ_SENDSS"_plug_update" +#define ICO_BTN_OK SZ_SENDSS"_plug_ok" +#define ICO_BTN_CANCEL SZ_SENDSS"_plug_cancel" +//#define ICO_BTN_APPLY SZ_SENDSS"_plug_apply" +#define ICO_BTN_EDIT SZ_SENDSS"_plug_edit" +#define ICO_BTN_EDITON SZ_SENDSS"_plug_editOn" +#define ICO_BTN_COPY SZ_SENDSS"_plug_copy" +#define ICO_BTN_BBC SZ_SENDSS"_plug_bbc" +#define ICO_BTN_BBC2 SZ_SENDSS"_plug_bbclnk" +#define ICO_BTN_DOWNARROW SZ_SENDSS"_plug_downarrow" -//#define ICO_BTN_OVERLAYOFF MODNAME"_plug_SSOverlayOff" -//#define ICO_BTN_OVERLAYON MODNAME"_plug_SSOverlayOn" +//#define ICO_BTN_OVERLAYOFF SZ_SENDSS"_plug_SSOverlayOff" +//#define ICO_BTN_OVERLAYON SZ_SENDSS"_plug_SSOverlayOn" void IcoLib_LoadModule(); |