From 9c8e399b431a9b0995efd24752a47efbe6e84ade Mon Sep 17 00:00:00 2001
From: George Hazan <george.hazan@gmail.com>
Date: Mon, 24 Feb 2014 12:27:21 +0000
Subject: - added ME_FILEDLG_CANCELED & ME_FILEDLG_SUCCEEDED events to support
 async file selection dialog; - return value of MS_FILE_SENDFILE* services
 changed: now it returns a dialog handle; - code cleaning

git-svn-id: http://svn.miranda-ng.org/main/trunk@8253 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
---
 include/delphi/m_file.inc | 42 ++++++++++++++++++---------
 include/m_file.h          | 72 +++++++++++++++++++++++++----------------------
 2 files changed, 67 insertions(+), 47 deletions(-)

(limited to 'include')

diff --git a/include/delphi/m_file.inc b/include/delphi/m_file.inc
index 224aa41d8f..760ade5646 100644
--- a/include/delphi/m_file.inc
+++ b/include/delphi/m_file.inc
@@ -25,36 +25,36 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 const
   {
-    wParam : HCONTACT
+    wParam : MCONTACT
     lParam : 0
     Affects: Brings up the send file dialog for a contact, see notes
-    Returns: 0 on success [non zero] on failure
+    Returns: file selection dialog's handle or 0 on error
     Notes  : Returns immediately without waiting for the send
   }
   MS_FILE_SENDFILE:PAnsiChar = 'SRFile/SendCommand';
 
   {
-    wParam : HCONTACT
+    wParam : MCONTACT
     lParam : pointer to an array of PAnsiChar's the first nil item
              terminates the list -- see notes
     Affects: Brings up the send file dialog with specifieed files already chosen
              the user is not prevented from editing the list --
-    Returns: 0 on success [non zero] on failure -- returns immediately without
-              waiting for the send to finish
+    Returns: file selection dialog's handle or 0 on error
+             returns immediately without waiting for the send to finish
     Notes  : both directories and files can be given
     Version: v0.1.2.1+
   }
   MS_FILE_SENDSPECIFICFILES:PAnsiChar = 'SRFile/SendSpecificFiles';
 
-{
-  v0.9.0+
-  wParam=(WPARAM)(HANDLE)hContact
-  lParam=(LPARAM)(const TCHAR**)ppFiles
-  returns 0 on success or nonzero on failure
-  returns immediately, without waiting for the send
-}
+  {
+    wParam : MCONTACT
+    lParam : pointer to an array of PWideChar's the first nil item
+             terminates the list -- see notes
+    Returns: file selection dialog's handle or 0 on error
+             returns immediately, without waiting for the send
+  }
   MS_FILE_SENDSPECIFICFILEST:PAnsiChar = 'SRFile/SendSpecificFilesT';
-
+  
   {
     wParam : HCONTACT
     lParam : Pointer to a buffer
@@ -62,10 +62,24 @@ const
              should be at least MAX_PATH long (defined with WinAPI),
              the returned path may not exist -- see notes
     Returns: Returns 0 on success [non zero] on failure
-    notes  : If HCONTACT is NULL(0) the path returned is the path
+    Notes  : If HCONTACT is NULL(0) the path returned is the path
              without the postfix contact name.
     Version: v0.1.2.2+
   }
   MS_FILE_GETRECEIVEDFILESFOLDER:PAnsiChar = 'SRFile/GetReceivedFilesFolder';
 
+  {
+    wParam : HCONTACT
+    lParam : file selection dialog's window
+    Notes  : notifies a caller about file send start
+  }
+  ME_FILEDLG_SUCCEEDED:PAnsiChar = 'SRFile/Dlg/Succeeded';
+
+  {
+    wParam : HCONTACT
+    lParam : file selection dialog's window
+    Notes  : notifies a caller about file send cancellation
+  }
+  ME_FILEDLG_CANCELED:PAnsiChar = 'SRFile/Dlg/Canceled';
+
 {$ENDIF}
diff --git a/include/m_file.h b/include/m_file.h
index 98597bb745..ccb39cd66d 100644
--- a/include/m_file.h
+++ b/include/m_file.h
@@ -25,45 +25,51 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #ifndef M_FILE_H__
 #define M_FILE_H__ 1
 
-//brings up the send file dialog for a contact
-//wParam = (WPARAM)(HANDLE)hContact
-//lParam = 0
-//returns 0 on success or nonzero on failure
-//returns immediately, without waiting for the send
+// brings up the send file dialog for a contact
+// wParam = (MCONTACT)hContact
+// lParam = 0
+// returns file selection dialog's handle or 0 on error
+// returns immediately, without waiting for the send
 #define MS_FILE_SENDFILE   "SRFile/SendCommand"
 
-//brings up the send file dialog with the specified files already chosen
-//v0.1.2.1+
-//wParam = (WPARAM)(HANDLE)hContact
-//lParam = (LPARAM)(const char**)ppFiles
-//returns 0 on success or nonzero on failure
-//returns immediately, without waiting for the send
-//the user is not prevented from changing the filename with the 'choose again'
-//button
-//ppFiles is a NULL-terminated array of fully qualified filenames.
-//To send subdirectories, include their name in the list without a trailing
-//backslash. In order to keep contained files in their correct place on
-//receiving, the subdirectory they're in must preceed the file. This applies
-//to subdirectories themselves too: they must be preceeded by their container
-//if you want to send the container and keep the original directory inside it.
+// brings up the send file dialog with the specified files already chosen
+// returns immediately, without waiting for the send
+// wParam = (WPARAM)(HANDLE)hContact
+// lParam = (LPARAM)(const char**)ppFiles
+// returns file selection dialog's handle or 0 on error
+// returns immediately, without waiting for the send
+// the user is not prevented from changing the filename with the 'choose again' button
+// ppFiles is a NULL-terminated array of fully qualified filenames.
+// To send subdirectories, include their name in the list without a trailing
+// backslash. In order to keep contained files in their correct place on
+// receiving, the subdirectory they're in must preceed the file. This applies
+// to subdirectories themselves too: they must be preceeded by their container
+// if you want to send the container and keep the original directory inside it.
 #define MS_FILE_SENDSPECIFICFILES  "SRFile/SendSpecificFiles"
 
-//v0.9.0+
-//wParam = (WPARAM)(HANDLE)hContact
-//lParam = (LPARAM)(const TCHAR**)ppFiles
-//returns 0 on success or nonzero on failure
-//returns immediately, without waiting for the send
+// wParam = (MCONTACT)hContact
+// lParam = (LPARAM)(const TCHAR**)ppFiles
+// returns file selection dialog's handle or 0 on error
+// returns immediately, without waiting for the send
 #define MS_FILE_SENDSPECIFICFILEST  "SRFile/SendSpecificFilesT"
 
-//get the received files folder    v0.1.2.2+
-//wParam = (WPARAM)(HANDLE)hContact
-//lParam = (LPARAM)(char *)pszOutput
-//returns 0 on success or nonzero on failure
-//pszOutput must be at least MAX_PATH characters long
-//If hContact is NULL this function will retrieve the received files folder
-//name without any appended user names.
-//Note that the directory name returned by this function does not necessarily
-//exist.
+// wParam = (MCONTACT)hContact
+// lParam = (LPARAM)(char *)pszOutput
+// returns 0 on success or nonzero on failure
+// pszOutput must be at least MAX_PATH characters long
+// If hContact is NULL this function will retrieve the received files folder
+// name without any appended user names.
+// Note that the directory name returned by this function does not necessarily exist.
 #define MS_FILE_GETRECEIVEDFILESFOLDER  "SRFile/GetReceivedFilesFolder"
 
+// notifies a caller about file send start
+// wParam = (MCONTACT)hContact
+// lParam = (LPARAM)(HWND)hwndDialog
+#define ME_FILEDLG_SUCCEEDED "SRFile/Dlg/Succeeded"
+
+// notifies a caller about file send cancellation
+// wParam = (MCONTACT)hContact
+// lParam = (LPARAM)(HWND)hwndDialog
+#define ME_FILEDLG_CANCELED "SRFile/Dlg/Canceled"
+
 #endif // M_FILE_H__
-- 
cgit v1.2.3