Author: bfreisen
Date: Mon Sep 26 19:53:42 2016
New Revision: 72819

URL: http://svn.reactos.org/svn/reactos?rev=72819&view=rev
Log:
[MSPAINT]
- port load and save to ATL::CImage
- let CImage generate the filter lists for the dialogs
- add menu entries "From Scanner or Camera..." and "Send..." (no functionality)
- add menu entries for most recently used files using ATL::CPath and 
ATL::CString
- manage list of most recently used files in registry using ATL::CRegKey
- use CString in some places instead of TCHAR arrays

Use of CImage for load/save adds support for all GDI+ formats but breaks 
import/export of dots per meter/inch values.

Modified:
    trunk/reactos/base/applications/mspaint/CMakeLists.txt
    trunk/reactos/base/applications/mspaint/definitions.h
    trunk/reactos/base/applications/mspaint/dib.cpp
    trunk/reactos/base/applications/mspaint/dib.h
    trunk/reactos/base/applications/mspaint/globalvar.h
    trunk/reactos/base/applications/mspaint/lang/bg-BG.rc
    trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc
    trunk/reactos/base/applications/mspaint/lang/de-DE.rc
    trunk/reactos/base/applications/mspaint/lang/en-GB.rc
    trunk/reactos/base/applications/mspaint/lang/en-US.rc
    trunk/reactos/base/applications/mspaint/lang/es-ES.rc
    trunk/reactos/base/applications/mspaint/lang/eu-ES.rc
    trunk/reactos/base/applications/mspaint/lang/fr-FR.rc
    trunk/reactos/base/applications/mspaint/lang/he-IL.rc
    trunk/reactos/base/applications/mspaint/lang/hu-HU.rc
    trunk/reactos/base/applications/mspaint/lang/it-IT.rc
    trunk/reactos/base/applications/mspaint/lang/ja-JP.rc
    trunk/reactos/base/applications/mspaint/lang/nl-NL.rc
    trunk/reactos/base/applications/mspaint/lang/no-NO.rc
    trunk/reactos/base/applications/mspaint/lang/pl-PL.rc
    trunk/reactos/base/applications/mspaint/lang/pt-BR.rc
    trunk/reactos/base/applications/mspaint/lang/pt-PT.rc
    trunk/reactos/base/applications/mspaint/lang/ro-RO.rc
    trunk/reactos/base/applications/mspaint/lang/ru-RU.rc
    trunk/reactos/base/applications/mspaint/lang/sk-SK.rc
    trunk/reactos/base/applications/mspaint/lang/sq-AL.rc
    trunk/reactos/base/applications/mspaint/lang/sv-SE.rc
    trunk/reactos/base/applications/mspaint/lang/tr-TR.rc
    trunk/reactos/base/applications/mspaint/lang/uk-UA.rc
    trunk/reactos/base/applications/mspaint/lang/zh-CN.rc
    trunk/reactos/base/applications/mspaint/lang/zh-TW.rc
    trunk/reactos/base/applications/mspaint/main.cpp
    trunk/reactos/base/applications/mspaint/precomp.h
    trunk/reactos/base/applications/mspaint/registry.cpp
    trunk/reactos/base/applications/mspaint/registry.h
    trunk/reactos/base/applications/mspaint/winproc.cpp
    trunk/reactos/base/applications/mspaint/winproc.h

Modified: trunk/reactos/base/applications/mspaint/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/CMakeLists.txt?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/CMakeLists.txt      [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/CMakeLists.txt      [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -1,6 +1,7 @@
 project(MSPAINT)
 
-set_cpp(WITH_RUNTIME)
+add_definitions(-DINITGUID)
+set_cpp(WITH_RUNTIME WITH_EXCEPTIONS)
 
 include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
 
@@ -32,7 +33,7 @@
 add_rc_deps(rsrc.rc ${mspaint_rc_deps})
 add_executable(mspaint ${SOURCE} rsrc.rc)
 set_module_type(mspaint win32gui UNICODE)
-target_link_libraries(mspaint atlnew)
-add_importlibs(mspaint hhctrl comdlg32 shell32 user32 gdi32 advapi32 comctl32 
msvcrt kernel32)
+target_link_libraries(mspaint atlnew uuid)
+add_importlibs(mspaint hhctrl comdlg32 shell32 user32 gdi32 advapi32 comctl32 
msvcrt kernel32 rpcrt4 shlwapi)
 add_pch(mspaint precomp.h SOURCE)
 add_cd_file(TARGET mspaint DESTINATION reactos/system32 FOR all)

Modified: trunk/reactos/base/applications/mspaint/definitions.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/definitions.h?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/definitions.h       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/definitions.h       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -50,15 +50,25 @@
 #define IDM_FILESAVE   203
 #define IDM_FILESAVEAS 204
 
+#define IDM_FILEFROMSCANNERORCAMERA 205
+
 #define IDM_FILEPAGEVIEW  206
 #define IDM_FILEPAGESETUP 207
 #define IDM_FILEPRINT     208
 
+#define IDM_FILESEND 209
+
 #define IDM_FILEASWALLPAPERPLANE     210
 #define IDM_FILEASWALLPAPERCENTERED  211
 #define IDM_FILEASWALLPAPERSTRETCHED 212
 
-#define IDM_FILEEXIT 215
+#define IDM_FILEMOSTRECENTLYUSEDFILE 213
+#define IDM_FILE1 214
+#define IDM_FILE2 215
+#define IDM_FILE3 216
+#define IDM_FILE4 217
+
+#define IDM_FILEEXIT 218
 
 #define IDM_EDITUNDO            220
 #define IDM_EDITREDO            221
@@ -214,10 +224,10 @@
 #define IDS_TOOLTIP15 924
 #define IDS_TOOLTIP16 925
 
-#define IDS_OPENFILTER 926
-#define IDS_SAVEFILTER 927
-#define IDS_FILESIZE   928
-#define IDS_PRINTRES   929
+#define IDS_ALLFILES        926
+#define IDS_ALLPICTUREFILES 927
+#define IDS_FILESIZE        928
+#define IDS_PRINTRES        929
 
 #define IDS_INTNUMBERS 930
 #define IDS_PERCENTAGE 931

Modified: trunk/reactos/base/applications/mspaint/dib.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/dib.cpp?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/dib.cpp     [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/dib.cpp     [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -45,48 +45,17 @@
 void
 SaveDIBToFile(HBITMAP hBitmap, LPTSTR FileName, HDC hDC, LPSYSTEMTIME time, 
int *size, int hRes, int vRes)
 {
-    BITMAP bm;
-    HANDLE hFile;
-    BITMAPFILEHEADER bf;
-    BITMAPINFOHEADER bi;
-    int imgDataSize;
-    DWORD dwBytesWritten;
-    char *buffer;
+    CImage img;
+    img.Attach(hBitmap);
+    img.Save(FileName);  // TODO: error handling
+    img.Detach();
 
-    GetObject(hBitmap, sizeof(BITMAP), &bm);
+    // update time and size
 
-    ZeroMemory(&bf, sizeof(BITMAPFILEHEADER));
-    ZeroMemory(&bi, sizeof(BITMAPINFOHEADER));
-
-    imgDataSize = bm.bmWidthBytes * bm.bmHeight;
-    bf.bfType = 0x4d42;         /* BM */
-    bf.bfSize = imgDataSize + 52;
-    bf.bfOffBits = 54;
-    bi.biSize = sizeof(BITMAPINFOHEADER);
-    bi.biWidth = bm.bmWidth;
-    bi.biHeight = bm.bmHeight;
-    bi.biPlanes = bm.bmPlanes;
-    bi.biBitCount = bm.bmBitsPixel;
-    bi.biCompression = BI_RGB;
-    bi.biXPelsPerMeter = hRes;
-    bi.biYPelsPerMeter = vRes;
-
-    buffer = (char*) HeapAlloc(GetProcessHeap(), 0, imgDataSize);
-    if (!buffer)
+    HANDLE hFile =
+        CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ, NULL, 
OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL);
+    if (hFile == INVALID_HANDLE_VALUE)
         return;
-
-    GetDIBits(hDC, hBitmap, 0, bm.bmHeight, buffer, (LPBITMAPINFO) & bi, 
DIB_RGB_COLORS);
-
-    hFile = CreateFile(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 
FILE_FLAG_SEQUENTIAL_SCAN, NULL);
-    if (hFile == INVALID_HANDLE_VALUE)
-    {
-        HeapFree(GetProcessHeap(), 0, buffer);
-        return;
-    }
-
-    WriteFile(hFile, &bf, sizeof(BITMAPFILEHEADER), &dwBytesWritten, NULL);
-    WriteFile(hFile, &bi, sizeof(BITMAPINFOHEADER), &dwBytesWritten, NULL);
-    WriteFile(hFile, buffer, imgDataSize, &dwBytesWritten, NULL);
 
     if (time)
     {
@@ -97,11 +66,12 @@
     if (size)
         *size = GetFileSize(hFile, NULL);
 
+    // TODO: update hRes and vRes
+
     CloseHandle(hFile);
-    HeapFree(GetProcessHeap(), 0, buffer);
 }
 
-void ShowFileLoadError(LPTSTR name)
+void ShowFileLoadError(LPCTSTR name)
 {
     TCHAR programname[20];
     TCHAR loaderrortext[100];
@@ -113,13 +83,10 @@
 }
 
 void
-LoadDIBFromFile(HBITMAP * hBitmap, LPTSTR name, LPSYSTEMTIME time, int *size, 
int *hRes, int *vRes)
+LoadDIBFromFile(HBITMAP * hBitmap, LPCTSTR name, LPSYSTEMTIME time, int *size, 
int *hRes, int *vRes)
 {
-    BITMAPFILEHEADER bfh;
-    BITMAPINFO *bi;
-    PVOID pvBits;
-    DWORD dwBytesRead;
-    HANDLE hFile;
+    CImage img;
+    img.Load(name);  // TODO: error handling
 
     if (!hBitmap)
     {
@@ -127,19 +94,13 @@
         return;
     }
 
-    hFile =
+    *hBitmap = img.Detach();
+
+    // update time and size
+    HANDLE hFile =
         CreateFile(name, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 
FILE_FLAG_SEQUENTIAL_SCAN, NULL);
     if (hFile == INVALID_HANDLE_VALUE)
     {
-        ShowFileLoadError(name);
-        return;
-    }
-
-    /* read header and check for 'BM' magic */
-    ReadFile(hFile, &bfh, sizeof(BITMAPFILEHEADER), &dwBytesRead, NULL);
-    if (bfh.bfType != 0x4d42)
-    {
-        CloseHandle(hFile);
         ShowFileLoadError(name);
         return;
     }
@@ -153,23 +114,7 @@
     if (size)
         *size = GetFileSize(hFile, NULL);
 
-    bi = (BITMAPINFO*) HeapAlloc(GetProcessHeap(), 0, bfh.bfOffBits - 
sizeof(BITMAPFILEHEADER));
-    if (!bi)
-    {
-        CloseHandle(hFile);
-        ShowFileLoadError(name);
-        return;
-    }
-
-    ReadFile(hFile, bi, bfh.bfOffBits - sizeof(BITMAPFILEHEADER), 
&dwBytesRead, NULL);
-    *hBitmap = CreateDIBSection(NULL, bi, DIB_RGB_COLORS, &pvBits, NULL, 0);
-    ReadFile(hFile, pvBits, bfh.bfSize - bfh.bfOffBits, &dwBytesRead, NULL);
-
-    if (hRes)
-        *hRes = (*bi).bmiHeader.biXPelsPerMeter;
-    if (vRes)
-        *vRes = (*bi).bmiHeader.biYPelsPerMeter;
+    // TODO: update hRes and vRes
 
     CloseHandle(hFile);
-    HeapFree(GetProcessHeap(), 0, bi);
 }

Modified: trunk/reactos/base/applications/mspaint/dib.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/dib.h?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/dib.h       [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/dib.h       [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -15,6 +15,6 @@
 void SaveDIBToFile(HBITMAP hBitmap, LPTSTR FileName, HDC hDC, LPSYSTEMTIME 
time, int *size, int hRes,
                    int vRes);
 
-void LoadDIBFromFile(HBITMAP *hBitmap, LPTSTR name, LPSYSTEMTIME time, int 
*size, int *hRes, int *vRes);
+void LoadDIBFromFile(HBITMAP *hBitmap, LPCTSTR name, LPSYSTEMTIME time, int 
*size, int *hRes, int *vRes);
 
-void ShowFileLoadError(LPTSTR name);
+void ShowFileLoadError(LPCTSTR name);

Modified: trunk/reactos/base/applications/mspaint/globalvar.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/globalvar.h?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/globalvar.h [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/globalvar.h [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -61,7 +61,6 @@
 
 extern HINSTANCE hProgInstance;
 
-extern TCHAR filename[256];
 extern TCHAR filepathname[1000];
 extern BOOL isAFile;
 extern int fileSize;

Modified: trunk/reactos/base/applications/mspaint/lang/bg-BG.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/bg-BG.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/bg-BG.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/bg-BG.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Запис\tCtrl+S", IDM_FILESAVE
         MENUITEM "Запис &като...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Поставяне като тапет 
(настелено)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Поставяне като тапет (в средата)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Поставяне като тапет 
(разпънато)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Из&ход\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Многоъгълник"
     IDS_TOOLTIP15 "Елипса"
     IDS_TOOLTIP16 "Заоблен правоъгълник"
-    IDS_OPENFILTER "Файлове bitmap 
(*.bmp;*.dib)\1*.bmp;*.dib\1Всички файлове (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 разрядни файлове bitmap 
(*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Всички файлове"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d разряда"
     IDS_PRINTRES "%d x %d точки на метър"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "Uložit\tCtrl+S", IDM_FILESAVE
         MENUITEM "Uložit j&ako...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Nastavit jako pozadí (vedle sebe)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Nastavit jako pozadí (na střed)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Nastavit jako pozadí (roztáhnout)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Ukončit\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polygon"
     IDS_TOOLTIP15 "Elipsa"
     IDS_TOOLTIP16 "Zaoblený obdélník"
-    IDS_OPENFILTER "Soubory bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Všechny 
soubory (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24bitová bitmapa (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Všechny soubory"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bajtů"
     IDS_PRINTRES "%d x %d pixelů na metr"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/de-DE.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/de-DE.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/de-DE.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/de-DE.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "Speichern\tStrg+S", IDM_FILESAVE
         MENUITEM "Speichern &unter...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "Von Scanner oder Kamera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Seitenansicht", IDM_FILEPAGEVIEW
         MENUITEM "Seite einrichten...", IDM_FILEPAGESETUP
         MENUITEM "&Drucken...\tStrg+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Senden...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Als Hintergrund (Fläche)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Als Hintergrund (Zentriert)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Als Hintergrund (Gestreckt)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Zuletzt verwendete Datei", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Beenden\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polygon"
     IDS_TOOLTIP15 "Ellipse"
     IDS_TOOLTIP16 "Abgerundetes Rechteck"
-    IDS_OPENFILTER "Bitmapdateien (*.bmp;*.dib)\1*.bmp;*.dib\1Alle Dateien 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24-Bit-Bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Alle Dateien"
+    IDS_ALLPICTUREFILES "Alle Bilddateien"
     IDS_FILESIZE "%d Bytes"
     IDS_PRINTRES "%d x %d Pixel pro Meter"
     IDS_INTNUMBERS "Bitte geben Sie nur ganze Zahlen ein!"

Modified: trunk/reactos/base/applications/mspaint/lang/en-GB.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/en-GB.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/en-GB.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/en-GB.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Save\tCtrl+S", IDM_FILESAVE
         MENUITEM "Save &As...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "&Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Set as wallpaper (Tiled)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Set as wallpaper (Centered)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Set as wallpaper (Stretched)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Quit\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polygon"
     IDS_TOOLTIP15 "Ellipse"
     IDS_TOOLTIP16 "Rounded rectangle"
-    IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/en-US.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/en-US.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/en-US.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/en-US.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Save\tCtrl+S", IDM_FILESAVE
         MENUITEM "Save &As...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "&Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Set as wallpaper (Tiled)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Set as wallpaper (Centered)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Set as wallpaper (Stretched)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "E&xit\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polygon"
     IDS_TOOLTIP15 "Ellipse"
     IDS_TOOLTIP16 "Rounded rectangle"
-    IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/es-ES.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/es-ES.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/es-ES.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/es-ES.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -18,13 +18,19 @@
         MENUITEM "&Guardar\tCtrl+G", IDM_FILESAVE
         MENUITEM "Guardar &como...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Vista de página", IDM_FILEPAGEVIEW
         MENUITEM "Configurar página...", IDM_FILEPAGESETUP
         MENUITEM "&Imprimir...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Fondo de pantalla (normal)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Fondo de pantalla (centrado)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Fondo de pantalla (extendido)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Sa&lir\tAlt+F4", IDM_FILEEXIT
     END
@@ -211,8 +217,8 @@
     IDS_TOOLTIP14 "Polígono"
     IDS_TOOLTIP15 "Elipse"
     IDS_TOOLTIP16 "Rectángulo redondeado"
-    IDS_OPENFILTER "Archivos de mapa de bits (*.bmp;*.dib)\1*.bmp;*.dib\1Todos 
los archivos (*.*)\1*.*\1"
-    IDS_SAVEFILTER "Mapa de bits de 24 bits (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Todos los archivos"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d píxeles/m"
     IDS_INTNUMBERS "Sólo se admiten números sin decimales."

Modified: trunk/reactos/base/applications/mspaint/lang/eu-ES.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/eu-ES.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/eu-ES.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/eu-ES.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -9,13 +9,19 @@
         MENUITEM "Gorde\tCtrl+S", IDM_FILESAVE
         MENUITEM "Gorde &honela...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Ezarri azteko plano gisa (Lauza moduan)", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "Ezarri azteko plano gisa (erdian)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Ezarri azteko plano gisa (tiratuta)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Irten\tAlt+F4", IDM_FILEEXIT
     END
@@ -202,8 +208,8 @@
     IDS_TOOLTIP14 "Poligonoa"
     IDS_TOOLTIP15 "Elipsea"
     IDS_TOOLTIP16 "Laukizuzen biribildua"
-    IDS_OPENFILTER "Bit-mapa fitxategiak(*.bmp;*.dib)\1*.bmp;*.dib\1Fitxategi 
gustiak (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 Biteko bit-mapa (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Fitxategi gustiak"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/fr-FR.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/fr-FR.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/fr-FR.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/fr-FR.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -9,13 +9,19 @@
         MENUITEM "&Enregistrer\tCtrl+S", IDM_FILESAVE
         MENUITEM "Enregistrer &sous...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Choisir comme image d'arrière-plan (mosaïque)", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "Choisir comme image d'arrière-plan (centrée)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Choisir comme image d'arrière-plan (étirée)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Quitter\tAlt+F4", IDM_FILEEXIT
     END
@@ -202,8 +208,8 @@
     IDS_TOOLTIP14 "Polygone"
     IDS_TOOLTIP15 "Ellipse"
     IDS_TOOLTIP16 "Rectangle arrondi"
-    IDS_OPENFILTER "Bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Tous les fichiers 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "Bitmap 24 bit (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Tous les fichiers"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d octets"
     IDS_PRINTRES "%d x %d pixels par mètre"
     IDS_INTNUMBERS "Veuillez entrer des nombres entiers uniquement !"

Modified: trunk/reactos/base/applications/mspaint/lang/he-IL.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/he-IL.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/he-IL.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/he-IL.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -9,13 +9,19 @@
         MENUITEM "&שמור\tCtrl+S", IDM_FILESAVE
         MENUITEM "שמור בש&ם...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "קבע כרקע שולחן העבודה (פרוש)", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "קבע כרקע שולחן העבודה (מרכז)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "קבע כרקע שולחן העבודה (מלא)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&יציאה\tAlt+F4", IDM_FILEEXIT
     END
@@ -202,8 +208,8 @@
     IDS_TOOLTIP14 "מצולע"
     IDS_TOOLTIP15 "אליפסה"
     IDS_TOOLTIP16 "מרובע עם קודקודים מרובעים"
-    IDS_OPENFILTER "קבצי מפת סיביות 
(*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1"
-    IDS_SAVEFILTER "קבצי מפת סיביות של 24 סיביות 
(*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d בתים"
     IDS_PRINTRES, "%d x %d פיקסלים למטר"
     IDS_INTNUMBERS, "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/hu-HU.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/hu-HU.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/hu-HU.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/hu-HU.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -9,13 +9,19 @@
         MENUITEM "&Mentés\tCtrl+S", IDM_FILESAVE
         MENUITEM "Mentés má&sként...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Beállítás tapétaként (mozaik)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Beállítás tapétaként (középre)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Beállítás tapétaként (nyújtás)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Kilépés\tAlt+F4", IDM_FILEEXIT
     END
@@ -202,8 +208,8 @@
     IDS_TOOLTIP14 "Sokszög"
     IDS_TOOLTIP15 "Ellipszis"
     IDS_TOOLTIP16 "Lekerekített téglalap"
-    IDS_OPENFILTER "Bitkép fájlok (*.bmp;*.dib)\1*.bmp;*.dib\1Minden fájl 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bites bitkép (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Minden fájl"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bájt"
     IDS_PRINTRES "%d x %d pixel per méter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/it-IT.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/it-IT.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/it-IT.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/it-IT.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "Salva\tMaiusc+F12", IDM_FILESAVE
         MENUITEM "Sal&va con nome...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Imposta come sfondo (normale)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Imposta come sfondo (centrata)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Imposta come sfondo (estesa)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "E&sci\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Poligono"
     IDS_TOOLTIP15 "Ellisse"
     IDS_TOOLTIP16 "Rettangolo arrotondato"
-    IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per metro"
     IDS_INTNUMBERS "Si prega di inserire solo numeri interi!"

Modified: trunk/reactos/base/applications/mspaint/lang/ja-JP.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/ja-JP.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/ja-JP.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/ja-JP.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "上書き保存(&S)\tCtrl+S", IDM_FILESAVE
         MENUITEM "名前を付けて保存(&A)...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "背景に設定 (並べて表示)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "背景に設定 (中央に表示)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "背景に設定 (拡大)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "ペイントの終了(&Q)\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "多角形"
     IDS_TOOLTIP15 "楕円"
     IDS_TOOLTIP16 "角丸四角形"
-    IDS_OPENFILTER "ビットマップ ファイル 
(*.bmp;*.dib)\1*.bmp;*.dib\1すべてのファイル (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 ビット ビットマップ 
(*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "すべてのファイル"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d バイト"
     IDS_PRINTRES "%d x %d ピクセル/メートル"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/nl-NL.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/nl-NL.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/nl-NL.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/nl-NL.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "Opslaan\tCtrl+S", IDM_FILESAVE
         MENUITEM "Ops&laan als...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Als achtergrond instellen (naast elkaar)", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "Als achtergrond instellen (gecentreerd)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Als achtergrond instellen (uitgerekt)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Afsluiten\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Veelhoek"
     IDS_TOOLTIP15 "Ovaal"
     IDS_TOOLTIP16 "Afgeronde rechthoek"
-    IDS_OPENFILTER "Bitmapbestanden (*.bmp;*.dib)\1*.bmp;*.dib\1Alle bestanden 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Alle bestanden"
+    IDS_ALLPICTUREFILES "Alle beeldbestanden"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/no-NO.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/no-NO.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/no-NO.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/no-NO.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Lagre\tCtrl+S", IDM_FILESAVE
         MENUITEM "Lagre &som...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Bruk som bakgrunn (sidestilt)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Bruk som bakgrunn (midstilt)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Bruk som bakgrunn (strukket)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Avslutt\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polygon"
     IDS_TOOLTIP15 "Sirkel"
     IDS_TOOLTIP16 "Avrundet rektangel"
-    IDS_OPENFILTER "Bitmap filer (*.bmp;*.dib)\1*.bmp;*.dib\1Alle filer 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Alle filer"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/pl-PL.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/pl-PL.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/pl-PL.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/pl-PL.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -18,13 +18,19 @@
         MENUITEM "&Zapisz\tCtrl+S", IDM_FILESAVE
         MENUITEM "Z&apisz jako...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "&Podgląd wydruku", IDM_FILEPAGEVIEW
         MENUITEM "&Ustawienia strony...", IDM_FILEPAGESETUP
         MENUITEM "&Drukuj...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Ustaw jako &tło (sąsiadująco)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "U&staw jako tło (wyśrodkowane)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Ustaw jako tło (rozciągnięte)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Za&kończ\tAlt+F4", IDM_FILEEXIT
     END
@@ -211,8 +217,8 @@
     IDS_TOOLTIP14 "Wielokąt"
     IDS_TOOLTIP15 "Elipsa"
     IDS_TOOLTIP16 "Zaokrąglony prostokąt"
-    IDS_OPENFILTER "Pliki Bitmapy (*.bmp;*.dib)\1*.bmp;*.dib\1Wszystkie pliki 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "Bitmapa 24-bitowa (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Wszystkie pliki"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bajtów"
     IDS_PRINTRES "%d x %d pikseli na metr"
     IDS_INTNUMBERS "Wprowadź liczbę całkowitą."

Modified: trunk/reactos/base/applications/mspaint/lang/pt-BR.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/pt-BR.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/pt-BR.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/pt-BR.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Salvar\tCtrl+S", IDM_FILESAVE
         MENUITEM "Salvar &como...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Definir como plano de fundo (Lado a lado)", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "Definir como plano de fundo (Centralizado)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Definir como plano de fundo (Esticado)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Sai&r\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polígono"
     IDS_TOOLTIP15 "Ellipse"
     IDS_TOOLTIP16 "Retângulo arredondado"
-    IDS_OPENFILTER "Arquivos de bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Todos os 
arquivos (*.*)\1*.*\1"
-    IDS_SAVEFILTER "Bitmaps de 24 bits (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Todos os arquivos"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/pt-PT.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/pt-PT.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/pt-PT.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/pt-PT.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Guardar\tCtrl+G", IDM_FILESAVE
         MENUITEM "Guardar &como...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Definir como fundo (Mosaico)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Definir como fundo (Centrado)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Definir como fundo (Esticado)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "Sai&r\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polígono"
     IDS_TOOLTIP15 "Elipse"
     IDS_TOOLTIP16 "Retângulo arredondado"
-    IDS_OPENFILTER "Ficheiros de mapa de bits 
(*.bmp;*.dib)\1*.bmp;*.dib\1Todos os arquivos (*.*)\1*.*\1"
-    IDS_SAVEFILTER "Mapa de bits de 24 bits (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Todos os arquivos"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/ro-RO.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/ro-RO.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/ro-RO.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/ro-RO.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -18,13 +18,19 @@
         MENUITEM "&Păstrează\tCtrl+S", IDM_FILESAVE
         MENUITEM "Păst&rare în…", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Pre&vizionează pagina", IDM_FILEPAGEVIEW
         MENUITEM "C&onfigurare pagină…", IDM_FILEPAGESETUP
         MENUITEM "I&mprimă…\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Decor de birou (în c&arou)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Decor de birou (&centrat)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Decor de birou (e&xtins)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "I&eșire\tAlt+F4", IDM_FILEEXIT
     END
@@ -211,8 +217,8 @@
     IDS_TOOLTIP14 "Poligon"
     IDS_TOOLTIP15 "Oval"
     IDS_TOOLTIP16 "Dreptunghi rotunjit"
-    IDS_OPENFILTER "Fișier bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Orice fișier 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "Bitmap pe 24 biți (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Orice fișier"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d octeți"
     IDS_PRINTRES "%d x %d pixeli pe metru"
     IDS_INTNUMBERS "Introduceți doar numere întregi!"

Modified: trunk/reactos/base/applications/mspaint/lang/ru-RU.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/ru-RU.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/ru-RU.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/ru-RU.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -9,13 +9,19 @@
         MENUITEM "&Сохранить\tCtrl+S", IDM_FILESAVE
         MENUITEM "Сохранить &как...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Просмотр страницы", IDM_FILEPAGEVIEW
         MENUITEM "Параметры страницы...", IDM_FILEPAGESETUP
         MENUITEM "&Печать...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Сделать фоновым рисунком 
(&замостить)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Сделать фоновым рисунком (по 
ц&ентру)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Сделать фоновым рисунком 
(раст&януть)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Выход\tAlt+F4", IDM_FILEEXIT
     END
@@ -202,8 +208,8 @@
     IDS_TOOLTIP14 "Многоугольник"
     IDS_TOOLTIP15 "Эллипс"
     IDS_TOOLTIP16 "Скругленный прямоугольник"
-    IDS_OPENFILTER "Точечные рисунки 
(*.bmp;*.dib)\1*.bmp;*.dib\1Все файлы (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24-разрядный рисунок 
(*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Все файлы"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d байт"
     IDS_PRINTRES "%d x %d пикселей на метр"
     IDS_INTNUMBERS, "Необходимо вводить только 
целые числа!"

Modified: trunk/reactos/base/applications/mspaint/lang/sk-SK.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/sk-SK.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/sk-SK.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/sk-SK.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -18,13 +18,19 @@
         MENUITEM "&Uložiť\tCtrl+S", IDM_FILESAVE
         MENUITEM "Uložiť &ako...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Nastaviť ako pozadie (vydláždené)", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "Nastaviť ako pozadie (v strede)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Nastaviť ako pozadie (roztiahnuté)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Skončiť\tAlt+F4", IDM_FILEEXIT
     END
@@ -211,8 +217,8 @@
     IDS_TOOLTIP14 "Polygón" //mnohouholník
     IDS_TOOLTIP15 "Elipsa"
     IDS_TOOLTIP16 "Zaoblený obdĺžnik"
-    IDS_OPENFILTER "Súbory bitových máp (*.bmp;*.dib)\1*.bmp;*.dib\1Všetky 
súbory (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24-bitová mapa (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Všetky súbory"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bajtov"
     IDS_PRINTRES "%d x %d pixelov na meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/sq-AL.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/sq-AL.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/sq-AL.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/sq-AL.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Ruaj\tCtrl+S", IDM_FILESAVE
         MENUITEM "Ruaj &si...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Vere si wallpaper (tiled)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "Vere si wallpaper (centered)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Vere si wallpaper (stretched)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Dil\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Polygon"
     IDS_TOOLTIP15 "Elips"
     IDS_TOOLTIP16 "Drejtkëndësh rrumbullak"
-    IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixels per meter"
     IDS_INTNUMBERS "Ju lutem shkruani numra integrale vetëm!"

Modified: trunk/reactos/base/applications/mspaint/lang/sv-SE.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/sv-SE.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/sv-SE.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/sv-SE.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -9,13 +9,19 @@
         MENUITEM "&Spara\tCtrl+S", IDM_FILESAVE
         MENUITEM "Spara so&m...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "Ange som skrivbordsbakgrund (kakelklädd)", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "Ange som skrivbordsbakgrund (centrerad)", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "Ange som skrivbordsbakgrund (utsträckt)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Avsluta\tAlt+F4", IDM_FILEEXIT
     END
@@ -202,8 +208,8 @@
     IDS_TOOLTIP14 "Polygon"
     IDS_TOOLTIP15 "Ellips"
     IDS_TOOLTIP16 "Avrundad rektangel"
-    IDS_OPENFILTER "Bitmap filer (*.bmp;*.dib)\1*.bmp;*.dib\1All files 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d bytes"
     IDS_PRINTRES "%d x %d pixlar per meter"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/tr-TR.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/tr-TR.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/tr-TR.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/tr-TR.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "&Sakla\tDenetim+S", IDM_FILESAVE
         MENUITEM "Ay&rı Sakla...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Sayfa Görünümü", IDM_FILEPAGEVIEW
         MENUITEM "Sayfa Ayarla...", IDM_FILEPAGESETUP
         MENUITEM "Ya&zdır...\tDenetim+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "&Döşeyerek Duvar Kağıdı Yap", IDM_FILEASWALLPAPERPLANE
         MENUITEM "&Ortalayarak Duvar Kağıdı Yap", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "&Uzatarak Duvar Kağıdı Yap", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "&Çıkış\tSeçenek+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Çokgen"
     IDS_TOOLTIP15 "Söbek"
     IDS_TOOLTIP16 "Yuvarlatılmış Dikdörtgen"
-    IDS_OPENFILTER "Bit Eşlem Resimleri (*.bmp, *.dib)\1*.bmp;*.dib\1Tüm 
Kütükler (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 Bitlik Bit Eşlem Resmi (*.bmp, *.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Tüm Kütükler"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d çoklu"
     IDS_PRINTRES "Tüm metrekarelerde %d*%d nokta"
     IDS_INTNUMBERS "Lütfen yalnızca tam sayı giriniz."

Modified: trunk/reactos/base/applications/mspaint/lang/uk-UA.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/uk-UA.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/uk-UA.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/uk-UA.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "З&берегти\tCtrl+S", IDM_FILESAVE
         MENUITEM "Зберегти &як...", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "Page View", IDM_FILEPAGEVIEW
         MENUITEM "Page Setup...", IDM_FILEPAGESETUP
         MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "&Замостити робочий стіл Windows", 
IDM_FILEASWALLPAPERPLANE
         MENUITEM "До ц&ентру робочого стола Windows", 
IDM_FILEASWALLPAPERCENTERED
         MENUITEM "&Встановити як тло (розтягнути)", 
IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "В&ихід\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "Багатокутник"
     IDS_TOOLTIP15 "Еліпс"
     IDS_TOOLTIP16 "Прямокутник з округленими 
кутами"
-    IDS_OPENFILTER "Точкові рисунки 
(*.bmp;*.dib)\1*.bmp;*.dib\1Усі файли (*.*)\1*.*\1"
-    IDS_SAVEFILTER "24-розрядний рисунок 
(*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "Усі файли"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d байт"
     IDS_PRINTRES "%d x %d пікс. на метр"
     IDS_INTNUMBERS "Please enter integral numbers only!"

Modified: trunk/reactos/base/applications/mspaint/lang/zh-CN.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/zh-CN.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/zh-CN.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/zh-CN.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "保存(&S)\tCtrl+S", IDM_FILESAVE
         MENUITEM "另存为...(&A)", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "页面视图", IDM_FILEPAGEVIEW
         MENUITEM "页面设置...", IDM_FILEPAGESETUP
         MENUITEM "打印(&P)...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "保存为壁纸 (普通)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "保存为壁纸 (居中)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "保存为壁纸 (拉伸)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "退出(&X)\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "多边形"
     IDS_TOOLTIP15 "椭圆"
     IDS_TOOLTIP16 "圆角矩形"
-    IDS_OPENFILTER "位图文件 (*.bmp;*.dib)\1*.bmp;*.dib\1All files 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 位位图文件 (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d 字节"
     IDS_PRINTRES "%d x %d 像素每米"
     IDS_INTNUMBERS "只输入数字积分!"

Modified: trunk/reactos/base/applications/mspaint/lang/zh-TW.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/lang/zh-TW.rc?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/lang/zh-TW.rc       [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/lang/zh-TW.rc       [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -17,13 +17,19 @@
         MENUITEM "儲存(&S)\tCtrl+S", IDM_FILESAVE
         MENUITEM "另存為...(&A)", IDM_FILESAVEAS
         MENUITEM SEPARATOR
+        MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA
+        MENUITEM SEPARATOR
         MENUITEM "頁面檢視", IDM_FILEPAGEVIEW
         MENUITEM "頁面設定...", IDM_FILEPAGESETUP
         MENUITEM "列印(&P)...\tCtrl+P", IDM_FILEPRINT
         MENUITEM SEPARATOR
+        MENUITEM "Send...", IDM_FILESEND
+        MENUITEM SEPARATOR
         MENUITEM "儲存為壁紙 (普通)", IDM_FILEASWALLPAPERPLANE
         MENUITEM "儲存為壁紙 (居中)", IDM_FILEASWALLPAPERCENTERED
         MENUITEM "儲存為壁紙 (拉伸)", IDM_FILEASWALLPAPERSTRETCHED
+        MENUITEM SEPARATOR
+        MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, 
GRAYED
         MENUITEM SEPARATOR
         MENUITEM "結束(&X)\tAlt+F4", IDM_FILEEXIT
     END
@@ -210,8 +216,8 @@
     IDS_TOOLTIP14 "多邊形"
     IDS_TOOLTIP15 "橢圓形"
     IDS_TOOLTIP16 "圓角矩形"
-    IDS_OPENFILTER "點陣圖文件 (*.bmp;*.dib)\1*.bmp;*.dib\1All files 
(*.*)\1*.*\1"
-    IDS_SAVEFILTER "24 位元點陣圖 (*.bmp;*.dib)\1*.bmp;*.dib\1"
+    IDS_ALLFILES "All Files"
+    IDS_ALLPICTUREFILES "All Picture Files"
     IDS_FILESIZE "%d 位元組"
     IDS_PRINTRES "%d x %d 像素每米"
     IDS_INTNUMBERS "請輸入整數只!"

Modified: trunk/reactos/base/applications/mspaint/main.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/main.cpp?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/main.cpp    [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/main.cpp    [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -54,7 +54,6 @@
 
 HINSTANCE hProgInstance;
 
-TCHAR filename[256];
 TCHAR filepathname[1000];
 BOOL isAFile = FALSE;
 int fileSize;
@@ -93,18 +92,13 @@
     HWND hwnd;               /* This is the handle for our window */
     MSG messages;            /* Here messages to the application are saved */
 
-    TCHAR progtitle[1000];
-    TCHAR resstr[100];
     HMENU menu;
     HANDLE haccel;
 
-    TCHAR *c;
     TCHAR sfnFilename[1000];
     TCHAR sfnFiletitle[256];
-    TCHAR sfnFilter[1000];
     TCHAR ofnFilename[1000];
     TCHAR ofnFiletitle[256];
-    TCHAR ofnFilter[1000];
     TCHAR miniaturetitle[100];
     static int custColors[16] = { 0xffffff, 0xffffff, 0xffffff, 0xffffff, 
0xffffff, 0xffffff, 0xffffff, 0xffffff,
         0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 
0xffffff
@@ -132,9 +126,11 @@
     /* initialize common controls library */
     InitCommonControls();
 
-    LoadString(hThisInstance, IDS_DEFAULTFILENAME, filename, SIZEOF(filename));
-    LoadString(hThisInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr));
-    _stprintf(progtitle, resstr, filename);
+    LoadString(hThisInstance, IDS_DEFAULTFILENAME, filepathname, 
SIZEOF(filepathname));
+    CPath pathFileName(filepathname);
+    pathFileName.StripPath();
+    CString strTitle;
+    strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName);
     LoadString(hThisInstance, IDS_MINIATURETITLE, miniaturetitle, 
SIZEOF(miniaturetitle));
 
     /* load settings from registry */
@@ -144,7 +140,7 @@
 
     /* create main window */
     RECT mainWindowPos = {0, 0, 544, 375};     // FIXME: use equivalent of 
CW_USEDEFAULT for position
-    hwnd = mainWindow.Create(HWND_DESKTOP, mainWindowPos, progtitle, 
WS_OVERLAPPEDWINDOW);
+    hwnd = mainWindow.Create(HWND_DESKTOP, mainWindowPos, strTitle, 
WS_OVERLAPPEDWINDOW);
 
     RECT fullscreenWindowPos = {0, 0, 100, 100};
     fullscreenWindow.Create(HWND_DESKTOP, fullscreenWindowPos, NULL, 
WS_POPUPWINDOW | WS_MAXIMIZE);
@@ -214,15 +210,14 @@
         LoadDIBFromFile(&bmNew, lpszArgument, &fileTime, &fileSize, &fileHPPM, 
&fileVPPM);
         if (bmNew != NULL)
         {
-            TCHAR tempstr[1000];
-            TCHAR resstr[100];
             TCHAR *temp;
             imageModel.Insert(bmNew);
             GetFullPathName(lpszArgument, SIZEOF(filepathname), filepathname, 
&temp);
-            _tcscpy(filename, temp);
-            LoadString(hProgInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr));
-            _stprintf(tempstr, resstr, filename);
-            mainWindow.SetWindowText(tempstr);
+            CPath pathFileName(filepathname);
+            pathFileName.StripPath();
+            CString strTitle;
+            strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName);
+            mainWindow.SetWindowText(strTitle);
             imageModel.ClearHistory();
             isAFile = TRUE;
         }
@@ -244,32 +239,35 @@
     choosecolor.lpTemplateName = NULL;
 
     /* initializing the OPENFILENAME structure for use with GetOpenFileName 
and GetSaveFileName */
-    CopyMemory(ofnFilename, filename, sizeof(filename));
-    LoadString(hThisInstance, IDS_OPENFILTER, ofnFilter, SIZEOF(ofnFilter));
-    for(c = ofnFilter; *c; c++)
-        if (*c == '\1')
-            *c = '\0';
+    CopyMemory(ofnFilename, filepathname, sizeof(filepathname));
+    CString strImporters;
+    CSimpleArray<GUID> aguidFileTypesI;
+    CString strAllPictureFiles;
+    strAllPictureFiles.LoadString(hThisInstance, IDS_ALLPICTUREFILES);
+    CImage::GetImporterFilterString(strImporters, aguidFileTypesI, 
strAllPictureFiles, CImage::excludeDefaultLoad, _T('\0'));
+//     CAtlStringW strAllFiles;
+//     strAllFiles.LoadString(hThisInstance, IDS_ALLFILES);
+//     strImporters = strAllFiles + CAtlStringW(_T("|*.*|")).Replace('|', 
'\0') + strImporters;
     ZeroMemory(&ofn, sizeof(OPENFILENAME));
     ofn.lStructSize    = sizeof(OPENFILENAME);
     ofn.hwndOwner      = hwnd;
     ofn.hInstance      = hThisInstance;
-    ofn.lpstrFilter    = ofnFilter;
+    ofn.lpstrFilter    = strImporters;
     ofn.lpstrFile      = ofnFilename;
     ofn.nMaxFile       = SIZEOF(ofnFilename);
     ofn.lpstrFileTitle = ofnFiletitle;
     ofn.nMaxFileTitle  = SIZEOF(ofnFiletitle);
     ofn.Flags          = OFN_HIDEREADONLY;
 
-    CopyMemory(sfnFilename, filename, sizeof(filename));
-    LoadString(hThisInstance, IDS_SAVEFILTER, sfnFilter, SIZEOF(sfnFilter));
-    for(c = sfnFilter; *c; c++)
-        if (*c == '\1')
-            *c = '\0';
+    CopyMemory(sfnFilename, filepathname, sizeof(filepathname));
+    CString strExporters;
+    CSimpleArray<GUID> aguidFileTypesE;
+    CImage::GetExporterFilterString(strExporters, aguidFileTypesE, NULL, 
CImage::excludeDefaultSave, _T('\0'));
     ZeroMemory(&sfn, sizeof(OPENFILENAME));
     sfn.lStructSize    = sizeof(OPENFILENAME);
     sfn.hwndOwner      = hwnd;
     sfn.hInstance      = hThisInstance;
-    sfn.lpstrFilter    = sfnFilter;
+    sfn.lpstrFilter    = strExporters;
     sfn.lpstrFile      = sfnFilename;
     sfn.nMaxFile       = SIZEOF(sfnFilename);
     sfn.lpstrFileTitle = sfnFiletitle;

Modified: trunk/reactos/base/applications/mspaint/precomp.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/precomp.h?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/precomp.h   [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/precomp.h   [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -10,6 +10,9 @@
 #include <tchar.h>
 #include <atlbase.h>
 #include <atlcom.h>
+#include <atlimage.h>
+#include <atlpath.h>
+#include <atlstr.h>
 #include <atlwin.h>
 #include <windowsx.h>
 #include <commdlg.h>

Modified: trunk/reactos/base/applications/mspaint/registry.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/registry.cpp?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/registry.cpp        [iso-8859-1] 
(original)
+++ trunk/reactos/base/applications/mspaint/registry.cpp        [iso-8859-1] 
Mon Sep 26 19:53:42 2016
@@ -104,6 +104,27 @@
         cbData = sizeof(WINDOWPLACEMENT);
         RegQueryValueEx(hView, _T("WindowPlacement"), 0, NULL, (LPBYTE) 
&WindowPlacement, &cbData);
     }
+
+    CRegKey hKey;
+    if (hKey.Open(HKEY_CURRENT_USER, 
_T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\Recent File 
List"), KEY_READ) == ERROR_SUCCESS)
+    {
+        ULONG nChars = MAX_PATH;
+        LPTSTR pszFile1 = strFile1.GetBuffer(nChars);
+        hKey.QueryStringValue(_T("File1"), pszFile1, &nChars);
+        strFile1.ReleaseBuffer();
+        nChars = MAX_PATH;
+        LPTSTR pszFile2 = strFile2.GetBuffer(nChars);
+        hKey.QueryStringValue(_T("File2"), pszFile2, &nChars);
+        strFile2.ReleaseBuffer();
+        nChars = MAX_PATH;
+        LPTSTR pszFile3 = strFile3.GetBuffer(nChars);
+        hKey.QueryStringValue(_T("File3"), pszFile3, &nChars);
+        strFile3.ReleaseBuffer();
+        nChars = MAX_PATH;
+        LPTSTR pszFile4 = strFile4.GetBuffer(nChars);
+        hKey.QueryStringValue(_T("File4"), pszFile4, &nChars);
+        strFile4.ReleaseBuffer();
+    }
 }
 
 void RegistrySettings::Store()
@@ -126,4 +147,53 @@
         RegSetValueEx(hView, _T("UnitSetting"), 0, REG_DWORD, (LPBYTE) 
&UnitSetting, sizeof(DWORD));
         RegSetValueEx(hView, _T("WindowPlacement"), 0, REG_BINARY, (LPBYTE) 
&WindowPlacement, sizeof(WINDOWPLACEMENT));
     }
+
+    CRegKey hKey;
+    if (hKey.Create(HKEY_CURRENT_USER, 
_T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\Recent File 
List")) == ERROR_SUCCESS)
+    {
+        if (!strFile1.IsEmpty())
+            hKey.SetStringValue(_T("File1"), strFile1);
+        if (!strFile2.IsEmpty())
+            hKey.SetStringValue(_T("File2"), strFile2);
+        if (!strFile3.IsEmpty())
+            hKey.SetStringValue(_T("File3"), strFile3);
+        if (!strFile4.IsEmpty())
+            hKey.SetStringValue(_T("File4"), strFile4);
+    }
 }
+
+void RegistrySettings::SetMostRecentFile(LPCTSTR pszPathName)
+{
+    if (strFile1 == pszPathName)
+    {
+        // do nothing
+    }
+    else if (strFile2 == pszPathName)
+    {
+        CString strTemp = strFile2;
+        strFile2 = strFile1;
+        strFile1 = strTemp;
+    }
+    else if (strFile3 == pszPathName)
+    {
+        CString strTemp = strFile3;
+        strFile3 = strFile2;
+        strFile2 = strFile1;
+        strFile1 = strTemp;
+    }
+    else if (strFile4 == pszPathName)
+    {
+        CString strTemp = strFile4;
+        strFile4 = strFile3;
+        strFile3 = strFile2;
+        strFile2 = strFile1;
+        strFile1 = strTemp;
+    }
+    else
+    {
+        strFile4 = strFile3;
+        strFile3 = strFile2;
+        strFile2 = strFile1;
+        strFile1 = pszPathName;
+    }
+}

Modified: trunk/reactos/base/applications/mspaint/registry.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/registry.h?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/registry.h  [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/registry.h  [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -25,8 +25,14 @@
     DWORD UnitSetting;
     WINDOWPLACEMENT WindowPlacement;
 
+    CString strFile1;
+    CString strFile2;
+    CString strFile3;
+    CString strFile4;
+
     static void SetWallpaper(TCHAR *szFileName, DWORD dwStyle, DWORD dwTile);
 
     void Load();
     void Store();
+    void SetMostRecentFile(LPCTSTR pszPathName);
 };

Modified: trunk/reactos/base/applications/mspaint/winproc.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/winproc.cpp?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/winproc.cpp [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/winproc.cpp [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -78,30 +78,27 @@
     }
     else if (GetSaveFileName(&sfn) != 0)
     {
-        TCHAR tempstr[1000];
-        TCHAR resstr[100];
         imageModel.SaveImage(sfn.lpstrFile);
-        CopyMemory(filename, sfn.lpstrFileTitle, sizeof(filename));
-        CopyMemory(filepathname, sfn.lpstrFile, sizeof(filepathname));
-        LoadString(hProgInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr));
-        _stprintf(tempstr, resstr, filename);
-        SetWindowText(tempstr);
+        CString strTitle;
+        strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)sfn.lpstrFileTitle);
+        SetWindowText(strTitle);
         isAFile = TRUE;
     }
 }
 
-void CMainWindow::UpdateApplicationProperties(HBITMAP bitmap, LPTSTR 
newfilename, LPTSTR newfilepathname)
-{
-    TCHAR tempstr[1000];
-    TCHAR resstr[100];
+void CMainWindow::UpdateApplicationProperties(HBITMAP bitmap, LPCTSTR 
newfilepathname)
+{
     imageModel.Insert(bitmap);
-    CopyMemory(filename, newfilename, sizeof(filename));
     CopyMemory(filepathname, newfilepathname, sizeof(filepathname));
-    LoadString(hProgInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr));
-    _stprintf(tempstr, resstr, filename);
-    SetWindowText(tempstr);
+    CPath pathFileName(newfilepathname);
+    pathFileName.StripPath();
+    CString strTitle;
+    strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName);
+    SetWindowText(strTitle);
     imageModel.ClearHistory();
     isAFile = TRUE;
+
+    registrySettings.SetMostRecentFile(newfilepathname);
 }
 
 void CMainWindow::InsertSelectionFromHBITMAP(HBITMAP bitmap, HWND window)
@@ -170,10 +167,7 @@
     LoadDIBFromFile(&bmNew, droppedfile, &fileTime, &fileSize, &fileHPPM, 
&fileVPPM);
     if (bmNew != NULL)
     {
-        TCHAR *pathend;
-        pathend = _tcsrchr(droppedfile, '\\');
-        pathend++;
-        UpdateApplicationProperties(bmNew, pathend, pathend);
+        UpdateApplicationProperties(bmNew, droppedfile);
     }
     return 0;
 }
@@ -196,13 +190,13 @@
 {
     if (!imageModel.IsImageSaved())
     {
-        TCHAR programname[20];
-        TCHAR saveprompttext[100];
-        TCHAR temptext[500];
-        LoadString(hProgInstance, IDS_PROGRAMNAME, programname, 
SIZEOF(programname));
-        LoadString(hProgInstance, IDS_SAVEPROMPTTEXT, saveprompttext, 
SIZEOF(saveprompttext));
-        _stprintf(temptext, saveprompttext, filename);
-        switch (MessageBox(temptext, programname, MB_YESNOCANCEL | 
MB_ICONQUESTION))
+        CString strProgramName;
+        strProgramName.LoadString(IDS_PROGRAMNAME);
+        CPath pathFileName(filepathname);
+        pathFileName.StripPath();
+        CString strSavePromptText;
+        strSavePromptText.Format(IDS_SAVEPROMPTTEXT, (LPCTSTR)pathFileName);
+        switch (MessageBox(strSavePromptText, strProgramName, MB_YESNOCANCEL | 
MB_ICONQUESTION))
         {
             case IDNO:
                 DestroyWindow();
@@ -231,6 +225,35 @@
             EnableMenuItem(menu, IDM_FILEASWALLPAPERPLANE,     
ENABLED_IF(isAFile));
             EnableMenuItem(menu, IDM_FILEASWALLPAPERCENTERED,  
ENABLED_IF(isAFile));
             EnableMenuItem(menu, IDM_FILEASWALLPAPERSTRETCHED, 
ENABLED_IF(isAFile));
+            RemoveMenu(menu, IDM_FILE1, MF_BYCOMMAND);
+            RemoveMenu(menu, IDM_FILE2, MF_BYCOMMAND);
+            RemoveMenu(menu, IDM_FILE3, MF_BYCOMMAND);
+            RemoveMenu(menu, IDM_FILE4, MF_BYCOMMAND);
+            if (!registrySettings.strFile1.IsEmpty())
+            {
+                RemoveMenu(menu, IDM_FILEMOSTRECENTLYUSEDFILE, MF_BYCOMMAND);
+                CPath pathFile1(registrySettings.strFile1);
+                pathFile1.CompactPathEx(30);
+                if (!registrySettings.strFile2.IsEmpty())
+                {
+                    CPath pathFile2(registrySettings.strFile2);
+                    pathFile2.CompactPathEx(30);
+                    if (!registrySettings.strFile3.IsEmpty())
+                    {
+                        CPath pathFile3(registrySettings.strFile3);
+                        pathFile3.CompactPathEx(30);
+                        if (!registrySettings.strFile4.IsEmpty())
+                        {
+                            CPath pathFile4(registrySettings.strFile4);
+                            pathFile4.CompactPathEx(30);
+                            InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | 
MF_STRING, IDM_FILE4, _T("4 ") + pathFile4);
+                        }
+                        InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | 
MF_STRING, IDM_FILE3, _T("3 ") + pathFile3);
+                    }
+                    InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | MF_STRING, 
IDM_FILE2, _T("2 ") + pathFile2);
+                }
+                InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | MF_STRING, 
IDM_FILE1, _T("1 ") + pathFile1);
+            }
             break;
         case 1: /* Edit menu */
             EnableMenuItem(menu, IDM_EDITUNDO, 
ENABLED_IF(imageModel.HasUndoSteps()));
@@ -352,13 +375,13 @@
             BOOL reset = TRUE;
             if (!imageModel.IsImageSaved())
             {
-                TCHAR programname[20];
-                TCHAR saveprompttext[100];
-                TCHAR temptext[500];
-                LoadString(hProgInstance, IDS_PROGRAMNAME, programname, 
SIZEOF(programname));
-                LoadString(hProgInstance, IDS_SAVEPROMPTTEXT, saveprompttext, 
SIZEOF(saveprompttext));
-                _stprintf(temptext, saveprompttext, filename);
-                switch (MessageBox(temptext, programname, MB_YESNOCANCEL | 
MB_ICONQUESTION))
+                CString strProgramName;
+                strProgramName.LoadString(IDS_PROGRAMNAME);
+                CPath pathFileName(filepathname);
+                pathFileName.StripPath();
+                CString strSavePromptText;
+                strSavePromptText.Format(IDS_SAVEPROMPTTEXT, 
(LPCTSTR)pathFileName);
+                switch (MessageBox(strSavePromptText, strProgramName, 
MB_YESNOCANCEL | MB_ICONQUESTION))
                 {
                     case IDNO:
                         imageModel.imageSaved = TRUE; //TODO: move to 
ImageModel
@@ -385,7 +408,7 @@
                 LoadDIBFromFile(&bmNew, ofn.lpstrFile, &fileTime, &fileSize, 
&fileHPPM, &fileVPPM);
                 if (bmNew != NULL)
                 {
-                    UpdateApplicationProperties(bmNew, ofn.lpstrFileTitle, 
ofn.lpstrFileTitle);
+                    UpdateApplicationProperties(bmNew, ofn.lpstrFile);
                 }
             }
             break;
@@ -436,6 +459,46 @@
         case IDM_FILEASWALLPAPERSTRETCHED:
             RegistrySettings::SetWallpaper(filepathname, 2, 0);
             break;
+        case IDM_FILE1:
+        {
+            HBITMAP bmNew = NULL;
+            LoadDIBFromFile(&bmNew, registrySettings.strFile1, &fileTime, 
&fileSize, &fileHPPM, &fileVPPM);
+            if (bmNew != NULL)
+            {
+                UpdateApplicationProperties(bmNew, registrySettings.strFile1);
+            }
+            break;
+        }
+        case IDM_FILE2:
+        {
+            HBITMAP bmNew = NULL;
+            LoadDIBFromFile(&bmNew, registrySettings.strFile2, &fileTime, 
&fileSize, &fileHPPM, &fileVPPM);
+            if (bmNew != NULL)
+            {
+                UpdateApplicationProperties(bmNew, registrySettings.strFile2);
+            }
+            break;
+        }
+        case IDM_FILE3:
+        {
+            HBITMAP bmNew = NULL;
+            LoadDIBFromFile(&bmNew, registrySettings.strFile3, &fileTime, 
&fileSize, &fileHPPM, &fileVPPM);
+            if (bmNew != NULL)
+            {
+                UpdateApplicationProperties(bmNew, registrySettings.strFile3);
+            }
+            break;
+        }
+        case IDM_FILE4:
+        {
+            HBITMAP bmNew = NULL;
+            LoadDIBFromFile(&bmNew, registrySettings.strFile4, &fileTime, 
&fileSize, &fileHPPM, &fileVPPM);
+            if (bmNew != NULL)
+            {
+                UpdateApplicationProperties(bmNew, registrySettings.strFile4);
+            }
+            break;
+        }
         case IDM_EDITUNDO:
             imageModel.Undo();
             imageArea.Invalidate(FALSE);

Modified: trunk/reactos/base/applications/mspaint/winproc.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/winproc.h?rev=72819&r1=72818&r2=72819&view=diff
==============================================================================
--- trunk/reactos/base/applications/mspaint/winproc.h   [iso-8859-1] (original)
+++ trunk/reactos/base/applications/mspaint/winproc.h   [iso-8859-1] Mon Sep 26 
19:53:42 2016
@@ -40,6 +40,6 @@
 
     void alignChildrenToMainWindow();
     void saveImage(BOOL overwrite);
-    void UpdateApplicationProperties(HBITMAP bitmap, LPTSTR newfilename, 
LPTSTR newfilepathname);
+    void UpdateApplicationProperties(HBITMAP bitmap, LPCTSTR newfilepathname);
     void InsertSelectionFromHBITMAP(HBITMAP bitmap, HWND window);
 };


Reply via email to