Commit 65a42168 authored by Alexandre Julliard's avatar Alexandre Julliard

Merged Martin Fuchs' file manager (with the help of Steven Edwards).

parent 1cf02615
......@@ -13125,7 +13125,7 @@ MAKE_DLL_RULES=dlls/Makedll.rules
MAKE_PROG_RULES=programs/Makeprog.rules
ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules programs/Makeprog.rules Makefile debugger/Makefile dlls/Makefile dlls/advapi32/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dsound/Makefile dlls/gdi/Makefile dlls/glu32/Makefile dlls/icmp/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/kernel/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt20/Makefile dlls/msvideo/Makefile dlls/netapi32/Makefile dlls/ntdll/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleaut32/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/user/Makefile dlls/version/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winspool/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile library/Makefile miscemu/Makefile ole/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/osversioncheck/Makefile programs/progman/Makefile programs/regapi/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/regtest/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineconsole/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/wmc/Makefile tools/wrc/Makefile tsx11/Makefile unicode/Makefile"
ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules programs/Makeprog.rules Makefile debugger/Makefile dlls/Makefile dlls/advapi32/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dsound/Makefile dlls/gdi/Makefile dlls/glu32/Makefile dlls/icmp/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/kernel/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt20/Makefile dlls/msvideo/Makefile dlls/netapi32/Makefile dlls/ntdll/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleaut32/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/user/Makefile dlls/version/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winspool/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile library/Makefile miscemu/Makefile ole/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/osversioncheck/Makefile programs/progman/Makefile programs/regapi/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/regtest/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineconsole/Makefile programs/winefile/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/wmc/Makefile tools/wrc/Makefile tsx11/Makefile unicode/Makefile"
cat >confcache <<\_ACEOF
......@@ -13721,6 +13721,7 @@ do
"programs/view/Makefile" ) CONFIG_FILES="$CONFIG_FILES programs/view/Makefile" ;;
"programs/wcmd/Makefile" ) CONFIG_FILES="$CONFIG_FILES programs/wcmd/Makefile" ;;
"programs/wineconsole/Makefile" ) CONFIG_FILES="$CONFIG_FILES programs/wineconsole/Makefile" ;;
"programs/winefile/Makefile" ) CONFIG_FILES="$CONFIG_FILES programs/winefile/Makefile" ;;
"programs/winemine/Makefile" ) CONFIG_FILES="$CONFIG_FILES programs/winemine/Makefile" ;;
"programs/winepath/Makefile" ) CONFIG_FILES="$CONFIG_FILES programs/winepath/Makefile" ;;
"programs/winetest/Makefile" ) CONFIG_FILES="$CONFIG_FILES programs/winetest/Makefile" ;;
......
......@@ -1348,6 +1348,7 @@ programs/uninstaller/Makefile
programs/view/Makefile
programs/wcmd/Makefile
programs/wineconsole/Makefile
programs/winefile/Makefile
programs/winemine/Makefile
programs/winepath/Makefile
programs/winetest/Makefile
......
......@@ -22,6 +22,7 @@ SUBDIRS = \
view \
wcmd \
wineconsole \
winefile \
winemine \
winepath \
winetest \
......@@ -40,6 +41,7 @@ INSTALLPROGS = \
wcmd \
wineconsole \
winedbg \
winefile \
winemine \
winepath \
winhelp
......
Makefile
rsrc.res
winefile.exe.dbg.c
winefile.exe.spec.c
/*
* Winefile
* German Language Support
*
* Copyright 2000 Martin Fuchs
* Copyright 2002 Steven Edwards
* Copyright 2002 Alexandre Julliard
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
#pragma code_page(1252)
/* Menu */
IDM_WINEFILE MENU FIXED IMPURE
{
POPUP "&Datei" {
MENUITEM "&ffnen\tEingabetaste" , 101
MENUITEM "&Verschieben...\tF7" , 106
MENUITEM "&Kopieren...\tF8" , 107
MENUITEM "&In Zwischenablage...\tF9" , 118
MENUITEM "&Lschen\tEntf" , 108
MENUITEM "&Umbenennen..." , 109
MENUITEM "&Eigenschaften...\tAlt+Eingabetaste" , ID_EDIT_PROPERTIES
MENUITEM SEPARATOR
MENUITEM "K&omprimieren..." , 119
MENUITEM "Deko&mprimieren..." , 120
MENUITEM SEPARATOR
MENUITEM "&Ausfhren..." , ID_EXECUTE
MENUITEM "&Drucken..." , 102
MENUITEM "Zuord&nen..." , 103
MENUITEM SEPARATOR
MENUITEM "Ver&zeichnis erstellen..." , 111
MENUITEM "&Suchen..." , 104
MENUITEM "Dateien aus&whlen..." , 116
MENUITEM SEPARATOR
MENUITEM "&Beenden\tAlt+X" , ID_FILE_EXIT
}
POPUP "Da&tentrger" {
MENUITEM "Datentrger &kopieren..." , 201
MENUITEM "Datentrger &benennen..." , 202
MENUITEM SEPARATOR
MENUITEM "Datentrger &formatieren..." , 203
#ifdef _WIN95
MENUITEM "...", -1 //@@
#endif
MENUITEM SEPARATOR
MENUITEM "Netzwerklaufwerk &verbinden..." , 252
MENUITEM "Netzwerklaufwerk &trennen..." , 253
MENUITEM SEPARATOR
MENUITEM "F&reigeben als..." , 254
MENUITEM "Freigabe been&den..." , 255
MENUITEM SEPARATOR
MENUITEM "Laufwerk aus&whlen..." , 251
}
POPUP "&Verzeichnisse" {
MENUITEM "&Nchste Ebene einblenden\t+" , 301
MENUITEM "&Zweig einblenden\t*" , 302
MENUITEM "Alle &Ebenen einblenden\tStrg+*" , 303
MENUITEM "Zweig &ausblenden\t-" , 304
MENUITEM SEPARATOR
MENUITEM "&Verzweigungen kennzeichnen" , 505
}
POPUP "&Ansicht" {
MENUITEM "Struktur &und Verzeichnis" , 413
MENUITEM "Nur St&ruktur" , 411
MENUITEM "Nur &Verzeichnis" , 412
MENUITEM SEPARATOR
MENUITEM "&Teilen" , 414
MENUITEM SEPARATOR
MENUITEM "&Name" , ID_VIEW_NAME
MENUITEM "A&lle Dateiangaben" , ID_VIEW_ALL_ATTRIBUTES, CHECKED
MENUITEM "&Bestimmte Dateiangaben..." , ID_VIEW_SELECTED_ATTRIBUTES
MENUITEM SEPARATOR
MENUITEM "Nach N&ame" , 404
MENUITEM "Nach T&yp" , 405
MENUITEM "Nach &Gre" , 406
MENUITEM "Nach &Datum" , 407
MENUITEM SEPARATOR
MENUITEM "Angaben ausw&hlen..." , 409
}
POPUP "&Optionen" {
MENUITEM "&Besttigen..." , -1
MENUITEM "Schrift&art..." , -1
MENUITEM "Symbolleiste &definieren..." , -1
MENUITEM SEPARATOR
MENUITEM "Sy&mbolleiste" , ID_VIEW_TOOL_BAR, CHECKED
MENUITEM "Lauf&werkleiste" , ID_VIEW_DRIVE_BAR, CHECKED
MENUITEM "&Statusleiste" , ID_VIEW_STATUSBAR, CHECKED
#ifndef _NO_EXTENSIONS
MENUITEM "Vollb&ild\tStrg+Umschalt+S" , ID_VIEW_FULLSCREEN
#endif
MENUITEM SEPARATOR
MENUITEM "&Symbol nach Programmstart" , -1
MENUITEM "&Einstellungen beim Beenden speichern" , 511
}
POPUP "&Sicherheit" {
MENUITEM "&Berechtigungen..." , 605
MENUITEM "ber&wachen..." , 606
MENUITEM "Besi&tzer..." , 607
}
POPUP "&Fenster" {
MENUITEM "Neues &Fenster" , ID_WINDOW_NEW
MENUITEM "ber&lappend\tUmschalt+F5" , ID_WINDOW_CASCADE
MENUITEM "&Untereinander" , ID_WINDOW_TILE_HORZ
MENUITEM "&Nebeneinander\tUmschalt+F4" , ID_WINDOW_TILE_VERT
#ifndef _NO_EXTENSIONS
MENUITEM "au&tomatisch anordnen" , ID_WINDOW_AUTOSORT
#endif
MENUITEM "&Symbole anordnen" , ID_WINDOW_ARRANGE
MENUITEM "&Aktualisieren\tF5" , ID_REFRESH
}
POPUP "&?" {
MENUITEM "&Hilfethemen\tF1" , ID_HELP
MENUITEM "&Suchen...\tF1" , ID_HELP
MENUITEM "Hilfe &verwenden\tF1" , ID_HELP_USING
MENUITEM SEPARATOR
POPUP "Inf&o..." {
MENUITEM "Info ber &Wine..." , ID_ABOUT_WINE
// MENUITEM "&Lizenz" ID_LICENSE
// MENUITEM "&KEINE GARANTIE" ID_NO_WARRANTY
}
}
}
IDD_EXECUTE DIALOG FIXED IMPURE 15, 13, 210, 63
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ausfhren"
FONT 8, "MS Shell Dlg"
{
CONTROL "", 101, "Static", SS_SIMPLE|SS_NOPREFIX, 3, 6, 162, 10
CONTROL "Befehls&zeile:" , -1, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 3, 18, 60, 10
EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL
CONTROL "Als &Symbol" , 214, "Button", BS_AUTOCHECKBOX|WS_TABSTOP,3, 45, 71, 12
DEFPUSHBUTTON "OK" , 1, 158, 6, 47, 14
PUSHBUTTON "Abbrechen" , 2, 158, 23, 47, 14
PUSHBUTTON "&Hilfe" , 254, 158, 43, 47, 14
}
/*
* WineFile
* English Language Support
*
* Copyright 2000 Martin Fuchs
* Copyright 2002 Steven Edwards
* Copyright 2002 Alexandre Julliard
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(850)
/* Menu */
IDM_WINEFILE MENU FIXED IMPURE
{
POPUP "&File" {
MENUITEM "&Open\tEnter" , 101
MENUITEM "&Move...\tF7" , 106
MENUITEM "&Copy...\tF8" , 107
MENUITEM "&In Clipboard...\tF9" , 118
MENUITEM "&Delete\tDel" , 108
MENUITEM "Re&name..." , 109
MENUITEM "Propert&ies...\tAlt+Enter" , ID_EDIT_PROPERTIES
MENUITEM SEPARATOR
MENUITEM "C&ompress..." , 119
MENUITEM "Dec&ompress..." , 120
MENUITEM SEPARATOR
MENUITEM "&Run..." , ID_EXECUTE
MENUITEM "&Print..." , 102
MENUITEM "Associate..." , 103
MENUITEM SEPARATOR
MENUITEM "Cr&eate Directory..." , 111
MENUITEM "Searc&h..." , 104
MENUITEM "&Select Files..." , 116
MENUITEM SEPARATOR
#ifndef _NO_EXTENSIONS
MENUITEM "E&xit\tAlt+X" , ID_FILE_EXIT
#else
MENUITEM "E&xit", ID_FILE_EXIT
#endif
}
POPUP "&Disk" {
MENUITEM "&Copy Disk..." , 201
MENUITEM "&Label Disk..." , 202
MENUITEM SEPARATOR
MENUITEM "&Format Disk..." , 203
#ifdef _WIN95
MENUITEM "&Make System Disk...", -1 //@@
#endif
MENUITEM SEPARATOR
MENUITEM "Connect &Network Drive" , 252
MENUITEM "&Disconnect Network Drive" , 253
MENUITEM SEPARATOR
MENUITEM "Share as..." , 254
MENUITEM "&Remove Share..." , 255
MENUITEM SEPARATOR
MENUITEM "&Select Drive..." , 251
}
POPUP "&Directories" {
MENUITEM "&Next Level\t+" , 301
MENUITEM "Expand &Tree\t*" , 302
MENUITEM "Expand &all\tStrg+*" , 303
MENUITEM "Collapse &Tree\t-" , 304
MENUITEM SEPARATOR
MENUITEM "&Mark Childs" , 505
}
POPUP "&View" {
MENUITEM "T&ree and Directory" , 413
MENUITEM "Tr&ee Only" , 411
MENUITEM "Directory &Only" , 412
MENUITEM SEPARATOR
MENUITEM "Sp&lit" , 414
MENUITEM SEPARATOR
MENUITEM "&Name" , ID_VIEW_NAME
MENUITEM "&All File Details" , ID_VIEW_ALL_ATTRIBUTES, CHECKED
MENUITEM "&Partial Details..." , ID_VIEW_SELECTED_ATTRIBUTES
MENUITEM SEPARATOR
MENUITEM "&Sort by Name" , 404
MENUITEM "Sort &by Type" , 405
MENUITEM "Sort by Si&ze" , 406
MENUITEM "Sort by &Date" , 407
MENUITEM SEPARATOR
MENUITEM "Sort by &..." , 409
}
POPUP "&Options" {
MENUITEM "&Confirmation..." , -1
MENUITEM "&Font..." , -1
MENUITEM "Customize Tool&bar..." , -1
MENUITEM SEPARATOR
MENUITEM "&Toolbar" , ID_VIEW_TOOL_BAR, CHECKED
MENUITEM "&Drivebar" , ID_VIEW_DRIVE_BAR, CHECKED
MENUITEM "&Status Bar" , ID_VIEW_STATUSBAR, CHECKED
#ifndef _NO_EXTENSIONS
MENUITEM "F&ull Screen\tCtrl+Shift+S" , ID_VIEW_FULLSCREEN
#endif
MENUITEM SEPARATOR
MENUITEM "&Symbol nach Programmstart" , -1
MENUITEM "&Einstellungen beim Beenden speichern" , 511
}
POPUP "&Security" {
MENUITEM "&Access..." , 605
MENUITEM "&Logging..." , 606
MENUITEM "&Owner..." , 607
}
POPUP "&Window" {
MENUITEM "New &Window" , ID_WINDOW_NEW
MENUITEM "Cascading\tCtrl+F5" , ID_WINDOW_CASCADE
MENUITEM "Tile &Horizontally" , ID_WINDOW_TILE_HORZ
MENUITEM "Tile &Vertically\tCtrl+F4" , ID_WINDOW_TILE_VERT
#ifndef _NO_EXTENSIONS
MENUITEM "Arrange Automatically" , ID_WINDOW_AUTOSORT
#endif
MENUITEM "Arrange &Symbols" , ID_WINDOW_ARRANGE
MENUITEM "&Refresh\tF5" , ID_REFRESH
}
POPUP "&?" {
MENUITEM "&Help Topics\tF1" , ID_HELP
MENUITEM "Help &Search...\tF1" , ID_HELP
MENUITEM "&Using Help\tF1" , ID_HELP_USING
MENUITEM SEPARATOR
POPUP "Info..." {
MENUITEM "Info about &Wine..." , ID_ABOUT_WINE
// MENUITEM "&License..." ID_LICENSE
// MENUITEM "&NO WARRANTY" ID_NO_WARRANTY
}
}
}
IDD_EXECUTE DIALOG FIXED IMPURE 15, 13, 210, 63
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Execute"
FONT 8, "MS Shell Dlg"
{
CONTROL "", 101, "Static", SS_SIMPLE|SS_NOPREFIX, 3, 6, 162, 10
CONTROL "&Command:" , -1, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 3, 18, 60, 10
EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL
CONTROL "As &Symbol" , 214, "Button", BS_AUTOCHECKBOX|WS_TABSTOP,3, 45, 71, 12
DEFPUSHBUTTON "OK" , 1, 158, 6, 47, 14
PUSHBUTTON "Cancel" , 2, 158, 23, 47, 14
PUSHBUTTON "&Help" , 254, 158, 43, 47, 14
}
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = winefile.exe
APPMODE = gui
IMPORTS = shell32 comctl32 user32 gdi32 kernel32
C_SRCS = \
license.c \
splitpath.c \
winefile.c
RC_SRCS = rsrc.rc
@MAKE_PROG_RULES@
### Dependencies:
/*
* Copyright 2000 Martin Fuchs
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "windows.h"
static const CHAR LicenseCaption[] = "LICENSE";
static const CHAR License[] =
"This library is free software; you can redistribute it and/or "
"modify it under the terms of the GNU Lesser General Public "
"License as published by the Free Software Foundation; either "
"version 2.1 of the License, or (at your option) any later version.\n"
"This library is distributed in the hope that it will be useful, "
"but WITHOUT ANY WARRANTY; without even the implied warranty of "
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU "
"Lesser General Public License for more details.\n"
"You should have received a copy of the GNU Lesser General Public "
"License along with this library; if not, write to the Free Software "
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA";
static const CHAR NoWarrantyCaption[] = "NO WARRANTY";
static const CHAR NoWarranty[] =
"This library is distributed in the hope that it will be useful, "
"but WITHOUT ANY WARRANTY; without even the implied warranty of "
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU "
"Lesser General Public License for more details.";
VOID WineLicense(HWND hwnd)
{
MessageBoxA(hwnd, License, LicenseCaption, MB_ICONINFORMATION|MB_OK);
}
VOID WineWarranty(HWND hwnd)
{
MessageBoxA(hwnd, NoWarranty, NoWarrantyCaption, MB_ICONEXCLAMATION|MB_OK);
}
/*
* Copyright 2000 Martin Fuchs
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* images */
#define IDB_TOOLBAR 100
#define IDB_DRIVEBAR 101
#define IDB_IMAGES 102
#define IDI_WINEFILE 100
/* accellerators and menus */
#define IDA_WINEFILE 101
#define IDM_WINEFILE 102
/* dialogs */
#define IDD_EXECUTE 103
/* control ids */
#define ID_ACTIVATE 101
#define ID_EXECUTE 105
#define ID_FILE_EXIT 115
#define ID_VIEW_NAME 401
#define ID_VIEW_ALL_ATTRIBUTES 402
#define ID_VIEW_SELECTED_ATTRIBUTES 403
#define ID_VIEW_TOOL_BAR 508
#define ID_VIEW_DRIVE_BAR 507
#define ID_VIEW_STATUSBAR 503
#define ID_ABOUT 1803
#define ID_REFRESH 1704
#define ID_EDIT_PROPERTIES 57656
#define ID_WINDOW_NEW 0xE130
#define ID_WINDOW_ARRANGE 0xE131
#define ID_WINDOW_CASCADE 0xE132
#define ID_WINDOW_TILE_HORZ 0xE133
#define ID_WINDOW_TILE_VERT 0xE134
#define ID_WINDOW_SPLIT 0xE135
#define ID_HELP_USING 0xE144
#define ID_HELP 0xE146
/* range for drive bar command ids: 0x9000..0x90FF */
#define ID_DRIVE_FIRST 0x9001
/* winefile extensions */
#define ID_ABOUT_WINE 0x8000
#define ID_LICENSE 0x8001
#define ID_NO_WARRANTY 0x8002
#define ID_WINDOW_AUTOSORT 0x8003
#define ID_VIEW_FULLSCREEN 0x8004
#define ID_PREFERED_SIZES 0x8005
#ifdef __linux__
#define ID_DRIVE_UNIX_FS 0x9000
#endif
/*
* Copyright 2000 Martin Fuchs
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "winefile.h"
#ifdef UNICODE
void _wsplitpath(const WCHAR* path, WCHAR* drv, WCHAR* dir, WCHAR* name, WCHAR* ext)
{
const WCHAR* end; // end of processed string
const WCHAR* p; // search pointer
const WCHAR* s; // copy pointer
// extract drive name
if (path[0] && path[1]==':') {
if (drv) {
*drv++ = *path++;
*drv++ = *path++;
*drv = L'\0';
}
} else if (drv)
*drv = L'\0';
// search for end of string or stream separator
for(end=path; *end && *end!=L':'; )
end++;
// search for begin of file extension
for(p=end; p>path && *--p!=L'\\' && *p!=L'/'; )
if (*p == L'.') {
end = p;
break;
}
if (ext)
for(s=end; *ext=*s++; )
ext++;
// search for end of directory name
for(p=end; p>path; )
if (*--p=='\\' || *p=='/') {
p++;
break;
}
if (name) {
for(s=p; s<end; )
*name++ = *s++;
*name = L'\0';
}
if (dir) {
for(s=path; s<p; )
*dir++ = *s++;
*dir = L'\0';
}
}
#else
void _splitpath(const CHAR* path, CHAR* drv, CHAR* dir, CHAR* name, CHAR* ext)
{
const CHAR* end; // end of processed string
const CHAR* p; // search pointer
const CHAR* s; // copy pointer
// extract drive name
if (path[0] && path[1]==':') {
if (drv) {
*drv++ = *path++;
*drv++ = *path++;
*drv = '\0';
}
} else if (drv)
*drv = '\0';
// search for end of string or stream separator
for(end=path; *end && *end!=':'; )
end++;
// search for begin of file extension
for(p=end; p>path && *--p!='\\' && *p!='/'; )
if (*p == '.') {
end = p;
break;
}
if (ext)
for(s=end; (*ext=*s++); )
ext++;
// search for end of directory name
for(p=end; p>path; )
if (*--p=='\\' || *p=='/') {
p++;
break;
}
if (name) {
for(s=p; s<end; )
*name++ = *s++;
*name = '\0';
}
if (dir) {
for(s=path; s<p; )
*dir++ = *s++;
*dir = '\0';
}
}
#endif
/*
void main() // test splipath()
{
TCHAR drv[_MAX_DRIVE+1], dir[_MAX_DIR], name[_MAX_FNAME], ext[_MAX_EXT];
_tsplitpath(L"x\\y", drv, dir, name, ext);
_tsplitpath(L"x\\", drv, dir, name, ext);
_tsplitpath(L"\\x", drv, dir, name, ext);
_tsplitpath(L"x", drv, dir, name, ext);
_tsplitpath(L"", drv, dir, name, ext);
_tsplitpath(L".x", drv, dir, name, ext);
_tsplitpath(L":x", drv, dir, name, ext);
_tsplitpath(L"a:x", drv, dir, name, ext);
_tsplitpath(L"a.b:x", drv, dir, name, ext);
_tsplitpath(L"W:\\/\\abc/Z:~", drv, dir, name, ext);
_tsplitpath(L"abc.EFGH:12345", drv, dir, name, ext);
_tsplitpath(L"C:/dos/command.com", drv, dir, name, ext);
}
*/
/*
* Copyright 2000 Martin Fuchs
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#define WIN32_LEAN_AND_MEAN
#define WIN32_EXTRA_LEAN
#define NOSERVICE
#define NOMCX
#define NOIME
#define NOCOMM
#define NOKANJI
#define NORPC
#define NOPROXYSTUB
#define NOIMAGE
#define NOTAPE
#ifdef UNICODE
#define _UNICODE
#include <wchar.h>
#endif
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
#include <shellapi.h>
#include <stdlib.h>
#include <malloc.h>
#include <stdio.h>
#include <tchar.h>
#include <ctype.h>
#ifndef FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
#define FILE_ATTRIBUTE_ENCRYPTED 0x00000040
#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
#endif
#ifdef _DEBUG
#define ASSERT(x) {if (!(x)) DebugBreak();}
#else
#define ASSERT(x) /* nothing */
#endif
typedef __uint64 QWORD;
#ifdef _MSC_VER
#define LONGLONGARG _T("I64")
#else
#define LONGLONGARG _T("L")
#endif
#define BUFFER_LEN 1024
enum IMAGE {
IMG_NONE=-1, IMG_FILE=0, IMG_DOCUMENT, IMG_EXECUTABLE,
IMG_FOLDER, IMG_OPEN_FOLDER, IMG_FOLDER_PLUS,IMG_OPEN_PLUS, IMG_OPEN_MINUS,
IMG_FOLDER_UP, IMG_FOLDER_CUR
};
#define IMAGE_WIDTH 16
#define IMAGE_HEIGHT 13
#define SPLIT_WIDTH 5
#define IDW_STATUSBAR 0x100
#define IDW_TOOLBAR 0x101
#define IDW_DRIVEBAR 0x102
#define IDW_FIRST_CHILD 0xC000 //0x200
#define IDW_TREE_LEFT 3
#define IDW_TREE_RIGHT 6
#define IDW_HEADER_LEFT 2
#define IDW_HEADER_RIGHT 5
#define WM_DISPATCH_COMMAND 0xBF80
#define COLOR_COMPRESSED RGB(0,0,255)
#define COLOR_SELECTION RGB(0,0,128)
#ifdef _NO_EXTENSIONS
#define COLOR_SPLITBAR WHITE_BRUSH
#else
#define COLOR_SPLITBAR LTGRAY_BRUSH
#endif
#define WINEFILEFRAME _T("WFS_Frame")
#define WINEFILETREE _T("WFS_Tree")
#define WINEFILEDRIVES _T("WFS_Drives")
#define WINEFILEMDICLIENT _T("WFS_MdiClient")
#define FRM_CALC_CLIENT 0xBF83
#define Frame_CalcFrameClient(hwnd, prt) ((BOOL)SNDMSG(hwnd, FRM_CALC_CLIENT, 0, (LPARAM)(PRECT)prt))
typedef struct
{
HANDLE hInstance;
HACCEL haccel;
HWND hMainWnd;
HMENU hMenuFrame;
HMENU hWindowsMenu;
HMENU hLanguageMenu;
HMENU hMenuView;
HMENU hMenuOptions;
HWND hmdiclient;
HWND hstatusbar;
HWND htoolbar;
HWND hdrivebar;
HFONT hfont;
TCHAR num_sep;
SIZE spaceSize;
HIMAGELIST himl;
TCHAR drives[BUFFER_LEN];
BOOL prescan_node; //TODO
UINT wStringTableOffset;
} WINEFILE_GLOBALS;
extern WINEFILE_GLOBALS Globals;
#ifdef UNICODE
extern void _wsplitpath(const WCHAR* path, WCHAR* drv, WCHAR* dir, WCHAR* name, WCHAR* ext);
#else
extern void _splitpath(const CHAR* path, CHAR* drv, CHAR* dir, CHAR* name, CHAR* ext);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment