diff options
| -rw-r--r-- | plugins/SendScreenshotPlus/SendSS_10.vcxproj | 2 | ||||
| -rw-r--r-- | plugins/SendScreenshotPlus/SendSS_10.vcxproj.filters | 6 | ||||
| -rw-r--r-- | plugins/SendScreenshotPlus/src/CSendDropbox.cpp | 70 | ||||
| -rw-r--r-- | plugins/SendScreenshotPlus/src/CSendDropbox.h | 49 | ||||
| -rw-r--r-- | plugins/SendScreenshotPlus/src/Main.cpp | 1 | ||||
| -rw-r--r-- | plugins/SendScreenshotPlus/src/UMainForm.cpp | 8 | ||||
| -rw-r--r-- | plugins/SendScreenshotPlus/src/UMainForm.h | 3 | ||||
| -rw-r--r-- | plugins/SendScreenshotPlus/src/global.h | 3 | 
8 files changed, 141 insertions, 1 deletions
diff --git a/plugins/SendScreenshotPlus/SendSS_10.vcxproj b/plugins/SendScreenshotPlus/SendSS_10.vcxproj index 0768029ab7..9194610445 100644 --- a/plugins/SendScreenshotPlus/SendSS_10.vcxproj +++ b/plugins/SendScreenshotPlus/SendSS_10.vcxproj @@ -171,6 +171,7 @@      </ResourceCompile>
    </ItemDefinitionGroup>
    <ItemGroup>
 +    <ClCompile Include="src\CSendDropbox.cpp" />
      <ClCompile Include="src\stdafx.cpp">
        <PrecompiledHeader>Create</PrecompiledHeader>
      </ClCompile>
 @@ -190,6 +191,7 @@      <ClCompile Include="src\Main.cpp" />
    </ItemGroup>
    <ItemGroup>
 +    <ClInclude Include="src\CSendDropbox.h" />
      <ClInclude Include="src\DevKey.h" />
      <ClInclude Include="src\UAboutForm.h" />
      <ClInclude Include="src\UMainForm.h" />
 diff --git a/plugins/SendScreenshotPlus/SendSS_10.vcxproj.filters b/plugins/SendScreenshotPlus/SendSS_10.vcxproj.filters index 8b1b385dcb..28ac622f09 100644 --- a/plugins/SendScreenshotPlus/SendSS_10.vcxproj.filters +++ b/plugins/SendScreenshotPlus/SendSS_10.vcxproj.filters @@ -58,6 +58,9 @@      <ClCompile Include="src\UMainForm.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 +    <ClCompile Include="src\CSendDropbox.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
    </ItemGroup>
    <ItemGroup>
      <ClInclude Include="src\resource.h">
 @@ -114,6 +117,9 @@      <ClInclude Include="src\DevKey.h">
        <Filter>Header Files</Filter>
      </ClInclude>
 +    <ClInclude Include="src\CSendDropbox.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
    </ItemGroup>
    <ItemGroup>
      <ResourceCompile Include="res\resource.rc">
 diff --git a/plugins/SendScreenshotPlus/src/CSendDropbox.cpp b/plugins/SendScreenshotPlus/src/CSendDropbox.cpp new file mode 100644 index 0000000000..c2debbdb85 --- /dev/null +++ b/plugins/SendScreenshotPlus/src/CSendDropbox.cpp @@ -0,0 +1,70 @@ +/* + +Miranda NG: the free IM client for Microsoft* Windows* + +Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), +Copyright (c) 2000-09 Miranda ICQ/IM project, + +This file is part of Send Screenshot Plus, a Miranda IM plugin. +Copyright (c) 2010 Ing.U.Horn + +Parts of this file based on original sorce code +(c) 2004-2006 Sérgio Vieira Rolanski (portet from Borland C++) + +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 "global.h" + +//--------------------------------------------------------------------------- +CSendDropbox::CSendDropbox(HWND Owner, MCONTACT hContact, bool bAsync) +: CSend(Owner, hContact, bAsync){ +	m_EnableItem = SS_DLG_DESCRIPTION | SS_DLG_AUTOSEND | SS_DLG_DELETEAFTERSSEND; +	m_pszSendTyp = LPGENT("Dropbox transfer"); +} + +CSendDropbox::~CSendDropbox(){ +} + +//--------------------------------------------------------------------------- +int CSendDropbox::Send() { +	if(!m_bAsync){ +		SendThread(); +		return 1; +	} +	mir_forkthread(&CSendDropbox::SendThreadWrapper, this); +	return 0; +} + +//--------------------------------------------------------------------------- + + +void CSendDropbox::SendThread() { +	INT_PTR ret=0; +	if(!m_hContact) +		SetContact(db_find_first("Dropbox")); +	if(m_hContact) +		ret = CallService(MS_DROPBOX_SEND_FILE, (WPARAM)m_hContact, (LPARAM)m_pszFile); +	if(!ret) { +		Error(TranslateT("%s (%i):\nCould not add a share to the Dropbox plugin."),TranslateTS(m_pszSendTyp),ret); +		Exit(ACKRESULT_FAILED); return; +	} +	Exit(ACKRESULT_SUCCESS); +} + +void CSendDropbox::SendThreadWrapper(void * Obj) { +	reinterpret_cast<CSendDropbox*>(Obj)->SendThread(); +} diff --git a/plugins/SendScreenshotPlus/src/CSendDropbox.h b/plugins/SendScreenshotPlus/src/CSendDropbox.h new file mode 100644 index 0000000000..33a6985d59 --- /dev/null +++ b/plugins/SendScreenshotPlus/src/CSendDropbox.h @@ -0,0 +1,49 @@ +/* + +Miranda NG: the free IM client for Microsoft* Windows* + +Copyright (c) 2012-14 Miranda NG project (http://miranda-ng.org), +Copyright (c) 2000-09 Miranda ICQ/IM project, + +This file is part of Send Screenshot Plus, a Miranda IM plugin. +Copyright (c) 2010 Ing.U.Horn + +Parts of this file based on original sorce code +(c) 2004-2006 Sérgio Vieira Rolanski (portet from Borland C++) + +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. +*/ + +#ifndef _CSEND_DROPBOX_FILE_H +#define _CSEND_DROPBOX_FILE_H + +//--------------------------------------------------------------------------- +class CSendDropbox : public CSend { +	public: +		CSendDropbox(HWND Owner, MCONTACT hContact, bool bAsync); +		~CSendDropbox(); + +		int Send(); + +	protected: +		char*					m_pszFileName; +		char*					m_URL; +		void SendThread(); +		static void SendThreadWrapper(void *Obj); +}; + +//--------------------------------------------------------------------------- + +#endif diff --git a/plugins/SendScreenshotPlus/src/Main.cpp b/plugins/SendScreenshotPlus/src/Main.cpp index e2cfc37f9a..fd7a895090 100644 --- a/plugins/SendScreenshotPlus/src/Main.cpp +++ b/plugins/SendScreenshotPlus/src/Main.cpp @@ -133,6 +133,7 @@ int hook_ModulesLoaded(WPARAM, LPARAM)  	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(); diff --git a/plugins/SendScreenshotPlus/src/UMainForm.cpp b/plugins/SendScreenshotPlus/src/UMainForm.cpp index da7ca17cb6..0356361da0 100644 --- a/plugins/SendScreenshotPlus/src/UMainForm.cpp +++ b/plugins/SendScreenshotPlus/src/UMainForm.cpp @@ -311,6 +311,11 @@ 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) { +		ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT("Dropbox")), SS_DROPBOX); +	}else if(m_opt_cboxSendBy == SS_DROPBOX) { +		m_opt_cboxSendBy = SS_IMAGESHACK; +	}  	ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT("ImageShack")), SS_IMAGESHACK);  	ComboBox_SelectItemData (hCtrl, -1, m_opt_cboxSendBy);	//use Workaround for MS bug ComboBox_SelectItemData  	} @@ -828,6 +833,9 @@ void TfrmMain::cboxSendByChange() {  		case SS_FTPFILE:		//"FTP File"  			m_cSend = new CSendFTPFile(m_hWnd, m_hContact, true);  			break; +		case SS_DROPBOX:		//"Dropbox" +			m_cSend = new CSendDropbox(m_hWnd, m_hContact, false); +			break;  		case SS_IMAGESHACK:		//"ImageShack"  			m_cSend = new CSendImageShack(m_hWnd, m_hContact, true);  			break; diff --git a/plugins/SendScreenshotPlus/src/UMainForm.h b/plugins/SendScreenshotPlus/src/UMainForm.h index 21a0519691..5aa35e484e 100644 --- a/plugins/SendScreenshotPlus/src/UMainForm.h +++ b/plugins/SendScreenshotPlus/src/UMainForm.h @@ -34,7 +34,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  #define SS_EMAIL		2  #define SS_HTTPSERVER	3  #define SS_FTPFILE		4 -#define SS_IMAGESHACK	5 +#define SS_DROPBOX		5 +#define SS_IMAGESHACK	6  // Used for our own cheap TrackMouseEvent  #define BUTTON_POLLDELAY    50 diff --git a/plugins/SendScreenshotPlus/src/global.h b/plugins/SendScreenshotPlus/src/global.h index b643f94c15..37d08e61c1 100644 --- a/plugins/SendScreenshotPlus/src/global.h +++ b/plugins/SendScreenshotPlus/src/global.h @@ -76,6 +76,7 @@ using namespace std;  #include <m_popup2.h>  #include <m_sendss.h>  #include <m_userinfoex.h> +#include <m_dropbox.h>  #include "mir_string.h"  #include "mir_icolib.h" @@ -85,6 +86,7 @@ using namespace std;  #include "version.h"  #include "main.h"  #include "CSend.h" +#include "CSendDropbox.h"  #include "CSendEmail.h"  #include "CSendFile.h"  #include "CSendFTPFile.h" @@ -108,6 +110,7 @@ typedef struct _MGLOBAL {  	BOOLEAN		PopupActionsExist	: 1;		// Popup++ or MS_POPUP_REGISTERACTIONS exist  	BOOLEAN		PluginHTTPExist		: 1;		// HTTPServer or MS_HTTP_ACCEPT_CONNECTIONS exist  	BOOLEAN		PluginFTPExist		: 1;		// FTPFile or MS_FTPFILE_SHAREFILE exist +	BOOLEAN		PluginDropboxExist	: 1;		// Dropbox or MS_DROPBOX_SEND_FILE exists  } MGLOBAL, *LPMGLOBAL;  | 
