Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
f2ac486e
Commit
f2ac486e
authored
Jun 11, 2011
by
Jay Yang
Committed by
Alexandre Julliard
Jun 16, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
explorer: Implement the explorer using IExplorerBrowser.
parent
0132645e
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
428 additions
and
56 deletions
+428
-56
configure
configure
+1
-1
configure.ac
configure.ac
+1
-1
ar.po
po/ar.po
+4
-0
bg.po
po/bg.po
+5
-0
ca.po
po/ca.po
+4
-0
cs.po
po/cs.po
+5
-0
da.po
po/da.po
+5
-0
de.po
po/de.po
+5
-0
el.po
po/el.po
+4
-0
en.po
po/en.po
+4
-0
en_US.po
po/en_US.po
+4
-0
eo.po
po/eo.po
+5
-0
es.po
po/es.po
+5
-0
fa.po
po/fa.po
+4
-0
fi.po
po/fi.po
+5
-0
fr.po
po/fr.po
+5
-0
he.po
po/he.po
+5
-0
hi.po
po/hi.po
+4
-0
hu.po
po/hu.po
+5
-0
it.po
po/it.po
+5
-0
ja.po
po/ja.po
+5
-0
ko.po
po/ko.po
+5
-0
lt.po
po/lt.po
+5
-0
ml.po
po/ml.po
+4
-0
nb_NO.po
po/nb_NO.po
+5
-0
nl.po
po/nl.po
+5
-0
or.po
po/or.po
+4
-0
pa.po
po/pa.po
+4
-0
pl.po
po/pl.po
+5
-0
pt_BR.po
po/pt_BR.po
+5
-0
pt_PT.po
po/pt_PT.po
+5
-0
rm.po
po/rm.po
+5
-0
ro.po
po/ro.po
+5
-0
ru.po
po/ru.po
+5
-0
sk.po
po/sk.po
+5
-0
sl.po
po/sl.po
+5
-0
sr_RS@cyrillic.po
po/sr_RS@cyrillic.po
+5
-0
sr_RS@latin.po
po/sr_RS@latin.po
+5
-0
sv.po
po/sv.po
+5
-0
te.po
po/te.po
+4
-0
th.po
po/th.po
+4
-0
tr.po
po/tr.po
+5
-0
uk.po
po/uk.po
+5
-0
wa.po
po/wa.po
+5
-0
wine.pot
po/wine.pot
+4
-0
zh_CN.po
po/zh_CN.po
+5
-0
zh_TW.po
po/zh_TW.po
+5
-0
Makefile.in
programs/explorer/Makefile.in
+4
-1
explorer.c
programs/explorer/explorer.c
+155
-53
explorer.rc
programs/explorer/explorer.rc
+29
-0
resource.h
programs/explorer/resource.h
+26
-0
No files found.
configure
View file @
f2ac486e
...
...
@@ -15473,7 +15473,7 @@ wine_fn_config_program control enable_control install
wine_fn_config_program dxdiag enable_dxdiag
install
,po
wine_fn_config_program eject enable_eject
install
wine_fn_config_program
expand
enable_expand
install
wine_fn_config_program explorer enable_explorer
install
wine_fn_config_program explorer enable_explorer
install
,po
wine_fn_config_program extrac32 enable_extrac32
install
wine_fn_config_program hh enable_hh
install
wine_fn_config_program
hostname
enable_hostname
install
,po
...
...
configure.ac
View file @
f2ac486e
...
...
@@ -2946,7 +2946,7 @@ WINE_CONFIG_PROGRAM(control,,[install])
WINE_CONFIG_PROGRAM(dxdiag,,[install,po])
WINE_CONFIG_PROGRAM(eject,,[install])
WINE_CONFIG_PROGRAM(expand,,[install])
WINE_CONFIG_PROGRAM(explorer,,[install])
WINE_CONFIG_PROGRAM(explorer,,[install
,po
])
WINE_CONFIG_PROGRAM(extrac32,,[install])
WINE_CONFIG_PROGRAM(hh,,[install])
WINE_CONFIG_PROGRAM(hostname,,[install,po])
...
...
po/ar.po
View file @
f2ac486e
...
...
@@ -8085,6 +8085,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/bg.po
View file @
f2ac486e
...
...
@@ -8261,6 +8261,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "&Разгледай"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/ca.po
View file @
f2ac486e
...
...
@@ -8008,6 +8008,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/cs.po
View file @
f2ac486e
...
...
@@ -8640,6 +8640,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "P&rozkoumat"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/da.po
View file @
f2ac486e
...
...
@@ -8664,6 +8664,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/de.po
View file @
f2ac486e
...
...
@@ -8653,6 +8653,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/el.po
View file @
f2ac486e
...
...
@@ -8132,6 +8132,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/en.po
View file @
f2ac486e
...
...
@@ -8309,6 +8309,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr "Wine Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/en_US.po
View file @
f2ac486e
...
...
@@ -8401,6 +8401,10 @@ msgstr "DirectX Diagnostic Tool"
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
#: explorer.rc:28
msgid "Wine Explorer"
msgstr "Wine Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr "Usage: hostname\n"
...
...
po/eo.po
View file @
f2ac486e
...
...
@@ -8252,6 +8252,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "E&sploru"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/es.po
View file @
f2ac486e
...
...
@@ -8842,6 +8842,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Internet Explorer de Wine"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/fa.po
View file @
f2ac486e
...
...
@@ -8087,6 +8087,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/fi.po
View file @
f2ac486e
...
...
@@ -8333,6 +8333,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "&Selaa"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/fr.po
View file @
f2ac486e
...
...
@@ -8482,6 +8482,11 @@ msgstr "Outil de diagnostic DirectX"
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr "Usage : dxdiag [/whql:off | /whql:on] [/t fichier | /x fichier]"
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Internet Explorer de Wine"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr "Usage : hostname\n"
...
...
po/he.po
View file @
f2ac486e
...
...
@@ -8502,6 +8502,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/hi.po
View file @
f2ac486e
...
...
@@ -8005,6 +8005,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/hu.po
View file @
f2ac486e
...
...
@@ -8527,6 +8527,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/it.po
View file @
f2ac486e
...
...
@@ -8747,6 +8747,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Internet Explorer di Wine"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/ja.po
View file @
f2ac486e
...
...
@@ -8399,6 +8399,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine インターネット エクスプローラ"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr "使い方: hostname\n"
...
...
po/ko.po
View file @
f2ac486e
...
...
@@ -8371,6 +8371,11 @@ msgstr "다이렉트엑스 진단 도구"
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr "사용법: dxdiag [/whql:off | /whql:on] [/t 파일이름 | /x 파일이름]"
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine 인터넷 익스폴로어r"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr "사용법:hostname\n"
...
...
po/lt.po
View file @
f2ac486e
...
...
@@ -8417,6 +8417,11 @@ msgstr "DirectX diagnostikos įrankis"
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr "Naudojimas: dxdiag [/whql:off | /whql:on] [/t failas | /x failas]"
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine interneto naršyklė"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr "Naudojimas: hostname\n"
...
...
po/ml.po
View file @
f2ac486e
...
...
@@ -8005,6 +8005,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/nb_NO.po
View file @
f2ac486e
...
...
@@ -8669,6 +8669,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/nl.po
View file @
f2ac486e
...
...
@@ -8555,6 +8555,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Verkenner"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/or.po
View file @
f2ac486e
...
...
@@ -8005,6 +8005,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/pa.po
View file @
f2ac486e
...
...
@@ -8005,6 +8005,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/pl.po
View file @
f2ac486e
...
...
@@ -8419,6 +8419,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/pt_BR.po
View file @
f2ac486e
...
...
@@ -8694,6 +8694,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/pt_PT.po
View file @
f2ac486e
...
...
@@ -8747,6 +8747,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Explorador de Internet Wine"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/rm.po
View file @
f2ac486e
...
...
@@ -8055,6 +8055,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine ag�d"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/ro.po
View file @
f2ac486e
...
...
@@ -8980,6 +8980,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/ru.po
View file @
f2ac486e
...
...
@@ -8416,6 +8416,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/sk.po
View file @
f2ac486e
...
...
@@ -8288,6 +8288,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "E&xplore"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/sl.po
View file @
f2ac486e
...
...
@@ -8449,6 +8449,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/sr_RS@cyrillic.po
View file @
f2ac486e
...
...
@@ -8394,6 +8394,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/sr_RS@latin.po
View file @
f2ac486e
...
...
@@ -8448,6 +8448,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/sv.po
View file @
f2ac486e
...
...
@@ -8417,6 +8417,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/te.po
View file @
f2ac486e
...
...
@@ -8005,6 +8005,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/th.po
View file @
f2ac486e
...
...
@@ -8141,6 +8141,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/tr.po
View file @
f2ac486e
...
...
@@ -8788,6 +8788,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "A&raştır"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/uk.po
View file @
f2ac486e
...
...
@@ -8426,6 +8426,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Оглядач Інтернету Wine"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/wa.po
View file @
f2ac486e
...
...
@@ -8104,6 +8104,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "E&xplore"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/wine.pot
View file @
f2ac486e
...
...
@@ -7981,6 +7981,10 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
msgid "Wine Explorer"
msgstr ""
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/zh_CN.po
View file @
f2ac486e
...
...
@@ -8381,6 +8381,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
po/zh_TW.po
View file @
f2ac486e
...
...
@@ -8436,6 +8436,11 @@ msgstr ""
msgid "Usage: dxdiag [/whql:off | /whql:on] [/t filename | /x filename]"
msgstr ""
#: explorer.rc:28
#, fuzzy
msgid "Wine Explorer"
msgstr "Wine Internet Explorer"
#: hostname.rc:27
msgid "Usage: hostname\n"
msgstr ""
...
...
programs/explorer/Makefile.in
View file @
f2ac486e
...
...
@@ -2,7 +2,7 @@ EXTRADEFS = -DWINE_NO_UNICODE_MACROS
MODULE
=
explorer.exe
APPMODE
=
-mwindows
-municode
IMPORTS
=
rpcrt4 user32 gdi32 advapi32
DELAYIMPORTS
=
comctl32
DELAYIMPORTS
=
comctl32
shell32 ole32
C_SRCS
=
\
appbar.c
\
...
...
@@ -10,4 +10,7 @@ C_SRCS = \
explorer.c
\
systray.c
RC_SRCS
=
explorer.rc
PO_SRCS
=
explorer.rc
@MAKE_PROG_RULES@
programs/explorer/explorer.c
View file @
f2ac486e
...
...
@@ -3,6 +3,7 @@
*
* Copyright 2004 CodeWeavers, Mike Hearn
* Copyright 2005,2006 CodeWeavers, Aric Stewart
* Copyright 2011 Jay Yang
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -19,10 +20,30 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#
include <windows.h>
#
define COBJMACROS
#include "wine/unicode.h"
#include "wine/debug.h"
#include "explorer_private.h"
#include "resource.h"
#include <initguid.h>
#include <windows.h>
#include <shobjidl.h>
#include <shlobj.h>
WINE_DEFAULT_DEBUG_CHANNEL
(
explorer
);
#define EXPLORER_INFO_INDEX 0
#define DEFAULT_WIDTH 640
#define DEFAULT_HEIGHT 480
static
const
WCHAR
EXPLORER_CLASS
[]
=
{
'W'
,
'I'
,
'N'
,
'E'
,
'_'
,
'E'
,
'X'
,
'P'
,
'L'
,
'O'
,
'R'
,
'E'
,
'R'
,
'\0'
};
HINSTANCE
explorer_hInstance
;
typedef
struct
parametersTAG
{
BOOL
explorer_mode
;
...
...
@@ -30,8 +51,116 @@ typedef struct parametersTAG {
WCHAR
selection
[
MAX_PATH
];
}
parameters_struct
;
typedef
struct
{
IExplorerBrowser
*
browser
;
}
explorer_info
;
static
void
make_explorer_window
(
IShellFolder
*
startFolder
)
{
RECT
explorerRect
;
HWND
window
;
FOLDERSETTINGS
fs
;
explorer_info
*
info
;
HRESULT
hres
;
WCHAR
explorer_title
[
100
];
LoadStringW
(
explorer_hInstance
,
IDS_EXPLORER_TITLE
,
explorer_title
,
sizeof
(
explorer_title
)
/
sizeof
(
WCHAR
));
info
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
explorer_info
));
if
(
!
info
)
{
WINE_ERR
(
"Could not allocate a explorer_info struct
\n
"
);
return
;
}
hres
=
CoCreateInstance
(
&
CLSID_ExplorerBrowser
,
NULL
,
CLSCTX_INPROC_SERVER
,
&
IID_IExplorerBrowser
,(
LPVOID
*
)
&
info
->
browser
);
if
(
!
SUCCEEDED
(
hres
))
{
WINE_ERR
(
"Could not obtain an instance of IExplorerBrowser
\n
"
);
HeapFree
(
GetProcessHeap
(),
0
,
info
);
return
;
}
window
=
CreateWindowW
(
EXPLORER_CLASS
,
explorer_title
,
WS_OVERLAPPEDWINDOW
,
CW_USEDEFAULT
,
CW_USEDEFAULT
,
DEFAULT_WIDTH
,
DEFAULT_HEIGHT
,
NULL
,
NULL
,
explorer_hInstance
,
NULL
);
fs
.
ViewMode
=
FVM_DETAILS
;
fs
.
fFlags
=
FWF_AUTOARRANGE
;
explorerRect
.
left
=
0
;
explorerRect
.
top
=
0
;
explorerRect
.
right
=
DEFAULT_WIDTH
;
explorerRect
.
bottom
=
DEFAULT_HEIGHT
;
IExplorerBrowser_Initialize
(
info
->
browser
,
window
,
&
explorerRect
,
&
fs
);
IExplorerBrowser_SetOptions
(
info
->
browser
,
EBO_SHOWFRAMES
);
SetWindowLongPtrW
(
window
,
EXPLORER_INFO_INDEX
,(
LONG_PTR
)
info
);
IExplorerBrowser_BrowseToObject
(
info
->
browser
,(
IUnknown
*
)
startFolder
,
SBSP_ABSOLUTE
);
ShowWindow
(
window
,
SW_SHOWDEFAULT
);
UpdateWindow
(
window
);
}
static
void
update_window_size
(
explorer_info
*
info
,
int
height
,
int
width
)
{
RECT
new_rect
;
new_rect
.
left
=
0
;
new_rect
.
top
=
0
;
new_rect
.
right
=
width
;
new_rect
.
bottom
=
height
;
IExplorerBrowser_SetRect
(
info
->
browser
,
NULL
,
new_rect
);
}
static
int
CopyPathString
(
LPWSTR
target
,
LPWSTR
source
)
static
void
do_exit
(
int
code
)
{
OleUninitialize
();
ExitProcess
(
code
);
}
LRESULT
CALLBACK
explorer_wnd_proc
(
HWND
hwnd
,
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
explorer_info
*
info
=
(
explorer_info
*
)
GetWindowLongPtrW
(
hwnd
,
EXPLORER_INFO_INDEX
);
IExplorerBrowser
*
browser
=
NULL
;
if
(
info
)
browser
=
info
->
browser
;
switch
(
uMsg
)
{
case
WM_DESTROY
:
IExplorerBrowser_Release
(
browser
);
HeapFree
(
GetProcessHeap
(),
0
,
info
);
PostQuitMessage
(
0
);
break
;
case
WM_QUIT
:
do_exit
(
wParam
);
case
WM_SIZE
:
update_window_size
(
info
,
HIWORD
(
lParam
),
LOWORD
(
lParam
));
break
;
default:
return
DefWindowProcW
(
hwnd
,
uMsg
,
wParam
,
lParam
);
}
return
0
;
}
static
void
register_explorer_window_class
(
void
)
{
WNDCLASSEXW
window_class
;
window_class
.
cbSize
=
sizeof
(
WNDCLASSEXW
);
window_class
.
style
=
0
;
window_class
.
cbClsExtra
=
0
;
window_class
.
cbWndExtra
=
sizeof
(
LONG_PTR
);
window_class
.
lpfnWndProc
=
explorer_wnd_proc
;
window_class
.
hInstance
=
explorer_hInstance
;
window_class
.
hIcon
=
NULL
;
window_class
.
hCursor
=
NULL
;
window_class
.
hbrBackground
=
NULL
;
window_class
.
lpszMenuName
=
NULL
;
window_class
.
lpszClassName
=
EXPLORER_CLASS
;
window_class
.
hIconSm
=
NULL
;
RegisterClassExW
(
&
window_class
);
}
static
int
copy_path_string
(
LPWSTR
target
,
LPWSTR
source
)
{
INT
i
=
0
;
...
...
@@ -54,7 +183,7 @@ static int CopyPathString(LPWSTR target, LPWSTR source)
}
static
void
CopyPathR
oot
(
LPWSTR
root
,
LPWSTR
path
)
static
void
copy_path_r
oot
(
LPWSTR
root
,
LPWSTR
path
)
{
LPWSTR
p
,
p2
;
INT
i
=
0
;
...
...
@@ -86,7 +215,7 @@ static void CopyPathRoot(LPWSTR root, LPWSTR path)
* [/root,object] Specifies the root level of the view
* [/select,object] parent folder is opened and specified object is selected
*/
static
void
ParseCommandL
ine
(
LPWSTR
commandline
,
parameters_struct
*
parameters
)
static
void
parse_command_l
ine
(
LPWSTR
commandline
,
parameters_struct
*
parameters
)
{
static
const
WCHAR
arg_n
[]
=
{
'/'
,
'n'
};
static
const
WCHAR
arg_e
[]
=
{
'/'
,
'e'
,
','
};
...
...
@@ -113,15 +242,15 @@ static void ParseCommandLine(LPWSTR commandline,parameters_struct *parameters)
else
if
(
strncmpW
(
p
,
arg_root
,
sizeof
(
arg_root
)
/
sizeof
(
WCHAR
))
==
0
)
{
p
+=
sizeof
(
arg_root
)
/
sizeof
(
WCHAR
);
p
+=
CopyPathS
tring
(
parameters
->
root
,
p
);
p
+=
copy_path_s
tring
(
parameters
->
root
,
p
);
}
else
if
(
strncmpW
(
p
,
arg_select
,
sizeof
(
arg_select
)
/
sizeof
(
WCHAR
))
==
0
)
{
p
+=
sizeof
(
arg_select
)
/
sizeof
(
WCHAR
);
p
+=
CopyPathS
tring
(
parameters
->
selection
,
p
);
p
+=
copy_path_s
tring
(
parameters
->
selection
,
p
);
if
(
!
parameters
->
root
[
0
])
CopyPathR
oot
(
parameters
->
root
,
parameters
->
selection
);
copy_path_r
oot
(
parameters
->
root
,
parameters
->
selection
);
}
else
if
(
strncmpW
(
p
,
arg_desktop
,
sizeof
(
arg_desktop
)
/
sizeof
(
WCHAR
))
==
0
)
{
...
...
@@ -136,7 +265,7 @@ static void ParseCommandLine(LPWSTR commandline,parameters_struct *parameters)
if
(
p2
&&
*
p2
)
{
/* left over command line is generally the path to be opened */
CopyPathS
tring
(
parameters
->
root
,
p2
);
copy_path_s
tring
(
parameters
->
root
,
p2
);
}
}
...
...
@@ -145,56 +274,29 @@ int WINAPI wWinMain(HINSTANCE hinstance,
LPWSTR
cmdline
,
int
cmdshow
)
{
STARTUPINFOW
si
;
PROCESS_INFORMATION
info
;
parameters_struct
parameters
;
BOOL
rc
;
static
const
WCHAR
winefile
[]
=
{
'\\'
,
'w'
,
'i'
,
'n'
,
'e'
,
'f'
,
'i'
,
'l'
,
'e'
,
'.'
,
'e'
,
'x'
,
'e'
,
0
};
static
const
WCHAR
space
[]
=
{
' '
,
0
};
WCHAR
app
[
MAX_PATH
];
LPWSTR
winefile_commandline
=
NULL
;
DWORD
len
=
0
;
HRESULT
hres
;
MSG
msg
;
IShellFolder
*
folder
;
memset
(
&
parameters
,
0
,
sizeof
(
parameters
));
memset
(
&
si
,
0
,
sizeof
(
STARTUPINFOW
));
ParseCommandLine
(
cmdline
,
&
parameters
);
len
=
GetSystemDirectoryW
(
NULL
,
0
)
+
sizeof
(
winefile
)
/
sizeof
(
WCHAR
);
if
(
parameters
.
selection
[
0
])
len
+=
lstrlenW
(
parameters
.
selection
)
+
2
;
else
if
(
parameters
.
root
[
0
])
len
+=
lstrlenW
(
parameters
.
root
)
+
3
;
winefile_commandline
=
HeapAlloc
(
GetProcessHeap
(),
0
,
len
*
sizeof
(
WCHAR
));
GetSystemDirectoryW
(
app
,
MAX_PATH
-
sizeof
(
winefile
)
/
sizeof
(
WCHAR
)
);
strcatW
(
app
,
winefile
);
strcpyW
(
winefile_commandline
,
app
);
if
(
parameters
.
selection
[
0
])
explorer_hInstance
=
hinstance
;
parse_command_line
(
cmdline
,
&
parameters
);
hres
=
OleInitialize
(
NULL
);
if
(
!
SUCCEEDED
(
hres
))
{
lstrcatW
(
winefile_commandline
,
space
);
lstrcatW
(
winefile_commandline
,
parameters
.
selection
);
WINE_ERR
(
"Could not initialize COM
\n
"
);
ExitProcess
(
EXIT_FAILURE
);
}
else
if
(
parameters
.
root
[
0
])
register_explorer_window_class
();
SHGetDesktopFolder
(
&
folder
);
make_explorer_window
(
folder
);
IShellFolder_Release
(
folder
);
while
(
GetMessageW
(
&
msg
,
NULL
,
0
,
0
)
!=
0
)
{
lstrcatW
(
winefile_commandline
,
space
);
lstrcatW
(
winefile_commandline
,
parameters
.
root
);
if
(
winefile_commandline
[
lstrlenW
(
winefile_commandline
)
-
1
]
!=
'\\'
)
{
static
const
WCHAR
slash
[]
=
{
'\\'
,
0
};
lstrcatW
(
winefile_commandline
,
slash
);
}
TranslateMessage
(
&
msg
);
DispatchMessageW
(
&
msg
);
}
rc
=
CreateProcessW
(
app
,
winefile_commandline
,
NULL
,
NULL
,
FALSE
,
0
,
NULL
,
parameters
.
root
[
0
]
?
parameters
.
root
:
NULL
,
&
si
,
&
info
);
HeapFree
(
GetProcessHeap
(),
0
,
winefile_commandline
);
if
(
!
rc
)
return
0
;
CloseHandle
(
info
.
hThread
);
WaitForSingleObject
(
info
.
hProcess
,
INFINITE
);
CloseHandle
(
info
.
hProcess
);
return
0
;
}
programs/explorer/explorer.rc
0 → 100644
View file @
f2ac486e
/*
* Explorer resources
*
* Copyright 2011 Jay Yang
*
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "windef.h"
#include "resource.h"
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
{
IDS_EXPLORER_TITLE "Wine Explorer"
}
programs/explorer/resource.h
0 → 100644
View file @
f2ac486e
/*
* Explorer resource definitions
*
* Copyright 2011 Jay Yang
*
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_EXPLORER_RESOURCE_H
#define __WINE_EXPLORER_RESOURCE_H
#define IDS_EXPLORER_TITLE 1
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment