- fixed for FOR _NO_EXTENSIONS mode
authorMartin Fuchs <fuchs.martin@gmail.com>
Sat, 21 May 2005 16:45:50 +0000 (16:45 +0000)
committerMartin Fuchs <fuchs.martin@gmail.com>
Sat, 21 May 2005 16:45:50 +0000 (16:45 +0000)
- implement ID_VIEW_SPLIT command

svn path=/trunk/; revision=15460

17 files changed:
reactos/subsys/system/winefile/Sv.rc
reactos/subsys/system/winefile/cs.rc
reactos/subsys/system/winefile/de.rc
reactos/subsys/system/winefile/en.rc
reactos/subsys/system/winefile/es.rc
reactos/subsys/system/winefile/fr.rc
reactos/subsys/system/winefile/hu.rc
reactos/subsys/system/winefile/it.rc
reactos/subsys/system/winefile/nl.rc
reactos/subsys/system/winefile/pl.rc
reactos/subsys/system/winefile/pt.rc
reactos/subsys/system/winefile/resource.h
reactos/subsys/system/winefile/ru.rc
reactos/subsys/system/winefile/si.rc
reactos/subsys/system/winefile/winefile.c
reactos/subsys/system/winefile/winefile.h
reactos/subsys/system/winefile/zh.rc

index 108bae5..31347d6 100644 (file)
@@ -87,7 +87,7 @@ IDM_WINEFILE MENU FIXED IMPURE
         MENUITEM "Bara tr&äd",                  411\r
         MENUITEM "Bara &mapp",             412\r
         MENUITEM SEPARATOR\r
-        MENUITEM "De&la",                      414\r
+        MENUITEM "De&la",                      ID_VIEW_SPLIT\r
         MENUITEM SEPARATOR\r
         MENUITEM "&Namn",                       ID_VIEW_NAME\r
                MENUITEM "&Alla Fildetaljer" ,                          ID_VIEW_ALL_ATTRIBUTES, CHECKED\r
index 58fe7eb..8f72497 100644 (file)
@@ -86,7 +86,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "&Jen strom" ,                 411\r
                MENUITEM "Jen &adresáøe" ,                      412\r
                MENUITEM SEPARATOR\r
-               MENUITEM "&Rozdìlit" ,                  414\r
+               MENUITEM "&Rozdìlit" ,                  ID_VIEW_SPLIT\r
                MENUITEM SEPARATOR\r
                MENUITEM "&Jméno" ,                     ID_VIEW_NAME\r
                MENUITEM "&Detaily v\9aech souborù" ,                             ID_VIEW_ALL_ATTRIBUTES, CHECKED\r
index d3c17b3..50a17a9 100644 (file)
@@ -85,7 +85,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "Nur St&ruktur" ,                      411
                MENUITEM "Nur &Verzeichnis" ,                   412
                MENUITEM SEPARATOR
-               MENUITEM "&Teilen" ,                    414
+               MENUITEM "&Teilen" ,                    ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Name" ,                      ID_VIEW_NAME
                MENUITEM "A&lle Dateiangaben" ,                         ID_VIEW_ALL_ATTRIBUTES, CHECKED
index f7a6932..abf2072 100644 (file)
@@ -88,7 +88,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "Tr&ee Only" ,                 411
                MENUITEM "Directory &Only" ,                    412
                MENUITEM SEPARATOR
-               MENUITEM "Sp&lit" ,                     414
+               MENUITEM "Sp&lit" ,                     ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Name" ,                      ID_VIEW_NAME
                MENUITEM "&All File Details" ,                          ID_VIEW_ALL_ATTRIBUTES, CHECKED
index 6f16ff6..956e2cd 100644 (file)
@@ -84,7 +84,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "Árbol &sólo" ,                        411
                MENUITEM "&Directorio sólo" ,                   412
                MENUITEM SEPARATOR
-               MENUITEM "Di&vidir" ,                           414
+               MENUITEM "Di&vidir" ,                           ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "No&mbre" ,                    ID_VIEW_NAME
                MENUITEM "T&odos los detalles" ,        ID_VIEW_ALL_ATTRIBUTES, CHECKED
index 5b0a073..d76b16f 100644 (file)
@@ -87,7 +87,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "&Arbre seulement" ,                   411
                MENUITEM "&Répertoire seulement" ,                      412
                MENUITEM SEPARATOR
-               MENUITEM "&Séparer" ,                   414
+               MENUITEM "&Séparer" ,                   ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Nom" ,                       ID_VIEW_NAME
                MENUITEM "Tous &les Détails" ,                          ID_VIEW_ALL_ATTRIBUTES, CHECKED
index 35dd2df..d94bf5d 100644 (file)
@@ -87,7 +87,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "&Könyvtárfa" ,                        411
                MENUITEM "&Csak mappák" ,                       412
                MENUITEM SEPARATOR
-               MENUITEM "&Felosztás" ,                 414
+               MENUITEM "&Felosztás" ,                 ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Név" ,                       ID_VIEW_NAME
                MENUITEM "&Minden részlet" ,                            ID_VIEW_ALL_ATTRIBUTES, CHECKED
index dea9eed..0692578 100644 (file)
@@ -87,7 +87,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "So&lo Albero" ,                       411
                MENUITEM "&Solo Directory" ,                    412
                MENUITEM SEPARATOR
-               MENUITEM "Di&vidi" ,                    414
+               MENUITEM "Di&vidi" ,                    ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Nome" ,                      ID_VIEW_NAME
                MENUITEM "&Mostra tutti i dettagli sui file" ,                          ID_VIEW_ALL_ATTRIBUTES, CHECKED
index 85734f8..7508985 100644 (file)
@@ -83,7 +83,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "&Alleen hierarchie" ,        411
                MENUITEM "Alleen &mapinhoud" ,         412
                MENUITEM SEPARATOR
-               MENUITEM "Sp&litsen" ,                 414
+               MENUITEM "Sp&litsen" ,                 ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Naam" ,                     ID_VIEW_NAME
                MENUITEM "&Alle details" ,             ID_VIEW_ALL_ATTRIBUTES, CHECKED
index 3b64113..a91b42e 100644 (file)
@@ -87,7 +87,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "D&rzewo" ,                    411\r
                MENUITEM "&Katalogi" ,                  412\r
                MENUITEM SEPARATOR\r
-               MENUITEM "&Po³¹cz" ,                    414\r
+               MENUITEM "&Po³¹cz" ,                    ID_VIEW_SPLIT\r
                MENUITEM SEPARATOR\r
                MENUITEM "&Nazwa" ,                     ID_VIEW_NAME\r
                MENUITEM "&Wszystkie atrybuty pliku" ,                          ID_VIEW_ALL_ATTRIBUTES, CHECKED\r
index dd58d34..2ad7fab 100644 (file)
@@ -86,7 +86,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "S&omente árvore" ,                    411
                MENUITEM "So&mente pasta" ,                     412
                MENUITEM SEPARATOR
-               MENUITEM "&Dividir" ,                   414
+               MENUITEM "&Dividir" ,                   ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Nome" ,                      ID_VIEW_NAME
                MENUITEM "&Todos os delalhes" ,                         ID_VIEW_ALL_ATTRIBUTES, CHECKED
@@ -214,7 +214,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "S&omente árvore" ,                    411
                MENUITEM "So&mente pasta" ,                     412
                MENUITEM SEPARATOR
-               MENUITEM "&Dividir" ,                   414
+               MENUITEM "&Dividir" ,                   ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Nome" ,                      ID_VIEW_NAME
                MENUITEM "&Todos os delalhes" ,                         ID_VIEW_ALL_ATTRIBUTES, CHECKED
index acf67fb..0cc7d59 100644 (file)
@@ -53,6 +53,7 @@
 #define        ID_VIEW_SORT_TYPE                               405
 #define        ID_VIEW_SORT_SIZE                               406
 #define        ID_VIEW_SORT_DATE                               407
+#define        ID_VIEW_SPLIT                                   414
 #define ID_SELECT_FONT                                 510
 #define ID_VIEW_TOOL_BAR                               508
 #define ID_VIEW_DRIVE_BAR                              507
index 6ab0c4a..be44637 100644 (file)
@@ -83,7 +83,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "Òîëüêî &äåðåâî" ,                     411
                MENUITEM "Òîëüêî &ïàïêà" ,                      412
                MENUITEM SEPARATOR
-               MENUITEM "Ðàç&áèòü" ,                   414
+               MENUITEM "Ðàç&áèòü" ,                   ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "È&ìÿ" ,                       ID_VIEW_NAME
                MENUITEM "Â&ñå ïîäðîáíîñòè î ôàéëå" ,                           ID_VIEW_ALL_ATTRIBUTES, CHECKED
index 60a7570..dedc830 100644 (file)
@@ -84,7 +84,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "Tr&ee Only" ,                 411
                MENUITEM "Directory &Only" ,                    412
                MENUITEM SEPARATOR
-               MENUITEM "Sp&lit" ,                     414
+               MENUITEM "Sp&lit" ,                     ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "&Name" ,                      ID_VIEW_NAME
                MENUITEM "&All File Details" ,                          ID_VIEW_ALL_ATTRIBUTES, CHECKED
index a62746e..516274f 100644 (file)
@@ -211,6 +211,8 @@ LRESULT CALLBACK TreeWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
 /* globals */
 WINEFILE_GLOBALS Globals;
 
+static int last_split;
+
 
 /* some common string constants */
 const static TCHAR sEmpty[] = {'\0'};
@@ -346,6 +348,15 @@ static void read_directory_win(Entry* dir, LPCTSTR path)
 
        if (hFind != INVALID_HANDLE_VALUE) {
                do {
+#ifdef _NO_EXTENSIONS
+                       /* hide directory entry "." */
+                       if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
+                               LPCTSTR name = w32fd.cFileName;
+
+                               if (name[0]=='.' && name[1]=='\0')
+                                       continue;
+                       }
+#endif
                        entry = alloc_entry();
 
                        if (!first_entry)
@@ -361,15 +372,7 @@ static void read_directory_win(Entry* dir, LPCTSTR path)
                        entry->scanned = FALSE;
                        entry->level = level;
 
-#ifdef _NO_EXTENSIONS
-                       /* hide directory entry "." */
-                       if (entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
-                               LPCTSTR name = entry->data.cFileName;
-
-                               if (name[0]=='.' && name[1]=='\0')
-                                       continue;
-                       }
-#else
+#ifndef _NO_EXTENSIONS
                        entry->etype = ET_WINDOWS;
                        entry->bhfi_valid = FALSE;
 
@@ -387,9 +390,10 @@ static void read_directory_win(Entry* dir, LPCTSTR path)
 #endif
 
                        last = entry;
-               } while(FindNextFile(hFind, &entry->data));
+               } while(FindNextFile(hFind, &w32fd));
 
-               last->next = NULL;
+               if (last)
+                       last->next = NULL;
 
                FindClose(hFind);
        }
@@ -568,7 +572,8 @@ static void read_directory_unix(Entry* dir, LPCTSTR path)
                        last = entry;
                }
 
-               last->next = NULL;
+               if (last)
+                       last->next = NULL;
 
                call_closedir(pdir);
        }
@@ -1219,7 +1224,7 @@ static void SortDirectory(Entry* dir, SORT_ORDER sortOrder)
                len++;
 
        if (len) {
-               array = (Entry**) HeapAlloc(GetProcessHeap(), 0, len*sizeof(Entry*));
+               array = HeapAlloc(GetProcessHeap(), 0, len*sizeof(Entry*));
 
                p = array;
                for(entry=dir->down; entry; entry=entry->next)
@@ -1321,10 +1326,10 @@ static void read_directory(Entry* dir, LPCTSTR path, SORT_ORDER sortOrder, HWND
 
 static Entry* read_tree(Root* root, LPCTSTR path, LPITEMIDLIST pidl, LPTSTR drv, SORT_ORDER sortOrder, HWND hwnd)
 {
-       const static TCHAR sBackslash[] = {'\\', '\0'};
 #if !defined(_NO_EXTENSIONS) && defined(__WINE__)
        const static TCHAR sSlash[] = {'/', '\0'};
 #endif
+       const static TCHAR sBackslash[] = {'\\', '\0'};
 
 #ifdef _SHELL_FOLDERS
        if (pidl)
@@ -3397,7 +3402,9 @@ static void refresh_child(ChildWnd* child)
 static void create_drive_bar()
 {
        TBBUTTON drivebarBtn = {0, 0, TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0};
+#ifndef _NO_EXTENSIONS
        TCHAR b1[BUFFER_LEN];
+#endif
        int btn = 1;
        PTSTR p;
 
@@ -3755,8 +3762,6 @@ static HRESULT ShellFolderContextMenu(IShellFolder* shell_folder, HWND hwndParen
 
 LRESULT CALLBACK ChildWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
 {
-       static int last_split;
-
        ChildWnd* child = (ChildWnd*) GetWindowLong(hwnd, GWL_USERDATA);
        ASSERT(child);
 
@@ -3995,6 +4000,14 @@ LRESULT CALLBACK ChildWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam
                                        set_sort_order(child, SORT_DATE);
                                        break;
 
+                               case ID_VIEW_SPLIT: {
+                                       last_split = child->split_pos;
+#ifdef _NO_EXTENSIONS
+                                       draw_splitbar(hwnd, last_split);
+#endif
+                                       SetCapture(hwnd);
+                                       break;}
+
                                default:
                                        return pane_command(pane, LOWORD(wparam));
                        }
@@ -4244,7 +4257,6 @@ void show_frame(HWND hwndParent, int cmdshow)
        TCHAR path[MAX_PATH], b1[BUFFER_LEN];
        ChildWnd* child;
        HMENU hMenuFrame, hMenuWindow;
-       TBBUTTON drivebarBtn = {0, 0, TBSTATE_ENABLED, BTNS_SEP, {0, 0}, 0, 0};
 
        CLIENTCREATESTRUCT ccs;
 
index edb3894..e2d1158 100644 (file)
 #include <malloc.h>    /* for alloca() */
 #endif
 
+#include <shellapi.h>  /* for ShellExecute() */
+#include <shlobj.h>            /* for SHFormatDrive() */
+
 #ifndef _NO_EXTENSIONS
 #define        _SHELL_FOLDERS
-
-#include <objbase.h>
-#include <shellapi.h>
-#include <shlobj.h>
 #endif /* _NO_EXTENSIONS */
 
 #ifndef FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
index bafd61f..f82c9e9 100644 (file)
@@ -84,7 +84,7 @@ IDM_WINEFILE MENU FIXED IMPURE
                MENUITEM "½öÏÔʾĿ¼Ê÷£¨&E£©" ,                 411
                MENUITEM "½öÏÔʾĿ¼ÄÚÈÝ£¨&O£©" ,                       412
                MENUITEM SEPARATOR
-               MENUITEM "·Ö¸î£¨&L£©" ,                 414
+               MENUITEM "·Ö¸î£¨&L£©" ,                 ID_VIEW_SPLIT
                MENUITEM SEPARATOR
                MENUITEM "ÎļþÃûÃû£¨&N£©" ,                     ID_VIEW_NAME
                MENUITEM "ÎļþÏêϤÁÐ±í£¨&A£©" ,                         ID_VIEW_ALL_ATTRIBUTES, CHECKED