]> git.sesse.net Git - vlc/commitdiff
WxWidgets: Bye Bye, I will not miss you.
authorJean-Baptiste Kempf <jb@videolan.org>
Mon, 26 Jan 2009 21:02:45 +0000 (22:02 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 26 Jan 2009 21:02:45 +0000 (22:02 +0100)
Acked-by: Rémi Denis-Courmont <rdenis@simphalempin.com>
94 files changed:
modules/gui/wxwidgets/Modules.am [deleted file]
modules/gui/wxwidgets/bitmaps/advanced.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/audio.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/codec.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/edit.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/eject.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/fast.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/intf.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/loop.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/next.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/pause.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/play.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/playlist.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/playlist_small.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/prev.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/repeat.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/shuffle.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/slow.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/speaker.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/speaker_mute.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/stop.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/trash.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_afile.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_card.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_cdda.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_directory.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_disc.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_net.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_node.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_playlist.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_unknown.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/type_vfile.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/update_ascii.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/update_binary.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/update_document.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/update_info.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/update_source.xpm [deleted file]
modules/gui/wxwidgets/bitmaps/video.xpm [deleted file]
modules/gui/wxwidgets/dialogs.cpp [deleted file]
modules/gui/wxwidgets/dialogs/bookmarks.cpp [deleted file]
modules/gui/wxwidgets/dialogs/bookmarks.hpp [deleted file]
modules/gui/wxwidgets/dialogs/fileinfo.cpp [deleted file]
modules/gui/wxwidgets/dialogs/fileinfo.hpp [deleted file]
modules/gui/wxwidgets/dialogs/infopanels.cpp [deleted file]
modules/gui/wxwidgets/dialogs/infopanels.hpp [deleted file]
modules/gui/wxwidgets/dialogs/interaction.cpp [deleted file]
modules/gui/wxwidgets/dialogs/interaction.hpp [deleted file]
modules/gui/wxwidgets/dialogs/iteminfo.cpp [deleted file]
modules/gui/wxwidgets/dialogs/iteminfo.hpp [deleted file]
modules/gui/wxwidgets/dialogs/messages.cpp [deleted file]
modules/gui/wxwidgets/dialogs/messages.hpp [deleted file]
modules/gui/wxwidgets/dialogs/open.cpp [deleted file]
modules/gui/wxwidgets/dialogs/open.hpp [deleted file]
modules/gui/wxwidgets/dialogs/playlist.cpp [deleted file]
modules/gui/wxwidgets/dialogs/playlist.hpp [deleted file]
modules/gui/wxwidgets/dialogs/preferences.cpp [deleted file]
modules/gui/wxwidgets/dialogs/preferences.hpp [deleted file]
modules/gui/wxwidgets/dialogs/preferences_widgets.cpp [deleted file]
modules/gui/wxwidgets/dialogs/preferences_widgets.h [deleted file]
modules/gui/wxwidgets/dialogs/streamout.cpp [deleted file]
modules/gui/wxwidgets/dialogs/streamout.hpp [deleted file]
modules/gui/wxwidgets/dialogs/subtitles.cpp [deleted file]
modules/gui/wxwidgets/dialogs/subtitles.hpp [deleted file]
modules/gui/wxwidgets/dialogs/updatevlc.cpp [deleted file]
modules/gui/wxwidgets/dialogs/updatevlc.hpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_panel.cpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_panel.hpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_slider_manager.cpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_slider_manager.hpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_stream.cpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_stream.hpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_streampanel.cpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_streampanel.hpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_wrapper.cpp [deleted file]
modules/gui/wxwidgets/dialogs/vlm/vlm_wrapper.hpp [deleted file]
modules/gui/wxwidgets/dialogs/wizard.cpp [deleted file]
modules/gui/wxwidgets/dialogs/wizard.hpp [deleted file]
modules/gui/wxwidgets/extrapanel.cpp [deleted file]
modules/gui/wxwidgets/extrapanel.hpp [deleted file]
modules/gui/wxwidgets/input_manager.cpp [deleted file]
modules/gui/wxwidgets/input_manager.hpp [deleted file]
modules/gui/wxwidgets/interface.cpp [deleted file]
modules/gui/wxwidgets/interface.hpp [deleted file]
modules/gui/wxwidgets/menus.cpp [deleted file]
modules/gui/wxwidgets/playlist_manager.cpp [deleted file]
modules/gui/wxwidgets/playlist_manager.hpp [deleted file]
modules/gui/wxwidgets/streamdata.cpp [deleted file]
modules/gui/wxwidgets/streamdata.h [deleted file]
modules/gui/wxwidgets/timer.cpp [deleted file]
modules/gui/wxwidgets/timer.hpp [deleted file]
modules/gui/wxwidgets/video.cpp [deleted file]
modules/gui/wxwidgets/video.hpp [deleted file]
modules/gui/wxwidgets/wxwidgets.cpp [deleted file]
modules/gui/wxwidgets/wxwidgets.hpp [deleted file]

diff --git a/modules/gui/wxwidgets/Modules.am b/modules/gui/wxwidgets/Modules.am
deleted file mode 100644 (file)
index 16e118a..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-SOURCES_wxwidgets = \
-       wxwidgets.cpp \
-       wxwidgets.hpp \
-       streamdata.h \
-       streamdata.cpp \
-       interface.cpp \
-       extrapanel.cpp \
-       menus.cpp \
-       timer.cpp \
-       video.cpp \
-       input_manager.cpp \
-       playlist_manager.cpp \
-       dialogs.cpp \
-       dialogs/open.cpp \
-       dialogs/interaction.cpp \
-       dialogs/streamout.cpp \
-       dialogs/wizard.cpp \
-       dialogs/messages.cpp \
-       dialogs/playlist.cpp \
-       dialogs/iteminfo.cpp \
-       dialogs/infopanels.cpp \
-       dialogs/preferences.cpp \
-       dialogs/preferences_widgets.cpp \
-       dialogs/preferences_widgets.h \
-       dialogs/fileinfo.cpp \
-       dialogs/updatevlc.cpp \
-       dialogs/subtitles.cpp \
-       dialogs/bookmarks.cpp \
-       dialogs/vlm/vlm_slider_manager.cpp \
-       dialogs/vlm/vlm_slider_manager.hpp \
-       dialogs/vlm/vlm_stream.cpp \
-       dialogs/vlm/vlm_stream.hpp \
-       dialogs/vlm/vlm_wrapper.hpp \
-       dialogs/vlm/vlm_wrapper.cpp \
-       dialogs/vlm/vlm_streampanel.cpp \
-       dialogs/vlm/vlm_streampanel.hpp \
-       dialogs/vlm/vlm_panel.cpp \
-       dialogs/vlm/vlm_panel.hpp
-       $(NULL)
-
-EXTRA_DIST += \
-       interface.hpp \
-       extrapanel.hpp \
-       timer.hpp \
-       video.hpp \
-       input_manager.hpp \
-       playlist_manager.hpp \
-       dialogs/fileinfo.hpp \
-       dialogs/preferences.hpp \
-       dialogs/wizard.hpp \
-       dialogs/vlm/vlm_streampanel.hpp \
-       dialogs/vlm/vlm_stream.hpp \
-       dialogs/vlm/vlm_panel.hpp \
-       dialogs/vlm/vlm_slider_manager.hpp \
-       dialogs/vlm/vlm_wrapper.hpp \
-       dialogs/playlist.hpp \
-       dialogs/interaction.hpp \
-       dialogs/open.hpp \
-       dialogs/messages.hpp \
-       dialogs/iteminfo.hpp \
-       dialogs/infopanels.hpp \
-       dialogs/subtitles.hpp \
-       dialogs/streamout.hpp \
-       dialogs/updatevlc.hpp \
-       dialogs/bookmarks.hpp \
-       bitmaps/advanced.xpm \
-       bitmaps/audio.xpm \
-       bitmaps/codec.xpm \
-       bitmaps/eject.xpm \
-       bitmaps/fast.xpm \
-       bitmaps/intf.xpm \
-       bitmaps/loop.xpm \
-       bitmaps/next.xpm \
-       bitmaps/pause.xpm \
-       bitmaps/playlist.xpm \
-       bitmaps/playlist_small.xpm \
-       bitmaps/play.xpm \
-       bitmaps/prev.xpm \
-       bitmaps/repeat.xpm \
-       bitmaps/shuffle.xpm \
-       bitmaps/slow.xpm \
-       bitmaps/speaker_mute.xpm \
-       bitmaps/speaker.xpm \
-       bitmaps/stop.xpm \
-       bitmaps/trash.xpm \
-       bitmaps/edit.xpm \
-       bitmaps/type_afile.xpm \
-       bitmaps/type_card.xpm \
-       bitmaps/type_cdda.xpm \
-       bitmaps/type_directory.xpm \
-       bitmaps/type_disc.xpm \
-       bitmaps/type_net.xpm \
-       bitmaps/type_node.xpm \
-       bitmaps/type_playlist.xpm \
-       bitmaps/type_unknown.xpm \
-       bitmaps/type_vfile.xpm \
-       bitmaps/update_ascii.xpm \
-       bitmaps/update_binary.xpm \
-       bitmaps/update_document.xpm \
-       bitmaps/update_info.xpm \
-       bitmaps/update_source.xpm \
-       bitmaps/video.xpm
diff --git a/modules/gui/wxwidgets/bitmaps/advanced.xpm b/modules/gui/wxwidgets/bitmaps/advanced.xpm
deleted file mode 100644 (file)
index 94c4929..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* XPM */
-static const char * advanced_xpm[] = {
-"16 16 106 2",
-"      c None",
-".     c #AEAEBE",
-"+     c #D7D7E0",
-"@     c #D5D5DD",
-"#     c #C2C2CE",
-"$     c #CECED7",
-"%     c #FEFEFE",
-"&     c #DCDCE2",
-"*     c #9F9FB2",
-"=     c #C3C3CE",
-"-     c #FBFBFB",
-";     c #D0D0D8",
-">     c #86869E",
-",     c #8F8FA4",
-"'     c #EBEBEE",
-")     c #EEEEF2",
-"!     c #9595A9",
-"~     c #A2A2B5",
-"{     c #9A9AAE",
-"]     c #CACAD5",
-"^     c #F8F8F9",
-"/     c #F7F7F9",
-"(     c #9999AC",
-"_     c #A8A8B8",
-":     c #E7E7EB",
-"<     c #87879F",
-"[     c #6F6F8B",
-"}     c #BFBFCB",
-"|     c #F1F1F5",
-"1     c #E9E9EE",
-"2     c #EDEDF2",
-"3     c #DBDBE2",
-"4     c #7C7F9B",
-"5     c #818199",
-"6     c #E2E2E7",
-"7     c #D2D2DC",
-"8     c #BDBDCA",
-"9     c #E3E3E8",
-"0     c #E0E0E6",
-"a     c #E0E0E4",
-"b     c #E1E1E7",
-"c     c #C6C6D1",
-"d     c #707599",
-"e     c #9B9BAE",
-"f     c #DEDEE4",
-"g     c #D8D8E1",
-"h     c #DADAE2",
-"i     c #D8D8E0",
-"j     c #BEBECB",
-"k     c #B2B6CE",
-"l     c #B09E8F",
-"m     c #CC8B22",
-"n     c #808098",
-"o     c #AFAFBF",
-"p     c #B9B9C8",
-"q     c #B3B3C2",
-"r     c #BCBCC9",
-"s     c #C3C6DA",
-"t     c #BDAA9A",
-"u     c #CF8925",
-"v     c #E68208",
-"w     c #DA9217",
-"x     c #49496A",
-"y     c #565674",
-"z     c #4B4B6D",
-"A     c #5D6186",
-"B     c #B3A196",
-"C     c #CF8B28",
-"D     c #E98606",
-"E     c #FD8606",
-"F     c #F38F0B",
-"G     c #D59018",
-"H     c #B2721C",
-"I     c #F19C0D",
-"J     c #FEA310",
-"K     c #FEA210",
-"L     c #F8A410",
-"M     c #D28F19",
-"N     c #CF8918",
-"O     c #FEBC19",
-"P     c #FEBE1B",
-"Q     c #FEB518",
-"R     c #FEA913",
-"S     c #FDA610",
-"T     c #CF8717",
-"U     c #C98819",
-"V     c #FECE20",
-"W     c #FEAC13",
-"X     c #FE8907",
-"Y     c #FE8506",
-"Z     c #FC980B",
-"`     c #B26E16",
-" .    c #C27F18",
-"..    c #FEA410",
-"+.    c #FE9109",
-"@.    c #FE8004",
-"#.    c #FE9106",
-"$.    c #BD7013",
-"%.    c #BB650F",
-"&.    c #FE9F0D",
-"*.    c #FE9808",
-"=.    c #ED8108",
-"-.    c #915216",
-";.    c #994E10",
-">.    c #AB5A0D",
-",.    c #894914",
-"      . + @ #                   ",
-"        $ % % & *               ",
-"          = - % ;               ",
-">         , ' % ) !             ",
-"~ {       ] ^ / ) (             ",
-"_ : < [ } | 1 2 3 4             ",
-"5 6 7 8 9 0 a b c d             ",
-"  e f b g h i j k l m           ",
-"    n o p q r s t u v w         ",
-"      x y z A B C D E F G       ",
-"              H I J J K L M     ",
-"                N O P Q R S T   ",
-"                  U V W X Y Z ` ",
-"                     ...+.@.#.$.",
-"                      %.&.*.=.-.",
-"                        ;.>.,.  "};
diff --git a/modules/gui/wxwidgets/bitmaps/audio.xpm b/modules/gui/wxwidgets/bitmaps/audio.xpm
deleted file mode 100644 (file)
index dbe3537..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/* XPM */
-static const char * audio_xpm[] = {
-"16 16 83 1",
-"     c None",
-".    c #00E000",
-"+    c #00F100",
-"@    c #00F500",
-"#    c #00DE00",
-"$    c #00AF00",
-"%    c #00AF01",
-"&    c #00A402",
-"*    c #00A100",
-"=    c #00A400",
-"-    c #009401",
-";    c #009301",
-">    c #007700",
-",    c #007A02",
-"'    c #008101",
-")    c #00EE00",
-"!    c #00F300",
-"~    c #00A701",
-"{    c #009C02",
-"]    c #009C00",
-"^    c #007E03",
-"/    c #007401",
-"(    c #929292",
-"_    c #9E9E9E",
-":    c #A8A8A8",
-"<    c #747474",
-"[    c #737373",
-"}    c #6C6C6C",
-"|    c #666666",
-"1    c #787878",
-"2    c #8F8F8F",
-"3    c #A7A7A7",
-"4    c #B6B6B7",
-"5    c #6D6D6D",
-"6    c #626262",
-"7    c #646464",
-"8    c #848484",
-"9    c #969696",
-"0    c #B9B9B9",
-"a    c #C6C6C6",
-"b    c #A6A6AA",
-"c    c #6A6A6A",
-"d    c #7A7A7A",
-"e    c #B2B2B2",
-"f    c #BFBFBF",
-"g    c #BABABA",
-"h    c #B6B6B6",
-"i    c #B4B4B4",
-"j    c #D7D7D7",
-"k    c #C3C3C4",
-"l    c #6B6B6B",
-"m    c #636363",
-"n    c #606060",
-"o    c #575757",
-"p    c #555555",
-"q    c #535353",
-"r    c #888888",
-"s    c #D3D3D3",
-"t    c #E1E1E1",
-"u    c #B3B3B4",
-"v    c #383838",
-"w    c #707070",
-"x    c #585858",
-"y    c #3C3C3C",
-"z    c #3B3B3B",
-"A    c #494949",
-"B    c #DEDEDE",
-"C    c #C4C4C4",
-"D    c #57575D",
-"E    c #242424",
-"F    c #7C7C7C",
-"G    c #949494",
-"H    c #A2A2A2",
-"I    c #BCBCBC",
-"J    c #8B8B8D",
-"K    c #444444",
-"L    c #414141",
-"M    c #464646",
-"N    c #5D5D5D",
-"O    c #7B7B7B",
-"P    c #4A4A4F",
-"Q    c #4A4A4B",
-"R    c #515153",
-"      .+@#      ",
-"   $%&    *=-   ",
-"  ;         >,  ",
-" '              ",
-"       )!       ",
-"    ~{    ]-    ",
-"   ^        /   ",
-"      (_:       ",
-"   <[}||1234    ",
-"  5|667<89:0ab  ",
-"  c66defghiajk  ",
-"  l6mnopqmrstu  ",
-"  vwcxyvzA3BCD  ",
-"   EoF2GHIhJ    ",
-"     KLMNOP     ",
-"       QR       "};
diff --git a/modules/gui/wxwidgets/bitmaps/codec.xpm b/modules/gui/wxwidgets/bitmaps/codec.xpm
deleted file mode 100644 (file)
index eeb0579..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/* XPM */
-static const char * codec_xpm[] = {
-"16 16 132 2",
-"      c None",
-".     c #131313",
-"+     c #464646",
-"@     c #E0E0E0",
-"#     c #656565",
-"$     c #3D3D3D",
-"%     c #E4E9EC",
-"&     c #FBFFFF",
-"*     c #E8E9EB",
-"=     c #595858",
-"-     c #393A3B",
-";     c #D1DBE6",
-">     c #ECF8FF",
-",     c #E8F4FF",
-"'     c #D5DAE1",
-")     c #C1C1C1",
-"!     c #4F4E4D",
-"~     c #0A0A0A",
-"{     c #909295",
-"]     c #D8EAFD",
-"^     c #DFF1FF",
-"/     c #C0CAD6",
-"(     c #C6CCD4",
-"_     c #E5ECF1",
-":     c #828385",
-"<     c #080808",
-"[     c #989898",
-"}     c #5B5B5B",
-"|     c #2F2E2D",
-"1     c #898E94",
-"2     c #ADB8C6",
-"3     c #B6BDC7",
-"4     c #E6F1FD",
-"5     c #F6FFFF",
-"6     c #8D96A2",
-"7     c #121213",
-"8     c #646464",
-"9     c #B6B6B6",
-"0     c #898989",
-"a     c #767676",
-"b     c #3F3F3F",
-"c     c #292827",
-"d     c #6D6E6F",
-"e     c #D4E0F0",
-"f     c #F1FFFF",
-"g     c #B9C4D0",
-"h     c #868E98",
-"i     c #B0BBC6",
-"j     c #46484B",
-"k     c #1E1E1D",
-"l     c #C7C7C7",
-"m     c #8D8D8D",
-"n     c #818181",
-"o     c #A1A1A1",
-"p     c #5E5E5E",
-"q     c #343433",
-"r     c #777A7F",
-"s     c #B3BDC6",
-"t     c #959AA2",
-"u     c #DEE9F2",
-"v     c #F7FFFF",
-"w     c #B8C2CE",
-"x     c #363636",
-"y     c #030303",
-"z     c #8F8F8F",
-"A     c #BDBDBD",
-"B     c #999999",
-"C     c #AAAAAA",
-"D     c #E1E1E1",
-"E     c #F6F6F6",
-"F     c #EBEBEB",
-"G     c #7E7E7E",
-"H     c #3F3E3E",
-"I     c #6E6F6F",
-"J     c #D9DFE7",
-"K     c #FDFFFF",
-"L     c #EDF4F9",
-"M     c #7A7D81",
-"N     c #0C0B0B",
-"O     c #A7A7A7",
-"P     c #C4C4C4",
-"Q     c #B5B5B5",
-"R     c #C2C2C2",
-"S     c #D6D6D6",
-"T     c #D5D5D5",
-"U     c #CDCDCD",
-"V     c #C5C5C5",
-"W     c #727272",
-"X     c #5D5C5C",
-"Y     c #AEAFB0",
-"Z     c #F0F1F1",
-"`     c #929394",
-" .    c #0B0B0A",
-"..    c #868686",
-"+.    c #D9D9D9",
-"@.    c #D3D3D3",
-"#.    c #B8B8B8",
-"$.    c #9B9B9B",
-"%.    c #969696",
-"&.    c #A0A0A0",
-"*.    c #D1D1D1",
-"=.    c #919192",
-"-.    c #111111",
-";.    c #3E3E3E",
-">.    c #BEBEBE",
-",.    c #EFEFEF",
-"'.    c #E7E7E7",
-").    c #B0B0B0",
-"!.    c #CFCFCF",
-"~.    c #F4F4F4",
-"{.    c #DFDFDF",
-"].    c #5D5D5D",
-"^.    c #0C0C0C",
-"/.    c #585858",
-"(.    c #FFFFFF",
-"_.    c #FDFDFD",
-":.    c #FBFBFB",
-"<.    c #8E8E8E",
-"[.    c #252525",
-"}.    c #424242",
-"|.    c #7F7F7F",
-"1.    c #A8A8A8",
-"2.    c #939393",
-"3.    c #6D6D6D",
-"4.    c #191919",
-"5.    c #4C4C4C",
-"6.    c #6B6B6B",
-"7.    c #8B8B8B",
-"8.    c #ADADAD",
-"9.    c #B4B4B4",
-"0.    c #333333",
-"a.    c #6C6C6C",
-"                .               ",
-"              + @ #             ",
-"            $ % & * =           ",
-"          - ; > , ' ) !         ",
-"        ~ { ] ^ / ( _ : <       ",
-"      [ } | 1 2 3 4 5 6 7 .     ",
-"  8 9 0 a b c d e f g h i j k   ",
-"  l m n m o p q r s t u v w x y ",
-"z A B C D E F G H I J K L M N   ",
-"O P Q R S T U V W X Y Z `  .    ",
-"..+.@.#.[ $.%.&.*...G =.-.      ",
-";.>.,.'.).z B !.~.{.].^.        ",
-"  /.9 ,.(._.(.:.T <.[.          ",
-"    }.|.$.1.&.2.3.4.            ",
-"      5.6.7.8.9.$               ",
-"        0.# a.                  "};
diff --git a/modules/gui/wxwidgets/bitmaps/edit.xpm b/modules/gui/wxwidgets/bitmaps/edit.xpm
deleted file mode 100644 (file)
index 79af32b..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* XPM */
-static const char * edit_xpm[] = {
-"16 16 44 1",
-"     g None",
-".    g #999999",
-"+    g #E9E9E9",
-"@    g #898989",
-"#    g #B6B6B6",
-"$    g #606060",
-"%    g #EBEBEB",
-"&    g #BCBCBC",
-"*    g #B8B8B8",
-"=    g #E7E7E7",
-"-    g #B1B1B1",
-";    g #FFFFFF",
-">    g #ECECEC",
-",    g #D3D3D3",
-"'    g #E8E8E8",
-")    g #B0B0B0",
-"!    g #878787",
-"~    g #DBDBDB",
-"{    g #CCCCCC",
-"]    g #B7B7B7",
-"^    g #8A8A8A",
-"/    g #AEAEAE",
-"(    g #E4E4E4",
-"_    g #ABABAB",
-":    g #A5A5A5",
-"<    g #717171",
-"[    g #CBCBCB",
-"}    g #757575",
-"|    g #5E5E5E",
-"1    g #8F8F8F",
-"2    g #868686",
-"3    g #424242",
-"4    g #595959",
-"5    g #9D9D9D",
-"6    g #D6D6D6",
-"7    g #C4C4C4",
-"8    g #000000",
-"9    g #636363",
-"0    g #8C8C8C",
-"a    g #CACACA",
-"b    g #DADADA",
-"c    g #B2B2B2",
-"d    g #EAEAEA",
-"e    g #EEEEEE",
-"                ",
-"   . . . . .    ",
-"  .+.+.+.+.+.   ",
-" @.#.#.#.#.#.$$ ",
-" @%.&.*.*.*.$=-$",
-" @;>>>>>>>,$')!$",
-" @;~{{{{{]$')^$ ",
-" @;>>>>>,$=/!$  ",
-" @;~{{{]$(_!$@  ",
-" @;>>>%$(:^$<@  ",
-" @;~{[}|/@$12@  ",
-" @;>>+$34$56/@  ",
-" @;~[78$90abc@  ",
-" @;>%dd+%d%>c@  ",
-" @eccccccc-cc@  ",
-" @@@@@@@@@@@@@  "};
diff --git a/modules/gui/wxwidgets/bitmaps/eject.xpm b/modules/gui/wxwidgets/bitmaps/eject.xpm
deleted file mode 100644 (file)
index bb8cc9d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * eject_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"*******.********",
-"******...*******",
-"*****.....******",
-"****.......*****",
-"****.......*****",
-"****************",
-"****************",
-"****.......*****",
-"****.......*****",
-"****************",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/fast.xpm b/modules/gui/wxwidgets/bitmaps/fast.xpm
deleted file mode 100644 (file)
index 3c38985..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * fast_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"****************",
-"****.****.******",
-"****..***..*****",
-"****...**...****",
-"****....*....***",
-"****...**...****",
-"****..***..*****",
-"****.****.******",
-"****************",
-"****************",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/intf.xpm b/modules/gui/wxwidgets/bitmaps/intf.xpm
deleted file mode 100644 (file)
index 460c934..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-/* XPM */
-static const char * intf_xpm[] = {
-"16 16 216 2",
-"      c None",
-".     c #715F39",
-"+     c #DDA434",
-"@     c #CD8A01",
-"#     c #CC8A04",
-"$     c #B79042",
-"%     c #D49411",
-"&     c #D18D03",
-"*     c #B27D11",
-"=     c #ECECEC",
-"-     c #FFFDFA",
-";     c #FEFBF8",
-">     c #FDFAF7",
-",     c #FCFAF7",
-"'     c #FCF9F6",
-")     c #FBF8F6",
-"!     c #F8F8FA",
-"~     c #BAAB8C",
-"{     c #D09824",
-"]     c #CD8B02",
-"^     c #C88600",
-"/     c #987D48",
-"(     c #CFD1D6",
-"_     c #B0B0AF",
-":     c #FCFCFD",
-"<     c #BAC7DC",
-"[     c #C0D1E6",
-"}     c #C5D6E8",
-"|     c #C9DAEB",
-"1     c #CDDEED",
-"2     c #CFE3F3",
-"3     c #C0CCD7",
-"4     c #BE9648",
-"5     c #D3910C",
-"6     c #CD8B03",
-"7     c #A06E0A",
-"8     c #868A90",
-"9     c #FFFFFF",
-"0     c #797979",
-"a     c #B4B4B2",
-"b     c #E9ECF2",
-"c     c #2962B7",
-"d     c #3C7ED0",
-"e     c #4D8ED9",
-"f     c #5B9DE2",
-"g     c #66A9EA",
-"h     c #64A8ED",
-"i     c #868978",
-"j     c #D4961A",
-"k     c #CD8A02",
-"l     c #C08205",
-"m     c #5D5844",
-"n     c #4977C2",
-"o     c #7B7B7A",
-"p     c #B5B4B1",
-"q     c #ECEFF5",
-"r     c #3670C4",
-"s     c #3A7DD1",
-"t     c #4A8DDA",
-"u     c #5397E1",
-"v     c #60A5EC",
-"w     c #92ABC7",
-"x     c #A88A4F",
-"y     c #CF8E09",
-"z     c #C88602",
-"A     c #8E691F",
-"B     c #295A9D",
-"C     c #5287D4",
-"D     c #F4F5F7",
-"E     c #797978",
-"F     c #B6B6B5",
-"G     c #EDF0F5",
-"H     c #2E68BD",
-"I     c #3577CE",
-"J     c #3F81D4",
-"K     c #619BDE",
-"L     c #639CDB",
-"M     c #91A0B1",
-"N     c #CFCDCB",
-"O     c #A4916A",
-"P     c #9F7012",
-"Q     c #455C77",
-"R     c #2268CA",
-"S     c #4D7FCA",
-"T     c #E9E9EB",
-"U     c #787676",
-"V     c #BAB9B6",
-"W     c #EEF1F7",
-"X     c #1850AF",
-"Y     c #2363C2",
-"Z     c #3878CE",
-"`     c #4B8DDA",
-" .    c #638DBE",
-"..    c #C2C3C3",
-"+.    c #C6C5C5",
-"@.    c #8E8D8E",
-"#.    c #4E6277",
-"$.    c #2E6DC3",
-"%.    c #1A5DC0",
-"&.    c #3E6EBF",
-"*.    c #E7E8E9",
-"=.    c #797876",
-"-.    c #BBBBB9",
-";.    c #F0F3F9",
-">.    c #1048AA",
-",.    c #033FAB",
-"'.    c #2465C3",
-").    c #4F96E0",
-"!.    c #97A9BD",
-"~.    c #CFCBC6",
-"{.    c #949290",
-"].    c #6B7E8C",
-"^.    c #6EA5D8",
-"/.    c #2766C3",
-"(.    c #023CAA",
-"_.    c #3766BA",
-":.    c #E5E6E7",
-"<.    c #797976",
-"[.    c #BDBBBA",
-"}.    c #F1F4FA",
-"|.    c #164EAF",
-"1.    c #0948B1",
-"2.    c #114FB2",
-"3.    c #365885",
-"4.    c #767472",
-"5.    c #949495",
-"6.    c #566E8D",
-"7.    c #7DB0DB",
-"8.    c #70AAE6",
-"9.    c #0D4BB2",
-"0.    c #0039A8",
-"a.    c #3868BA",
-"b.    c #E3E4E5",
-"c.    c #BEBDBB",
-"d.    c #F2F5FC",
-"e.    c #215AB6",
-"f.    c #1459C1",
-"g.    c #21477E",
-"h.    c #95918B",
-"i.    c #17130F",
-"j.    c #536774",
-"k.    c #7FB4E5",
-"l.    c #76B1E9",
-"m.    c #2F6DC5",
-"n.    c #1957BA",
-"o.    c #0747B1",
-"p.    c #3C6CBD",
-"q.    c #E0E0E2",
-"r.    c #BFBEBD",
-"s.    c #F3F6FC",
-"t.    c #2965BF",
-"u.    c #1D5CB8",
-"v.    c #344256",
-"w.    c #3A352F",
-"x.    c #020407",
-"y.    c #789DBB",
-"z.    c #5694E0",
-"A.    c #397ACE",
-"B.    c #3070C9",
-"C.    c #2564C2",
-"D.    c #1152B8",
-"E.    c #4272C2",
-"F.    c #DDDDDF",
-"G.    c #C0BFBE",
-"H.    c #F1F4FB",
-"I.    c #346EC2",
-"J.    c #4067A3",
-"K.    c #29364B",
-"L.    c #09182B",
-"M.    c #336298",
-"N.    c #4F93E1",
-"O.    c #498DDC",
-"P.    c #4386D8",
-"Q.    c #3B7DD3",
-"R.    c #2F71CB",
-"S.    c #195CC0",
-"T.    c #4879C8",
-"U.    c #D9DADB",
-"V.    c #C2C1C1",
-"W.    c #FBFCFE",
-"X.    c #BAC9E2",
-"Y.    c #BFCADD",
-"Z.    c #AFBBCB",
-"`.    c #B2C6DE",
-" +    c #BAD4F1",
-".+    c #B7CFE9",
-"++    c #B4CCE7",
-"@+    c #B0C8E3",
-"#+    c #ABC2DF",
-"$+    c #A4BBDA",
-"%+    c #9BB2D5",
-"&+    c #A8B9D5",
-"*+    c #D7D7D7",
-"=+    c #7B7B7B",
-"-+    c #848484",
-";+    c #FFFFFE",
-">+    c #FDFBF9",
-",+    c #F8F6F3",
-"'+    c #F3F0EC",
-")+    c #EFEBE7",
-"!+    c #EBE7E3",
-"~+    c #E8E5E0",
-"{+    c #E4E1DD",
-"]+    c #E1DED9",
-"^+    c #DEDBD6",
-"/+    c #D8D6D2",
-"(+    c #D3D3D3",
-"_+    c #535353",
-":+    c #4F4F4F",
-"<+    c #5B5B5B",
-"[+    c #5A5A5A",
-"}+    c #595959",
-"|+    c #575757",
-"1+    c #555555",
-"2+    c #545454",
-"3+    c #414141",
-"                    . + @ #     ",
-"                    $ % & *     ",
-"  = - ; > , ' ) ! ~ { ] ^ / (   ",
-"_ : < [ } | 1 2 3 4 5 6 7 8 9 0 ",
-"a b c d e f g h i j k l m n 9 o ",
-"p q r s t u v w x y z A B C D E ",
-"F G H I J K L M N O P Q R S T U ",
-"V W X Y Z `  ...+.@.#.$.%.&.*.=.",
-"-.;.>.,.'.).!.~.{.].^./.(._.:.<.",
-"[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.E ",
-"c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.E ",
-"r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.E ",
-"G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.E ",
-"V.W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+",
-"-+9 ;+- >+,+'+)+!+~+{+]+^+/+(+_+",
-"  :+<+[+}+}+|+|+|+1+1+1+_+2+3+  "};
diff --git a/modules/gui/wxwidgets/bitmaps/loop.xpm b/modules/gui/wxwidgets/bitmaps/loop.xpm
deleted file mode 100644 (file)
index 6c7b1de..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * loop_xpm[] = {
-"16 16 2 1",
-"     c None",
-".    c #000000",
-"                ",
-"                ",
-"   ...........  ",
-"   .         .  ",
-"   .         .  ",
-"   .         .  ",
-"   .         .  ",
-" . . .       .  ",
-"  ...        .  ",
-"   .         .  ",
-"                ",
-"  ...  ...  ... ",
-"  ...  ...  ... ",
-"  ...  ...  ... ",
-"                ",
-"                "};
diff --git a/modules/gui/wxwidgets/bitmaps/next.xpm b/modules/gui/wxwidgets/bitmaps/next.xpm
deleted file mode 100644 (file)
index 9f97ffd..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * next_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"****************",
-"**.****.****.***",
-"**..***..***.***",
-"**...**...**.***",
-"**....*....*.***",
-"**...**...**.***",
-"**..***..***.***",
-"**.****.****.***",
-"****************",
-"****************",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/pause.xpm b/modules/gui/wxwidgets/bitmaps/pause.xpm
deleted file mode 100644 (file)
index ca76240..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * pause_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"****...**...****",
-"****...**...****",
-"****...**...****",
-"****...**...****",
-"****...**...****",
-"****...**...****",
-"****...**...****",
-"****...**...****",
-"****...**...****",
-"****************",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/play.xpm b/modules/gui/wxwidgets/bitmaps/play.xpm
deleted file mode 100644 (file)
index c82e060..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * play_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"***..***********",
-"***....*********",
-"***......*******",
-"***........*****",
-"***..........***",
-"***...........**",
-"***..........***",
-"***........*****",
-"***......*******",
-"***....*********",
-"***..***********",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/playlist.xpm b/modules/gui/wxwidgets/bitmaps/playlist.xpm
deleted file mode 100644 (file)
index 45bede3..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * playlist_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"**..**........**",
-"**..**........**",
-"****************",
-"****************",
-"**..**........**",
-"**..**........**",
-"****************",
-"****************",
-"**..**........**",
-"**..**........**",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/playlist_small.xpm b/modules/gui/wxwidgets/bitmaps/playlist_small.xpm
deleted file mode 100644 (file)
index f596e7c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * playlist_small_xpm[] = {
-"16 16 2 1",
-"     c None",
-".    c #000000",
-"                ",
-"                ",
-"                ",
-"                ",
-"                ",
-"                ",
-"  .. .......    ",
-"                ",
-"  .. .......    ",
-"                ",
-"  .. .......    ",
-"                ",
-"  .. .......    ",
-"                ",
-"                ",
-"                "};
diff --git a/modules/gui/wxwidgets/bitmaps/prev.xpm b/modules/gui/wxwidgets/bitmaps/prev.xpm
deleted file mode 100644 (file)
index 4295ce9..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * prev_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"****************",
-"**.****.****.***",
-"**.***..***..***",
-"**.**...**...***",
-"**.*....*....***",
-"**.**...**...***",
-"**.***..***..***",
-"**.****.****.***",
-"****************",
-"****************",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/repeat.xpm b/modules/gui/wxwidgets/bitmaps/repeat.xpm
deleted file mode 100644 (file)
index e049658..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * repeat_xpm[] = {
-"16 16 2 1",
-"     c None",
-".    c #000000",
-"                ",
-"                ",
-"   ...........  ",
-"   .         .  ",
-"   .         .  ",
-"   .         .  ",
-"   .         .  ",
-" . . .       .  ",
-"  ...        .  ",
-"   .         .  ",
-"             .  ",
-"  ...        .  ",
-"  ... ........  ",
-"  ...           ",
-"                ",
-"                "};
diff --git a/modules/gui/wxwidgets/bitmaps/shuffle.xpm b/modules/gui/wxwidgets/bitmaps/shuffle.xpm
deleted file mode 100644 (file)
index 68c0a36..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static const char * shuffle_on_xpm[] = {
-"16 16 2 1",
-"     c None",
-".    c #000000",
-"                ",
-"           .    ",
-"            .   ",
-"  ............  ",
-"            .   ",
-"           .    ",
-"                ",
-"                ",
-"                ",
-"  ......    .   ",
-"  .    .   ...  ",
-"  .    .  . . . ",
-"  .    .    .   ",
-"  .    .    .   ",
-"  .    ......   ",
-"                "};
diff --git a/modules/gui/wxwidgets/bitmaps/slow.xpm b/modules/gui/wxwidgets/bitmaps/slow.xpm
deleted file mode 100644 (file)
index 8944dde..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * slow_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"****************",
-"******.****.****",
-"*****..***..****",
-"****...**...****",
-"***....*....****",
-"****...**...****",
-"*****..***..****",
-"******.****.****",
-"****************",
-"****************",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/speaker.xpm b/modules/gui/wxwidgets/bitmaps/speaker.xpm
deleted file mode 100644 (file)
index c27aedc..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * speaker_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"*********..*****",
-"********#=.=****",
-"*******#>.******",
-"******#>==*!=***",
-"*****#>!.*!!=***",
-"***##>!>.*!!=***",
-"**#!*!>!..!!=***",
-"**#>*>!>.*.!=***",
-"**#>*!>!.==!=***",
-"**.#=>!>..!!=***",
-"***..#>!.*!!=***",
-"*****.#>.*!!=***",
-"******.#==!!=***",
-"*******.#.!=****",
-"********.#.=****",
-"*********..*****"};
diff --git a/modules/gui/wxwidgets/bitmaps/speaker_mute.xpm b/modules/gui/wxwidgets/bitmaps/speaker_mute.xpm
deleted file mode 100644 (file)
index ee534b1..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* XPM */
-static const char * speaker_mute_xpm[] = {
-"16 16 50 1",
-"     c None",
-".    c #000000",
-"+    c #FF0000",
-"@    c #FB0400",
-"#    c #E81717",
-"$    c #880000",
-"%    c #8D7272",
-"&    c #966900",
-"*    c #FFF700",
-"=    c #837B7B",
-"-    c #966969",
-";    c #FF1B1B",
-">    c #DA2400",
-",    c #FFFF00",
-"'    c #FFFFFF",
-")    c #FFF3F3",
-"!    c #D22D2D",
-"~    c #808000",
-"{    c #B64800",
-"]    c #FF2424",
-"^    c #FFDF00",
-"/    c #808080",
-"(    c #A55900",
-"_    c #FF9797",
-":    c #FF0300",
-"<    c #FF3939",
-"[    c #230000",
-"}    c #867800",
-"|    c #FF9999",
-"1    c #FF0900",
-"2    c #DD0000",
-"3    c #FF9292",
-"4    c #D82727",
-"5    c #807E7E",
-"6    c #4C0000",
-"7    c #650000",
-"8    c #DB0000",
-"9    c #FF6D6D",
-"0    c #FF5454",
-"a    c #FF6565",
-"b    c #817D7D",
-"c    c #FFFBFB",
-"d    c #FF7474",
-"e    c #E11D1D",
-"f    c #2D0000",
-"g    c #837B00",
-"h    c #FF8A8A",
-"i    c #FA0404",
-"j    c #F70000",
-"k    c #E81700",
-"         ..     ",
-"     +++@#$%    ",
-"    ++++++++    ",
-"   +++&*=- ;+   ",
-"  +++>,'. ')!+  ",
-" ++~{+]^. ''/++ ",
-" +(' _:<[.''/ + ",
-" +}, ,|12 .'/ + ",
-" +}, ',3+45'/ + ",
-" +6~/,',789'/ + ",
-" ++..~,'. 0ab++ ",
-"  ++ .~,. cde+  ",
-"   ++ fg=-h;+   ",
-"    +++++++i    ",
-"     +++jk$%    ",
-"         ..     "};
diff --git a/modules/gui/wxwidgets/bitmaps/stop.xpm b/modules/gui/wxwidgets/bitmaps/stop.xpm
deleted file mode 100644 (file)
index 0fc2538..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* XPM */
-static const char * stop_xpm[] = {
-"16 16 17 1",
-"*    c None",
-".    c #000000",
-"+    c #800000",
-"@    c #008000",
-"#    c #808000",
-"$    c #000080",
-"%    c #800080",
-"&    c #008080",
-"     c #C0C0C0",
-"=    c #808080",
-"-    c #FF0000",
-";    c #00FF00",
-">    c #FFFF00",
-",    c #0000FF",
-"'    c #FF00FF",
-")    c #00FFFF",
-"!    c #FFFFFF",
-"****************",
-"****************",
-"****************",
-"****........****",
-"****........****",
-"****........****",
-"****........****",
-"****........****",
-"****........****",
-"****........****",
-"****........****",
-"****........****",
-"****************",
-"****************",
-"****************",
-"****************"};
diff --git a/modules/gui/wxwidgets/bitmaps/trash.xpm b/modules/gui/wxwidgets/bitmaps/trash.xpm
deleted file mode 100644 (file)
index 38b7e3c..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/* XPM */
-static const char * trash_xpm[] = {
-"16 16 88 1",
-"     c None",
-".    c #2C2C2C",
-"+    c #6E6E6E",
-"@    c #555555",
-"#    c #161616",
-"$    c #626154",
-"%    c #6B6A5A",
-"&    c #A1A095",
-"*    c #9B9B98",
-"=    c #A4A49D",
-"-    c #A5A495",
-";    c #5C5C50",
-">    c #575649",
-",    c #616057",
-"'    c #D0CEBA",
-")    c #CCCBBD",
-"!    c #85847F",
-"~    c #4C4C48",
-"{    c #3D3C34",
-"]    c #7E7C6B",
-"^    c #B2B09E",
-"/    c #B2B097",
-"(    c #4D4C41",
-"_    c #616059",
-":    c #E0E0DB",
-"<    c #EBEBE4",
-"[    c #D8D7CD",
-"}    c #CCCBBC",
-"|    c #C0BEA8",
-"1    c #B8B69D",
-"2    c #C5C4AF",
-"3    c #AAA996",
-"4    c #414037",
-"5    c #4D4D42",
-"6    c #AAA99B",
-"7    c #D6D5CE",
-"8    c #EAE9E5",
-"9    c #E2E1DE",
-"0    c #D8D8CF",
-"a    c #BCBBAE",
-"b    c #9C9A89",
-"c    c #737262",
-"d    c #34332D",
-"e    c #000000",
-"f    c #41413C",
-"g    c #888882",
-"h    c #B3B2A8",
-"i    c #BCBCAE",
-"j    c #A3A18A",
-"k    c #8F8D7A",
-"l    c #606056",
-"m    c #353530",
-"n    c #676758",
-"o    c #59594F",
-"p    c #52524D",
-"q    c #3D3D38",
-"r    c #2A2A23",
-"s    c #2E2E26",
-"t    c #35352C",
-"u    c #3D3D32",
-"v    c #707060",
-"w    c #919184",
-"x    c #A0A098",
-"y    c #707066",
-"z    c #646458",
-"A    c #606051",
-"B    c #4D4D40",
-"C    c #4E4E40",
-"D    c #959587",
-"E    c #B9B9AC",
-"F    c #8E8E80",
-"G    c #787868",
-"H    c #7A7A67",
-"I    c #565648",
-"J    c #6E6E5D",
-"K    c #939385",
-"L    c #545445",
-"M    c #46463C",
-"N    c #868678",
-"O    c #B2B2A5",
-"P    c #8F8F82",
-"Q    c #787865",
-"R    c #515143",
-"S    c #39392F",
-"T    c #2F2F29",
-"U    c #30302A",
-"V    c #2C2C25",
-"W    c #272720",
-"                ",
-"                ",
-"      .+@#      ",
-"    $%&*=-;>    ",
-"   ,')!~{]^/(   ",
-"   _:<[}|1234   ",
-"   567890abcd   ",
-"   efghijklme   ",
-"   enopqrstue   ",
-"   evwxyzABCe   ",
-"   evDEFGHIIe   ",
-"   eJKEFGHILe   ",
-"   eMNOPGQRSe   ",
-"     eTUVWe     ",
-"                ",
-"                "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_afile.xpm b/modules/gui/wxwidgets/bitmaps/type_afile.xpm
deleted file mode 100644 (file)
index b8e070b..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/* XPM */
-static const char * type_afile_xpm[] = {
-"16 16 107 2",
-"      c None",
-".     c #8F8F8F",
-"+     c #FFFFFF",
-"@     c #B7CFF9",
-"#     c #B8CFF8",
-"$     c #BCD2F7",
-"%     c #AFCAF4",
-"&     c #93B7EE",
-"*     c #5B91E2",
-"=     c #4E88DE",
-"-     c #4481D9",
-";     c #3A7AD6",
-">     c #2F73D2",
-",     c #246CCD",
-"'     c #1663CA",
-")     c #F3F7FE",
-"!     c #F1F6FD",
-"~     c #EFF5FD",
-"{     c #F2F7FF",
-"]     c #F2F8FF",
-"^     c #E8EFFB",
-"/     c #E6EDF9",
-"(     c #E7EFFB",
-"_     c #E2EAF7",
-":     c #DCE5F1",
-"<     c #D9E2EF",
-"[     c #D6E1EE",
-"}     c #FFFFFE",
-"|     c #EFEEED",
-"1     c #D5D5D3",
-"2     c #CDCBC9",
-"3     c #CCCBC9",
-"4     c #D4D2D0",
-"5     c #EAE8E5",
-"6     c #FCFBF8",
-"7     c #FBFAF7",
-"8     c #F9F7F4",
-"9     c #FAFAFA",
-"0     c #CFCFCF",
-"a     c #A7A7A7",
-"b     c #818181",
-"c     c #696969",
-"d     c #686868",
-"e     c #808080",
-"f     c #A5A5A5",
-"g     c #C6C6C6",
-"h     c #EFEFEF",
-"i     c #F3F3F3",
-"j     c #D2D2D2",
-"k     c #B0B0B0",
-"l     c #858585",
-"m     c #828282",
-"n     c #989898",
-"o     c #999999",
-"p     c #838383",
-"q     c #848484",
-"r     c #AEAEAE",
-"s     c #CACACA",
-"t     c #F0F0F0",
-"u     c #F6F6F6",
-"v     c #BDBDBD",
-"w     c #9F9F9F",
-"x     c #E8E8E8",
-"y     c #C3C3C3",
-"z     c #A1A1A1",
-"A     c #ACACAC",
-"B     c #BBBBBB",
-"C     c #E4E4E4",
-"D     c #F4F4F4",
-"E     c #C9C9C9",
-"F     c #C2C2C2",
-"G     c #B8B8B8",
-"H     c #B9B9B9",
-"I     c #B5B5B5",
-"J     c #C1C1C1",
-"K     c #B1B1B1",
-"L     c #E5E5E5",
-"M     c #FEFEFE",
-"N     c #ABABAB",
-"O     c #EBEBEB",
-"P     c #C0C0C0",
-"Q     c #8B8B8B",
-"R     c #BABABA",
-"S     c #A6A6A6",
-"T     c #F1F1F1",
-"U     c #F9F9F9",
-"V     c #DEDEDE",
-"W     c #F2F2F2",
-"X     c #909090",
-"Y     c #D8D8D8",
-"Z     c #F5F5F5",
-"`     c #FCFCFC",
-" .    c #DCDCDC",
-"..    c #777777",
-"+.    c #6D6D6D",
-"@.    c #979797",
-"#.    c #8C8C8C",
-"$.    c #F7F7F7",
-"%.    c #F8F8F8",
-"&.    c #CECECE",
-"*.    c #868686",
-"=.    c #B2B2B2",
-"-.    c #A8A8A8",
-";.    c #EAEAEA",
-">.    c #FBFBFB",
-",.    c #FDFDFD",
-"'.    c #EEEEEE",
-". . . . . . . . . . . . . . . . ",
-". + @ # $ % & * = - ; > , ' + . ",
-". + ) ! ~ { ] ^ / ( _ : < [ + . ",
-". + + + } | 1 2 3 4 5 6 7 8 + . ",
-". + + 9 0 a b c d e f g h i + . ",
-". + + j k l m n o p q r s t + . ",
-". + u v r w s t x y z A B C + . ",
-". + D k E F G H I r J s K L + . ",
-". + M N J O P . Q R O E S T + . ",
-". + U V . v W W t h J X Y 9 + . ",
-". + Z `  ...+.. @.#.q s D h + . ",
-". + $.%.$.&.*.l =.v g -.-.-.-.. ",
-". + U U U U h C C ;.;.-.+ + .   ",
-". + >.>.>.>.M M ,.+ '.-.+ .     ",
-". + + + + + + + + + U -..       ",
-". . . . . . . . . . . .         "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_card.xpm b/modules/gui/wxwidgets/bitmaps/type_card.xpm
deleted file mode 100644 (file)
index 823687d..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/* XPM */
-static const char * type_card_xpm[] = {
-"16 16 174 2",
-"      c #FFFFFF",
-".     c #E7E7E7",
-"+     c #888888",
-"@     c #696969",
-"#     c #B1B1B1",
-"$     c #D4D4D4",
-"%     c #5D5D5D",
-"&     c #AFAFAF",
-"*     c #DCDCDC",
-"=     c #5E5E5E",
-"-     c #ECECEC",
-";     c #FCFCFC",
-">     c #D9D9D9",
-",     c #D3D3D3",
-"'     c #D2D2D2",
-")     c #CFCFCF",
-"!     c #7D7D7D",
-"~     c #B2B6B1",
-"{     c #72896A",
-"]     c #6D7E60",
-"^     c #6E7E5F",
-"/     c #6C7B5C",
-"(     c #6B7A5B",
-"_     c #606C50",
-":     c #616C4F",
-"<     c #646F53",
-"[     c #5D684C",
-"}     c #606A4F",
-"|     c #536148",
-"1     c #717370",
-"2     c #989B95",
-"3     c #667B5C",
-"4     c #7F8C7B",
-"5     c #8D978A",
-"6     c #889185",
-"7     c #868F83",
-"8     c #858E81",
-"9     c #677163",
-"0     c #48563D",
-"a     c #727C67",
-"b     c #495642",
-"c     c #697164",
-"d     c #48573E",
-"e     c #686B67",
-"f     c #BFBFBF",
-"g     c #FEFEFE",
-"h     c #969993",
-"i     c #7B8875",
-"j     c #A9AAA8",
-"k     c #B7B7B7",
-"l     c #ADADAD",
-"m     c #A8A8A8",
-"n     c #A2A2A2",
-"o     c #666766",
-"p     c #545D4D",
-"q     c #8A8D72",
-"r     c #52573D",
-"s     c #969276",
-"t     c #3E4933",
-"u     c #6D706C",
-"v     c #9F9F9F",
-"w     c #7E8C78",
-"x     c #929492",
-"y     c #959595",
-"z     c #818181",
-"A     c #7C7C7C",
-"B     c #7F7F7F",
-"C     c #4E4F4E",
-"D     c #495143",
-"E     c #857664",
-"F     c #4D3C2B",
-"G     c #936C5E",
-"H     c #393F2C",
-"I     c #676A66",
-"J     c #9A9A9A",
-"K     c #979B94",
-"L     c #586B50",
-"M     c #4F574C",
-"N     c #535851",
-"O     c #4F544D",
-"P     c #4D514B",
-"Q     c #4B4E49",
-"R     c #393E37",
-"S     c #3B432F",
-"T     c #58634F",
-"U     c #3D4737",
-"V     c #545C4F",
-"W     c #37432F",
-"X     c #61635F",
-"Y     c #A9A9A9",
-"Z     c #FDFDFD",
-"`     c #979C96",
-" .    c #6D8462",
-"..    c #536045",
-"+.    c #484F39",
-"@.    c #414833",
-"#.    c #3E4531",
-"$.    c #424733",
-"%.    c #3E4430",
-"&.    c #535B3F",
-"*.    c #566445",
-"=.    c #566243",
-"-.    c #59634A",
-";.    c #4E5843",
-">.    c #696B67",
-",.    c #F6F6F6",
-"'.    c #979C95",
-").    c #81916F",
-"!.    c #6C7257",
-"~.    c #75795F",
-"{.    c #676D55",
-"].    c #5E634A",
-"^.    c #6B6E53",
-"/.    c #566143",
-"(.    c #576746",
-"_.    c #65734F",
-":.    c #69785B",
-"<.    c #71736F",
-"[.    c #676766",
-"}.    c #989796",
-"|.    c #7E7E7E",
-"1.    c #959A93",
-"2.    c #778663",
-"3.    c #484834",
-"4.    c #53523B",
-"5.    c #54553D",
-"6.    c #444431",
-"7.    c #494733",
-"8.    c #576143",
-"9.    c #65724E",
-"0.    c #62714D",
-"a.    c #687859",
-"b.    c #5E605C",
-"c.    c #4A4A4A",
-"d.    c #656565",
-"e.    c #8C8C8C",
-"f.    c #666666",
-"g.    c #AEB1AC",
-"h.    c #637A5A",
-"i.    c #677352",
-"j.    c #5E694A",
-"k.    c #5E684A",
-"l.    c #5D6748",
-"m.    c #5B6647",
-"n.    c #626E4C",
-"o.    c #677450",
-"p.    c #64714D",
-"q.    c #445135",
-"r.    c #293121",
-"s.    c #161B12",
-"t.    c #5C5C5C",
-"u.    c #DEDEDE",
-"v.    c #F8F8F8",
-"w.    c #757B73",
-"x.    c #A2A175",
-"y.    c #9C9A70",
-"z.    c #9C9A6F",
-"A.    c #9B996E",
-"B.    c #9A986D",
-"C.    c #98956B",
-"D.    c #323A2D",
-"E.    c #AAAAAA",
-"F.    c #979797",
-"G.    c #AFB1AE",
-"H.    c #6F6E59",
-"I.    c #6C6B56",
-"J.    c #6C6A55",
-"K.    c #6B6A55",
-"L.    c #6A6954",
-"M.    c #5B5F58",
-"N.    c #EEEEEE",
-"O.    c #D7D7D7",
-"P.    c #5F5F5F",
-"Q.    c #EDEDED",
-"                        . + @ # ",
-"                        $ % & * ",
-"                        $ = -   ",
-"; > $ $ $ $ $ , ' $ $ $ ) ! -   ",
-"~ { ] ^ / / ( _ : < [ } | 1 -   ",
-"2 3 4 5 6 7 8 9 0 a b c d e f g ",
-"h i j k l m n o p q r s t u v ; ",
-"h w x y z A B C D E F G H I J ; ",
-"K L M N O P Q R S T U V W X Y Z ",
-"`  ...+.@.#.$.%.&.*.=.-.;.>.f ,.",
-"'.).!.~.{.].^./.(._.:.<.% [.}.|.",
-"1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.",
-"g.h.i.j.k.l.m.n.o.p.q.r.s.t.& u.",
-"v.w.x.y.z.A.B.B.B.C.D.E.F.= -   ",
-"  G.H.I.I.I.J.K.K.L.M.N.O.P.Q.  ",
-"                                "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_cdda.xpm b/modules/gui/wxwidgets/bitmaps/type_cdda.xpm
deleted file mode 100644 (file)
index fe86007..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/* XPM */
-static const char * type_cdda_xpm[] = {
-"16 16 119 2",
-"      c None",
-".     c #7E7E7E",
-"+     c #A3A3A3",
-"@     c #000000",
-"#     c #030303",
-"$     c #BDCCFF",
-"%     c #C1CDF5",
-"&     c #D8DDF1",
-"*     c #C4CBE9",
-"=     c #C0C8F0",
-"-     c #646464",
-";     c #A8A8A8",
-">     c #DFF2FF",
-",     c #F9FDFF",
-"'     c #E0E7FB",
-")     c #B1C3F7",
-"!     c #F7FAFF",
-"~     c #FFFFFF",
-"{     c #DBDEEE",
-"]     c #727EB7",
-"^     c #2A2928",
-"/     c #BBBBBB",
-"(     c #E1E9FF",
-"_     c #FEFFFD",
-":     c #BECDF6",
-"<     c #E5ECFC",
-"[     c #E8EDFA",
-"}     c #747CAA",
-"|     c #85847F",
-"1     c #B8B8B8",
-"2     c #D4E6FF",
-"3     c #EBEEFB",
-"4     c #DDE5FB",
-"5     c #FEFFFF",
-"6     c #EFF3FE",
-"7     c #91ABF5",
-"8     c #B7BFE3",
-"9     c #7C7A7B",
-"0     c #878787",
-"a     c #1A1A1A",
-"b     c #D1E4FF",
-"c     c #D8E1F8",
-"d     c #FAFAFE",
-"e     c #FFFFFE",
-"f     c #D5E0FB",
-"g     c #EFF0F9",
-"h     c #FBFDFF",
-"i     c #AAC0FA",
-"j     c #B0C7FF",
-"k     c #DEF0FF",
-"l     c #8A8B8F",
-"m     c #A4A49F",
-"n     c #585857",
-"o     c #D1E5FF",
-"p     c #B9CAF5",
-"q     c #C7D4F8",
-"r     c #E4EBFC",
-"s     c #F1F5FF",
-"t     c #D4DDFD",
-"u     c #C1C9E9",
-"v     c #B2BEE9",
-"w     c #D7E6FF",
-"x     c #383428",
-"y     c #8B8C90",
-"z     c #D3E4FF",
-"A     c #ABBEF3",
-"B     c #BBCAF6",
-"C     c #CAD8F8",
-"D     c #CED9FC",
-"E     c #B5C5FC",
-"F     c #AFB4D7",
-"G     c #DDE6FF",
-"H     c #1D1B14",
-"I     c #34322B",
-"J     c #CFDCFF",
-"K     c #C2D8FF",
-"L     c #B8C8F4",
-"M     c #ABBDF4",
-"N     c #B8C9F6",
-"O     c #D1DCFB",
-"P     c #DAE2FE",
-"Q     c #AFBAE2",
-"R     c #CACDE3",
-"S     c #F8FBFF",
-"T     c #DAE7FF",
-"U     c #C5D8FF",
-"V     c #D5E6FF",
-"W     c #5E6592",
-"X     c #C4D3FF",
-"Y     c #9BB1F2",
-"Z     c #B0C4F5",
-"`     c #D6DDF5",
-" .    c #F5F6FA",
-"..    c #E2EAFC",
-"+.    c #DCE7FF",
-"@.    c #515886",
-"#.    c #C0D9FF",
-"$.    c #B3C5FA",
-"%.    c #FDFDFF",
-"&.    c #FAFCFF",
-"*.    c #E6EBFD",
-"=.    c #DBDDEE",
-"-.    c #CADBFF",
-";.    c #FFFEFE",
-">.    c #FEFDFF",
-",.    c #F9FAFE",
-"'.    c #C7D4F7",
-").    c #FDFDFE",
-"!.    c #959AC1",
-"~.    c #C7D7FF",
-"{.    c #D2DEFC",
-"].    c #DCE5FF",
-"^.    c #AFB3D2",
-"/.    c #ADC1FF",
-"(.    c #C7D2FF",
-"_.    c #DBE0FA",
-":.    c #D7DFF6",
-"<.    c #A1AEDC",
-"[.    c #98A1CC",
-"                              . ",
-"                          + @ # ",
-"        $ % & * =       @ @ - ; ",
-"    > , ' ) ! ~ ~ { ]   ^     / ",
-"    ( ~ _ : < ~ ~ ~ [ } |     1 ",
-"  2 ~ ~ ~ 3 4 ~ 5 6 7 8 9 0 @ a ",
-"  b c d e e f g h i j k l m n   ",
-"  o p q r s t u v w x @ y       ",
-"  z A B C D E   F G H I J       ",
-"  K L M N O P Q R S T U V W     ",
-"    X Y Z 5 e `  .~ e ..+.@.    ",
-"    #.$.S %.~ &.*.~ ~ ~ =.      ",
-"      -.~ ;.>.,.'.).~ ~ !.      ",
-"        ~.~ ~ 5 {.].~ ^.        ",
-"          /.(._.:.<.[.          ",
-"                                "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_directory.xpm b/modules/gui/wxwidgets/bitmaps/type_directory.xpm
deleted file mode 100644 (file)
index f7c5a4c..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/* XPM */
-static const char * type_directory_xpm[] = {
-"16 16 83 1",
-"     c None",
-".    c #3274DB",
-"+    c #3273DB",
-"@    c #3373DB",
-"#    c #3274DC",
-"$    c #3170D6",
-"%    c #F5FBFD",
-"&    c #F5F9FD",
-"*    c #306DD2",
-"=    c #E8F5FD",
-"-    c #E8F6FD",
-";    c #E9F5FD",
-">    c #5F7DB1",
-",    c #316DD1",
-"'    c #306ED1",
-")    c #316ED2",
-"!    c #306DD1",
-"~    c #306ACC",
-"{    c #DBF0FD",
-"]    c #DAEEFD",
-"^    c #DBEEFD",
-"/    c #DAF0FD",
-"(    c #2F66C6",
-"_    c #CBE8FD",
-":    c #CBE9FD",
-"<    c #255FD1",
-"[    c #2E63C0",
-"}    c #B9E2FD",
-"|    c #BCE2FD",
-"1    c #B9E1FD",
-"2    c #BCE1FD",
-"3    c #9EC6EE",
-"4    c #FCFCFD",
-"5    c #ACD1FD",
-"6    c #2D61BD",
-"7    c #A9DAFD",
-"8    c #A9DBFD",
-"9    c #86B9EC",
-"0    c #8CBDFD",
-"a    c #89BEFD",
-"b    c #89BDFD",
-"c    c #2C5EB8",
-"d    c #99D3FD",
-"e    c #2259CB",
-"f    c #6BAAFD",
-"g    c #6BA9FD",
-"h    c #2259CC",
-"i    c #2B5AB1",
-"j    c #88CBFD",
-"k    c #1F52C5",
-"l    c #5098FD",
-"m    c #4F98FD",
-"n    c #4F97FD",
-"o    c #1E52C5",
-"p    c #2A58AE",
-"q    c #7AC4FD",
-"r    c #1C49BD",
-"s    c #3987FD",
-"t    c #3988FD",
-"u    c #1B49BD",
-"v    c #2955A8",
-"w    c #6DBEFD",
-"x    c #1840B5",
-"y    c #287CFD",
-"z    c #287BFD",
-"A    c #277BFD",
-"B    c #183FB5",
-"C    c #2852A3",
-"D    c #62B7FD",
-"E    c #1337AA",
-"F    c #FDFDFD",
-"G    c #AEAEC6",
-"H    c #1337AC",
-"I    c #28509F",
-"J    c #102DA2",
-"K    c #274D9B",
-"L    c #4FAEFD",
-"M    c #0B2599",
-"N    c #0C2599",
-"O    c #274B97",
-"P    c #091D91",
-"Q    c #091E91",
-"R    c #091E90",
-"  .+@#..        ",
-" $%&%&&&$       ",
-"*===-=;=>,')'!, ",
-"~{{{{{]{^^]{^{/~",
-"(_______:<<<<<<<",
-"[}}|}|12<344445<",
-"678<<<<<940aabb<",
-"cdef44444gfggggh",
-"ijklmmnlmmmmlmno",
-"pqrsttstsstttstu",
-"vwxyyzyzzzAzAzzB",
-"CDEFFFFFFFFFFFGH",
-"IDJFFFFFFFFFFFGJ",
-"KLMGGGGGGGGGGGGN",
-" OPPPQRQRPRRQQP ",
-"                "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_disc.xpm b/modules/gui/wxwidgets/bitmaps/type_disc.xpm
deleted file mode 100644 (file)
index 6686f6f..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/* XPM */
-static const char * type_disc_xpm[] = {
-"16 16 91 1",
-"     c None",
-".    c #676767",
-"+    c #989898",
-"@    c #B7B7B7",
-"#    c #BEBEBE",
-"$    c #919191",
-"%    c #5B5B5B",
-"&    c #CDCDCD",
-"*    c #FEFEFE",
-"=    c #FFFFFF",
-"-    c #FDFDFD",
-";    c #BDBDBD",
-">    c #717171",
-",    c #F3F3F3",
-"'    c #FBFBFB",
-")    c #F9F9F9",
-"!    c #F7F7F7",
-"~    c #FAFAFA",
-"{    c #EDEDED",
-"]    c #4A4A4A",
-"^    c #DFDFDF",
-"/    c #E4E4E4",
-"(    c #F1F1F1",
-"_    c #F8F8F8",
-":    c #F4F4F4",
-"<    c #E5E5E5",
-"[    c #AEAEAE",
-"}    c #D8D8D8",
-"|    c #D6D6D6",
-"1    c #E2E2E2",
-"2    c #F5F5F5",
-"3    c #FCFCFC",
-"4    c #979797",
-"5    c #CFCFCF",
-"6    c #CCCCCC",
-"7    c #D7D7D7",
-"8    c #EBEBEB",
-"9    c #EEEEEE",
-"0    c #EAEAEA",
-"a    c #E7E7E7",
-"b    c #D5D5D5",
-"c    c #6B6B6B",
-"d    c #C8C8C8",
-"e    c #E3E3E3",
-"f    c #DBDBDB",
-"g    c #C3C3C3",
-"h    c #EFEFEF",
-"i    c #DDDDDD",
-"j    c #D2D2D2",
-"k    c #D1D1D1",
-"l    c #484848",
-"m    c #787878",
-"n    c #CBCBCB",
-"o    c #CECECE",
-"p    c #E6E6E6",
-"q    c #C9C9C9",
-"r    c #C4C4C4",
-"s    c #5A5A5A",
-"t    c #757575",
-"u    c #E1E1E1",
-"v    c #E9E9E9",
-"w    c #E0E0E0",
-"x    c #7D7D7D",
-"y    c #BCBCBC",
-"z    c #B9B9B9",
-"A    c #515151",
-"B    c #545454",
-"C    c #DEDEDE",
-"D    c #E8E8E8",
-"E    c #DCDCDC",
-"F    c #C7C7C7",
-"G    c #BABABA",
-"H    c #BBBBBB",
-"I    c #C1C1C1",
-"J    c #333333",
-"K    c #ECECEC",
-"L    c #C0C0C0",
-"M    c #A6A6A6",
-"N    c #777777",
-"O    c #C2C2C2",
-"P    c #C6C6C6",
-"Q    c #555555",
-"R    c #828282",
-"S    c #9E9E9E",
-"T    c #848484",
-"U    c #9B9B9B",
-"V    c #B4B4B4",
-"W    c #DADADA",
-"X    c #454545",
-"Y    c #313131",
-"Z    c #2F2F2F",
-"     .+@#$      ",
-"   %&*====-;    ",
-"  >,='')!~-={]  ",
-"  ^/(_)!:!)-=<  ",
-" [}|1:~_2!3-!*4 ",
-" 567^8,90!-:8ab ",
-"cd6}1efg&<haijkl",
-"mnofpin  |}7q;rs",
-"t}7uvw7.xd&dyzrA",
-"BC1D{!wEf6F;GHIJ",
-" o{{_~KpK0d@GLM ",
-" N_~~{^p{DuOzPQ ",
-"  [=hwjCD<ae&R  ",
-"   S/fqE88h/T   ",
-"    QUV5WnUX    ",
-"       YZ       "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_net.xpm b/modules/gui/wxwidgets/bitmaps/type_net.xpm
deleted file mode 100644 (file)
index 097db21..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/* XPM */
-static const char * type_net_xpm[] = {
-"16 16 154 2",
-"      c None",
-".     c #667AAC",
-"+     c #8293BC",
-"@     c #8192BA",
-"#     c #6677A0",
-"$     c #8C9BC3",
-"%     c #E9EBF5",
-"&     c #F8F8FC",
-"*     c #FDFCFE",
-"=     c #FFFFFF",
-"-     c #FCFCFF",
-";     c #E7EBF9",
-">     c #8996B4",
-",     c #99A5CD",
-"'     c #E7E8F2",
-")     c #CED2DD",
-"!     c #C0C6D6",
-"~     c #CBD1E1",
-"{     c #E7E9F4",
-"]     c #E8EAF5",
-"^     c #E7E8F4",
-"/     c #F0F2FE",
-"(     c #919DC3",
-"_     c #53659F",
-":     c #B3BBD7",
-"<     c #98A2BB",
-"[     c #93A0BE",
-"}     c #98A5C5",
-"|     c #C8CEE1",
-"1     c #D5D8E7",
-"2     c #CBCFE0",
-"3     c #D0D4E5",
-"4     c #D7DBEC",
-"5     c #D0D5EF",
-"6     c #47578E",
-"7     c #3E579E",
-"8     c #5F709B",
-"9     c #7084B1",
-"0     c #7588B6",
-"a     c #CBD1E5",
-"b     c #EBEDF6",
-"c     c #E2E6F1",
-"d     c #D9DCEB",
-"e     c #D3D7E9",
-"f     c #CBCFE5",
-"g     c #C0C5E2",
-"h     c #7B89C2",
-"i     c #29396C",
-"j     c #6273AF",
-"k     c #56699E",
-"l     c #4A619B",
-"m     c #49629E",
-"n     c #A2AECE",
-"o     c #E4E7F0",
-"p     c #E9EBF3",
-"q     c #E3E5F2",
-"r     c #D4D8EB",
-"s     c #C0C5DF",
-"t     c #8D97BF",
-"u     c #6F7FBD",
-"v     c #1F2B51",
-"w     c #3B4C83",
-"x     c #98A1D3",
-"y     c #A7AFD6",
-"z     c #7481A9",
-"A     c #1F397C",
-"B     c #234089",
-"C     c #2C4789",
-"D     c #AEB7D0",
-"E     c #EBEDF7",
-"F     c #D4D8EC",
-"G     c #959FC6",
-"H     c #364B86",
-"I     c #4159A0",
-"J     c #152652",
-"K     c #303D69",
-"L     c #919CD1",
-"M     c #AAB1D9",
-"N     c #6B79A3",
-"O     c #072670",
-"P     c #0B2C7C",
-"Q     c #001F73",
-"R     c #7989B5",
-"S     c #EDEDF8",
-"T     c #B4BCDB",
-"U     c #253D7D",
-"V     c #374B87",
-"W     c #4A62AA",
-"X     c #05143D",
-"Y     c #8490C8",
-"Z     c #5A699A",
-"`     c #123079",
-" .    c #0A2B7C",
-"..    c #0F2F7E",
-"+.    c #09297A",
-"@.    c #3B5495",
-"#.    c #B6BDDB",
-"$.    c #485F9C",
-"%.    c #09266D",
-"&.    c #5D6B9E",
-"*.    c #7483BD",
-"=.    c #415186",
-"-.    c #2F488D",
-";.    c #102E7A",
-">.    c #1A3885",
-",.    c #24418A",
-"'.    c #29458D",
-").    c #27438B",
-"!.    c #28438C",
-"~.    c #0F2E7D",
-"{.    c #233F89",
-"].    c #284694",
-"^.    c #172C60",
-"/.    c #294183",
-"(.    c #39549C",
-"_.    c #455D9D",
-":.    c #4C62A0",
-"<.    c #5065A1",
-"[.    c #4D63A0",
-"}.    c #455C9C",
-"|.    c #41599B",
-"1.    c #314E99",
-"2.    c #0E2766",
-"3.    c #2F3E6D",
-"4.    c #6375AE",
-"5.    c #7D8DC2",
-"6.    c #7A88BC",
-"7.    c #7C8BBF",
-"8.    c #7385BC",
-"9.    c #5065A0",
-"0.    c #1F305C",
-"a.    c #363D58",
-"b.    c #888FB2",
-"c.    c #676D8F",
-"d.    c #282F49",
-"e.    c #C6C6C9",
-"f.    c #8A8A8C",
-"g.    c #A8A8AF",
-"h.    c #C6C6CC",
-"i.    c #B9B9C0",
-"j.    c #C2C2C6",
-"k.    c #DADAD9",
-"l.    c #ADADB2",
-"m.    c #ABABB1",
-"n.    c #CCCCD2",
-"o.    c #8A8A91",
-"p.    c #373739",
-"q.    c #39393C",
-"r.    c #626268",
-"s.    c #68686C",
-"t.    c #6C6C6E",
-"u.    c #555559",
-"v.    c #313134",
-"w.    c #38383A",
-"            . + @ #             ",
-"        $ % & * = - ; >         ",
-"      , ' ) ! ~ { ] ^ / (       ",
-"    _ : < [ } | 1 2 3 4 5 6     ",
-"    7 8 9 0 a b c d e f g h     ",
-"  i j k l m n o p q r s t u v   ",
-"  w x y z A B C D E F G H I J   ",
-"  K L M N O P Q R S T U V W X   ",
-"    Y Z `  ...+.@.#.$.%.&.*.    ",
-"    =.-.;.>.,.'.).!.~.{.].^.    ",
-"      /.(._.:.<.[.}.|.1.2.      ",
-"        3.4.5.6.7.8.9.0.        ",
-"            a.b.c.d.            ",
-"              e.f.              ",
-"      g.h.i.j.k.k.l.m.n.o.      ",
-"        p.q.r.s.t.u.v.w.        "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_node.xpm b/modules/gui/wxwidgets/bitmaps/type_node.xpm
deleted file mode 100644 (file)
index 5127431..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* XPM */
-static const char * type_node_xpm[] = {
-"16 16 55 1",
-"     c None",
-".    c #949494",
-"+    c #919191",
-"@    c #FAFAFA",
-"#    c #8F8F8F",
-"$    c #F5F5F5",
-"%    c #F6F6F6",
-"&    c #999999",
-"*    c #909090",
-"=    c #8D8D8D",
-"-    c #F0F0F0",
-";    c #EFEFEF",
-">    c #898989",
-",    c #E9E9E9",
-"'    c #888888",
-")    c #868686",
-"!    c #E2E2E2",
-"~    c #E3E3E3",
-"{    c #D0D0D0",
-"]    c #FDFDFD",
-"^    c #DCDCDC",
-"/    c #848484",
-"(    c #DBDBDB",
-"_    c #C4C4C4",
-":    c #CECECE",
-"<    c #CDCDCD",
-"[    c #828282",
-"}    c #D4D4D4",
-"|    c #BFBFBF",
-"1    c #858585",
-"2    c #7E7E7E",
-"3    c #CCCCCC",
-"4    c #808080",
-"5    c #B1B1B1",
-"6    c #7F7F7F",
-"7    c #7C7C7C",
-"8    c #C6C6C6",
-"9    c #7A7A7A",
-"0    c #A5A5A5",
-"a    c #797979",
-"b    c #C0C0C0",
-"c    c #747474",
-"d    c #9C9C9C",
-"e    c #9B9B9B",
-"f    c #777777",
-"g    c #BABABA",
-"h    c #6D6D6D",
-"i    c #FEFEFE",
-"j    c #6E6E6E",
-"k    c #676767",
-"l    c #727272",
-"m    c #606060",
-"n    c #707070",
-"o    c #5B5B5B",
-"p    c #5A5A5A",
-"  ......        ",
-" +@@@@@@+       ",
-"#$$$$$%$&##*### ",
-"=-----;---;---;=",
-">,,,,,,,,'''''''",
-")!!~!~!~'{]]]]^'",
-"/(('''''_]:<<<<'",
-"[}/|]]]]]||||||1",
-"2345555555555556",
-"7890000000000009",
-"abcdddddddededdc",
-"fghiiiiiiiiiii8j",
-"cgkiiiiiiiiiii8k",
-"l5m888888888888m",
-" noopopopoppooo ",
-"                "};
diff --git a/modules/gui/wxwidgets/bitmaps/type_playlist.xpm b/modules/gui/wxwidgets/bitmaps/type_playlist.xpm
deleted file mode 100644 (file)
index 682da6b..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/* XPM */
-static const char * type_playlist_xpm[] = {
-"16 16 126 2",
-"      c None",
-".     c #959695",
-"+     c #000000",
-"@     c #0E0E0E",
-"#     c #282828",
-"$     c #696969",
-"%     c #DADBDA",
-"&     c #E4E5E4",
-"*     c #E6E7E6",
-"=     c #D3D3D3",
-"-     c #FFFFFF",
-";     c #F9F9F9",
-">     c #F9F9F8",
-",     c #E7E7E7",
-"'     c #E4E4E4",
-")     c #CDCDCD",
-"!     c #252525",
-"~     c #C8C9C8",
-"{     c #E3E4E3",
-"]     c #F6F6F6",
-"^     c #DADADA",
-"/     c #9F9F9F",
-"(     c #FEFEFE",
-"_     c #FCFCFB",
-":     c #FBFBFB",
-"<     c #F2F2F2",
-"[     c #AFAFAE",
-"}     c #E9E9E9",
-"|     c #B3B3B3",
-"1     c #383838",
-"2     c #CECFCE",
-"3     c #9E9E9E",
-"4     c #FDFDFD",
-"5     c #FAFAF9",
-"6     c #F3F3F3",
-"7     c #A9A9A8",
-"8     c #F0F0F0",
-"9     c #F4F4F4",
-"0     c #ABABAB",
-"a     c #414141",
-"b     c #9D9D9C",
-"c     c #9A9A9A",
-"d     c #9A9A99",
-"e     c #9B9B9A",
-"f     c #9D9C9C",
-"g     c #0A0A0A",
-"h     c #9B9B9B",
-"i     c #F8F8F7",
-"j     c #F7F6F5",
-"k     c #F6F6F4",
-"l     c #F4F3F2",
-"m     c #F1F0EF",
-"n     c #F0EFED",
-"o     c #E5E4E2",
-"p     c #848381",
-"q     c #6A6763",
-"r     c #F8F7F6",
-"s     c #989897",
-"t     c #989796",
-"u     c #EBEAE8",
-"v     c #E1DFDC",
-"w     c #B6B6B4",
-"x     c #72706C",
-"y     c #B1B0AF",
-"z     c #818180",
-"A     c #AFAFAD",
-"B     c #EFEFED",
-"C     c #EFEEEC",
-"D     c #ECEBE9",
-"E     c #E8E7E5",
-"F     c #A4A4A1",
-"G     c #C4C3C0",
-"H     c #817D74",
-"I     c #7F7F7E",
-"J     c #7F7E7D",
-"K     c #EEEDEB",
-"L     c #EDECEA",
-"M     c #E8E7E4",
-"N     c #E7E6E3",
-"O     c #8B867D",
-"P     c #7D7D7C",
-"Q     c #ACABA9",
-"R     c #91908E",
-"S     c #8E8E8C",
-"T     c #E6E4E1",
-"U     c #A2A19F",
-"V     c #646462",
-"W     c #A49E93",
-"X     c #7C7B7A",
-"Y     c #7B7B7A",
-"Z     c #E7E5E2",
-"`     c #E4E3DF",
-" .    c #E3E2DE",
-"..    c #DEDDD9",
-"+.    c #DDDCD8",
-"@.    c #E0DFDB",
-"#.    c #A19C90",
-"$.    c #E6E5E2",
-"%.    c #E5E4E1",
-"&.    c #8E8E8B",
-"*.    c #747371",
-"=.    c #0B0B0B",
-"-.    c #DCDBD7",
-";.    c #DBD9D5",
-">.    c #A19B90",
-",.    c #E3E2DF",
-"'.    c #E4E2DF",
-").    c #DCDAD6",
-"!.    c #D9D7D3",
-"~.    c #E1E0DC",
-"{.    c #E2E1DD",
-"].    c #71716F",
-"^.    c #0B0B0A",
-"/.    c #706F6D",
-"(.    c #D8D6D1",
-"_.    c #9F998D",
-":.    c #999891",
-"<.    c #A39D92",
-"[.    c #A39D91",
-"}.    c #A29C90",
-"|.    c #A19B8F",
-"1.    c #9D978C",
-"2.    c #9B968A",
-"3.    c #676359",
-"4.    c #919191",
-"5.    c #757575",
-". + + + + + + + + + @ # $ % & * ",
-"+ = - - - - - ; > > , ' ) ! ~ { ",
-"+ ] ^ / - ( _ : > < [ } - | 1 2 ",
-"+ - / 3 4 _ 5 > > 6 7 8 - 9 0 a ",
-"+ - 4 b : 5 c d e f } + + + + g ",
-"+ - : h > i j k l m n n o p q + ",
-"+ - > i r j s t t t l u v w x + ",
-"+ - y z A B n C D E + + F G H + ",
-"+ - I B J K L D M N + + + v O + ",
-"+ - L P Q D R R S T + U V v W + ",
-"+ - X X Y M N Z `  .+ ..+.@.#.+ ",
-"+ - $.$.$.%.&.*.=.=.+ -.;.+.>.+ ",
-"+ - ,. .'.`  .+ + + + ).!.-.>.+ ",
-"+ - v ~.@.{.~.].=.^./.!.(.!._.+ ",
-"+ :.W <.[.<.}.|.>._._.1.1.2.3.+ ",
-"4.+ + + + + + + + + + + + + + 5."};
diff --git a/modules/gui/wxwidgets/bitmaps/type_unknown.xpm b/modules/gui/wxwidgets/bitmaps/type_unknown.xpm
deleted file mode 100644 (file)
index 97b2a8f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static const char * type_unknown_xpm[] = {
-"16 16 4 1",
-"     c None",
-".    c #FFFFFF",
-"+    c #000000",
-"@    c #BFBFBF",
-"................",
-"..++++++++......",
-"..+......++.....",
-"..+.+.+..+.+....",
-"..+......++++...",
-"..+.+.+.....+...",
-".@+.........+...",
-"..+.+.+.+.+.+...",
-"..+.........+...",
-"..+.+.+.+.+.+...",
-"..+.........+...",
-"..+.+.+.+.+.+...",
-"..+.........+...",
-"..+++++++++++...",
-"................",
-"................"};
diff --git a/modules/gui/wxwidgets/bitmaps/type_vfile.xpm b/modules/gui/wxwidgets/bitmaps/type_vfile.xpm
deleted file mode 100644 (file)
index 63d9ef7..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/* XPM */
-static const char * type_vfile_xpm[] = {
-"16 16 108 2",
-"      c None",
-".     c #8F8F8F",
-"+     c #FFFFFF",
-"@     c #B0B0B0",
-"#     c #A7A7A7",
-"$     c #939393",
-"%     c #8B8B8B",
-"&     c #2B2B2B",
-"*     c #0C0C0C",
-"=     c #010101",
-"-     c #000000",
-";     c #EFEFEF",
-">     c #ECECEC",
-",     c #E8E8E8",
-"'     c #E9E9E9",
-")     c #DFDFDF",
-"!     c #DCDCDC",
-"~     c #E3E3E3",
-"{     c #DADADA",
-"]     c #D5D5D5",
-"^     c #D4D4D4",
-"/     c #D2D2D2",
-"(     c #A6A6A6",
-"_     c #828181",
-":     c #F2F2F2",
-"<     c #FBFBFB",
-"[     c #FAFAFA",
-"}     c #929292",
-"|     c #3B3A3A",
-"1     c #656769",
-"2     c #626261",
-"3     c #E6E6E5",
-"4     c #FDFDFD",
-"5     c #868685",
-"6     c #292827",
-"7     c #9CA4AF",
-"8     c #E1F2FF",
-"9     c #A6AEB4",
-"0     c #5B5C5B",
-"a     c #D7D7D7",
-"b     c #F8F8F8",
-"c     c #787777",
-"d     c #1D1D1D",
-"e     c #787C80",
-"f     c #B6C2D2",
-"g     c #E0F0FF",
-"h     c #F3FEFF",
-"i     c #C3C6C8",
-"j     c #666666",
-"k     c #CCCCCB",
-"l     c #F4F4F4",
-"m     c #707070",
-"n     c #767E86",
-"o     c #EAF8FF",
-"p     c #BFC6D0",
-"q     c #C4CCD6",
-"r     c #EBF4FF",
-"s     c #767575",
-"t     c #9C9C9C",
-"u     c #EDEDED",
-"v     c #636363",
-"w     c #0E0F0F",
-"x     c #595C60",
-"y     c #88909B",
-"z     c #E6F1FD",
-"A     c #F1FDFF",
-"B     c #D4DBE1",
-"C     c #CDCED0",
-"D     c #7B7B7A",
-"E     c #949494",
-"F     c #F7F7F7",
-"G     c #878787",
-"H     c #0E0E0E",
-"I     c #999A9B",
-"J     c #ABB3BB",
-"K     c #858D97",
-"L     c #CCD7E5",
-"M     c #B0B3B6",
-"N     c #676665",
-"O     c #A0A0A0",
-"P     c #E4E4E4",
-"Q     c #616161",
-"R     c #7E7E80",
-"S     c #F1F8FC",
-"T     c #F7FFFF",
-"U     c #A0ABB5",
-"V     c #363738",
-"W     c #363535",
-"X     c #AEAEAE",
-"Y     c #FCFCFC",
-"Z     c #F1F1F1",
-"`     c #FEFEFE",
-" .    c #EEEEEE",
-"..    c #686766",
-"+.    c #76797D",
-"@.    c #C5CFDC",
-"#.    c #6A6D70",
-"$.    c #3C3B3A",
-"%.    c #BEBEBE",
-"&.    c #A8A8A8",
-"*.    c #F9F9F9",
-"=.    c #F6F6F5",
-"-.    c #767675",
-";.    c #444444",
-">.    c #525151",
-",.    c #CFCFCF",
-"'.    c #F0F0F0",
-").    c #ADADAD",
-". . . . . . . . . . . . . . . . ",
-". + @ # $ % & * = - - - - - + . ",
-". + ; > , ' ) ! ~ ~ { ] ^ / + . ",
-". + + + + + + + ( _ : + < [ + . ",
-". + + + + + + } | 1 2 3 4 : + . ",
-". + + + + + 5 6 7 8 9 0 a b + . ",
-". + + + [ c d e f g h i j k + . ",
-". + + l m - n o p q r + s t + . ",
-". + u v w x y z A B C D E F + . ",
-". + G H I + J K L M N O 4 F + . ",
-". + P Q R S T U V W X Y Z ; + . ",
-". + `  ...+.@.#.$.%.< &.&.&.&.. ",
-". + *.` =.-.;.>.,.+ '.&.+ + .   ",
-". + < < ` b ).a + 4 : &.+ .     ",
-". + + + + + + + + + Y &..       ",
-". . . . . . . . . . . .         "};
diff --git a/modules/gui/wxwidgets/bitmaps/update_ascii.xpm b/modules/gui/wxwidgets/bitmaps/update_ascii.xpm
deleted file mode 100644 (file)
index 57cbeac..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/* XPM */
-static const char * update_ascii_xpm[] = {
-"34 34 96 2",
-"      c None",
-".     c #BCBCBC",
-"+     c #F7F7F7",
-"@     c #F3F3F3",
-"#     c #F1F1F1",
-"$     c #EFEFEF",
-"%     c #ECECEC",
-"&     c #EAEAEA",
-"*     c #E9E9E9",
-"=     c #C2C2C2",
-"-     c #808080",
-";     c #FFFFFF",
-">     c #FEFEFE",
-",     c #FBFBFB",
-"'     c #F2F2F2",
-")     c #EEEEEE",
-"!     c #E3E3E3",
-"~     c #BDBDBD",
-"{     c #C0C0C0",
-"]     c #BBBBBB",
-"^     c #B6B6B6",
-"/     c #AFAFAF",
-"(     c #A2A2A2",
-"_     c #8E8E8E",
-":     c #828282",
-"<     c #FCFCFC",
-"[     c #F8F8F8",
-"}     c #AEAEAE",
-"|     c #A9A9A9",
-"1     c #9E9E9E",
-"2     c #C4C4C4",
-"3     c #BABABA",
-"4     c #CACACA",
-"5     c #C9C9C9",
-"6     c #B5B5B5",
-"7     c #F9F9F9",
-"8     c #E0E0E0",
-"9     c #CCCCCC",
-"0     c #BEBEBE",
-"a     c #FDFDFD",
-"b     c #FAFAFA",
-"c     c #F5F5F5",
-"d     c #BFBFBF",
-"e     c #A0A0A0",
-"f     c #D5D5D5",
-"g     c #C6C6C6",
-"h     c #F4F4F4",
-"i     c #C1C1C1",
-"j     c #E1E1E1",
-"k     c #DBDBDB",
-"l     c #CECECE",
-"m     c #F6F6F6",
-"n     c #D4D4D4",
-"o     c #E4E4E4",
-"p     c #DEDEDE",
-"q     c #D1D1D1",
-"r     c #EBEBEB",
-"s     c #B8B8B8",
-"t     c #B7B7B7",
-"u     c #DCDCDC",
-"v     c #D3D3D3",
-"w     c #F0F0F0",
-"x     c #E8E8E8",
-"y     c #868686",
-"z     c #DADADA",
-"A     c #D2D2D2",
-"B     c #E7E7E7",
-"C     c #878787",
-"D     c #888888",
-"E     c #E5E5E5",
-"F     c #E2E2E2",
-"G     c #D7D7D7",
-"H     c #DFDFDF",
-"I     c #D0D0D0",
-"J     c #E6E6E6",
-"K     c #DDDDDD",
-"L     c #767676",
-"M     c #777777",
-"N     c #CDCDCD",
-"O     c #EDEDED",
-"P     c #D8D8D8",
-"Q     c #B9B9B9",
-"R     c #D6D6D6",
-"S     c #B3B3B3",
-"T     c #CBCBCB",
-"U     c #CFCFCF",
-"V     c #787878",
-"W     c #ACACAC",
-"X     c #A6A6A6",
-"Y     c #9D9D9D",
-"Z     c #9A9A9A",
-"`     c #969696",
-" .    c #919191",
-"..    c #8C8C8C",
-"+.    c #848484",
-"@.    c #818181",
-"                                                                    ",
-"        . . . . . . . . . . . . . . . .                             ",
-"        . + + + + + + + + @ # $ % & * = -                           ",
-"        . + ; ; ; ; ; ; ; ; > ; , ' ) = ; -                         ",
-"        . + ; ; ; ; ; ; ; ; > ; ; , ' = ; ; -                       ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; , = ! ; ; -                     ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ; ; -                   ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ! ; ; -                 ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ! ! ; ; -               ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; ~ { ] ^ / ( _ : -             ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; < [ # } | 1 2 / -             ",
-"        . + ; ; ; ; ; ; ; ; ; ; ; ; ; ; , ' ] 3 4 5 6 -             ",
-"        . + ; ; ; ; ; ; ; ; ; ; ; ; < 7 + $ ~ 1 8 9 0 -             ",
-"        . + ; ; ; ; ; ; ; ; ; ; a b + c # $ d e 8 f g -             ",
-"        . + ; ; ; ; ; ; ; ; ; b [ + h # $ ) i ( j k l -             ",
-"        . + ; ; ; ; ; ; ; < 7 + m @ ' $ $ & n o ! p q -             ",
-"        . + ; ; ; ; ; ; , 7 [ c c ' $ $ r * s t n u v -             ",
-"        . + ; ; ; ; ; , b [ m c ' w $ % * x 3 y 8 z A -             ",
-"        . + ; ; ; ; < < [ [ m @ # $ % * x B ] C 8 u q -             ",
-"        . + ; ; ; ; , b + m @ # $ % * x B o . D 8 z A -             ",
-"        . + ; ; ; , b + c h # $ % * * E o F n 8 8 G q -             ",
-"        . + ; ; , 7 [ c @ # ) % & x E o j H ^ 6 u f I -             ",
-"        . + ; , 7 + c ' w ) % & B J ! j H K t L 8 n l -             ",
-"        . + ; 7 m h ' w ) r * x o ! j p K k t M 8 n N -             ",
-"        . + b m h ' w O r * x o F j p K k P Q M 8 q l -             ",
-"        Q + [ h # $ O r * B J F j p u k P R n 8 8 N N -             ",
-"        6 + c # $ O r * B J F 8 p u k G R v Q s H 4 9 -             ",
-"        S + @ $ O r * B o ! 8 p u z G f v q Q M 8 4 T -             ",
-"        / + # O r * B o F 8 K u z G f v I U s V 8 4 5 -             ",
-"        W + ) r * B o ! F 8 u k P n n q q N Q V 8 4 5 -             ",
-"        | + x J ! j H u z P R n n A I U l N n ! 8 5 5 -             ",
-"        | X ( Y Z `  ...D +.@.- - - - - - - - - - - - -             ",
-"                                                                    ",
-"                                                                    "};
diff --git a/modules/gui/wxwidgets/bitmaps/update_binary.xpm b/modules/gui/wxwidgets/bitmaps/update_binary.xpm
deleted file mode 100644 (file)
index 8d8a1ca..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-/* XPM */
-static const char * update_binary_xpm[] = {
-"34 34 292 2",
-"      c None",
-".     c #BCBCBC",
-"+     c #F7F7F7",
-"@     c #F3F3F3",
-"#     c #F1F1F1",
-"$     c #EFEFEF",
-"%     c #ECECEC",
-"&     c #EAEAEA",
-"*     c #E9E9E9",
-"=     c #C2C2C2",
-"-     c #808080",
-";     c #FFFFFF",
-">     c #FEFEFE",
-",     c #FBFBFB",
-"'     c #F2F2F2",
-")     c #EEEEEE",
-"!     c #E3E3E3",
-"~     c #647EAA",
-"{     c #5B77A6",
-"]     c #6584AD",
-"^     c #718DB3",
-"/     c #5F7FAA",
-"(     c #6080AB",
-"_     c #5C7AA7",
-":     c #6684AC",
-"<     c #5D7EAA",
-"[     c #6E97BD",
-"}     c #6F98BE",
-"|     c #6082AD",
-"1     c #F6F6F8",
-"2     c #FDFDFD",
-"3     c #BDBDBD",
-"4     c #C0C0C0",
-"5     c #BBBBBB",
-"6     c #B6B6B6",
-"7     c #AFAFAF",
-"8     c #A2A2A2",
-"9     c #8E8E8E",
-"0     c #828282",
-"a     c #FBFCFD",
-"b     c #5A79A7",
-"c     c #6081AB",
-"d     c #6385AE",
-"e     c #688CB1",
-"f     c #7CA1C3",
-"g     c #799FC2",
-"h     c #D8E2ED",
-"i     c #F5F6F7",
-"j     c #F9F9F9",
-"k     c #F8F8F8",
-"l     c #DBDBDB",
-"m     c #D0D0D0",
-"n     c #C4C4C4",
-"o     c #5975A4",
-"p     c #607BA8",
-"q     c #5C78A7",
-"r     c #6587AE",
-"s     c #7298BF",
-"t     c #7CA2C5",
-"u     c #84A7C7",
-"v     c #8AABC9",
-"w     c #D7E2EC",
-"x     c #5D7BA8",
-"y     c #E8E8E8",
-"z     c #E2E2E2",
-"A     c #D8D8D8",
-"B     c #C9C9C9",
-"C     c #B5B5B5",
-"D     c #5D7DA8",
-"E     c #C3D4E4",
-"F     c #E3EBF2",
-"G     c #DCE6EF",
-"H     c #B7CBDE",
-"I     c #80A4C5",
-"J     c #96B4CF",
-"K     c #9CB8D3",
-"L     c #ABC2D8",
-"M     c #E1E2E5",
-"N     c #EEEFF0",
-"O     c #EBEBEB",
-"P     c #E4E4E4",
-"Q     c #DADADA",
-"R     c #CCCCCC",
-"S     c #BEBEBE",
-"T     c #A9C1D8",
-"U     c #E6EDF3",
-"V     c #B0C5DB",
-"W     c #91B1CE",
-"X     c #A0BAD3",
-"Y     c #98B6D1",
-"Z     c #9EB9D3",
-"`     c #A6BFD7",
-" .    c #ADC4DA",
-"..    c #C1D2E2",
-"+.    c #DDE7F0",
-"@.    c #7F9AB8",
-"#.    c #E0E1E3",
-"$.    c #EBEBEC",
-"%.    c #D5D5D5",
-"&.    c #C6C6C6",
-"*.    c #B9CDE0",
-"=.    c #D4E0EB",
-"-.    c #97B5D0",
-";.    c #749CC1",
-">.    c #6386AE",
-",.    c #5771A2",
-"'.    c #A7C0D8",
-").    c #B1C6DC",
-"!.    c #BBCEE0",
-"~.    c #CBDAE8",
-"{.    c #D1DEEA",
-"].    c #718DB1",
-"^.    c #E5E5E6",
-"/.    c #E7E7E7",
-"(.    c #DEDEDE",
-"_.    c #CECECE",
-":.    c #E0E8F1",
-"<.    c #5976A6",
-"[.    c #6279A5",
-"}.    c #B7BBC4",
-"|.    c #B9BDC5",
-"1.    c #B2C8DD",
-"2.    c #C9D8E6",
-"3.    c #DFE8F0",
-"4.    c #6082AB",
-"5.    c #D5D6D9",
-"6.    c #E1E1E2",
-"7.    c #E0E0E0",
-"8.    c #D1D1D1",
-"9.    c #D9E4EE",
-"0.    c #A4BED7",
-"a.    c #BABEC7",
-"b.    c #BFC3CB",
-"c.    c #C2C5CC",
-"d.    c #6182AE",
-"e.    c #D0DEE9",
-"f.    c #C6D5E5",
-"g.    c #8DAECC",
-"h.    c #5A76A5",
-"i.    c #D5D6D8",
-"j.    c #E5E5E5",
-"k.    c #DCDCDC",
-"l.    c #D3D3D3",
-"m.    c #668AAF",
-"n.    c #86A9C9",
-"o.    c #B5BAC3",
-"p.    c #BEC2CA",
-"q.    c #C9CCD2",
-"r.    c #D1D3D8",
-"s.    c #D9DBDF",
-"t.    c #94B3CF",
-"u.    c #5A78A5",
-"v.    c #C9CACE",
-"w.    c #D2D2D2",
-"x.    c #C4D5E5",
-"y.    c #B8BCC5",
-"z.    c #CED1D7",
-"A.    c #DEDFE3",
-"B.    c #EAEBED",
-"C.    c #7AA0C3",
-"D.    c #6589AE",
-"E.    c #BEC0C6",
-"F.    c #DFDFDF",
-"G.    c #5F80AA",
-"H.    c #6D94BC",
-"I.    c #698EB4",
-"J.    c #CEDCE9",
-"K.    c #678BB0",
-"L.    c #BDC1C9",
-"M.    c #E4E6E9",
-"N.    c #EFF0F1",
-"O.    c #DBE5EE",
-"P.    c #E6ECF3",
-"Q.    c #5972A1",
-"R.    c #A8ACB4",
-"S.    c #B8BBC1",
-"T.    c #81A5C6",
-"U.    c #A3BCD4",
-"V.    c #637AA6",
-"W.    c #C6C9D0",
-"X.    c #DEE0E4",
-"Y.    c #EEEFF1",
-"Z.    c #F5F7FA",
-"`.    c #6177A3",
-" +    c #A5A9B2",
-".+    c #ABAFB7",
-"++    c #BBBEC3",
-"@+    c #DDDDDD",
-"#+    c #D7D7D7",
-"$+    c #9AB6D1",
-"%+    c #6382AB",
-"&+    c #CBCED4",
-"*+    c #D6E1EB",
-"=+    c #EBF1F6",
-"-+    c #CCDAE9",
-";+    c #ABAEB6",
-">+    c #B7BABF",
-",+    c #C7C9CC",
-"'+    c #A3BDD6",
-")+    c #AEC5DB",
-"!+    c #EFF2F6",
-"~+    c #F6F9FB",
-"{+    c #A4A8B1",
-"]+    c #B8BBC0",
-"^+    c #D2D3D4",
-"/+    c #D4D4D4",
-"(+    c #5E7EA9",
-"_+    c #B4C9DD",
-":+    c #BECFE1",
-"<+    c #EAF0F5",
-"[+    c #F9FBFC",
-"}+    c #FCFDFD",
-"|+    c #657EA7",
-"1+    c #B3B6BC",
-"2+    c #C6C7CB",
-"3+    c #D6D6D6",
-"4+    c #CDCDCD",
-"5+    c #C2D3E3",
-"6+    c #D1DFEA",
-"7+    c #E4ECF3",
-"8+    c #ACC3D9",
-"9+    c #E9EEF4",
-"0+    c #85A8C8",
-"a+    c #BBBDC2",
-"b+    c #CDCED0",
-"c+    c #D4D5D5",
-"d+    c #9BB7D2",
-"e+    c #B6B9BE",
-"f+    c #CACBCD",
-"g+    c #D3D3D4",
-"h+    c #F2F6F9",
-"i+    c #6079A4",
-"j+    c #A3A7AF",
-"k+    c #B0B3B8",
-"l+    c #C6C7C9",
-"m+    c #CFD0D0",
-"n+    c #CACACA",
-"o+    c #B4B8C0",
-"p+    c #93B2CE",
-"q+    c #A3A7B0",
-"r+    c #A1A5AE",
-"s+    c #A1A5AD",
-"t+    c #A5A8B0",
-"u+    c #B3B5BA",
-"v+    c #C5C6C8",
-"w+    c #CECECF",
-"x+    c #CBCBCB",
-"y+    c #909398",
-"z+    c #BFC2C9",
-"A+    c #B8BBC3",
-"B+    c #82A6C7",
-"C+    c #5771A1",
-"D+    c #ADB1B7",
-"E+    c #B0B3B9",
-"F+    c #AFB2B8",
-"G+    c #AEB0B6",
-"H+    c #BFC1C4",
-"I+    c #C9CACB",
-"J+    c #9D9EA1",
-"K+    c #D6D8DC",
-"L+    c #C9CCD1",
-"M+    c #BDBFC6",
-"N+    c #A5A9B1",
-"O+    c #B7BAC0",
-"P+    c #C2C3C7",
-"Q+    c #C7C9CB",
-"R+    c #C6C7CA",
-"S+    c #C3C4C7",
-"T+    c #CACACB",
-"U+    c #CFCFCF",
-"V+    c #A4A5A5",
-"W+    c #EBEBED",
-"X+    c #DADBDD",
-"Y+    c #CDCFD2",
-"Z+    c #BABCC2",
-"`+    c #A7ABB2",
-" @    c #B3B6BB",
-".@    c #C2C4C7",
-"+@    c #CDCDCF",
-"@@    c #D0D1D1",
-"#@    c #CECFCF",
-"$@    c #CDCDCE",
-"%@    c #A8A8A8",
-"&@    c #A4A4A5",
-"*@    c #9F9FA0",
-"=@    c #969798",
-"-@    c #8B8D90",
-";@    c #7E8086",
-">@    c #777A7F",
-",@    c #76797E",
-"'@    c #7B7C80",
-")@    c #7F7F81",
-"                                                                    ",
-"        . . . . . . . . . . . . . . . .                             ",
-"        . + + + + + + + + @ # $ % & * = -                           ",
-"        . + ; ; ; ; ; ; ; ; > ; , ' ) = ; -                         ",
-"        . + ; ; ; ; ; ; ; ; > ; ; , ' = ; ; -                       ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; , = ! ; ; -                     ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ; ; -                   ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ! ; ; -                 ",
-"        . + ; ; ; ~ { ; ; ; ] ^ ; ; ; = ! ! ! ! ; ; -               ",
-"        . + ; ; { / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 -             ",
-"        . + a b ( c | d e } f g h | i j k # * l m n 7 -             ",
-"        o p q < / ( c r s t u v w u x i j ' y z A B C -             ",
-"      o D / x r E F G H I u J K L v { M N ) O P Q R S -             ",
-"      { / _ T U V W I I X Y Z `  ...+.@.#.$.O ! l %.&.-             ",
-"      _ D *.=.-.;.>.( { ,.*.'.).!.E ~.{.].^.& /.(.l _.-             ",
-"    _ ( } :.J [ c <.[.}.|.| 1.!.E 2.3.w 4.5.6./.7.(.8.-             ",
-"  _ c ( 9.0.s c o }.a.b.c.d.!.E e.+.G f.g.h.i.j.z k.l.-             ",
-"_ c | m.G n.d.o o.p.q.r.s.>.f.{.+.2.'.t.u u.v.z 7.Q w.-             ",
-"_ d.d g.x.} _ y.b.z.A.B.r f.{.+.f.Z C.D.c o E.F.F.k.8.-             ",
-"G.d.H.I.J.K.o L.z.M.N.r f.=.O.P.'.g | x Q.R.S.k.k.Q w.-             ",
-"  / ;.T.U.I.V.W.X.Y.r 2.w 9.F Z.K D.D `. +.+++@+#+#+8.-             ",
-"  ( u W $+` %+&+>.D.J.*+O.F =+; -+c ,. +;+>+,+l %.%.m -             ",
-"  ( W $+'+)+..>.E J.w :.U !+~+; h ( {+;+]+,+^+A #+/+_.-             ",
-"(+t.Y '+V _+:+x.{.9.U <+[+}+; x.T -.|+1+2+^+3+3+/+/+4+-             ",
-"  c x.J...5+2.6+O.7+f.8+` 9+e.'.0+m._ a+b+c+3+l.w.8._.-             ",
-"    d.J g.*+6+9.<+E d+C.K.r t.t.D./ ,.e+f+g+l.w.m 4+4+-             ",
-"      < _ W F h+:.0.f | D ,.i+b _ ,.j+k+l+m+8.m R n+R -             ",
-"        ,.o+[ e.5+p+r D `.q+q+j+r+s+t+u+v+w+m x+x+n+x+-             ",
-"        y+z+A+( v B+( C+{+R.D+E+F+G+u+H+I+_.x+x+x+n+B -             ",
-"        J+K+L+M+o u.o N+.+O+P+Q+R+S+l+T+U+4+R n+n+n+B -             ",
-"        V+W+X+Y+Z+;+N+`+ @.@+@m @@#@$@_._.4+R x+B B B -             ",
-"        %@&@*@=@-@;@>@,@'@)@- - - - - - - - - - - - - -             ",
-"                                                                    ",
-"                                                                    "};
diff --git a/modules/gui/wxwidgets/bitmaps/update_document.xpm b/modules/gui/wxwidgets/bitmaps/update_document.xpm
deleted file mode 100644 (file)
index 9edd37b..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/* XPM */
-static const char * update_document_xpm[] = {
-"34 34 102 2",
-"      c None",
-".     c #BCBCBC",
-"+     c #F7F7F7",
-"@     c #F3F3F3",
-"#     c #F1F1F1",
-"$     c #EFEFEF",
-"%     c #ECECEC",
-"&     c #EAEAEA",
-"*     c #E9E9E9",
-"=     c #C2C2C2",
-"-     c #808080",
-";     c #FFFFFF",
-">     c #FEFEFE",
-",     c #FBFBFB",
-"'     c #F2F2F2",
-")     c #EEEEEE",
-"!     c #B2B2B2",
-"~     c #E3E3E3",
-"{     c #B1B1B1",
-"]     c #BDBDBD",
-"^     c #C0C0C0",
-"/     c #B6B6B6",
-"(     c #AFAFAF",
-"_     c #A2A2A2",
-":     c #8E8E8E",
-"<     c #828282",
-"[     c #EDEDED",
-"}     c #E2E2E2",
-"|     c #DBDBDB",
-"1     c #D0D0D0",
-"2     c #C4C4C4",
-"3     c #FAFAFA",
-"4     c #F4F4F4",
-"5     c #D8D8D8",
-"6     c #C9C9C9",
-"7     c #B5B5B5",
-"8     c #E6E6E6",
-"9     c #DCDCDC",
-"0     c #DADADA",
-"a     c #CCCCCC",
-"b     c #BEBEBE",
-"c     c #ADADAD",
-"d     c #A8A8A8",
-"e     c #EBEBEB",
-"f     c #DFDFDF",
-"g     c #D7D7D7",
-"h     c #D5D5D5",
-"i     c #C6C6C6",
-"j     c #F9F9F9",
-"k     c #F6F6F6",
-"l     c #E7E7E7",
-"m     c #CECECE",
-"n     c #AEAEAE",
-"o     c #ABABAB",
-"p     c #AAAAAA",
-"q     c #A4A4A4",
-"r     c #9F9F9F",
-"s     c #D1D1D1",
-"t     c #F8F8F8",
-"u     c #E0E0E0",
-"v     c #DEDEDE",
-"w     c #D3D3D3",
-"x     c #A6A6A6",
-"y     c #A5A5A5",
-"z     c #D2D2D2",
-"A     c #F5F5F5",
-"B     c #A1A1A1",
-"C     c #CBCBCB",
-"D     c #C8C8C8",
-"E     c #9D9D9D",
-"F     c #ACACAC",
-"G     c #E5E5E5",
-"H     c #E4E4E4",
-"I     c #9C9C9C",
-"J     c #DDDDDD",
-"K     c #A3A3A3",
-"L     c #E1E1E1",
-"M     c #9A9A9A",
-"N     c #A7A7A7",
-"O     c #A0A0A0",
-"P     c #9E9E9E",
-"Q     c #9B9B9B",
-"R     c #989898",
-"S     c #D4D4D4",
-"T     c #CDCDCD",
-"U     c #F0F0F0",
-"V     c #E8E8E8",
-"W     c #D6D6D6",
-"X     c #B9B9B9",
-"Y     c #969696",
-"Z     c #959595",
-"`     c #939393",
-" .    c #B3B3B3",
-"..    c #999999",
-"+.    c #919191",
-"@.    c #CACACA",
-"#.    c #CFCFCF",
-"$.    c #A9A9A9",
-"%.    c #8C8C8C",
-"&.    c #888888",
-"*.    c #848484",
-"=.    c #818181",
-"        . . . . . . . . . . . . . . . .                             ",
-"        . + + + + + + + + @ # $ % & * = -                           ",
-"        . + ; ; ; ; ; ; ; ; > ; , ' ) = ; -                         ",
-"        . + ; ; ; ; ; ; ; ; > ; ; , ' = ; ; -                       ",
-"        . + ; ! ! ! ; ; ; ; > ; ; ; , = ~ ; ; -                     ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ~ ~ ; ; -                   ",
-"        . + ; ! ! ! ! ! ! ! { ! ! ; ; = ~ ~ ~ ; ; -                 ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ~ ~ ~ ~ ; ; -               ",
-"        . + ; ! ! ! ! ! ! ! { ! ! ; ; ] ^ . / ( _ : < -             ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; , [ } * | 1 2 ( -             ",
-"        . + ; ! ! ! ! ! ! ! ! ! ! ; ; ; 3 4 ~ ~ 5 6 7 -             ",
-"        . + ; ; ; ; ; ; ; ; ; ; ; ; ; 3 3 ' 8 9 0 a b -             ",
-"        . + ; ! ! ! ! ! ! ! ! ! ! ! ( c d d e f g h i -             ",
-"        . + ; ; ; ; ; ; ; ; ; ; ; , j k $ $ [ l | 0 m -             ",
-"        . + ; ! ! ! ! ! ! ! ! ! n c o p d q q r } 5 s -             ",
-"        . + ; ; ; ; ; ; ; ; ; 3 t k 4 # $ * * l u v w -             ",
-"        . + ; ! ! ! ! ! ! ! n c o p d x y q r r } 9 z -             ",
-"        . + ; ; ; ; ; ; > 3 t A @ ' $ [ e * } } u 0 s -             ",
-"        . + ; ! ! ! ! { c c o @ d x y q _ B r f f 9 z -             ",
-"        . + ; ; ; ; , 3 + k @ # x C C 6 D i E 9 9 0 s -             ",
-"        . + ; ! ! ( n F o p d $ q e * G H } I J g g 1 -             ",
-"        . + ; ; , j t A @ # ) % K * G H L f M | h h m -             ",
-"        . + ; ( c F o d N x q & B O P E Q M R 5 g S T -             ",
-"        . + ; j k 4 ' U ) e * V H ~ L v J | 5 W S S m -             ",
-"        X + 3 o p d N y q _ B r E E M M R Y Z ` z s T -             ",
-"        7 + t 4 # $ [ e * l 8 } L v 9 | 5 W w z 1 T a -             ",
-"         .+ A d x y q _ B O E I M ..R Y Z ` +.+.a @.C -             ",
-"        ( + @ $ [ e * l H ~ u v 9 0 g h w s 1 C C @.6 -             ",
-"        F + # y e _ B H } u J 9 0 g h w 1 #.C C C @.6 -             ",
-"        F + ) e * l H ~ } u 9 | 5 S S s s T a @.@.@.6 -             ",
-"        $.+ V 8 ~ L f 9 0 5 W S S z 1 #.m T a C 6 6 6 -             ",
-"        $.x _ E M Y +.%.&.*.=.- - - - - - - - - - - - -             ",
-"                                                                    ",
-"                                                                    "};
diff --git a/modules/gui/wxwidgets/bitmaps/update_info.xpm b/modules/gui/wxwidgets/bitmaps/update_info.xpm
deleted file mode 100644 (file)
index 316aeb2..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-/* XPM */
-static const char * update_info_xpm[] = {
-"34 34 271 2",
-"      c None",
-".     c #BCBCBC",
-"+     c #F7F7F7",
-"@     c #F3F3F3",
-"#     c #F1F1F1",
-"$     c #EFEFEF",
-"%     c #ECECEC",
-"&     c #EAEAEA",
-"*     c #E9E9E9",
-"=     c #C2C2C2",
-"-     c #808080",
-";     c #FFFFFF",
-">     c #FEFEFE",
-",     c #FBFBFB",
-"'     c #F2F2F2",
-")     c #EEEEEE",
-"!     c #E3E3E3",
-"~     c #BDBDBD",
-"{     c #C0C0C0",
-"]     c #BBBBBB",
-"^     c #B6B6B6",
-"/     c #AFAFAF",
-"(     c #A2A2A2",
-"_     c #8E8E8E",
-":     c #828282",
-"<     c #FCFCFC",
-"[     c #F8F8F8",
-"}     c #DBDBDB",
-"|     c #D0D0D0",
-"1     c #C4C4C4",
-"2     c #F0F1F4",
-"3     c #D5DAE9",
-"4     c #B2BFD9",
-"5     c #9DACCF",
-"6     c #E8E8E8",
-"7     c #E2E2E2",
-"8     c #D8D8D8",
-"9     c #C9C9C9",
-"0     c #B5B5B5",
-"a     c #F7F8FA",
-"b     c #C8D0E2",
-"c     c #8FA9DA",
-"d     c #789ED7",
-"e     c #87AFDF",
-"f     c #98BCE4",
-"g     c #8CA7D8",
-"h     c #C2CBDC",
-"i     c #E7E8EA",
-"j     c #EBEBEB",
-"k     c #E4E4E4",
-"l     c #DADADA",
-"m     c #CCCCCC",
-"n     c #BEBEBE",
-"o     c #ADBFE1",
-"p     c #85A9DB",
-"q     c #97BBE4",
-"r     c #AFC6E8",
-"s     c #B0C7E9",
-"t     c #AEC5E7",
-"u     c #A8C2E5",
-"v     c #92B0E1",
-"w     c #7F9DD7",
-"x     c #A5B4D4",
-"y     c #DDDFE1",
-"z     c #D5D5D5",
-"A     c #C6C6C6",
-"B     c #F7F8FB",
-"C     c #AFC0E3",
-"D     c #87ABDC",
-"E     c #A2BCE3",
-"F     c #A5BEE4",
-"G     c #9EBDE3",
-"H     c #9AB8E1",
-"I     c #99B9E0",
-"J     c #92B3E1",
-"K     c #91B1E0",
-"L     c #78A2D6",
-"M     c #A2B6D6",
-"N     c #E0E1E3",
-"O     c #DEDEDE",
-"P     c #CECECE",
-"Q     c #CAD6EA",
-"R     c #89ADDB",
-"S     c #87AADE",
-"T     c #79A2DA",
-"U     c #6C9CD7",
-"V     c #678FD2",
-"W     c #5F8CD0",
-"X     c #5886D3",
-"Y     c #618CD2",
-"Z     c #6890D3",
-"`     c #76A1D7",
-" .    c #7196D2",
-"..    c #B7C0D4",
-"+.    c #D1D1D1",
-"@.    c #F1F3F7",
-"#.    c #93B0DE",
-"$.    c #6C93D6",
-"%.    c #638ED4",
-"&.    c #5381CE",
-"*.    c #4472C5",
-"=.    c #3868C1",
-"-.    c #3262BB",
-";.    c #FDFDFD",
-">.    c #2047A9",
-",.    c #325CB3",
-"'.    c #3666BD",
-").    c #386DC5",
-"!.    c #4678CB",
-"~.    c #4A7ACC",
-"{.    c #7998C9",
-"].    c #D5D7DA",
-"^.    c #DCDCDC",
-"/.    c #D3D3D3",
-"(.    c #D4DCEC",
-"_.    c #6187CC",
-":.    c #4674C9",
-"<.    c #3867BD",
-"[.    c #2F56AE",
-"}.    c #2951A2",
-"|.    c #274996",
-"1.    c #264895",
-"2.    c #183289",
-"3.    c #254492",
-"4.    c #254897",
-"5.    c #2A509D",
-"6.    c #2D55A6",
-"7.    c #4B6CB6",
-"8.    c #B9BFCF",
-"9.    c #D2D2D2",
-"0.    c #A9B7D5",
-"a.    c #3A62B5",
-"b.    c #2A57AB",
-"c.    c #264F9B",
-"d.    c #26448F",
-"e.    c #223D83",
-"f.    c #203A7D",
-"g.    c #1E3879",
-"h.    c #1F3974",
-"i.    c #122871",
-"j.    c #1F3A7E",
-"k.    c #214388",
-"l.    c #2E4E98",
-"m.    c #949EB9",
-"n.    c #95A4C8",
-"o.    c #203E83",
-"p.    c #11276E",
-"q.    c #1B346E",
-"r.    c #1A336D",
-"s.    c #1C376F",
-"t.    c #1F3D7F",
-"u.    c #808CAC",
-"v.    c #8E9AB4",
-"w.    c #2F55AC",
-"x.    c #2D53A2",
-"y.    c #183593",
-"z.    c #1C3473",
-"A.    c #79839D",
-"B.    c #D7D7D7",
-"C.    c #9CA7C0",
-"D.    c #274286",
-"E.    c #3261B7",
-"F.    c #3464BB",
-"G.    c #244376",
-"H.    c #838EA3",
-"I.    c #C4CAD8",
-"J.    c #38538D",
-"K.    c #4C7FCB",
-"L.    c #4A78CB",
-"M.    c #406FC5",
-"N.    c #2654BB",
-"O.    c #284AB7",
-"P.    c #34497F",
-"Q.    c #A9AFBB",
-"R.    c #D4D4D4",
-"S.    c #E5E7ED",
-"T.    c #697C9F",
-"U.    c #8CAEE1",
-"V.    c #7CA5DD",
-"W.    c #739BD8",
-"X.    c #3C61C1",
-"Y.    c #4275C9",
-"Z.    c #596990",
-"`.    c #C3C5CA",
-" +    c #CDCDCD",
-".+    c #FAFAFA",
-"++    c #B4BDCE",
-"@+    c #4C6DB8",
-"#+    c #D3DCF0",
-"$+    c #CDDAEE",
-"%+    c #C4D6EF",
-"&+    c #BBD3EC",
-"*+    c #8FA3D6",
-"=+    c #859DD4",
-"-+    c #7C97CF",
-";+    c #6F8BD0",
-">+    c #7DA8DE",
-",+    c #3D5591",
-"'+    c #9CA4B5",
-")+    c #B9B9B9",
-"!+    c #F4F4F4",
-"~+    c #E7E9ED",
-"{+    c #919EB6",
-"]+    c #4772BF",
-"^+    c #CDDAEF",
-"/+    c #EDF3F8",
-"(+    c #EAF2F9",
-"_+    c #E7EEF8",
-":+    c #E5EBF6",
-"<+    c #E0E9F5",
-"[+    c #DBE6F4",
-"}+    c #D6E1F1",
-"|+    c #92B3E0",
-"1+    c #39589E",
-"2+    c #818DA6",
-"3+    c #CACBCF",
-"4+    c #F5F5F5",
-"5+    c #DADDE5",
-"6+    c #8F9CB7",
-"7+    c #618BCF",
-"8+    c #B4C8E8",
-"9+    c #F7F8FC",
-"0+    c #F1F4FA",
-"a+    c #F1F2FA",
-"b+    c #F2F6FB",
-"c+    c #DFE8F4",
-"d+    c #9EBDE2",
-"e+    c #4D75BF",
-"f+    c #8290A9",
-"g+    c #C1C4CB",
-"h+    c #CACACA",
-"i+    c #B3B3B3",
-"j+    c #EDEDED",
-"k+    c #E0E2E6",
-"l+    c #ACB4C8",
-"m+    c #6A85BA",
-"n+    c #658ED2",
-"o+    c #7BA5D9",
-"p+    c #A5C0E6",
-"q+    c #729FD7",
-"r+    c #628BCF",
-"s+    c #647CB2",
-"t+    c #9EA6BA",
-"u+    c #C9CBCF",
-"v+    c #CBCBCB",
-"w+    c #E7E7E7",
-"x+    c #D0D3D9",
-"y+    c #B3BCCE",
-"z+    c #8E9EC1",
-"A+    c #7F8BAD",
-"B+    c #7E8AAC",
-"C+    c #8A9BBD",
-"D+    c #ABB3C6",
-"E+    c #C2C6CC",
-"F+    c #CFCFCF",
-"G+    c #ACACAC",
-"H+    c #E0E0E0",
-"I+    c #A9A9A9",
-"J+    c #E6E6E6",
-"K+    c #E1E1E1",
-"L+    c #DFDFDF",
-"M+    c #D6D6D6",
-"N+    c #A6A6A6",
-"O+    c #9D9D9D",
-"P+    c #9A9A9A",
-"Q+    c #969696",
-"R+    c #919191",
-"S+    c #8C8C8C",
-"T+    c #888888",
-"U+    c #848484",
-"V+    c #818181",
-"                                                                    ",
-"        . . . . . . . . . . . . . . . .                             ",
-"        . + + + + + + + + @ # $ % & * = -                           ",
-"        . + ; ; ; ; ; ; ; ; > ; , ' ) = ; -                         ",
-"        . + ; ; ; ; ; ; ; ; > ; ; , ' = ; ; -                       ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; , = ! ; ; -                     ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ; ; -                   ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ! ; ; -                 ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; = ! ! ! ! ; ; -               ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; ~ { ] ^ / ( _ : -             ",
-"        . + ; ; ; ; ; ; ; ; > ; ; ; ; < [ # * } | 1 / -             ",
-"        . + ; ; ; ; ; < 2 3 4 5 5 4 3 2 [ ' 6 7 8 9 0 -             ",
-"        . + ; ; ; ; a b c d e f f e d g h i j k l m n -             ",
-"        . + ; ; ; 2 o p q r s s r t u v w x y ! } z A -             ",
-"        . + ; ; B C D E F G H I J K J I J L M N O } P -             ",
-"        . + ; < Q R K S T U V W X X Y Z U `  ...O O +.-             ",
-"        . + ; @.#.$.%.&.*.=.-.;.;.>.,.'.).!.~.{.].^./.-             ",
-"        . + ; (._.:.<.[.}.|.1.;.;.2.3.4.5.6.,.7.8.l 9.-             ",
-"        . + ; 0.a.b.c.d.e.f.g.h.i.i.h.g.j.k.3.l.m.^.+.-             ",
-"        . + ; n.c.c.d.k.o.f.;.;.;.p.q.r.s.h.f.t.u.l 9.-             ",
-"        . + ; v.k.w.b.x.}.}.5.;.< y.4.4.1.3.d.z.A.B.+.-             ",
-"        . + ; C.D.E.F.F.-.E.,.< < >.[.b.6.6.}.G.H.z | -             ",
-"        . + ; I.J.=.K.L.:.*.M.< < N.O.=.<.'.6.P.Q.R.P -             ",
-"        . + ; S.T.*.K U.V.W.< < < < X.K.L.Y.}.Z.`.R. +-             ",
-"        . + .+@ ++@+u #+$+%+&+*+=+-+;+>+W.*.,+'+| +.P -             ",
-"        )++ [ !+~+{+]+^+/+(+_+:+<+[+}+$+|+1+2+3+|  + +-             ",
-"        0 + 4+# $ 5+6+7+8+_+9+0+a+b+c+d+e+f+g+| m h+m -             ",
-"        i++ @ $ j+j k+l+m+n+o+p+p+q+r+s+t+u+| v+v+h+v+-             ",
-"        / + # j+j * w+7 x+y+z+A+B+C+D+E+P F+v+v+v+h+9 -             ",
-"        G++ ) j * w+k ! 7 H+^.} 8 R.R.+.+. +m h+h+h+9 -             ",
-"        I++ 6 J+! K+L+^.l 8 M+R.R.9.| F+P  +m v+9 9 9 -             ",
-"        I+N+( O+P+Q+R+S+T+U+V+- - - - - - - - - - - - -             ",
-"                                                                    ",
-"                                                                    "};
diff --git a/modules/gui/wxwidgets/bitmaps/update_source.xpm b/modules/gui/wxwidgets/bitmaps/update_source.xpm
deleted file mode 100644 (file)
index 1b66a27..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-/* XPM */
-static const char * update_source_xpm[] = {
-"34 34 143 2",
-"      c None",
-".     c #BCBCBC",
-"+     c #F7F7F7",
-"@     c #F3F3F3",
-"#     c #F1F1F1",
-"$     c #EFEFEF",
-"%     c #ECECEC",
-"&     c #EAEAEA",
-"*     c #E9E9E9",
-"=     c #C2C2C2",
-"-     c #808080",
-";     c #FFFFFF",
-">     c #003377",
-",     c #CEDBEB",
-"'     c #FBFBFB",
-")     c #F2F2F2",
-"!     c #EEEEEE",
-"~     c #BFD0E5",
-"{     c #E3E3E3",
-"]     c #FEFEFE",
-"^     c #004F33",
-"/     c #BDCEE4",
-"(     c #C2E1CF",
-"_     c #CCE6D7",
-":     c #B6DBC5",
-"<     c #BDBDBD",
-"[     c #C0C0C0",
-"}     c #B6B6B6",
-"|     c #AFAFAF",
-"1     c #A2A2A2",
-"2     c #8E8E8E",
-"3     c #828282",
-"4     c #008437",
-"5     c #EDEDED",
-"6     c #E2E2E2",
-"7     c #DBDBDB",
-"8     c #D0D0D0",
-"9     c #C4C4C4",
-"0     c #BCDDCA",
-"a     c #B9DBC7",
-"b     c #CEE4D7",
-"c     c #FAFAFA",
-"d     c #F4F4F4",
-"e     c #D8D8D8",
-"f     c #C9C9C9",
-"g     c #B5B5B5",
-"h     c #C5E0D0",
-"i     c #B7D8C5",
-"j     c #E6E6E6",
-"k     c #DCDCDC",
-"l     c #DADADA",
-"m     c #CCCCCC",
-"n     c #BEBEBE",
-"o     c #BCDDC9",
-"p     c #C6E0D1",
-"q     c #F9F9F9",
-"r     c #EBEBEB",
-"s     c #DFDFDF",
-"t     c #D7D7D7",
-"u     c #D5D5D5",
-"v     c #C6C6C6",
-"w     c #F6F6F6",
-"x     c #E7E7E7",
-"y     c #CECECE",
-"z     c #767676",
-"A     c #8B8B8B",
-"B     c #9F9F9F",
-"C     c #B3B3B3",
-"D     c #C7C7C7",
-"E     c #9E9E9E",
-"F     c #898989",
-"G     c #616161",
-"H     c #4C4C4C",
-"I     c #383838",
-"J     c #E4E4E4",
-"K     c #D1D1D1",
-"L     c #8D8D8D",
-"M     c #9A9A9A",
-"N     c #ACACAC",
-"O     c #888888",
-"P     c #777777",
-"Q     c #676767",
-"R     c #585858",
-"S     c #A5A5A5",
-"T     c #E0E0E0",
-"U     c #DEDEDE",
-"V     c #D3D3D3",
-"W     c #E5E5E5",
-"X     c #D2D2D2",
-"Y     c #000000",
-"Z     c #8C8C8C",
-"`     c #BFBFBF",
-" .    c #D6D6D6",
-"..    c #565656",
-"+.    c #454545",
-"@.    c #989898",
-"#.    c #737373",
-"$.    c #9B9B9B",
-"%.    c #656565",
-"&.    c #4B4B4B",
-"*.    c #848484",
-"=.    c #DDDDDD",
-"-.    c #F8F8F8",
-";.    c #F5F5F5",
-">.    c #E1E1E1",
-",.    c #F0F0F0",
-"'.    c #080808",
-").    c #D4D4D4",
-"!.    c #CDCDCD",
-"~.    c #272727",
-"{.    c #1E1E1E",
-"].    c #2D2D2D",
-"^.    c #232323",
-"/.    c #D9D9D9",
-"(.    c #343434",
-"_.    c #B9B9B9",
-":.    c #555555",
-"<.    c #E8E8E8",
-"[.    c #444444",
-"}.    c #535353",
-"|.    c #7A7A7A",
-"1.    c #6E6E6E",
-"2.    c #626262",
-"3.    c #6A6A6A",
-"4.    c #606060",
-"5.    c #595959",
-"6.    c #636363",
-"7.    c #CACACA",
-"8.    c #CBCBCB",
-"9.    c #747474",
-"0.    c #727272",
-"a.    c #707070",
-"b.    c #6B6B6B",
-"c.    c #686868",
-"d.    c #7B7B7B",
-"e.    c #CFCFCF",
-"f.    c #929292",
-"g.    c #A9A9A9",
-"h.    c #A6A6A6",
-"i.    c #9D9D9D",
-"j.    c #969696",
-"k.    c #919191",
-"l.    c #818181",
-"        . . . . . . . . . . . . . . . .                             ",
-"        . + + + + + + + + @ # $ % & * = -                           ",
-"        . + ; ; ; ; ; ; ; > , ; ' ) ! = ; -                         ",
-"        . + ; ; ; ; ; ; ; > ~ ; ; ' ) = ; ; -                       ",
-"        . + ; ; ; ; ; ; ; > ~ ; ; ; ' = { ; ; -                     ",
-"        . + ; ; ; ; ; ; ; ; ] ; ; ; ; = { { ; ; -                   ",
-"        . + ; ; ; ^ ^ ; ; > / ; ; ; ; = { { { ; ; -                 ",
-"        . + ; ; ^ ( _ ^ ; ; ] ; ; ; ; = { { { { ; ; -               ",
-"        . + ; ; : ; ; ^ ; ; ] ; ; ; ; < [ . } | 1 2 3 -             ",
-"        . + ; ; ; ; ^ : ; ; 4 4 ; ; ; ' 5 6 * 7 8 9 | -             ",
-"        . + ; ; ; ; 0 ; ; 4 a b 4 ; 4 ; c d { { e f g -             ",
-"        . + ; ; ; ^ ; ; ; 4 ; ; h ; i c c ) j k l m n -             ",
-"        . + ; ; ; o ; ; ; p 4 ; ; ; ' q ) ) r s t u v -             ",
-"        . + ; ; ; ; ; ; ; ; ; ; ; ' q w $ $ 5 x 7 l y -             ",
-"        . + z A B C D k D C E F z G H I ) r r J 6 e K -             ",
-"        . + ; f L M N < N M O P Q R S # $ * * x T U V -             ",
-"        . + z F E C D k D C E F z G H I 5 r W W 6 k X -             ",
-"        . + z F E C Y Z S `  .; z G H I r * 6 6 T l K -             ",
-"        . + z F E C D Y `  .; F z G H I * x J s s k X -             ",
-"        . + V P O M N < Y ; O P Q ..+.@.x J 6 k k l K -             ",
-"        . + ; g #.- 2 $.2 - #.%.R &.*.W J 6 T =.t t 8 -             ",
-"        . + ; ; ' q -.;.@ # ! % & * W J >.s =.7 u u y -             ",
-"        . + ; ' q Y Y Y ,.'.% Y Y Y { >.s =.7 e t ).!.-             ",
-"        . + ; q w ~.j {.! ].* ^./.(.>.U =.7 e  .).).y -             ",
-"        _.+ c w d :.7 +.r +.<.[.8 }.U =.7 e  .V X K !.-             ",
-"        g + -.d # |.1.2.* 3.j 4.5.6.k 7 e  .V X 8 !.m -             ",
-"        C + ;.# $ 5 r * x j 6 T U k 7 t  .V K 8 m 7.8.-             ",
-"        | + @ $ 5 9.* 0.a.1.T b.k c.t u V K 8 8.8.7.f -             ",
-"        N + # 5 r A x O ).*.=.- l d.u V 8 e.8.8.8.7.f -             ",
-"        N + ! r * 1 J $.8 @.k f.e L ).K K !.m 7.7.7.f -             ",
-"        g.+ <.j { >.s k l e  .).).X 8 e.y !.m 8.f f f -             ",
-"        g.h.1 i.M j.k.Z O *.l.- - - - - - - - - - - - -             ",
-"                                                                    ",
-"                                                                    "};
diff --git a/modules/gui/wxwidgets/bitmaps/video.xpm b/modules/gui/wxwidgets/bitmaps/video.xpm
deleted file mode 100644 (file)
index 59b313c..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/* XPM */
-static const char * video_xpm[] = {
-"16 16 124 2",
-"      c None",
-".     c #FFFFFF",
-"+     c #1B4260",
-"@     c #1E4869",
-"#     c #1E4B6D",
-"$     c #1E4A6B",
-"%     c #204F73",
-"&     c #215175",
-"*     c #325C7C",
-"=     c #37607E",
-"-     c #255B84",
-";     c #296491",
-">     c #4D7CA0",
-",     c #6A90AB",
-"'     c #7697B0",
-")     c #235174",
-"!     c #2C6894",
-"~     c #3375A7",
-"{     c #3677A8",
-"]     c #4E8BBA",
-"^     c #81ADCE",
-"/     c #AFCBE0",
-"(     c #C7DAE9",
-"_     c #42759D",
-":     c #275478",
-"<     c #326D9B",
-"[     c #3C81B7",
-"}     c #447FAE",
-"|     c #5390BF",
-"1     c #5994C2",
-"2     c #5C95C2",
-"3     c #92B8D6",
-"4     c #C8DBEA",
-"5     c #4D7EA4",
-"6     c #2D5B80",
-"7     c #366E9D",
-"8     c #3974A3",
-"9     c #336893",
-"0     c #3D7DB0",
-"a     c #5592C3",
-"b     c #5792C3",
-"c     c #89B3D5",
-"d     c #B4CFE4",
-"e     c #CADDEC",
-"f     c #4A7DA6",
-"g     c #3E6688",
-"h     c #42749D",
-"i     c #BDBDBD",
-"j     c #326088",
-"k     c #4380B5",
-"l     c #396D99",
-"m     c #6C9FCA",
-"n     c #8CB6D8",
-"o     c #99BDDD",
-"p     c #6EA2CE",
-"q     c #3C74A4",
-"r     c #446B8C",
-"s     c #000000",
-"t     c #5F5F5F",
-"u     c #969696",
-"v     c #959595",
-"w     c #447AA5",
-"x     c #3D6B94",
-"y     c #6198C9",
-"z     c #6BA1D1",
-"A     c #639CCE",
-"B     c #4E8FC8",
-"C     c #4279A9",
-"D     c #424242",
-"E     c #7F7F7F",
-"F     c #606060",
-"G     c #636363",
-"H     c #484848",
-"I     c #1E1E1E",
-"J     c #7A7A7A",
-"K     c #5C80A2",
-"L     c #6594C1",
-"M     c #70A5D6",
-"N     c #6FA3D4",
-"O     c #5E8AB4",
-"P     c #8C8C8C",
-"Q     c #383838",
-"R     c #3D3D3D",
-"S     c #5D5D5D",
-"T     c #B8B8B8",
-"U     c #6A6A6A",
-"V     c #4C4C4C",
-"W     c #171717",
-"X     c #94BCE2",
-"Y     c #205B07",
-"Z     c #1F5A06",
-"`     c #2A2A2A",
-" .    c #4E4E4E",
-"..    c #4B4B4B",
-"+.    c #585858",
-"@.    c #727272",
-"#.    c #454545",
-"$.    c #050505",
-"%.    c #2B2B2B",
-"&.    c #121212",
-"*.    c #36960D",
-"=.    c #318A0C",
-"-.    c #246608",
-";.    c #363636",
-">.    c #323232",
-",.    c #4D4D4D",
-"'.    c #3E3E3E",
-").    c #1B1B1B",
-"!.    c #154700",
-"~.    c #236308",
-"{.    c #2B780A",
-"].    c #31840E",
-"^.    c #3E7326",
-"/.    c #468A29",
-"(.    c #0B0B0B",
-"_.    c #040404",
-":.    c #517D3E",
-"<.    c #328E0B",
-"[.    c #389013",
-"}.    c #3E9A17",
-"|.    c #2F840B",
-"1.    c #308C09",
-"2.    c #FDFDFD",
-"3.    c #FBFBFB",
-". . . . . . . . . . . . . . . . ",
-". + @ # $ % & & & & * = * & & . ",
-". # - ; ; ; ; ; ; > , ' , > ; . ",
-". ) ! ~ ~ { { ~ ] ^ / ( / ^ _ . ",
-". : < [ [ } | 1 2 3 4 . 4 3 5 . ",
-". 6 7 8 . 9 0 a b c d e d c f . ",
-". g h . i . j k l m n o n p q . ",
-". r s t u v . w . x y z A B C . ",
-". s D E F G H I J . K L M N O . ",
-". s P D Q R s S T U V W X Y Z . ",
-". `  .s s ..+.@.#.$.%.&.Y *.=.. ",
-". -.Y ;.>.V ,.'.).s !.~.{.{.].. ",
-". ^./.{.~.(._.!.~.{.].*.~.{.*.. ",
-". :.*.*.<.].].{.].[.}.|.*.1.*.. ",
-". . . . . . . . . 2.3.3.. . . . ",
-"                                "};
diff --git a/modules/gui/wxwidgets/dialogs.cpp b/modules/gui/wxwidgets/dialogs.cpp
deleted file mode 100644 (file)
index a70ec6f..0000000
+++ /dev/null
@@ -1,631 +0,0 @@
-/*****************************************************************************
- * dialogs.cpp : wxWidgets plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include <errno.h>                                                 /* ENOMEM */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <vlc_common.h>
-#include <vlc_aout.h>
-#include <vlc_interface.h>
-
-#include "vlc_charset.h"
-
-//#include "dialogs/vlm/vlm_panel.hpp"
-#include "dialogs/bookmarks.hpp"
-#include "dialogs/wizard.hpp"
-#include "dialogs/playlist.hpp"
-#include "dialogs/open.hpp"
-#include "dialogs/updatevlc.hpp"
-#include "dialogs/fileinfo.hpp"
-#include "dialogs/iteminfo.hpp"
-#include "dialogs/preferences.hpp"
-#include "dialogs/messages.hpp"
-#include "dialogs/interaction.hpp"
-#include "interface.hpp"
-
-/* include the icon graphic */
-#include "../../../share/vlc32x32.xpm"
-
-
-/* Dialogs Provider */
-namespace wxvlc
-{
-class DialogsProvider: public wxFrame
-{
-public:
-    /* Constructor */
-    DialogsProvider( intf_thread_t *p_intf, wxWindow *p_parent );
-    virtual ~DialogsProvider();
-
-private:
-    void Open( int i_access_method, int i_arg );
-
-    /* Event handlers (these functions should _not_ be virtual) */
-#ifdef UPDATE_CHECK
-    void OnUpdateVLC( wxCommandEvent& event );
-#endif
-    //void OnVLM( wxCommandEvent& event );
-    void OnInteraction( wxCommandEvent& event );
-    void OnExit( wxCommandEvent& event );
-    void OnPlaylist( wxCommandEvent& event );
-    void OnMessages( wxCommandEvent& event );
-    void OnFileInfo( wxCommandEvent& event );
-    void OnPreferences( wxCommandEvent& event );
-    void OnWizardDialog( wxCommandEvent& event );
-    void OnBookmarks( wxCommandEvent& event );
-
-    void OnOpenFileGeneric( wxCommandEvent& event );
-    void OnOpenFileSimple( wxCommandEvent& event );
-    void OnOpenDirectory( wxCommandEvent& event );
-    void OnOpenFile( wxCommandEvent& event );
-    void OnOpenDisc( wxCommandEvent& event );
-    void OnOpenNet( wxCommandEvent& event );
-    void OnOpenCapture( wxCommandEvent& event );
-    void OnOpenSat( wxCommandEvent& event );
-
-    void OnPopupMenu( wxCommandEvent& event );
-    void OnAudioPopupMenu( wxCommandEvent& event );
-    void OnVideoPopupMenu( wxCommandEvent& event );
-    void OnMiscPopupMenu( wxCommandEvent& event );
-
-    void OnIdle( wxIdleEvent& event );
-
-    void OnExitThread( wxCommandEvent& event );
-
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-
-public:
-    /* Secondary windows */
-    OpenDialog          *p_open_dialog;
-    wxFileDialog        *p_file_dialog;
-    wxDirDialog         *p_dir_dialog;
-    Playlist            *p_playlist_dialog;
-    Messages            *p_messages_dialog;
-    FileInfo            *p_fileinfo_dialog;
-    WizardDialog        *p_wizard_dialog;
-    wxFrame             *p_prefs_dialog;
-    wxFrame             *p_bookmarks_dialog;
-    wxFileDialog        *p_file_generic_dialog;
-#ifdef UPDATE_CHECK
-    UpdateVLC           *p_updatevlc_dialog;
-#endif
-    //VLMFrame            *p_vlm_dialog;
-};
-}
-
-DEFINE_LOCAL_EVENT_TYPE( wxEVT_DIALOG );
-
-BEGIN_EVENT_TABLE(DialogsProvider, wxFrame)
-    /* Idle loop used to update some of the dialogs */
-    EVT_IDLE(DialogsProvider::OnIdle)
-
-    /* Custom wxDialog events */
-    EVT_COMMAND(INTF_DIALOG_FILE, wxEVT_DIALOG, DialogsProvider::OnOpenFile)
-    EVT_COMMAND(INTF_DIALOG_DISC, wxEVT_DIALOG, DialogsProvider::OnOpenDisc)
-    EVT_COMMAND(INTF_DIALOG_NET, wxEVT_DIALOG, DialogsProvider::OnOpenNet)
-    EVT_COMMAND(INTF_DIALOG_CAPTURE, wxEVT_DIALOG,
-                DialogsProvider::OnOpenCapture)
-    EVT_COMMAND(INTF_DIALOG_FILE_SIMPLE, wxEVT_DIALOG,
-                DialogsProvider::OnOpenFileSimple)
-    EVT_COMMAND(INTF_DIALOG_FILE_GENERIC, wxEVT_DIALOG,
-                DialogsProvider::OnOpenFileGeneric)
-    EVT_COMMAND(INTF_DIALOG_DIRECTORY, wxEVT_DIALOG,
-                DialogsProvider::OnOpenDirectory)
-
-    EVT_COMMAND(INTF_DIALOG_PLAYLIST, wxEVT_DIALOG,
-                DialogsProvider::OnPlaylist)
-    EVT_COMMAND(INTF_DIALOG_MESSAGES, wxEVT_DIALOG,
-                DialogsProvider::OnMessages)
-    EVT_COMMAND(INTF_DIALOG_PREFS, wxEVT_DIALOG,
-                DialogsProvider::OnPreferences)
-    EVT_COMMAND(INTF_DIALOG_WIZARD, wxEVT_DIALOG,
-                DialogsProvider::OnWizardDialog)
-    EVT_COMMAND(INTF_DIALOG_FILEINFO, wxEVT_DIALOG,
-                DialogsProvider::OnFileInfo)
-    EVT_COMMAND(INTF_DIALOG_BOOKMARKS, wxEVT_DIALOG,
-                DialogsProvider::OnBookmarks)
-
-    EVT_COMMAND(INTF_DIALOG_POPUPMENU, wxEVT_DIALOG,
-                DialogsProvider::OnPopupMenu)
-    EVT_COMMAND(INTF_DIALOG_AUDIOPOPUPMENU, wxEVT_DIALOG,
-                DialogsProvider::OnAudioPopupMenu)
-    EVT_COMMAND(INTF_DIALOG_VIDEOPOPUPMENU, wxEVT_DIALOG,
-                DialogsProvider::OnVideoPopupMenu)
-    EVT_COMMAND(INTF_DIALOG_MISCPOPUPMENU, wxEVT_DIALOG,
-                DialogsProvider::OnMiscPopupMenu)
-
-    EVT_COMMAND(INTF_DIALOG_EXIT, wxEVT_DIALOG,
-                DialogsProvider::OnExitThread)
-#ifdef UPDATE_CHECK
-    EVT_COMMAND(INTF_DIALOG_UPDATEVLC, wxEVT_DIALOG,
-                DialogsProvider::OnUpdateVLC)
-#endif
-#if 0
-    EVT_COMMAND(INTF_DIALOG_VLM, wxEVT_DIALOG,
-                DialogsProvider::OnVLM)
-#endif
-    EVT_COMMAND( INTF_DIALOG_INTERACTION, wxEVT_DIALOG,
-                DialogsProvider::OnInteraction )
-END_EVENT_TABLE()
-
-wxWindow *CreateDialogsProvider( intf_thread_t *p_intf, wxWindow *p_parent )
-{
-    return new DialogsProvider( p_intf, p_parent );
-}
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-DialogsProvider::DialogsProvider( intf_thread_t *_p_intf, wxWindow *p_parent )
-  :  wxFrame( p_parent, -1, wxT("") )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_open_dialog = NULL;
-    p_file_dialog = NULL;
-    p_playlist_dialog = NULL;
-    p_messages_dialog = NULL;
-    p_fileinfo_dialog = NULL;
-    p_prefs_dialog = NULL;
-    p_file_generic_dialog = NULL;
-    p_wizard_dialog = NULL;
-    p_bookmarks_dialog = NULL;
-    p_dir_dialog = NULL;
-#ifdef UPDATE_CHECK
-    p_updatevlc_dialog = NULL;
-#endif
-    //p_vlm_dialog = NULL;
-
-    /* Give our interface a nice little icon */
-    p_intf->p_sys->p_icon = new wxIcon( (const char**) vlc_xpm );
-
-    /* Create the messages dialog so it can begin storing logs */
-    p_messages_dialog = new Messages( p_intf, p_parent ? p_parent : this );
-
-    /* Check if user wants to show the bookmarks dialog by default */
-    wxCommandEvent dummy_event;
-    if( config_GetInt( p_intf, "wx-bookmarks" ) )
-        OnBookmarks( dummy_event );
-
-    /* Intercept all menu events in our custom event handler */
-    PushEventHandler( new MenuEvtHandler( p_intf, NULL ) );
-
-
-    WindowSettings *ws = p_intf->p_sys->p_window_settings;
-    wxPoint p;
-    wxSize  s;
-    bool    b_shown;
-
-#define INIT( id, w, N, S ) \
-    if( ws->GetSettings( WindowSettings::id, b_shown, p, s ) && b_shown ) \
-    {                           \
-        if( !w )                \
-            w = N;              \
-        w->SetSize( s );        \
-        w->Move( p );           \
-        w->S( true );           \
-    }
-
-    INIT( ID_PLAYLIST, p_playlist_dialog, new Playlist(p_intf,this), ShowPlaylist );
-    INIT( ID_MESSAGES, p_messages_dialog, new Messages(p_intf,this), Show );
-    INIT( ID_FILE_INFO, p_fileinfo_dialog, new FileInfo(p_intf,this), Show );
-    INIT( ID_BOOKMARKS, p_bookmarks_dialog, new BookmarksDialog(p_intf,this), Show);
-#undef INIT
-}
-
-DialogsProvider::~DialogsProvider()
-{
-    WindowSettings *ws = p_intf->p_sys->p_window_settings;
-
-#define UPDATE(id,w)                                        \
-  {                                                         \
-    if( w && w->IsShown() && !w->IsIconized() )             \
-        ws->SetSettings(  WindowSettings::id, true,         \
-                          w->GetPosition(), w->GetSize() ); \
-    else                                                    \
-        ws->SetSettings(  WindowSettings::id, false );      \
-  }
-
-    UPDATE( ID_PLAYLIST,  p_playlist_dialog );
-    UPDATE( ID_MESSAGES,  p_messages_dialog );
-    UPDATE( ID_FILE_INFO, p_fileinfo_dialog );
-    UPDATE( ID_BOOKMARKS, p_bookmarks_dialog );
-
-#undef UPDATE
-
-    PopEventHandler(true);
-
-    /* Clean up */
-    delete p_open_dialog;
-    if( p_prefs_dialog )    p_prefs_dialog->Destroy();
-    delete p_file_dialog;
-    delete p_playlist_dialog;
-    delete p_messages_dialog;
-    delete p_fileinfo_dialog;
-    delete p_file_generic_dialog;
-    delete p_wizard_dialog;
-    delete p_bookmarks_dialog;
-#ifdef UPDATE_CHECK
-    delete p_updatevlc_dialog;
-#endif
-    //delete p_vlm_dialog;
-
-
-    delete p_intf->p_sys->p_icon;
-
-    /* We must set this here because on win32 this destructor will be
-     * automatically called so we must not call it again on wxApp->OnExit().
-     * There shouldn't be any race conditions as all this should be done
-     * from the same thread. */
-    p_intf->p_sys->p_wxwindow = NULL;
-}
-
-void DialogsProvider::OnIdle( wxIdleEvent& WXUNUSED(event) )
-{
-    /* Update the log window */
-    if( p_messages_dialog )
-        p_messages_dialog->UpdateLog();
-
-    /* Update the playlist */
-    if( p_playlist_dialog )
-        p_playlist_dialog->UpdatePlaylist();
-
-    /* Update the fileinfo windows */
-    if( p_fileinfo_dialog )
-        p_fileinfo_dialog->Update();
-}
-
-void DialogsProvider::OnPlaylist( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the playlist window */
-    if( !p_playlist_dialog )
-        p_playlist_dialog = new Playlist( p_intf, this );
-
-    if( p_playlist_dialog )
-    {
-        p_playlist_dialog->ShowPlaylist( !p_playlist_dialog->IsShown() );
-    }
-}
-
-void DialogsProvider::OnMessages( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the log window */
-    if( !p_messages_dialog )
-        p_messages_dialog = new Messages( p_intf, this );
-
-    if( p_messages_dialog )
-    {
-        p_messages_dialog->Show( !p_messages_dialog->IsShown() );
-    }
-}
-
-void DialogsProvider::OnFileInfo( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the file info window */
-    if( !p_fileinfo_dialog )
-        p_fileinfo_dialog = new FileInfo( p_intf, this );
-
-    if( p_fileinfo_dialog )
-    {
-        p_fileinfo_dialog->Show( !p_fileinfo_dialog->IsShown() );
-    }
-}
-
-void DialogsProvider::OnPreferences( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the open dialog */
-    if( !p_prefs_dialog )
-        p_prefs_dialog = new PrefsDialog( p_intf, this );
-
-    if( p_prefs_dialog )
-    {
-        p_prefs_dialog->Show( !p_prefs_dialog->IsShown() );
-    }
-}
-
-void DialogsProvider::OnWizardDialog( wxCommandEvent& WXUNUSED(event) )
-{
-    p_wizard_dialog = new WizardDialog( p_intf, this, NULL, 0, 0 );
-
-    if( p_wizard_dialog )
-    {
-        p_wizard_dialog->Run();
-        delete p_wizard_dialog;
-    }
-
-    p_wizard_dialog = NULL;
-}
-
-void DialogsProvider::OnBookmarks( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the open dialog */
-    if( !p_bookmarks_dialog )
-        p_bookmarks_dialog = new BookmarksDialog( p_intf, this );
-
-    if( p_bookmarks_dialog )
-    {
-        p_bookmarks_dialog->Show( !p_bookmarks_dialog->IsShown() );
-    }
-}
-
-void DialogsProvider::OnOpenFileGeneric( wxCommandEvent& event )
-{
-    intf_dialog_args_t *p_arg = (intf_dialog_args_t *)event.GetClientData();
-
-    if( p_arg == NULL )
-    {
-        msg_Dbg( p_intf, "OnOpenFileGeneric() called with NULL arg" );
-        return;
-    }
-
-    if( p_file_generic_dialog == NULL )
-        p_file_generic_dialog = new wxFileDialog( NULL );
-
-    if( p_file_generic_dialog )
-    {
-        p_file_generic_dialog->SetMessage( wxU(p_arg->psz_title) );
-        p_file_generic_dialog->SetWildcard( wxU(p_arg->psz_extensions) );
-        p_file_generic_dialog->SetWindowStyle( (p_arg->b_save ? wxSAVE : wxOPEN) |
-                                               (p_arg->b_multiple ? wxMULTIPLE:0) );
-    }
-
-    if( p_file_generic_dialog &&
-        p_file_generic_dialog->ShowModal() == wxID_OK )
-    {
-        wxArrayString paths;
-
-        p_file_generic_dialog->GetPaths( paths );
-
-        p_arg->i_results = paths.GetCount();
-        p_arg->psz_results = (char **)malloc( p_arg->i_results *
-                                              sizeof(char *) );
-        for( size_t i = 0; i < paths.GetCount(); i++ )
-        {
-            p_arg->psz_results[i] = strdup( paths[i].mb_str(wxConvUTF8) );
-        }
-    }
-
-    /* Callback */
-    if( p_arg->pf_callback )
-    {
-        p_arg->pf_callback( p_arg );
-    }
-
-    if( p_arg->psz_results )
-    {
-        for( int i = 0; i < p_arg->i_results; i++ )
-        {
-            free( p_arg->psz_results[i] );
-        }
-        free( p_arg->psz_results );
-    }
-    free( p_arg->psz_title );
-    free( p_arg->psz_extensions );
-
-    free( p_arg );
-}
-
-void DialogsProvider::OnOpenFileSimple( wxCommandEvent& event )
-{
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    if( p_file_dialog == NULL )
-        p_file_dialog = new wxFileDialog( NULL, wxU(_("Open File")),
-            wxT(""), wxT(""), wxT("*"), wxOPEN | wxMULTIPLE );
-
-    p_file_dialog->SetWildcard(wxU(_("All Files (*.*)|*"
-        "|Sound Files (*.mp3, *.ogg, etc.)|" EXTENSIONS_AUDIO
-        "|Video Files (*.avi, *.mpg, etc.)|" EXTENSIONS_VIDEO
-        "|Playlist Files (*.m3u, *.pls, etc.)|" EXTENSIONS_PLAYLIST
-        "|Subtitle Files (*.srt, *.sub, etc.)|" EXTENSIONS_SUBTITLE)));
-
-    if( p_file_dialog && p_file_dialog->ShowModal() == wxID_OK )
-    {
-        wxArrayString paths;
-
-        p_file_dialog->GetPaths( paths );
-
-        for( size_t i = 0; i < paths.GetCount(); i++ )
-        {
-            char *psz_utf8 = wxFromLocale( paths[i] );
-            if( event.GetInt() )
-                playlist_Add( p_playlist, psz_utf8, NULL,
-                              PLAYLIST_APPEND | (i ? 0 : PLAYLIST_GO) |
-                              (i ? PLAYLIST_PREPARSE : 0 ),
-                              PLAYLIST_END, true, false );
-            else
-                playlist_Add( p_playlist, psz_utf8, NULL,
-                              PLAYLIST_APPEND | PLAYLIST_PREPARSE , PLAYLIST_END , true, false );
-            wxLocaleFree( psz_utf8 );
-        }
-    }
-    pl_Release( p_intf );
-}
-
-void DialogsProvider::OnOpenDirectory( wxCommandEvent& event )
-{
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    if( p_dir_dialog == NULL )
-        p_dir_dialog = new wxDirDialog( NULL, wxU(_("Select a directory")) );
-
-    if( p_dir_dialog && p_dir_dialog->ShowModal() == wxID_OK )
-    {
-        wxString path = p_dir_dialog->GetPath();
-        char *psz_utf8 = wxFromLocale( path );
-        playlist_Add( p_playlist, psz_utf8, NULL,
-                      PLAYLIST_APPEND | (event.GetInt() ? PLAYLIST_GO : 0),
-                      PLAYLIST_END, true, false );
-        wxLocaleFree( psz_utf8 );
-    }
-    pl_Release( p_intf );
-}
-
-void DialogsProvider::OnOpenFile( wxCommandEvent& event )
-{
-    Open( FILE_ACCESS, event.GetInt() );
-}
-
-void DialogsProvider::OnOpenDisc( wxCommandEvent& event )
-{
-    Open( DISC_ACCESS, event.GetInt() );
-}
-
-void DialogsProvider::OnOpenNet( wxCommandEvent& event )
-{
-    Open( NET_ACCESS, event.GetInt() );
-}
-
-void DialogsProvider::OnOpenCapture( wxCommandEvent& event )
-{
-    Open( CAPTURE_ACCESS, event.GetInt() );
-}
-
-void DialogsProvider::Open( int i_access_method, int i_arg )
-{
-    /* Show/hide the open dialog */
-    if( !p_open_dialog )
-        p_open_dialog = new OpenDialog( p_intf, this, i_access_method, i_arg,
-                                        OPEN_NORMAL );
-
-    if( p_open_dialog )
-    {
-        p_open_dialog->Show( i_access_method, i_arg );
-    }
-}
-
-void DialogsProvider::OnPopupMenu( wxCommandEvent& event )
-{
-    wxPoint mousepos = ScreenToClient( wxGetMousePosition() );
-    ::PopupMenu( p_intf, this, mousepos );
-}
-
-void DialogsProvider::OnAudioPopupMenu( wxCommandEvent& event )
-{
-    wxPoint mousepos = ScreenToClient( wxGetMousePosition() );
-    ::AudioPopupMenu( p_intf, this, mousepos );
-}
-void DialogsProvider::OnVideoPopupMenu( wxCommandEvent& event )
-{
-    wxPoint mousepos = ScreenToClient( wxGetMousePosition() );
-    ::VideoPopupMenu( p_intf, this, mousepos );
-}
-void DialogsProvider::OnMiscPopupMenu( wxCommandEvent& event )
-{
-    wxPoint mousepos = ScreenToClient( wxGetMousePosition() );
-    ::MiscPopupMenu( p_intf, this, mousepos );
-}
-
-void DialogsProvider::OnExitThread( wxCommandEvent& WXUNUSED(event) )
-{
-    wxTheApp->ExitMainLoop();
-}
-
-#ifdef UPDATE_CHECK
-void DialogsProvider::OnUpdateVLC( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the file info window */
-    if( !p_updatevlc_dialog )
-        p_updatevlc_dialog = new UpdateVLC( p_intf, this );
-
-    if( p_updatevlc_dialog )
-    {
-        p_updatevlc_dialog->Show( !p_updatevlc_dialog->IsShown() );
-    }
-}
-#endif
-
-#if 0
-void DialogsProvider::OnVLM( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the file info window */
-    if( !p_vlm_dialog )
-        p_vlm_dialog = new VLMFrame( p_intf, this );
-
-    if( p_vlm_dialog )
-    {
-        p_vlm_dialog->Show( !p_vlm_dialog->IsShown() );
-    }
-}
-#endif
-
-void DialogsProvider::OnInteraction( wxCommandEvent& event )
-{
-    intf_dialog_args_t *p_arg = (intf_dialog_args_t *)event.GetClientData();
-    interaction_dialog_t *p_dialog;
-    InteractionDialog *p_wxdialog;
-
-    return;
-
-    if( p_arg == NULL )
-    {
-        msg_Dbg( p_intf, "OnInteraction() called with NULL arg" );
-        return;
-    }
-    p_dialog = p_arg->p_dialog;
-
-    /** \bug We store the interface object for the dialog in the p_private
-     * field of the core dialog object. This is not safe if we change
-     * interface while a dialog is loaded */
-
-    switch( p_dialog->i_action )
-    {
-    case INTERACT_NEW:
-        p_wxdialog = new InteractionDialog( p_intf, this, p_dialog );
-        p_dialog->p_private = (void*)p_wxdialog;
-        p_wxdialog->Show();
-        break;
-    case INTERACT_UPDATE:
-        p_wxdialog = (InteractionDialog*)(p_dialog->p_private);
-        if( p_wxdialog)
-            p_wxdialog->Update();
-        break;
-    case INTERACT_HIDE:
-        p_wxdialog = (InteractionDialog*)(p_dialog->p_private);
-        if( p_wxdialog )
-            p_wxdialog->Hide();
-        p_dialog->i_status = HIDDEN_DIALOG;
-        break;
-    case INTERACT_DESTROY:
-        p_wxdialog = (InteractionDialog*)(p_dialog->p_private);
-        /// \todo
-        p_dialog->i_status = DESTROYED_DIALOG;
-        break;
-    }
-}
diff --git a/modules/gui/wxwidgets/dialogs/bookmarks.cpp b/modules/gui/wxwidgets/dialogs/bookmarks.cpp
deleted file mode 100644 (file)
index 622c8f1..0000000
+++ /dev/null
@@ -1,484 +0,0 @@
-/*****************************************************************************
- * bookmarks.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "dialogs/bookmarks.hpp"
-
-#include "wizard.hpp"
-
-/* Callback prototype */
-static int PlaylistChanged( vlc_object_t *, const char *,
-                            vlc_value_t, vlc_value_t, void * );
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    /* menu items */
-    ButtonAdd_Event = wxID_HIGHEST + 1,
-    ButtonDel_Event,
-    ButtonClear_Event,
-    ButtonExtract_Event,
-    ButtonEdit_Event
-};
-
-DEFINE_LOCAL_EVENT_TYPE( wxEVT_BOOKMARKS );
-
-BEGIN_EVENT_TABLE(BookmarksDialog, wxFrame)
-    /* Hide the window when the user closes the window */
-    EVT_CLOSE(BookmarksDialog::OnClose )
-    EVT_BUTTON( wxID_ADD, BookmarksDialog::OnAdd )
-    EVT_BUTTON( wxID_DELETE, BookmarksDialog::OnDel )
-    EVT_BUTTON( wxID_CLEAR, BookmarksDialog::OnClear )
-    EVT_BUTTON( ButtonExtract_Event, BookmarksDialog::OnExtract )
-    EVT_BUTTON( ButtonEdit_Event, BookmarksDialog::OnEdit )
-
-    EVT_LIST_ITEM_ACTIVATED( -1, BookmarksDialog::OnActivateItem )
-
-    EVT_COMMAND( -1, wxEVT_BOOKMARKS, BookmarksDialog::OnUpdate )
-END_EVENT_TABLE()
-
-BEGIN_EVENT_TABLE( BookmarkEditDialog, wxDialog)
-    EVT_BUTTON( wxID_OK, BookmarkEditDialog::OnOK)
-END_EVENT_TABLE()
-
-/****************************************************************************
- * BookmarkEditDialog
- ***************************************************************************/
-BookmarkEditDialog::BookmarkEditDialog( intf_thread_t *_p_intf,
-           wxWindow *_p_parent, seekpoint_t *_p_seekpoint ):wxDialog(
-            _p_parent, -1, wxU(_("Edit bookmark")), wxDefaultPosition,
-            wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_seekpoint = _p_seekpoint;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    /* Create a panel to put everything in*/
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    wxFlexGridSizer * sizer = new wxFlexGridSizer( 2 , 3 , 1 );
-    name_text = new wxTextCtrl( this, -1, wxU( p_seekpoint->psz_name ?
-                                               p_seekpoint->psz_name : "" ),
-                                wxDefaultPosition, wxSize( 100, 20) );
-    time_text = new wxTextCtrl( this, -1, wxString::Format(wxT("%d"),
-                                (int)(p_seekpoint->i_time_offset / 1000000) ),
-                                wxDefaultPosition, wxSize( 100, 20) );
-    bytes_text = new wxTextCtrl( this, -1, wxString::Format(wxT("%d"),
-                                (int)p_seekpoint->i_byte_offset ),
-                                wxDefaultPosition, wxSize( 100, 20) );
-
-    sizer->Add( new wxStaticText( this, -1, wxU(_("Name") ) ), 0, wxLEFT, 5 );
-    sizer->Add( name_text, 0, wxEXPAND|wxRIGHT , 5 );
-    sizer->Add( new wxStaticText( this, -1, wxU(_("Time") ) ), 0, wxLEFT, 5 );
-    sizer->Add( time_text , 0, wxEXPAND|wxRIGHT , 5);
-    sizer->Add( new wxStaticText( this, -1, wxU(_("Bytes") ) ), 0, wxLEFT, 5 );
-    sizer->Add( bytes_text, 0, wxEXPAND|wxRIGHT, 5);
-
-    wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL );
-    wxButton *ok_button = new wxButton( this, wxID_OK, wxU(_("&OK") ) );
-    ok_button->SetDefault();
-    button_sizer->Add( ok_button );
-    button_sizer->Add( new wxButton( this, wxID_CANCEL, wxU(_("&Cancel") ) ) );
-
-    panel_sizer->Add( sizer, 0, wxEXPAND | wxTOP|wxBOTTOM, 5 );
-    panel_sizer->Add( button_sizer, 0, wxEXPAND | wxBOTTOM, 5 );
-    panel_sizer->Layout();
-    SetSizerAndFit( panel_sizer );
-}
-
-BookmarkEditDialog::~BookmarkEditDialog()
-{
-}
-void BookmarkEditDialog::OnOK( wxCommandEvent &event )
-{
-    free( p_seekpoint->psz_name );
-    p_seekpoint->psz_name = strdup( name_text->GetValue().mb_str(wxConvUTF8) );
-    p_seekpoint->i_byte_offset = atoi( bytes_text->GetValue().mb_str(wxConvUTF8) );
-    p_seekpoint->i_time_offset =  1000000 *
-                                  atoll( time_text->GetValue().mb_str(wxConvUTF8) ) ;
-    EndModal( wxID_OK );
-}
-
-void BookmarkEditDialog::OnCancel( wxCommandEvent &event )
-{
-    EndModal( wxID_CANCEL );
-}
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-BookmarksDialog::BookmarksDialog( intf_thread_t *_p_intf, wxWindow *p_parent )
-  : wxFrame( p_parent->GetParent() ? p_parent->GetParent() : p_parent,
-             -1, wxU(_("Bookmarks")),
-             !p_parent->GetParent() ? wxDefaultPosition :
-               wxPoint( p_parent->GetParent()->GetRect().GetX(),
-                        p_parent->GetParent()->GetRect().GetY() +
-                        p_parent->GetParent()->GetRect().GetHeight() + 40 ),
-             wxSize( 500, -1 ),
-             wxDEFAULT_FRAME_STYLE | wxFRAME_FLOAT_ON_PARENT )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    wxPanel *main_panel = new wxPanel( this, -1 );
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxHORIZONTAL );
-
-    wxBoxSizer *sizer = new wxBoxSizer( wxHORIZONTAL );
-
-    wxPanel *panel = new wxPanel( main_panel, -1 );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-    wxButton *button_add =
-        new wxButton( panel, wxID_ADD, wxU(_("Add")) );
-    wxButton *button_del =
-        new wxButton( panel, wxID_DELETE, wxU(_("&Delete")) );
-    wxButton *button_clear =
-        new wxButton( panel, wxID_CLEAR, wxU(_("&Clear")) );
-    wxButton *button_edit =
-        new wxButton( panel, ButtonEdit_Event, wxU(_("Edit")) );
-    wxButton *button_extract =
-        new wxButton( panel, ButtonExtract_Event, wxU(_("Extract")) );
-
-#define ADD_TEXT N_("Adds a bookmark at the current position in the stream")
-#define REMOVE_TEXT N_("Removes the selected bookmarks")
-#define CLEAR_TEXT N_("Removes all the bookmarks for that stream")
-#define EDIT_TEXT N_("Edit the properties of a bookmark")
-#define EXTRACT_TEXT N_("If you select two or more bookmarks, this will " \
-               "launch the streaming/transcoding wizard to allow you to " \
-              "stream or save the part of the stream between these bookmarks")
-    button_add->SetToolTip(  wxU(_( ADD_TEXT ) ) );
-    button_del->SetToolTip(  wxU(_( REMOVE_TEXT ) ) );
-    button_clear->SetToolTip(  wxU(_( CLEAR_TEXT ) ) );
-    button_edit->SetToolTip(  wxU(_( EDIT_TEXT ) ) );
-    button_extract->SetToolTip( wxU(_( EXTRACT_TEXT ) ) );
-
-    panel_sizer->Add( button_add, 0, wxEXPAND );
-    panel_sizer->Add( button_del, 0, wxEXPAND );
-    panel_sizer->Add( button_clear, 0, wxEXPAND );
-
-    panel_sizer->Add( button_edit, 0, wxEXPAND );
-    panel_sizer->Add( 0, 0, 1 );
-    panel_sizer->Add( button_extract, 0, wxEXPAND );
-
-    panel->SetSizerAndFit( panel_sizer );
-
-    list_ctrl = new wxListView( main_panel, -1,
-                                wxDefaultPosition, wxDefaultSize,
-                                wxLC_REPORT | wxSUNKEN_BORDER );
-    list_ctrl->InsertColumn( 0, wxU(_("Description")) );
-    list_ctrl->SetColumnWidth( 0, 240 );
-    list_ctrl->InsertColumn( 1, wxU(_("Bytes")) );
-    list_ctrl->InsertColumn( 2, wxU(_("Time")) );
-
-    sizer->Add( panel, 0, wxEXPAND | wxALL, 1 );
-    sizer->Add( list_ctrl, 1, wxEXPAND | wxALL, 1 );
-    main_panel->SetSizer( sizer );
-
-    main_sizer->Add( main_panel, 1, wxEXPAND );
-    SetSizer( main_sizer );
-
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist )
-    {
-       /* Some global changes happened -> Rebuild all */
-       var_AddCallback( p_playlist, "playlist-current",
-                        PlaylistChanged, this );
-       pl_Release( p_intf );
-    }
-}
-
-BookmarksDialog::~BookmarksDialog()
-{
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist )
-    {
-       var_DelCallback( p_playlist, "playlist-current",
-                        PlaylistChanged, this );
-       pl_Release( p_intf );
-    }
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-//wxFrame *BookmarksDialog( intf_thread_t *p_intf, wxWindow *p_parent )
-//{
-//    return new class BookmarksDialog( p_intf, p_parent );
-//}
-
-void BookmarksDialog::Update()
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( !p_input ) return;
-
-    seekpoint_t **pp_bookmarks;
-    int i_bookmarks;
-
-    list_ctrl->DeleteAllItems();
-    if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
-                       &i_bookmarks ) != VLC_SUCCESS )
-    {
-        vlc_object_release( p_input );
-        return;
-    }
-
-    for( int i = 0; i < i_bookmarks; i++ )
-    {
-        list_ctrl->InsertItem( i, wxL2U( pp_bookmarks[i]->psz_name ) );
-        /* FIXME: see if we can use the 64 bits integer format string */
-        list_ctrl->SetItem( i, 1, wxString::Format(wxT("%d"),
-                            (int)(pp_bookmarks[i]->i_byte_offset) ) );
-        list_ctrl->SetItem( i, 2, wxString::Format(wxT("%d"),
-                            (int)(pp_bookmarks[i]->i_time_offset / 1000000) ) );
-    }
-
-    vlc_object_release( p_input );
-}
-
-bool BookmarksDialog::Show( bool show )
-{
-    Update();
-    return wxFrame::Show( show );
-}
-
-void BookmarksDialog::OnClose( wxCloseEvent& event )
-{
-    Hide();
-}
-
-void BookmarksDialog::OnAdd( wxCommandEvent& event )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( !p_input ) return;
-
-    seekpoint_t bookmark;
-
-    if( !input_Control( p_input, INPUT_GET_BOOKMARK, &bookmark ) )
-    {
-        bookmark.psz_name = NULL;
-        input_Control( p_input, INPUT_ADD_BOOKMARK, &bookmark );
-    }
-    vlc_object_release( p_input );
-
-    Update();
-}
-
-void BookmarksDialog::OnDel( wxCommandEvent& event )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( !p_input ) return;
-
-    int i_focused = list_ctrl->GetFocusedItem();
-    if( i_focused >= 0 )
-    {
-        input_Control( p_input, INPUT_DEL_BOOKMARK, i_focused );
-    }
-
-    vlc_object_release( p_input );
-
-    Update();
-}
-
-void BookmarksDialog::OnClear( wxCommandEvent& event )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( !p_input ) return;
-
-    input_Control( p_input, INPUT_CLEAR_BOOKMARKS );
-
-    vlc_object_release( p_input );
-
-    Update();
-}
-
-void BookmarksDialog::OnExtract( wxCommandEvent& event )
-{
-    long i_first = list_ctrl->GetNextItem( -1, wxLIST_NEXT_ALL,
-                                          wxLIST_STATE_SELECTED );
-    long i_second = list_ctrl->GetNextItem( i_first, wxLIST_NEXT_ALL,
-                                          wxLIST_STATE_SELECTED );
-
-    if( i_first == -1 || i_second == -1 )
-    {
-        wxMessageBox( wxU(_("You must select two bookmarks") ),
-                      wxU(_("Invalid selection") ), wxICON_WARNING | wxOK,
-                      this );
-        return;
-    }
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( !p_input )
-    {
-        wxMessageBox( wxU(_("The stream must be playing or paused for "
-                            "bookmarks to work" ) ), wxU(_("No input found")),
-                            wxICON_WARNING | wxOK,
-                            this );
-        return;
-    }
-
-    seekpoint_t **pp_bookmarks;
-    int i_bookmarks ;
-
-    if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
-                       &i_bookmarks ) != VLC_SUCCESS )
-    {
-        vlc_object_release( p_input );
-        return;
-    }
-
-    if( i_first < i_bookmarks && i_second <= i_bookmarks )
-    {
-        char *psz_uri = input_item_GetURI( input_GetItem( p_input ) );
-        WizardDialog *p_wizard_dialog = new WizardDialog( p_intf, this,
-                               psz_uri,
-                               pp_bookmarks[i_first]->i_time_offset/1000000,
-                               pp_bookmarks[i_second]->i_time_offset/1000000 );
-        free( psz_uri );
-        vlc_object_release( p_input );
-        if( p_wizard_dialog )
-        {
-            p_wizard_dialog->Run();
-            delete p_wizard_dialog;
-        }
-    }
-    else
-    {
-        vlc_object_release( p_input );
-    }
-}
-
-void BookmarksDialog::OnActivateItem( wxListEvent& event )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( !p_input ) return;
-
-    input_Control( p_input, INPUT_SET_BOOKMARK, event.GetIndex() );
-
-    vlc_object_release( p_input );
-}
-
-void BookmarksDialog::OnEdit( wxCommandEvent& event )
-{
-    input_thread_t *p_old_input;
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( !p_input ) return;
-
-
-    seekpoint_t **pp_bookmarks;
-    int i_bookmarks;
-
-    if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
-                       &i_bookmarks ) != VLC_SUCCESS )
-    {
-        vlc_object_release( p_input );
-        return;
-    }
-    p_old_input = p_input;
-    vlc_object_release( p_input );
-
-    long i_first = list_ctrl->GetNextItem( -1, wxLIST_NEXT_ALL,
-                                               wxLIST_STATE_SELECTED );
-
-    if( i_first > -1 && i_first <= i_bookmarks )
-    {
-        BookmarkEditDialog *p_bmk_edit;
-        p_bmk_edit = new BookmarkEditDialog( p_intf, this,
-                                             pp_bookmarks[i_first]);
-
-        if( p_bmk_edit->ShowModal() == wxID_OK )
-        {
-            p_input =(input_thread_t *)vlc_object_find( p_intf,
-                            VLC_OBJECT_INPUT, FIND_ANYWHERE );
-           if( !p_input )
-           {
-                wxMessageBox( wxU( _("No input found. The stream must be "
-                                  "playing or paused for bookmarks to work.") ),
-                              wxU( _("No input") ), wxICON_WARNING | wxOK,
-                              this );
-                return;
-           }
-           if( p_old_input != p_input )
-           {
-                wxMessageBox( wxU( _("Input has changed, unable to save "
-                                  "bookmark. Use \"pause\" while editing "
-                                  "bookmarks to keep the same input.") ),
-                              wxU( _("Input has changed ") ),
-                              wxICON_WARNING | wxOK, this );
-                vlc_object_release( p_input );
-                return;
-
-           }
-           if( input_Control( p_input, INPUT_CHANGE_BOOKMARK,
-                              p_bmk_edit->p_seekpoint, i_first ) !=
-               VLC_SUCCESS )
-           {
-               vlc_object_release( p_input );
-               return;
-           }
-           Update();
-           vlc_object_release( p_input );
-        }
-    }
-}
-
-
-void BookmarksDialog::OnUpdate( wxCommandEvent &event )
-{
-    Update();
-}
-
-/*****************************************************************************
- * PlaylistChanged: callback triggered by the intf-change playlist variable
- *  We don't rebuild the playlist directly here because we don't want the
- *  caller to block for a too long time.
- *****************************************************************************/
-static int PlaylistChanged( vlc_object_t *p_this, const char *psz_variable,
-                            vlc_value_t oval, vlc_value_t nval, void *param )
-{
-    class BookmarksDialog *p_dialog = (class BookmarksDialog *)param;
-
-    wxCommandEvent bookmarks_event( wxEVT_BOOKMARKS, 0 );
-    p_dialog->AddPendingEvent( bookmarks_event );
-
-    return VLC_SUCCESS;
-}
diff --git a/modules/gui/wxwidgets/dialogs/bookmarks.hpp b/modules/gui/wxwidgets/dialogs/bookmarks.hpp
deleted file mode 100644 (file)
index 07a57ac..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*****************************************************************************
- * bookmarks.hpp: Headers for the bookmarks window
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_BOOKMARKS_H_
-#define _WXVLC_BOOKMARKS_H_
-
-#include "wxwidgets.hpp"
-#include <wx/listctrl.h>
-
-namespace wxvlc
-{
-    class BookmarksDialog: public wxFrame
-    {
-    public:
-        /* Constructor */
-        BookmarksDialog( intf_thread_t *p_intf, wxWindow *p_parent );
-        virtual ~BookmarksDialog();
-
-        bool Show( bool );
-
-    private:
-        void Update();
-
-        /* Event handlers (these functions should _not_ be virtual) */
-        void OnClose( wxCloseEvent& event );
-        void OnAdd( wxCommandEvent& event );
-        void OnDel( wxCommandEvent& event );
-        void OnClear( wxCommandEvent& event );
-        void OnActivateItem( wxListEvent& event );
-        void OnUpdate( wxCommandEvent &event );
-        void OnEdit( wxCommandEvent& event );
-        void OnExtract( wxCommandEvent& event );
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-        wxWindow *p_parent;
-
-        wxListView *list_ctrl;
-    };
-
-    class BookmarkEditDialog : public wxDialog
-    {
-    public:
-        /* Constructor */
-        BookmarkEditDialog( intf_thread_t *p_intf, wxWindow *p_parent,
-                            seekpoint_t *p_seekpoint );
-        virtual ~BookmarkEditDialog();
-        seekpoint_t *p_seekpoint;
-    private:
-        wxTextCtrl *name_text, *time_text, *bytes_text;
-
-        void OnOK( wxCommandEvent& event);
-        void OnCancel( wxCommandEvent& event);
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/fileinfo.cpp b/modules/gui/wxwidgets/dialogs/fileinfo.cpp
deleted file mode 100644 (file)
index 32b59d1..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*****************************************************************************
- * fileinfo.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Sigmund Augdal Helberg <dnumgis@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "dialogs/fileinfo.hpp"
-#include "dialogs/infopanels.hpp"
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-static int ItemChanged( vlc_object_t *, const char *,
-                        vlc_value_t, vlc_value_t, void * );
-
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    Close_Event
-};
-
-BEGIN_EVENT_TABLE(FileInfo, wxFrame)
-    /* Button events */
-    EVT_BUTTON(wxID_CLOSE, FileInfo::OnButtonClose)
-
-    /* Hide the window when the user closes the window */
-    EVT_CLOSE(FileInfo::OnClose)
-
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-FileInfo::FileInfo( intf_thread_t *_p_intf, wxWindow *p_parent ):
-    wxFrame( p_parent, -1, wxU(_("Stream and Media Info")), wxDefaultPosition,
-             wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    p_intf = _p_intf;
-    playlist_t *p_playlist = pl_Hold( p_intf );
-
-    b_stats = config_GetInt(p_intf, "stats");
-    /* Initializations */
-    SetIcon( *p_intf->p_sys->p_icon );
-    SetAutoLayout( TRUE );
-
-    /* Create a panel to put everything in */
-    wxPanel *panel = new wxPanel( this, -1 );
-    panel->SetAutoLayout( TRUE );
-
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    wxNotebook *notebook = new wxNotebook( panel, -1 );
-#if (!wxCHECK_VERSION(2,5,2))
-        wxNotebookSizer *notebook_sizer = new wxNotebookSizer( notebook );
-#endif
-    item_info = new MetaDataPanel( p_intf, notebook, false );
-    advanced_info = new AdvancedInfoPanel( p_intf, notebook );
-    if( b_stats )
-        stats_info = new InputStatsInfoPanel( p_intf, notebook );
-
-    notebook->AddPage( item_info, wxU(_("General") ), true );
-    notebook->AddPage( advanced_info, wxU(_("Advanced information") ), false );
-    if( b_stats )
-        notebook->AddPage( stats_info, wxU(_("Statistics") ), false );
-
-#if (!wxCHECK_VERSION(2,5,2))
-    panel_sizer->Add( notebook_sizer, 1, wxEXPAND | wxALL, 5 );
-#else
-    panel_sizer->Add( notebook, 1, wxEXPAND | wxALL, 5 );
-#endif
-
-    panel_sizer->Add( new wxButton( panel, wxID_CLOSE, wxU(_("&Close")) ) ,
-                      0, wxALL|wxALIGN_RIGHT, 5 );
-
-    panel_sizer->Layout();
-    panel->SetSizerAndFit( panel_sizer );
-    main_sizer->Add( panel, 1, wxGROW, 0 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-
-    if( p_playlist )
-    {
-        var_AddCallback( p_playlist, "item-change", ItemChanged, this );
-        pl_Release( p_intf );
-    }
-
-    last_update = 0L;
-    b_need_update = true;
-    Update();
-}
-
-void FileInfo::Update()
-{
-    if( mdate() - last_update < 400000L ) return;
-    last_update = mdate();
-
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( !p_playlist ) return;
-
-    input_thread_t *p_input = p_playlist->p_input ;
-    if( !p_input || p_input->b_dead || !input_GetItem(p_input)->psz_name )
-    {
-        item_info->Clear();
-        advanced_info->Clear();
-        if( b_stats )
-            stats_info->Clear();
-        pl_Release( p_intf );
-        return;
-    }
-    pl_Release( p_intf );
-
-    vlc_object_hold( p_input );
-    vlc_mutex_lock( &input_GetItem(p_input)->lock );
-    if( b_need_update == true )
-    {
-        vlc_mutex_unlock( &input_GetItem(p_input)->lock  );
-        item_info->Update( input_GetItem(p_input) );
-        vlc_mutex_lock( &input_GetItem(p_input)->lock  );
-        advanced_info->Update( input_GetItem(p_input) );
-    }
-    if( b_stats )
-        stats_info->Update( input_GetItem(p_input) );
-    vlc_mutex_unlock( &input_GetItem(p_input)->lock );
-
-    vlc_object_release(p_input);
-    pl_Release( p_intf );
-    b_need_update = false;
-    panel_sizer->Layout();
-
-    return;
-}
-
-FileInfo::~FileInfo()
-{
-}
-
-void FileInfo::OnButtonClose( wxCommandEvent& event )
-{
-    wxCloseEvent cevent;
-    OnClose(cevent);
-}
-
-void FileInfo::OnClose( wxCloseEvent& WXUNUSED(event) )
-{
-    Hide();
-}
-
-static int ItemChanged( vlc_object_t *p_this, const char *psz_var,
-                        vlc_value_t oldval, vlc_value_t newval, void *param )
-{
-    FileInfo *p_fileinfo = (FileInfo *)param;
-    p_fileinfo->b_need_update = true;
-    return VLC_SUCCESS;
-}
diff --git a/modules/gui/wxwidgets/dialogs/fileinfo.hpp b/modules/gui/wxwidgets/dialogs/fileinfo.hpp
deleted file mode 100644 (file)
index 6bbc610..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*****************************************************************************
- * fileinfo.hpp: private wxWindows interface description
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_FILEINFO_H_
-#define _WXVLC_FILEINFO_H_
-
-#include "wxwidgets.hpp"
-
-#include <wx/treectrl.h>
-#include <wx/notebook.h>
-
-namespace wxvlc
-{
-    class MetaDataPanel;
-    class AdvancedInfoPanel;
-    class InputStatsInfoPanel;
-    class FileInfo: public wxFrame
-    {
-    public:
-        /* Constructor */
-        FileInfo( intf_thread_t *p_intf, wxWindow *p_parent );
-        virtual ~FileInfo();
-        void Update();
-
-        bool b_need_update;
-
-    private:
-        void OnButtonClose( wxCommandEvent& event );
-        void OnClose( wxCloseEvent& WXUNUSED(event) );
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-
-        mtime_t last_update;
-
-        MetaDataPanel *item_info;
-        AdvancedInfoPanel *advanced_info;
-        InputStatsInfoPanel *stats_info;
-
-        wxBoxSizer *panel_sizer;
-
-        bool b_stats;
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/infopanels.cpp b/modules/gui/wxwidgets/dialogs/infopanels.cpp
deleted file mode 100644 (file)
index fe7ce35..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-/*****************************************************************************
- * infopanels.cpp : Information panels (general info, stats, ...)
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "dialogs/infopanels.hpp"
-#include <wx/combobox.h>
-#include <wx/statline.h>
-
-#include <vlc_meta.h>
-
-#ifndef wxRB_SINGLE
-#   define wxRB_SINGLE 0
-#endif
-
-/*****************************************************************************
- * General info (URI, name, metadata)
- *****************************************************************************/
-BEGIN_EVENT_TABLE( MetaDataPanel, wxPanel )
-END_EVENT_TABLE()
-
-MetaDataPanel::MetaDataPanel( intf_thread_t *_p_intf,
-                              wxWindow* _p_parent,
-                              bool _b_modifiable ):
-    wxPanel( _p_parent, -1 )
-{
-    int flags= wxTE_PROCESS_ENTER;
-    /* Initializations */
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    b_modifiable = _b_modifiable;
-
-    SetAutoLayout( TRUE );
-
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    wxFlexGridSizer *sizer = new wxFlexGridSizer(2,8,20);
-    sizer->AddGrowableCol(1);
-
-    if( !b_modifiable )
-        flags |= wxTE_READONLY;
-
-    /* URI Textbox */
-    wxStaticText *uri_static =
-           new wxStaticText( this, -1, wxU(_("URI")) );
-    sizer->Add( uri_static, 0 , wxALL , 0 );
-
-    uri_text = new wxTextCtrl( this, -1,
-            wxU(""), wxDefaultPosition, wxSize( 300, -1 ), flags );
-    sizer->Add( uri_text, 1 ,  wxALL|wxEXPAND , 0 );
-
-    /* Name Textbox */
-    wxStaticText *name_static =
-           new wxStaticText(  this, -1, wxU(_("Name")) );
-    sizer->Add( name_static, 0 , wxALL , 0  );
-
-    name_text = new wxTextCtrl( this, -1,
-            wxU(""), wxDefaultPosition, wxSize( 300, -1 ), flags );
-    sizer->Add( name_text, 1 , wxALL|wxEXPAND , 0 );
-    sizer->Layout();
-
-    /* Metadata */
-    wxFlexGridSizer *meta_sizer = new wxFlexGridSizer(2,11,20);
-    meta_sizer->AddGrowableCol(1);
-
-#define ADD_META( string, widget ) {                                        \
-        meta_sizer->Add( new wxStaticText( this, -1, wxU(_(string) ) ),1,   \
-                         wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 0 );                \
-        widget = new wxStaticText( this, -1, wxU( "" ) );                   \
-        meta_sizer->Add( widget, 1, wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 0 ); }
-
-    ADD_META( VLC_META_ARTIST, artist_text );
-    ADD_META( VLC_META_GENRE, genre_text );
-    ADD_META( VLC_META_COPYRIGHT, copyright_text );
-    ADD_META( VLC_META_ALBUM, collection_text );
-    ADD_META( VLC_META_TRACK_NUMBER, seqnum_text );
-    ADD_META( VLC_META_DESCRIPTION, description_text );
-    ADD_META( VLC_META_RATING, rating_text );
-    ADD_META( VLC_META_DATE, date_text );
-    ADD_META( VLC_META_LANGUAGE, language_text );
-    ADD_META( VLC_META_NOW_PLAYING, nowplaying_text );
-    ADD_META( VLC_META_PUBLISHER, publisher_text );
-    ADD_META( VLC_META_SETTING, setting_text );
-
-    meta_sizer->Layout();
-
-    panel_sizer->Add( sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( meta_sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-    SetSizerAndFit( panel_sizer );
-}
-
-MetaDataPanel::~MetaDataPanel()
-{
-}
-
-void MetaDataPanel::Update( input_item_t *p_item )
-{
-    /* Rebuild the tree */
-    Clear();
-
-    char *psz_meta;
-
-#define UPDATE_META( meta, widget ) {                                       \
-    psz_meta = input_item_Get##meta( p_item );                        \
-    if( psz_meta != NULL && *psz_meta)                                      \
-    {                                                                       \
-        widget->SetLabel( wxU( psz_meta ) );                                \
-    }                                                                       \
-    else { widget->SetLabel( wxU( "-" ) ); }                                \
-    }                                                                       \
-    free( psz_meta );
-
-    UPDATE_META( URI, uri_text );
-    UPDATE_META( Name, name_text );
-    UPDATE_META( Artist, artist_text );
-    UPDATE_META( Genre, genre_text );
-    UPDATE_META( Copyright, copyright_text );
-    UPDATE_META( Album, collection_text );
-    UPDATE_META( TrackNum, seqnum_text );
-    UPDATE_META( Description, description_text );
-    UPDATE_META( Rating, rating_text );
-    UPDATE_META( Date, date_text );
-    UPDATE_META( Language, language_text );
-    UPDATE_META( NowPlaying, nowplaying_text );
-    UPDATE_META( Publisher, publisher_text );
-    UPDATE_META( Setting, setting_text );
-
-#undef UPDATE_META
-}
-
-char* MetaDataPanel::GetURI( )
-{
-    return  strdup( uri_text->GetLineText(0).mb_str(wxConvUTF8) );
-}
-
-char* MetaDataPanel::GetName( )
-{
-    return  strdup( name_text->GetLineText(0).mb_str(wxConvUTF8) );
-}
-
-void MetaDataPanel::Clear()
-{
-}
-
-void MetaDataPanel::OnOk( )
-{
-}
-
-void MetaDataPanel::OnCancel( )
-{
-}
-
-
-/*****************************************************************************
- * General info panel
- *****************************************************************************/
-BEGIN_EVENT_TABLE( AdvancedInfoPanel, wxPanel )
-END_EVENT_TABLE()
-
-AdvancedInfoPanel::AdvancedInfoPanel( intf_thread_t *_p_intf,
-                                      wxWindow* _p_parent ):
-    wxPanel( _p_parent, -1 )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-
-    SetAutoLayout( TRUE );
-
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    wxFlexGridSizer *sizer = new wxFlexGridSizer(2,8,20);
-    sizer->AddGrowableCol(1);
-
-    /* Treeview */
-    info_tree = new wxTreeCtrl( this, -1, wxDefaultPosition,
-                                wxSize(220,200),
-                                wxSUNKEN_BORDER |wxTR_HAS_BUTTONS |
-                                wxTR_HIDE_ROOT );
-    info_root = info_tree->AddRoot( wxU( "" ) );
-
-    panel_sizer->Add( info_tree, 1, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-    SetSizerAndFit( panel_sizer );
-}
-
-AdvancedInfoPanel::~AdvancedInfoPanel()
-{
-}
-
-void AdvancedInfoPanel::Update( input_item_t *p_item )
-{
-    /* Rebuild the tree */
-    Clear();
-
-    for( int i = 0; i< p_item->i_categories ; i++)
-    {
-        wxTreeItemId cat = info_tree->AppendItem( info_root,
-                            wxU( p_item->pp_categories[i]->psz_name) );
-
-        for( int j = 0 ; j < p_item->pp_categories[i]->i_infos ; j++ )
-        {
-           info_tree->AppendItem( cat , (wxString)
-               wxU(p_item->pp_categories[i]->pp_infos[j]->psz_name) +
-               wxT(": ") +
-               wxU(p_item->pp_categories[i]->pp_infos[j]->psz_value) );
-        }
-
-        info_tree->Expand( cat );
-    }
-}
-
-void AdvancedInfoPanel::Clear()
-{
-    info_tree->DeleteChildren( info_root );
-}
-
-void AdvancedInfoPanel::OnOk( )
-{
-}
-
-void AdvancedInfoPanel::OnCancel( )
-{
-}
-
-/*****************************************************************************
- * Statistics info panel
- *****************************************************************************/
-BEGIN_EVENT_TABLE( InputStatsInfoPanel, wxPanel )
-END_EVENT_TABLE()
-
-InputStatsInfoPanel::InputStatsInfoPanel( intf_thread_t *_p_intf,
-                                          wxWindow* _p_parent ):
-    wxPanel( _p_parent, -1 )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-
-    SetAutoLayout( TRUE );
-
-    panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    sizer = new wxFlexGridSizer( 2,2,20 );
-
-    /* Input */
-    wxStaticBox *input_box = new wxStaticBox( this, -1,
-                                              wxU( _("Input") ) );
-    input_box->SetAutoLayout( TRUE );
-    input_bsizer = new wxStaticBoxSizer( input_box, wxVERTICAL );
-    input_sizer = new wxFlexGridSizer( 4, 3, 2, 20 );
-
-#define INPUT_ADD(txt,widget,dflt) \
-    { input_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ),   \
-                         0, wxALIGN_LEFT|wxLEFT, 5 );           \
-      input_sizer->Add( 0, 0, wxEXPAND );                                \
-      widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );                \
-      input_sizer->Add( widget, 0, wxALIGN_RIGHT|wxRIGHT, 5  ); \
-    }
-
-    INPUT_ADD( "Read at media", read_bytes_text, "0" );
-    INPUT_ADD( "Input bitrate", input_bitrate_text, "           0" );
-
-    INPUT_ADD( "Demuxed", demux_bytes_text ,"0");
-    INPUT_ADD( "Stream bitrate", demux_bitrate_text, "0" );
-
-    input_sizer->Layout();
-    input_bsizer->Add( input_sizer, 0, wxALL | wxGROW, 5 );
-    input_bsizer->Layout();
-    sizer->Add( input_bsizer, 0, wxALL|wxGROW, 5 );
-
-   /* Vout */
-    wxStaticBox *video_box = new wxStaticBox( this, -1, wxU( _("Video" ) ) );
-    video_box->SetAutoLayout( TRUE );
-    video_bsizer = new wxStaticBoxSizer( video_box, wxVERTICAL );
-    video_sizer = new wxFlexGridSizer( 3, 3, 2, 20 );
-
-#define VIDEO_ADD(txt,widget,dflt) \
-    { video_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ),  \
-                         0, wxALIGN_LEFT|wxLEFT , 5  );        \
-      video_sizer->Add( 0, 0, wxEXPAND );                                \
-      widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );               \
-      video_sizer->Add( widget, 0, wxALIGN_RIGHT|wxRIGHT, 5 ); \
-    }
-    VIDEO_ADD( "Decoded blocks", video_decoded_text, "0" );
-    VIDEO_ADD( "Displayed frames", displayed_text, "           0" );
-    VIDEO_ADD( "Lost frames", lost_frames_text, "0" );
-
-
-    video_sizer->Layout();
-    video_bsizer->Add( video_sizer, 0, wxALL | wxGROW, 5 );
-    video_bsizer->Layout();
-    sizer->Add( video_bsizer , 0, wxALL| wxGROW, 5 );
-
-    /* Sout */
-    wxStaticBox *sout_box = new wxStaticBox( this, -1,
-                                              wxU( _("Streaming" ) ) );
-    sout_box->SetAutoLayout( TRUE );
-    sout_bsizer = new wxStaticBoxSizer( sout_box, wxVERTICAL );
-    sout_sizer = new wxFlexGridSizer( 3, 3, 2, 20 );
-
-#define SOUT_ADD(txt,widget,dflt) \
-    { sout_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ),  \
-                         0, wxALIGN_LEFT|wxLEFT, 5  );        \
-      sout_sizer->Add( 0, 0, wxEXPAND );                                \
-      widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );              \
-      sout_sizer->Add( widget, 0,wxALIGN_RIGHT|wxRIGHT, 5 ); \
-    }
-    SOUT_ADD( "Sent packets", sout_sent_packets_text, "          0" );
-    SOUT_ADD( "Sent bytes", sout_sent_bytes_text, "0" );
-    SOUT_ADD( "Send rate", sout_send_bitrate_text, "0" );
-    sout_sizer->Layout();
-    sout_bsizer->Add( sout_sizer, 0, wxALL | wxGROW, 5 );
-    sout_bsizer->Layout();
-    sizer->Add( sout_bsizer , 0, wxALL| wxGROW, 5 );
-
-   /* Aout */
-    wxStaticBox *audio_box = new wxStaticBox( this, -1,
-                                              wxU( _("Audio" ) ) );
-    audio_box->SetAutoLayout( TRUE );
-    audio_bsizer = new wxStaticBoxSizer( audio_box, wxVERTICAL );
-    audio_sizer = new wxFlexGridSizer( 3, 3, 2, 20 );
-
-#define AUDIO_ADD(txt,widget,dflt) \
-    { audio_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ),   \
-                         0, wxALIGN_LEFT|wxLEFT, 5  );          \
-      audio_sizer->Add( 0, 0, wxEXPAND );                                \
-      widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );                \
-      audio_sizer->Add( widget, 0, wxALIGN_RIGHT|wxRIGHT, 5 );  \
-    }
-    AUDIO_ADD( "Decoded blocks", audio_decoded_text, "         0" );
-    AUDIO_ADD( "Played buffers", played_abuffers_text, "0" );
-    AUDIO_ADD( "Lost buffers", lost_abuffers_text, "0" );
-    audio_sizer->Layout();
-    audio_bsizer->Add( audio_sizer, 0, wxALL | wxGROW, 5 );
-    audio_bsizer->Layout();
-    sizer->Add( audio_bsizer , 0, wxALL| wxGROW, 5 );
-
-    sizer->Layout();
-    panel_sizer->Add( sizer, 0, wxEXPAND, 5 );
-    panel_sizer->Layout();
-    SetSizerAndFit( panel_sizer );
-}
-
-InputStatsInfoPanel::~InputStatsInfoPanel()
-{
-}
-
-void InputStatsInfoPanel::Update( input_item_t *p_item )
-{
-    vlc_mutex_lock( &p_item->p_stats->lock );
-
-    /* Input */
-#define UPDATE( widget,format, calc... )   \
-{                                       \
-    wxString formatted;                 \
-    formatted.Printf(  wxString( wxT(format) ), ## calc ); \
-    widget->SetLabel( formatted );                      \
-}
-    UPDATE( read_bytes_text, "%8.0f kB",(float)(p_item->p_stats->i_read_bytes)/1000 );
-    UPDATE( input_bitrate_text, "%6.0f kb/s", (float)(p_item->p_stats->f_input_bitrate)*8000 );
-    UPDATE( demux_bytes_text, "%8.0f kB", (float)(p_item->p_stats->i_demux_read_bytes)/1000 );
-    UPDATE( demux_bitrate_text, "%6.0f kb/s",  (float)(p_item->p_stats->f_demux_bitrate)*8000 );
-
-    /* Video */
-    UPDATE( video_decoded_text, "%5i", p_item->p_stats->i_decoded_video );
-    UPDATE( displayed_text, "%5i", p_item->p_stats->i_displayed_pictures );
-    UPDATE( lost_frames_text, "%5i", p_item->p_stats->i_lost_pictures );
-
-    /* Sout */
-    UPDATE( sout_sent_packets_text, "%5i", p_item->p_stats->i_sent_packets );
-    UPDATE( sout_sent_bytes_text, "%8.0f kB",
-            (float)(p_item->p_stats->i_sent_bytes)/1000 );
-    UPDATE( sout_send_bitrate_text, "%6.0f kb/s",
-            (float)(p_item->p_stats->f_send_bitrate*8)*1000 );
-
-    /* Audio*/
-    UPDATE( audio_decoded_text, "%5i", p_item->p_stats->i_decoded_audio );
-    UPDATE( played_abuffers_text, "%5i", p_item->p_stats->i_played_abuffers );
-    UPDATE( lost_abuffers_text, "%5i", p_item->p_stats->i_lost_abuffers );
-
-    vlc_mutex_unlock( &p_item->p_stats->lock );
-
-    input_sizer->Layout();
-    video_sizer->Layout();
-    sout_sizer->Layout();
-    audio_sizer->Layout();
-
-    sizer->Layout();
-    panel_sizer->Layout();
-    SetSizerAndFit( panel_sizer );
-}
-
-void InputStatsInfoPanel::Clear()
-{}
-
-void InputStatsInfoPanel::OnOk( )
-{}
-
-void InputStatsInfoPanel::OnCancel( )
-{}
-
diff --git a/modules/gui/wxwidgets/dialogs/infopanels.hpp b/modules/gui/wxwidgets/dialogs/infopanels.hpp
deleted file mode 100644 (file)
index 9d82b23..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*****************************************************************************
- * infopanels.hpp: Information panels (statistics, general info, ...)
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_INFOPANELS_H_
-#define _WXVLC_INFOPANELS_H_
-
-#include "wxwidgets.hpp"
-
-#include <wx/treectrl.h>
-
-namespace wxvlc
-{
-class MetaDataPanel: public wxPanel
-{
-public:
-    /* Constructor */
-    MetaDataPanel( intf_thread_t *p_intf, wxWindow *p_parent, bool );
-    virtual ~MetaDataPanel();
-
-    void Update( input_item_t *);
-    void Clear();
-
-    char* GetURI();
-    char* GetName();
-
-    void OnOk();
-    void OnCancel();
-
-private:
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-    input_item_t *p_item;
-    wxWindow *p_parent;
-
-    wxTextCtrl *uri_text;
-    wxTextCtrl *name_text;
-    wxStaticText *uri_label;
-    wxStaticText *name_label;
-
-    wxStaticText *artist_text;
-    wxStaticText *genre_text;
-    wxStaticText *copyright_text;
-    wxStaticText *collection_text;
-    wxStaticText *seqnum_text;
-    wxStaticText *description_text;
-    wxStaticText *rating_text;
-    wxStaticText *date_text;
-    wxStaticText *setting_text;
-    wxStaticText *language_text;
-    wxStaticText *nowplaying_text;
-    wxStaticText *publisher_text;
-
-    bool b_modifiable;
-};
-
-
-class AdvancedInfoPanel: public wxPanel
-{
-public:
-    /* Constructor */
-    AdvancedInfoPanel( intf_thread_t *p_intf, wxWindow *p_parent );
-    virtual ~AdvancedInfoPanel();
-
-    void Update( input_item_t *);
-    void Clear();
-
-
-    char* GetURI();
-    char* GetName();
-
-    void OnOk();
-    void OnCancel();
-
-private:
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-    input_item_t *p_item;
-    wxWindow *p_parent;
-
-    wxTextCtrl *uri_text;
-    wxTextCtrl *name_text;
-    wxStaticText *uri_label;
-    wxStaticText *name_label;
-
-    wxTreeCtrl *info_tree;
-    wxTreeItemId info_root;
-
-    bool b_modifiable;
-};
-
-class InputStatsInfoPanel: public wxPanel
-{
-public:
-    /* Constructor */
-    InputStatsInfoPanel( intf_thread_t *p_intf,wxWindow *p_parent );
-    virtual ~InputStatsInfoPanel();
-
-    void Update( input_item_t *);
-    void Clear();
-
-    void OnOk();
-    void OnCancel();
-
-private:
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-    input_item_t *p_item;
-    wxWindow *p_parent;
-
-    wxBoxSizer *panel_sizer;
-    wxFlexGridSizer *sizer;
-
-    wxFlexGridSizer *input_sizer;
-    wxStaticBoxSizer *input_bsizer;
-    wxStaticText *read_bytes_text;
-    wxStaticText *input_bitrate_text;
-    wxStaticText *demux_bytes_text;
-    wxStaticText *demux_bitrate_text;
-
-    wxFlexGridSizer *video_sizer;
-    wxStaticBoxSizer *video_bsizer;
-    wxStaticText *video_decoded_text;
-    wxStaticText *displayed_text;
-    wxStaticText *lost_frames_text;
-
-    wxFlexGridSizer *sout_sizer;
-    wxStaticBoxSizer *sout_bsizer;
-    wxStaticText *sout_sent_packets_text;
-    wxStaticText *sout_sent_bytes_text;
-    wxStaticText *sout_send_bitrate_text;
-
-    wxFlexGridSizer *audio_sizer;
-    wxStaticBoxSizer *audio_bsizer;
-    wxStaticText *audio_decoded_text;
-    wxStaticText *played_abuffers_text;
-    wxStaticText *lost_abuffers_text;
-};
-};
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/interaction.cpp b/modules/gui/wxwidgets/dialogs/interaction.cpp
deleted file mode 100644 (file)
index 28f8d8b..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/*****************************************************************************
- * interaction.cpp: wxWidgets handling of interaction dialogs
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "dialogs/interaction.hpp"
-
-#include <wx/statline.h>
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-     No_Event,
-     NoShow_Event
-};
-
-BEGIN_EVENT_TABLE( InteractionDialog, wxDialog)
-    EVT_CLOSE( InteractionDialog::OnClose )
-    EVT_BUTTON( wxID_OK, InteractionDialog::OnOkYes )
-    EVT_BUTTON( wxID_YES, InteractionDialog::OnOkYes )
-    EVT_BUTTON( wxID_CANCEL, InteractionDialog::OnCancel)
-    EVT_BUTTON( wxID_CLOSE, InteractionDialog::OnCancel)
-    EVT_BUTTON( wxID_NO, InteractionDialog::OnNo )
-    EVT_BUTTON( wxID_CLEAR, InteractionDialog::OnClear )
-    EVT_CHECKBOX( NoShow_Event, InteractionDialog::OnNoShow )
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-InteractionDialog::InteractionDialog( intf_thread_t *_p_intf,
-                                      wxWindow *p_parent,
-                                      interaction_dialog_t *_p_dialog )
-  : wxDialog( p_parent, -1, wxU( _p_dialog->psz_title ) )
-{
-#if 0
-    /* Initializations */
-    p_intf = _p_intf;
-    p_dialog = _p_dialog;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    widgets_panel = new wxPanel( this, -1 );
-    widgets_sizer = new wxBoxSizer( wxVERTICAL );
-    widgets_panel->SetSizer( widgets_sizer );
-
-    buttons_panel = new wxPanel( this, -1 );
-    buttons_sizer = new wxStdDialogButtonSizer;
-    buttons_panel->SetSizer( buttons_sizer );
-
-    main_sizer = new wxBoxSizer( wxVERTICAL );
-    main_sizer->Add( widgets_panel, 1, wxEXPAND | wxALL, 5 );
-    main_sizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND  );
-    main_sizer->Add( buttons_panel, 0, wxEXPAND | wxALL, 5 );
-    SetSizer( main_sizer );
-
-    b_noshow = false;
-    Render();
-#endif
-}
-
-InteractionDialog::~InteractionDialog()
-{
-}
-
-void InteractionDialog::Update( )
-{
-#if 0
-    widgets_panel->DestroyChildren();
-    /* FIXME: Needed for the spacer */
-    buttons_sizer->Remove( 1 );buttons_sizer->Remove( 2 );buttons_sizer->Remove( 3 );
-    buttons_panel->DestroyChildren();
-    input_widgets.clear();
-    Render();
-    if( b_noshow == false )
-    {
-        Show();
-    }
-#endif
-}
-
-/// \todo Dirty - Clean that up
-void InteractionDialog::Render()
-{
-#if 0
-    wxStaticText *label;
-    wxTextCtrl   *input;
-    wxGauge      *gauge;
-
-
-    if( p_dialog->i_flags == DIALOG_BLOCKING_ERROR || p_dialog->i_flags == DIALOG_NONBLOCKING_ERROR )
-    {
-        wxTextCtrl *errors ; // Special case
-        label = new wxStaticText( widgets_panel, -1,
-          wxU( _("The following errors occurred. More details might be "
-                 "available in the Messages window.") ) );
-        errors = new wxTextCtrl( widgets_panel, -1, wxT(""),
-                         wxDefaultPosition, wxDefaultSize,
-                         wxTE_MULTILINE | wxTE_READONLY );
-        for( int i = 0 ; i< p_dialog->i_widgets; i++ )
-        {
-            (*errors) << wxL2U( p_dialog->pp_widgets[i]->psz_text ) <<
-                           wxU( "\n" ) ;
-        }
-        widgets_sizer->Add( label );
-        widgets_sizer->Add( errors, 0, wxEXPAND|wxALL, 3 );
-    }
-    else
-    {
-        //-------------- Widgets ------------------
-        for( int i = 0 ; i< p_dialog->i_widgets; i++ )
-        {
-            user_widget_t* p_widget = p_dialog->pp_widgets[i];
-            /// \todo Merge cleanly with preferences widgets
-            switch( p_widget->i_type )
-            {
-            case WIDGET_TEXT:
-                label = new wxStaticText( widgets_panel, -1,
-                                           wxU( p_widget->psz_text ) );
-                widgets_sizer->Add( label );
-                break;
-            case WIDGET_INPUT_TEXT:
-                label = new wxStaticText( widgets_panel, -1,
-                                           wxU( p_widget->psz_text ) );
-                input = new wxTextCtrl( widgets_panel, -1 );
-                widgets_sizer->Add( label , 0, 0, 0);
-                widgets_sizer->Add( input, 0, wxEXPAND , 0 );
-
-                InputWidget widget;
-                widget.control = input;
-                widget.val = &p_widget->val;
-                widget.i_type = WIDGET_INPUT_TEXT;
-                input_widgets.push_back( widget );
-                break;
-            case WIDGET_PROGRESS:
-                label = new wxStaticText(widgets_panel, -1,
-                                    wxU( p_widget->psz_text ) );
-                gauge = new wxGauge( widgets_panel, -1, 100,
-                                     wxDefaultPosition, wxDefaultSize );
-                widgets_sizer->Add( label , 0, 0, 0);
-                widgets_sizer->Add( gauge, 0, wxEXPAND , 0 );
-                gauge->SetValue( (int)(p_widget->val.f_float ) );
-            }
-        }
-    }
-
-    //-------------- Buttons ------------------
-    if( p_dialog->i_flags & DIALOG_YES_NO_CANCEL )
-    {
-        wxButton *yes = new wxButton( buttons_panel,
-                                      wxID_YES, wxU( _("&Yes") ) );
-        wxButton *no = new wxButton( buttons_panel,
-                                     wxID_NO, wxU( _("&No") ) );
-        wxButton *cancel = new wxButton( buttons_panel,
-                                         wxID_CANCEL, wxU( _("&Cancel") ) );
-        buttons_sizer->AddButton( yes );
-        buttons_sizer->AddButton( no );
-        buttons_sizer->AddButton( cancel );
-    }
-    else if( p_dialog->i_flags & DIALOG_CLEAR_NOSHOW )
-    {
-        wxCheckBox *noshow = new wxCheckBox( buttons_panel,
-                      NoShow_Event, wxU( _("Don't show further errors") ) );
-        noshow->SetValue( b_noshow );
-        wxButton *clear = new wxButton( buttons_panel,
-                                        wxID_CLEAR, wxU( _("&Clear") ) );
-        wxButton *close = new wxButton( buttons_panel, wxID_CLOSE,
-                                         wxU( _("&Close") ) );
-        close->SetDefault();
-        buttons_sizer->Add( noshow, 0, wxEXPAND | wxRIGHT|
-                                       wxLEFT | wxALIGN_LEFT, 5 );
-        buttons_sizer->Add( 0, 0, 1 );
-        buttons_sizer->AddButton( clear );
-        buttons_sizer->SetNegativeButton( clear );
-        buttons_sizer->AddButton( close );
-        buttons_sizer->SetAffirmativeButton( close );
-    }
-    widgets_sizer->Layout();
-    widgets_panel->SetSizerAndFit( widgets_sizer );
-    buttons_sizer->Realize();
-    buttons_panel->SetSizerAndFit( buttons_sizer );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-#endif
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-void InteractionDialog::OnClose( wxCloseEvent& event )
-{
-    Finish( DIALOG_CANCELLED );
-}
-
-void InteractionDialog::OnCancel( wxCommandEvent& event )
-{
-    Finish( DIALOG_CANCELLED );
-}
-
-void InteractionDialog::OnNo( wxCommandEvent& event )
-{
-    Finish( DIALOG_NO );
-}
-
-void InteractionDialog::OnOkYes( wxCommandEvent& event )
-{
-    Finish( DIALOG_OK_YES );
-}
-
-void InteractionDialog::OnClear( wxCommandEvent& event )
-{
-#if 0
-    int i;
-    vlc_object_lock( p_dialog->p_interaction );
-    for( i = p_dialog->i_widgets - 1 ; i >= 0 ; i-- )
-    {
-        user_widget_t *p_widget = p_dialog->pp_widgets[i];
-        FREENULL( p_widget->psz_text );
-        FREENULL( p_widget->val.psz_string );
-        REMOVE_ELEM( p_dialog->pp_widgets, p_dialog->i_widgets, i );
-        free( p_widget );
-    }
-    widgets_panel->DestroyChildren();
-    /* FIXME: Needed for the spacer */
-    buttons_sizer->Remove( 1 );buttons_sizer->Remove( 2 );
-    buttons_sizer->Remove( 3 );
-    buttons_panel->DestroyChildren();
-    input_widgets.clear();
-    vlc_object_unlock( p_dialog->p_interaction );
-    Render();
-#endif
-}
-
-void InteractionDialog::OnNoShow( wxCommandEvent& event )
-{
-     b_noshow = event.IsChecked();
-}
-
-void InteractionDialog::Finish( int i_ret )
-{
-#if 0
-    vlc_object_lock( p_dialog->p_interaction );
-    vector<InputWidget>::iterator it = input_widgets.begin();
-    while ( it < input_widgets.end() )
-    {
-        if( (*it).i_type == WIDGET_INPUT_TEXT )
-            (*it).val->psz_string = strdup( (*it).control->GetValue().mb_str(wxConvUTF8));
-        it++;
-    }
-    Hide();
-    p_dialog->i_status = ANSWERED_DIALOG;
-    p_dialog->i_return = i_ret;
-    vlc_object_unlock( p_dialog->p_interaction );
-#endif
-}
diff --git a/modules/gui/wxwidgets/dialogs/interaction.hpp b/modules/gui/wxwidgets/dialogs/interaction.hpp
deleted file mode 100644 (file)
index 58f2fa8..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*****************************************************************************
- * interaction.hpp : Headers for an interaction dialog
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_INTERACTION_H_
-#define _WXVLC_INTERACTION_H_
-
-#include "wxwidgets.hpp"
-#include <vlc_interface.h>
-
-#include <vector>
-using namespace std;
-
-namespace wxvlc
-{
-
-    struct InputWidget
-    {
-        /// \todo Clean up
-        wxTextCtrl *control;
-        vlc_value_t *val;
-        int i_type;
-    };
-
-    class InteractionDialog: public wxDialog
-    {
-    public:
-        /* Constructor */
-        InteractionDialog( intf_thread_t *p_intf, wxWindow *p_parent,
-                           interaction_dialog_t * );
-        virtual ~InteractionDialog();
-
-        void Update();
-
-    private:
-        /* Event handlers (these functions should _not_ be virtual) */
-        void OnClose ( wxCloseEvent& event );
-        void OnOkYes ( wxCommandEvent& event );
-        void OnCancel( wxCommandEvent& event );
-        void OnNo    ( wxCommandEvent& event );
-        void OnClear ( wxCommandEvent& event );
-        void OnNoShow( wxCommandEvent& event );
-
-        void Render();
-        void Finish( int );
-
-        wxBoxSizer *widgets_sizer;
-        wxPanel    *widgets_panel;
-        wxStdDialogButtonSizer *buttons_sizer;
-        wxPanel    *buttons_panel;
-
-        wxBoxSizer *main_sizer;
-
-        DECLARE_EVENT_TABLE();
-
-        vector<InputWidget> input_widgets;
-
-        intf_thread_t *p_intf;
-        interaction_dialog_t *p_dialog;
-        wxWindow *p_parent;
-
-        bool b_noshow;
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/iteminfo.cpp b/modules/gui/wxwidgets/dialogs/iteminfo.cpp
deleted file mode 100644 (file)
index 56e04bb..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*****************************************************************************
- * iteminfo.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "dialogs/iteminfo.hpp"
-#include "dialogs/infopanels.hpp"
-#include <wx/combobox.h>
-#include <wx/statline.h>
-
-#ifndef wxRB_SINGLE
-#   define wxRB_SINGLE 0
-#endif
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    Uri_Event,
-    Name_Event,
-    Enabled_Event,
-};
-
-BEGIN_EVENT_TABLE(ItemInfoDialog, wxDialog)
-    /* Button events */
-    EVT_BUTTON(wxID_OK, ItemInfoDialog::OnOk)
-    EVT_BUTTON(wxID_CANCEL, ItemInfoDialog::OnCancel)
-
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-ItemInfoDialog::ItemInfoDialog( intf_thread_t *_p_intf,
-                                playlist_item_t *_p_item,
-                                wxWindow* _p_parent ):
-    wxDialog( _p_parent, -1, wxU(_("Playlist item info")),
-             wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    p_item = _p_item;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    /* Create a panel to put everything in */
-    wxPanel *panel = new wxPanel( this, -1 );
-    panel->SetAutoLayout( TRUE );
-
-    /* Create the standard info panel */
-    info_panel = new MetaDataPanel(p_intf, panel, true );
-    info_panel->Update( p_item->p_input );
-    /* Separation */
-    wxStaticLine *static_line = new wxStaticLine( panel, wxID_OK );
-
-    /* Create the buttons */
-    wxButton *ok_button = new wxButton( panel, wxID_OK, wxU(_("&OK")) );
-    ok_button->SetDefault();
-    wxButton *cancel_button = new wxButton( panel, wxID_CANCEL,
-                                            wxU(_("&Cancel")) );
-
-    /* Place everything in sizers */
-    wxStdDialogButtonSizer *button_sizer = new wxStdDialogButtonSizer;
-    button_sizer->AddButton( ok_button );
-    button_sizer->AddButton( cancel_button );
-    button_sizer->Realize();
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-    panel_sizer->Add( info_panel, 1, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( button_sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-    panel->SetSizerAndFit( panel_sizer );
-    main_sizer->Add( panel, 1, wxGROW, 0 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-}
-
-ItemInfoDialog::~ItemInfoDialog()
-{
-}
-
-
-/*****************************************************************************
- * Events methods.
- *****************************************************************************/
-void ItemInfoDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
-{
-    input_item_SetName( p_item->p_input, info_panel->GetName() );
-    input_item_SetURI( p_item->p_input, info_panel->GetURI() );
-    EndModal( wxID_OK );
-}
-
-void ItemInfoDialog::OnCancel( wxCommandEvent& WXUNUSED(event) )
-{
-    EndModal( wxID_CANCEL );
-}
diff --git a/modules/gui/wxwidgets/dialogs/iteminfo.hpp b/modules/gui/wxwidgets/dialogs/iteminfo.hpp
deleted file mode 100644 (file)
index 5a1549f..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*****************************************************************************
- * iteminfo.hpp: private wxWindows interface description
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_ITEMINFO_H_
-#define _WXVLC_ITEMINFO_H_
-
-#include "wxwidgets.hpp"
-#include "dialogs/infopanels.hpp"
-#include <wx/treectrl.h>
-
-namespace wxvlc
-{
-class ItemInfoDialog: public wxDialog
-{
-public:
-    /* Constructor */
-    ItemInfoDialog( intf_thread_t *p_intf, playlist_item_t *_p_item,
-                    wxWindow *p_parent );
-    virtual ~ItemInfoDialog();
-
-    wxArrayString GetOptions();
-
-private:
-    wxPanel *GroupPanel( wxWindow* parent );
-
-    /* Event handlers (these functions should _not_ be virtual) */
-    void OnOk( wxCommandEvent& event );
-    void OnCancel( wxCommandEvent& event );
-
-    void UpdateInfo();
-
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-    playlist_item_t *p_item;
-    wxWindow *p_parent;
-
-    /* Controls for the iteminfo dialog box */
-    wxPanel *info_subpanel;
-    MetaDataPanel *info_panel;
-
-    wxPanel *group_subpanel;
-    wxPanel *group_panel;
-
-    wxTextCtrl *uri_text;
-    wxTextCtrl *name_text;
-
-    wxTreeCtrl *info_tree;
-    wxTreeItemId info_root;
-
-};
-
-};
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/messages.cpp b/modules/gui/wxwidgets/dialogs/messages.cpp
deleted file mode 100644 (file)
index 517ab7e..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-/*****************************************************************************
- * messages.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "dialogs/messages.hpp"
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-
-BEGIN_EVENT_TABLE(Messages, wxFrame)
-    /* Button events */
-    EVT_BUTTON(wxID_CLOSE, Messages::OnButtonClose)
-    EVT_BUTTON(wxID_CLEAR, Messages::OnClear)
-    EVT_BUTTON(wxID_SAVEAS, Messages::OnSaveLog)
-
-    /* Special events : we don't want to destroy the window when the user
-     * clicks on (X) */
-    EVT_CLOSE(Messages::OnClose)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-Messages::Messages( intf_thread_t *_p_intf, wxWindow *p_parent ):
-    wxFrame( p_parent, -1, wxU(_("Messages")), wxDefaultPosition,
-             wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    b_verbose = false;
-    SetIcon( *p_intf->p_sys->p_icon );
-    save_log_dialog = NULL;
-    b_verbose = false;
-
-    /* Create a panel to put everything in */
-    wxPanel *messages_panel = new wxPanel( this, -1 );
-    messages_panel->SetAutoLayout( TRUE );
-
-    /* Create the textctrl and some text attributes */
-    textctrl = new wxTextCtrl( messages_panel, -1, wxT(""), wxDefaultPosition,
-        wxSize::wxSize( 400, 500 ), wxTE_MULTILINE | wxTE_READONLY |
-                                    wxTE_RICH | wxTE_NOHIDESEL );
-    info_attr = new wxTextAttr( wxColour::wxColour( 0, 128, 0 ) );
-    err_attr = new wxTextAttr( *wxRED );
-    warn_attr = new wxTextAttr( *wxBLUE );
-    dbg_attr = new wxTextAttr( *wxBLACK );
-
-    /* Create the Close button */
-    wxButton *close_button = new wxButton( messages_panel, wxID_CLOSE,
-                                        wxU(_("&Close")));
-    close_button->SetDefault();
-
-    /* Create the Clear button */
-    wxButton *clear_button = new wxButton( messages_panel, wxID_CLEAR,
-                                           wxU(_("Clear")));
-
-    /* Create the Save Log button */
-    wxButton *save_log_button = new wxButton( messages_panel, wxID_SAVEAS,
-                                              wxU(_("Save &As...")));
-
-
-    /* Place everything in sizers */
-    wxBoxSizer *buttons_sizer = new wxBoxSizer( wxHORIZONTAL );
-    buttons_sizer->Add( save_log_button, 0, wxEXPAND |wxALIGN_LEFT| wxALL, 5 );
-    buttons_sizer->Add( clear_button, 0, wxEXPAND |wxALIGN_RIGHT| wxALL, 5 );
-    buttons_sizer->Add( close_button, 0, wxEXPAND |wxALIGN_RIGHT| wxALL, 5 );
-    buttons_sizer->Add( new wxPanel( this, -1 ), 1, wxALL, 5 );
-    buttons_sizer->Layout();
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-    panel_sizer->Add( textctrl, 1, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( buttons_sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-    messages_panel->SetSizerAndFit( panel_sizer );
-    main_sizer->Add( messages_panel, 1, wxGROW, 0 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-}
-
-Messages::~Messages()
-{
-    /* Clean up */
-    delete save_log_dialog;
-    delete info_attr;
-    delete err_attr;
-    delete warn_attr;
-    delete dbg_attr;
-}
-
-bool Messages::Show( bool show )
-{
-    b_verbose = show;
-    return wxFrame::Show( show );
-}
-
-void Messages::UpdateLog()
-{
-    msg_subscription_t *p_sub = p_intf->p_sys->p_sub;
-    int i_start;
-
-    vlc_mutex_lock( p_sub->p_lock );
-    int i_stop = *p_sub->pi_stop;
-    vlc_mutex_unlock( p_sub->p_lock );
-
-
-    if( p_sub->i_start != i_stop )
-    {
-        textctrl->SetInsertionPointEnd();
-
-        for( i_start = p_sub->i_start;
-             i_start != i_stop;
-             i_start = (i_start+1) % VLC_MSG_QSIZE )
-        {
-
-            if( !b_verbose &&
-                VLC_MSG_ERR != p_sub->p_msg[i_start].i_type )
-                continue;
-
-            /* Append all messages to log window */
-            textctrl->SetDefaultStyle( *dbg_attr );
-            (*textctrl) << wxL2U(p_sub->p_msg[i_start].psz_module);
-
-            switch( p_sub->p_msg[i_start].i_type )
-            {
-            case VLC_MSG_INFO:
-                (*textctrl) << wxT(": ");
-                textctrl->SetDefaultStyle( *info_attr );
-                break;
-            case VLC_MSG_ERR:
-                (*textctrl) << wxT(" error: ");
-                textctrl->SetDefaultStyle( *err_attr );
-                break;
-            case VLC_MSG_WARN:
-                (*textctrl) << wxT(" warning: ");
-                textctrl->SetDefaultStyle( *warn_attr );
-                break;
-            case VLC_MSG_DBG:
-            default:
-                (*textctrl) << wxT(" debug: ");
-                break;
-            }
-
-            /* Add message */
-            (*textctrl) << wxL2U(p_sub->p_msg[i_start].psz_msg) << wxT("\n");
-        }
-
-        vlc_mutex_lock( p_sub->p_lock );
-        p_sub->i_start = i_start;
-        vlc_mutex_unlock( p_sub->p_lock );
-    }
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-void Messages::OnButtonClose( wxCommandEvent& WXUNUSED(event) )
-{
-    wxCloseEvent cevent;
-    OnClose(cevent);
-}
-
-void Messages::OnClose( wxCloseEvent& WXUNUSED(event) )
-{
-    Hide();
-}
-
-void Messages::OnClear( wxCommandEvent& WXUNUSED(event) )
-{
-    textctrl->Clear();
-}
-
-void Messages::OnSaveLog( wxCommandEvent& WXUNUSED(event) )
-{
-    if( save_log_dialog == NULL )
-        save_log_dialog = new wxFileDialog( this,
-            wxU(_("Save Messages As...")),
-            wxT(""), wxT("messages"), wxT("*"), wxSAVE | wxOVERWRITE_PROMPT );
-
-    if( save_log_dialog && save_log_dialog->ShowModal() == wxID_OK )
-    {
-        if( !textctrl->SaveFile( save_log_dialog->GetPath() ) )
-        {
-            // [FIX ME] should print an error message
-        }
-    }
-}
diff --git a/modules/gui/wxwidgets/dialogs/messages.hpp b/modules/gui/wxwidgets/dialogs/messages.hpp
deleted file mode 100644 (file)
index 5fc397e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*****************************************************************************
- * messages.hpp: Messages dialog
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_MESSAGES_H_
-#define _WXVLC_MESSAGES_H_
-
-#include "wxwidgets.hpp"
-
-namespace wxvlc
-{
-    class Messages: public wxFrame
-    {
-    public:
-        /* Constructor */
-        Messages( intf_thread_t *p_intf, wxWindow *p_parent );
-        virtual ~Messages();
-        bool Show( bool show = TRUE );
-        void UpdateLog();
-
-    private:
-        /* Event handlers (these functions should _not_ be virtual) */
-        void OnButtonClose( wxCommandEvent& event );
-        void OnClose( wxCloseEvent& WXUNUSED(event) );
-        void OnClear( wxCommandEvent& event );
-        void OnSaveLog( wxCommandEvent& event );
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-        wxTextCtrl *textctrl;
-        wxTextAttr *info_attr;
-        wxTextAttr *err_attr;
-        wxTextAttr *warn_attr;
-        wxTextAttr *dbg_attr;
-
-        wxFileDialog *save_log_dialog;
-
-        bool b_verbose;
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/open.cpp b/modules/gui/wxwidgets/dialogs/open.cpp
deleted file mode 100644 (file)
index d2d1f4d..0000000
+++ /dev/null
@@ -1,1918 +0,0 @@
-/*****************************************************************************
- * open.cpp : Open dialog box
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "dialogs/open.hpp"
-#include "dialogs/streamout.hpp"
-#include "dialogs/preferences_widgets.h"
-#include "dialogs/subtitles.hpp"
-
-#include "vlc_charset.h"
-
-#undef HAVE_LIBCDIO // Disable broken code
-
-#ifdef HAVE_LIBCDIO
-#include <cdio/cdio.h>
-#include <cdio/cd_types.h>
-#include <cdio/logging.h>
-#endif /* HAVE_LIBCDIO */
-
-#ifdef HAVE_VCDINFO
-#include <libvcd/version.h>
-/* There was a bug in libvcdinfo <= 23 which prevented C++ compilation */
-#if LIBVCD_VERSION_NUM > 23
-#include <libvcd/info.h>
-#endif /* LIBVCD_VERSION_NUM > 23 */
-#endif /* HAVE_VCDINFO */
-
-#include <wx/combobox.h>
-#include <wx/statline.h>
-#include <wx/tokenzr.h>
-
-#ifndef wxRB_SINGLE
-#   define wxRB_SINGLE 0
-#endif
-
-#define SELECTION_DISC_TYPE_DVD_MENUS 0
-#define SELECTION_DISC_TYPE_DVD       1
-#define SELECTION_DISC_TYPE_VCD       2
-#define SELECTION_DISC_TYPE_CDDA      3
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    Notebook_Event = wxID_HIGHEST,
-    MRL_Event,
-
-    FileBrowse_Event,
-    SubFileBrowse_Event,
-    FileName_Event,
-    SubFileName_Event,
-
-    DiscType_Event,
-#ifdef HAVE_LIBCDIO
-    DiscProbe_Event,
-#endif
-    DiscDevice_Event,
-    DiscTitle_Event,
-    DiscChapter_Event,
-    DiscSub_Event,
-    DiscAudio_Event,
-
-    NetType_Event,
-    NetRadio1_Event, NetRadio2_Event, NetRadio3_Event, NetRadio4_Event,
-    NetPort1_Event, NetPort2_Event, NetPort3_Event,
-    NetAddr1_Event, NetAddr2_Event, NetAddr3_Event, NetAddr4_Event,
-    NetForceIPv6_Event, NetTimeshift_Event,
-
-    SubsFileEnable_Event,
-    SubsFileSettings_Event,
-
-    SoutEnable_Event,
-    SoutSettings_Event,
-
-    CachingEnable_Event,
-    CachingChange_Event,
-
-    AdvancedOptions_Event
-};
-
-BEGIN_EVENT_TABLE(OpenDialog, wxDialog)
-    /* Button events */
-    EVT_BUTTON(wxID_OK, OpenDialog::OnOk)
-    EVT_BUTTON(wxID_CANCEL, OpenDialog::OnCancel)
-
-    EVT_NOTEBOOK_PAGE_CHANGED(Notebook_Event, OpenDialog::OnPageChange)
-
-    EVT_TEXT(MRL_Event, OpenDialog::OnMRLChange)
-
-    /* Events generated by the file panel */
-    EVT_TEXT(FileName_Event, OpenDialog::OnFilePanelChange)
-    EVT_BUTTON(FileBrowse_Event, OpenDialog::OnFileBrowse)
-    EVT_TEXT(SubFileName_Event, OpenDialog::OnSubFileChange)
-    EVT_BUTTON(SubFileBrowse_Event, OpenDialog::OnSubFileBrowse)
-
-    /* Events generated by the disc panel */
-    EVT_RADIOBOX(DiscType_Event, OpenDialog::OnDiscTypeChange)
-#ifdef HAVE_LIBCDIO
-    EVT_CHECKBOX(DiscProbe_Event, OpenDialog::OnDiscProbe)
-#endif
-    EVT_TEXT(DiscDevice_Event, OpenDialog::OnDiscDeviceChange)
-    EVT_TEXT(DiscDevice_Event, OpenDialog::OnDiscPanelChange)
-    EVT_TEXT(DiscTitle_Event, OpenDialog::OnDiscPanelChange)
-    EVT_SPINCTRL(DiscTitle_Event, OpenDialog::OnDiscPanelChangeSpin)
-    EVT_TEXT(DiscChapter_Event, OpenDialog::OnDiscPanelChange)
-    EVT_SPINCTRL(DiscChapter_Event, OpenDialog::OnDiscPanelChangeSpin)
-    EVT_TEXT(DiscSub_Event, OpenDialog::OnDiscPanelChange)
-    EVT_TEXT(DiscAudio_Event, OpenDialog::OnDiscPanelChange)
-    EVT_SPINCTRL(DiscSub_Event, OpenDialog::OnDiscPanelChangeSpin)
-
-    /* Events generated by the net panel */
-    EVT_RADIOBUTTON(NetRadio1_Event, OpenDialog::OnNetTypeChange)
-    EVT_RADIOBUTTON(NetRadio2_Event, OpenDialog::OnNetTypeChange)
-    EVT_RADIOBUTTON(NetRadio3_Event, OpenDialog::OnNetTypeChange)
-    EVT_RADIOBUTTON(NetRadio4_Event, OpenDialog::OnNetTypeChange)
-    EVT_TEXT(NetPort1_Event, OpenDialog::OnNetPanelChange)
-    EVT_SPINCTRL(NetPort1_Event, OpenDialog::OnNetPanelChangeSpin)
-    EVT_TEXT(NetPort2_Event, OpenDialog::OnNetPanelChange)
-    EVT_SPINCTRL(NetPort2_Event, OpenDialog::OnNetPanelChangeSpin)
-    EVT_TEXT(NetPort3_Event, OpenDialog::OnNetPanelChange)
-    EVT_SPINCTRL(NetPort3_Event, OpenDialog::OnNetPanelChangeSpin)
-    EVT_TEXT(NetAddr2_Event, OpenDialog::OnNetPanelChange)
-    EVT_TEXT(NetAddr3_Event, OpenDialog::OnNetPanelChange)
-    EVT_TEXT(NetAddr4_Event, OpenDialog::OnNetPanelChange)
-    EVT_CHECKBOX(NetForceIPv6_Event, OpenDialog::OnNetPanelChange)
-    EVT_CHECKBOX(NetTimeshift_Event, OpenDialog::OnNetPanelChange)
-
-    /* Events generated by the subtitle file buttons */
-    EVT_CHECKBOX(SubsFileEnable_Event, OpenDialog::OnSubsFileEnable)
-    EVT_BUTTON(SubsFileSettings_Event, OpenDialog::OnSubsFileSettings)
-
-    /* Events generated by the stream output buttons */
-    EVT_CHECKBOX(SoutEnable_Event, OpenDialog::OnSoutEnable)
-    EVT_BUTTON(SoutSettings_Event, OpenDialog::OnSoutSettings)
-
-    /* Events generated by the caching button */
-    EVT_CHECKBOX(CachingEnable_Event, OpenDialog::OnCachingEnable)
-    EVT_TEXT(CachingChange_Event, OpenDialog::OnCachingChange)
-    EVT_SPINCTRL(CachingChange_Event, OpenDialog::OnCachingChangeSpin)
-
-    /* Hide the window when the user closes the window */
-    EVT_CLOSE(OpenDialog::OnClose)
-
-END_EVENT_TABLE()
-
-
-/*****************************************************************************
- * AutoBuiltPanel.
- *****************************************************************************/
-WX_DEFINE_ARRAY(ConfigControl *, ArrayOfConfigControls);
-
-class AutoBuiltPanel : public wxPanel
-{
-public:
-
-    AutoBuiltPanel() { }
-    AutoBuiltPanel( wxWindow *, OpenDialog *, intf_thread_t *,
-                    const module_t * );
-
-    virtual ~AutoBuiltPanel() {}
-
-    void UpdateAdvancedMRL();
-
-    wxString name;
-    ArrayOfConfigControls config_array;
-    ArrayOfConfigControls advanced_config_array;
-    wxComboBox *p_advanced_mrl_combo;
-
-private:
-    intf_thread_t *p_intf;
-    OpenDialog *p_open_dialog;
-
-    void OnAdvanced( wxCommandEvent& event );
-    wxDialog *p_advanced_dialog;
-
-    DECLARE_EVENT_TABLE();
-};
-
-BEGIN_EVENT_TABLE(AutoBuiltPanel, wxPanel)
-    EVT_BUTTON(AdvancedOptions_Event, AutoBuiltPanel::OnAdvanced)
-END_EVENT_TABLE()
-
-static void AutoBuildCallback( void *p_data )
-{
-    ((OpenDialog *)p_data)->UpdateMRL();
-}
-
-static void AutoBuildAdvancedCallback( void *p_data )
-{
-    ((AutoBuiltPanel *)p_data)->UpdateAdvancedMRL();
-}
-
-AutoBuiltPanel::AutoBuiltPanel( wxWindow *parent, OpenDialog *dialog,
-                                intf_thread_t *_p_intf,
-                                const module_t *p_module )
-  : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize ),
-    name( wxU(module_get_object(p_module)) ),
-    p_advanced_mrl_combo( NULL ),
-    p_intf( _p_intf ), p_open_dialog( dialog ), p_advanced_dialog( NULL )
-{
-    wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
-    bool b_advanced = false;
-    unsigned int i_confsize; 
-    module_config_t *p_config;
-    int n;
-
-    p_config = module_config_get (p_module, &i_confsize);
-    for( n = 0; n < i_confsize; n++ )
-    {
-        module_config_t *p_item = p_config + n;
-        if( !(p_item->i_type & CONFIG_HINT) && p_item->b_advanced )
-            b_advanced = true;
-
-        if( p_item->i_type & CONFIG_HINT || p_item->b_advanced )
-            continue;
-
-        ConfigControl *control =
-            CreateConfigControl( VLC_OBJECT(p_intf), p_item, this );
-
-        config_array.Add( control );
-
-        /* Don't add items that were not recognized */
-        if( control == NULL ) continue;
-
-        control->SetUpdateCallback( AutoBuildCallback, (void *)dialog );
-
-        sizer->Add( control, 0, wxEXPAND | wxALL, 2 );
-    }
-
-    if( b_advanced )
-    {
-        wxButton *button =
-            new wxButton( this, AdvancedOptions_Event,
-                          wxU(_("Advanced options...")) );
-        sizer->Add( button, 0, wxALL, 5 );
-
-        /* Build the advanced dialog */
-        p_advanced_dialog =
-            new wxDialog( this, -1, ((wxString)wxU(_("Advanced options"))) +
-                          wxT(" (") + wxU( module_GetLongName(p_module) ) +
-                          wxT(")"), wxDefaultPosition, wxDefaultSize,
-                          wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER );
-
-        wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
-
-        /* Create MRL combobox */
-        wxBoxSizer *mrl_sizer_sizer = new wxBoxSizer( wxHORIZONTAL );
-        wxStaticBox *mrl_box =
-            new wxStaticBox( p_advanced_dialog, -1,
-                             wxU(_("Advanced options")) );
-        wxStaticBoxSizer *mrl_sizer =
-            new wxStaticBoxSizer( mrl_box, wxHORIZONTAL );
-        wxStaticText *mrl_label =
-            new wxStaticText( p_advanced_dialog, -1, wxU(_("Options:")) );
-        p_advanced_mrl_combo =
-            new wxComboBox( p_advanced_dialog, MRL_Event, wxT(""),
-                            wxDefaultPosition, wxDefaultSize );
-        mrl_sizer->Add( mrl_label, 0, wxALL | wxALIGN_CENTER, 5 );
-        mrl_sizer->Add( p_advanced_mrl_combo, 1, wxALL | wxALIGN_CENTER, 5 );
-        mrl_sizer_sizer->Add( mrl_sizer, 1, wxEXPAND | wxALL, 5 );
-        sizer->Add( mrl_sizer_sizer, 0, wxEXPAND | wxALL, 2 );
-
-        /* Add advanced options to panel */
-        for( n = 0; n < i_confsize; n++ )
-        {
-            module_config_t *p_item = p_config + n;
-            if( p_item->i_type & CONFIG_HINT || !p_item->b_advanced )
-                continue;
-
-            ConfigControl *control =
-                CreateConfigControl( VLC_OBJECT(p_intf), p_item,
-                                     p_advanced_dialog );
-
-            advanced_config_array.Add( control );
-
-            /* Don't add items that were not recognized */
-            if( control == NULL ) continue;
-
-            control->SetUpdateCallback( AutoBuildAdvancedCallback,
-                                        (void *)this );
-
-            sizer->Add( control, 0, wxEXPAND | wxALL, 2 );
-        }
-
-        /* Separation */
-        wxPanel *dummy_panel = new wxPanel( p_advanced_dialog, -1 );
-        sizer->Add( dummy_panel, 1 );
-        wxStaticLine *static_line =
-            new wxStaticLine( p_advanced_dialog, wxID_OK );
-        sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
-
-        /* Create buttons */
-        wxButton *ok_button =
-            new wxButton( p_advanced_dialog, wxID_OK, wxU(_("&OK")) );
-        ok_button->SetDefault();
-        wxButton *cancel_button =
-            new wxButton( p_advanced_dialog, wxID_CANCEL, wxU(_("&Cancel")) );
-        wxStdDialogButtonSizer *button_sizer = new wxStdDialogButtonSizer;
-        button_sizer->AddButton( ok_button );
-        button_sizer->AddButton( cancel_button );
-        button_sizer->Realize();
-        sizer->Add( button_sizer, 0, wxEXPAND|wxALL, 5 );
-
-        sizer->SetMinSize( 400, -1 );
-        p_advanced_dialog->SetSizerAndFit( sizer );
-    }
-
-    module_config_free (p_config);
-
-    this->SetSizerAndFit( sizer );
-}
-
-void AutoBuiltPanel::OnAdvanced( wxCommandEvent& event )
-{
-    if( p_advanced_dialog->ShowModal() == wxID_OK )
-    {
-        UpdateAdvancedMRL();
-        p_open_dialog->UpdateMRL();
-    }
-}
-
-void AutoBuiltPanel::UpdateAdvancedMRL()
-{
-    wxString mrltemp;
-
-    for( int i = 0; i < (int)advanced_config_array.GetCount(); i++ )
-    {
-        ConfigControl *control = advanced_config_array.Item(i);
-
-        mrltemp += (i ? wxT(" :") : wxT(":"));
-
-        if( control->GetType() == CONFIG_ITEM_BOOL &&
-            !control->GetIntValue() ) mrltemp += wxT("no-");
-
-        mrltemp += control->GetName();
-
-        switch( control->GetType() )
-        {
-        case CONFIG_ITEM_STRING:
-        case CONFIG_ITEM_FILE:
-        case CONFIG_ITEM_DIRECTORY:
-        case CONFIG_ITEM_MODULE:
-            mrltemp += wxT("=\"") + control->GetPszValue() + wxT("\"");
-            break;
-        case CONFIG_ITEM_INTEGER:
-            mrltemp +=
-                wxString::Format( wxT("=%i"), control->GetIntValue() );
-            break;
-        case CONFIG_ITEM_FLOAT:
-            mrltemp +=
-                wxString::Format(wxT("=%f"), control->GetFloatValue());
-            break;
-        }
-    }
-
-    p_advanced_mrl_combo->SetValue( mrltemp );
-}
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-OpenDialog::OpenDialog( intf_thread_t *_p_intf, wxWindow *_p_parent,
-                        int i_access_method, int i_arg ):
-      wxDialog( _p_parent, -1, wxU(_("Open...")), wxDefaultPosition,
-             wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    OpenDialog( _p_intf, _p_parent, i_access_method, i_arg, OPEN_NORMAL );
-}
-
-OpenDialog::OpenDialog( intf_thread_t *_p_intf, wxWindow *_p_parent,
-                        int i_access_method, int i_arg, int _i_method ):
-      wxDialog( _p_parent, -1, wxU(_("Open...")), wxDefaultPosition,
-             wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    /* Initializations */
-    i_method = _i_method;
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    SetIcon( *p_intf->p_sys->p_icon );
-    file_dialog = NULL;
-    i_disc_type_selection = 0;
-    i_disc_title = 0;
-    i_open_arg = i_arg;
-
-    sout_dialog = NULL;
-    subsfile_dialog = NULL;
-    b_disc_device_changed = false;
-
-    /* Create a panel to put everything in */
-    wxPanel *panel = new wxPanel( this, -1 );
-    panel->SetAutoLayout( TRUE );
-
-
-    /* Advanced options */
-    wxStaticBox *adv_box = new wxStaticBox( panel, -1,
-                               wxU(_("Advanced options")) );
-    wxStaticBoxSizer *adv_sizer = new wxStaticBoxSizer( adv_box,
-                                                        wxVERTICAL );
-
-
-    wxFlexGridSizer *common_opt_sizer = new wxFlexGridSizer( 5, 1, 20 );
-    if( i_method == OPEN_NORMAL )
-    {
-        /* Create Stream Output checkox */
-        sout_checkbox = new wxCheckBox( panel, SoutEnable_Event,
-                                         wxU(_("Stream/Save")) );
-        sout_checkbox->SetToolTip( wxU(_("Use VLC as a stream server")) );
-        common_opt_sizer->Add( sout_checkbox, 0,
-                               wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-
-        sout_button = new wxButton( panel, SoutSettings_Event,
-                                    wxU(_("Settings...")) );
-        sout_button->Disable();
-
-        char *psz_sout = config_GetPsz( p_intf, "sout" );
-        if( psz_sout && *psz_sout )
-        {
-            sout_checkbox->SetValue(TRUE);
-            sout_button->Enable();
-            subsfile_mrl.Add( wxString(wxT("sout=")) + wxL2U(psz_sout) );
-        }
-        free( psz_sout );
-
-        common_opt_sizer->Add( sout_button, 1, wxALIGN_LEFT |
-                               wxALIGN_CENTER_VERTICAL );
-
-        common_opt_sizer->Add( new wxPanel( this, -1 ), 1,
-                               wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    }
-
-    /* Create caching options */
-    caching_checkbox = new wxCheckBox( panel, CachingEnable_Event,
-                                       wxU(_("Caching")) );
-    caching_checkbox->SetToolTip( wxU(_("Change the default caching value "
-                                        "(in milliseconds)")) );
-    common_opt_sizer->Add( caching_checkbox, 0,
-                           wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    caching_value = new wxSpinCtrl( panel, CachingChange_Event );
-    caching_value->SetRange( 0, 1000000 );
-    caching_value->Disable();
-    common_opt_sizer->Add( caching_value, 0,
-                           wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-
-
-    wxBoxSizer *mrl_sizer = new wxBoxSizer( wxHORIZONTAL );
-    wxStaticText *mrl_label = new wxStaticText( panel, -1,
-                                                wxU(_("Customize:")) );
-    mrl_combo = new wxComboBox( panel, MRL_Event, wxT(""),
-                                wxDefaultPosition, wxDefaultSize );
-    //Point(20,25), wxSize(120, -1) );
-    mrl_combo->SetToolTip( wxU(_("You can use this field directly by typing "
-        "the full MRL you want to open.\n""Alternatively, the field will be "
-        "filled automatically when you use the controls above.")) );
-
-    mrl_sizer->Add( mrl_label, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5 );
-    mrl_sizer->Add( mrl_combo, 1, wxALL | wxEXPAND | wxALIGN_CENTER_VERTICAL,
-                    5 );
-
-    adv_sizer->Add( common_opt_sizer, 0, wxTOP | wxLEFT|wxRIGHT | wxEXPAND, 5 );
-    adv_sizer->Add( mrl_sizer, 0, wxBOTTOM  | wxLEFT|wxRIGHT  | wxEXPAND, 5 );
-
-    /* Separation */
-    wxStaticLine *static_line = new wxStaticLine( panel, wxID_OK );
-
-    /* Create the buttons */
-    wxButton *ok_button = new wxButton( panel, wxID_OK, wxU(_("&OK")) );
-    ok_button->SetDefault();
-    wxButton *cancel_button = new wxButton( panel, wxID_CANCEL,
-                                            wxU(_("&Cancel")) );
-
-    /* Create notebook */
-    notebook = new wxNotebook( panel, Notebook_Event );
-
-#if (!wxCHECK_VERSION(2,5,2))
-    wxNotebookSizer *notebook_sizer = new wxNotebookSizer( notebook );
-#endif
-
-    notebook->AddPage( FilePanel( notebook ), wxU(_("File")),
-                       i_access_method == FILE_ACCESS );
-    notebook->AddPage( DiscPanel( notebook ), wxU(_("Disc")),
-                       i_access_method == DISC_ACCESS );
-    notebook->AddPage( NetPanel( notebook ), wxU(_("Network")),
-                       i_access_method == NET_ACCESS );
-
-    if( module_exists( "v4l" ) )
-    {
-        AutoBuiltPanel *autopanel =
-            new AutoBuiltPanel( notebook, this, p_intf, p_module );
-        input_tab_array.Add( autopanel );
-        notebook->AddPage( autopanel, wxU( module_get_name(p_module, 0) ),
-                           i_access_method == CAPTURE_ACCESS );
-    }
-
-    if( module_exists( "pvr" ) )
-    {
-        AutoBuiltPanel *autopanel =
-            new AutoBuiltPanel( notebook, this, p_intf, p_module );
-        input_tab_array.Add( autopanel );
-        notebook->AddPage( autopanel, wxU( module_get_name(p_module, 0) ),
-                           i_access_method == CAPTURE_ACCESS );
-    }
-
-    if( module_exists( "dvb" ) )
-    {
-        AutoBuiltPanel *autopanel =
-            new AutoBuiltPanel( notebook, this, p_intf, p_module );
-        input_tab_array.Add( autopanel );
-        notebook->AddPage( autopanel, wxU( module_get_name(p_module, 0) ),
-                           i_access_method == CAPTURE_ACCESS );
-    }
-
-    if( module_exists( "dshow" ) )
-    {
-        AutoBuiltPanel *autopanel =
-            new AutoBuiltPanel( notebook, this, p_intf, p_module );
-        input_tab_array.Add( autopanel );
-        notebook->AddPage( autopanel, wxU( module_get_name(p_module, 0) ),
-                           i_access_method == CAPTURE_ACCESS );
-    }
-
-    /* Update Disc panel */
-    wxCommandEvent dummy_event;
-    OnDiscTypeChange( dummy_event );
-
-    /* Update Net panel */
-    dummy_event.SetId( NetRadio1_Event );
-    OnNetTypeChange( dummy_event );
-
-    /* Update MRL */
-    wxNotebookEvent event( wxEVT_NULL, 0, i_access_method );
-    OnPageChange( event );
-
-    /* Place everything in sizers */
-    wxStdDialogButtonSizer *button_sizer = new wxStdDialogButtonSizer;
-    button_sizer->AddButton( cancel_button );
-    button_sizer->AddButton( ok_button );
-    button_sizer->Realize();
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-#if (!wxCHECK_VERSION(2,5,2))
-    panel_sizer->Add( notebook_sizer, 1, wxEXPAND | wxALL, 5 );
-#else
-    panel_sizer->Add( notebook, 1, wxEXPAND | wxALL, 5 );
-#endif
-    panel_sizer->Add( adv_sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( button_sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-    panel->SetSizerAndFit( panel_sizer );
-    main_sizer->Add( panel, 1, wxGROW, 0 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-}
-
-OpenDialog::~OpenDialog()
-{
-    /* Clean up */
-    delete file_dialog;
-    delete sout_dialog;
-    delete subsfile_dialog;
-}
-
-int OpenDialog::Show( int i_access_method, int i_arg )
-{
-    notebook->SetSelection( i_access_method );
-    int i_ret = wxDialog::Show();
-    Raise();
-    SetFocus();
-    i_open_arg = i_arg;
-    return i_ret;
-}
-
-int OpenDialog::Show()
-{
-    int i_ret = wxDialog::Show();
-    Raise();
-    SetFocus();
-    return i_ret;
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-wxPanel *OpenDialog::FilePanel( wxWindow* parent )
-{
-    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
-                                  wxSize(200, 200) );
-
-    wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
-
-    /* Create browse file line */
-    wxBoxSizer *file_sizer = new wxBoxSizer( wxHORIZONTAL );
-
-    file_sizer->Add( new wxStaticText( panel, -1, wxU(_("Open:") ) ), 0,
-                     wxALL | wxALIGN_CENTER_VERTICAL, 5 );
-
-    file_combo = new wxComboBox( panel, FileName_Event, wxT("") );
-    wxButton *browse_button = new wxButton( panel, FileBrowse_Event,
-                                            wxU(_("Browse...")) );
-    file_sizer->Add( file_combo, 1, wxALL | wxALIGN_CENTER_VERTICAL, 5 );
-    file_sizer->Add( browse_button, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5 );
-
-    /* Create Subtitles File checkox - button  */
-    wxFlexGridSizer *subtitles_sizer = new wxFlexGridSizer( 2, 1, 20 );
-    subsfile_checkbox = new wxCheckBox( panel, SubsFileEnable_Event,
-                                        wxU(_("Use a subtitles file")) );
-    subsfile_checkbox->SetToolTip( wxU(_("Use an external subtitles file.")) );
-    subtitles_sizer->Add( subsfile_checkbox, 0,  wxALIGN_CENTER_VERTICAL |
-                          wxALL, 5 );
-    subsfile_button = new wxButton( panel, SubsFileSettings_Event,
-                                    wxU(_("Advanced Settings...")) );
-    subsfile_button->Disable();
-    subtitles_sizer->Add( subsfile_button, 1, wxALIGN_CENTER_VERTICAL |
-                           wxALL, 5 );
-
-    /* Create subtitles file line */
-    wxBoxSizer *subfile_sizer = new wxBoxSizer( wxHORIZONTAL );
-
-    char *psz_subsfile = config_GetPsz( p_intf, "sub-file" );
-    if( psz_subsfile && *psz_subsfile )
-    {
-        subsfile_checkbox->SetValue(TRUE);
-        subsfile_button->Enable();
-        subsfile_mrl.Add( wxString(wxT("sub-file=")) + wxL2U(psz_subsfile) );
-    }
-    if( !psz_subsfile )  psz_subsfile = strdup("");
-    subfile_sizer->Add( new wxStaticText( panel, -1, wxU(_("File:") ) ),
-                        0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    subfile_combo = new wxComboBox( panel, SubFileName_Event,
-                                    wxL2U( psz_subsfile ) );
-    free( psz_subsfile );
-    subbrowse_button = new wxButton( panel, SubFileBrowse_Event,
-                                     wxU(_("Browse...")) );
-    subfile_sizer->Add( subfile_combo, 1, wxALL | wxALIGN_CENTER_VERTICAL, 5 );
-    subfile_sizer->Add( subbrowse_button, 0, wxALL |wxALIGN_CENTER_VERTICAL, 5 );
-
-    subfile_combo->Disable();
-    subbrowse_button->Disable();
-
-    psz_subsfile = config_GetPsz( p_intf, "sub-file" );
-    if( psz_subsfile && *psz_subsfile )
-    {
-        subfile_combo->Enable();
-        subbrowse_button->Enable();
-    }
-
-    sizer->Add( file_sizer, 0, wxEXPAND | wxALL, 5 );
-    sizer->Add( subtitles_sizer, 0, wxLEFT | wxRIGHT | wxTOP, 5 );
-    sizer->Add( subfile_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT| wxBOTTOM, 5 );
-    panel->SetSizerAndFit( sizer );
-    return panel;
-}
-
-wxPanel *OpenDialog::DiscPanel( wxWindow* parent )
-{
-    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
-                                  wxSize(200, 200) );
-
-    wxBoxSizer *sizer_row = new wxBoxSizer( wxVERTICAL );
-    wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 3, 20 );
-
-    static const wxString disc_type_array[] =
-    {
-        wxU(_("DVD (menus)")),
-        wxU(_("DVD")),
-        wxU(_("VCD")),
-        wxU(_("Audio CD")),
-    };
-
-    disc_type = new wxRadioBox( panel, DiscType_Event, wxU(_("Disc type")),
-                                wxDefaultPosition, wxDefaultSize,
-                                WXSIZEOF(disc_type_array), disc_type_array,
-                                WXSIZEOF(disc_type_array), wxRA_SPECIFY_COLS );
-
-#ifdef HAVE_LIBCDIO
-    disc_probe = new wxCheckBox( panel, DiscProbe_Event,
-                                 wxU(_("Probe Disc(s)")) );
-    disc_probe->SetToolTip( wxU(_("Probe for a DVD, VCD or audio CD. "
-"First try the Device name entered for the selected Disc type "
-"(DVD, DVD Menu, VCD, audio CD). If that doesn't find media, try any device "
-"for the Disc type.  If that doesn't work, then try looking for CD-ROMs or "
-"DVD drives. The Disc type, Device name, and some parameter ranges are set "
-"based on media we find.")) );
-#endif
-
-    sizer_row->Add( disc_type, i_disc_type_selection, wxEXPAND | wxALL, 5 );
-#ifdef HAVE_LIBCDIO
-    sizer_row->Add( disc_probe, 0, wxEXPAND | wxALL );
-#endif
-
-    wxStaticText *label = new wxStaticText( panel, -1, wxU(_("Device name")) );
-    disc_device = new wxTextCtrl( panel, DiscDevice_Event, wxT(""),
-                                  wxDefaultPosition, wxDefaultSize,
-                                  wxTE_PROCESS_ENTER);
-
-#ifdef WIN32
-    char psz_default_device[3] = {0};
-    char *psz_forced;
-
-    /* find the drive_name for the first cdrom drive,
-     * which is probably "D:" and put the drive_name into
-     * psz_default_device... */
-    for( char drive_letter = 'A'; drive_letter <= 'Z'; ++drive_letter )
-    {
-        char drive_name[3] = {drive_letter, ':', 0};
-        UINT type = GetDriveTypeA( drive_name );
-        if( type == DRIVE_CDROM )
-        {
-            psz_default_device[0] = drive_letter;
-            psz_default_device[1] = ':';
-            break;
-        }
-    }
-
-    psz_forced = config_GetPsz( p_intf, "dvd" );
-
-    if( strlen(psz_default_device) > 0 &&
-        ( !psz_forced || psz_forced && !*psz_forced ) )
-    {
-        if(disc_device)
-            disc_device->SetValue( wxL2U(psz_default_device) );
-    }
-#endif
-
-    sizer->Add( label, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    sizer->Add( disc_device, 1, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-    disc_title_label = new wxStaticText( panel, -1, wxU(_("Title")) );
-    disc_title = new wxSpinCtrl( panel, DiscTitle_Event );
-    sizer->Add( disc_title_label, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    sizer->Add( disc_title, 1, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-    disc_chapter_label = new wxStaticText( panel, -1, wxU(_("Chapter")) );
-    disc_chapter = new wxSpinCtrl( panel, DiscChapter_Event );
-    sizer->Add( disc_chapter_label, 0,
-                wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    sizer->Add( disc_chapter, 1, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-    disc_sub_label = new wxStaticText( panel, -1, wxU(_("Subtitles track")) );
-    disc_sub = new wxSpinCtrl( panel, DiscSub_Event );
-    sizer->Add( disc_sub_label, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    sizer->Add( disc_sub, 1, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    disc_sub->SetRange( -1, 255 );
-    i_disc_sub = config_GetInt( p_intf, "sub-track" );
-    disc_sub->SetValue( i_disc_sub );
-
-    disc_audio_label = new wxStaticText( panel, -1, wxU(_("Audio track")) );
-    disc_audio = new wxSpinCtrl( panel, DiscAudio_Event );
-    sizer->Add( disc_audio_label, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    sizer->Add( disc_audio, 1, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    disc_audio->SetRange( -1, 255 );
-    i_disc_audio = config_GetInt( p_intf, "audio-track" );
-    disc_audio->SetValue( i_disc_audio );
-
-    sizer_row->Add( sizer, 0, wxEXPAND | wxALL, 5 );
-
-    panel->SetSizerAndFit( sizer_row );
-    return panel;
-}
-
-wxPanel *OpenDialog::NetPanel( wxWindow* parent )
-{
-    int i;
-    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
-                                  wxSize(200, 200) );
-
-    wxBoxSizer *sizer_row = new wxBoxSizer( wxVERTICAL );
-    wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 4, 20 );
-
-    static const wxString net_type_array[] =
-    {
-        wxU(_("UDP/RTP")),
-        wxU(_("UDP/RTP Multicast")),
-        wxU(_("HTTP/HTTPS/FTP/MMS")),
-        wxU(_("RTSP"))
-    };
-
-    for( i=0; i<4; i++ )
-    {
-        net_radios[i] = new wxRadioButton( panel, NetRadio1_Event + i,
-                                           net_type_array[i],
-                                           wxDefaultPosition, wxDefaultSize,
-                                           wxRB_SINGLE );
-
-        net_subpanels[i] = new wxPanel( panel, -1,
-                                        wxDefaultPosition, wxDefaultSize );
-    }
-
-    /* Timeshift */
-    net_timeshift  = new wxCheckBox( panel, NetTimeshift_Event,
-                                     wxU(_("Allow timeshifting")) );
-
-    /* UDP/RTP row */
-    wxFlexGridSizer *subpanel_sizer;
-    wxStaticText *label;
-    i_net_ports[0] = config_GetInt( p_intf, "server-port" );
-    subpanel_sizer = new wxFlexGridSizer( 3, 1, 20 );
-    label = new wxStaticText( net_subpanels[0], -1, wxU(_("Port")) );
-    net_ports[0] = new wxSpinCtrl( net_subpanels[0], NetPort1_Event,
-                                   wxString::Format(wxT("%d"), i_net_ports[0]),
-                                   wxDefaultPosition, wxDefaultSize,
-                                   wxSP_ARROW_KEYS,
-                                   0, 65535, i_net_ports[0] );
-
-    subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sizer->Add( net_ports[0], 1,
-                         wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    net_ipv6 = new wxCheckBox( net_subpanels[0], NetForceIPv6_Event,
-                               wxU(_("Force IPv6")));
-    subpanel_sizer->Add( net_ipv6, 0,
-                         wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    net_subpanels[0]->SetSizerAndFit( subpanel_sizer );
-    net_radios[0]->SetValue( TRUE );
-
-    /* UDP/RTP Multicast row */
-    subpanel_sizer = new wxFlexGridSizer( 4, 1, 20 );
-    label = new wxStaticText( net_subpanels[1], -1, wxU(_("Address")) );
-    net_addrs[1] = new wxTextCtrl( net_subpanels[1], NetAddr2_Event, wxT(""),
-                                   wxDefaultPosition, wxDefaultSize,
-                                   wxTE_PROCESS_ENTER);
-    subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sizer->Add( net_addrs[1], 1,
-                         wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-    label = new wxStaticText( net_subpanels[1], -1, wxU(_("Port")) );
-    i_net_ports[1] = i_net_ports[0];
-    net_ports[1] = new wxSpinCtrl( net_subpanels[1], NetPort2_Event,
-                                   wxString::Format(wxT("%d"), i_net_ports[1]),
-                                   wxDefaultPosition, wxDefaultSize,
-                                   wxSP_ARROW_KEYS,
-                                   0, 65535, i_net_ports[1] );
-
-    subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sizer->Add( net_ports[1], 1,
-                         wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    net_subpanels[1]->SetSizerAndFit( subpanel_sizer );
-
-    /* HTTP and RTSP rows */
-    for( i=2; i<4; i++ )
-    {
-        subpanel_sizer = new wxFlexGridSizer( 2, 1, 20 );
-        label = new wxStaticText( net_subpanels[i], -1, wxU(_("URL")) );
-        net_addrs[i] = new wxTextCtrl( net_subpanels[i], NetAddr1_Event + i,
-                                       (i == 2) ? wxT("") : wxT("rtsp://"),
-                                       wxDefaultPosition, wxSize( 200, -1 ),
-                                       wxTE_PROCESS_ENTER);
-        subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-        subpanel_sizer->Add( net_addrs[i], 1,
-                             wxEXPAND | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-        net_subpanels[i]->SetSizerAndFit( subpanel_sizer );
-    }
-
-    /* Stuff everything into the main panel */
-    for( i=0; i<4; i++ )
-    {
-        sizer->Add( net_radios[i], 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL |
-                    wxALL, 5 );
-        sizer->Add( net_subpanels[i], 1, wxEXPAND | wxALIGN_LEFT |
-                    wxALIGN_CENTER_VERTICAL | wxALL, 5  );
-    }
-    sizer->Add( net_timeshift, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL |
-                wxALL, 5 );
-
-    sizer_row->Add( sizer, 0, wxEXPAND | wxALL, 5 );
-
-    panel->SetSizerAndFit( sizer_row );
-    return panel;
-}
-
-void OpenDialog::UpdateMRL()
-{
-    UpdateMRL( i_current_access_method );
-}
-
-void OpenDialog::UpdateMRL( int i_access_method )
-{
-    wxString mrltemp, caching_name;
-
-    i_current_access_method = i_access_method;
-
-    switch( i_access_method )
-    {
-    case FILE_ACCESS:
-        mrltemp = file_combo->GetValue();
-        caching_name = wxT("file-caching");
-        break;
-
-    case DISC_ACCESS:
-        i_disc_type_selection = disc_type->GetSelection();
-
-        switch ( i_disc_type_selection )
-        {
-        case 0: /* DVD with menus */
-        case 1: /* DVD without menus */
-            disc_device->SetToolTip( wxU(_("DVD device to use" ) )  );
-            if( i_disc_type_selection == 0 )
-            {
-                mrltemp = wxT("dvd://") + disc_device->GetValue();
-                caching_name = wxT("dvdnav-caching");
-            }
-            else
-            {
-                mrltemp = wxT("dvdsimple://") + disc_device->GetValue();
-                caching_name = wxT("dvdread-caching");
-            }
-
-            if( i_disc_title > 0 )
-            {
-                mrltemp += wxString::Format( wxT("@%d"), i_disc_title );
-
-                if( i_disc_chapter > 0 )
-                    mrltemp += wxString::Format( wxT(":%d"), i_disc_chapter );
-            }
-
-            if( i_disc_sub >= 0 )
-                mrltemp += wxString::Format( wxT("  :sub-track=%d"),
-                                             i_disc_sub );
-            if( i_disc_audio >= 0 )
-                mrltemp += wxString::Format( wxT("  :audio-track=%d"),
-                                             i_disc_audio );
-            break;
-
-        case 2:  /* VCD of some sort */
-#ifdef HAVE_VCDX
-            disc_device->SetToolTip( wxU(_("Name of CD-ROM device "
-            "to read Video CD from. If this field is left empty, we will scan "
-            "for a CD-ROM with a VCD in it.")) );
-            mrltemp = wxT("vcdx://") + disc_device->GetValue();
-            if( i_disc_title > 0 )
-                mrltemp += wxString::Format( wxT("@%c%d"),
-                                  config_GetInt( p_intf, "vcdx-PBC"  )
-                                  ? 'P' : 'E', i_disc_title );
-#else
-            disc_device->SetToolTip( wxU(_("CD-ROM device to use" ) ) );
-            mrltemp = wxT("vcd://") + disc_device->GetValue();
-            if( i_disc_title > 0 )
-                mrltemp += wxString::Format( wxT("@%d"), i_disc_title );
-#endif
-
-            if( i_disc_sub >= 0 )
-                mrltemp += wxString::Format( wxT("  :sub-track=%d"),
-                                             i_disc_sub );
-
-            if( i_disc_audio >= 0 )
-                mrltemp += wxString::Format( wxT("  :audio-track=%d"),
-                                             i_disc_audio );
-            caching_name = wxT("vcd-caching");
-            break;
-
-        case 3: /* CD-DA */
-#ifdef HAVE_CDDAX
-            disc_device->SetToolTip( wxU(_("Name of CD-ROM device "
-            "to read audio CD from. If this field is left empty, we will scan "
-            "for a CD-ROM with an audio CD in it." )) );
-            mrltemp = wxT("cddax://")
-#else
-            disc_device->SetToolTip( wxU(_("CD-ROM device to use" ) ) ) ;
-            mrltemp = wxT("cdda://")
-#endif
-              + disc_device->GetValue();
-            if( i_disc_title > 0 )
-                mrltemp += wxString::Format( wxT("@%d"), i_disc_title );
-
-            caching_name = wxT("cdda-caching");
-            break;
-
-        default:
-            msg_Err( p_intf, "invalid selection (%d)",
-                     disc_type->GetSelection() );
-        }
-
-        break;
-
-    case NET_ACCESS:
-        switch( i_net_type )
-        {
-        case 0:
-            mrltemp = wxT("udp://@");
-            if ( net_ipv6->GetValue() )
-            {
-                mrltemp += wxT("[::]");
-            }
-            if( i_net_ports[0] !=
-                config_GetInt( p_intf, "server-port" ) )
-            {
-                mrltemp += wxString::Format( wxT(":%d"), i_net_ports[0] );
-            }
-
-            caching_name = wxT("udp-caching");
-            break;
-
-        case 1:
-            mrltemp = wxT("udp://@");
-            if ((net_addrs[1]->GetLineText(0).Find (':') != -1)
-                && (net_addrs[1]->GetLineText(0)[0u] != '['))
-            {
-                /* automatically adds '[' and ']' to IPv6 addresses */
-                mrltemp += wxT("[") + net_addrs[1]->GetLineText(0)
-                         + wxT("]");
-            }
-            else
-            {
-                mrltemp += net_addrs[1]->GetLineText(0);
-            }
-            if( i_net_ports[1] != config_GetInt( p_intf, "server-port" ) )
-            {
-                mrltemp += wxString::Format( wxT(":%d"), i_net_ports[1] );
-            }
-
-            caching_name = wxT("udp-caching");
-            break;
-
-        case 2:
-            /* http access */
-            if( net_addrs[2]->GetLineText(0).Find(wxT("://")) == -1 )
-                mrltemp = wxT("http://");
-
-            mrltemp += net_addrs[2]->GetLineText(0);
-            if( ! mrltemp.Left(4).CmpNoCase(wxT("http")) )
-                caching_name = wxT("http-caching");
-            else if( ! mrltemp.Left(3).CmpNoCase(wxT("mms")) )
-                caching_name = wxT("mms-caching");
-            else
-                caching_name= wxT("ftp-caching");
-            break;
-
-        case 3:
-            /* RTSP access */
-            if( net_addrs[3]->GetLineText(0).Find(wxT("rtsp://")) != 0 )
-            {
-                mrltemp = wxT("rtsp://");
-            }
-            mrltemp += net_addrs[3]->GetLineText(0);
-
-            caching_name = wxT("rtsp-caching");
-            break;
-        }
-        if( net_timeshift->IsEnabled() && net_timeshift->IsChecked() )
-            mrltemp += wxT(" :access-filter=timeshift");
-        break;
-
-    default:
-        {
-            int i_item = i_access_method - MAX_ACCESS;
-
-            if( i_item < 0 || i_item >= (int)input_tab_array.GetCount() )
-                break;
-
-            AutoBuiltPanel *input_panel = input_tab_array.Item( i_item );
-
-            mrltemp = input_panel->name + wxT("://");
-
-            for( int i=0; i < (int)input_panel->config_array.GetCount(); i++ )
-            {
-                ConfigControl *control = input_panel->config_array.Item(i);
-
-                mrltemp += wxT(" :");
-
-                if( control->GetType() == CONFIG_ITEM_BOOL &&
-                    !control->GetIntValue() ) mrltemp += wxT("no-");
-
-                mrltemp += control->GetName();
-
-                switch( control->GetType() )
-                {
-                case CONFIG_ITEM_STRING:
-                case CONFIG_ITEM_FILE:
-                case CONFIG_ITEM_DIRECTORY:
-                case CONFIG_ITEM_MODULE:
-                    mrltemp += wxT("=\"") + control->GetPszValue() + wxT("\"");
-                    break;
-                case CONFIG_ITEM_INTEGER:
-                    mrltemp +=
-                        wxString::Format( wxT("=%i"), control->GetIntValue() );
-                    break;
-                case CONFIG_ITEM_FLOAT:
-                    mrltemp +=
-                        wxString::Format(wxT("=%f"), control->GetFloatValue());
-                    break;
-                }
-            }
-
-            if( input_panel->p_advanced_mrl_combo &&
-                input_panel->p_advanced_mrl_combo->GetValue() )
-            {
-                mrltemp += wxT(" ") +
-                    input_panel->p_advanced_mrl_combo->GetValue();
-            }
-        }
-        break;
-    }
-
-    if( caching_name.size() )
-    {
-        if( caching_value->IsEnabled() )
-        {
-            mrltemp += wxT("  :") + caching_name +
-                wxString::Format( wxT("=%d"), i_caching );
-        }
-        else
-        {
-            int i_value = config_GetInt( p_intf, caching_name.mb_str(wxConvUTF8) );
-            caching_value->SetValue( i_value );
-        }
-    }
-
-    mrl_combo->SetValue( mrltemp );
-}
-
-/*****************************************************************************
- * Events methods.
- *****************************************************************************/
-void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
-{
-    mrl = SeparateEntries( mrl_combo->GetValue() );
-    mrl_combo->Append( mrl_combo->GetValue() );
-    if( mrl_combo->GetCount() > 10 ) mrl_combo->Delete( 0 );
-    mrl_combo->SetSelection( mrl_combo->GetCount() - 1 );
-
-    if( i_method == OPEN_STREAM )
-    {
-        if( IsModal() ) EndModal( wxID_OK );
-        Hide();
-        return;
-    }
-
-    /* Update the playlist */
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL ) return;
-
-    for( int i = 0; i < (int)mrl.GetCount(); i++ )
-    {
-        bool b_start = !i && i_open_arg;
-        input_item_t *p_input;
-        char *psz_utf8;
-
-        psz_utf8 = wxFromLocale( mrl[i] );
-        p_input = input_item_New( p_intf, psz_utf8, NULL );
-        wxLocaleFree( psz_utf8 );
-
-        /* Insert options */
-        while( i + 1 < (int)mrl.GetCount() &&
-               ((const char *)mrl[i + 1].mb_str(wxConvUTF8))[0] == ':' )
-        {
-            psz_utf8 = wxFromLocale( mrl[i + 1] );
-            input_item_AddOption( p_input, psz_utf8, VLC_INPUT_OPTION_TRUSTED );
-            wxLocaleFree( psz_utf8 );
-            i++;
-        }
-
-        /* Get the options from the subtitles dialog */
-        if( subsfile_checkbox->IsChecked() && subsfile_mrl.GetCount() )
-        {
-            for( int j = 0; j < (int)subsfile_mrl.GetCount(); j++ )
-            {
-                psz_utf8 = wxFromLocale( subsfile_mrl[j] );
-                input_item_AddOption( p_input, psz_utf8, VLC_INPUT_OPTION_TRUSTED );
-                wxLocaleFree( psz_utf8 );
-            }
-        }
-
-        /* Get the options from the stream output dialog */
-        if( sout_checkbox->IsChecked() && sout_mrl.GetCount() )
-        {
-            for( int j = 0; j < (int)sout_mrl.GetCount(); j++ )
-            {
-                psz_utf8 = wxFromLocale( sout_mrl[j] );
-                input_item_AddOption( p_input, psz_utf8, VLC_INPUT_OPTION_TRUSTED );
-                wxLocaleFree( psz_utf8 );
-            }
-        }
-
-        /* FIXME: playlist_AddInput() can fail */
-        playlist_AddInput( p_playlist, p_input,
-               PLAYLIST_APPEND | ( b_start ? PLAYLIST_GO : PLAYLIST_PREPARSE ),
-               PLAYLIST_END, true, pl_Unlocked );
-        vlc_gc_decref( p_input );
-    }
-    pl_Release( p_intf );
-
-    Hide();
-
-    if( IsModal() ) EndModal( wxID_OK );
-}
-
-void OpenDialog::OnCancel( wxCommandEvent& WXUNUSED(event) )
-{
-    wxCloseEvent cevent;
-    OnClose(cevent);
-}
-
-void OpenDialog::OnClose( wxCloseEvent& WXUNUSED(event) )
-{
-    Hide();
-
-    if( IsModal() ) EndModal( wxID_CANCEL );
-}
-
-void OpenDialog::OnPageChange( wxNotebookEvent& event )
-{
-    UpdateMRL( event.GetSelection() );
-}
-
-void OpenDialog::OnMRLChange( wxCommandEvent& event )
-{
-    //mrl = SeparateEntries( event.GetString() );
-}
-
-/*****************************************************************************
- * File panel event methods.
- *****************************************************************************/
-void OpenDialog::OnFilePanelChange( wxCommandEvent& WXUNUSED(event) )
-{
-    UpdateMRL( FILE_ACCESS );
-}
-
-void OpenDialog::OnFileBrowse( wxCommandEvent& WXUNUSED(event) )
-{
-    if( file_dialog == NULL )
-        file_dialog = new wxFileDialog( this, wxU(_("Open File")),
-            wxT(""), wxT(""), wxT("*"), wxOPEN | wxMULTIPLE );
-
-    file_dialog->SetWildcard(wxU(_("All Files (*.*)|*"
-        "|Sound Files (*.mp3, *.ogg, etc.)|" EXTENSIONS_AUDIO
-        "|Video Files (*.avi, *.mpg, etc.)|" EXTENSIONS_VIDEO
-        "|Playlist Files (*.m3u, *.pls, etc.)|" EXTENSIONS_PLAYLIST
-        "|Subtitle Files (*.srt, *.sub, etc.)|" EXTENSIONS_SUBTITLE)));
-
-    if( file_dialog && file_dialog->ShowModal() == wxID_OK )
-    {
-        wxArrayString paths;
-        wxString path;
-
-        file_dialog->GetPaths( paths );
-
-        for( size_t i = 0; i < paths.GetCount(); i++ )
-        {
-            if( paths[i].Find( wxT(' ') ) >= 0 )
-                path += wxT("\"") + paths[i] + wxT("\" ");
-            else
-                path += paths[i] + wxT(" ");
-        }
-
-        file_combo->SetValue( path );
-        file_combo->Append( path );
-        if( file_combo->GetCount() > 10 ) file_combo->Delete( 0 );
-        UpdateMRL( FILE_ACCESS );
-    }
-}
-
-void OpenDialog::OnSubFileBrowse( wxCommandEvent& WXUNUSED(event) )
-{
-    wxFileDialog dialog( this, wxU(_("Open subtitles file")),
-                         wxT(""), wxT(""), wxT("*"), wxOPEN );
-
-    if( dialog.ShowModal() == wxID_OK )
-    {
-        subfile_combo->SetValue( dialog.GetPath() );
-    }
-    wxCommandEvent event; OnSubFileChange( event );
-}
-
-void OpenDialog::OnSubFileChange( wxCommandEvent& WXUNUSED(event) )
-{
-    if( subsfile_mrl.GetCount() != 0 )
-    {
-        subsfile_mrl.RemoveAt( 0 );
-        subsfile_mrl.Insert( wxString(wxT("sub-file=")) + subfile_combo->GetValue() , 0 );
-    }
-    else
-    {
-        subsfile_mrl.Add( wxString(wxT("sub-file=")) + subfile_combo->GetValue() );
-    }
-}
-
-/*****************************************************************************
- * Disc panel event methods.
- *****************************************************************************/
-void OpenDialog::OnDiscPanelChangeSpin( wxSpinEvent& event )
-{
-    wxCommandEvent cevent;
-    cevent.SetId(event.GetId());
-    cevent.SetInt(event.GetPosition());
-    OnDiscPanelChange(cevent);
-}
-
-void OpenDialog::OnDiscPanelChange( wxCommandEvent& event )
-{
-    if( event.GetId() == DiscTitle_Event ) i_disc_title = event.GetInt();
-    if( event.GetId() == DiscChapter_Event ) i_disc_chapter = event.GetInt();
-    if( event.GetId() == DiscSub_Event ) i_disc_sub = event.GetInt();
-    if( event.GetId() == DiscAudio_Event ) i_disc_audio = event.GetInt();
-
-    UpdateMRL( DISC_ACCESS );
-}
-
-void OpenDialog::OnDiscDeviceChange( wxCommandEvent& event )
-{
-    char *psz_device;
-
-    switch( disc_type->GetSelection() )
-    {
-        case 3:
-            psz_device = config_GetPsz( p_intf, "cd-audio" );
-            break;
-
-        case 2:
-            psz_device = config_GetPsz( p_intf, "vcd" );
-            break;
-
-        default:
-            psz_device = config_GetPsz( p_intf, "dvd" );
-            break;
-    }
-
-    if ( !psz_device ) psz_device = "";
-
-    if( disc_device->GetValue().Cmp( wxL2U( psz_device ) ) )
-    {
-        b_disc_device_changed = true;
-    }
-
-    UpdateMRL( DISC_ACCESS );
-}
-
-#ifdef HAVE_LIBCDIO
-
-/* Return true if *psz_drive is a drive with a DVD in it. A more complete
-   check would see if the media looks like a *playable* DVD. This should
-   go into libcdio.
- */
-static bool IsDVD(const char *psz_drive)
-{
-  CdIo_t *p_cdio = cdio_open (psz_drive, DRIVER_UNKNOWN);
-  if (p_cdio)
-  {
-      discmode_t discmode = cdio_get_discmode(p_cdio);
-      cdio_destroy(p_cdio);
-      return cdio_is_discmode_dvd(discmode);
-  }
-  return false;
-}
-
-
-/* Return a device that has a DVD in it. The caller needs to free
-   the returned string.
-*/
-static char * ProbeDVD(const wxChar *device)
-{
-        /*
-  char **ppsz_cd_drives;
-  const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(device);
-  char *psz_device = (char *) tmp_buf;
-
-  if( IsDVD(psz_device) )
-  {
-      return strdup(psz_device);
-  }
-
-  ppsz_cd_drives = cdio_get_devices(DRIVER_DEVICE);
-  if( ppsz_cd_drives )
-  {
-      char **c;
-      for( c = ppsz_cd_drives; *c != NULL; c++ )
-      {
-      if( IsDVD(*c) )
-      {
-          char *psz_drive = strdup(*c);
-          cdio_free_device_list(ppsz_cd_drives);
-          return strdup(psz_drive);
-          }
-      }
-      cdio_free_device_list(ppsz_cd_drives);
-  }*/
-  return NULL;
-}
-
-
-static char * ProbeDevice(char **ppsz_search_devices, cdio_fs_anal_t mask,
-              bool b_any)
-{
-    char **ppsz_devices;
-
-    if( ppsz_search_devices && !ppsz_search_devices[0] )
-        ppsz_search_devices = NULL;
-
-    /* Start out trying the device that has been entered so far. */
-    ppsz_devices = cdio_get_devices_with_cap(ppsz_search_devices, mask,
-                         b_any);
-
-    if (ppsz_devices && *ppsz_devices)
-    {
-        char *psz_device = strdup(*ppsz_devices);
-        cdio_free_device_list(ppsz_devices);
-        return psz_device;
-    }
-
-    /* If there was no device specified on the first try, then give up
-       now. Otherwise accept any CD-ROM in the class (e.g. VCD or DVD).
-    */
-    if( !ppsz_search_devices ) return NULL;
-
-    ppsz_devices = cdio_get_devices_with_cap(NULL, mask, true);
-
-    if (ppsz_devices && *ppsz_devices)
-    {
-        char *psz_device = strdup(*ppsz_devices);
-        cdio_free_device_list(ppsz_devices);
-        return psz_device;
-    }
-
-    return NULL;
-}
-
-
-/* Return a device that has a CD-DA in it. The caller needs to free
-   the returned string.
-*/
-static char * ProbeCDDA(const wxChar *device)
-{
-        /*
-   char *ppsz_device[2];
-   const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(device);
-   char *psz_device = (char *) tmp_buf;
-   ppsz_device[0] = (device && *device) ? psz_device : NULL;
-   ppsz_device[1] = NULL;
-   return ProbeDevice(ppsz_device, CDIO_FS_AUDIO, false);
-   */ return NULL;
-}
-
-/* Return a device that has a VCD in it. The caller needs to free
-   the returned string.
-*/
-static char * ProbeVCD(const wxChar *device)
-{/*
-   char *ppsz_device[2];
-   const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(device);
-   char *psz_device = (char *) tmp_buf;
-   ppsz_device[0] = (device && *device) ? psz_device : NULL;
-   ppsz_device[1] = NULL;
-   return ProbeDevice(ppsz_device,
-                      (CDIO_FS_ANAL_SVCD|CDIO_FS_ANAL_CVD|CDIO_FS_ANAL_VIDEOCD
-                       |CDIO_FS_UNKNOWN), true);
-                       */ return NULL;
-}
-
-
-/*
-   Probe (find anywhere) a CD-DA, VCD, or a DVD.
-   First try the device name that may have been entered for the "disc type"
-   selected. If that doesn't work we try any device for the disc type.
-   If that doesn't work, try looking for CD-ROMs or DVD drives. the
-   disc type, device name and paramter ranges are set to whatever we find.
-*/
-void OpenDialog::OnDiscProbe( wxCommandEvent& WXUNUSED(event) )
-{
-    wxCommandEvent dummy_event;
-    char *psz_device = NULL;
-    bool b_probed_DVD = false;
-    bool b_probed_VCD = false;
-    const int i_selection = disc_type->GetSelection();
-
-    /* Reduce verbosity of cdio errors. */
-    cdio_loglevel_default = CDIO_LOG_ERROR;
-
- retry:
-    switch( disc_type->GetSelection() )
-    {
-
-    case SELECTION_DISC_TYPE_DVD_MENUS:
-    case SELECTION_DISC_TYPE_DVD:
-      /* If not a DVD then try for a VCD. If VCD fails it will
-         try for a CD-DA. */
-      if (!psz_device) psz_device = ProbeDVD(disc_device->GetValue());
-      if (!psz_device)
-      {
-          b_probed_DVD = true;
-          disc_type->SetSelection(SELECTION_DISC_TYPE_VCD);
-          OnDiscTypeChange( dummy_event );
-          goto retry;
-      }
-      disc_device->SetValue( wxL2U(psz_device) );
-      break;
-
-    case SELECTION_DISC_TYPE_VCD:  /* VCD probe of some sort */
-      if(!psz_device) psz_device = ProbeVCD(disc_device->GetValue());
-      if( psz_device  )
-      {
-#ifdef HAVE_VCDX
-#if LIBVCD_VERSION_NUM > 23
-      vcdinfo_obj_t *p_vcdinfo;
-
-          /* Set LID or entry range accurately if possible. */
-      if( vcdinfo_open(&p_vcdinfo, &psz_device, DRIVER_DEVICE,
-                NULL) == VCDINFO_OPEN_VCD)
-      {
-          if (config_GetInt( p_intf, "vcdx-PBC"  ))
-          {
-          /* Set largest LID. */;
-          disc_title->SetRange( 0, vcdinfo_get_num_LIDs(p_vcdinfo) );
-
-          }
-          else
-          {
-          /* Set largest Entry */
-          disc_title->SetRange( 0,
-                    vcdinfo_get_num_entries(p_vcdinfo)-1 );
-          }
-          vcdinfo_close(p_vcdinfo);
-      }
-#endif /* LIBVCD_VERSION_NUM > 23 */
-          disc_device->SetValue( wxL2U(psz_device) );
-#else
-          CdIo_t *p_cdio = cdio_open (psz_device, DRIVER_UNKNOWN);
-          disc_device->SetValue( wxL2U(psz_device) );
-
-          /* Set track range accurately if possible. */
-          if (p_cdio)
-          {
-              track_t i_last_track = cdio_get_last_track_num(p_cdio);
-              disc_title->SetRange( 0, i_last_track-1 );
-          }
-          cdio_destroy(p_cdio);
-#endif
-          break;
-      }
-
-      b_probed_VCD = true;
-
-      /* Not a VCD. Try for a DVD unless we've been there before. */
-      if( !b_probed_DVD && (psz_device = ProbeDVD(disc_device->GetValue())) )
-      {
-          disc_type->SetSelection(SELECTION_DISC_TYPE_DVD_MENUS);
-          OnDiscTypeChange( dummy_event );
-          goto retry;
-      }
-      b_probed_DVD = true;
-
-      /* Couldn't find a VCD or DVD. See if we can find a CD-DA. */
-      psz_device = ProbeCDDA(disc_device->GetValue());
-      if( psz_device  )
-      {
-          disc_type->SetSelection(SELECTION_DISC_TYPE_CDDA);
-          OnDiscTypeChange( dummy_event );
-          goto retry;
-      }
-
-      /* Couldn't find a VCD, DVD or CD-DA. Null out the Device name and
-     set to original selection.
-       */
-      disc_device->SetValue( wxL2U("") );
-      disc_type->SetSelection(i_selection);
-      OnDiscTypeChange( dummy_event );
-      break;
-
-    case SELECTION_DISC_TYPE_CDDA:
-      if(!psz_device) psz_device = ProbeCDDA(disc_device->GetValue());
-      if( psz_device  )
-      {
-          CdIo_t *p_cdio = cdio_open (psz_device, DRIVER_UNKNOWN);
-          disc_device->SetValue( wxL2U(psz_device) );
-          if (p_cdio)
-          {
-              track_t i_last_track = cdio_get_last_track_num(p_cdio);
-              disc_title->SetRange( 0, i_last_track );
-#if 0
-          MediaInsertCDDA( p_intf,  p_cdio, i_last_track );
-#endif
-          }
-          cdio_destroy(p_cdio);
-          break;
-      }
-
-      /* Not a CD-DA. Try for a DVD unless we've been there before. */
-      if( !b_probed_DVD && (psz_device = ProbeDVD(disc_device->GetValue())) )
-      {
-          disc_type->SetSelection(SELECTION_DISC_TYPE_DVD_MENUS);
-          OnDiscTypeChange( dummy_event );
-          goto retry;
-      }
-
-      /* Couldn't find a CD-DA or DVD. See if we can find a VCD, unless
-         we've tried that before. */
-      if (!b_probed_VCD) psz_device = ProbeVCD(disc_device->GetValue());
-      if( psz_device  )
-      {
-          disc_type->SetSelection(SELECTION_DISC_TYPE_VCD);
-          OnDiscTypeChange( dummy_event );
-          goto retry;
-      }
-      disc_device->SetValue( wxL2U("") );
-      break;
-
-    default:
-        msg_Err( p_intf, "invalid Disc type selection (%d)",
-                 disc_type->GetSelection() );
-        break;
-    }
-
-    free( psz_device );
-    disc_probe->SetValue(FALSE);
-
-    UpdateMRL( DISC_ACCESS );
-}
-#endif /* HAVE_LIBCDIO */
-
-void OpenDialog::OnDiscTypeChange( wxCommandEvent& WXUNUSED(event) )
-{
-    char *psz_device = NULL;
-
-    switch( disc_type->GetSelection() )
-    {
-
-    case SELECTION_DISC_TYPE_DVD_MENUS:
-    case SELECTION_DISC_TYPE_DVD:
-        disc_sub->Enable(); disc_sub_label->Enable();
-        disc_audio->Enable(); disc_audio_label->Enable();
-        disc_chapter->Enable(); disc_chapter_label->Enable();
-        disc_title_label->SetLabel ( wxU(_("Title")) );
-        psz_device = config_GetPsz( p_intf, "dvd" );
-        if( !b_disc_device_changed )
-        {
-            if( psz_device ) disc_device->SetValue( wxL2U(psz_device) );
-            else disc_device->SetValue( wxT("") );
-        }
-        disc_title->SetRange( 0, 255 );
-        disc_sub->SetRange( -1, 31 );  // up to 32 subtitles -1: no subtitle
-        disc_audio->SetRange( 0, 7 );  // up to 8 audio channels
-        disc_chapter->SetRange( 0, 255 );
-        disc_title->SetToolTip( wxU(_("Title number.")) );
-        disc_sub->SetToolTip( wxU(_(
-          "DVDs can have up to 32 subtitles numbered 0..31. "
-          "Note this is not the same thing as a subtitle name (e.g. 'en'). "
-          "If a value -1 is used, no subtitle will be shown." )) );
-        disc_audio->SetToolTip( wxU(_("Audio track number. "
-          "DVDs can have up to 8 audio tracks numbered 0..7."
-        )) );
-        break;
-
-    case SELECTION_DISC_TYPE_VCD:
-        disc_sub->Enable(); disc_sub_label->Enable();
-        disc_audio->Enable(); disc_audio_label->Enable();
-        disc_chapter->Disable(); disc_chapter_label->Disable();
-        psz_device = config_GetPsz( p_intf, "vcd" );
-        if( !b_disc_device_changed )
-        {
-            if( psz_device ) disc_device->SetValue( wxL2U(psz_device) );
-            else disc_device->SetValue( wxT("") );
-        }
-
-#ifdef HAVE_VCDX
-        if (config_GetInt( p_intf, "vcdx-PBC"  ))
-        {
-          disc_title_label->SetLabel ( wxT("Playback LID") );
-          disc_title->SetToolTip( wxU(_(
-          "Playback control (PBC) usually starts with number 1." )) );
-        }
-        else
-        {
-          disc_title_label->SetLabel ( wxT("Entry") );
-          disc_title->SetToolTip( wxU(_(
-          "The first entry (the beginning of the first MPEG track) is 0." )) );
-        }
-
-#else
-        disc_title_label->SetLabel ( wxU(_("Track")) );
-        disc_title->SetToolTip( wxU(_("Track number.")) );
-#endif
-        disc_title->SetRange( 0, 99 );  // only 100 tracks allowed on VCDs
-        disc_sub->SetRange( -1, 3 );    // up to 4 subtitles -1 = no subtitle
-        disc_audio->SetRange( 0, 1 );   // up to 2 audio tracks
-        disc_sub->SetToolTip( wxU(_(
-          "SVCDs can have up to 4 subtitles numbered 0..3. "
-          "If a value -1 is used, no subtitle will be shown." )) );
-        disc_audio->SetToolTip( wxU(_("Audio track number. "
-          "VCDs can have up to 2 audio tracks numbered 0 or 1. "
-        )) );
-        break;
-
-    case SELECTION_DISC_TYPE_CDDA:
-        disc_sub->Disable(); disc_sub_label->Disable();
-        disc_chapter->Disable(); disc_chapter_label->Disable();
-        disc_audio->Disable(); disc_audio_label->Disable();
-        disc_title_label->SetLabel ( wxU(_("Track")) );
-#ifdef HAVE_CDDAX
-        disc_title->SetToolTip( wxU(_(
-        "Audio CDs can have up to 100 tracks, the first track is usually 1. "
-        "If 0 is given, then all tracks are played.")) );
-#else
-        disc_title->SetToolTip( wxU(_(
-        "Audio CDs can have up to 100 tracks, the first track is usually 1."
-        )) );
-#endif
-        psz_device = config_GetPsz( p_intf, "cd-audio" );
-        if( !b_disc_device_changed )
-        {
-            if( psz_device ) disc_device->SetValue( wxL2U(psz_device) );
-            else disc_device->SetValue( wxT("") );
-        }
-
-        /* There are at most 100 tracks in a CD-DA */
-        disc_title->SetRange( 0, 100 );
-        break;
-
-    default:
-        msg_Err( p_intf, "invalid Disc type selection (%d)",
-                 disc_type->GetSelection() );
-        break;
-    }
-
-    disc_title->SetValue( 0 ); i_disc_title = 0;
-    disc_chapter->SetValue( 0 ); i_disc_chapter = 0;
-
-    free( psz_device );
-
-    UpdateMRL( DISC_ACCESS );
-}
-
-/*****************************************************************************
- * Net panel event methods.
- *****************************************************************************/
-void OpenDialog::OnNetPanelChangeSpin( wxSpinEvent& event )
-{
-    wxCommandEvent cevent;
-    cevent.SetId(event.GetId());
-    cevent.SetInt(event.GetPosition());
-    OnNetPanelChange(cevent);
-}
-
-void OpenDialog::OnNetPanelChange( wxCommandEvent& event )
-{
-    if( event.GetId() >= NetPort1_Event && event.GetId() <= NetPort3_Event )
-    {
-        i_net_ports[event.GetId() - NetPort1_Event] = event.GetInt();
-    }
-
-    UpdateMRL( NET_ACCESS );
-}
-
-void OpenDialog::OnNetTypeChange( wxCommandEvent& event )
-{
-    int i;
-
-    i_net_type = event.GetId() - NetRadio1_Event;
-
-    for(i=0; i<4; i++)
-    {
-        net_radios[i]->SetValue( event.GetId() == (NetRadio1_Event+i) );
-        net_subpanels[i]->Enable( event.GetId() == (NetRadio1_Event+i) );
-    }
-    /* UDP Unicast or multicast -> timeshift */
-    if( i_net_type == 0 || i_net_type == 1 )
-        net_timeshift->Enable();
-    else
-        net_timeshift->Disable();
-
-    UpdateMRL( NET_ACCESS );
-}
-
-/*****************************************************************************
- * Subtitles file event methods.
- *****************************************************************************/
-void OpenDialog::OnSubsFileEnable( wxCommandEvent& event )
-{
-    subsfile_button->Enable( event.GetInt() != 0 );
-    subbrowse_button->Enable( event.GetInt() != 0 );
-    subfile_combo->Enable( event.GetInt() != 0 );
-}
-
-void OpenDialog::OnSubsFileSettings( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the open dialog */
-    if( subsfile_dialog == NULL )
-        subsfile_dialog = new SubsFileDialog( p_intf, this );
-
-    if( subsfile_dialog && subsfile_dialog->ShowModal() == wxID_OK )
-    {
-        subsfile_mrl.Empty();
-        subsfile_mrl.Add( wxString(wxT("sub-file="))  + subfile_combo->GetValue() );
-        if( subsfile_dialog->encoding_combo )
-        {
-            subsfile_mrl.Add( wxString(wxT("subsdec-encoding=")) +
-                              subsfile_dialog->encoding_combo->GetValue() );
-        }
-        if( subsfile_dialog->align_combo )
-        {
-            subsfile_mrl.Add( wxString::Format(wxT("subsdec-align=%i"),
-                        (int)subsfile_dialog->align_combo->GetClientData(
-                        subsfile_dialog->align_combo->GetSelection()) ) );
-        }
-        if( subsfile_dialog->size_combo )
-        {
-            subsfile_mrl.Add( wxString::Format( wxT("freetype-rel-fontsize=%i"),
-                        (int)subsfile_dialog->size_combo->GetClientData(
-                        subsfile_dialog->size_combo->GetSelection()) ) );
-        }
-        subsfile_mrl.Add( wxString( wxT("sub-fps="))+
-                                    subsfile_dialog->fps_ctrl->GetValue()  );
-        subsfile_mrl.Add( wxString::Format( wxT("sub-delay=%i"),
-                          subsfile_dialog->delay_spinctrl->GetValue() ) );
-    }
-}
-
-/*****************************************************************************
- * Stream output event methods.
- *****************************************************************************/
-void OpenDialog::OnSoutEnable( wxCommandEvent& event )
-{
-    sout_button->Enable( event.GetInt() != 0 );
-}
-
-void OpenDialog::OnSoutSettings( wxCommandEvent& WXUNUSED(event) )
-{
-    /* Show/hide the open dialog */
-    if( sout_dialog == NULL )
-        sout_dialog = new SoutDialog( p_intf, this );
-
-    if( sout_dialog && sout_dialog->ShowModal() == wxID_OK )
-    {
-        sout_mrl = sout_dialog->GetOptions();
-    }
-}
-
-/*****************************************************************************
- * Caching event methods.
- *****************************************************************************/
-void OpenDialog::OnCachingEnable( wxCommandEvent& event )
-{
-    caching_value->Enable( event.GetInt() != 0 );
-    i_caching = caching_value->GetValue();
-    UpdateMRL();
-}
-
-void OpenDialog::OnCachingChangeSpin( wxSpinEvent& event )
-{
-    wxCommandEvent cevent;
-    OnCachingChange(cevent);
-}
-
-void OpenDialog::OnCachingChange( wxCommandEvent& event )
-{
-    i_caching = event.GetInt();
-    UpdateMRL();
-}
-
-/*****************************************************************************
- * Utility functions.
- *****************************************************************************/
-wxArrayString SeparateEntries( wxString entries )
-{
-    bool b_quotes_mode = false;
-
-    wxArrayString entries_array;
-    wxString entry;
-
-    wxStringTokenizer token( entries, wxT(" \t\r\n\""), wxTOKEN_RET_DELIMS );
-
-    while( token.HasMoreTokens() )
-    {
-        entry += token.GetNextToken();
-
-        if( entry.IsEmpty() ) continue;
-
-        if( !b_quotes_mode && entry.Last() == wxT('\"') )
-        {
-            /* Enters quotes mode */
-            entry.RemoveLast();
-            b_quotes_mode = true;
-        }
-        else if( b_quotes_mode && entry.Last() == wxT('\"') )
-        {
-            /* Finished the quotes mode */
-            entry.RemoveLast();
-            b_quotes_mode = false;
-        }
-        else if( !b_quotes_mode && entry.Last() != wxT('\"') )
-        {
-            /* we found a non-quoted standalone string */
-            if( token.HasMoreTokens() ||
-                entry.Last() == wxT(' ') || entry.Last() == wxT('\t') ||
-                entry.Last() == wxT('\r') || entry.Last() == wxT('\n') )
-                entry.RemoveLast();
-            if( !entry.IsEmpty() ) entries_array.Add( entry );
-            entry.Empty();
-        }
-        else
-        {;}
-    }
-
-    if( !entry.IsEmpty() ) entries_array.Add( entry );
-
-    return entries_array;
-}
diff --git a/modules/gui/wxwidgets/dialogs/open.hpp b/modules/gui/wxwidgets/dialogs/open.hpp
deleted file mode 100644 (file)
index 709269d..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-/*****************************************************************************
- * open.hpp: Headers for the Open dialog
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_OPEN_H_
-#define _WXVLC_OPEN_H_
-
-#include "wxwidgets.hpp"
-
-#include <wx/spinctrl.h>
-#include <wx/notebook.h>
-
-class AutoBuiltPanel;
-namespace wxvlc
-{
-    class SubsFileDialog;
-    class SoutDialog;
-    WX_DEFINE_ARRAY(AutoBuiltPanel *, ArrayOfAutoBuiltPanel);
-
-    class OpenDialog: public wxDialog
-    {
-
-public:
-    /* Constructor */
-    OpenDialog( intf_thread_t *p_intf, wxWindow *p_parent,
-                int i_access_method, int i_arg = 0  );
-
-    /* Extended Contructor */
-    OpenDialog( intf_thread_t *p_intf, wxWindow *p_parent,
-                int i_access_method, int i_arg = 0 , int _i_method = 0 );
-    virtual ~OpenDialog();
-
-    int Show();
-    int Show( int i_access_method, int i_arg = 0 );
-
-    void UpdateMRL();
-    void UpdateMRL( int i_access_method );
-
-    wxArrayString mrl;
-
-private:
-    wxPanel *FilePanel( wxWindow* parent );
-    wxPanel *DiscPanel( wxWindow* parent );
-    wxPanel *NetPanel( wxWindow* parent );
-
-    ArrayOfAutoBuiltPanel input_tab_array;
-
-    /* Event handlers (these functions should _not_ be virtual) */
-    void OnOk( wxCommandEvent& event );
-    void OnCancel( wxCommandEvent& event );
-    void OnClose( wxCloseEvent& event );
-
-    void OnPageChange( wxNotebookEvent& event );
-    void OnMRLChange( wxCommandEvent& event );
-
-    /* Event handlers for the file page */
-    void OnFilePanelChange( wxCommandEvent& event );
-    void OnFileBrowse( wxCommandEvent& event );
-    void OnSubFileBrowse( wxCommandEvent& event );
-    void OnSubFileChange( wxCommandEvent& event );
-
-    /* Event handlers for the disc page */
-    void OnDiscPanelChangeSpin( wxSpinEvent& event );
-    void OnDiscPanelChange( wxCommandEvent& event );
-    void OnDiscTypeChange( wxCommandEvent& event );
-#ifdef HAVE_LIBCDIO
-    void OnDiscProbe( wxCommandEvent& event );
-#endif
-    void OnDiscDeviceChange( wxCommandEvent& event );
-
-    /* Event handlers for the net page */
-    void OnNetPanelChangeSpin( wxSpinEvent& event );
-    void OnNetPanelChange( wxCommandEvent& event );
-    void OnNetTypeChange( wxCommandEvent& event );
-
-    /* Event handlers for the stream output */
-    void OnSubsFileEnable( wxCommandEvent& event );
-    void OnSubsFileSettings( wxCommandEvent& WXUNUSED(event) );
-
-    /* Event handlers for the stream output */
-    void OnSoutEnable( wxCommandEvent& event );
-    void OnSoutSettings( wxCommandEvent& WXUNUSED(event) );
-
-    /* Event handlers for the caching option */
-    void OnCachingEnable( wxCommandEvent& event );
-    void OnCachingChange( wxCommandEvent& event );
-    void OnCachingChangeSpin( wxSpinEvent& event );
-
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-    wxWindow *p_parent;
-    int i_current_access_method;
-    int i_disc_type_selection;
-
-    int i_method; /* Normal or for the stream dialog ? */
-    int i_open_arg;
-
-    wxComboBox *mrl_combo;
-    wxNotebook *notebook;
-
-    /* Controls for the file panel */
-    wxComboBox *file_combo;
-    wxComboBox *subfile_combo;
-    wxFileDialog *file_dialog;
-
-    /* Controls for the disc panel */
-    wxRadioBox *disc_type;
-    wxCheckBox *disc_probe;
-    wxTextCtrl *disc_device;
-    wxSpinCtrl *disc_title; int i_disc_title;
-    wxSpinCtrl *disc_chapter; int i_disc_chapter;
-    wxSpinCtrl *disc_sub; int i_disc_sub;
-    wxSpinCtrl *disc_audio; int i_disc_audio;
-
-    /* The media equivalent name for a DVD names. For example,
-     * "Title", is "Track" for a CD-DA */
-    wxStaticText *disc_title_label;
-    wxStaticText *disc_chapter_label;
-    wxStaticText *disc_sub_label;
-    wxStaticText *disc_audio_label;
-
-    /* Indicates if the disc device control was modified */
-    bool b_disc_device_changed;
-
-    /* Controls for the net panel */
-    wxRadioBox *net_type;
-    int i_net_type;
-    wxPanel *net_subpanels[4];
-    wxRadioButton *net_radios[4];
-    wxSpinCtrl *net_ports[4];
-    int        i_net_ports[4];
-    wxTextCtrl *net_addrs[4];
-    wxCheckBox *net_timeshift;
-    wxCheckBox *net_ipv6;
-
-    /* Controls for the subtitles file */
-    wxButton *subsfile_button;
-    wxButton *subbrowse_button;
-    wxCheckBox *subsfile_checkbox;
-    SubsFileDialog *subsfile_dialog;
-    wxArrayString subsfile_mrl;
-
-    /* Controls for the stream output */
-    wxButton *sout_button;
-    wxCheckBox *sout_checkbox;
-    SoutDialog *sout_dialog;
-    wxArrayString sout_mrl;
-
-    /* Controls for the caching options */
-    wxCheckBox *caching_checkbox;
-    wxSpinCtrl *caching_value;
-    int i_caching;
-};
-
-};
-
-enum
-{
-    FILE_ACCESS = 0,
-    DISC_ACCESS,
-    NET_ACCESS,
-
-    /* Auto-built panels */
-    CAPTURE_ACCESS
-};
-#define MAX_ACCESS CAPTURE_ACCESS
-
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/playlist.cpp b/modules/gui/wxwidgets/dialogs/playlist.cpp
deleted file mode 100644 (file)
index ea64de5..0000000
+++ /dev/null
@@ -1,1712 +0,0 @@
-/*****************************************************************************
- * playlist.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
- *          Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/OR MODIFy
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "dialogs/playlist.hpp"
-#include "dialogs/iteminfo.hpp"
-
-#include "bitmaps/shuffle.xpm"
-#include "bitmaps/repeat.xpm"
-#include "bitmaps/loop.xpm"
-
-#include "bitmaps/type_unknown.xpm"
-#include "bitmaps/type_afile.xpm"
-#include "bitmaps/type_vfile.xpm"
-#include "bitmaps/type_net.xpm"
-#include "bitmaps/type_card.xpm"
-#include "bitmaps/type_disc.xpm"
-#include "bitmaps/type_cdda.xpm"
-#include "bitmaps/type_directory.xpm"
-#include "bitmaps/type_playlist.xpm"
-#include "bitmaps/type_node.xpm"
-
-#include <wx/dynarray.h>
-#include <wx/imaglist.h>
-
-#include <vlc_meta.h>
-#include "vlc_charset.h"
-
-#define HELP_SHUFFLE N_( "Shuffle" )
-#define HELP_LOOP N_( "Repeat All" )
-#define HELP_REPEAT N_( "Repeat One" )
-
-namespace wxvlc {
-/* Callback prototype */
-static int PlaylistChanged( vlc_object_t *, const char *,
-                            vlc_value_t, vlc_value_t, void * );
-static int PlaylistNext( vlc_object_t *, const char *,
-                         vlc_value_t, vlc_value_t, void * );
-static int ItemChanged( vlc_object_t *, const char *,
-                        vlc_value_t, vlc_value_t, void * );
-static int ItemAppended( vlc_object_t *p_this, const char *psz_variable,
-                         vlc_value_t oval, vlc_value_t nval, void *param );
-static int ItemDeleted( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t oval, vlc_value_t nval, void *param );
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    /* menu items */
-    AddFile_Event = 1,
-    AddDir_Event,
-    AddMRL_Event,
-    Close_Event,
-    Open_Event,
-    Save_Event,
-
-    SortTitle_Event,
-    RSortTitle_Event,
-    Randomize_Event,
-
-    DeleteSelection_Event,
-    Random_Event,
-    Loop_Event,
-    Repeat_Event,
-
-    PopupPlay_Event,
-    PopupPlayThis_Event,
-    PopupPreparse_Event,
-    PopupSort_Event,
-    PopupDel_Event,
-    PopupInfo_Event,
-    PopupAddNode_Event,
-
-    SearchText_Event,
-    Search_Event,
-
-    /* controls */
-    Source_Event,
-    TreeCtrl_Event,
-
-    Browse_Event,  /* For export playlist */
-
-    /* custom events */
-    UpdateItem_Event,
-    AppendItem_Event,
-    RemoveItem_Event,
-
-    MenuDummy_Event = wxID_HIGHEST + 999,
-
-    FirstView_Event = wxID_HIGHEST + 1000,
-    CategoryView_Event, OneLevelView_Event,
-    LastView_Event = wxID_HIGHEST + 1100,
-
-    FirstSD_Event = wxID_HIGHEST + 2000,
-    LastSD_Event = wxID_HIGHEST + 2100,
-};
-
-DEFINE_LOCAL_EVENT_TYPE( wxEVT_PLAYLIST );
-
-BEGIN_EVENT_TABLE(Playlist, wxFrame)
-    EVT_SIZE(Playlist::OnSize)
-
-    /* Menu events */
-    EVT_MENU(AddFile_Event, Playlist::OnAddFile)
-    EVT_MENU(AddDir_Event, Playlist::OnAddDir)
-    EVT_MENU(AddMRL_Event, Playlist::OnAddMRL)
-    EVT_MENU(Close_Event, Playlist::OnMenuClose)
-    EVT_MENU(Open_Event, Playlist::OnOpen)
-    EVT_MENU(Save_Event, Playlist::OnSave)
-
-    EVT_MENU(SortTitle_Event, Playlist::OnSort)
-    EVT_MENU(RSortTitle_Event, Playlist::OnSort)
-
-    EVT_MENU(Randomize_Event, Playlist::OnSort)
-
-    EVT_MENU(DeleteSelection_Event, Playlist::OnDeleteSelection)
-
-    EVT_MENU_OPEN( Playlist::OnMenuOpen )
-    EVT_MENU( -1, Playlist::OnMenuEvent )
-
-    EVT_TOOL(Random_Event, Playlist::OnRandom)
-    EVT_TOOL(Repeat_Event, Playlist::OnRepeat)
-    EVT_TOOL(Loop_Event, Playlist::OnLoop)
-
-    /* Popup events */
-    EVT_MENU( PopupPlay_Event, Playlist::OnPopupPlay)
-    EVT_MENU( PopupPlayThis_Event, Playlist::OnPopupPlay)
-    EVT_MENU( PopupPreparse_Event, Playlist::OnPopupPreparse)
-    EVT_MENU( PopupSort_Event, Playlist::OnPopupSort)
-    EVT_MENU( PopupDel_Event, Playlist::OnPopupDel)
-    EVT_MENU( PopupInfo_Event, Playlist::OnPopupInfo)
-    EVT_MENU( PopupAddNode_Event, Playlist::OnPopupAddNode)
-
-    /* Source selector */
-    EVT_LIST_ITEM_SELECTED( Source_Event, Playlist::OnSourceSelected )
-    /* Tree control events */
-    EVT_TREE_ITEM_ACTIVATED( TreeCtrl_Event, Playlist::OnActivateItem )
-    EVT_TREE_KEY_DOWN( -1, Playlist::OnKeyDown )
-    EVT_TREE_BEGIN_DRAG( TreeCtrl_Event, Playlist::OnDragItemBegin )
-    EVT_TREE_END_DRAG( TreeCtrl_Event, Playlist::OnDragItemEnd )
-
-    EVT_CONTEXT_MENU( Playlist::OnPopup )
-
-    /* Button events */
-    EVT_BUTTON( Search_Event, Playlist::OnSearch)
-    EVT_BUTTON( Save_Event, Playlist::OnSave)
-
-    /*EVT_TEXT( SearchText_Event, Playlist::OnSearchTextChange )*/
-    EVT_TEXT_ENTER( SearchText_Event, Playlist::OnSearch )
-
-    /* Custom events */
-    EVT_COMMAND(-1, wxEVT_PLAYLIST, Playlist::OnPlaylistEvent)
-
-    /* Special events : we don't want to destroy the window when the user
-     * clicks on (X) */
-    EVT_CLOSE(Playlist::OnClose)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * PlaylistItem class
- ****************************************************************************/
-class PlaylistItem : public wxTreeItemData
-{
-public:
-    PlaylistItem( playlist_item_t *p_item ) : wxTreeItemData()
-    {
-        i_id = p_item->i_id;
-        i_input_id = p_item->p_input->i_id;
-    }
-protected:
-    int i_input_id;
-    int i_id;
-friend class Playlist;
-friend class PlaylistFileDropTarget;
-};
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-Playlist::Playlist( intf_thread_t *_p_intf, wxWindow *p_parent ):
-    wxFrame( p_parent, -1, wxU(_("Playlist")), wxDefaultPosition,
-             wxSize(500,300), wxDEFAULT_FRAME_STYLE )
-{
-    vlc_value_t val;
-
-    /* Initializations */
-    p_intf = _p_intf;
-    pp_sds = NULL;
-    i_update_counter = 0;
-    i_sort_mode = MODE_NONE;
-    b_need_update = false;
-    i_items_to_append = 0;
-    p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL ) return;
-
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    p_view_menu = NULL;
-    p_sd_menu = SDMenu();
-
-    p_current_viewroot = p_playlist->p_root_category;
-    p_current_treeroot = NULL;
-
-    i_title_sorted = 0;
-    i_group_sorted = 0;
-    i_duration_sorted = 0;
-
-    var_Create( p_intf, "random", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
-    var_Create( p_intf, "loop", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
-    var_Create( p_intf, "repeat", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );;
-
-    /* Create our "Manage" menu */
-    wxMenu *manage_menu = new wxMenu;
-    manage_menu->Append( AddFile_Event, wxU(_("&Simple Add File...")) );
-    manage_menu->Append( AddDir_Event, wxU(_("Add &Directory...")) );
-    manage_menu->Append( AddMRL_Event, wxU(_("&Add URL...")) );
-    manage_menu->AppendSeparator();
-    manage_menu->Append( MenuDummy_Event, wxU(_("Services Discovery")),
-                         p_sd_menu );
-    manage_menu->AppendSeparator();
-    manage_menu->Append( Open_Event, wxU(_("&Open Playlist...")) );
-    manage_menu->Append( Save_Event, wxU(_("&Save Playlist...")) );
-    manage_menu->AppendSeparator();
-    manage_menu->Append( Close_Event, wxU(_("&Close")) );
-
-    /* Create our "Sort" menu */
-    wxMenu *sort_menu = new wxMenu;
-    sort_menu->Append( SortTitle_Event, wxU(_("Sort by &Title")) );
-    sort_menu->Append( RSortTitle_Event, wxU(_("&Reverse Sort by Title")) );
-    sort_menu->AppendSeparator();
-    sort_menu->Append( Randomize_Event, wxU(_("&Shuffle")) );
-
-    /* Create our "Selection" menu */
-    wxMenu *selection_menu = new wxMenu;
-    selection_menu->Append( DeleteSelection_Event, wxU(_("D&elete")) );
-
-    /* Create our "View" menu */
-    ViewMenu();
-
-    /* Append the freshly created menus to the menu bar */
-    wxMenuBar *menubar = new wxMenuBar();
-    menubar->Append( manage_menu, wxU(_("&Manage")) );
-    menubar->Append( sort_menu, wxU(_("S&ort")) );
-    menubar->Append( selection_menu, wxU(_("&Selection")) );
-    menubar->Append( p_view_menu, wxU(_("&View items") ) );
-
-    /* Attach the menu bar to the frame */
-    SetMenuBar( menubar );
-
-    /* Create the popup menu */
-    node_popup = new wxMenu;
-    node_popup->Append( PopupPlay_Event, wxU(_("Play")) );
-    node_popup->Append( PopupPlayThis_Event, wxU(_("Play this Branch")) );
-    node_popup->Append( PopupPreparse_Event, wxU(_("Preparse")) );
-    node_popup->Append( PopupSort_Event, wxU(_("Sort this Branch")) );
-    node_popup->Append( PopupDel_Event, wxU(_("Delete")) );
-    node_popup->Append( PopupInfo_Event, wxU(_("Info")) );
-    node_popup->Append( PopupAddNode_Event, wxU(_("Add Node")) );
-
-    item_popup = new wxMenu;
-    item_popup->Append( PopupPlay_Event, wxU(_("Play")) );
-    item_popup->Append( PopupPreparse_Event, wxU(_("Preparse")) );
-    item_popup->Append( PopupDel_Event, wxU(_("Delete")) );
-    item_popup->Append( PopupInfo_Event, wxU(_("Info")) );
-
-    /* Create a panel to put everything in */
-    wxPanel *playlist_panel = new wxPanel( this, -1 );
-    playlist_panel->SetAutoLayout( TRUE );
-
-    /* Create the toolbar */
-    wxToolBar *toolbar =
-        CreateToolBar( wxTB_HORIZONTAL | wxTB_FLAT );
-
-    /* Create the random tool */
-    toolbar->AddTool( Random_Event, wxT(""), wxBitmap(shuffle_on_xpm),
-                       wxBitmap(shuffle_on_xpm), wxITEM_CHECK,
-                       wxU(_(HELP_SHUFFLE) ) );
-    var_Get( p_intf, "random", &val );
-    toolbar->ToggleTool( Random_Event, val.b_bool );
-
-    /* Create the Loop tool */
-    toolbar->AddTool( Loop_Event, wxT(""), wxBitmap( loop_xpm),
-                      wxBitmap( loop_xpm), wxITEM_CHECK,
-                      wxU(_(HELP_LOOP )  ) );
-    var_Get( p_intf, "loop", &val );
-    toolbar->ToggleTool( Loop_Event, val.b_bool );
-
-    /* Create the Repeat one checkbox */
-    toolbar->AddTool( Repeat_Event, wxT(""), wxBitmap( repeat_xpm),
-                      wxBitmap( repeat_xpm), wxITEM_CHECK,
-                      wxU(_(HELP_REPEAT )  ) );
-    var_Get( p_intf, "repeat", &val );
-    toolbar->ToggleTool( Repeat_Event, val.b_bool ) ;
-
-    /* Create the Search Textbox */
-    search_text = new wxTextCtrl( toolbar, SearchText_Event, wxT(""),
-                                  wxDefaultPosition, wxSize(100, -1),
-                                  wxTE_PROCESS_ENTER);
-
-    /* Create the search button */
-    search_button = new wxButton( toolbar , Search_Event, wxU(_("Search")) );
-
-    toolbar->AddControl( new wxControl( toolbar, -1, wxDefaultPosition,
-                         wxSize(16, 16), wxBORDER_NONE ) );
-    toolbar->AddControl( search_text );
-    toolbar->AddControl( new wxControl( toolbar, -1, wxDefaultPosition,
-                         wxSize(5, 5), wxBORDER_NONE ) );
-    toolbar->AddControl( search_button );
-    search_button->SetDefault();
-    toolbar->Realize();
-
-    /* Create teh source selector */
-    source_sel = new wxListView( playlist_panel, Source_Event,
-                                 wxDefaultPosition, wxDefaultSize,
-                                 wxLC_AUTOARRANGE|wxLC_SINGLE_SEL );
-
-    /* Create the tree */
-    treectrl = new wxTreeCtrl( playlist_panel, TreeCtrl_Event,
-                               wxDefaultPosition, wxDefaultSize,
-                               wxTR_HIDE_ROOT | wxTR_LINES_AT_ROOT|
-                               wxTR_NO_LINES |
-                               wxTR_HAS_BUTTONS | wxTR_TWIST_BUTTONS |
-                               wxTR_MULTIPLE | wxTR_EXTENDED );
-
-    /* Create image list */
-    wxImageList *p_images = new wxImageList( 16 , 16, TRUE );
-
-    /* FIXME: absolutely needs to be in the right order FIXME */
-    p_images->Add( wxIcon( type_unknown_xpm ) );
-    p_images->Add( wxIcon( type_afile_xpm ) );
-    p_images->Add( wxIcon( type_vfile_xpm ) );
-    p_images->Add( wxIcon( type_directory_xpm ) );
-    p_images->Add( wxIcon( type_disc_xpm ) );
-    p_images->Add( wxIcon( type_cdda_xpm ) );
-    p_images->Add( wxIcon( type_card_xpm ) );
-    p_images->Add( wxIcon( type_net_xpm ) );
-    p_images->Add( wxIcon( type_playlist_xpm ) );
-    p_images->Add( wxIcon( type_node_xpm ) );
-    treectrl->AssignImageList( p_images );
-
-    /* Reduce font size */
-    wxFont font= treectrl->GetFont();
-    font.SetPointSize(9);
-    treectrl->SetFont( font );
-
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxHORIZONTAL );
-    panel_sizer->Add( source_sel, 0, wxALL | wxEXPAND, 5 );
-    panel_sizer->Add( treectrl, 1, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-
-    playlist_panel->SetSizerAndFit( panel_sizer );
-
-    int pi_widths[1] =  { -1 };
-    statusbar = CreateStatusBar( 1 );
-    statusbar->SetStatusWidths( 1, pi_widths );
-
-#if wxUSE_DRAG_AND_DROP
-    /* Associate drop targets with the playlist */
-    SetDropTarget( new PlaylistFileDropTarget( this ) );
-    menubar->SetDropTarget( new PlaylistFileDropTarget( this ) );
-    toolbar->SetDropTarget( new PlaylistFileDropTarget( this ) );
-#endif
-
-    i_saved_id = -1;
-    i_saved_input_id = -1;
-
-    /* Some global changes happened -> Rebuild all */
-    var_AddCallback( p_playlist, "intf-change", PlaylistChanged, this );
-
-    /* We went to the next item */
-    var_AddCallback( p_playlist, "playlist-current", PlaylistNext, this );
-
-    /* One item has been updated */
-    var_AddCallback( p_playlist, "item-change", ItemChanged, this );
-
-    var_AddCallback( p_playlist, "item-append", ItemAppended, this );
-    var_AddCallback( p_playlist, "item-deleted", ItemDeleted, this );
-
-    /* Update the playlist */
-    p_current_treeroot = p_playlist->p_local_category;
-    Rebuild( true );
-}
-
-Playlist::~Playlist()
-{
-    if( pp_sds != NULL )
-    {
-        char **pp_sd = pp_sds;
-        for( ; *pp_sd; pp_sd++ ) free( *pp_sd );
-        free( pp_sds );
-    }
-
-    if( p_playlist == NULL ) return;
-
-    var_DelCallback( p_playlist, "item-change", ItemChanged, this );
-    var_DelCallback( p_playlist, "playlist-current", PlaylistNext, this );
-    var_DelCallback( p_playlist, "intf-change", PlaylistChanged, this );
-    var_DelCallback( p_playlist, "item-append", ItemAppended, this );
-    var_DelCallback( p_playlist, "item-deleted", ItemDeleted, this );
-    vlc_object_release( p_playlist );
-}
-
-/**********************************************************************
- * Update functions
- **********************************************************************/
-
-/* Update a node */
-void Playlist::UpdateNode( playlist_item_t *p_node, wxTreeItemId node )
-{
-    wxTreeItemIdValue cookie;
-    wxTreeItemId child;
-    for( int i = 0; i< p_node->i_children ; i++ )
-    {
-        if( i == 0 )
-        {
-            child = treectrl->GetFirstChild( node, cookie);
-        }
-        else
-        {
-            child = treectrl->GetNextChild( node, cookie );
-        }
-
-        if( !child.IsOk() )
-        {
-            /* Not enough children */
-            CreateNode( p_node->pp_children[i], node );
-            /* Keep the tree pointer up to date */
-            child = treectrl->GetNextChild( node, cookie );
-        }
-    }
-    treectrl->SetItemImage( node, p_node->p_input->i_type );
-
-}
-
-/* Creates the node p_node as last child of parent */
-void Playlist::CreateNode( playlist_item_t *p_node, wxTreeItemId parent )
-{
-    wxTreeItemId node =
-        treectrl->AppendItem( parent, wxL2U( p_node->p_input->psz_name ),
-                              -1,-1, new PlaylistItem( p_node ) );
-    treectrl->SetItemImage( node, p_node->p_input->i_type );
-
-    UpdateNodeChildren( p_node, node );
-}
-
-/* Update all children (recursively) of this node */
-void Playlist::UpdateNodeChildren( playlist_item_t *p_node,
-                                   wxTreeItemId node )
-{
-    for( int i = 0; i< p_node->i_children ; i++ )
-    {
-        /* Append the item */
-        if( p_node->pp_children[i]->i_children == -1 )
-        {
-            if( !(p_node->pp_children[i]->i_flags & PLAYLIST_DBL_FLAG) )
-            {
-                wxTreeItemId item =
-                    treectrl->AppendItem( node,
-                    wxL2U( p_node->pp_children[i]->p_input->psz_name ), -1,-1,
-                           new PlaylistItem( p_node->pp_children[i]) );
-
-                UpdateTreeItem( item );
-            }
-        }
-        else
-        {
-            CreateNode( p_node->pp_children[i], node );
-        }
-    }
-}
-
-/* Update an item in the tree */
-void Playlist::UpdateTreeItem( wxTreeItemId item )
-{
-    LockPlaylist( p_intf->p_sys, p_playlist );
-    if( ! item.IsOk() ) return;
-
-    wxTreeItemData *p_data = treectrl->GetItemData( item );
-    if( !p_data ) return;
-
-    playlist_item_t *p_item = playlist_ItemGetById( p_playlist,
-                                    ((PlaylistItem *)p_data)->i_id, true );
-    if( !p_item )
-    {
-        UnlockPlaylist( p_intf->p_sys, p_playlist );
-        return;
-    }
-
-    wxString msg;
-    wxString duration = wxU( "" );
-
-    char *psz_artist = input_item_GetArtist( p_item->p_input );
-    char *psz_name = input_item_GetName( p_item->p_input );
-
-    char psz_duration[MSTRTIME_MAX_SIZE];
-    mtime_t dur = input_item_GetDuration( p_item->p_input );
-
-    if( dur != -1 )
-    {
-        secstotimestr( psz_duration, dur/1000000 );
-        duration.Append( wxU( " ( " ) +  wxString( wxU( psz_duration ) ) +
-                         wxU( " )" ) );
-    }
-
-    if( !psz_artist || !strcmp( psz_artist, "" ) || p_item->p_input->b_fixed_name == true )
-    {
-        msg = wxString( wxU( psz_name ) ) + duration;
-    }
-    else
-    {
-        msg = wxString(wxU( psz_artist )) + wxT(" - ") +
-              wxString(wxU(psz_name)) + duration;
-    }
-    free( psz_artist );
-    free( psz_name );
-    treectrl->SetItemText( item , msg );
-    treectrl->SetItemImage( item, p_item->p_input->i_type );
-
-    if( p_playlist->status.p_item == p_item )
-    {
-        treectrl->SetItemBold( item, true );
-        while( treectrl->GetItemParent( item ).IsOk() )
-        {
-            item = treectrl->GetItemParent( item );
-            if( ! (item == treectrl->GetRootItem() &&
-                treectrl->HasFlag( wxTR_HIDE_ROOT ) ) )
-                treectrl->Expand( item );
-        }
-    }
-    else
-    {
-        treectrl->SetItemBold( item, false );
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-/* Process a AppendIt em request */
-void Playlist::AppendItem( wxCommandEvent& event )
-{
-    playlist_add_t *p_add = (playlist_add_t *)event.GetClientData();
-    playlist_item_t *p_item = NULL;
-    wxTreeItemId item, node;
-
-    i_items_to_append--;
-
-    /* No need to do anything if the playlist is going to be rebuilt */
-    if( b_need_update ) return;
-
-    node = FindItem( treectrl->GetRootItem(), p_add->i_node );
-    if( !node.IsOk() ) goto update;
-
-    p_item = playlist_ItemGetById( p_playlist, p_add->i_item, true );
-    if( !p_item ) goto update;
-    if( (p_item->i_flags & PLAYLIST_DBL_FLAG ) ) goto update;
-
-    item = FindItem( treectrl->GetRootItem(), p_add->i_item );
-    if( item.IsOk() ) goto update;
-
-    item = treectrl->AppendItem( node,
-                                 wxL2U( p_item->p_input->psz_name ), -1,-1,
-                                 new PlaylistItem( p_item ) );
-    treectrl->SetItemImage( item, p_item->p_input->i_type );
-
-    if( item.IsOk() && p_item->i_children == -1 )
-    {
-        UpdateTreeItem( item );
-    }
-
-update:
-    int i_count = CountItems( treectrl->GetRootItem());
-    statusbar->SetStatusText( wxString::Format( wxU(_(
-                                  "%i items in playlist" ) ), i_count ) );
-    return;
-}
-
-/* Process a updateitem request */
-void Playlist::UpdateItem( int i )
-{
-    if( i < 0 ) return; /* Sanity check */
-    wxTreeItemId item = FindItemByInput( treectrl->GetRootItem(), i );
-    if( item.IsOk() )
-    {
-        UpdateTreeItem( item );
-    }
-}
-
-void Playlist::RemoveItem( int i )
-{
-    if( i <= 0 ) return; /* Sanity check */
-    if( i == i_saved_id ) i_saved_id = -1;
-
-    /* Hack: always invalidate input item cache */
-    i_saved_input_id = -1;
-
-    /// \todo Check if it is in the source selector */
-
-    wxTreeItemId item = FindItem( treectrl->GetRootItem(), i );
-
-    if( item.IsOk() )
-    {
-        treectrl->Delete( item );
-    }
-}
-
-
-/**********************************************************************
- * Search functions (internal)
- **********************************************************************/
-
-/* Find a wxItem from a playlist id */
-wxTreeItemId Playlist::FindItem( wxTreeItemId root, int i_id )
-{
-    return FindItemInner( root, i_id, false );
-}
-
-wxTreeItemId Playlist::FindItemByInput( wxTreeItemId root, int i_input_id )
-{
-    return FindItemInner( root, i_input_id, true );
-}
-
-wxTreeItemId Playlist::FindItemInner( wxTreeItemId root, int i_id, bool b_byinput )
-{
-    wxTreeItemIdValue cookie;
-    PlaylistItem *p_wxcurrent;
-    wxTreeItemId search;
-    wxTreeItemId item = treectrl->GetFirstChild( root, cookie );
-    wxTreeItemId child;
-
-    p_wxcurrent = (PlaylistItem *)treectrl->GetItemData( root );
-
-    if( i_id < 0 )
-    {
-        wxTreeItemId dummy; dummy.Unset(); return dummy;
-    }
-    if( b_byinput && i_saved_input_id == i_id )
-        return saved_input_tree_item;
-    if( !b_byinput && i_saved_id == i_id)
-        return saved_tree_item;
-
-    if( !p_wxcurrent )
-    {
-        wxTreeItemId dummy; dummy.Unset(); return dummy;
-    }
-
-    if( !b_byinput && p_wxcurrent->i_id == i_id  )
-    {
-        i_saved_id = i_id;
-        saved_tree_item = root;
-        return root;
-    }
-    if( b_byinput && p_wxcurrent->i_input_id == i_id )
-    {
-        i_saved_input_id = i_id;
-        saved_input_tree_item = root;
-        return root;
-    }
-
-    while( item.IsOk() )
-    {
-        p_wxcurrent = (PlaylistItem *)treectrl->GetItemData( item );
-        if( !b_byinput && p_wxcurrent->i_id == i_id )
-        {
-            i_saved_id = i_id;
-            saved_tree_item = item;
-            return item;
-        }
-        else if( b_byinput && p_wxcurrent->i_input_id == i_id )
-        {
-            i_saved_input_id = i_id;
-            saved_input_tree_item = item;
-            return item;
-        }
-        if( treectrl->ItemHasChildren( item ) )
-        {
-            wxTreeItemId search = FindItemInner( item, i_id, b_byinput );
-            if( search.IsOk() )
-            {
-                if( !b_byinput )
-                {
-                    i_saved_id = i_id;
-                    saved_tree_item = search;
-                    return search;
-                }
-                else
-                {
-                    i_saved_input_id = i_id;
-                    saved_input_tree_item = search;
-                    return search;
-
-                }
-            }
-        }
-        item = treectrl->GetNextChild( root, cookie );
-    }
-    /* Not found */
-    wxTreeItemId dummy; dummy.Unset(); return dummy;
-}
-
-int Playlist::CountItems( wxTreeItemId root )
-{
-    wxTreeItemIdValue cookie;
-    int count = 0;
-    wxTreeItemId item = treectrl->GetFirstChild( root, cookie );
-
-    while( item.IsOk() )
-    {
-        if( treectrl->ItemHasChildren( item ) )
-        {
-            count += CountItems( item );
-        }
-        else
-        {
-            playlist_item_t *p_item;
-            LockPlaylist( p_intf->p_sys, p_playlist );
-            p_item = playlist_ItemGetById( p_playlist, ((PlaylistItem *)treectrl->GetItemData( item ))->i_id, true );
-            if( p_item && p_item->i_children == -1 )
-                count++;
-            UnlockPlaylist( p_intf->p_sys, p_playlist );
-        }
-        item = treectrl->GetNextChild( root, cookie );
-    }
-    return count;
-}
-
-/* Find a wxItem from a name (from current) */
-wxTreeItemId Playlist::FindItemByName( wxTreeItemId root, wxString search_string, wxTreeItemId current, bool *pb_current_found )
-{
-    wxTreeItemIdValue cookie;
-    wxTreeItemId search;
-    wxTreeItemId item = treectrl->GetFirstChild( root, cookie );
-    wxTreeItemId child;
-
-    while( item.IsOk() )
-    {
-        if( treectrl->GetItemText( item).Lower().Contains(
-                                                 search_string.Lower() ) )
-        {
-            if( !current.IsOk() || *pb_current_found == true )
-            {
-                return item;
-            }
-            else if( current.IsOk() && item == current )
-            {
-                *pb_current_found = true;
-            }
-        }
-        if( treectrl->ItemHasChildren( item ) )
-        {
-            wxTreeItemId search = FindItemByName( item, search_string, current,
-                                                  pb_current_found );
-            if( search.IsOk() )
-            {
-                return search;
-            }
-        }
-        item = treectrl->GetNextChild( root, cookie);
-    }
-    /* Not found */
-    wxTreeItemId dummy; dummy.Unset();
-    return dummy;
-}
-
-/**********************************************************************
- * Rebuild the playlist
- **********************************************************************/
-void Playlist::Rebuild( bool b_root )
-{
-    i_items_to_append = 0;
-
-    LockPlaylist( p_intf->p_sys, p_playlist );
-
-    /* Invalidate cache */
-    i_saved_id = -1;
-    i_saved_input_id = -1;
-
-    /* Rebuild the list */
-    source_sel->ClearAll();
-    for( int i = 0 ; i< p_current_viewroot->i_children ; i++ )
-    {
-        source_sel->InsertItem( i,
-               wxL2U( p_current_viewroot->pp_children[i]->p_input->psz_name) );
-        source_sel->SetItemData( i,
-                        p_current_viewroot->pp_children[i]->i_id );
-        if( p_current_viewroot->pp_children[i] == p_current_treeroot )
-            source_sel->Select( i );
-    }
-
-    /* HACK we should really get new*/
-    treectrl->DeleteAllItems();
-    treectrl->AddRoot( wxU(_("root" )), -1, -1,
-                         new PlaylistItem( p_current_treeroot ) );
-
-    wxTreeItemId root = treectrl->GetRootItem();
-    UpdateNodeChildren( p_current_treeroot, root );
-
-    int i_count = CountItems( treectrl->GetRootItem() );
-
-    statusbar->SetStatusText( wxString::Format( wxU(_(
-                              "%i items in playlist")), i_count ), 0 );
-
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void Playlist::ShowPlaylist( bool show )
-{
-    if( show ) Rebuild( true );
-    Show( show );
-}
-
-/* This function is called on a regular basis */
-void Playlist::UpdatePlaylist()
-{
-    i_update_counter++;
-
-    /* If the playlist isn't show there's no need to update it */
-    if( !IsShown() ) return;
-
-    if( this->b_need_update )
-    {
-        this->b_need_update = false;
-        Rebuild( true );
-    }
-
-    /* Updating the playing status every 0.5s is enough */
-    if( i_update_counter % 5 ) return;
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-void Playlist::DeleteTreeItem( wxTreeItemId item )
-{
-   PlaylistItem *p_wxitem;
-   playlist_item_t *p_item;
-   p_wxitem = (PlaylistItem *)treectrl->GetItemData( item );
-
-   LockPlaylist( p_intf->p_sys, p_playlist );
-   p_item = playlist_ItemGetById( p_playlist, p_wxitem->i_id, true );
-
-   if( !p_item )
-   {
-       UnlockPlaylist( p_intf->p_sys, p_playlist );
-       return;
-   }
-
-   if( p_item->i_children == -1 ) DeleteItem( p_item->p_input->i_id );
-   else DeleteNode( p_item );
-
-   RemoveItem( p_item->i_id );
-   UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void Playlist::DeleteItem( int item_id )
-{
-    playlist_DeleteFromInput( p_playlist, item_id, true );
-}
-
-void Playlist::DeleteNode( playlist_item_t *p_item )
-{
-    playlist_NodeDelete( p_playlist, p_item, true , false );
-}
-
-void Playlist::OnMenuClose( wxCommandEvent& event )
-{
-    wxCloseEvent cevent;
-    OnClose(cevent);
-}
-
-void Playlist::OnClose( wxCloseEvent& WXUNUSED(event) )
-{
-    Hide();
-}
-
-void Playlist::OnSave( wxCommandEvent& WXUNUSED(event) )
-{
-    struct {
-        char *psz_desc;
-        char *psz_filter;
-        char *psz_module;
-    } formats[] = {//{ _("M3U file"), "*.m3u", "export-m3u" },
-                   { _("XSPF playlist"), "*.xspf", "export-xspf"}
-    };
-
-    wxString filter = wxT("");
-
-    if( playlist_IsEmpty( p_playlist ) )
-    {
-        wxMessageBox( wxU(_("Playlist is empty") ), wxU(_("Can't save")),
-                      wxICON_WARNING | wxOK, this );
-        return;
-    }
-
-    for( unsigned int i = 0; i < sizeof(formats)/sizeof(formats[0]); i++)
-    {
-        filter.Append( wxU(formats[i].psz_desc) );
-        filter.Append( wxT("|") );
-        filter.Append( wxU(formats[i].psz_filter) );
-        filter.Append( wxT("|") );
-    }
-    wxFileDialog dialog( this, wxU(_("Save playlist")),
-                         wxT(""), wxT(""), filter, wxSAVE );
-
-    if( dialog.ShowModal() == wxID_OK )
-    {
-        if( dialog.GetPath().mb_str(wxConvUTF8) )
-        {
-            /* what root should we export? */
-            if( p_playlist->p_root_category->i_children > 0 )
-            {
-                playlist_Export( p_playlist, dialog.GetPath().mb_str(wxConvUTF8),
-                                 p_playlist->p_root_category->pp_children[0],
-                                 formats[dialog.GetFilterIndex()].psz_module );
-            }
-        }
-    }
-
-}
-
-void Playlist::OnOpen( wxCommandEvent& WXUNUSED(event) )
-{
-    wxFileDialog dialog( this, wxU(_("Open playlist")), wxT(""), wxT(""),
-        wxT("All playlists|" EXTENSIONS_PLAYLIST "|XSPF playlist|*.xspf|M3U files|*.m3u"), wxOPEN );
-
-    if( dialog.ShowModal() == wxID_OK )
-    {
-        playlist_Import( p_playlist, dialog.GetPath().mb_str(wxConvUTF8) );
-    }
-}
-
-void Playlist::OnAddFile( wxCommandEvent& WXUNUSED(event) )
-{
-    p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_FILE_SIMPLE, 0, 0 );
-
-}
-
-void Playlist::OnAddDir( wxCommandEvent& WXUNUSED(event) )
-{
-    p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_DIRECTORY, 0, 0 );
-
-}
-
-void Playlist::OnAddMRL( wxCommandEvent& WXUNUSED(event) )
-{
-    p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_FILE, 0, 0 );
-
-}
-
-/********************************************************************
- * Sorting functions
- ********************************************************************/
-void Playlist::OnSort( wxCommandEvent& event )
-{
-    PlaylistItem *p_wxitem;
-    p_wxitem = (PlaylistItem *)treectrl->GetItemData( treectrl->GetRootItem() );
-
-    LockPlaylist( p_intf->p_sys, p_playlist );
-    switch( event.GetId() )
-    {
-        case SortTitle_Event:
-            playlist_RecursiveNodeSort( p_playlist,
-                            playlist_ItemGetById( p_playlist, p_wxitem->i_id,
-                                                  true ),
-                            SORT_TITLE_NODES_FIRST, ORDER_NORMAL );
-            break;
-        case RSortTitle_Event:
-            playlist_RecursiveNodeSort( p_playlist,
-                            playlist_ItemGetById( p_playlist, p_wxitem->i_id,
-                                                  true ),
-                            SORT_TITLE_NODES_FIRST, ORDER_REVERSE );
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-
-    Rebuild( true );
-}
-
-/**********************************************************************
- * Search functions (user)
- **********************************************************************/
-/*void Playlist::OnSearchTextChange( wxCommandEvent& WXUNUSED(event) )
-{
-   search_button->SetDefault();
-}*/
-
-void Playlist::OnSearch( wxCommandEvent& WXUNUSED(event) )
-{
-    wxString search_string = search_text->GetValue();
-    PlaylistItem *p_wxroot;
-    p_wxroot = (PlaylistItem *)treectrl->GetItemData( treectrl->GetRootItem() );
-    playlist_item_t *p_root = playlist_ItemGetById( p_playlist, p_wxroot->i_id,
-                                                    true );
-
-    assert( p_root );
-    char *psz_name = wxFromLocale( search_string );
-    playlist_LiveSearchUpdate( p_playlist, p_root, psz_name );
-    Rebuild( true );
-
-    wxLocaleFree( psz_name );
-}
-
-/**********************************************************************
- * Selection functions
- **********************************************************************/
-void Playlist::RecursiveDeleteSelection(  wxTreeItemId root )
-{
-    wxTreeItemIdValue cookie;
-    wxTreeItemId child = treectrl->GetFirstChild( root, cookie );
-    wxTreeItemId nextchild;
-    bool childIsSelected = FALSE;
-    bool nextchildIsSelected = FALSE;
-
-    if( child.IsOk() ) childIsSelected = treectrl->IsSelected( child );
-
-    while( child.IsOk() )
-    {
-        nextchild = treectrl->GetNextChild( root, cookie );
-        if( nextchild.IsOk() )
-            nextchildIsSelected = treectrl->IsSelected( nextchild );
-        if( childIsSelected )
-            DeleteTreeItem( child );
-        else if( treectrl->ItemHasChildren( child ) )
-            RecursiveDeleteSelection( child );
-        child = nextchild;
-        childIsSelected = nextchildIsSelected;
-    }
-}
-
-void Playlist::OnDeleteSelection( wxCommandEvent& WXUNUSED(event) )
-{
-    RecursiveDeleteSelection( treectrl->GetRootItem() );
-}
-
-/**********************************************************************
- * Playlist mode functions
- **********************************************************************/
-void Playlist::OnRandom( wxCommandEvent& event )
-{
-    vlc_value_t val;
-    val.b_bool = event.IsChecked();
-    var_Set( p_playlist, "random", val);
-}
-
-void Playlist::OnLoop( wxCommandEvent& event )
-{
-    vlc_value_t val;
-    val.b_bool = event.IsChecked();
-    var_Set( p_playlist, "loop", val);
-}
-
-void Playlist::OnRepeat( wxCommandEvent& event )
-{
-    vlc_value_t val;
-    val.b_bool = event.IsChecked();
-    var_Set( p_playlist, "repeat", val);
-}
-
-/********************************************************************
- * Event
- ********************************************************************/
-void Playlist::OnActivateItem( wxTreeEvent& event )
-{
-    playlist_item_t *p_item, *p_parent;
-
-    PlaylistItem *p_wxitem = (PlaylistItem *)treectrl->GetItemData(
-                                                            event.GetItem() );
-
-    LockPlaylist( p_intf->p_sys, p_playlist );
-
-    if( !( p_wxitem ) )
-    {
-        UnlockPlaylist( p_intf->p_sys, p_playlist );
-        return;
-    }
-    p_item = playlist_ItemGetById( p_playlist, p_wxitem->i_id, true );
-
-    p_parent = p_item;
-    while( p_parent )
-    {
-        if( p_parent == p_current_treeroot )
-            break;
-        p_parent = p_parent->p_parent;
-    }
-
-    if( p_parent )
-    {
-        playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, true, p_parent, p_item );
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void Playlist::OnKeyDown( wxTreeEvent& event )
-{
-    long keycode = event.GetKeyCode();
-    /* Delete selected items */
-    if( keycode == WXK_BACK || keycode == WXK_DELETE || keycode == WXK_NUMPAD_DELETE )
-    {
-        /* We send a dummy event */
-        OnDeleteSelection( event );
-    }
-    /* Work around wxWin32 bug */
-    else if( keycode == WXK_RETURN )
-    {
-        wxArrayTreeItemIds items;
-        if( treectrl->GetSelections( items ) > 0 )
-        {
-            wxTreeEvent event;
-            event.SetItem( items.Item( 0 ) );
-            OnActivateItem( event );
-        }
-    }
-    else
-    {
-        event.Skip();
-    }
-}
-
-void Playlist::OnDragItemBegin( wxTreeEvent& event )
-{
-    event.Allow();
-    draged_tree_item = event.GetItem();
-}
-
-void Playlist::OnDragItemEnd( wxTreeEvent& event )
-{
-    wxTreeItemId dest_tree_item = event.GetItem();
-
-    if( !dest_tree_item.IsOk() ) return;
-
-    /* check that we're not trying to move a node into one of its children */
-    wxTreeItemId parent = dest_tree_item;
-    while( parent != treectrl->GetRootItem() )
-    {
-        if( draged_tree_item == parent ) return;
-        parent = treectrl->GetItemParent( parent );
-    }
-
-    LockPlaylist( p_intf->p_sys, p_playlist );
-
-    PlaylistItem *p_wxdrageditem =
-        (PlaylistItem *)treectrl->GetItemData( draged_tree_item );
-    PlaylistItem *p_wxdestitem =
-        (PlaylistItem *)treectrl->GetItemData( dest_tree_item );
-    if( !p_wxdrageditem || !p_wxdestitem )
-    {
-        UnlockPlaylist( p_intf->p_sys, p_playlist );
-        return;
-    }
-
-    playlist_item_t *p_drageditem =
-        playlist_ItemGetById(p_playlist, p_wxdrageditem->i_id, true );
-    playlist_item_t *p_destitem =
-        playlist_ItemGetById(p_playlist, p_wxdestitem->i_id, true );
-    if( !p_drageditem || !p_destitem )
-    {
-        UnlockPlaylist( p_intf->p_sys, p_playlist );
-        return;
-    }
-
-    if( p_destitem->i_children == -1 )
-    /* this is a leaf */
-    {
-        parent = treectrl->GetItemParent( dest_tree_item );
-        PlaylistItem *p_parent =
-            (PlaylistItem *)treectrl->GetItemData( parent );
-        if( !p_parent )
-        {
-            UnlockPlaylist( p_intf->p_sys, p_playlist );
-            return;
-        }
-        playlist_item_t *p_destitem2 =
-            playlist_ItemGetById( p_playlist, p_parent->i_id, true );
-        if( !p_destitem2 )
-        {
-            UnlockPlaylist( p_intf->p_sys, p_playlist );
-            return;
-        }
-        int i;
-        for( i = 0; i < p_destitem2->i_children; i++ )
-        {
-            if( p_destitem2->pp_children[i] == p_destitem ) break;
-        }
-        playlist_TreeMove( p_playlist, p_drageditem, p_destitem2, i );
-    }
-    else
-    /* this is a node */
-    {
-        playlist_TreeMove( p_playlist, p_drageditem, p_destitem, 0 );
-    }
-
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-
-    /* FIXME: having this Rebuild() is dirty */
-    Rebuild( true );
-}
-
-#if wxUSE_DRAG_AND_DROP
-PlaylistFileDropTarget::PlaylistFileDropTarget( Playlist *p ):p( p ){}
-
-/********************************************************************
- * File Drag And Drop handling
- ********************************************************************/
-bool PlaylistFileDropTarget::OnDropFiles( wxCoord x, wxCoord y,
-                               const wxArrayString& filenames )
-{
-    int i_pos = 0;
-    playlist_item_t *p_dest;
-
-    LockPlaylist( p->p_intf->p_sys, p->p_playlist );
-
-    /* find the destination node and position in that node */
-    const wxPoint pt( x, y );
-    wxTreeItemId item = p->treectrl->HitTest( pt );
-
-    if( !item.IsOk() )
-    {
-        /* We were droped below the last item so we append to the
-         * general node */
-        msg_Err( p->p_playlist, "USE OF P_GENERAL" );
-        p_dest = p->p_playlist->p_local_category;
-        i_pos = PLAYLIST_END;
-    }
-    else
-    {
-        PlaylistItem *p_plitem =
-            (PlaylistItem *)p->treectrl->GetItemData( item );
-        p_dest = playlist_ItemGetById( p->p_playlist, p_plitem->i_id, true );
-
-        if( p_dest->i_children == -1 )
-        {
-            /* This is a leaf. Append right after it
-             * We thus need to find the parrent node and the position of the
-             * leaf in its children list */
-            wxTreeItemId parent = p->treectrl->GetItemParent( item );
-            PlaylistItem *p_parent =
-                (PlaylistItem *)p->treectrl->GetItemData( parent );
-            if( !p_parent )
-            {
-                UnlockPlaylist( p->p_intf->p_sys, p->p_playlist );
-                return FALSE;
-            }
-            playlist_item_t *p_node =
-                playlist_ItemGetById( p->p_playlist, p_parent->i_id, true );
-            if( !p_node )
-            {
-                UnlockPlaylist( p->p_intf->p_sys, p->p_playlist );
-                return FALSE;
-            }
-            for( i_pos = 0; i_pos < p_node->i_children; i_pos++ )
-            {
-                if( p_node->pp_children[i_pos] == p_dest ) break;
-            }
-            p_dest = p_node;
-        }
-    }
-
-    UnlockPlaylist( p->p_intf->p_sys, p->p_playlist );
-
-    /* Put the items in the playlist node */
-    for( size_t i = 0; i < filenames.GetCount(); i++ )
-    {
-        char *psz_utf8 = wxDnDFromLocale( filenames[i] );
-        input_item_t *p_input = input_item_New( p->p_playlist,
-                                              psz_utf8, psz_utf8 );
-        int i_ret = ( playlist_BothAddInput( p->p_playlist, p_input, p_dest,
-                PLAYLIST_PREPARSE, i_pos, NULL, NULL, pl_Unlocked ) != VLC_SUCCESS );
-        vlc_gc_decref( p_input );
-        wxDnDLocaleFree( psz_utf8 );
-        if( i_ret != VLC_SUCCESS )
-            return FALSE;
-    }
-
-    /* FIXME: having this Rebuild() is dirty */
-    p->Rebuild( true );
-
-    return TRUE;
-}
-#endif
-
-/**********************************************************************
- * Menu
- **********************************************************************/
-
-void Playlist::OnMenuOpen( wxMenuEvent& event)
-{
-#if defined( __WXMSW__ )
-#   define GetEventObject GetMenu
-#endif
-
-    if( event.GetEventObject() == p_view_menu )
-    {
-        p_view_menu = ViewMenu();
-    }
-#if defined( __WXMSW__ )
-#   undef GetEventObject
-#endif
-}
-
-void Playlist::OnMenuEvent( wxCommandEvent& event )
-{
-    if( event.GetId() < FirstView_Event )
-    {
-        event.Skip();
-        return;
-    }
-    else if( event.GetId() < LastView_Event )
-    {
-        if( event.GetId() == CategoryView_Event )
-        {
-            p_current_viewroot = p_playlist->p_root_category;
-            if( p_current_treeroot == p_playlist->p_local_category ||
-                p_current_treeroot == p_playlist->p_local_onelevel )
-            {
-                p_current_treeroot = p_playlist->p_local_category;
-            }
-            else if( p_current_treeroot == p_playlist->p_ml_category ||
-                     p_current_treeroot == p_playlist->p_ml_onelevel )
-            {
-                p_current_treeroot = p_playlist->p_ml_category;
-            }
-        }
-        else if( event.GetId() == OneLevelView_Event )
-        {
-            p_current_viewroot = p_playlist->p_root_onelevel;
-            if( p_current_treeroot == p_playlist->p_local_category ||
-                p_current_treeroot == p_playlist->p_local_onelevel )
-            {
-                p_current_treeroot = p_playlist->p_local_onelevel;
-            }
-            else if( p_current_treeroot == p_playlist->p_ml_category ||
-                     p_current_treeroot == p_playlist->p_ml_onelevel )
-            {
-                p_current_treeroot = p_playlist->p_ml_onelevel;
-            }
-        }
-        wxCommandEvent event;
-        OnSearch( event );
-        return;
-    }
-    else if( event.GetId() >= FirstSD_Event && event.GetId() < LastSD_Event )
-    {
-        if( !playlist_IsServicesDiscoveryLoaded( p_playlist,
-                                pp_sds[event.GetId() - FirstSD_Event] ) )
-        {
-            playlist_ServicesDiscoveryAdd( p_playlist,
-                            pp_sds[event.GetId() - FirstSD_Event] );
-        }
-        else
-        {
-            //wxMutexGuiLeave();
-            playlist_ServicesDiscoveryRemove( p_playlist,
-                            pp_sds[event.GetId() - FirstSD_Event] );
-            //wxMutexGuiEnter();
-        }
-    }
-}
-
-wxMenu * Playlist::ViewMenu()
-{
-    if( !p_view_menu )
-    {
-        p_view_menu = new wxMenu;
-    }
-    else
-    {
-        wxMenuItemList::Node *node = p_view_menu->GetMenuItems().GetFirst();
-        for( ; node; )
-        {
-            wxMenuItem *item = node->GetData();
-            node = node->GetNext();
-            p_view_menu->Delete( item );
-        }
-    }
-
-    p_view_menu->Append( CategoryView_Event, wxU(_("Normal") ) );
-    p_view_menu->Append( OneLevelView_Event, wxU(_("One level") ) );
-    return p_view_menu;
-}
-
-wxMenu *Playlist::SDMenu()
-{
-    p_sd_menu = new wxMenu;
-
-    char **ppsz_longnames;
-    char **ppsz_names = vlc_sd_GetNames( &ppsz_longnames );
-    if( !ppsz_names )
-        return p_sd_menu;
-
-    char **ppsz_name = ppsz_names, **ppsz_longname = ppsz_longnames;
-
-    int i_number = 0;
-
-    for( ; *ppsz_name; ppsz_name++, ppsz_longname++ )
-    {
-        p_sd_menu->AppendCheckItem( FirstSD_Event + i_number++ ,
-                                    wxU( *ppsz_longname ) );
-
-        if( playlist_IsServicesDiscoveryLoaded( p_playlist, *ppsz_name ) )
-            p_sd_menu->Check( FirstSD_Event + i_number, TRUE );
-
-        free( *ppsz_longname );
-    }
-    pp_sds = ppsz_names;
-    free( ppsz_longnames );
-    return p_sd_menu;
-}
-
-
-/*****************************************************************************
- * Popup management functions
- *****************************************************************************/
-void Playlist::OnPopup( wxContextMenuEvent& event )
-{
-    wxPoint pt = event.GetPosition();
-    playlist_item_t *p_item;
-
-    i_wx_popup_item = treectrl->HitTest( ScreenToClient( pt ) );
-    if( i_wx_popup_item.IsOk() )
-    {
-        PlaylistItem *p_wxitem = (PlaylistItem *)treectrl->GetItemData(
-                                                            i_wx_popup_item );
-        PlaylistItem *p_wxparent= (PlaylistItem *)treectrl->GetItemData(
-                                  treectrl->GetItemParent( i_wx_popup_item ) );
-        i_popup_item = p_wxitem->i_id;
-        i_popup_parent = p_wxparent->i_id;
-        treectrl->SelectItem( i_wx_popup_item );
-
-        LockPlaylist( p_intf->p_sys, p_playlist );
-        p_item = playlist_ItemGetById( p_playlist, i_popup_item, true );
-
-        if( !p_item )
-        {
-            UnlockPlaylist( p_intf->p_sys, p_playlist );
-            return;
-        }
-        if( p_item->i_children == -1 )
-        {
-            UnlockPlaylist( p_intf->p_sys, p_playlist );
-            Playlist::PopupMenu( item_popup,
-                                 ScreenToClient( wxGetMousePosition() ) );
-        }
-        else
-        {
-            UnlockPlaylist( p_intf->p_sys, p_playlist );
-            Playlist::PopupMenu( node_popup,
-                                 ScreenToClient( wxGetMousePosition() ) );
-        }
-    }
-}
-
-void Playlist::OnPopupPlay( wxCommandEvent& event )
-{
-    playlist_item_t *p_popup_item, *p_popup_parent;
-    LockPlaylist( p_intf->p_sys, p_playlist );
-    p_popup_item = playlist_ItemGetById( p_playlist, i_popup_item, true );
-
-    p_popup_parent = p_popup_item;
-    while( p_popup_parent )
-    {
-        if( p_popup_parent == p_current_treeroot )
-            break;
-        p_popup_parent = p_popup_parent->p_parent;
-    }
-
-    if( p_popup_parent )
-    {
-        playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, true, p_popup_parent,
-                          p_popup_item );
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void Playlist::OnPopupPreparse( wxCommandEvent& event )
-{
-    Preparse();
-}
-
-void Playlist::Preparse()
-{
-    playlist_item_t *p_popup_item;
-    LockPlaylist( p_intf->p_sys, p_playlist );
-    p_popup_item = playlist_ItemGetById( p_playlist, i_popup_item, true );
-
-    if( p_popup_item != NULL )
-    {
-        if( p_popup_item->i_children == -1 )
-        {
-            playlist_PreparseEnqueue( p_playlist, p_popup_item->p_input, pl_Unlocked );
-        }
-        else
-        {
-            int i = 0;
-            playlist_item_t *p_parent = p_popup_item;
-            for( i = 0; i< p_parent->i_children ; i++ )
-            {
-                wxMenuEvent dummy;
-                i_wx_popup_item = FindItem( treectrl->GetRootItem(),
-                                         p_parent->pp_children[i]->i_id );
-                i_popup_item = p_parent->pp_children[i]->i_id;
-                Preparse();
-            }
-        }
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void Playlist::OnPopupDel( wxCommandEvent& event )
-{
-    DeleteTreeItem( i_wx_popup_item );
-}
-
-void Playlist::OnPopupSort( wxCommandEvent& event )
-{
-    PlaylistItem *p_wxitem;
-    playlist_item_t *p_item;
-
-    p_wxitem = (PlaylistItem *)treectrl->GetItemData( i_wx_popup_item );
-    LockPlaylist( p_intf->p_sys, p_playlist );
-
-    p_item = playlist_ItemGetById( p_playlist, p_wxitem->i_id, true );
-    if( p_item->i_children >= 0 )
-    {
-        playlist_RecursiveNodeSort( p_playlist, p_item,
-                                    SORT_TITLE_NODES_FIRST, ORDER_NORMAL );
-
-        treectrl->DeleteChildren( i_wx_popup_item );
-        i_saved_id = -1; i_saved_input_id = -1;
-        UpdateNodeChildren( p_item, i_wx_popup_item );
-
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void Playlist::OnPopupInfo( wxCommandEvent& event )
-{
-    LockPlaylist( p_intf->p_sys, p_playlist );
-    playlist_item_t *p_popup_item = playlist_ItemGetById( p_playlist,
-                                                          i_popup_item,
-                                                          true );
-    if( p_popup_item )
-    {
-        iteminfo_dialog = new ItemInfoDialog( p_intf, p_popup_item, this );
-        if( iteminfo_dialog->ShowModal() == wxID_OK )
-        {
-            UpdateItem( i_wx_popup_item );
-        }
-        delete iteminfo_dialog;
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void Playlist::OnPopupAddNode( wxCommandEvent& event )
-{
-    wxTextEntryDialog text( NULL, wxU(_( "Please enter node name" )),
-        wxU(_( "Add node" )), wxU(_( "New node" )) );
-    if( text.ShowModal() != wxID_OK ) return;
-
-    char *psz_name = wxFromLocale( text.GetValue() );
-
-    LockPlaylist( p_intf->p_sys, p_playlist );
-
-    PlaylistItem *p_wxitem;
-    playlist_item_t *p_item;
-
-    p_wxitem = (PlaylistItem *)treectrl->GetItemData( i_wx_popup_item );
-
-    p_item = playlist_ItemGetById( p_playlist, p_wxitem->i_id, true );
-
-    playlist_NodeCreate( p_playlist, psz_name, p_item, 0, NULL );
-
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-    Rebuild( true );
-
-    wxLocaleFree( psz_name );
-}
-
-void Playlist::OnSourceSelected( wxListEvent &event )
-{
-   int i_id = event.GetData();
-
-   if( !p_current_treeroot || i_id != p_current_treeroot->i_id )
-   {
-       playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_id,
-                                                       true );
-       if( p_item ) p_current_treeroot = p_item;
-       Rebuild( true );
-   }
-}
-
-/*****************************************************************************
- * Custom events management
- *****************************************************************************/
-void Playlist::OnPlaylistEvent( wxCommandEvent& event )
-{
-    switch( event.GetId() )
-    {
-        case UpdateItem_Event:
-            UpdateItem( event.GetInt() );
-            break;
-        case AppendItem_Event:
-            AppendItem( event );
-            break;
-        case RemoveItem_Event:
-            RemoveItem( event.GetInt() );
-            break;
-    }
-}
-
-/*****************************************************************************
- * PlaylistChanged: callback triggered by the intf-change playlist variable
- *  We don't rebuild the playlist directly here because we don't want the
- *  caller to block for a too long time.
- *****************************************************************************/
-static int PlaylistChanged( vlc_object_t *p_this, const char *psz_variable,
-                            vlc_value_t oval, vlc_value_t nval, void *param )
-{
-    Playlist *p_playlist_dialog = (Playlist *)param;
-    p_playlist_dialog->b_need_update = true;
-    return VLC_SUCCESS;
-}
-
-/*****************************************************************************
- * Next: callback triggered by the playlist-current playlist variable
- *****************************************************************************/
-static int PlaylistNext( vlc_object_t *p_this, const char *psz_variable,
-                         vlc_value_t oval, vlc_value_t nval, void *param )
-{
-    Playlist *p_playlist_dialog = (Playlist *)param;
-
-    wxCommandEvent event( wxEVT_PLAYLIST, UpdateItem_Event );
-    event.SetInt( oval.i_int );
-    p_playlist_dialog->AddPendingEvent( event );
-    event.SetInt( nval.i_int );
-    p_playlist_dialog->AddPendingEvent( event );
-
-    return 0;
-}
-
-/*****************************************************************************
- * ItemChanged: callback triggered by the item-change playlist variable
- *****************************************************************************/
-static int ItemChanged( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t old_val, vlc_value_t new_val, void *param )
-{
-    Playlist *p_playlist_dialog = (Playlist *)param;
-
-    wxCommandEvent event( wxEVT_PLAYLIST, UpdateItem_Event );
-    event.SetInt( new_val.i_int );
-    p_playlist_dialog->AddPendingEvent( event );
-
-    return 0;
-}
-static int ItemDeleted( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t old_val, vlc_value_t new_val, void *param )
-{
-    Playlist *p_playlist_dialog = (Playlist *)param;
-
-    wxCommandEvent event( wxEVT_PLAYLIST, RemoveItem_Event );
-    event.SetInt( new_val.i_int );
-    p_playlist_dialog->AddPendingEvent( event );
-
-    return 0;
-}
-
-static int ItemAppended( vlc_object_t *p_this, const char *psz_variable,
-                         vlc_value_t oval, vlc_value_t nval, void *param )
-{
-    Playlist *p_playlist_dialog = (Playlist *)param;
-
-    playlist_add_t *p_add = (playlist_add_t *)malloc(sizeof( playlist_add_t));
-    memcpy( p_add, nval.p_address, sizeof( playlist_add_t ) );
-
-    if( ++p_playlist_dialog->i_items_to_append >= 50 )
-    {
-        /* Too many items waiting to be added, it will be quicker to rebuild
-         * the whole playlist */
-        p_playlist_dialog->b_need_update = true;
-        return VLC_SUCCESS;
-    }
-
-    wxCommandEvent event( wxEVT_PLAYLIST, AppendItem_Event );
-    event.SetClientData( (void *)p_add );
-    p_playlist_dialog->AddPendingEvent( event );
-
-    return VLC_SUCCESS;
-}
-}
diff --git a/modules/gui/wxwidgets/dialogs/playlist.hpp b/modules/gui/wxwidgets/dialogs/playlist.hpp
deleted file mode 100644 (file)
index 6c43b99..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/*****************************************************************************
- * playlist.hpp: Header for the playlist
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_PLAYLIST_H_
-#define _WXVLC_PLAYLIST_H_
-
-#include "wxwidgets.hpp"
-
-#include <wx/listctrl.h>
-#include <wx/treectrl.h>
-#include <wx/dnd.h>
-
-#define MODE_NONE 0
-#define MODE_GROUP 1
-#define MODE_AUTHOR 2
-#define MODE_TITLE 3
-
-#define OPEN_NORMAL 0
-#define OPEN_STREAM 1
-
-namespace wxvlc
-{
-class ItemInfoDialog;
-class NewGroup;
-class ExportPlaylist;
-
-/* Playlist */
-class Playlist: public wxFrame
-{
-public:
-    /* Constructor */
-    Playlist( intf_thread_t *p_intf, wxWindow *p_parent );
-    virtual ~Playlist();
-
-    void UpdatePlaylist();
-    void ShowPlaylist( bool show );
-    void UpdateItem( int );
-    void AppendItem( wxCommandEvent& );
-
-    bool b_need_update;
-    int  i_items_to_append;
-
-    int GetCurrentView( ){ return i_current_view; };
-
-private:
-    void RemoveItem( int );
-    void DeleteTreeItem( wxTreeItemId );
-    void DeleteItem( int item );
-    void DeleteNode( playlist_item_t *node );
-
-    void RecursiveDeleteSelection( wxTreeItemId );
-
-    /* Event handlers (these functions should _not_ be virtual) */
-
-    /* Menu Handlers */
-    void OnAddFile( wxCommandEvent& event );
-    void OnAddDir( wxCommandEvent& event );
-    void OnAddMRL( wxCommandEvent& event );
-    void OnMenuClose( wxCommandEvent& event );
-    void OnClose( wxCloseEvent& WXUNUSED(event) );
-
-    void OnDeleteSelection( wxCommandEvent& event );
-
-    void OnOpen( wxCommandEvent& event );
-    void OnSave( wxCommandEvent& event );
-
-    /* Search (user) */
-    void OnSearch( wxCommandEvent& event );
-    /*void OnSearchTextChange( wxCommandEvent& event );*/
-    wxTextCtrl *search_text;
-    wxButton *search_button;
-    wxTreeItemId search_current;
-
-    /* Sort */
-    int i_sort_mode;
-    void OnSort( wxCommandEvent& event );
-    int i_title_sorted;
-    int i_group_sorted;
-    int i_duration_sorted;
-
-    /* Dynamic menus */
-    void OnMenuEvent( wxCommandEvent& event );
-    void OnMenuOpen( wxMenuEvent& event );
-    wxMenu *p_view_menu;
-    wxMenu *p_sd_menu;
-    wxMenu *ViewMenu();
-    wxMenu *SDMenu();
-
-    void OnUp( wxCommandEvent& event);
-    void OnDown( wxCommandEvent& event);
-
-    void OnRandom( wxCommandEvent& event );
-    void OnRepeat( wxCommandEvent& event );
-    void OnLoop ( wxCommandEvent& event );
-
-    void OnActivateItem( wxTreeEvent& event );
-    void OnKeyDown( wxTreeEvent& event );
-    void OnNewGroup( wxCommandEvent& event );
-
-    void OnDragItemBegin( wxTreeEvent& event );
-    void OnDragItemEnd( wxTreeEvent& event );
-    wxTreeItemId draged_tree_item;
-
-    /* Popup  */
-    wxMenu *item_popup;
-    wxMenu *node_popup;
-    wxTreeItemId i_wx_popup_item;
-    int i_popup_item;
-    int i_popup_parent;
-    void OnPopup( wxContextMenuEvent& event );
-    void OnPopupPlay( wxCommandEvent& event );
-    void OnPopupPreparse( wxCommandEvent& event );
-    void OnPopupSort( wxCommandEvent& event );
-    void OnPopupDel( wxCommandEvent& event );
-    void OnPopupEna( wxCommandEvent& event );
-    void OnPopupInfo( wxCommandEvent& event );
-    void OnPopupAddNode( wxCommandEvent& event );
-
-    /* List */
-    void OnSourceSelected( wxListEvent &event );
-protected:
-    void Rebuild( bool );
-private:
-
-    void Preparse();
-
-    /* Update */
-    void UpdateNode( playlist_item_t*, wxTreeItemId );
-    void UpdateNodeChildren( playlist_item_t*, wxTreeItemId );
-    void CreateNode( playlist_item_t*, wxTreeItemId );
-    void UpdateTreeItem( wxTreeItemId );
-
-    /* Search (internal) */
-    int CountItems( wxTreeItemId);
-    wxTreeItemId FindItem( wxTreeItemId, int );
-    wxTreeItemId FindItemByInput( wxTreeItemId, int );
-    wxTreeItemId FindItemInner( wxTreeItemId, int , bool );
-    wxTreeItemId FindItemByName( wxTreeItemId, wxString,
-                                 wxTreeItemId, bool *);
-
-    wxTreeItemId saved_tree_item;
-    wxTreeItemId saved_input_tree_item;
-    int i_saved_id;
-    int i_saved_input_id;
-
-protected:
-    playlist_t *p_playlist;
-
-private:
-    /* Custom events */
-    void OnPlaylistEvent( wxCommandEvent& event );
-
-    DECLARE_EVENT_TABLE();
-
-
-    /* Global widgets */
-    wxStatusBar *statusbar;
-    ItemInfoDialog *iteminfo_dialog;
-
-    int i_update_counter;
-
-    bool b_changed_view;
-    const char **pp_sds;
-
-protected:
-    intf_thread_t *p_intf;
-    wxTreeCtrl *treectrl;
-    wxListView *source_sel;
-    int i_current_view;
-    playlist_item_t *p_current_treeroot;
-    playlist_item_t *p_current_viewroot;
-
-friend class PlaylistFileDropTarget;
-};
-
-#if wxUSE_DRAG_AND_DROP
-/* Playlist file drop target */
-class PlaylistFileDropTarget: public wxFileDropTarget
-{
-public:
-    PlaylistFileDropTarget( Playlist * );
-    virtual bool OnDropFiles( wxCoord x, wxCoord y,
-                              const wxArrayString& filenames );
-private:
-    Playlist *p;
-};
-#endif
-
-} // end of wxvlc namespace
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/preferences.cpp b/modules/gui/wxwidgets/dialogs/preferences.cpp
deleted file mode 100644 (file)
index 254f39e..0000000
+++ /dev/null
@@ -1,1125 +0,0 @@
-/*****************************************************************************
- * preferences.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@netcourrier.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-
-#include "dialogs/preferences.hpp"
-#include <vlc_config_cat.h>
-#include "dialogs/preferences_widgets.h"
-
-#include <wx/combobox.h>
-#include <wx/statline.h>
-#include <wx/clntdata.h>
-#include <wx/dynarray.h>
-#include <wx/imaglist.h>
-#include <wx/treectrl.h>
-
-#include "bitmaps/type_net.xpm"
-#include "bitmaps/codec.xpm"
-#include "bitmaps/video.xpm"
-#include "bitmaps/type_playlist.xpm"
-#include "bitmaps/advanced.xpm"
-#include "bitmaps/intf.xpm"
-#include "bitmaps/audio.xpm"
-
-#ifndef wxRB_SINGLE
-#   define wxRB_SINGLE 0
-#endif
-
-#define TYPE_CATEGORY 0
-#define TYPE_CATSUBCAT 1  /* Category with embedded subcategory */
-#define TYPE_SUBCATEGORY 2
-#define TYPE_MODULE 3
-
-/*****************************************************************************
- * Classes declarations.
- *****************************************************************************/
-class ConfigTreeData;
-class PrefsTreeCtrl : public wxTreeCtrl
-{
-public:
-
-    PrefsTreeCtrl() { }
-    PrefsTreeCtrl( wxWindow *parent, intf_thread_t *_p_intf,
-                   PrefsDialog *p_prefs_dialog, wxBoxSizer *_p_sizer );
-    virtual ~PrefsTreeCtrl();
-
-    void ApplyChanges();
-    void CleanChanges();
-
-private:
-    /* Event handlers (these functions should _not_ be virtual) */
-    void OnSelectTreeItem( wxTreeEvent& event );
-    void OnAdvanced( wxCommandEvent& event );
-
-    ConfigTreeData *FindModuleConfig( ConfigTreeData *config_data );
-
-    DECLARE_EVENT_TABLE()
-
-    intf_thread_t *p_intf;
-    PrefsDialog *p_prefs_dialog;
-    wxBoxSizer *p_sizer;
-    wxWindow *p_parent;
-    bool b_advanced;
-
-    wxPanel *p_current;
-
-    wxTreeItemId root_item;
-    wxTreeItemId plugins_item;
-};
-
-WX_DEFINE_ARRAY(ConfigControl *, ArrayOfConfigControls);
-
-class PrefsPanel : public wxPanel
-{
-public:
-
-    PrefsPanel() { }
-    PrefsPanel( wxWindow *parent, intf_thread_t *_p_intf,
-                PrefsDialog *, ConfigTreeData* );
-    virtual ~PrefsPanel() {}
-
-    void ApplyChanges();
-    void SwitchAdvanced( bool );
-
-private:
-    intf_thread_t *p_intf;
-    PrefsDialog *p_prefs_dialog;
-
-    bool b_advanced;
-
-    wxStaticText *hidden_text;
-    wxBoxSizer *config_sizer;
-    wxScrolledWindow *config_window;
-
-    ArrayOfConfigControls config_array;
-};
-
-class ConfigTreeData : public wxTreeItemData
-{
-public:
-
-    ConfigTreeData() { b_submodule = 0; panel = NULL; psz_name = NULL;
-                       psz_help = NULL; }
-    virtual ~ConfigTreeData() {
-                                 delete panel;
-                                 free( psz_name );
-                                 free( psz_help );
-                              };
-
-    bool b_submodule;
-
-    PrefsPanel *panel;
-    wxBoxSizer *sizer;
-
-    module_t *p_module;
-    int i_object_id;
-    int i_subcat_id;
-    int i_type;
-    char *psz_name;
-    char *psz_help;
-};
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    Notebook_Event = wxID_HIGHEST,
-    MRL_Event,
-    ResetAll_Event,
-    Advanced_Event,
-};
-
-BEGIN_EVENT_TABLE(PrefsDialog, wxFrame)
-    /* Button events */
-    EVT_BUTTON(wxID_OK, PrefsDialog::OnOk)
-    EVT_BUTTON(wxID_CANCEL, PrefsDialog::OnCancel)
-    EVT_BUTTON(wxID_SAVE, PrefsDialog::OnSave)
-    EVT_BUTTON(ResetAll_Event, PrefsDialog::OnResetAll)
-    EVT_CHECKBOX(Advanced_Event, PrefsDialog::OnAdvanced)
-
-    /* Don't destroy the window when the user closes it */
-    EVT_CLOSE(PrefsDialog::OnClose)
-END_EVENT_TABLE()
-
-// menu and control ids
-enum
-{
-    PrefsTree_Ctrl = wxID_HIGHEST
-};
-
-BEGIN_EVENT_TABLE(PrefsTreeCtrl, wxTreeCtrl)
-    EVT_TREE_SEL_CHANGED(PrefsTree_Ctrl, PrefsTreeCtrl::OnSelectTreeItem)
-    EVT_COMMAND(Advanced_Event, wxEVT_USER_FIRST, PrefsTreeCtrl::OnAdvanced)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-PrefsDialog::PrefsDialog( intf_thread_t *_p_intf, wxWindow *p_parent)
-  :  wxFrame( p_parent, -1, wxU(_("Preferences")), wxDefaultPosition,
-              wxSize(700,450), wxDEFAULT_FRAME_STYLE )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    /* Create a panel to put everything in */
-    wxPanel *panel = new wxPanel( this, -1 );
-    panel->SetAutoLayout( TRUE );
-
-    /* Create the preferences tree control */
-    wxBoxSizer *controls_sizer = new wxBoxSizer( wxHORIZONTAL );
-    prefs_tree =
-        new PrefsTreeCtrl( panel, p_intf, this, controls_sizer );
-
-    /* Separation */
-    wxStaticLine *static_line = new wxStaticLine( panel, wxID_OK );
-
-#if 0
-    /* Create the buttons */
-    wxButton *ok_button = new wxButton( panel, wxID_OK, wxU(_("OK")) );
-    ok_button->SetDefault();
-#endif
-    wxButton *save_button = new wxButton( panel, wxID_SAVE, wxU(_("&Save")) );
-    save_button->SetDefault();
-    wxButton *cancel_button = new wxButton( panel, wxID_CANCEL,
-                                            wxU(_("&Cancel")) );
-    wxButton *reset_button = new wxButton( panel, ResetAll_Event,
-                                           wxU(_("Reset All")) );
-
-    wxPanel *dummy_panel = new wxPanel( this, -1 );
-    wxCheckBox *advanced_checkbox =
-        new wxCheckBox( panel, Advanced_Event, wxU(_("Advanced options")) );
-
-    if( config_GetInt( p_intf, "advanced" ) )
-    {
-        advanced_checkbox->SetValue(TRUE);
-        wxCommandEvent dummy_event;
-        dummy_event.SetInt(TRUE);
-        OnAdvanced( dummy_event );
-    }
-
-    /* Place everything in sizers */
-    wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL );
-#if 0
-    button_sizer->Add( ok_button, 0, wxALL, 5 );
-#endif
-    button_sizer->Add( save_button, 0, wxALL, 5 );
-    button_sizer->Add( cancel_button, 0, wxALL, 5 );
-    button_sizer->Add( reset_button, 0, wxALL, 5 );
-    button_sizer->Add( dummy_panel, 1, wxALL, 5 );
-    button_sizer->Add( advanced_checkbox, 0, wxALL | wxALIGN_RIGHT |
-                       wxALIGN_CENTER_VERTICAL, 0 );
-    button_sizer->Layout();
-
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-    panel_sizer->Add( controls_sizer, 1, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( button_sizer, 0, wxALIGN_LEFT | wxALIGN_BOTTOM |
-                      wxALL | wxEXPAND, 5 );
-    panel_sizer->Layout();
-    panel->SetSizer( panel_sizer );
-    main_sizer->Add( panel, 1, wxEXPAND, 0 );
-    main_sizer->Layout();
-    SetSizer( main_sizer );
-}
-
-PrefsDialog::~PrefsDialog()
-{
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-
-
-/*****************************************************************************
- * Events methods.
- *****************************************************************************/
-void PrefsDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
-{
-    prefs_tree->ApplyChanges();
-    this->Hide();
-    prefs_tree->CleanChanges();
-}
-
-void PrefsDialog::OnClose( wxCloseEvent& WXUNUSED(event) )
-{
-    wxCommandEvent cevent;
-    OnCancel(cevent);
-}
-
-void PrefsDialog::OnCancel( wxCommandEvent& WXUNUSED(event) )
-{
-    this->Hide();
-    prefs_tree->CleanChanges();
-}
-
-void PrefsDialog::OnSave( wxCommandEvent& WXUNUSED(event) )
-{
-    prefs_tree->ApplyChanges();
-    config_SaveConfigFile( p_intf, NULL );
-    this->Hide();
-}
-
-void PrefsDialog::OnResetAll( wxCommandEvent& WXUNUSED(event) )
-{
-    wxMessageDialog dlg( this,
-        wxU(_("This will reset your VLC media player preferences.\n"
-              "Are you sure you want to continue?")),
-        wxU(_("Reset Preferences")), wxYES_NO|wxNO_DEFAULT|wxCENTRE );
-
-    if ( dlg.ShowModal() == wxID_YES )
-    {
-        /* TODO: need to reset all the controls */
-        config_ResetAll( p_intf );
-        prefs_tree->CleanChanges();
-        config_SaveConfigFile( p_intf, NULL );
-    }
-}
-
-void PrefsDialog::OnAdvanced( wxCommandEvent& event )
-{
-    wxCommandEvent newevent( wxEVT_USER_FIRST, Advanced_Event );
-    newevent.SetInt( event.GetInt() );
-
-    prefs_tree->AddPendingEvent( newevent );
-}
-
-/*****************************************************************************
- * PrefsTreeCtrl class definition.
- *****************************************************************************/
-PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
-                              PrefsDialog *_p_prefs_dialog,
-                              wxBoxSizer *_p_sizer )
-  : wxTreeCtrl( _p_parent, PrefsTree_Ctrl, wxDefaultPosition, wxSize(200,-1),
-                wxTR_NO_LINES | wxTR_FULL_ROW_HIGHLIGHT |
-                wxTR_LINES_AT_ROOT | wxTR_HIDE_ROOT |
-                wxTR_HAS_BUTTONS | wxTR_TWIST_BUTTONS | wxSUNKEN_BORDER )
-{
-    vlc_list_t      *p_list = NULL;;
-    module_t        *p_module;
-    module_config_t *p_item, *p_end;
-    int i_index, i_image=0;
-
-    /* Initializations */
-    p_intf = _p_intf;
-    p_prefs_dialog = _p_prefs_dialog;
-    p_sizer = _p_sizer;
-    p_parent = _p_parent;
-    b_advanced = false;
-
-    root_item = AddRoot( wxT("") );
-    wxASSERT_MSG(root_item.IsOk(), wxT("Could not add root item"));
-
-    wxImageList *p_images = new wxImageList( 16,16,TRUE );
-    p_images->Add( wxIcon( audio_xpm ) );
-    p_images->Add( wxIcon( video_xpm ) );
-    p_images->Add( wxIcon( codec_xpm ) );
-    p_images->Add( wxIcon( type_net_xpm ) );
-    p_images->Add( wxIcon( advanced_xpm ) );
-    p_images->Add( wxIcon( type_playlist_xpm ) );
-    p_images->Add( wxIcon( intf_xpm ) );
-    AssignImageList( p_images );
-
-    /* List the plugins */
-    p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-    if( !p_list ) return;
-
-    /* Build the categories list */
-    for( i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_module = (module_t *)p_list->p_values[i_index].p_object;
-        if( !strcmp( module_get_object(p_module), "main" ) )
-            break;
-    }
-    if( i_index < p_list->i_count )
-    {
-        wxTreeItemId current_item;
-        const char *psz_help;
-        unsigned int i_confsize;
-        module_config_t *p_config;
-
-        /* We found the main module */
-
-        /* Enumerate config categories and store a reference so we can
-         * generate their config panel them when it is asked by the user. */
-
-        p_config = module_config_get( p_module, &i_confsize );
-        for( size_t i = 0; i < i_confsize; i++ )
-        {
-            module_config_t *p_item = p_config + i;
-            ConfigTreeData *config_data;
-            switch( p_item->i_type )
-            {
-            case CONFIG_CATEGORY:
-                if( p_item->value.i == -1 )   break; // Don't display it
-
-                config_data = new ConfigTreeData;
-                config_data->psz_name = strdup( config_CategoryNameGet(
-                                                            p_item->value.i ) );
-                psz_help = config_CategoryHelpGet( p_item->value.i );
-                if( psz_help )
-                {
-                    config_data->psz_help = wraptext( strdup( psz_help ), 72 );
-                }
-                else
-                {
-                    config_data->psz_help = NULL;
-                }
-                config_data->i_type = TYPE_CATEGORY;
-                config_data->i_object_id = p_item->value.i;
-
-                /* Add the category to the tree */
-                switch( p_item->value.i )
-                {
-                    case CAT_AUDIO:
-                        i_image = 0; break;
-                    case CAT_VIDEO:
-                        i_image = 1; break;
-                    case CAT_INPUT:
-                        i_image = 2; break;
-                    case CAT_SOUT:
-                        i_image = 3; break;
-                    case CAT_ADVANCED:
-                        i_image = 4; break;
-                    case CAT_PLAYLIST:
-                        i_image = 5; break;
-                    case CAT_INTERFACE:
-                        i_image = 6; break;
-                }
-                current_item = AppendItem( root_item,
-                                           wxU( _(config_data->psz_name) ),
-                                           i_image, -1, config_data );
-
-                break;
-            case CONFIG_SUBCATEGORY:
-                if( p_item->value.i == -1 ) break; // Don't display it
-                /* Special case: move the "general" subcategories to their
-                 * parent category */
-                if( p_item->value.i == SUBCAT_VIDEO_GENERAL ||
-                    p_item->value.i == SUBCAT_ADVANCED_MISC ||
-                    p_item->value.i == SUBCAT_INPUT_GENERAL ||
-                    p_item->value.i == SUBCAT_INTERFACE_GENERAL ||
-                    p_item->value.i == SUBCAT_SOUT_GENERAL||
-                    p_item->value.i == SUBCAT_PLAYLIST_GENERAL||
-                    p_item->value.i == SUBCAT_AUDIO_GENERAL )
-                {
-                    ConfigTreeData *cd = (ConfigTreeData *)
-                                            GetItemData( current_item );
-                    cd->i_type = TYPE_CATSUBCAT;
-                    cd->i_subcat_id = p_item->value.i;
-                    free( cd->psz_name );
-                    cd->psz_name = strdup(  config_CategoryNameGet(
-                                                      p_item->value.i ) );
-                    free( cd->psz_help );
-                    const char *psz_help = config_CategoryHelpGet( p_item->value.i );
-                    if( psz_help )
-                    {
-                        cd->psz_help = wraptext( strdup( psz_help ), 72 );
-                    }
-                    else
-                    {
-                        cd->psz_help = NULL;
-                    }
-                    continue;
-                }
-
-                config_data = new ConfigTreeData;
-
-                config_data->psz_name = strdup(  config_CategoryNameGet(
-                                                           p_item->value.i ) );
-                psz_help = config_CategoryHelpGet( p_item->value.i );
-                if( psz_help )
-                {
-                    config_data->psz_help = wraptext( strdup( psz_help ), 72 );
-                }
-                else
-                {
-                    config_data->psz_help = NULL;
-                }
-                config_data->i_type = TYPE_SUBCATEGORY;
-                config_data->i_object_id = p_item->value.i;
-                /* WXMSW doesn't know image -1 ... FIXME */
-                #ifdef __WXMSW__
-                switch( p_item->value.i / 100 )
-                {
-                    case CAT_AUDIO:
-                        i_image = 0; break;
-                    case CAT_VIDEO:
-                        i_image = 1; break;
-                    case CAT_INPUT:
-                        i_image = 2; break;
-                    case CAT_SOUT:
-                        i_image = 3; break;
-                    case CAT_ADVANCED:
-                        i_image = 4; break;
-                    case CAT_PLAYLIST:
-                        i_image = 5; break;
-                    case CAT_INTERFACE:
-                        i_image = 6; break;
-                }
-                #else
-                i_image = -1;
-                #endif
-                AppendItem( current_item, wxU( _(config_data->psz_name) ),
-                            i_image, -1, config_data );
-                break;
-            }
-        }
-
-        module_config_free( p_config );
-    }
-
-
-    /*
-     * Build a tree of all the plugins
-     */
-    for( i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        int i_category = -1, i_subcategory = -1, i_options = 0;
-        unsigned int i_confsize;
-        module_config_t *p_config;
-
-        p_module = (module_t *)p_list->p_values[i_index].p_object;
-
-        /* Exclude the main module */
-        if( !strcmp( module_get_object(p_module), "main" ) )
-            continue;
-#if 0
-        /* Exclude empty plugins (submodules don't have config options, they
-         * are stored in the parent module) */
-        if( module_IsSubModule(p_module) )
-            continue;
-#endif
-        p_config = module_config_get( p_module, &i_confsize );
-        for( size_t i = 0; i < i_confsize; i++ )
-        {
-            module_config_t *p_item = p_config + i;
-            if( p_item->i_type == CONFIG_CATEGORY )
-            {
-                i_category = p_item->value.i;
-            }
-            else if( p_item->i_type == CONFIG_SUBCATEGORY )
-            {
-                i_subcategory = p_item->value.i;
-            }
-            if( p_item->i_type & CONFIG_ITEM )
-                i_options ++;
-            if( i_options > 0 && i_category >= 0 && i_subcategory >= 0 )
-            {
-                break;
-            }
-        }
-
-        if( !i_options ) continue;
-
-        /* Find the right category item */
-        wxTreeItemIdValue cookie;
-        bool b_found = false;
-
-        wxTreeItemId category_item = GetFirstChild( root_item , cookie);
-        while( category_item.IsOk() )
-        {
-            ConfigTreeData *config_data =
-                    (ConfigTreeData *)GetItemData( category_item );
-            if( config_data->i_object_id == i_category )
-            {
-                b_found = true;
-                break;
-            }
-            category_item = GetNextChild( root_item, cookie );
-        }
-        if( !b_found ) continue;
-
-        /* Find subcategory item */
-        b_found = false;
-        //cookie = -1;
-        wxTreeItemId subcategory_item = GetFirstChild( category_item, cookie );
-        while( subcategory_item.IsOk() )
-        {
-            ConfigTreeData *config_data =
-                    (ConfigTreeData *)GetItemData( subcategory_item );
-            if( config_data->i_object_id == i_subcategory )
-            {
-                b_found = true;
-                break;
-            }
-            subcategory_item = GetNextChild( category_item, cookie );
-        }
-        if( !b_found )
-        {
-            subcategory_item = category_item;
-        }
-
-        /* Add the plugin to the tree */
-        ConfigTreeData *config_data = new ConfigTreeData;
-#if 0
-        config_data->b_submodule = module_IsSubModule(p_module);
-#endif
-        config_data->i_type = TYPE_MODULE;
-        config_data->p_module = config_data->b_submodule ?
-            ((module_t*)((vlc_object_t*)p_module)->p_parent) : p_module;
-        config_data->psz_help = NULL;
-
-        /* WXMSW doesn't know image -1 ... FIXME */
-        #ifdef __WXMSW__
-        switch( i_subcategory / 100 )
-        {
-            case CAT_AUDIO:
-                i_image = 0; break;
-            case CAT_VIDEO:
-                i_image = 1; break;
-            case CAT_INPUT:
-                i_image = 2; break;
-            case CAT_SOUT:
-                i_image = 3; break;
-            case CAT_ADVANCED:
-                i_image = 4; break;
-            case CAT_PLAYLIST:
-                i_image = 5; break;
-            case CAT_INTERFACE:
-                i_image = 6; break;
-        }
-        #else
-        i_image = -1;
-        #endif
-        AppendItem( subcategory_item, wxU( module_get_name(p_module, 0) ),
-                    i_image, -1, config_data );
-    }
-
-    /* Sort all this mess */
-    wxTreeItemIdValue cookie;
-    size_t i_child_index;
-    wxTreeItemId capability_item = GetFirstChild( root_item, cookie);
-    for( i_child_index = 0;
-         (capability_item.IsOk() &&
-          //(i_child_index < GetChildrenCount( plugins_item, FALSE )));
-          (i_child_index < GetChildrenCount( root_item, FALSE )));
-         i_child_index++ )
-    {
-        SortChildren( capability_item );
-        //capability_item = GetNextChild( plugins_item, cookie );
-        capability_item = GetNextChild( root_item, cookie );
-    }
-
-    /* Clean-up everything */
-    vlc_list_release( p_list );
-
-    p_sizer->Add( this, 1, wxEXPAND | wxALL, 0 );
-    p_sizer->Layout();
-
-    p_current = NULL;
-
-    /* Update Tree Ctrl */
-#ifndef WIN32 /* Workaround a bug in win32 implementation */
-    SelectItem( GetFirstChild( root_item, cookie ) );
-#endif
-
-    //cannot expand hidden root item
-    //Expand( root_item );
-}
-
-PrefsTreeCtrl::~PrefsTreeCtrl(){
-}
-
-void PrefsTreeCtrl::ApplyChanges()
-{
-    wxTreeItemIdValue cookie, cookie2, cookie3;
-    ConfigTreeData *config_data;
-
-    wxTreeItemId category = GetFirstChild( root_item, cookie );
-    while( category.IsOk() )
-    {
-        wxTreeItemId subcategory = GetFirstChild( category, cookie2 );
-        while( subcategory.IsOk() )
-        {
-            wxTreeItemId module = GetFirstChild( subcategory, cookie3 );
-            while( module.IsOk() )
-            {
-                config_data = (ConfigTreeData *)GetItemData( module );
-                if( config_data && config_data->panel )
-                {
-                    config_data->panel->ApplyChanges();
-                }
-                module = GetNextChild( subcategory, cookie3 );
-            }
-            config_data = (ConfigTreeData *)GetItemData( subcategory );
-            if( config_data && config_data->panel )
-            {
-                config_data->panel->ApplyChanges();
-            }
-            subcategory = GetNextChild( category, cookie2 );
-        }
-        config_data = (ConfigTreeData *)GetItemData( category );
-        if( config_data && config_data->panel )
-        {
-            config_data->panel->ApplyChanges();
-        }
-        category = GetNextChild( root_item, cookie );
-    }
-}
-
-void PrefsTreeCtrl::CleanChanges()
-{
-    wxTreeItemIdValue cookie, cookie2, cookie3;
-    ConfigTreeData *config_data;
-
-    config_data = !GetSelection() ? NULL :
-        FindModuleConfig( (ConfigTreeData *)GetItemData( GetSelection() ) );
-    if( config_data  )
-    {
-        config_data->panel->Hide();
-#if (wxCHECK_VERSION(2,5,0))
-        p_sizer->Detach( config_data->panel );
-#else
-        p_sizer->Remove( config_data->panel );
-#endif
-        p_current = NULL;
-    }
-
-    wxTreeItemId category = GetFirstChild( root_item, cookie );
-    while( category.IsOk() )
-    {
-        wxTreeItemId subcategory = GetFirstChild( category, cookie2 );
-        while( subcategory.IsOk() )
-        {
-            wxTreeItemId module = GetFirstChild( subcategory, cookie3 );
-            while( module.IsOk() )
-            {
-                config_data = (ConfigTreeData *)GetItemData( module );
-                if( config_data && config_data->panel )
-                {
-                    delete config_data->panel;
-                    config_data->panel = NULL;
-                }
-                module = GetNextChild( subcategory, cookie3 );
-            }
-            config_data = (ConfigTreeData *)GetItemData( subcategory );
-            if( config_data && config_data->panel )
-            {
-                delete config_data->panel;
-                config_data->panel = NULL;
-            }
-            subcategory = GetNextChild( category, cookie2 );
-        }
-        config_data = (ConfigTreeData *)GetItemData( category );
-        if( config_data && config_data->panel )
-        {
-            delete config_data->panel;
-            config_data->panel = NULL;
-        }
-        category = GetNextChild( root_item, cookie );
-    }
-
-    if( GetSelection() )
-    {
-        wxTreeEvent event;
-        OnSelectTreeItem( event );
-    }
-}
-
-ConfigTreeData *PrefsTreeCtrl::FindModuleConfig( ConfigTreeData *config_data )
-{
-    /* We need this complexity because submodules don't have their own config
-     * options. They use the parent module ones. */
-
-    if( !config_data || !config_data->b_submodule )
-    {
-        return config_data;
-    }
-
-    wxTreeItemIdValue cookie, cookie2, cookie3;
-    ConfigTreeData *config_new;
-    wxTreeItemId category = GetFirstChild( root_item, cookie );
-    while( category.IsOk() )
-    {
-        wxTreeItemId subcategory = GetFirstChild( category, cookie2 );
-        while( subcategory.IsOk() )
-        {
-            wxTreeItemId module = GetFirstChild( subcategory, cookie3 );
-            while( module.IsOk() )
-            {
-                config_new = (ConfigTreeData *)GetItemData( module );
-                if( config_new && !config_new->b_submodule &&
-                    config_new->p_module == config_data->p_module )
-                {
-                    return config_new;
-                }
-                module = GetNextChild( subcategory, cookie3 );
-            }
-            subcategory = GetNextChild( category, cookie2 );
-        }
-        category = GetNextChild( root_item, cookie );
-    }
-
-    /* Found nothing */
-    return NULL;
-}
-
-void PrefsTreeCtrl::OnSelectTreeItem( wxTreeEvent& event )
-{
-    ConfigTreeData *config_data = NULL;
-
-    if( p_current )
-    {
-        p_current->Hide();
-#if (wxCHECK_VERSION(2,5,0))
-        p_sizer->Detach( p_current  );
-#else
-        p_sizer->Remove( p_current );
-#endif
-        p_current = NULL;
-    }
-
-    /* Don't use event.GetItem() because we also send fake events */
-    config_data = FindModuleConfig( (ConfigTreeData *)GetItemData(
-                                    GetSelection() ) );
-    if( config_data )
-    {
-        if( !config_data->panel )
-        {
-            /* The panel hasn't been created yet. Let's do it. */
-            config_data->panel =
-                new PrefsPanel( p_parent, p_intf, p_prefs_dialog,
-                                config_data );
-            config_data->panel->SwitchAdvanced( b_advanced );
-        }
-        else
-        {
-            config_data->panel->SwitchAdvanced( b_advanced );
-            config_data->panel->Show();
-        }
-
-        p_current = config_data->panel;
-
-        p_sizer->Add( config_data->panel, 3, wxEXPAND | wxALL, 0 );
-        p_sizer->Layout();
-    }
-}
-
-void PrefsTreeCtrl::OnAdvanced( wxCommandEvent& event )
-{
-    b_advanced = event.GetInt();
-
-    ConfigTreeData *config_data = !GetSelection() ? NULL :
-        FindModuleConfig( (ConfigTreeData *)GetItemData( GetSelection() ) );
-    if( config_data  )
-    {
-        config_data->panel->Hide();
-#if (wxCHECK_VERSION(2,5,0))
-        p_sizer->Detach( config_data->panel );
-#else
-        p_sizer->Remove( config_data->panel );
-#endif
-        p_current = NULL;
-    }
-
-    if( GetSelection() )
-    {
-        wxTreeEvent event;
-        OnSelectTreeItem( event );
-    }
-}
-
-/*****************************************************************************
- * PrefsPanel class definition.
- *****************************************************************************/
-PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
-                        PrefsDialog *_p_prefs_dialog,
-                        ConfigTreeData *config_data )
-  :  wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize )
-{
-    module_config_t *p_item, *p_start, *p_end;
-    unsigned int i_confsize;
-    vlc_list_t *p_list = NULL;;
-
-    wxStaticText *label;
-    wxStaticText *help;
-    wxArrayString array;
-
-    module_t *p_module = NULL;
-
-    /* Initializations */
-    p_intf = _p_intf;
-    p_prefs_dialog =_p_prefs_dialog,
-
-    b_advanced = true;
-    SetAutoLayout( TRUE );
-    Hide();
-
-    wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
-
-
-    if( config_data->i_type == TYPE_CATEGORY )
-    {
-        label = new wxStaticText( this, -1,wxU(_( config_data->psz_name )));
-        wxFont heading_font = label->GetFont();
-        heading_font.SetPointSize( heading_font.GetPointSize() + 5 );
-        label->SetFont( heading_font );
-        sizer->Add( label, 0, wxEXPAND | wxLEFT, 10 );
-        sizer->Add( new wxStaticLine( this, 0 ), 0,
-                    wxEXPAND | wxLEFT | wxRIGHT, 2 );
-
-        hidden_text = NULL;
-        help = new wxStaticText( this, -1, wxU(_( config_data->psz_help ) ) );
-        sizer->Add( help ,0 ,wxEXPAND | wxALL, 5 );
-
-        config_sizer = NULL; config_window = NULL;
-    }
-    else
-    {
-        /* Get a pointer to the module */
-        if( config_data->i_type == TYPE_MODULE )
-        {
-            p_module = config_data->p_module;
-        }
-        else
-        {
-            /* List the plugins */
-            int i_index;
-            bool b_found = false;
-            p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-            if( !p_list ) return;
-
-            for( i_index = 0; i_index < p_list->i_count; i_index++ )
-            {
-                p_module = (module_t *)p_list->p_values[i_index].p_object;
-                if( !strcmp( module_get_object(p_module), "main" ) )
-                {
-                    b_found = true;
-                    break;
-                }
-            }
-            if( !p_module && !b_found )
-            {
-                msg_Warn( p_intf, "unable to create preferences "
-                                  "(main module not found)" );
-                return;
-            }
-        }
-
-        /* Enumerate config options and add corresponding config boxes
-         * (submodules don't have config options, they are stored in the
-         *  parent module) */
-#if 0
-        if( module_IsSubModule(p_module) )
-            p_start = module_config_get((module_t *)(((vlc_object_t *)p_module)->p_parent), &i_confsize);
-        else
-#endif
-            p_start = module_config_get(p_module, &i_confsize);
-
-        p_item = p_start;
-        p_end = p_start + i_confsize;
-
-        /* Find the category if it has been specified */
-        if( config_data->i_type == TYPE_SUBCATEGORY ||
-            config_data->i_type == TYPE_CATSUBCAT )
-        {
-            for( ; p_item && p_item < p_end; p_item++ )
-            {
-                if( p_item->i_type == CONFIG_SUBCATEGORY &&
-                    ( config_data->i_type == TYPE_SUBCATEGORY &&
-                      p_item->value.i == config_data->i_object_id ) ||
-                    ( config_data->i_type == TYPE_CATSUBCAT &&
-                      p_item->value.i == config_data->i_subcat_id ) )
-                {
-                    break;
-                }
-            }
-        }
-
-        /* Add a head title to the panel */
-        const char *psz_head;
-        if( config_data->i_type == TYPE_SUBCATEGORY ||
-            config_data->i_type == TYPE_CATSUBCAT )
-        {
-            psz_head = config_data->psz_name;
-            p_item++;
-        }
-        else
-        {
-            psz_head = module_GetLongName(p_module);
-        }
-
-        label = new wxStaticText( this, -1,
-                      wxU(_( psz_head ? psz_head : _("Unknown") ) ) );
-        wxFont heading_font = label->GetFont();
-        heading_font.SetPointSize( heading_font.GetPointSize() + 5 );
-        label->SetFont( heading_font );
-        sizer->Add( label, 0, wxEXPAND | wxLEFT, 10 );
-        sizer->Add( new wxStaticLine( this, 0 ), 0,
-                    wxEXPAND | wxLEFT | wxRIGHT, 2 );
-
-        /* Now put all the config options into a scrolled window */
-        config_sizer = new wxBoxSizer( wxVERTICAL );
-        config_window = new wxScrolledWindow( this, -1, wxDefaultPosition,
-            wxDefaultSize, wxBORDER_NONE | wxHSCROLL | wxVSCROLL );
-        config_window->SetAutoLayout( TRUE );
-        config_window->SetScrollRate( 5, 5 );
-
-        for( ; p_item && p_item < p_end; p_item++ )
-        {
-            /* If a category has been specified, check we finished the job */
-            if( ( ( config_data->i_type == TYPE_SUBCATEGORY &&
-                    p_item->value.i != config_data->i_object_id ) ||
-                  ( config_data->i_type == TYPE_CATSUBCAT  &&
-                    p_item->value.i != config_data->i_subcat_id ) ) &&
-                (p_item->i_type == CONFIG_CATEGORY ||
-                  p_item->i_type == CONFIG_SUBCATEGORY ) )
-                break;
-
-            ConfigControl *control =
-                CreateConfigControl( VLC_OBJECT(p_intf),
-                                     p_item, config_window );
-
-            /* Don't add items that were not recognized */
-            if( control == NULL ) continue;
-
-            /* Add the config data to our array so we can keep a trace of it */
-            config_array.Add( control );
-
-            config_sizer->Add( control, 0, wxEXPAND | wxALL, 2 );
-        }
-
-        module_config_free( p_start );
-
-        config_sizer->Layout();
-        config_window->SetSizer( config_sizer );
-        sizer->Add( config_window, 1, wxEXPAND | wxALL, 5 );
-        hidden_text = new wxStaticText( this, -1,
-                        wxU( _( "Some options are available but hidden. " \
-                                "Check \"Advanced options\" to see them." ) ) );
-        sizer->Add( hidden_text );
-
-        /* And at last put a useful help string if available */
-        if( config_data->psz_help && *config_data->psz_help )
-        {
-            sizer->Add( new wxStaticLine( this, 0 ), 0,
-                        wxEXPAND | wxLEFT | wxRIGHT, 2 );
-            help = new wxStaticText( this, -1, wxU(_(config_data->psz_help)),
-                                     wxDefaultPosition, wxDefaultSize,
-                                     wxALIGN_LEFT,
-                                     wxT("") );
-            sizer->Add( help ,0 ,wxEXPAND | wxALL, 5 );
-        }
-
-        if( config_data->i_type == TYPE_MODULE )
-        {
-            module_release (p_module);
-        }
-        else
-        {
-            vlc_list_release( p_list );
-        }
-    }
-    sizer->Layout();
-    SetSizer( sizer );
-    Show();
-}
-
-void PrefsPanel::ApplyChanges()
-{
-    vlc_value_t val;
-
-    for( size_t i = 0; i < config_array.GetCount(); i++ )
-    {
-        ConfigControl *control = config_array.Item(i);
-
-        switch( control->GetType() )
-        {
-        case CONFIG_ITEM_STRING:
-        case CONFIG_ITEM_FILE:
-        case CONFIG_ITEM_DIRECTORY:
-        case CONFIG_ITEM_MODULE:
-        case CONFIG_ITEM_MODULE_CAT:
-        case CONFIG_ITEM_MODULE_LIST:
-        case CONFIG_ITEM_MODULE_LIST_CAT:
-            config_PutPsz( p_intf, control->GetName().mb_str(wxConvUTF8),
-                           control->GetPszValue().mb_str(wxConvUTF8) );
-            break;
-        case CONFIG_ITEM_KEY:
-            /* So you don't need to restart to have the changes take effect */
-            val.i_int = control->GetIntValue();
-            var_Set( p_intf->p_libvlc, control->GetName().mb_str(wxConvUTF8), val );
-        case CONFIG_ITEM_INTEGER:
-        case CONFIG_ITEM_BOOL:
-            config_PutInt( p_intf, control->GetName().mb_str(wxConvUTF8),
-                           control->GetIntValue() );
-            break;
-        case CONFIG_ITEM_FLOAT:
-            config_PutFloat( p_intf, control->GetName().mb_str(wxConvUTF8),
-                             control->GetFloatValue() );
-            break;
-        }
-    }
-}
-
-void PrefsPanel::SwitchAdvanced( bool b_new_advanced )
-{
-    bool hidden = false;
-
-    if( b_advanced == b_new_advanced )
-    {
-        goto hide;
-    }
-
-    if( config_sizer && config_window )
-    {
-        b_advanced = b_new_advanced;
-
-        for( size_t i = 0; i < config_array.GetCount(); i++ )
-        {
-            ConfigControl *control = config_array.Item(i);
-            if( control->IsAdvanced() )
-            {
-                if( !b_advanced ) hidden = true;
-                control->Show( b_advanced );
-                config_sizer->Show( control, b_advanced );
-            }
-        }
-
-        config_sizer->Layout();
-        config_window->FitInside();
-        config_window->Refresh();
-    }
-hide:
-    if( hidden && hidden_text )
-    {
-        hidden_text->Show( true );
-        config_sizer->Show( hidden_text, true );
-    }
-    else if ( hidden_text )
-    {
-        hidden_text->Show( false );
-        config_sizer->Show( hidden_text, false );
-    }
-    return;
-}
diff --git a/modules/gui/wxwidgets/dialogs/preferences.hpp b/modules/gui/wxwidgets/dialogs/preferences.hpp
deleted file mode 100644 (file)
index a75f988..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*****************************************************************************
- * preferences.hpp : Headers for the preference dialog
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_PREFERENCES_H_
-#define _WXVLC_PREFERENCES_H_
-
-#include "wxwidgets.hpp"
-
-class PrefsTreeCtrl;
-class PrefsPanel;
-
-namespace wxvlc
-{
-    /** This class is the preferences window
-     *  It includes a preferences panel (right part)
-     *  and the PrefsTreeCtrl (left part)
-     */
-    class PrefsDialog: public wxFrame
-    {
-    public:
-        /** Constructor */
-        PrefsDialog( intf_thread_t *p_intf, wxWindow *p_parent );
-        virtual ~PrefsDialog();
-
-    private:
-        wxPanel *PrefsPanel( wxWindow* parent );
-
-        /* Event handlers (these functions should _not_ be virtual) */
-        void OnOk( wxCommandEvent& event );
-        void OnCancel( wxCommandEvent& event );
-        void OnSave( wxCommandEvent& event );
-        void OnResetAll( wxCommandEvent& event );
-        void OnAdvanced( wxCommandEvent& event );
-        void OnClose( wxCloseEvent& event );
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-
-        PrefsTreeCtrl *prefs_tree;
-    };
-
-};
-
-#endif
-
diff --git a/modules/gui/wxwidgets/dialogs/preferences_widgets.cpp b/modules/gui/wxwidgets/dialogs/preferences_widgets.cpp
deleted file mode 100644 (file)
index 5354ce9..0000000
+++ /dev/null
@@ -1,1035 +0,0 @@
-/*****************************************************************************
- * preferences_widgets.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *          Sigmund Augdal Helberg <dnumgis@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "wxwidgets.hpp"
-#include "preferences_widgets.h"
-#include <vlc_keys.h>
-#include <vlc_config_cat.h>
-
-#include <wx/statline.h>
-#include <wx/spinctrl.h>
-
-/*****************************************************************************
- * CreateConfigControl wrapper
- *****************************************************************************/
-ConfigControl *CreateConfigControl( vlc_object_t *p_this,
-                                    module_config_t *p_item, wxWindow *parent )
-{
-    ConfigControl *p_control = NULL;
-
-    switch( p_item->i_type )
-    {
-    case CONFIG_ITEM_MODULE:
-        p_control = new ModuleConfigControl( p_this, p_item, parent );
-        break;
-    case CONFIG_ITEM_MODULE_CAT:
-        p_control = new ModuleCatConfigControl( p_this, p_item, parent );
-        break;
-    case CONFIG_ITEM_MODULE_LIST_CAT:
-        p_control = new ModuleListCatConfigControl( p_this, p_item, parent );
-        break;
-
-    case CONFIG_ITEM_STRING:
-        if( !p_item->i_list )
-        {
-            p_control = new StringConfigControl( p_this, p_item, parent );
-        }
-        else
-        {
-            p_control = new StringListConfigControl( p_this, p_item, parent );
-        }
-        break;
-
-    case CONFIG_ITEM_FILE:
-    case CONFIG_ITEM_DIRECTORY:
-        p_control = new FileConfigControl( p_this, p_item, parent );
-        break;
-
-    case CONFIG_ITEM_INTEGER:
-        if( p_item->i_list )
-        {
-            p_control = new IntegerListConfigControl( p_this, p_item, parent );
-        }
-        else if( p_item->min.i != 0 || p_item->max.i != 0 )
-        {
-            p_control = new RangedIntConfigControl( p_this, p_item, parent );
-        }
-        else
-        {
-            p_control = new IntegerConfigControl( p_this, p_item, parent );
-        }
-        break;
-
-    case CONFIG_ITEM_KEY:
-        p_control = new KeyConfigControl( p_this, p_item, parent );
-        break;
-
-    case CONFIG_ITEM_FLOAT:
-        p_control = new FloatConfigControl( p_this, p_item, parent );
-        break;
-
-    case CONFIG_ITEM_BOOL:
-        p_control = new BoolConfigControl( p_this, p_item, parent );
-        break;
-
-    case CONFIG_SECTION:
-        p_control = new SectionConfigControl( p_this, p_item, parent );
-        break;
-
-    default:
-        break;
-    }
-
-    return p_control;
-}
-
-/*****************************************************************************
- * ConfigControl implementation
- *****************************************************************************/
-ConfigControl::ConfigControl( vlc_object_t *_p_this,
-                              module_config_t *p_item, wxWindow *parent )
-  : wxPanel( parent ), p_this( _p_this ),
-    pf_update_callback( NULL ), p_update_data( NULL ),
-    name( wxU(p_item->psz_name) ), i_type( p_item->i_type ),
-    b_advanced( p_item->b_advanced )
-
-{
-    sizer = new wxBoxSizer( wxHORIZONTAL );
-}
-
-ConfigControl::~ConfigControl()
-{
-}
-
-wxSizer *ConfigControl::Sizer()
-{
-    return sizer;
-}
-
-wxString ConfigControl::GetName()
-{
-    return name;
-}
-
-int ConfigControl::GetType()
-{
-    return i_type;
-}
-
-bool ConfigControl::IsAdvanced()
-{
-    return b_advanced;
-}
-
-void ConfigControl::SetUpdateCallback( void (*p_callback)( void * ),
-                                             void *p_data )
-{
-    pf_update_callback = p_callback;
-    p_update_data = p_data;
-}
-
-void ConfigControl::OnUpdate( wxCommandEvent& WXUNUSED(event) )
-{
-    if( pf_update_callback )
-    {
-        pf_update_callback( p_update_data );
-    }
-}
-
-void ConfigControl::OnUpdateScroll( wxScrollEvent& WXUNUSED(event) )
-{
-    wxCommandEvent cevent;
-    OnUpdate(cevent);
-}
-
-
-/*****************************************************************************
- * KeyConfigControl implementation
- *****************************************************************************/
-wxString *KeyConfigControl::m_keysList = NULL;
-
-KeyConfigControl::KeyConfigControl( vlc_object_t *p_this,
-                                    module_config_t *p_item, wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    // Number of keys descriptions
-    unsigned int i_keys = sizeof(vlc_keys)/sizeof(key_descriptor_t);
-
-    // Init the keys decriptions array
-    if( m_keysList == NULL )
-    {
-        m_keysList = new wxString[i_keys];
-        for( unsigned int i = 0; i < i_keys; i++ )
-        {
-            m_keysList[i] = wxU(vlc_keys[i].psz_key_string);
-        }
-    }
-
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    alt = new wxCheckBox( this, -1, wxU(_("Alt")) );
-    alt->SetValue( p_item->value.i & KEY_MODIFIER_ALT );
-    ctrl = new wxCheckBox( this, -1, wxU(_("Ctrl")) );
-    ctrl->SetValue( p_item->value.i & KEY_MODIFIER_CTRL );
-    shift = new wxCheckBox( this, -1, wxU(_("Shift")) );
-    shift->SetValue( p_item->value.i & KEY_MODIFIER_SHIFT );
-    combo = new wxComboBox( this, -1, wxT(""), wxDefaultPosition,
-                            wxDefaultSize, i_keys, m_keysList,
-                            wxCB_READONLY );
-    for( unsigned int i = 0; i < i_keys; i++ )
-    {
-        combo->SetClientData( i, (void*)vlc_keys[i].i_key_code );
-        if( (unsigned int)vlc_keys[i].i_key_code ==
-            ( ((unsigned int)p_item->value.i) & ~KEY_MODIFIER ) )
-        {
-            combo->SetSelection( i );
-            combo->SetValue( wxU(_(vlc_keys[i].psz_key_string)) );
-        }
-    }
-
-    sizer->Add( label, 2, wxALIGN_CENTER_VERTICAL | wxALL | wxEXPAND, 5 );
-    sizer->Add( alt,   1, wxALIGN_CENTER_VERTICAL | wxALL | wxEXPAND, 5 );
-    sizer->Add( ctrl,  1, wxALIGN_CENTER_VERTICAL | wxALL | wxEXPAND, 5 );
-    sizer->Add( shift, 1, wxALIGN_CENTER_VERTICAL | wxALL | wxEXPAND, 5 );
-    sizer->Add( combo, 2, wxALIGN_CENTER_VERTICAL | wxALL | wxEXPAND, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-KeyConfigControl::~KeyConfigControl()
-{
-    if( m_keysList )
-    {
-        delete[] m_keysList;
-        m_keysList = NULL;
-    }
-}
-
-int KeyConfigControl::GetIntValue()
-{
-    int result = 0;
-    if( alt->IsChecked() )
-    {
-        result |= KEY_MODIFIER_ALT;
-    }
-    if( ctrl->IsChecked() )
-    {
-        result |= KEY_MODIFIER_CTRL;
-    }
-    if( shift->IsChecked() )
-    {
-        result |= KEY_MODIFIER_SHIFT;
-    }
-    int selected = combo->GetSelection();
-    if( selected != -1 )
-    {
-        result |= (int)combo->GetClientData( selected );
-    }
-    return result;
-}
-
-/*****************************************************************************
- * ModuleConfigControl implementation
- *****************************************************************************/
-ModuleConfigControl::ModuleConfigControl( vlc_object_t *p_this,
-                                          module_config_t *p_item,
-                                          wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    vlc_list_t *p_list;
-    module_t *p_parser;
-
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    combo = new wxComboBox( this, -1, wxL2U(p_item->value.psz),
-                            wxDefaultPosition, wxDefaultSize,
-                            0, NULL, wxCB_READONLY | wxCB_SORT );
-
-    /* build a list of available modules */
-    p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-    combo->Append( wxU(_("Default")), (void *)NULL );
-    combo->SetSelection( 0 );
-    for( int i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-        if( module_provides( p_parser, p_item->psz_type ) )
-        {
-            combo->Append( wxU(module_GetLongName(p_parser)),
-                           (char *)module_get_object(p_parser) );
-            if( p_item->value.psz && !strcmp(p_item->value.psz,
-                                             module_get_object(p_parser)) )
-                combo->SetValue( wxU(module_GetLongName(p_parser)) );
-        }
-    }
-    vlc_list_release( p_list );
-
-    combo->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Add( combo, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-ModuleCatConfigControl::~ModuleCatConfigControl()
-{
-    ;
-}
-
-wxString ModuleCatConfigControl::GetPszValue()
-{
-    return wxU( (char *)combo->GetClientData( combo->GetSelection() ));
-}
-
-/*****************************************************************************
- * ModuleCatConfigControl implementation
- *****************************************************************************/
-ModuleCatConfigControl::ModuleCatConfigControl( vlc_object_t *p_this,
-                                                module_config_t *p_item,
-                                                wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    vlc_list_t *p_list;
-    module_t *p_parser;
-
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    combo = new wxComboBox( this, -1, wxL2U(p_item->value.psz),
-                            wxDefaultPosition, wxDefaultSize,
-                            0, NULL, wxCB_READONLY | wxCB_SORT );
-
-    combo->Append( wxU(_("Default")), (void *)NULL );
-    combo->SetSelection( 0 );
-
-    /* build a list of available modules */
-    p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-    for(  int i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-        if( !strcmp( module_get_object(p_parser), "main" ) )
-              continue;
-
-        unsigned int i_confsize;
-        module_config_t *p_config, *p_start, *p_end;
-        p_start = module_config_get( p_parser, &i_confsize );
-        p_end = p_start + i_confsize;
-
-        for( p_config = p_start; p_config < p_end; p_config++ )
-        {
-            /* Hack: required subcategory is stored in min.i */
-            if( p_config->i_type == CONFIG_SUBCATEGORY &&
-                p_config->value.i == p_item->min.i )
-            {
-                combo->Append( wxU(module_GetLongName(p_parser)),
-                               (char *)module_get_object(p_parser) );
-                if( p_item->value.psz &&
-                    !strcmp(p_item->value.psz, module_get_object(p_parser)) )
-                    combo->SetValue( wxU(module_GetLongName(p_parser)) );
-            }
-        }
-
-        module_config_free( p_start );
-    }
-    vlc_list_release( p_list );
-
-    combo->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Add( combo, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-ModuleConfigControl::~ModuleConfigControl()
-{
-    ;
-}
-
-wxString ModuleConfigControl::GetPszValue()
-{
-    return wxU( (char *)combo->GetClientData( combo->GetSelection() ));
-}
-
-
-/*****************************************************************************
- * ModuleListCatonfigControl implementation
- *****************************************************************************/
-BEGIN_EVENT_TABLE(ModuleListCatConfigControl, wxPanel)
-    EVT_CHECKBOX( wxID_HIGHEST , ModuleListCatConfigControl::OnUpdate )
-END_EVENT_TABLE()
-
-
-ModuleListCatConfigControl::ModuleListCatConfigControl( vlc_object_t *p_this,
-                                                     module_config_t *p_item,
-                                                     wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    vlc_list_t *p_list;
-    module_t *p_parser;
-
-    delete sizer;
-    sizer = new wxBoxSizer( wxVERTICAL );
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    sizer->Add( label );
-
-    text = new wxTextCtrl( this, -1, wxU(p_item->value.psz),
-                           wxDefaultPosition,wxSize( 300, 20 ) );
-
-
-    /* build a list of available modules */
-    p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-    for(  int i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-        if( !strcmp( module_get_object(p_parser), "main" ) )
-              continue;
-
-        unsigned int i_confsize;
-        module_config_t *p_config, *p_start, *p_end;
-
-        p_start = module_config_get( p_parser, &i_confsize );
-        p_end = p_start + i_confsize;
-
-        for( p_config = p_start; p_config < p_end; p_config++ )
-        {
-            /* Hack: required subcategory is stored in min.i */
-            if( p_config->i_type == CONFIG_SUBCATEGORY &&
-                p_config->value.i == p_item->min.i )
-            {
-                moduleCheckBox *mc = new moduleCheckBox;
-                mc->checkbox =
-                    new wxCheckBox( this, wxID_HIGHEST,
-                                    wxU(module_GetLongName(p_parser)) );
-
-                mc->psz_module = strdup( module_get_object(p_parser) );
-                pp_checkboxes.push_back( mc );
-
-                if( p_item->value.psz &&
-                    strstr( p_item->value.psz, mc->psz_module ) )
-                {
-                    mc->checkbox->SetValue( true );
-                }
-                sizer->Add( mc->checkbox );
-            }
-        }
-
-        module_config_free( p_start );
-    }
-    vlc_list_release( p_list );
-
-    text->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add(text, 0, wxEXPAND|wxALL, 5 );
-
-    sizer->Add (new wxStaticText( this, -1, wxU( vlc_wraptext( _("Select "
-        "the desired modules. For more advanced control, the "
-        "resulting \"chain\" can be modified.") , 72 ) ) ) );
-
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-ModuleListCatConfigControl::~ModuleListCatConfigControl()
-{
-    ;
-}
-
-wxString ModuleListCatConfigControl::GetPszValue()
-{
-    return text->GetValue() ;
-}
-
-void  ModuleListCatConfigControl::OnUpdate( wxCommandEvent &event )
-{
-    bool b_waschecked = false;
-    wxString newtext =  text->GetValue();
-
-    for( unsigned int i = 0 ; i< pp_checkboxes.size() ; i++ )
-    {
-        b_waschecked = newtext.Find( wxT(":")+wxU(pp_checkboxes[i]->psz_module)+wxT(":")) != -1 || newtext.BeforeFirst( ':' ) == wxString(wxU(pp_checkboxes[i]->psz_module)) || newtext.AfterLast( ':' ) == wxString(wxU(pp_checkboxes[i]->psz_module));
-        /* For some reasons, ^^ doesn't compile :( */
-        if( (pp_checkboxes[i]->checkbox->IsChecked() && ! b_waschecked )||
-            (! pp_checkboxes[i]->checkbox->IsChecked() && b_waschecked) )
-        {
-            if( b_waschecked )
-            {
-                /* Maybe not the clest solution */
-                if( ! newtext.Replace(wxString(wxT(":"))
-                                      +wxU(pp_checkboxes[i]->psz_module)+wxT(":"),
-                                      wxT(":")))
-                {
-                    if( newtext.BeforeFirst( ':' ) == wxString(wxU(pp_checkboxes[i]->psz_module)) )
-                    {
-                        newtext = newtext.AfterFirst( ':' );
-                    }
-                    else if( newtext.AfterLast( ':' ) == wxString(wxU(pp_checkboxes[i]->psz_module)) )
-                    {
-                        newtext = newtext.BeforeLast( ':' );
-                    }
-                    else if( newtext == wxString(wxU(pp_checkboxes[i]->psz_module)) )
-                    {
-                        newtext = wxT("");
-                    }
-                    else
-                    {
-                        newtext.Replace(wxU(pp_checkboxes[i]->psz_module),wxU(""));
-                    }
-                }
-            }
-            else
-            {
-                if( newtext.Len() == 0 )
-                {
-                    newtext = wxU(pp_checkboxes[i]->psz_module);
-                }
-                else
-                {
-                    newtext += wxU( ":" );
-                    newtext += wxU(pp_checkboxes[i]->psz_module);
-                }
-            }
-        }
-    }
-    text->SetValue( newtext );
-}
-
-/*****************************************************************************
- * StringConfigControl implementation
- *****************************************************************************/
-StringConfigControl::StringConfigControl( vlc_object_t *p_this,
-                                          module_config_t *p_item,
-                                          wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    textctrl = new wxTextCtrl( this, -1,
-                               wxL2U(p_item->value.psz),
-                               wxDefaultPosition,
-                               wxDefaultSize,
-                               wxTE_PROCESS_ENTER);
-    textctrl->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( textctrl, 1, wxALL, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-StringConfigControl::~StringConfigControl()
-{
-    ;
-}
-
-wxString StringConfigControl::GetPszValue()
-{
-    return textctrl->GetValue();
-}
-
-BEGIN_EVENT_TABLE(StringConfigControl, wxPanel)
-    /* Text events */
-    EVT_TEXT(-1, StringConfigControl::OnUpdate)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * StringListConfigControl implementation
- *****************************************************************************/
-StringListConfigControl::StringListConfigControl( vlc_object_t *p_this,
-                                                  module_config_t *p_item,
-                                                  wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    psz_default_value = (char *)p_item->value.psz;
-    if( psz_default_value ) psz_default_value = strdup( psz_default_value );
-
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    combo = new wxComboBox( this, -1, wxT(""),
-                            wxDefaultPosition, wxDefaultSize,
-                            0, NULL, wxCB_READONLY );
-
-    // was required to do so - because local p_item is a memcpy of
-    // this one, so it won't see the change done by pf_updat_list
-    module_config_t *p_module_config = config_FindConfig( p_this, p_item->psz_name );
-    if(p_module_config && p_module_config->pf_update_list)
-    {
-       vlc_value_t val;
-       val.psz_string = strdup(p_module_config->value.psz);
-
-       p_module_config->pf_update_list(p_this, p_item->psz_name, val, val, NULL);
-
-       // assume in a×y case that dirty was set to true
-       // because lazy programmes will use the same callback for
-       // this, like the one behind the refresh push button?
-       p_module_config->b_dirty = false;
-
-       free( val.psz_string );
-    }
-
-    UpdateCombo( p_module_config );
-
-    combo->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( combo, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-
-    for( int i = 0; i < p_item->i_action; i++ )
-    {
-        wxButton *button =
-            new wxButton( this, wxID_HIGHEST+i,
-                          wxU(_(p_item->ppsz_action_text[i])) );
-        sizer->Add( button, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
-    }
-
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-StringListConfigControl::~StringListConfigControl()
-{
-    free( psz_default_value );
-}
-
-void StringListConfigControl::UpdateCombo( module_config_t *p_item )
-{
-    bool b_found = false;
-    int i_index;
-
-    /* build a list of available options */
-    for( i_index = 0; i_index < p_item->i_list; i_index++ )
-    {
-        combo->Append( ( p_item->ppsz_list_text &&
-                         p_item->ppsz_list_text[i_index] ) ?
-                       wxU(p_item->ppsz_list_text[i_index]) :
-                       wxL2U(p_item->ppsz_list[i_index]) );
-        combo->SetClientData( i_index, (void *)p_item->ppsz_list[i_index] );
-        if( ( p_item->value.psz &&
-              !strcmp( p_item->value.psz, p_item->ppsz_list[i_index] ) ) ||
-             ( !p_item->value.psz && !*p_item->ppsz_list[i_index] ) )
-        {
-            combo->SetSelection( i_index );
-            combo->SetValue( ( p_item->ppsz_list_text &&
-                               p_item->ppsz_list_text[i_index] ) ?
-                             wxU(p_item->ppsz_list_text[i_index]) :
-                             wxL2U(p_item->ppsz_list[i_index]) );
-            b_found = true;
-        }
-    }
-
-    if( p_item->value.psz && !b_found )
-    {
-        /* Add custom entry to list */
-        combo->Append( wxL2U(p_item->value.psz) );
-        combo->SetClientData( i_index, (void *)psz_default_value );
-        combo->SetSelection( i_index );
-        combo->SetValue( wxL2U(p_item->value.psz) );
-    }
-}
-
-BEGIN_EVENT_TABLE(StringListConfigControl, wxPanel)
-    /* Button events */
-    EVT_BUTTON(-1, StringListConfigControl::OnAction)
-
-    /* Text events */
-    EVT_TEXT(-1, StringListConfigControl::OnUpdate)
-END_EVENT_TABLE()
-
-void StringListConfigControl::OnAction( wxCommandEvent& event )
-{
-    int i_action = event.GetId() - wxID_HIGHEST;
-
-    module_config_t *p_item = config_FindConfig( p_this, GetName().mb_str(wxConvUTF8) );
-    if( !p_item ) return;
-
-    if( i_action < 0 || i_action >= p_item->i_action ) return;
-
-    vlc_value_t val;
-    wxString value = GetPszValue();
-    *((const char **)&val.psz_string) = value.mb_str(wxConvUTF8);
-    p_item->ppf_action[i_action]( p_this, GetName().mb_str(wxConvUTF8), val, val, 0 );
-
-    if( p_item->b_dirty )
-    {
-        combo->Clear();
-        UpdateCombo( p_item );
-        p_item->b_dirty = false;
-    }
-}
-
-wxString StringListConfigControl::GetPszValue()
-{
-    int selected = combo->GetSelection();
-    if( selected != -1 )
-    {
-        return wxL2U((char *)combo->GetClientData( selected ));
-    }
-    return wxString();
-}
-
-/*****************************************************************************
- * FileConfigControl implementation
- *****************************************************************************/
-FileConfigControl::FileConfigControl( vlc_object_t *p_this,
-                                      module_config_t *p_item,
-                                      wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    directory = p_item->i_type == CONFIG_ITEM_DIRECTORY;
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    textctrl = new wxTextCtrl( this, -1,
-                               wxL2U(p_item->value.psz),
-                               wxDefaultPosition,
-                               wxDefaultSize,
-                               wxTE_PROCESS_ENTER);
-    textctrl->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( textctrl, 1, wxALL, 5 );
-    browse = new wxButton( this, wxID_HIGHEST, wxU(_("Browse...")) );
-    sizer->Add( browse, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-BEGIN_EVENT_TABLE(FileConfigControl, wxPanel)
-    /* Button events */
-    EVT_BUTTON(wxID_HIGHEST, FileConfigControl::OnBrowse)
-END_EVENT_TABLE()
-
-void FileConfigControl::OnBrowse( wxCommandEvent& event )
-{
-    if( directory )
-    {
-        wxDirDialog dialog( this, wxU(_("Choose directory")) );
-
-        if( dialog.ShowModal() == wxID_OK )
-        {
-            textctrl->SetValue( dialog.GetPath() );
-        }
-    }
-    else
-    {
-        wxFileDialog dialog( this, wxU(_("Choose file")),
-                             wxT(""), wxT(""), wxT("*.*"),
-#if defined( __WXMSW__ )
-                             wxOPEN
-#else
-                             wxOPEN
-#endif
-                           );
-        if( dialog.ShowModal() == wxID_OK )
-        {
-            textctrl->SetValue( dialog.GetPath() );
-        }
-    }
-}
-
-FileConfigControl::~FileConfigControl()
-{
-    ;
-}
-
-wxString FileConfigControl::GetPszValue()
-{
-    return textctrl->GetValue();
-}
-
-/*****************************************************************************
- * IntegerConfigControl implementation
- *****************************************************************************/
-BEGIN_EVENT_TABLE(IntegerConfigControl, wxPanel)
-    EVT_TEXT(-1, IntegerConfigControl::OnUpdate)
-    EVT_COMMAND_SCROLL(-1, IntegerConfigControl::OnUpdateScroll)
-END_EVENT_TABLE()
-
-IntegerConfigControl::IntegerConfigControl( vlc_object_t *p_this,
-                                            module_config_t *p_item,
-                                            wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    spin = new wxSpinCtrl( this, -1,
-                           wxString::Format(wxT("%d"),
-                                            p_item->value.i),
-                           wxDefaultPosition, wxDefaultSize,
-                           wxSP_ARROW_KEYS,
-                           -100000000, 100000000, p_item->value.i);
-    spin->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Add( spin, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-    i_value = p_item->value.i;
-}
-
-IntegerConfigControl::~IntegerConfigControl()
-{
-    ;
-}
-
-int IntegerConfigControl::GetIntValue()
-{
-    /* We avoid using GetValue because of a recursion bug with wxSpinCtrl with
-     * wxGTK. */
-    return spin->GetValue();
-}
-
-void IntegerConfigControl::OnUpdate( wxCommandEvent &event )
-{
-    ConfigControl::OnUpdate( event );
-}
-void IntegerConfigControl::OnUpdateScroll( wxScrollEvent &event )
-{
-    wxCommandEvent cevent;
-    cevent.SetInt(event.GetPosition());
-    OnUpdate(cevent);
-}
-
-/*****************************************************************************
- * IntegerListConfigControl implementation
- *****************************************************************************/
-IntegerListConfigControl::IntegerListConfigControl( vlc_object_t *p_this,
-                                                    module_config_t *p_item,
-                                                    wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    combo = new wxComboBox( this, -1, wxT(""),
-                            wxDefaultPosition, wxDefaultSize,
-                            0, NULL, wxCB_READONLY );
-
-    module_config_t *p_module_config = config_FindConfig( p_this, p_item->psz_name );
-    if(p_module_config && p_module_config->pf_update_list)
-    {
-       vlc_value_t val;
-       val.i_int = p_module_config->value.i;
-
-       p_module_config->pf_update_list(p_this, p_item->psz_name, val, val, NULL);
-
-       // assume in any case that dirty was set to true
-       // because lazy programmes will use the same callback for
-       // this, like the one behind the refresh push button?
-       p_module_config->b_dirty = false;
-    }
-
-    UpdateCombo( p_module_config );
-
-    combo->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( combo, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-IntegerListConfigControl::~IntegerListConfigControl()
-{
-}
-
-void IntegerListConfigControl::UpdateCombo( module_config_t *p_item )
-{
-    /* build a list of available options */
-    for( int i_index = 0; i_index < p_item->i_list; i_index++ )
-    {
-        if( p_item->ppsz_list_text && p_item->ppsz_list_text[i_index] )
-        {
-            combo->Append( wxU(p_item->ppsz_list_text[i_index]) );
-        }
-        else
-        {
-            combo->Append( wxString::Format(wxT("%i"),
-                                            p_item->pi_list[i_index]) );
-        }
-        combo->SetClientData( i_index, (void *)p_item->pi_list[i_index] );
-        if( p_item->value.i == p_item->pi_list[i_index] )
-        {
-            combo->SetSelection( i_index );
-            if( p_item->ppsz_list_text && p_item->ppsz_list_text[i_index] )
-            {
-                combo->SetValue( wxU(p_item->ppsz_list_text[i_index]) );
-            }
-            else
-            {
-                combo->SetValue( wxString::Format(wxT("%i"),
-                                                  p_item->pi_list[i_index]) );
-            }
-        }
-    }
-}
-
-BEGIN_EVENT_TABLE(IntegerListConfigControl, wxPanel)
-    /* Button events */
-    EVT_BUTTON(-1, IntegerListConfigControl::OnAction)
-
-    /* Update events */
-    EVT_TEXT(-1, IntegerListConfigControl::OnUpdate)
-END_EVENT_TABLE()
-
-void IntegerListConfigControl::OnAction( wxCommandEvent& event )
-{
-    int i_action = event.GetId() - wxID_HIGHEST;
-
-    module_config_t *p_item;
-    p_item = config_FindConfig( p_this, GetName().mb_str(wxConvUTF8) );
-    if( !p_item ) return;
-
-    if( i_action < 0 || i_action >= p_item->i_action ) return;
-
-    vlc_value_t val;
-    val.i_int = GetIntValue();
-    p_item->ppf_action[i_action]( p_this, GetName().mb_str(wxConvUTF8), val, val, 0 );
-
-    if( p_item->b_dirty )
-    {
-        combo->Clear();
-        UpdateCombo( p_item );
-        p_item->b_dirty = false;
-    }
-}
-
-int IntegerListConfigControl::GetIntValue()
-{
-    int selected = combo->GetSelection();
-    if( selected != -1 )
-    {
-        return (int)combo->GetClientData( selected );
-    }
-    return -1;
-}
-
-/*****************************************************************************
- * RangedIntConfigControl implementation
- *****************************************************************************/
-BEGIN_EVENT_TABLE(RangedIntConfigControl, wxPanel)
-    EVT_COMMAND_SCROLL(-1, RangedIntConfigControl::OnUpdateScroll)
-END_EVENT_TABLE()
-
-RangedIntConfigControl::RangedIntConfigControl( vlc_object_t *p_this,
-                                                module_config_t *p_item,
-                                                wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    slider = new wxSlider( this, -1, p_item->value.i, p_item->min.i,
-                           p_item->max.i, wxDefaultPosition, wxDefaultSize,
-                           wxSL_LABELS | wxSL_HORIZONTAL );
-    slider->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Add( slider, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-RangedIntConfigControl::~RangedIntConfigControl()
-{
-    ;
-}
-
-int RangedIntConfigControl::GetIntValue()
-{
-    return slider->GetValue();
-}
-
-
-/*****************************************************************************
- * FloatConfigControl implementation
- *****************************************************************************/
-BEGIN_EVENT_TABLE(FloatConfigControl, wxPanel)
-    EVT_TEXT(-1, FloatConfigControl::OnUpdate)
-END_EVENT_TABLE()
-
-FloatConfigControl::FloatConfigControl( vlc_object_t *p_this,
-                                        module_config_t *p_item,
-                                        wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
-    textctrl = new wxTextCtrl( this, -1,
-                               wxString::Format(wxT("%f"),
-                                                p_item->value.f),
-                               wxDefaultPosition, wxDefaultSize,
-                               wxTE_PROCESS_ENTER );
-    textctrl->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    sizer->Add( textctrl, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-FloatConfigControl::~FloatConfigControl()
-{
-    ;
-}
-
-float FloatConfigControl::GetFloatValue()
-{
-    float f_value;
-    if( (wxSscanf(textctrl->GetValue(), wxT("%f"), &f_value) == 1) )
-        return f_value;
-    else return 0.0;
-}
-
-/*****************************************************************************
- * BoolConfigControl implementation
- *****************************************************************************/
-BEGIN_EVENT_TABLE(BoolConfigControl, wxPanel)
-    EVT_CHECKBOX(-1, BoolConfigControl::OnUpdate)
-END_EVENT_TABLE()
-
-BoolConfigControl::BoolConfigControl( vlc_object_t *p_this,
-                                      module_config_t *p_item,
-                                      wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    checkbox = new wxCheckBox( this, -1, wxU(p_item->psz_text) );
-    if( p_item->value.i ) checkbox->SetValue(TRUE);
-    checkbox->SetToolTip( wxU(p_item->psz_longtext) );
-    sizer->Add( checkbox, 0, wxALL, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-BoolConfigControl::~BoolConfigControl()
-{
-    ;
-}
-
-int BoolConfigControl::GetIntValue()
-{
-    if( checkbox->IsChecked() ) return 1;
-    else return 0;
-}
-
-/*****************************************************************************
- * SectionConfigControl implementation
- *****************************************************************************/
-SectionConfigControl::SectionConfigControl( vlc_object_t *p_this,
-                                            module_config_t *p_item,
-                                            wxWindow *parent )
-  : ConfigControl( p_this, p_item, parent )
-{
-    delete sizer;
-    sizer = new wxBoxSizer( wxVERTICAL );
-    sizer->Add( new wxStaticText( this, -1, wxU( p_item->psz_text ) ) );
-    sizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND, 5 );
-    sizer->Layout();
-    this->SetSizerAndFit( sizer );
-}
-
-SectionConfigControl::~SectionConfigControl()
-{
-    ;
-}
diff --git a/modules/gui/wxwidgets/dialogs/preferences_widgets.h b/modules/gui/wxwidgets/dialogs/preferences_widgets.h
deleted file mode 100644 (file)
index ae7e71f..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*****************************************************************************
- * preferences_widgets.h : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2003 the VideoLAN team
- * $Id$
- *
- * Authors: Sigmund Augdal Helberg <dnumgis@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include <vector>
-#include <wx/spinctrl.h>
-
-class ConfigControl: public wxPanel
-{
-public:
-    ConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    virtual ~ConfigControl();
-    wxSizer *Sizer();
-
-    virtual int GetIntValue() {return 0;}
-    virtual float GetFloatValue() {return 0;}
-    virtual wxString GetPszValue() {return wxString();}
-
-    wxString GetName();
-    int GetType();
-    bool IsAdvanced();
-
-    void SetUpdateCallback( void (*)( void * ), void * );
-
-protected:
-    wxBoxSizer *sizer;
-    wxStaticText *label;
-    vlc_object_t *p_this;
-
-    void (*pf_update_callback)( void * );
-    void *p_update_data;
-
-    void OnUpdate( wxCommandEvent& event );
-    void OnUpdateScroll( wxScrollEvent& event );
-
-private:
-    wxString name;
-    int i_type;
-    bool b_advanced;
-};
-
-ConfigControl *CreateConfigControl( vlc_object_t *,
-                                    module_config_t *, wxWindow * );
-
-class KeyConfigControl: public ConfigControl
-{
-public:
-    KeyConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~KeyConfigControl();
-    virtual int GetIntValue();
-private:
-    wxCheckBox *alt;
-    wxCheckBox *ctrl;
-    wxCheckBox *shift;
-    wxComboBox *combo;
-    // Array of key descriptions, for the ComboBox
-    static wxString *m_keysList;
-};
-
-class ModuleConfigControl: public ConfigControl
-{
-public:
-    ModuleConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~ModuleConfigControl();
-    virtual wxString GetPszValue();
-private:
-    wxComboBox *combo;
-};
-
-struct moduleCheckBox {
-    wxCheckBox *checkbox;
-    char *psz_module;
-};
-
-class ModuleCatConfigControl: public ConfigControl
-{
-public:
-    ModuleCatConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~ModuleCatConfigControl();
-    virtual wxString GetPszValue();
-private:
-    wxComboBox *combo;
-};
-
-
-class ModuleListCatConfigControl: public ConfigControl
-{
-public:
-    ModuleListCatConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~ModuleListCatConfigControl();
-    virtual wxString GetPszValue();
-private:
-    std::vector<moduleCheckBox *> pp_checkboxes;
-
-    void OnUpdate( wxCommandEvent& );
-
-    wxTextCtrl *text;
-    DECLARE_EVENT_TABLE()
-};
-
-;
-
-class StringConfigControl: public ConfigControl
-{
-public:
-    StringConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~StringConfigControl();
-    virtual wxString GetPszValue();
-private:
-    wxTextCtrl *textctrl;
-
-    DECLARE_EVENT_TABLE()
-};
-
-class StringListConfigControl: public ConfigControl
-{
-public:
-    StringListConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~StringListConfigControl();
-    virtual wxString GetPszValue();
-private:
-    wxComboBox *combo;
-    char *psz_default_value;
-    void UpdateCombo( module_config_t *p_item );
-
-    void OnAction( wxCommandEvent& );
-
-    DECLARE_EVENT_TABLE()
-};
-
-class FileConfigControl: public ConfigControl
-{
-public:
-    FileConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~FileConfigControl();
-    void OnBrowse( wxCommandEvent& );
-    virtual wxString GetPszValue();
-private:
-    wxTextCtrl *textctrl;
-    wxButton *browse;
-    bool directory;
-
-    DECLARE_EVENT_TABLE()
-};
-
-class IntegerConfigControl: public ConfigControl
-{
-public:
-    IntegerConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~IntegerConfigControl();
-    virtual int GetIntValue();
-private:
-    wxSpinCtrl *spin;
-    int i_value;
-
-    void OnUpdate( wxCommandEvent& event );
-    void OnUpdateScroll( wxScrollEvent& event );
-
-    DECLARE_EVENT_TABLE()
-};
-
-class IntegerListConfigControl: public ConfigControl
-{
-public:
-    IntegerListConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~IntegerListConfigControl();
-    virtual int GetIntValue();
-private:
-    wxComboBox *combo;
-    void UpdateCombo( module_config_t *p_item );
-
-    void OnAction( wxCommandEvent& );
-
-    DECLARE_EVENT_TABLE()
-};
-
-class RangedIntConfigControl: public ConfigControl
-{
-public:
-    RangedIntConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~RangedIntConfigControl();
-    virtual int GetIntValue();
-private:
-    wxSlider *slider;
-
-    DECLARE_EVENT_TABLE()
-};
-
-class FloatConfigControl: public ConfigControl
-{
-public:
-    FloatConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~FloatConfigControl();
-    virtual float GetFloatValue();
-private:
-    wxTextCtrl *textctrl;
-
-    DECLARE_EVENT_TABLE()
-};
-
-class BoolConfigControl: public ConfigControl
-{
-public:
-    BoolConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~BoolConfigControl();
-    virtual int GetIntValue();
-private:
-    wxCheckBox *checkbox;
-
-    DECLARE_EVENT_TABLE()
-};
-
-class SectionConfigControl: public ConfigControl
-{
-public:
-    SectionConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
-    ~SectionConfigControl();
-};
diff --git a/modules/gui/wxwidgets/dialogs/streamout.cpp b/modules/gui/wxwidgets/dialogs/streamout.cpp
deleted file mode 100644 (file)
index 044b743..0000000
+++ /dev/null
@@ -1,1089 +0,0 @@
-/*****************************************************************************
- * streamout.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@netcourrier.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "dialogs/streamout.hpp"
-
-#include <wx/spinctrl.h>
-#include <wx/combobox.h>
-#include <wx/statline.h>
-
-#include "streamdata.h"
-
-#ifndef wxRB_SINGLE
-#   define wxRB_SINGLE 0
-#endif
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    Notebook_Event = wxID_HIGHEST,
-    MRL_Event,
-
-    FileBrowse_Event,
-    FileName_Event,
-    FileDump_Event,
-
-    AccessType1_Event, AccessType2_Event, AccessType3_Event,
-    AccessType4_Event, AccessType5_Event, AccessType6_Event,
-    NetPort1_Event, NetPort2_Event, NetPort3_Event, NetPort4_Event,
-    NetAddr1_Event, NetAddr2_Event, NetAddr3_Event, NetAddr4_Event,
-
-    EncapsulationRadio1_Event, EncapsulationRadio2_Event,
-    EncapsulationRadio3_Event, EncapsulationRadio4_Event,
-    EncapsulationRadio5_Event, EncapsulationRadio6_Event,
-    EncapsulationRadio7_Event, EncapsulationRadio8_Event,
-    EncapsulationRadio9_Event, EncapsulationRadio10_Event,
-
-    VideoTranscEnable_Event, VideoTranscCodec_Event, VideoTranscBitrate_Event,
-    VideoTranscScale_Event,
-    AudioTranscEnable_Event, AudioTranscCodec_Event, AudioTranscBitrate_Event,
-    AudioTranscChans_Event,
-    SubtitlesTranscEnable_Event, SubtitlesTranscCodec_Event,
-    SubtitlesOverlayEnable_Event,
-
-    SAPMisc_Event, AnnounceGroup_Event, AnnounceAddr_Event,
-    SoutAll_Event
-};
-
-BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
-    /* Button events */
-    EVT_BUTTON(wxID_OK, SoutDialog::OnOk)
-    EVT_BUTTON(wxID_CANCEL, SoutDialog::OnCancel)
-
-    /* Events generated by the access output panel */
-    EVT_CHECKBOX(AccessType1_Event, SoutDialog::OnAccessTypeChange)
-    EVT_CHECKBOX(AccessType2_Event, SoutDialog::OnAccessTypeChange)
-    EVT_CHECKBOX(AccessType3_Event, SoutDialog::OnAccessTypeChange)
-    EVT_CHECKBOX(AccessType4_Event, SoutDialog::OnAccessTypeChange)
-    EVT_CHECKBOX(AccessType5_Event, SoutDialog::OnAccessTypeChange)
-    EVT_CHECKBOX(AccessType6_Event, SoutDialog::OnAccessTypeChange)
-    EVT_TEXT(FileName_Event, SoutDialog::OnFileChange)
-    EVT_BUTTON(FileBrowse_Event, SoutDialog::OnFileBrowse)
-    EVT_CHECKBOX(FileDump_Event, SoutDialog::OnFileDump)
-
-    EVT_TEXT(NetPort1_Event, SoutDialog::OnNetChange)
-    EVT_TEXT(NetAddr1_Event, SoutDialog::OnNetChange)
-    EVT_TEXT(NetPort2_Event, SoutDialog::OnNetChange)
-    EVT_TEXT(NetAddr2_Event, SoutDialog::OnNetChange)
-    EVT_TEXT(NetPort3_Event, SoutDialog::OnNetChange)
-    EVT_TEXT(NetAddr3_Event, SoutDialog::OnNetChange)
-    EVT_TEXT(NetPort4_Event, SoutDialog::OnNetChange)
-    EVT_TEXT(NetAddr4_Event, SoutDialog::OnNetChange)
-
-    /* Events generated by the encapsulation panel */
-    EVT_RADIOBUTTON(EncapsulationRadio1_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio2_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio3_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio4_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio5_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio6_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio7_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio8_Event,
-                    SoutDialog::OnEncapsulationChange)
-    EVT_RADIOBUTTON(EncapsulationRadio9_Event,
-                    SoutDialog::OnEncapsulationChange)
-
-    /* Events generated by the transcoding panel */
-    EVT_CHECKBOX(VideoTranscEnable_Event, SoutDialog::OnTranscodingEnable)
-    EVT_CHECKBOX(AudioTranscEnable_Event, SoutDialog::OnTranscodingEnable)
-    EVT_CHECKBOX(SubtitlesTranscEnable_Event, SoutDialog::OnTranscodingEnable)
-    EVT_CHECKBOX(SubtitlesOverlayEnable_Event, SoutDialog::OnTranscodingEnable)
-    EVT_COMBOBOX(VideoTranscCodec_Event, SoutDialog::OnTranscodingChange)
-    EVT_TEXT(VideoTranscCodec_Event, SoutDialog::OnTranscodingChange)
-    EVT_COMBOBOX(AudioTranscCodec_Event, SoutDialog::OnTranscodingChange)
-    EVT_TEXT(AudioTranscCodec_Event, SoutDialog::OnTranscodingChange)
-    EVT_COMBOBOX(VideoTranscBitrate_Event, SoutDialog::OnTranscodingChange)
-    EVT_TEXT(VideoTranscBitrate_Event, SoutDialog::OnTranscodingChange)
-    EVT_COMBOBOX(AudioTranscBitrate_Event, SoutDialog::OnTranscodingChange)
-    EVT_TEXT(AudioTranscBitrate_Event, SoutDialog::OnTranscodingChange)
-    EVT_COMBOBOX(VideoTranscScale_Event, SoutDialog::OnTranscodingChange)
-    EVT_TEXT(VideoTranscScale_Event, SoutDialog::OnTranscodingChange)
-    EVT_COMBOBOX(AudioTranscChans_Event, SoutDialog::OnTranscodingChange)
-    EVT_TEXT(AudioTranscChans_Event, SoutDialog::OnTranscodingChange)
-    EVT_COMBOBOX(SubtitlesTranscCodec_Event, SoutDialog::OnTranscodingChange)
-    EVT_TEXT(SubtitlesTranscCodec_Event, SoutDialog::OnTranscodingChange)
-
-    /* Events generated by the misc panel */
-    EVT_CHECKBOX(SAPMisc_Event, SoutDialog::OnSAPMiscChange)
-    EVT_TEXT(AnnounceGroup_Event, SoutDialog::OnAnnounceGroupChange)
-    EVT_TEXT(AnnounceAddr_Event, SoutDialog::OnAnnounceAddrChange)
-    EVT_CHECKBOX(SoutAll_Event, SoutDialog::OnAnnounceGroupChange)
-
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-SoutDialog::SoutDialog( intf_thread_t *_p_intf, wxWindow* _p_parent ):
-    wxDialog( _p_parent, -1, wxU(_("Stream output")),
-             wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    /* Create a panel to put everything in */
-    wxPanel *panel = new wxPanel( this, -1 );
-    panel->SetAutoLayout( TRUE );
-
-    /* Create MRL combobox */
-    wxBoxSizer *mrl_sizer_sizer = new wxBoxSizer( wxHORIZONTAL );
-    wxStaticBox *mrl_box = new wxStaticBox( panel, -1,
-                               wxU(_("Stream output MRL")) );
-    wxStaticBoxSizer *mrl_sizer = new wxStaticBoxSizer( mrl_box,
-                                                        wxHORIZONTAL );
-    wxStaticText *mrl_label = new wxStaticText( panel, -1,
-                                                wxU(_("Target:")));
-    mrl_combo = new wxComboBox( panel, MRL_Event, wxT(""),
-                                wxPoint(20,25), wxSize(120, -1) );
-    mrl_combo->SetToolTip( wxU(_("Specifies the MRL. This can be specified "
-        "directly or filled in automatically by adjusting the "
-        "stream settings.")) );
-
-    mrl_sizer->Add( mrl_label, 0, wxALL | wxALIGN_CENTER, 5 );
-    mrl_sizer->Add( mrl_combo, 1, wxALL | wxALIGN_CENTER, 5 );
-    mrl_sizer_sizer->Add( mrl_sizer, 1, wxEXPAND | wxALL, 5 );
-
-    /* Create the access output panel */
-    access_panel = AccessPanel( panel );
-
-    /* Create the output encapsulation panel */
-    encapsulation_panel = EncapsulationPanel( panel );
-
-    /* Create the transcoding panel */
-    transcoding_panel = TranscodingPanel( panel );
-
-    /* Create the Misc panel */
-    misc_panel = MiscPanel( panel );
-
-    /* Create the buttons */
-    wxButton *ok_button = new wxButton( panel, wxID_OK, wxU(_("&OK")) );
-    ok_button->SetDefault();
-    wxButton *cancel_button = new wxButton( panel, wxID_CANCEL,
-                                            wxU(_("&Cancel")) );
-
-    /* Place everything in sizers */
-    wxStdDialogButtonSizer *button_sizer = new wxStdDialogButtonSizer;
-    button_sizer->AddButton( ok_button );
-    button_sizer->AddButton( cancel_button );
-    button_sizer->Realize();
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-    panel_sizer->Add( mrl_sizer_sizer, 0, wxEXPAND, 5 );
-    panel_sizer->Add( access_panel, 1, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( encapsulation_panel, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( transcoding_panel, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( misc_panel, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( button_sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-    panel->SetSizerAndFit( panel_sizer );
-    main_sizer->Add( panel, 1, wxGROW, 0 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-}
-
-SoutDialog::~SoutDialog()
-{
-}
-
-wxArrayString SoutDialog::GetOptions()
-{
-   return SeparateEntries( mrl_combo->GetValue() );
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-void SoutDialog::UpdateMRL()
-{
-    /* Check the demux dump option */
-    if( dump_checkbox->IsChecked() )
-    {
-        wxString dumpfile;
-
-        if( file_combo->GetValue().size() )
-            dumpfile = wxT(" :demuxdump-file=\"") +
-                       file_combo->GetValue() + wxT("\"");
-        mrl_combo->SetValue( wxT(":demux=dump") + dumpfile );
-
-        return;
-    }
-
-    /* Let's start with the transcode options */
-    wxString transcode;
-    if( video_transc_checkbox->IsChecked() ||
-        audio_transc_checkbox->IsChecked() ||
-        subtitles_transc_checkbox->IsChecked() ||
-        subtitles_overlay_checkbox->IsChecked() )
-    {
-        transcode = wxT("transcode{");
-        if( video_transc_checkbox->IsChecked() )
-        {
-            transcode += wxT("vcodec=") + video_codec_combo->GetValue();
-            transcode += wxT(",vb=") + video_bitrate_combo->GetValue();
-            transcode += wxT(",scale=") + video_scale_combo->GetValue();
-            if( audio_transc_checkbox->IsChecked() ||
-                subtitles_transc_checkbox->IsChecked() ||
-                subtitles_overlay_checkbox->IsChecked() )
-                transcode += wxT(",");
-        }
-        if( audio_transc_checkbox->IsChecked() )
-        {
-            transcode += wxT("acodec=") + audio_codec_combo->GetValue();
-            transcode += wxT(",ab=") + audio_bitrate_combo->GetValue();
-            transcode += wxT(",channels=") + audio_channels_combo->GetValue();
-            if( subtitles_transc_checkbox->IsChecked() ||
-                subtitles_overlay_checkbox->IsChecked() )
-                transcode += wxT(",");
-        }
-        if( subtitles_transc_checkbox->IsChecked() )
-        {
-            transcode += wxT("scodec=") + subtitles_codec_combo->GetValue();
-        }
-        if( subtitles_overlay_checkbox->IsChecked() )
-        {
-            transcode += wxT("soverlay");
-        }
-        transcode += wxT("}");
-    }
-
-    /* Encapsulation */
-    wxString encapsulation;
-    switch( i_encapsulation_type )
-    {
-    case PS_ENCAPSULATION:
-        encapsulation = wxT("ps");
-        break;
-    case MPEG1_ENCAPSULATION:
-        encapsulation = wxT("mpeg1");
-        break;
-    case AVI_ENCAPSULATION:
-        encapsulation = wxT("avi");
-        break;
-    case OGG_ENCAPSULATION:
-        encapsulation = wxT("ogg");
-        break;
-    case RAW_ENCAPSULATION:
-        encapsulation = wxT("raw");
-        break;
-    case MP4_ENCAPSULATION:
-        encapsulation = wxT("mp4");
-        break;
-    case MOV_ENCAPSULATION:
-        encapsulation = wxT("mov");
-        break;
-    case ASF_ENCAPSULATION:
-        encapsulation = wxT("asf");
-        break;
-    case WAV_ENCAPSULATION:
-        encapsulation = wxT("wav");
-        break;
-    case TS_ENCAPSULATION:
-    default:
-        encapsulation = wxT("ts");
-        break;
-    }
-
-    /* Now continue with the duplicate option */
-    wxString dup_opts;
-    if( access_checkboxes[PLAY_ACCESS_OUT]->IsChecked() )
-    {
-        dup_opts += wxT("dst=display");
-    }
-    if( access_checkboxes[FILE_ACCESS_OUT]->IsChecked() )
-    {
-        if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
-        dup_opts += wxT("dst=std{access=file,mux=");
-        dup_opts += encapsulation + wxT(",dst=\"");
-        dup_opts += file_combo->GetValue() + wxT("\"}");
-    }
-    if( access_checkboxes[HTTP_ACCESS_OUT]->IsChecked() )
-    {
-        if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
-        dup_opts += wxT("dst=std{access=http,mux=");
-        dup_opts += encapsulation + wxT(",dst=");
-        dup_opts += net_addrs[HTTP_ACCESS_OUT]->GetLineText(0);
-        dup_opts += wxString::Format( wxT(":%d"),
-                                      net_ports[HTTP_ACCESS_OUT]->GetValue() );
-        dup_opts += wxT("}");
-    }
-    if( access_checkboxes[MMSH_ACCESS_OUT]->IsChecked() )
-    {
-        if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
-        dup_opts += wxT("dst=std{access=mmsh,mux=");
-        dup_opts += encapsulation;
-        if( i_encapsulation_type == ASF_ENCAPSULATION ) dup_opts += wxT("h");
-        dup_opts += wxT(",dst=");
-        dup_opts += net_addrs[MMSH_ACCESS_OUT]->GetLineText(0);
-        dup_opts += wxString::Format( wxT(":%d"),
-                                      net_ports[MMSH_ACCESS_OUT]->GetValue() );
-        dup_opts += wxT("}");
-    }
-    if( access_checkboxes[RTP_ACCESS_OUT]->IsChecked() )
-    {
-        if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
-        dup_opts += wxT("dst=rtp{mux=");
-        dup_opts += encapsulation + wxT(",dst=");
-
-        wxString rtp_addr = net_addrs[RTP_ACCESS_OUT]->GetLineText(0);
-        if ((rtp_addr[0u] != '[') && (rtp_addr.Find(':') != -1))
-        {
-            dup_opts += wxT ("[") + rtp_addr + wxT ("]");
-        }
-        else
-        {
-            dup_opts += rtp_addr;
-        }
-        dup_opts += wxString::Format( wxT(":%d"),
-                                      net_ports[RTP_ACCESS_OUT]->GetValue() );
-
-        /* SAP if RTP */
-        if( sap_checkbox->IsChecked() )
-        {
-            dup_opts += wxT(",sap");
-            if( ! announce_group->GetLineText(0).IsEmpty() )
-            {
-                dup_opts += wxT(",group=\"");
-                dup_opts += announce_group->GetLineText(0);
-                dup_opts += wxT("\"");
-            }
-            if( ! announce_addr->GetLineText(0).IsEmpty() )
-            {
-                dup_opts += wxT(",name=\"");
-                dup_opts += announce_addr->GetLineText(0);
-                dup_opts += wxT("\"");
-            }
-        }
-
-        dup_opts += wxT("}");
-    }
-
-    if( access_checkboxes[UDP_ACCESS_OUT]->IsChecked() )
-    {
-        if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
-        dup_opts += wxT("dst=std{access=udp,mux=");
-        dup_opts += encapsulation + wxT(",dst=");
-
-        wxString udp_addr = net_addrs[UDP_ACCESS_OUT]->GetLineText(0);
-        if ((udp_addr[0u] != '[') && (udp_addr.Find(':') != -1))
-        {
-            dup_opts += wxT ("[") + udp_addr + wxT ("]");
-        }
-        else
-        {
-            dup_opts += udp_addr;
-        }
-        dup_opts += wxString::Format( wxT(":%d"),
-                                      net_ports[UDP_ACCESS_OUT]->GetValue() );
-
-        /* SAP if UDP */
-        if( sap_checkbox->IsChecked() )
-        {
-            dup_opts += wxT(",sap");
-            if( ! announce_group->GetLineText(0).IsEmpty() )
-            {
-                dup_opts += wxT(",group=\"");
-                dup_opts += announce_group->GetLineText(0);
-                dup_opts += wxT("\"");
-            }
-            if( ! announce_addr->GetLineText(0).IsEmpty() )
-            {
-                dup_opts += wxT(",name=\"");
-                dup_opts += announce_addr->GetLineText(0);
-                dup_opts += wxT("\"");
-            }
-        }
-
-        dup_opts += wxT("}");
-    }
-
-    wxString duplicate;
-    if( !dup_opts.IsEmpty() )
-    {
-        if( !transcode.IsEmpty() ) duplicate = wxT(":");
-        duplicate += wxT("duplicate{") + dup_opts + wxT("}");
-    }
-
-    wxString misc;
-    if( (!transcode.IsEmpty() || !duplicate.IsEmpty()) &&
-        sout_all_checkbox->IsChecked() )
-    {
-        misc = wxT(" :sout-all");
-    }
-
-    if( !transcode.IsEmpty() || !duplicate.IsEmpty() )
-        mrl_combo->SetValue( wxT(":sout=#") + transcode + duplicate + misc );
-    else
-        mrl_combo->SetValue( wxT("") );
-}
-
-wxPanel *SoutDialog::AccessPanel( wxWindow* parent )
-{
-    int i;
-    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
-                                  wxSize(200, 200) );
-
-    wxStaticBox *panel_box = new wxStaticBox( panel, -1,
-                                              wxU(_("Outputs")) );
-    wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
-                                                          wxVERTICAL );
-
-    /*wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 4, 20 );*/
-    wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 0, 20 );
-    static const wxString access_output_array[] =
-    {
-        wxU(_("Play locally")),
-        wxU(_("File")),
-        wxU(_("HTTP")),
-        wxU(_("MMSH")),
-        wxU(_("RTP")),
-        wxU(_("UDP")),
-    };
-
-    for( i=0; i < ACCESS_OUT_NUM; i++ )
-    {
-        access_checkboxes[i] = new wxCheckBox( panel, AccessType1_Event + i,
-                                               access_output_array[i] );
-        access_subpanels[i] = new wxPanel( panel, -1 );
-    }
-
-    /* Play locally row */
-    wxFlexGridSizer *subpanel_sizer;
-    wxStaticText *label;
-    label = new wxStaticText( access_subpanels[0], -1, wxT("") );
-    subpanel_sizer = new wxFlexGridSizer( 1, 1, 20 );
-    subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    access_subpanels[0]->SetSizerAndFit( subpanel_sizer );
-    access_subpanels[0]->Hide();
-
-    /* File row */
-    /*subpanel_sizer = new wxFlexGridSizer( 3, 2, 20 );*/
-    subpanel_sizer = new wxFlexGridSizer( 4, 1, 10);
-    label = new wxStaticText( access_subpanels[1], -1, wxU(_("Filename")) );
-    file_combo = new wxComboBox( access_subpanels[1], FileName_Event, wxT(""),
-                                 wxPoint(20,25), wxSize(200, -1) );
-    wxButton *browse_button = new wxButton( access_subpanels[1],
-                                  FileBrowse_Event, wxU(_("Browse...")) );
-    subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sizer->Add( file_combo, 1,
-                         wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sizer->Add( browse_button, 0,
-                         wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    /*subpanel_sizer->Add( new wxPanel(access_subpanels[1], -1), 0,*/
-    /*                     wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );*/
-    dump_checkbox = new wxCheckBox( access_subpanels[1], FileDump_Event,
-                                    wxU(_("Dump raw input")) );
-    subpanel_sizer->Add( dump_checkbox, 0,
-                         wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxTOP, 5 );
-
-    access_subpanels[1]->SetSizerAndFit( subpanel_sizer );
-
-    /* Net rows */
-    for( i = HTTP_ACCESS_OUT; i < ACCESS_OUT_NUM; i++ )
-    {
-        subpanel_sizer = new wxFlexGridSizer( 4, 1, 20 );
-        label = new wxStaticText( access_subpanels[i], -1, wxU(_("Address")) );
-        net_addrs[i] = new wxTextCtrl( access_subpanels[i],
-                                   NetAddr1_Event + i - HTTP_ACCESS_OUT,
-                                   wxT(""), wxDefaultPosition,
-                                   wxSize( 200, -1 ), wxTE_PROCESS_ENTER);
-        subpanel_sizer->Add( label, 0,
-                             wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-        subpanel_sizer->Add( net_addrs[i], 1, wxEXPAND |
-                             wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-        int val = config_GetInt( p_intf, "server-port" );
-        label = new wxStaticText( access_subpanels[i], -1, wxU(_("Port")) );
-        net_ports[i] = new wxSpinCtrl( access_subpanels[i],
-                                   NetPort1_Event + i - HTTP_ACCESS_OUT,
-                                   wxString::Format(wxT("%d"), val),
-                                   wxDefaultPosition, wxDefaultSize,
-                                   wxSP_ARROW_KEYS,
-                                   0, 65535, val );
-
-        subpanel_sizer->Add( label, 0,
-                             wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-        subpanel_sizer->Add( net_ports[i], 0,
-                             wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-        access_subpanels[i]->SetSizerAndFit( subpanel_sizer );
-    }
-
-
-    /* Stuff everything into the main panel */
-    for( i=1; i < ACCESS_OUT_NUM; i++ )
-    {
-        sizer->Add( access_checkboxes[i], 0,
-                    wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL  | wxALL, 5 );
-        sizer->Add( access_subpanels[i], 1, wxEXPAND | wxALIGN_CENTER_VERTICAL
-                    | wxALIGN_LEFT  | wxALL, 5 );
-    }
-
-    panel_sizer->Add( access_checkboxes[0], 0,
-                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL  | wxALL, 5 );
-    panel_sizer->Add( sizer, 1, wxEXPAND | wxTOP, 3 );
-
-    panel->SetSizerAndFit( panel_sizer );
-
-    /* Update access type panel */
-    for( i=1; i < ACCESS_OUT_NUM; i++ )
-    {
-        access_subpanels[i]->Disable();
-    }
-
-    return panel;
-}
-
-wxPanel *SoutDialog::MiscPanel( wxWindow* parent )
-{
-    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
-                                  wxSize(200, 200) );
-
-    wxStaticBox *panel_box = new wxStaticBox( panel, -1,
-                                   wxU(_("Miscellaneous")) );
-    wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
-                                                          wxVERTICAL );
-
-    /* Announce Row */
-    misc_subpanels[ANN_MISC_SOUT] = new wxPanel( panel, -1 );
-    misc_subpanels[TTL_MISC_SOUT] = new wxPanel( panel, -1 );
-    wxFlexGridSizer *subpanel_sizer = new wxFlexGridSizer( 3, 4, 20 );
-    wxFlexGridSizer *subpanel_sub_sizer = new wxFlexGridSizer( 5, 4, 20 );
-    wxFlexGridSizer *subpanel2_sizer = new wxFlexGridSizer( 3, 4, 20 );
-
-    sap_checkbox = new wxCheckBox( misc_subpanels[ANN_MISC_SOUT],SAPMisc_Event,
-                                   wxU(_("SAP announce")) );
-    wxStaticText *label_g = new wxStaticText( misc_subpanels[ANN_MISC_SOUT], -1,
-                                            wxU(_("Group name")) );
-    announce_group = new wxTextCtrl( misc_subpanels[ANN_MISC_SOUT],
-                                    AnnounceGroup_Event,
-                                    wxT(""), wxDefaultPosition,
-                                    wxSize( 100, -1 ), wxTE_PROCESS_ENTER);
-
-    wxStaticText *label = new wxStaticText( misc_subpanels[ANN_MISC_SOUT], -1,
-                                            wxU(_("Channel name")) );
-    announce_addr = new wxTextCtrl( misc_subpanels[ANN_MISC_SOUT],
-                                    AnnounceAddr_Event,
-                                    wxT(""), wxDefaultPosition,
-                                    wxSize( 100, -1 ), wxTE_PROCESS_ENTER);
-
-    sout_all_checkbox = new wxCheckBox( misc_subpanels[TTL_MISC_SOUT],
-                    SoutAll_Event, wxU(_("Select all elementary streams")) );
-
-    wxStaticText *ttl_label = new wxStaticText( misc_subpanels[TTL_MISC_SOUT],
-                                                -1,
-                                                wxU(_("Time-To-Live (TTL)")) );
-    ttl_spin = new wxSpinCtrl( misc_subpanels[TTL_MISC_SOUT], -1,
-                               wxEmptyString, wxDefaultPosition, wxDefaultSize,
-                               0, 1, 255, config_GetInt( p_intf, "ttl" ) );
-
-    subpanel_sizer->Add( sap_checkbox, 0,
-                         wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sub_sizer->Add( label_g, 0, wxALIGN_RIGHT |
-                             wxALIGN_CENTER_VERTICAL );
-    subpanel_sub_sizer->Add( announce_group, 1, wxEXPAND |
-                             wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sub_sizer->Add( label, 0, wxALIGN_RIGHT |
-                             wxALIGN_CENTER_VERTICAL );
-    subpanel_sub_sizer->Add( announce_addr, 1, wxEXPAND |
-                             wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-    subpanel_sizer->Add( subpanel_sub_sizer, 1, wxEXPAND |
-                         wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-   subpanel2_sizer->Add( sout_all_checkbox, 1,
-                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxLEFT, 5 );
-    subpanel2_sizer->Add( ttl_label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subpanel2_sizer->Add( ttl_spin, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-
-    misc_subpanels[ANN_MISC_SOUT]->SetSizerAndFit( subpanel_sizer );
-    misc_subpanels[TTL_MISC_SOUT]->SetSizerAndFit( subpanel2_sizer );
-
-    /* Stuff everything into the main panel */
-    panel_sizer->Add( misc_subpanels[ANN_MISC_SOUT], 1,
-                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxLEFT, 5 );
-
-    panel_sizer->Add( misc_subpanels[TTL_MISC_SOUT], 1,
-                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-
-
-    panel->SetSizerAndFit( panel_sizer );
-
-    /* Update misc panel */
-    misc_subpanels[ANN_MISC_SOUT]->Disable();
-    announce_group->Disable();
-    announce_addr->Disable();
-
-    return panel;
-}
-
-wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent )
-{
-    unsigned int i;
-    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
-                                  wxSize(200, 200) );
-
-    wxStaticBox *panel_box = new wxStaticBox( panel, -1,
-                                              wxU(_("Encapsulation Method")) );
-    wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
-                                                          wxHORIZONTAL );
-
-    static const wxString encapsulation_array[] =
-    {
-        wxT("MPEG TS"),
-        wxT("MPEG PS"),
-        wxT("MPEG 1"),
-        wxT("Ogg"),
-        wxT("ASF"),
-        wxT("MP4"),
-        wxT("MOV"),
-        wxT("WAV"),
-        wxT("Raw")
-    };
-
-    /* Stuff everything into the main panel */
-    for( i = 0; i < WXSIZEOF(encapsulation_array); i++ )
-    {
-        encapsulation_radios[i] =
-            new wxRadioButton( panel, EncapsulationRadio1_Event + i,
-                               encapsulation_array[i] );
-        panel_sizer->Add( encapsulation_radios[i], 0,
-                          wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL |
-                          wxALL, 4 );
-    }
-    /* Hide avi one */
-    for( i = WXSIZEOF(encapsulation_array); i < ENCAPS_NUM; i++ )
-    {
-        encapsulation_radios[i] =
-            new wxRadioButton( panel, EncapsulationRadio1_Event + i, wxT("") );
-        encapsulation_radios[i]->Hide();
-    }
-
-    panel->SetSizerAndFit( panel_sizer );
-
-    /* Update encapsulation panel */
-    encapsulation_radios[TS_ENCAPSULATION]->SetValue(true);
-    i_encapsulation_type = TS_ENCAPSULATION;
-
-    return panel;
-}
-
-wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
-{
-    wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
-                                  wxSize(200, 200) );
-
-    wxStaticBox *panel_box = new wxStaticBox( panel, -1,
-                                              wxU(_("Transcoding options")) );
-    wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
-                                                          wxVERTICAL );
-
-    /* Create video transcoding checkox */
-    static const wxString wxvcodecs_array[] =
-    {
-        wxT("mp1v"),
-        wxT("mp2v"),
-        wxT("mp4v"),
-        wxT("DIV1"),
-        wxT("DIV2"),
-        wxT("DIV3"),
-        wxT("H263"),
-        wxT("h264"),
-        wxT("WMV1"),
-        wxT("WMV2"),
-        wxT("MJPG"),
-        wxT("theo")
-    };
-    /*
-    static const wxString vbitrates_array[] =
-    {
-            wxT("3072"),
-            wxT("2048"),
-            wxT("1024"),
-            wxT("768"),
-            wxT("512"),
-            wxT("384"),
-            wxT("256"),
-            wxT("192"),
-            wxT("128"),
-            wxT("96"),
-            wxT("64"),
-            wxT("32"),
-            wxT("16")
-    };
-*/
-    static const wxString vscales_array[] =
-    {
-            wxT("0.25"),
-            wxT("0.5"),
-            wxT("0.75"),
-            wxT("1"),
-            wxT("1.25"),
-            wxT("1.5"),
-            wxT("1.75"),
-            wxT("2")
-    };
-
-    wxFlexGridSizer *video_sizer = new wxFlexGridSizer( 6, 1, 20 );
-#if defined( __WXMSW__ )
-    wxFlexGridSizer *video_sub_sizer = new wxFlexGridSizer( 4, 5, 20 );
-#else
-    wxFlexGridSizer *video_sub_sizer = new wxFlexGridSizer( 2, 5, 20 );
-#endif
-    video_transc_checkbox =
-        new wxCheckBox( panel, VideoTranscEnable_Event, wxU(_("Video codec")));
-    video_codec_combo =
-        new wxComboBox( panel, VideoTranscCodec_Event, wxvcodecs_array[2],
-                        wxPoint(20,25), wxDefaultSize,
-                        WXSIZEOF(wxvcodecs_array),
-                        wxvcodecs_array, wxCB_READONLY );
-    video_codec_combo->SetSelection(2);
-    wxStaticText *bitrate_label =
-        new wxStaticText( panel, -1, wxU(_("Bitrate (kb/s)")));
-    video_bitrate_combo =
-        new wxComboBox( panel, VideoTranscBitrate_Event, wxT("1024"),
-                        wxPoint(20,25), wxDefaultSize,
-                        WXSIZEOF(vbitrates_array), vbitrates_array );
-    wxStaticText *scale_label =
-        new wxStaticText( panel, -1, wxU(_("Scale")));
-    video_scale_combo =
-        new wxComboBox( panel, VideoTranscScale_Event, wxT("1"),
-                        wxPoint(20,25), wxDefaultSize,
-                        WXSIZEOF(vscales_array), vscales_array );
-    video_sizer->Add( video_transc_checkbox, 0,
-                      wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    video_sizer->Add( video_codec_combo, 1,
-                      wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    video_sub_sizer->Add( bitrate_label, 0,
-                      wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    video_sub_sizer->Add( video_bitrate_combo, 1,
-                      wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    video_sub_sizer->Add( scale_label, 0,
-                      wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    video_sub_sizer->Add( video_scale_combo, 1,
-                      wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    video_sizer->Add( video_sub_sizer, 1, wxEXPAND |
-                         wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
-
-    /* Create audio transcoding checkox */
-    static const wxString wxacodecs_array[] =
-    {
-        wxT("mpga"),
-        wxT("mp2a"),
-        wxT("mp3"),
-        wxT("mp4a"),
-        wxT("a52"),
-        wxT("vorb"),
-        wxT("flac"),
-        wxT("spx"),
-        wxT("s16l"),
-        wxT("fl32")
-    };
-    static const wxString achannels_array[] =
-    {
-        wxT("1"),
-        wxT("2"),
-        wxT("4"),
-        wxT("6")
-    };
-/*
-    static const wxString abitrates_array[] =
-    {
-            wxT("512"),
-            wxT("256"),
-            wxT("192"),
-            wxT("128"),
-            wxT("96"),
-            wxT("64"),
-            wxT("32"),
-            wxT("16")
-    };
-*/
-    wxFlexGridSizer *audio_sizer = new wxFlexGridSizer( 3, 1, 20 );
-    audio_transc_checkbox =
-        new wxCheckBox( panel, AudioTranscEnable_Event, wxU(_("Audio codec")));
-    audio_codec_combo =
-        new wxComboBox( panel, AudioTranscCodec_Event, wxacodecs_array[0],
-                        wxPoint(10,25), wxDefaultSize,
-                        WXSIZEOF(wxacodecs_array),
-                        wxacodecs_array, wxCB_READONLY );
-    audio_codec_combo->SetSelection(0);
-#if defined( __WXMSW__ )
-    wxFlexGridSizer *audio_sub_sizer = new wxFlexGridSizer( 4, 5, 20 );
-#else
-    wxFlexGridSizer *audio_sub_sizer = new wxFlexGridSizer( 2, 5, 20 );
-#endif
-    bitrate_label =
-        new wxStaticText( panel, -1, wxU(_("Bitrate (kb/s)")));
-    audio_bitrate_combo =
-        new wxComboBox( panel, AudioTranscBitrate_Event, wxT("192"),
-                        wxPoint(10,25), wxDefaultSize,
-                        WXSIZEOF(abitrates_array), abitrates_array );
-    wxStaticText *channels_label =
-        new wxStaticText( panel, -1, wxU(_("Channels")));
-    audio_channels_combo =
-        new wxComboBox( panel, AudioTranscChans_Event, achannels_array[1],
-                        wxPoint(10,25), wxDefaultSize,
-                        WXSIZEOF(achannels_array), achannels_array );
-    audio_channels_combo->SetSelection(1);
-    audio_sub_sizer->Add( bitrate_label, 0,
-                      wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    audio_sub_sizer->Add( audio_bitrate_combo, 1,
-                      wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    audio_sub_sizer->Add( channels_label, 0,
-                      wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    audio_sub_sizer->Add( audio_channels_combo, 1,
-                      wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-
-    audio_sizer->Add( audio_transc_checkbox, 0,
-                      wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    audio_sizer->Add( audio_codec_combo, 1,
-                      wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    audio_sizer->Add( audio_sub_sizer, 1,
-                      wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-
-    /* Create subtitles transcoding checkox */
-    static const wxString wxscodecs_array[] =
-    {
-        wxT("dvbs")
-    };
-
-    wxFlexGridSizer *subtitles_sizer = new wxFlexGridSizer( 3, 1, 20 );
-    subtitles_transc_checkbox =
-        new wxCheckBox( panel, SubtitlesTranscEnable_Event,
-                        wxU(_("Subtitles codec")));
-    subtitles_codec_combo =
-        new wxComboBox( panel, SubtitlesTranscCodec_Event, wxscodecs_array[0],
-                        wxPoint(10,25), wxDefaultSize,
-                        WXSIZEOF(wxscodecs_array),
-                        wxscodecs_array, wxCB_READONLY );
-    subtitles_codec_combo->SetSelection(0);
-    subtitles_overlay_checkbox =
-        new wxCheckBox( panel, SubtitlesOverlayEnable_Event,
-                        wxU(_("Subtitles overlay")));
-
-    subtitles_sizer->Add( subtitles_transc_checkbox, 0,
-                          wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subtitles_sizer->Add( subtitles_codec_combo, 1,
-                          wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-    subtitles_sizer->Add( subtitles_overlay_checkbox, 0,
-                          wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
-
-    /* Stuff everything into the main panel */
-    panel_sizer->Add( video_sizer, 0,
-                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    panel_sizer->Add( audio_sizer, 0,
-                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-    panel_sizer->Add( subtitles_sizer, 0,
-                      wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-
-    panel->SetSizerAndFit( panel_sizer );
-
-    /* Update transcoding panel */
-    wxCommandEvent event( 0, VideoTranscEnable_Event );
-    event.SetInt( 0 );
-    OnTranscodingEnable( event );
-    event.SetId( AudioTranscEnable_Event );
-    OnTranscodingEnable( event );
-    event.SetId( SubtitlesTranscEnable_Event );
-    OnTranscodingEnable( event );
-
-    return panel;
-}
-
-/*****************************************************************************
- * Events methods.
- *****************************************************************************/
-void SoutDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
-{
-    mrl_combo->Append( mrl_combo->GetValue() );
-    config_PutInt( p_intf, "ttl", ttl_spin->GetValue());
-    EndModal( wxID_OK );
-}
-
-void SoutDialog::OnCancel( wxCommandEvent& WXUNUSED(event) )
-{
-    EndModal( wxID_CANCEL );
-}
-
-void SoutDialog::OnMRLChange( wxCommandEvent& event )
-{
-    //mrl = event.GetString();
-}
-
-/*****************************************************************************
- * Access output panel event methods.
- *****************************************************************************/
-void SoutDialog::OnAccessTypeChange( wxCommandEvent& event )
-{
-    int i;
-    i_access_type = event.GetId() - AccessType1_Event;
-
-    access_subpanels[i_access_type]->Enable( event.GetInt() );
-
-    switch( i_access_type )
-    {
-    case UDP_ACCESS_OUT:
-    case RTP_ACCESS_OUT:
-        misc_subpanels[ANN_MISC_SOUT]->Enable( event.GetInt() );
-
-        for( i = 1; i < ENCAPS_NUM; i++ )
-        {
-            encapsulation_radios[i]->Enable( !event.GetInt() );
-        }
-        if( event.GetInt() )
-        {
-            encapsulation_radios[TS_ENCAPSULATION]->SetValue(true);
-            i_encapsulation_type = TS_ENCAPSULATION;
-        }
-        break;
-    }
-    UpdateMRL();
-}
-
-/*****************************************************************************
- * AnnounceMisc panel event methods.
- *****************************************************************************/
-void SoutDialog::OnSAPMiscChange( wxCommandEvent& event )
-{
-    announce_addr->Enable( event.GetInt() );
-    announce_group->Enable( event.GetInt() );
-    UpdateMRL();
-}
-
-/*****************************************************************************
- * SAPAddr panel event methods.
- *****************************************************************************/
-void SoutDialog::OnAnnounceAddrChange( wxCommandEvent& WXUNUSED(event) )
-{
-    UpdateMRL();
-}
-
-void SoutDialog::OnAnnounceGroupChange( wxCommandEvent& WXUNUSED(event) )
-{
-    UpdateMRL();
-}
-
-/*****************************************************************************
- * File access output event methods.
- *****************************************************************************/
-void SoutDialog::OnFileChange( wxCommandEvent& WXUNUSED(event) )
-{
-    UpdateMRL();
-}
-
-void SoutDialog::OnFileBrowse( wxCommandEvent& WXUNUSED(event) )
-{
-    wxFileDialog dialog( this, wxU(_("Save file")), wxT(""), wxT(""), wxT("*"),
-                         wxSAVE | wxOVERWRITE_PROMPT );
-
-    if( dialog.ShowModal() == wxID_OK )
-    {
-        file_combo->SetValue( dialog.GetPath() );
-        UpdateMRL();
-    }
-}
-
-void SoutDialog::OnFileDump( wxCommandEvent& event )
-{
-    misc_panel->Enable( !event.GetInt() );
-    encapsulation_panel->Enable( !event.GetInt() );
-    transcoding_panel->Enable( !event.GetInt() );
-
-    for( int i = 0; i < ACCESS_OUT_NUM; i++ )
-    {
-        if( i != FILE_ACCESS_OUT )
-        {
-            access_checkboxes[i]->Enable( !event.GetInt() );
-            access_subpanels[i]->Enable( !event.GetInt() &&
-                                         access_checkboxes[i]->IsChecked() );
-        }
-    }
-
-    UpdateMRL();
-}
-
-/*****************************************************************************
- * Net access output event methods.
- *****************************************************************************/
-void SoutDialog::OnNetChange( wxCommandEvent& WXUNUSED(event) )
-{
-    UpdateMRL();
-}
-
-/*****************************************************************************
- * Encapsulation panel event methods.
- *****************************************************************************/
-void SoutDialog::OnEncapsulationChange( wxCommandEvent& event )
-{
-    i_encapsulation_type = event.GetId() - EncapsulationRadio1_Event;
-    UpdateMRL();
-}
-
-/*****************************************************************************
- * Transcoding panel event methods.
- *****************************************************************************/
-void SoutDialog::OnTranscodingEnable( wxCommandEvent& event )
-{
-    switch( event.GetId() )
-    {
-    case VideoTranscEnable_Event:
-        video_codec_combo->Enable( event.GetInt() );
-        video_bitrate_combo->Enable( event.GetInt() );
-        video_scale_combo->Enable( event.GetInt() );
-        break;
-    case AudioTranscEnable_Event:
-        audio_codec_combo->Enable( event.GetInt() );
-        audio_bitrate_combo->Enable( event.GetInt() );
-        audio_channels_combo->Enable( event.GetInt() );
-        break;
-    case SubtitlesTranscEnable_Event:
-        subtitles_overlay_checkbox->Enable( !event.GetInt() );
-        subtitles_codec_combo->Enable( event.GetInt() );
-        break;
-    case SubtitlesOverlayEnable_Event:
-        subtitles_transc_checkbox->Enable( !event.GetInt() );
-        break;
-    }
-
-    UpdateMRL();
-}
-
-void SoutDialog::OnTranscodingChange( wxCommandEvent& event )
-{
-    UpdateMRL();
-}
diff --git a/modules/gui/wxwidgets/dialogs/streamout.hpp b/modules/gui/wxwidgets/dialogs/streamout.hpp
deleted file mode 100644 (file)
index 4be8f37..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*****************************************************************************
- * streamout.hpp: Stream output dialog
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_STREAMOUT_H_
-#define _WXVLC_STREAMOUT_H_
-
-#include "wxwidgets.hpp"
-#include <wx/spinctrl.h>
-
-namespace wxvlc
-{
-    enum
-    {
-        PLAY_ACCESS_OUT = 0,
-        FILE_ACCESS_OUT,
-        HTTP_ACCESS_OUT,
-        MMSH_ACCESS_OUT,
-        RTP_ACCESS_OUT,
-        UDP_ACCESS_OUT,
-        ACCESS_OUT_NUM
-    };
-
-    enum
-    {
-        TS_ENCAPSULATION = 0,
-        PS_ENCAPSULATION,
-        MPEG1_ENCAPSULATION,
-        OGG_ENCAPSULATION,
-        ASF_ENCAPSULATION,
-        MP4_ENCAPSULATION,
-        MOV_ENCAPSULATION,
-        WAV_ENCAPSULATION,
-        RAW_ENCAPSULATION,
-        AVI_ENCAPSULATION,
-        ENCAPS_NUM
-    };
-
-    enum
-    {
-        ANN_MISC_SOUT = 0,
-        TTL_MISC_SOUT,
-        MISC_SOUT_NUM
-    };
-
-    class SoutDialog: public wxDialog
-    {
-    public:
-        /* Constructor */
-        SoutDialog( intf_thread_t *p_intf, wxWindow *p_parent );
-        virtual ~SoutDialog();
-
-        wxArrayString GetOptions();
-
-    private:
-        void UpdateMRL();
-        wxPanel *AccessPanel( wxWindow* parent );
-        wxPanel *MiscPanel( wxWindow* parent );
-        wxPanel *EncapsulationPanel( wxWindow* parent );
-        wxPanel *TranscodingPanel( wxWindow* parent );
-        void    ParseMRL();
-
-        /* Event handlers (these functions should _not_ be virtual) */
-        void OnOk( wxCommandEvent& event );
-        void OnCancel( wxCommandEvent& event );
-        void OnMRLChange( wxCommandEvent& event );
-        void OnAccessTypeChange( wxCommandEvent& event );
-
-        /* Event handlers for the file access output */
-        void OnFileChange( wxCommandEvent& event );
-        void OnFileBrowse( wxCommandEvent& event );
-        void OnFileDump( wxCommandEvent& event );
-
-        /* Event handlers for the net access output */
-        void OnNetChange( wxCommandEvent& event );
-
-        /* Event specific to the announce address */
-        void OnAnnounceGroupChange( wxCommandEvent& event );
-        void OnAnnounceAddrChange( wxCommandEvent& event );
-
-        /* Event handlers for the encapsulation panel */
-        void OnEncapsulationChange( wxCommandEvent& event );
-
-        /* Event handlers for the transcoding panel */
-        void OnTranscodingEnable( wxCommandEvent& event );
-        void OnTranscodingChange( wxCommandEvent& event );
-
-        /* Event handlers for the misc panel */
-        void OnSAPMiscChange( wxCommandEvent& event );
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-        wxWindow *p_parent;
-
-        wxComboBox *mrl_combo;
-
-        /* Controls for the access outputs */
-        wxPanel *access_panel;
-        wxPanel *access_subpanels[ACCESS_OUT_NUM];
-        wxCheckBox *access_checkboxes[ACCESS_OUT_NUM];
-
-        int i_access_type;
-
-        wxComboBox *file_combo;
-        wxCheckBox *dump_checkbox;
-        wxSpinCtrl *net_ports[ACCESS_OUT_NUM];
-        wxTextCtrl *net_addrs[ACCESS_OUT_NUM];
-
-        /* Controls for the SAP announces and TTL setting */
-        wxPanel *misc_panel;
-        wxPanel *misc_subpanels[MISC_SOUT_NUM];
-        wxCheckBox *sap_checkbox;
-        wxTextCtrl *announce_group;
-        wxTextCtrl *announce_addr;
-        wxSpinCtrl *ttl_spin;
-
-        /* Controls for the encapsulation */
-        wxPanel *encapsulation_panel;
-        wxRadioButton *encapsulation_radios[ENCAPS_NUM];
-        int i_encapsulation_type;
-
-        /* Controls for transcoding */
-        wxPanel *transcoding_panel;
-        wxCheckBox *video_transc_checkbox;
-        wxComboBox *video_codec_combo;
-        wxComboBox *audio_codec_combo;
-        wxCheckBox *audio_transc_checkbox;
-        wxComboBox *video_bitrate_combo;
-        wxComboBox *audio_bitrate_combo;
-        wxComboBox *audio_channels_combo;
-        wxComboBox *video_scale_combo;
-        wxComboBox *subtitles_codec_combo;
-        wxCheckBox *subtitles_transc_checkbox;
-        wxCheckBox *subtitles_overlay_checkbox;
-
-        /* Misc controls */
-        wxCheckBox *sout_all_checkbox;
-    };
-
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/subtitles.cpp b/modules/gui/wxwidgets/dialogs/subtitles.cpp
deleted file mode 100644 (file)
index 22c5682..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-/*****************************************************************************
- * subtitles.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2001 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@netcourrier.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "dialogs/subtitles.hpp"
-#include <wx/combobox.h>
-#include <wx/statline.h>
-#include <wx/spinctrl.h>
-
-#ifndef wxRB_SINGLE
-#   define wxRB_SINGLE 0
-#endif
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    FileBrowse_Event = wxID_HIGHEST,
-};
-
-BEGIN_EVENT_TABLE(SubsFileDialog, wxDialog)
-    /* Button events */
-    EVT_BUTTON(wxID_OK, SubsFileDialog::OnOk)
-    EVT_BUTTON(wxID_CANCEL, SubsFileDialog::OnCancel)
-    EVT_BUTTON(FileBrowse_Event, SubsFileDialog::OnFileBrowse)
-
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-SubsFileDialog::SubsFileDialog( intf_thread_t *_p_intf, wxWindow* _p_parent ):
-    wxDialog( _p_parent, -1, wxU(_("Subtitle options")),
-              wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    /* Create a panel to put everything in */
-    wxPanel *panel = new wxPanel( this, -1 );
-    panel->SetAutoLayout( TRUE );
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-#if 0
-    /* Create the subtitles file textctrl */
-    wxBoxSizer *file_sizer_sizer = new wxBoxSizer( wxHORIZONTAL );
-    wxStaticBox *file_box = new wxStaticBox( panel, -1,
-                                             wxU(_("Subtitles file")) );
-    wxStaticBoxSizer *file_sizer = new wxStaticBoxSizer( file_box,
-                                                        wxHORIZONTAL );
-    char *psz_subsfile = config_GetPsz( p_intf, "sub-file" );
-    if( !psz_subsfile ) psz_subsfile = strdup("");
-    file_combo = new wxComboBox( panel, -1, wxL2U(psz_subsfile),
-                                 wxPoint(20,25), wxSize(300, -1) );
-    free( psz_subsfile );
-    wxButton *browse_button = new wxButton( panel, FileBrowse_Event,
-                                            wxU(_("Browse...")) );
-    file_sizer->Add( file_combo, 1, wxALL, 5 );
-    file_sizer->Add( browse_button, 0, wxALL, 5 );
-    file_sizer_sizer->Add( file_sizer, 1, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( file_sizer, 0, wxEXPAND | wxALL, 5 );
-#endif
-
-    /* Subtitles encoding */
-    encoding_combo = NULL;
-    module_config_t *p_item =
-        config_FindConfig( VLC_OBJECT(p_intf), "subsdec-encoding" );
-    if( p_item )
-    {
-        wxBoxSizer *enc_sizer_sizer = new wxBoxSizer( wxHORIZONTAL );
-        wxStaticBox *enc_box = new wxStaticBox( panel, -1,
-                                                wxU(_("Encoding")) );
-        wxStaticBoxSizer *enc_sizer = new wxStaticBoxSizer( enc_box,
-                                                            wxHORIZONTAL );
-        wxStaticText *label =
-            new wxStaticText(panel, -1, wxU(p_item->psz_text));
-        encoding_combo = new wxComboBox( panel, -1, wxU(p_item->value.psz),
-                                         wxDefaultPosition, wxDefaultSize,
-                                         0, NULL, wxCB_READONLY );
-
-        /* build a list of available options */
-        for( int i_index = 0; p_item->ppsz_list && p_item->ppsz_list[i_index];
-             i_index++ )
-        {
-            encoding_combo->Append( wxU(p_item->ppsz_list[i_index]) );
-            if( p_item->value.psz && !strcmp( p_item->value.psz,
-                                              p_item->ppsz_list[i_index] ) )
-                encoding_combo->SetSelection( i_index );
-        }
-
-        if( p_item->value.psz )
-        encoding_combo->SetValue( wxU(p_item->value.psz) );
-        encoding_combo->SetToolTip( wxU(p_item->psz_longtext) );
-
-        enc_sizer->Add( label, 0, wxALL | wxALIGN_CENTER, 5 );
-        enc_sizer->Add( encoding_combo, 0, wxEXPAND | wxALL | wxALIGN_CENTER, 5 );
-        enc_sizer_sizer->Add( enc_sizer, 1, wxEXPAND | wxALL, 5 );
-        panel_sizer->Add( enc_sizer, 0, wxEXPAND | wxALL, 5 );
-    }
-
-    /* Misc Subtitles options */
-    wxBoxSizer *misc_sizer_sizer = new wxBoxSizer( wxHORIZONTAL );
-    wxStaticBox *misc_box = new wxStaticBox( panel, -1,
-                                             wxU(_("Options")) );
-
-    wxStaticBoxSizer *misc_sizer = new wxStaticBoxSizer( misc_box,
-                                                         wxVERTICAL );
-
-    wxFlexGridSizer *grid_sizer = new wxFlexGridSizer( 2, 1, 20 );
-
-    /* Font size */
-    p_item =
-        config_FindConfig( VLC_OBJECT(p_intf), "freetype-rel-fontsize" );
-    if( p_item )
-    {
-        wxBoxSizer *size_sizer = new wxBoxSizer( wxHORIZONTAL );
-        wxStaticText *label =
-            new wxStaticText(panel, -1, wxU(p_item->psz_text));
-        size_combo = new wxComboBox( panel, -1, wxT(""),
-                                     wxDefaultPosition, wxDefaultSize,
-                                     0, NULL, wxCB_READONLY );
-
-        /* build a list of available options */
-        for( int i_index = 0; i_index < p_item->i_list; i_index++ )
-        {
-            size_combo->Append( wxU(p_item->ppsz_list_text[i_index]),
-                                (void *)p_item->pi_list[i_index] );
-            if( p_item->value.i == p_item->pi_list[i_index] )
-            {
-                size_combo->SetSelection( i_index );
-                size_combo->SetValue(wxU(p_item->ppsz_list_text[i_index]));
-            }
-        }
-
-        size_combo->SetToolTip( wxU(p_item->psz_longtext) );
-
-        size_sizer->Add( label, 0,  wxRIGHT | wxALIGN_CENTER, 5 );
-        size_sizer->Add( size_combo, 0, wxLEFT | wxALIGN_CENTER, 5 );
-        grid_sizer->Add( size_sizer, 1, wxEXPAND | wxALL, 5 );
-    }
-
-    p_item =
-        config_FindConfig( VLC_OBJECT(p_intf), "subsdec-align" );
-    if( p_item )
-    {
-        wxBoxSizer *align_sizer = new wxBoxSizer( wxHORIZONTAL );
-        wxStaticText *label =
-            new wxStaticText(panel, -1, wxU(p_item->psz_text));
-        align_combo = new wxComboBox( panel, -1, wxT(""),
-                                     wxDefaultPosition, wxDefaultSize,
-                                     0, NULL, wxCB_READONLY );
-
-        /* build a list of available options */
-        for( int i_index = 0; i_index < p_item->i_list; i_index++ )
-        {
-            align_combo->Append( wxU(p_item->ppsz_list_text[i_index]),
-                                (void *)p_item->pi_list[i_index] );
-            if( p_item->value.i == p_item->pi_list[i_index] )
-            {
-                align_combo->SetSelection( i_index );
-                align_combo->SetValue(wxU(p_item->ppsz_list_text[i_index]));
-            }
-        }
-
-        align_combo->SetToolTip( wxU(p_item->psz_longtext) );
-
-        align_sizer->Add( label, 0,  wxRIGHT | wxALIGN_CENTER, 5 );
-        align_sizer->Add( align_combo, 0, wxLEFT | wxALIGN_CENTER, 5 );
-        grid_sizer->Add( align_sizer, 1, wxEXPAND | wxALL, 5 );
-    }
-
-    misc_sizer->Add( grid_sizer, 1, wxEXPAND | wxALL , 5 );
-
-    grid_sizer = new wxFlexGridSizer( 4, 1, 20 );
-
-    wxStaticText *label =
-        new wxStaticText(panel, -1, wxU(_("Frames per second")));
-
-    fps_ctrl = new wxTextCtrl( panel, -1,
-                           wxString::Format(wxT("%.3f"),
-                                 config_GetFloat( p_intf, "sub-fps" )),
-                           wxDefaultPosition, wxDefaultSize);
-    fps_ctrl->SetToolTip( wxU(_("Override frames per second. "
-               "It will only work with MicroDVD and SubRIP subtitles.")) );
-    grid_sizer->Add( label, 0, wxALIGN_CENTER, 5 );
-    grid_sizer->Add( fps_ctrl, 0,wxALIGN_CENTER, 5 );
-
-
-    wxStaticText *label_delay =
-        new wxStaticText(panel, -1, wxU(_("Delay")));
-
-    int i_delay = config_GetInt( p_intf, "sub-delay" );
-    /* Outside the new wxSpinCtrl to avoid an internal error in gcc2.95 ! */
-    wxString format_delay(wxString::Format(wxT("%i"), i_delay ));
-    delay_spinctrl = new wxSpinCtrl( panel, -1, format_delay,
-                                     wxDefaultPosition, wxDefaultSize,
-                                     wxSP_ARROW_KEYS,
-                                     -70000, 70000, i_delay );
-    delay_spinctrl->SetToolTip( wxU(_("Set subtitle delay (in 1/10s)" ) ) );
-
-    grid_sizer->Add( label_delay , 0, wxALIGN_CENTER, 5 );
-    grid_sizer->Add( delay_spinctrl, 0, wxALIGN_CENTER, 5 );
-
-    misc_sizer->Add( grid_sizer, 0, wxALL, 5 );
-
-    misc_sizer_sizer->Add( misc_sizer, 1, wxEXPAND | wxALL, 5 );
-
-    panel_sizer->Add( misc_sizer, 0, wxEXPAND | wxALL, 5 );
-
-    /* Separation */
-    wxStaticLine *static_line = new wxStaticLine( panel, wxID_OK );
-
-    /* Create the buttons */
-    wxButton *ok_button = new wxButton( panel, wxID_OK, wxU(_("&OK")) );
-    ok_button->SetDefault();
-    wxButton *cancel_button = new wxButton( panel, wxID_CANCEL,
-                                            wxU(_("&Cancel")) );
-
-    /* Place everything in sizers */
-    wxStdDialogButtonSizer *button_sizer = new wxStdDialogButtonSizer;
-    button_sizer->AddButton( ok_button );
-    button_sizer->AddButton( cancel_button );
-    button_sizer->Realize();
-
-    panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Add( button_sizer, 0, wxEXPAND | wxALL, 5 );
-    panel_sizer->Layout();
-    panel->SetSizerAndFit( panel_sizer );
-    main_sizer->Add( panel, 1, wxGROW, 0 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-}
-
-SubsFileDialog::~SubsFileDialog()
-{
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-
-/*****************************************************************************
- * Events methods.
- *****************************************************************************/
-void SubsFileDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
-{
-    EndModal( wxID_OK );
-}
-
-void SubsFileDialog::OnCancel( wxCommandEvent& WXUNUSED(event) )
-{
-    EndModal( wxID_CANCEL );
-}
-
-void SubsFileDialog::OnFileBrowse( wxCommandEvent& WXUNUSED(event) )
-{
-#if 0
-        wxFileDialog dialog( this, wxU(_("Open file")),
-                         wxT(""), wxT(""), wxT("*"), wxOPEN );
-
-    if( dialog.ShowModal() == wxID_OK )
-    {
-        file_combo->SetValue( dialog.GetPath() );
-    }
-#endif
-}
diff --git a/modules/gui/wxwidgets/dialogs/subtitles.hpp b/modules/gui/wxwidgets/dialogs/subtitles.hpp
deleted file mode 100644 (file)
index 1403960..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*****************************************************************************
- * subtitles.hpp: private wxWindows interface description
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_SUBTITLES_H_
-#define _WXVLC_SUBTITLES_H_
-
-#include "wxwidgets.hpp"
-#include <wx/spinctrl.h>
-
-namespace wxvlc
-{
-/* Subtitles File Dialog */
-class SubsFileDialog: public wxDialog
-{
-public:
-    /* Constructor */
-    SubsFileDialog( intf_thread_t *p_intf, wxWindow *p_parent );
-    virtual ~SubsFileDialog();
-
-    wxComboBox *file_combo;
-    wxComboBox *encoding_combo;
-    wxComboBox *size_combo;
-    wxComboBox *align_combo;
-    wxTextCtrl *fps_ctrl;
-    wxSpinCtrl *delay_spinctrl;
-
-private:
-    /* Event handlers (these functions should _not_ be virtual) */
-    void OnOk( wxCommandEvent& event );
-    void OnCancel( wxCommandEvent& event );
-    void OnFileBrowse( wxCommandEvent& event );
-
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-    wxWindow *p_parent;
-};
-
-};
-
-#endif
-
diff --git a/modules/gui/wxwidgets/dialogs/updatevlc.cpp b/modules/gui/wxwidgets/dialogs/updatevlc.cpp
deleted file mode 100644 (file)
index 8f4fd22..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*****************************************************************************
- * updatevlc.cpp : VLC Update checker
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Antoine Cellerier <dionoea@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "updatevlc.hpp"
-
-#ifdef UPDATE_CHECK
-#include <wx/imaglist.h>
-
-#include "bitmaps/update_ascii.xpm"
-#include "bitmaps/update_binary.xpm"
-#include "bitmaps/update_document.xpm"
-#include "bitmaps/update_info.xpm"
-#include "bitmaps/update_source.xpm"
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    Close_Event,
-    CheckForUpdate_Event,
-    ChooseItem_Event
-};
-
-BEGIN_EVENT_TABLE(UpdateVLC, wxFrame)
-    /* Button events */
-    EVT_BUTTON(wxID_OK, UpdateVLC::OnButtonClose)
-    EVT_BUTTON(CheckForUpdate_Event, UpdateVLC::OnCheckForUpdate)
-
-    /* Hide the window when the user closes the window */
-    EVT_CLOSE(UpdateVLC::OnClose)
-
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-UpdateVLC::UpdateVLC( intf_thread_t *_p_intf, wxWindow *p_parent ):
-    wxFrame( p_parent, -1, wxU(_("Updates")),
-             wxDefaultPosition, wxDefaultSize,
-             wxSYSTEM_MENU|wxCLOSE_BOX|wxFRAME_FLOAT_ON_PARENT
-             |wxFRAME_TOOL_WINDOW|wxCAPTION )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    SetIcon( *p_intf->p_sys->p_icon );
-    SetAutoLayout( TRUE );
-
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-    wxButton *update_button =
-        new wxButton( this, CheckForUpdate_Event,
-                      wxU(_("Check for updates")) );
-    main_sizer->Add( update_button );
-    SetSizerAndFit( main_sizer );
-
-    p_update = update_New( p_intf );
-}
-
-
-UpdateVLC::~UpdateVLC()
-{
-    update_Delete( p_update );
-}
-
-void UpdateVLC::OnButtonClose( wxCommandEvent& event )
-{
-    wxCloseEvent cevent;
-    OnClose(cevent);
-}
-
-void UpdateVLC::OnClose( wxCloseEvent& WXUNUSED(event) )
-{
-    Hide();
-}
-
-void UpdateVLC::OnCheckForUpdate( wxCommandEvent& event )
-{
-    update_Check( p_update, NULL, this );
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
-
-    DestroyChildren();
-
-    /*list->InsertItem( list->GetItemCount(),
-                      wxU(p_uit->file.psz_description)+wxU("\n")
-                      + wxU(p_uit->release.psz_version)+wxU(" ")
-                      + wxU(psz_tmp),
-                      i_image );*/
-
-    if( update_NeedUpgrade( p_update ) )
-    {
-        update_release_t *p_release = update_GetRelease( p_update );
-        assert( p_release );
-        main_sizer->Add( new wxStaticText( this, -1, wxU( p_release->psz_desc )
-                         + wxU( "\nYou can download the latest version of VLC at the adress :\n" )
-                         + wxU( p_release->psz_url ) ) );
-    }
-    else
-        main_sizer->Add( new wxStaticText( this, -1,
-                         wxU( _( "\nYou have the latest version of VLC\n" ) ) ) );
-
-    SetSizerAndFit( main_sizer );
-    Layout();
-}
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/updatevlc.hpp b/modules/gui/wxwidgets/dialogs/updatevlc.hpp
deleted file mode 100644 (file)
index 9f1d33c..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*****************************************************************************
- * updatevlc.hpp: VLC Update checker
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Antoine Cellerier <dionoea@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <vlc_common.h>
-
-#ifdef UPDATE_CHECK
-
-#ifndef _WXVLC_UPDATEVLC_H_
-#define _WXVLC_UPDATEVLC_H_
-
-#include <vlc_update.h>
-
-#include "wxwidgets.hpp"
-#include <wx/treectrl.h>
-#include <wx/listctrl.h>
-
-class wxTreeCtrl;
-
-namespace wxvlc
-{
-    class UpdateVLC: public wxFrame
-    {
-    public:
-        UpdateVLC( intf_thread_t *p_intf, wxWindow *p_parent );
-        virtual ~UpdateVLC();
-
-    private:
-        void OnButtonClose( wxCommandEvent& event );
-        void OnClose( wxCloseEvent& WXUNUSED(event) );
-        void OnCheckForUpdate( wxCommandEvent& event );
-        void OnChooseItem( wxListEvent& event );
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-        update_t *p_update;
-    };
-};
-
-#endif
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_panel.cpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_panel.cpp
deleted file mode 100644 (file)
index f38f378..0000000
+++ /dev/null
@@ -1,581 +0,0 @@
-/*****************************************************************************
- * vlm_panel.cpp: VLM Panel
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/OR MODIFy
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#if 0
-#include "dialogs/vlm/vlm_panel.hpp"
-#include "dialogs/vlm/vlm_wrapper.hpp"
-#include "dialogs/vlm/vlm_stream.hpp"
-#include "dialogs/vlm/vlm_streampanel.hpp"
-#include <wx/statline.h>
-
-#include "vlc_charset.h"
-
-enum
-{
-    Notebook_Event,
-    Timer_Event,
-    Load_Event,
-};
-
-BEGIN_EVENT_TABLE( VLMPanel, wxPanel)
-   EVT_TIMER( Timer_Event, VLMPanel::OnTimer )
-   EVT_BUTTON( wxID_CLOSE, VLMPanel::OnClose )
-   EVT_BUTTON( Load_Event, VLMPanel::OnLoad )
-   EVT_BUTTON( wxID_SAVE, VLMPanel::OnSave )
-END_EVENT_TABLE()
-
-
-VLMPanel::VLMPanel( intf_thread_t *_p_intf, wxWindow *_p_parent ) :
-        wxPanel( _p_parent, -1, wxDefaultPosition, wxDefaultSize ),
-       timer( this, Timer_Event )
-{
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-
-    p_vlm = new VLMWrapper( p_intf );
-    p_vlm->AttachVLM();
-
-    SetAutoLayout( TRUE );
-
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    p_notebook = new wxNotebook( this, Notebook_Event );
-#if (!wxCHECK_VERSION(2,5,0))
-    wxNotebookSizer *notebook_sizer = new wxNotebookSizer( p_notebook );
-#endif
-    p_notebook->AddPage( BroadcastPanel( p_notebook ), wxU( _("Broadcasts") ) );
-#if 0
-    p_notebook->AddPage( VODPanel( p_notebook ), wxU( _("VOD") ) );
-#endif
-#if (!wxCHECK_VERSION(2,5,0))
-    panel_sizer->Add( notebook_sizer, 1, wxEXPAND | wxALL, 5 );
-#else
-    panel_sizer->Add( p_notebook, 1 , wxEXPAND | wxALL, 5 );
-#endif
-
-    wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL );
-    button_sizer->Add( new wxButton( this, wxID_CLOSE, wxU(_("&Close") ) ) );
-    button_sizer->Add( 0, 0, 1 );
-    button_sizer->Add( new wxButton( this, Load_Event, wxU(_("Load") ) ), 0, wxRIGHT, 10 );
-    button_sizer->Add( new wxButton( this, wxID_SAVE, wxU(_("&Save") ) ) );
-    panel_sizer->Add( button_sizer, 0 , wxEXPAND | wxALL, 5 );
-
-    panel_sizer->Layout();
-    SetSizerAndFit( panel_sizer );
-
-    Update();
-
-    timer.Start( 300 );
-}
-
-VLMPanel::~VLMPanel()
-{
-    delete p_vlm;
-}
-
-void VLMPanel::OnTimer( wxTimerEvent& event )
-{
-    Update();
-}
-
-void VLMPanel::Update()
-{
-    unsigned int i;
-    for( i = 0 ; i < broadcasts.size(); i++ )
-    {
-        ((VLMBroadcastStreamPanel *)broadcasts[i])->b_found = false;
-    }
-    for( i = 0 ; i < vods.size(); i++ )
-    {
-        ((VLMVODStreamPanel *)vods[i])->b_found = false;
-    }
-
-    p_vlm->LockVLM();
-    /* Iterate over the media, to find the panels to add / remove */
-    /* FIXME: This code should be better wrapped */
-    for( i = 0; i < p_vlm->NbMedia(); i++ )
-    {
-        vlm_media_t *p_media = p_vlm->GetMedia( i );
-
-        if( p_media->i_type == BROADCAST_TYPE )
-        {
-            bool b_foundthis = false;
-            for( unsigned int j = 0 ; j < broadcasts.size(); j++ )
-            {
-                VLMBroadcastStreamPanel *p_streamp =
-                       (VLMBroadcastStreamPanel *)(broadcasts[j]);
-                /* FIXME: dangerous .. */
-                if( p_streamp->GetStream()->p_media ==  p_media )
-                {
-                    p_streamp->b_found = true;
-                    b_foundthis = true;
-                    break;
-                }
-            }
-            /* Create the stream */
-            if( !b_foundthis )
-            {
-                VLMBroadcastStream *p_broadcast =
-                        new VLMBroadcastStream( p_intf, p_media, p_vlm );
-                AppendBroadcast( p_broadcast );
-            }
-        }
-        else if( p_media->i_type == VOD_TYPE )
-        {
-            bool b_foundthis = false;
-            for( unsigned int j = 0 ; i < vods.size(); i++ )
-            {
-                VLMVODStreamPanel *p_streamp = (VLMVODStreamPanel *)( vods[j] );
-                if(  p_streamp->GetStream()->p_media ==  p_media )
-                {
-                    p_streamp->b_found = true;
-                    b_foundthis = true;
-                    break;
-                }
-            }
-            /* Create it */
-            if( !b_foundthis )
-            {
-                VLMVODStream *p_vod = new VLMVODStream(p_intf, p_media, p_vlm );
-                AppendVOD( p_vod );
-            }
-        }
-    }
-
-    /* Those not marked as found must be removed */
-    vector<VLMBroadcastStreamPanel *>::iterator it = broadcasts.begin();
-    while( it < broadcasts.end() )
-    {
-        if( (*it)->b_found == false )
-        {
-            vector<VLMBroadcastStreamPanel *>::iterator rem = it;
-            it++;
-            VLMBroadcastStreamPanel *p_remove = *rem;
-            broadcasts.erase( rem );
-            RemoveBroadcast( p_remove );
-            delete p_remove;
-        }
-        else
-            it++;
-    }
-    vector<VLMVODStreamPanel *>::iterator it2 = vods.begin();
-    while( it2 < vods.end() )
-    {
-        if( (*it2)->b_found == false )
-        {
-            vector<VLMVODStreamPanel *>::iterator rem = it2;
-            it2++;
-            VLMVODStreamPanel *p_remove = *rem;
-            vods.erase( rem );
-            RemoveVOD( p_remove );
-            delete p_remove;
-        }
-        else
-            it2++;
-    }
-
-    /* Update sliders*/
-    for( unsigned int j = 0 ; j < broadcasts.size(); j++ )
-    {
-        VLMBroadcastStreamPanel *p_streamp =
-                (VLMBroadcastStreamPanel *)( broadcasts[j] );
-        p_streamp->Update();
-    }
-    p_vlm->UnlockVLM();
-}
-
-void VLMPanel::OnClose( wxCommandEvent &event )
-{
-    ((VLMFrame*)p_parent)->OnClose( *( new wxCloseEvent() ) );
-}
-
-void VLMPanel::OnLoad( wxCommandEvent &event )
-{
-    p_file_dialog = new wxFileDialog( NULL, wxT(""), wxT(""), wxT(""),
-                                      wxT("*"), wxOPEN | wxMULTIPLE );
-    if( p_file_dialog == NULL ) return;
-
-    p_file_dialog->SetTitle( wxU(_("Load Configuration") ) );
-    if( p_file_dialog->ShowModal() == wxID_OK )
-    {
-        vlm_Load( p_vlm->GetVLM(), p_file_dialog->GetPath().mb_str(wxConvUTF8) );
-    }
-    Update();
-}
-
-void VLMPanel::OnSave( wxCommandEvent &event )
-{
-    p_file_dialog = new wxFileDialog( NULL, wxT(""), wxT(""), wxT(""),
-                                      wxT("*"), wxSAVE | wxOVERWRITE_PROMPT );
-    if( p_file_dialog == NULL ) return;
-
-    p_file_dialog->SetTitle( wxU(_("Save Configuration") ) );
-    if( p_file_dialog->ShowModal() == wxID_OK )
-    {
-        vlm_Save( p_vlm->GetVLM(), p_file_dialog->GetPath().mb_str(wxConvUTF8) );
-    }
-}
-
-/*************************
- * Broadcasts management
- *************************/
-wxPanel * VLMPanel::BroadcastPanel( wxWindow *parent )
-{
-     broadcasts_panel = new wxPanel( parent, -1, wxDefaultPosition, wxSize( 500, 350 ) );
-     broadcasts_sizer = new wxBoxSizer( wxVERTICAL );
-
-     wxStaticBox *add_box = new wxStaticBox( broadcasts_panel, -1,
-                                            wxU( _( "New broadcast") ) );
-     wxStaticBoxSizer *box_sizer = new wxStaticBoxSizer( add_box, wxHORIZONTAL );
-     box_sizer->Add( AddBroadcastPanel( broadcasts_panel), 0, wxEXPAND|wxALL, 5 );
-     box_sizer->Layout();
-
-     broadcasts_sizer->Add( box_sizer, 0, wxEXPAND|wxALL, 5 );
-
-     wxStaticLine *static_line = new wxStaticLine( broadcasts_panel, wxID_ANY );
-     broadcasts_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
-
-     scrolled_broadcasts = new wxScrolledWindow( broadcasts_panel, -1,
-                                wxDefaultPosition, wxDefaultSize,
-                                wxBORDER_NONE | wxVSCROLL );
-
-     scrolled_broadcasts_sizer = new wxBoxSizer( wxVERTICAL );
-     scrolled_broadcasts->SetAutoLayout( TRUE );
-     scrolled_broadcasts->SetScrollRate( 5,5 );
-     scrolled_broadcasts->SetSizerAndFit( scrolled_broadcasts_sizer );
-
-     broadcasts_sizer->Add( scrolled_broadcasts, 1, wxEXPAND| wxALL, 5 );
-     broadcasts_sizer->Layout();
-
-     broadcasts_panel->SetSizerAndFit( broadcasts_sizer );
-
-     return broadcasts_panel;
-}
-
-wxPanel * VLMPanel::AddBroadcastPanel( wxPanel *panel )
-{
-     return new VLMAddStreamPanel( p_intf, panel, p_vlm, false,
-                                   true );
-}
-
-void VLMPanel::AppendBroadcast( VLMBroadcastStream *p_broadcast )
-{
-    VLMBroadcastStreamPanel *p_new =
-                   new VLMBroadcastStreamPanel( p_intf, scrolled_broadcasts,
-                                                p_broadcast );
-    p_new->b_found = true;
-    scrolled_broadcasts_sizer->Add( p_new, 0, wxEXPAND | wxALL, 5 );
-    scrolled_broadcasts_sizer->Layout();
-    scrolled_broadcasts->FitInside();
-    broadcasts.push_back( p_new );
-}
-
-void VLMPanel::RemoveBroadcast( VLMBroadcastStreamPanel *p_streamp )
-{
-    scrolled_broadcasts_sizer->Remove( p_streamp );
-    scrolled_broadcasts_sizer->Layout();
-    scrolled_broadcasts->FitInside();
-}
-
-/*************************
- * VODS management
- *************************/
-wxPanel * VLMPanel::VODPanel( wxWindow *parent )
-{
-     vods_panel = new wxPanel( parent, -1, wxDefaultPosition, wxSize( 500, 350 ) );
-     return vods_panel;
-}
-
-wxPanel * VLMPanel::AddVODPanel( wxPanel *panel )
-{
-     return new VLMAddStreamPanel( p_intf, panel, p_vlm, false,
-                                   false );
-}
-
-void VLMPanel::AppendVOD( VLMVODStream *p_vod )
-{
-    VLMVODStreamPanel *p_new =
-                   new VLMVODStreamPanel( p_intf, scrolled_vods, p_vod );
-    p_new->b_found = true;
-    scrolled_vods_sizer->Add( p_new, 0, wxEXPAND | wxALL, 5 );
-    scrolled_vods_sizer->Layout();
-    scrolled_vods->FitInside();
-    vods.push_back( p_new );
-}
-
-void VLMPanel::RemoveVOD( VLMVODStreamPanel *p_streamp )
-{
-    scrolled_vods_sizer->Remove( p_streamp );
-    scrolled_vods_sizer->Layout();
-    scrolled_vods->FitInside();
-}
-
-/****************************************************************************
- * VLM Add Broadcast panel implementation
- *****************************************************************************/
-enum
-{
-    Create_Event,
-    Clear_Event,
-    ChooseInput_Event,
-    ChooseOutput_Event,
-};
-
-BEGIN_EVENT_TABLE( VLMAddStreamPanel, wxPanel)
-   EVT_BUTTON( Create_Event, VLMAddStreamPanel::OnCreate )
-   EVT_BUTTON( Clear_Event, VLMAddStreamPanel::OnClear )
-   EVT_BUTTON( ChooseInput_Event, VLMAddStreamPanel::OnChooseInput )
-   EVT_BUTTON( ChooseOutput_Event, VLMAddStreamPanel::OnChooseOutput )
-END_EVENT_TABLE()
-
-VLMAddStreamPanel::VLMAddStreamPanel( intf_thread_t *_p_intf,
-                wxWindow *_p_parent, VLMWrapper *_p_vlm,
-                bool _b_edit, bool _b_broadcast ):
-                wxPanel( _p_parent, -1, wxDefaultPosition, wxDefaultSize )
-{
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    p_vlm = _p_vlm;
-    b_edit = _b_edit;
-    b_broadcast = _b_broadcast;
-
-    p_open_dialog = NULL;
-    p_sout_dialog = NULL;
-
-    SetAutoLayout( TRUE );
-
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    wxFlexGridSizer *upper_sizer = new wxFlexGridSizer( 5, 2 );
-    upper_sizer->AddGrowableCol( 1 );
-    upper_sizer->AddGrowableCol( 3 );
-
-    upper_sizer->Add( new wxStaticText( this, -1, wxU( _("Name") ) ), 0,
-                                        wxALIGN_CENTER_VERTICAL, 0 );
-    name_text = new wxTextCtrl( this, -1, wxU( "" ), wxDefaultPosition,
-                                          wxSize( 150, -1 ) );
-    upper_sizer->Add( name_text , 1, wxEXPAND | wxLEFT | wxRIGHT, 5 );
-
-    upper_sizer->Add( new wxStaticText( this, -1, wxU( _("Input") ) ), 0,
-                                        wxALIGN_CENTER_VERTICAL, 0 );
-    input_text = new wxTextCtrl( this, -1, wxU( "" ) ,
-                      wxDefaultPosition, wxSize( 150, -1 ) );
-    upper_sizer->Add( input_text , 1, wxEXPAND | wxLEFT | wxRIGHT, 5 );
-    upper_sizer->Add( new wxButton( this, ChooseInput_Event, wxU( _("Choose") )  ) );
-
-    upper_sizer->Add( 0,0 );
-    upper_sizer->Add( 0,0 );
-
-    upper_sizer->Add( new wxStaticText( this, -1, wxU( _("Output") ) ), 0,
-                                        wxALIGN_CENTER_VERTICAL, 0 );
-    output_text = new wxTextCtrl( this, -1, wxU( "" ) ,
-                      wxDefaultPosition, wxSize( 150, -1 ) );
-    upper_sizer->Add( output_text, 1, wxEXPAND | wxLEFT | wxRIGHT, 5 );
-    upper_sizer->Add( new wxButton( this, ChooseOutput_Event,
-                      wxU( _("Choose") )  ) );
-
-    panel_sizer->Add( upper_sizer, 0, wxEXPAND | wxALL, 5 );
-
-    wxBoxSizer *lower_sizer = new wxBoxSizer( wxHORIZONTAL );
-    enabled_checkbox = new wxCheckBox( this, -1, wxU( _("Enabled" ) ) );
-    enabled_checkbox->SetValue( true );
-    lower_sizer->Add( enabled_checkbox,  1 , wxEXPAND | wxALL , 5 );
-    if( b_broadcast )
-    {
-        loop_checkbox = new wxCheckBox( this, -1, wxU( _("Loop" ) ) );
-        lower_sizer->Add( loop_checkbox,  1 , wxEXPAND | wxALL , 5 );
-    }
-
-    if( !b_edit )
-    {
-        lower_sizer->Add( new wxButton( this, wxID_CLEAR,
-                          wxU( _( "&Clear" )  ) ),
-                         0 , wxEXPAND | wxALL , 5 );
-    }
-    lower_sizer->Add( new wxButton( this, Create_Event,
-                          wxU( _( b_edit ? "OK" : N_("Create") ) ) ),
-                      0 , wxEXPAND | wxALL , 5 );
-
-
-    panel_sizer->Add( lower_sizer, 0 , wxEXPAND| wxALL, 5 );
-    panel_sizer->Layout();
-    SetSizerAndFit( panel_sizer );
-}
-
-VLMAddStreamPanel::~VLMAddStreamPanel()
-{
-}
-
-void VLMAddStreamPanel::Load( VLMStream *p_stream )
-{
-    name_text->SetValue( wxU( p_stream->p_media->psz_name ) );
-    name_text->SetEditable( false );
-    if( p_stream->p_media->i_input > 0 )
-    {
-        input_text->SetValue( wxU( p_stream->p_media->input[0] ) );
-    }
-    output_text->SetValue( wxU( p_stream->p_media->psz_output ) );
-    enabled_checkbox->SetValue( p_stream->p_media->b_enabled );
-    if( b_broadcast)
-        loop_checkbox->SetValue( p_stream->p_media->b_loop );
-}
-
-void VLMAddStreamPanel::OnCreate( wxCommandEvent &event )
-{
-    char *psz_name = wxFromLocale( name_text->GetValue() );
-    char *psz_input = wxFromLocale(  input_text->GetValue() );
-    char *psz_output = wxFromLocale( output_text->GetValue() );
-    if( b_broadcast && ! b_edit )
-    {
-        p_vlm->AddBroadcast( psz_name, psz_input, psz_output,
-                         enabled_checkbox->IsChecked() ? true: false,
-                         loop_checkbox->IsChecked() ? true : false );
-    }
-    else if( b_broadcast && b_edit )
-    {
-        p_vlm->EditBroadcast( psz_name, psz_input, psz_output,
-                        enabled_checkbox->IsChecked() ? true: false,
-                        loop_checkbox->IsChecked() ? true : false );
-    }
-    else if( !b_broadcast && !b_edit )
-    {
-        p_vlm->AddVod( psz_name, psz_input, psz_output,
-                       enabled_checkbox->IsChecked() ? true: false,
-                       loop_checkbox->IsChecked() ? true : false );
-    }
-    else
-    {
-        p_vlm->EditVod( psz_name, psz_input, psz_output,
-                        enabled_checkbox->IsChecked() ? true: false,
-                        loop_checkbox->IsChecked() ? true : false );
-    }
-    wxLocaleFree( psz_name) ; wxLocaleFree( psz_input ) ;
-    wxLocaleFree( psz_output);
-    if( !b_edit )
-        OnClear( event );
-    if( b_edit )
-        p_parent->Hide();
-}
-
-void VLMAddStreamPanel::OnClear( wxCommandEvent &event )
-{
-    name_text->SetValue( wxU("") );
-    input_text->SetValue( wxU("") );
-    output_text->SetValue( wxU("") );
-}
-
-void VLMAddStreamPanel::OnChooseInput( wxCommandEvent &event )
-{
-    if( p_open_dialog == NULL )
-        p_open_dialog = new OpenDialog( p_intf, this, -1, -1, OPEN_STREAM );
-
-    if( p_open_dialog && p_open_dialog->ShowModal() == wxID_OK )
-    {
-        input_text->SetValue( p_open_dialog->mrl[0] );
-    }
-}
-
-void VLMAddStreamPanel::OnChooseOutput( wxCommandEvent &event )
-{
-    if( p_sout_dialog == NULL )
-        p_sout_dialog = new SoutDialog( p_intf, this );
-
-    if( p_sout_dialog && p_sout_dialog->ShowModal() == wxID_OK )
-    {
-        wxString sout = (p_sout_dialog->GetOptions())[0] ;
-        sout = sout.AfterFirst( '=' );
-        output_text->SetValue( sout );
-    }
-}
-
-/****************************************************************************
- * VLM Frame implementation
- ****************************************************************************/
-enum
-{
-};
-
-BEGIN_EVENT_TABLE( VLMFrame, wxFrame )
-    EVT_CLOSE( VLMFrame::OnClose )
-END_EVENT_TABLE()
-
-VLMFrame::VLMFrame( intf_thread_t *_p_intf, wxWindow *_p_parent ) :
-        wxFrame( _p_parent, -1, wxU( _("VLM") ),
-        wxDefaultPosition, wxSize( 640,480 ), wxDEFAULT_FRAME_STYLE )
-{
-    SetIcon( *_p_intf->p_sys->p_icon );
-
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxHORIZONTAL );
-    vlm_panel = new VLMPanel( _p_intf, this );
-
-#if defined(WIN32)
-    main_sizer->Add( vlm_panel, 1, wxGROW, 0 );
-#else
-    main_sizer->Add( vlm_panel, 1, wxEXPAND | wxALL, 5 );
-#endif
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-}
-
-void VLMFrame::OnClose( wxCloseEvent& WXUNUSED(event) )
-{
-    Hide();
-}
-
-void VLMFrame::Update()
-{
-    vlm_panel->Update();
-}
-
-VLMFrame::~VLMFrame()
-{
-    delete vlm_panel;
-}
-
-/****************************************************************************
- * VLM Add stream Frame implementation
- ****************************************************************************/
-VLMEditStreamFrame::VLMEditStreamFrame( intf_thread_t *_p_intf,
-            wxWindow *_p_parent, VLMWrapper *_p_vlm, bool _b_broadcast,
-            VLMStream *p_stream ) :
-        wxFrame( _p_parent, -1, wxU( _("VLM stream") ),
-        wxDefaultPosition, wxSize( 640,480 ), wxDEFAULT_FRAME_STYLE )
-{
-    SetIcon( *_p_intf->p_sys->p_icon );
-
-    wxBoxSizer *main_sizer = new wxBoxSizer( wxHORIZONTAL );
-    vlm_panel = new VLMAddStreamPanel( _p_intf, this, _p_vlm ,
-                                       true, _b_broadcast );
-
-    vlm_panel->Load( p_stream );
-
-    main_sizer->Add( vlm_panel, 1, wxEXPAND | wxALL, 5 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-}
-
-VLMEditStreamFrame::~VLMEditStreamFrame()
-{
-}
-#endif
-
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_panel.hpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_panel.hpp
deleted file mode 100644 (file)
index f619a7e..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*****************************************************************************
- * vlm_panel.hpp: Header for the VLM panel
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_VLMPANEL_H_
-#define _WXVLC_VLMPANEL_H_
-
-#include "wxwidgets.hpp"
-#include "dialogs/open.hpp"
-#include "dialogs/streamout.hpp"
-#include <wx/notebook.h>
-
-#include <vector>
-using namespace std;
-
-
-class VLMWrapper;
-class VLMStream;
-class VLMBroadcastStream;
-class VLMVODStream;
-
-namespace wxvlc
-{
-    class VLMStreamPanel;
-    class VLMBroadcastStreamPanel;
-    class VLMVODStreamPanel;
-
-    /** This class is the panel to add or edit a VLM stream
-     * It can be embedded in the main VLM panel or on a separate frame
-     */
-    class VLMAddStreamPanel : public wxPanel
-    {
-    public:
-        VLMAddStreamPanel( intf_thread_t *, wxWindow *, VLMWrapper *,
-                           bool, bool );
-        virtual ~VLMAddStreamPanel();
-        void Load( VLMStream *);
-    private:
-        void OnCreate( wxCommandEvent& );
-        void OnClear( wxCommandEvent& );
-        void OnChooseInput( wxCommandEvent& );
-        void OnChooseOutput( wxCommandEvent& );
-
-        wxTextCtrl *name_text;
-        wxTextCtrl *input_text;
-        wxTextCtrl *output_text;
-
-        wxCheckBox *enabled_checkbox;
-        wxCheckBox *loop_checkbox;
-
-        intf_thread_t *p_intf;
-        VLMWrapper *p_vlm;
-
-        wxWindow *p_parent;
-
-        bool b_edit, b_broadcast;
-
-        OpenDialog *p_open_dialog;
-        SoutDialog *p_sout_dialog;
-
-        DECLARE_EVENT_TABLE();
-    };
-
-    /**
-     * This class is the main VLM Manager panel
-     */
-    class VLMPanel : public wxPanel
-    {
-    public:
-        VLMPanel( intf_thread_t *p_intf, wxWindow * );
-        virtual ~VLMPanel();
-
-        void Update();
-
-    protected:
-
-    private:
-        VLMWrapper *p_vlm;
-        intf_thread_t *p_intf;
-        wxWindow *p_parent;
-
-        wxFileDialog *p_file_dialog;
-        wxTimer timer;
-        void OnTimer( wxTimerEvent &);
-        void OnClose( wxCommandEvent& );
-        void OnLoad( wxCommandEvent& );
-        void OnSave( wxCommandEvent& );
-
-        /** Notebook */
-        wxNotebook *p_notebook;
-        DECLARE_EVENT_TABLE();
-
-        /* Broadcast stuff */
-        vector<VLMBroadcastStreamPanel *> broadcasts;
-        wxPanel *broadcasts_panel;
-        wxBoxSizer *broadcasts_sizer;
-        wxScrolledWindow *scrolled_broadcasts;
-        wxBoxSizer *scrolled_broadcasts_sizer;
-        wxPanel *BroadcastPanel( wxWindow *);
-        wxPanel *AddBroadcastPanel( wxPanel *);
-        void AppendBroadcast( VLMBroadcastStream *);
-        void RemoveBroadcast( VLMBroadcastStreamPanel *);
-
-        /* VOD stuff */
-        vector<VLMVODStreamPanel *> vods;
-        wxPanel *vods_panel;
-        wxBoxSizer *vods_sizer;
-        wxScrolledWindow *scrolled_vods;
-        wxBoxSizer *scrolled_vods_sizer;
-        wxPanel *VODPanel( wxWindow *);
-        wxPanel *AddVODPanel( wxPanel *);
-        void AppendVOD( VLMVODStream *);
-        void RemoveVOD( VLMVODStreamPanel *);
-
-    };
-
-    /** This class is the standard VLM frame
-     * It only consists of the VLM panel
-     */
-    class VLMFrame: public wxFrame
-    {
-    public:
-        VLMFrame( intf_thread_t *p_intf, wxWindow * );
-        virtual ~VLMFrame();
-
-        void Update();
-        void OnClose( wxCloseEvent& );
-    private:
-        VLMPanel *vlm_panel;
-        DECLARE_EVENT_TABLE();
-    };
-
-    /** This class is the edit dialog for a stream
-     * It only consists of the VLM edit panel
-     */
-    class VLMEditStreamFrame: public wxFrame
-    {
-    public:
-        VLMEditStreamFrame( intf_thread_t *p_intf, wxWindow *,
-                            VLMWrapper * , bool, VLMStream * );
-        virtual ~VLMEditStreamFrame();
-
-    private:
-        VLMAddStreamPanel *vlm_panel;
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_slider_manager.cpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_slider_manager.cpp
deleted file mode 100644 (file)
index ad5ee74..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-/*****************************************************************************
- * vlm_slider_manager.cpp : Manage an input slider for a VLM stream
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#if 0
-#include "dialogs/vlm/vlm_slider_manager.hpp"
-#include "dialogs/vlm/vlm_stream.hpp"
-#include "dialogs/vlm/vlm_streampanel.hpp"
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-VLMSliderManager::VLMSliderManager( intf_thread_t *_p_intf,
-                                    VLMBroadcastStreamPanel *_p_sp )
-{
-    p_intf = _p_intf;
-    p_input = NULL;
-
-    p_sp = _p_sp;
-    slider = p_sp->p_slider;
-
-    b_slider_free = true;
-    time_string = wxU( "0:00:00 / 0:00:00");
-}
-
-VLMSliderManager::~VLMSliderManager()
-{
-}
-
-/*****************************************************************************
- * Public methods.
- *****************************************************************************/
-void VLMSliderManager::Update()
-{
-    /* Update the input */
-    if( p_input == NULL )
-    {
-        UpdateInput();
-
-        if( p_input )
-        {
-            slider->SetValue( 0 );
-            UpdateButtons( true );
-        }
-    }
-    else if( p_input->b_dead )
-    {
-        HideSlider();
-        UpdateButtons( false );
-
-        vlc_object_release( p_input );
-        p_input = NULL;
-    }
-
-    if( p_input && vlc_object_alive (p_input) )
-    {
-        vlc_value_t pos;
-
-        /* Really manage the slider */
-        var_Get( p_input, "position", &pos );
-
-        if( pos.f_float > 0.0 && ! IsShown() ) ShowSlider();
-        else if( pos.f_float <= 0.0 ) HideSlider();
-
-        if( IsPlaying() && IsShown() )
-        {
-            /* Update the slider if the user isn't dragging it. */
-            if( IsFree() )
-            {
-                char psz_time[ MSTRTIME_MAX_SIZE ];
-                char psz_total[ MSTRTIME_MAX_SIZE ];
-                vlc_value_t time;
-                mtime_t i_seconds;
-
-                /* Update the value */
-                if( pos.f_float >= 0.0 )
-                {
-                    i_slider_pos = (int)(SLIDER_MAX_POS * pos.f_float);
-
-                    slider->SetValue( i_slider_pos );
-
-                    var_Get( p_input, "time", &time );
-                    i_seconds = time.i_time / 1000000;
-                    secstotimestr ( psz_time, i_seconds );
-
-                    var_Get( p_input, "length",  &time );
-                    i_seconds = time.i_time / 1000000;
-                    secstotimestr ( psz_total, i_seconds );
-
-                    UpdateTime( psz_time, psz_total );
-                }
-            }
-        }
-    }
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-void VLMSliderManager::UpdateInput()
-{
-    if( p_sp->GetStream()->p_media->i_instance == 0 )
-    {
-        p_input = NULL;
-        return;
-    }
-    /** FIXME !! */
-    p_input = p_sp->GetStream()->p_media->instance[0]->p_input;
-}
-
-void VLMSliderManager::UpdateButtons( bool b_play )
-{
-    if( b_play )
-    {
-        p_sp->TogglePlayButton( PLAYING_S );
-    }
-    else
-    {
-        p_sp->TogglePlayButton( PAUSE_S );
-    }
-}
-
-bool VLMSliderManager::IsShown()
-{
-    return slider->IsEnabled();
-}
-
-void VLMSliderManager::ShowSlider()
-{
-    slider->Enable();
-}
-
-void VLMSliderManager::HideSlider()
-{
-    slider->SetValue( 0 );
-    slider->Disable();
-    UpdateTime( "0:00:00", "0:00:00" );
-}
-
-bool VLMSliderManager::IsFree()
-{
-    return b_slider_free;
-}
-
-bool VLMSliderManager::IsPlaying()
-{
-    return true; /* Is it really useful ? */
-}
-
-void VLMSliderManager::UpdateTime( char *psz_time, char *psz_total )
-{
-    time_string = wxU(psz_time) + wxString(wxT(" / ") ) +wxU(psz_total) ;
-}
-
-
-void VLMSliderManager::ProcessUpdate( wxScrollEvent &event )
-{
-
-#ifdef WIN32
-    if( event.GetEventType() == wxEVT_SCROLL_THUMBRELEASE
-        || event.GetEventType() == wxEVT_SCROLL_ENDSCROLL )
-    {
-#endif
-        if( i_slider_pos != event.GetPosition() && p_input )
-        {
-            vlc_value_t pos;
-            pos.f_float = (float)event.GetPosition() / (float)SLIDER_MAX_POS;
-
-            var_Set( p_input, "position", pos );
-        }
-
-#ifdef WIN32
-        b_slider_free = true;
-    }
-    else
-    {
-        b_slider_free = false;
-
-        if( p_input )
-        {
-            /* Update stream date */
-            char psz_time[ MSTRTIME_MAX_SIZE ], psz_total[ MSTRTIME_MAX_SIZE ];
-            mtime_t i_seconds;
-
-            i_seconds = var_GetTime( p_input, "length" ) / INT64_C( 1000000 );
-            secstotimestr( psz_total, i_seconds );
-
-            i_seconds = var_GetTime( p_input, "time" ) / INT64_C( 1000000 );
-            secstotimestr( psz_time, i_seconds );
-
-            time_string = wxU(psz_time) + wxString(wxT(" / ") ) +wxU(psz_total) ;
-        }
-    }
-#endif
-
-#undef WIN32
-}
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_slider_manager.hpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_slider_manager.hpp
deleted file mode 100644 (file)
index 63b003b..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*****************************************************************************
- * vlm_slider_manager.hpp: Header for slider_manager
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _VLM_SLIDER_MANAGER_H_
-#define _VLM_SLIDER_MANAGER_H_
-
-#include "wxwidgets.hpp"
-
-namespace wxvlc
-{
-    class VLMBroadcastStreamPanel;
-    /**
-     * This class manages a slider corresponding to the main input
-     */
-    class VLMSliderManager
-    {
-    public:
-        VLMSliderManager( intf_thread_t *, VLMBroadcastStreamPanel * );
-        virtual ~VLMSliderManager();
-
-        wxString time_string;
-
-        void Update();
-        void ProcessUpdate( wxScrollEvent & );
-
-    protected:
-        bool b_slider_free;
-        virtual void UpdateInput();
-        virtual void UpdateButtons( bool );
-        virtual void UpdateTime( char *, char *);
-
-        virtual bool IsShown();
-        virtual bool IsFree();
-        virtual bool IsPlaying();
-
-        virtual void HideSlider();
-        virtual void ShowSlider();
-
-        VLMBroadcastStreamPanel * p_sp;
-
-        intf_thread_t * p_intf;
-        input_thread_t *p_input;
-        wxSlider *slider;            ///< Slider for this input
-        int i_slider_pos;            ///< Current slider position
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_stream.cpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_stream.cpp
deleted file mode 100644 (file)
index c9d77f2..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*****************************************************************************
- * vlm_stream.cpp : Implementation of the VLMStream class hierarchy
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#if 0
-#include "dialogs/vlm/vlm_stream.hpp"
-#include "dialogs/vlm/vlm_wrapper.hpp"
-
-/*****************************************************************************
- * VLMStream class
- *****************************************************************************/
-VLMStream::VLMStream( intf_thread_t *_p_intf, vlm_media_t *_p_media,
-                      VLMWrapper * _p_vlm )
-{
-    p_intf = _p_intf;
-    p_vlm = _p_vlm;
-    p_media = _p_media;
-}
-
-VLMStream::~VLMStream()
-{
-}
-
-void VLMStream::Enable()
-{
-    p_media->b_enabled = true;
-}
-
-void VLMStream::Disable()
-{
-    p_media->b_enabled = false;
-}
-
-void VLMStream::Delete()
-{
-    vlm_message_t *message;
-    string command = "del \"" + string( p_media->psz_name ) + "\"";
-    /* FIXME: Should be moved to vlm_Wrapper */
-    vlm_ExecuteCommand( p_vlm->GetVLM(), (char*)command.c_str(), & message );
-    vlm_MessageDelete( message );
-}
-
-/*****************************************************************************
- * VLMBroadcastStream class
- *****************************************************************************/
-VLMBroadcastStream::VLMBroadcastStream( intf_thread_t *_p_intf,
- vlm_media_t *_p_media, VLMWrapper *_p_vlm ): VLMStream( _p_intf, _p_media, _p_vlm )
-{
-
-}
-
-VLMBroadcastStream::~VLMBroadcastStream()
-{
-}
-
-void VLMBroadcastStream::Play()
-{
-    vlm_message_t *message;
-    string command = "control \"" + string( p_media->psz_name ) + "\" play";
-    /* FIXME: Should be moved to vlm_Wrapper */
-    vlm_ExecuteCommand( p_vlm->GetVLM(), (char*)command.c_str(), & message );
-    vlm_MessageDelete( message );
-}
-
-void VLMBroadcastStream::Stop()
-{
-    vlm_message_t *message;
-    string command = "control \"" + string( p_media->psz_name ) + "\" stop";
-    vlm_ExecuteCommand( p_vlm->GetVLM(), (char*)command.c_str(), & message );
-    vlm_MessageDelete( message );
-}
-
-void VLMBroadcastStream::Pause()
-{
-    vlm_message_t *message;
-    string command = "control \"" + string( p_media->psz_name ) + "\" pause";
-    vlm_ExecuteCommand( p_vlm->GetVLM(), (char*)command.c_str(), & message );
-    vlm_MessageDelete( message );
-}
-
-/*****************************************************************************
- * VLMVODStream class
- *****************************************************************************/
-VLMVODStream::VLMVODStream( intf_thread_t *_p_intf, vlm_media_t *_p_media,
-                VLMWrapper *_p_vlm ): VLMStream( _p_intf, _p_media, _p_vlm )
-{
-
-}
-
-VLMVODStream::~VLMVODStream()
-{
-}
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_stream.hpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_stream.hpp
deleted file mode 100644 (file)
index 48791d9..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*****************************************************************************
- * vlm_stream.hpp: Representation of a VLM Stream
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/* FIXME : This is not WX-specific and should be moved to core */
-#ifndef _VLM_STREAM_H_
-#define _VLM_STREAM_H_
-
-#include <vlc_common.h>
-#include <vlc_interface.h>
-#include <vlc_vlm.h>
-
-#include <string>
-using namespace std;
-
-class VLMWrapper;
-
-/**
- * This class encapsulates a VLM Stream and provides additional services
- */
-class VLMStream
-{
-public:
-    VLMStream( intf_thread_t *, vlm_media_t * , VLMWrapper *);
-    virtual ~VLMStream();
-
-    vlm_media_t   *p_media;
-
-
-    void Delete();
-    virtual void Disable();
-    virtual void Enable();
-
-    /* FIXME: provide accessor */
-    VLMWrapper    *p_vlm;
-protected:
-    intf_thread_t *p_intf;
-    friend class VLMWrapper;
-private:
-};
-
-/**
- * This class encapsulates a VLM Broadcast stream
- */
-class VLMBroadcastStream : public VLMStream
-{
-public:
-    VLMBroadcastStream( intf_thread_t *, vlm_media_t *, VLMWrapper *);
-    virtual ~VLMBroadcastStream();
-
-    void Play();
-    void Pause();
-    void Stop();
-
-};
-
-/**
- * This class encapsulates a VLM VOD Stream
- */
-class VLMVODStream : public VLMStream
-{
-public:
-    VLMVODStream( intf_thread_t *, vlm_media_t *, VLMWrapper *);
-    virtual ~VLMVODStream();
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_streampanel.cpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_streampanel.cpp
deleted file mode 100644 (file)
index 87d387c..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/*****************************************************************************
- * vlm_streampanel:cpp
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/OR MODIFy
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#if 0
-#include "dialogs/vlm/vlm_streampanel.hpp"
-#include "dialogs/vlm/vlm_stream.hpp"
-#include "dialogs/vlm/vlm_slider_manager.hpp"
-
-#include "dialogs/vlm/vlm_panel.hpp"
-
-#include "bitmaps/play.xpm"
-#include "bitmaps/pause.xpm"
-#include "bitmaps/stop.xpm"
-#include "bitmaps/trash.xpm"
-#include "bitmaps/edit.xpm"
-
-enum
-{
-    BPlay_Event,
-    BStop_Event,
-    BSlider_Event,
-    BEdit_Event,
-    BTrash_Event,
-};
-
-BEGIN_EVENT_TABLE( VLMBroadcastStreamPanel, wxPanel )
-    EVT_BUTTON( BPlay_Event, VLMBroadcastStreamPanel::OnPlay )
-    EVT_BUTTON( BStop_Event, VLMBroadcastStreamPanel::OnStop )
-    EVT_BUTTON( BEdit_Event, VLMBroadcastStreamPanel::OnEdit )
-    EVT_BUTTON( BTrash_Event, VLMBroadcastStreamPanel::OnTrash )
-    EVT_COMMAND_SCROLL( BSlider_Event, VLMBroadcastStreamPanel::OnSliderUpdate )
-END_EVENT_TABLE()
-
-/***********************************************************************
- * VLMStream
- ***********************************************************************/
-VLMStreamPanel::VLMStreamPanel( intf_thread_t * _p_intf, wxWindow * _p_parent ):
-         wxPanel( _p_parent, -1, wxDefaultPosition, wxDefaultSize )
-{
-    p_intf = _p_intf;
-    p_slider = NULL;
-}
-
-VLMStreamPanel::~VLMStreamPanel()
-{
-}
-
-/***********************************************************************
- * VLMBroadcastStream
- ***********************************************************************/
-VLMBroadcastStreamPanel::VLMBroadcastStreamPanel( intf_thread_t* _p_intf,
-       wxWindow *_p_parent , VLMBroadcastStream *_stream ):
-       VLMStreamPanel( _p_intf, _p_parent ),
-       p_stream( _stream )
-{
-    wxStaticBox *box = new wxStaticBox( this, -1,
-                    wxU( p_stream->p_media->psz_name ) );
-
-    wxStaticBoxSizer *box_sizer = new wxStaticBoxSizer( box, wxHORIZONTAL );
-
-    play_button = new wxBitmapButton( this, BPlay_Event,
-                                wxBitmap( play_xpm ) );
-    play_button->SetToolTip( wxU(_("Play/Pause") ) );
-    box_sizer->Add( play_button, 0, wxEXPAND | wxALL, 5 );
-
-    wxBitmapButton *stop_button = new wxBitmapButton( this, BStop_Event,
-                                          wxBitmap( stop_xpm ) );
-    stop_button->SetToolTip( wxU(_("Stop") ) );
-    box_sizer->Add( stop_button, 0, wxEXPAND | wxALL, 5 );
-
-    p_slider = new wxSlider( this,  BSlider_Event, 0, 0,
-                            SLIDER_MAX_POS, wxDefaultPosition, wxDefaultSize );
-    p_slider->Disable();
-    box_sizer->Add( p_slider,    1, wxEXPAND | wxALL, 5 );
-
-    p_time = new wxStaticText( this, -1, wxU( "0:00:00 / 0:00:00") );
-    box_sizer->Add( p_time, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5 );
-
-    wxBitmapButton *edit_button = new wxBitmapButton( this, BEdit_Event,
-                                    wxBitmap( edit_xpm ) );
-    edit_button->SetToolTip( wxU( _("Edit") ) );
-    box_sizer->Add( edit_button, 0, wxEXPAND | wxALL , 5 );
-
-    wxBitmapButton *trash_button = new wxBitmapButton( this, BTrash_Event,
-                                    wxBitmap( trash_xpm ) );
-    trash_button->SetToolTip( wxU( _("Delete" ) ) );
-    box_sizer->Add( trash_button, 0, wxEXPAND | wxALL , 5 );
-
-    box_sizer->Layout();
-    SetSizerAndFit( box_sizer );
-
-    p_sm = new VLMSliderManager( p_intf, this );
-}
-
-VLMBroadcastStreamPanel::~VLMBroadcastStreamPanel()
-{
-}
-
-void VLMBroadcastStreamPanel::TogglePlayButton( int state )
-{
-    if( state == PLAYING_S )
-    {
-        play_button->SetBitmapLabel( wxBitmap( pause_xpm ) );
-    }
-    if( state == PAUSE_S )
-    {
-        play_button->SetBitmapLabel( wxBitmap( play_xpm ) );
-    }
-}
-
-void VLMBroadcastStreamPanel::Update()
-{
-    /* Update managed slider */
-    p_sm->Update();
-    p_time->SetLabel( p_sm->time_string );
-}
-
-void VLMBroadcastStreamPanel::OnPlay( wxCommandEvent &event )
-{
-    /* FIXME: Factorize input / VLM code here */
-    /* Handle multiple instance */
-    if( p_stream->p_media->i_instance > 0 &&
-        p_stream->p_media->instance[0]->p_input )
-    {
-        vlc_value_t val;
-        vlc_object_hold( p_stream->p_media->instance[0]->p_input );
-        var_Get( p_stream->p_media->instance[0]->p_input, "state", &val );
-        if( val.i_int != PAUSE_S )
-        {
-            /* Pause */
-            val.i_int = PAUSE_S;
-        }
-        else
-        {
-            /* Resume */
-            val.i_int = PLAYING_S;
-        }
-        var_Set( p_stream->p_media->instance[0]->p_input, "state", val );
-        TogglePlayButton( val.i_int );
-        vlc_object_release( p_stream->p_media->instance[0]->p_input );
-    }
-    else
-    {
-         p_stream->Play();
-         TogglePlayButton( PLAYING_S );
-    }
-}
-
-void VLMBroadcastStreamPanel::OnStop( wxCommandEvent &event )
-{
-    p_stream->Stop();
-}
-
-void VLMBroadcastStreamPanel::OnEdit( wxCommandEvent &event )
-{
-     VLMEditStreamFrame *p_frame =
-           new  VLMEditStreamFrame( p_intf, this, p_stream->p_vlm, true,
-                                    p_stream );
-     p_frame->Show();
-}
-
-void VLMBroadcastStreamPanel::OnTrash( wxCommandEvent &event )
-{
-    p_stream->Delete();
-}
-
-void VLMBroadcastStreamPanel::OnSliderUpdate( wxScrollEvent& event )
-{
-    p_sm->ProcessUpdate( event );
-}
-
-/***********************************************************************
- * VLMVODStream
- ***********************************************************************/
-VLMVODStreamPanel::VLMVODStreamPanel( intf_thread_t* _p_intf,
-       wxWindow *_p_parent , VLMVODStream *_stream ):
-       VLMStreamPanel( _p_intf, _p_parent ),
-       p_stream( _stream )
-{
-}
-
-VLMVODStreamPanel::~VLMVODStreamPanel()
-{
-}
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_streampanel.hpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_streampanel.hpp
deleted file mode 100644 (file)
index ece20b5..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*****************************************************************************
- * vlm_streampanel.hpp: Panel for a VLM stream
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _VLM_STREAMPANEL_H_
-#define _VLM_STREAMPANEL_H_
-
-#include "wxwidgets.hpp"
-
-class VLMStream;
-class VLMBroadcastStream;
-class VLMVODStream;
-
-namespace wxvlc
-{
-    class VLMSliderManager;
-
-    /**
-     * This class represents the panel for a VLM Stream
-     * This class is abstract, it needs to be subclassed
-     */
-    class VLMStreamPanel : public wxPanel
-    {
-    public:
-        VLMStreamPanel( intf_thread_t *, wxWindow * );
-        virtual ~VLMStreamPanel();
-
-        virtual void TogglePlayButton( int ) {};
-        wxSlider  *p_slider;
-
-        virtual void Update() = 0;
-    protected:
-        intf_thread_t *p_intf;
-        bool b_free;
-        bool b_new;               ///< Is it a new stream ?
-        bool b_found;             ///< Have we found the stream here ?
-        friend class VLMPanel;
-
-
-    private:
-    };
-
-    /**
-     * This class represents the panel for a Broadcast VLM Stream
-     */
-    class VLMBroadcastStreamPanel : public VLMStreamPanel
-    {
-    public:
-        VLMBroadcastStreamPanel( intf_thread_t *, wxWindow *,
-                                 VLMBroadcastStream * );
-        virtual ~VLMBroadcastStreamPanel();
-        VLMBroadcastStream *GetStream() { return p_stream; }
-
-        bool b_slider_free;
-
-        VLMSliderManager *p_sm;
-
-        virtual void Update();
-
-        virtual void TogglePlayButton( int );
-    protected:
-
-    private:
-        VLMBroadcastStream *p_stream;
-        DECLARE_EVENT_TABLE();
-
-        void OnPlay( wxCommandEvent &);
-        void OnStop( wxCommandEvent &);
-        void OnEdit( wxCommandEvent &);
-        void OnTrash( wxCommandEvent &);
-        void OnSliderUpdate( wxScrollEvent &);
-
-
-        wxBitmapButton *play_button;
-
-        wxStaticText *p_time;
-    };
-
-    /**
-     * This class represents the panel for a VOD VLM Stream
-     */
-    class VLMVODStreamPanel : public VLMStreamPanel
-    {
-    public:
-        VLMVODStreamPanel( intf_thread_t *, wxWindow *,
-                                 VLMVODStream * );
-        virtual ~VLMVODStreamPanel();
-
-        VLMVODStream *GetStream() { return p_stream; }
-
-        virtual void Update() {}
-    protected:
-
-    private:
-        VLMVODStream *p_stream;
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_wrapper.cpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_wrapper.cpp
deleted file mode 100644 (file)
index a432fe7..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/*****************************************************************************
- * vlm_wrapper.cpp : Wrapper around VLM
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/* FIXME: This is not wx-specific */
-
-#if 0
-#include "dialogs/vlm/vlm_wrapper.hpp"
-
-VLMWrapper::VLMWrapper( intf_thread_t *_p_intf )
-{
-    p_intf = _p_intf;
-    p_vlm = NULL;
-}
-
-VLMWrapper::~VLMWrapper()
-{
-   /* FIXME :you have to destroy vlm here to close
-    * but we shouldn't destroy vlm here in case somebody else wants it */
-   if( p_vlm )
-        vlm_Delete( p_vlm );
-}
-
-bool VLMWrapper::AttachVLM()
-{
-    p_vlm = vlm_New( p_intf );
-    return p_vlm ? true: false ;
-}
-
-void VLMWrapper::LockVLM()
-{
-    vlc_object_lock( p_vlm );
-}
-
-void VLMWrapper::UnlockVLM()
-{
-    vlc_object_unlock( p_vlm );
-}
-
-void VLMWrapper::AddBroadcast( const char* name, const char* input,
-                               const char* output,
-                               bool b_enabled, bool b_loop  )
-{
-    vlm_message_t *message;
-    string command = "new \"" + string(name) + "\" broadcast";
-    vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-    vlm_MessageDelete( message );
-    EditBroadcast( name, input, output, b_enabled, b_loop );
-}
-
-void VLMWrapper::EditBroadcast( const char* name, const char* input,
-                               const char* output,
-                               bool b_enabled, bool b_loop  )
-{
-    vlm_message_t *message;
-    string command;
-    command = "setup \"" + string(name) + "\" inputdel all";
-    vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-    vlm_MessageDelete( message );
-    command = "setup \"" + string(name) + "\" input \"" + string(input) + "\"";
-    vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-    vlm_MessageDelete( message );
-    if( strlen(output) > 0 )
-    {
-        command = "setup \"" + string(name) + "\" output \"" + string(output) + "\"";
-        vlm_ExecuteCommand( p_vlm, (char*)command.c_str(), &message );
-        vlm_MessageDelete( message );
-    }
-    if( b_enabled )
-    {
-        command = "setup \"" + string(name) + "\" enabled";
-        vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-        vlm_MessageDelete( message );
-    }
-    if( b_loop )
-    {
-        command = "setup \"" + string(name) + "\" loop";
-        vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-        vlm_MessageDelete( message );
-    }
-}
-
-void VLMWrapper::AddVod( const char* name, const char* input,
-                         const char* output,
-                         bool b_enabled, bool b_loop  )
-{
-    vlm_message_t *message;
-    string command = "new \"" + string(name) + "\" vod";
-    vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-    vlm_MessageDelete( message );
-    EditVod( name, input, output, b_enabled, b_loop );
-}
-
-void VLMWrapper::EditVod( const char* name, const char* input,
-                          const char* output,
-                          bool b_enabled, bool b_loop  )
-{
-    vlm_message_t *message;
-    string command;
-    command = "setup \"" + string(name) + "\" input \"" + string(input) + "\"";
-    vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-    vlm_MessageDelete( message );
-    if( strlen(output) > 0 )
-    {
-        command = "setup \"" + string(name) + "\" output \"" + string(output) + "\"";
-        vlm_ExecuteCommand( p_vlm, (char*)command.c_str(), &message );
-        vlm_MessageDelete( message );
-    }
-    if( b_enabled )
-    {
-        command = "setup \"" + string(name) + "\" enabled";
-        vlm_ExecuteCommand( p_vlm, command.c_str(), &message );
-        vlm_MessageDelete( message );
-    }
-}
-#endif
-
diff --git a/modules/gui/wxwidgets/dialogs/vlm/vlm_wrapper.hpp b/modules/gui/wxwidgets/dialogs/vlm/vlm_wrapper.hpp
deleted file mode 100644 (file)
index 68012bb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*****************************************************************************
- * vlm_wrapper.hpp: Wrapper for VLM
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/* This is not WX-specific */
-
-#include <vlc_common.h>
-#include <vlc_interface.h>
-#include <vlc_vlm.h>
-#include "dialogs/vlm/vlm_stream.hpp"
-
-#include <vector>
-#include <string>
-using namespace std;
-
-class VLMWrapper
-{
-public:
-    VLMWrapper( intf_thread_t * );
-    virtual ~VLMWrapper();
-
-    bool AttachVLM();
-    void LockVLM();
-    void UnlockVLM();
-
-    void AddBroadcast( const char*, const char*, const char*,
-                       bool b_enabled = true,
-                       bool b_loop = true );
-    void EditBroadcast( const char*, const char*, const char*,
-                       bool b_enabled = true,
-                       bool b_loop = true );
-    void AddVod( const char*, const char*, const char*,
-                       bool b_enabled = true,
-                       bool b_loop = true );
-    void EditVod( const char*, const char*, const char*,
-                       bool b_enabled = true,
-                       bool b_loop = true );
-
-    unsigned int NbMedia() { if( p_vlm ) return p_vlm->i_media; return 0; }
-    vlm_media_t *GetMedia( int i )
-    { if( p_vlm ) return p_vlm->media[i]; return NULL; }
-
-    vlm_t* GetVLM() { return p_vlm; }
-
-protected:
-
-private:
-    vlm_t *p_vlm;
-    intf_thread_t *p_intf;
-
-};
diff --git a/modules/gui/wxwidgets/dialogs/wizard.cpp b/modules/gui/wxwidgets/dialogs/wizard.cpp
deleted file mode 100644 (file)
index 889df87..0000000
+++ /dev/null
@@ -1,1644 +0,0 @@
-/*****************************************************************************
- * wizard.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "dialogs/wizard.hpp"
-#include "streamdata.h"
-#include "dialogs/open.hpp"
-
-#include <wx/listctrl.h>
-#include <wx/statline.h>
-#include <vlc_network.h>
-#include <vlc_charset.h>
-
-class wizHelloPage;
-class wizInputPage;
-
-/*****************************************************************************
- * Define events
- *****************************************************************************/
-enum
-{
-    ActionRadio0_Event, ActionRadio1_Event,
-    MoreInfoStreaming_Event,
-    MoreInfoTranscode_Event,
-
-    Open_Event , Choose_Event ,
-    ListView_Event,
-    InputRadio0_Event, InputRadio1_Event,
-    PartialEnable_Event,
-
-    MethodRadio0_Event, MethodRadio1_Event,
-    MethodRadio2_Event, MethodRadio3_Event,
-
-    EncapRadio0_Event, EncapRadio1_Event,
-    EncapRadio2_Event, EncapRadio3_Event,
-    EncapRadio4_Event, EncapRadio5_Event,
-    EncapRadio6_Event, EncapRadio7_Event,
-    EncapRadio8_Event, EncapRadio9_Event,
-    EncapRadio10_Event, EncapRadio11_Event,
-
-    VideoEnable_Event, VideoCodec_Event,VideoBitrate_Event,
-    AudioEnable_Event, AudioCodec_Event,AudioBitrate_Event,
-
-    SAP_Event,
-
-};
-
-#define TEXTWIDTH 55
-#define ACTION_STREAM 0
-#define ACTION_TRANSCODE 1
-
-BEGIN_EVENT_TABLE(WizardDialog, wxWizard)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Wizard strings
- *****************************************************************************/
-
-#define ERROR_MSG _("Error")
-#define ITEM_NAME _("Streaming/Transcoding Wizard")
-
-/* Hello page */
-#define HELLO_TITLE _("Streaming/Transcoding Wizard")
-#define HELLO_TEXT _("This wizard helps you to stream, transcode or" \
-                     " save a stream.")
-#define HELLO_STREAMING _("Stream to network")
-#define HELLO_STREAMING_DESC _("Use this to stream on a network.")
-#define HELLO_TRANSCODE _("Transcode/Save to file")
-#define HELLO_TRANSCODE_DESC _("Use this to re-encode a stream and save it "\
-        "to a file.")
-#define HELLO_NOTICE _("This wizard only contains a small subset " \
-        "of VLC's streaming and transcoding capabilities. Use the Open "\
-        "and Stream Output dialogs to access all of them.")
-
-#define MOREINFO_STREAM _("Use this to stream on a network")
-
-#define MOREINFO_TRANSCODE _("Saves the stream to a file. The stream must " \
-        "be a format that VLC recognizes. If desired, the stream can also " \
-        "be transcoded to another format.\n\nPlease note that VLC is not very" \
-        " suited for file-to-file transcoding. Its transcoding " \
-        "features are more appropriate for saving network streams." )
-
-/* Input page */
-#define INPUT_TITLE _("Input")
-#define INPUT_TEXT _("Input stream")
-
-#define INPUT_OPEN _("Select a stream" )
-#define INPUT_PL _( "Existing playlist item" )
-
-#define CHOOSE_STREAM _("You must choose a stream")
-#define NO_PLAYLIST _("Unable to find playlist")
-
-#define PARTIAL _("Use this to read only a part of the stream. " \
-                  "To use, enter the starting and ending times (in seconds)." \
-                  "\n\nNote: You must be able to control the incoming stream " \
-                  "(for example, a file or a disc, but not a RTP/UDP " \
-                  "network stream).\n" \
-)
-
-#define INPUT_BUTTON _("Choose")
-
-/* Transcode 1 */
-#define TRANSCODE1_TITLE _("Transcode")
-#define TRANSCODE1_TEXT _("Changes the compression format " \
-        "of the audio or video tracks. To change only the " \
-        "container format, proceed to the next page.")
-
-#define TR_VIDEO_TEXT0 _("Transcode video (if available)" )
-#define TR_VIDEO_TEXT _("Select the target video codec. Choose a codec to " \
-                        "display more information about it.")
-
-#define TR_AUDIO_TEXT0 _("Transcode audio (if available)"
-#define TR_AUDIO_TEXT _("Select the target audio codec. Choose a codec to " \
-                        "display more information about it.")
-
-/* Streaming 1 */
-#define STREAMING1_TITLE _("Streaming")
-#define STREAMING1_TEXT _("Determines how the input stream will be sent.")
-
-
-#define INVALID_MCAST_ADDRESS _("This does not appear to be a valid " \
-                                "multicast address" )
-#define NO_ADDRESS_TEXT _("Please enter an address" )
-
-/* Encap  */
-#define ENCAP_TITLE _("Encapsulation format")
-#define ENCAP_TEXT _("Determines how the stream will be encapsulated. " \
-                     "Depending on the previous choices, some formats " \
-                     "might not be available." )
-
-
-/* Transcode 2 */
-#define EXTRATRANSCODE_TITLE _("Additional transcode options")
-#define EXTRATRANSCODE_TEXT _("Defines a few additional parameters " \
-                              "for the transcoding." )
-
-#define CHOOSE_OUTFILE _("You must choose a file to save to")
-
-/* Streaming 2 */
-#define EXTRASTREAMING_TITLE _("Additional streaming options")
-#define EXTRASTREAMING_TEXT _("Defines a few additional parameters " \
-                              "for the stream." )
-
-#define TTL _("Define the TTL (Time-To-Live) of the stream. This parameter " \
-              "is the maximum number of routers your stream can go through. " \
-              "If you don't know what it means, or if you want to stream on " \
-              "your local network only, leave this setting to 1." )
-
-#define SAP _("When streaming using RTP, you can announce your streams " \
-              "using the SAP/SDP announcing protocol. This way, the clients " \
-              "won't have to type in the multicast address, it will appear " \
-              "in their playlist if they enable the SAP extra interface.\n" \
-              "If you want to give a name to your stream, enter it here. " \
-              "Otherwise, a default name will be used." )
-
-/*****************************************************************************
- * All the pages of the wizard, declaration
- *****************************************************************************/
-
-/* Declare classes */
-class wizHelloPage : public wxWizardPageSimple
-{
-    public:
-        wizHelloPage( wxWizard *parent);
-        void OnActionChange( wxCommandEvent& event );
-        void OnWizardPageChanging(wxWizardEvent& event);
-        void OnMoreInfo( wxCommandEvent& event );
-    protected:
-        int i_action;
-        WizardDialog *p_parent;
-        wxRadioButton *action_radios[2];
-        DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE(wizHelloPage, wxWizardPageSimple)
-    EVT_RADIOBUTTON( ActionRadio0_Event, wizHelloPage::OnActionChange)
-    EVT_RADIOBUTTON( ActionRadio1_Event, wizHelloPage::OnActionChange)
-    EVT_BUTTON( MoreInfoStreaming_Event, wizHelloPage::OnMoreInfo )
-    EVT_BUTTON( MoreInfoTranscode_Event, wizHelloPage::OnMoreInfo )
-
-    EVT_WIZARD_PAGE_CHANGING(-1, wizHelloPage::OnWizardPageChanging)
-END_EVENT_TABLE()
-
-
-class wizInputPage : public wxWizardPage
-{
-    public:
-        wizInputPage( wxWizard *, wxWizardPage *, intf_thread_t *);
-        ~wizInputPage();
-        void OnWizardPageChanging(wxWizardEvent& event);
-        void OnInputChange( wxCommandEvent& event );
-        void OnEnablePartial(wxCommandEvent& event);
-        virtual wxWizardPage *GetPrev() const;
-        virtual wxWizardPage *GetNext() const;
-        void SetStreamingPage( wxWizardPage *page);
-        void SetTranscodePage( wxWizardPage *page);
-        void SetAction( int i_action );
-        void SetPintf( intf_thread_t *p_intf );
-        void SetUri( char *psz_uri );
-        void SetPartial( int i_from, int i_to );
-
-    protected:
-        bool b_chosen;
-        intf_thread_t *p_intf;
-        int i_action;
-        int i_input;
-
-        void OnChoose( wxCommandEvent& event );
-
-        WizardDialog *p_parent;
-        wxRadioButton *input_radios[2];
-        wxCheckBox *enable_checkbox;
-        wxBoxSizer *mainSizer;
-        wxArrayString mrl;
-        wxTextCtrl *mrl_text;
-        wxTextCtrl *from_text;
-        wxTextCtrl *to_text;
-        OpenDialog *p_open_dialog;
-        wxListView *listview;
-        wxPanel *open_panel;
-        wxPanel *radio_panel; /* radio buttons should be in their own panel... */
-        wxWizardPage *p_prev;
-        wxWizardPage *p_streaming_page;
-        wxWizardPage *p_transcode_page;
-
-        DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE(wizInputPage, wxWizardPage)
-    EVT_RADIOBUTTON( InputRadio0_Event, wizInputPage::OnInputChange)
-    EVT_RADIOBUTTON( InputRadio1_Event, wizInputPage::OnInputChange)
-    EVT_BUTTON( Choose_Event, wizInputPage::OnChoose)
-    EVT_CHECKBOX( PartialEnable_Event, wizInputPage::OnEnablePartial)
-    EVT_WIZARD_PAGE_CHANGING(-1, wizInputPage::OnWizardPageChanging)
-END_EVENT_TABLE()
-
-
-class wizTranscodeCodecPage : public wxWizardPage
-{
-public:
-    wizTranscodeCodecPage( wxWizard *parent, wxWizardPage *next);
-    ~wizTranscodeCodecPage();
-    void OnWizardPageChanging(wxWizardEvent& event);
-    virtual wxWizardPage *GetPrev() const;
-    virtual wxWizardPage *GetNext() const;
-    void SetPrev( wxWizardPage *page);
-protected:
-    wxCheckBox *video_checkbox;
-    wxComboBox *video_combo;
-    wxComboBox *vb_combo;
-    wxStaticText * video_text;
-    wxCheckBox *audio_checkbox;
-    wxComboBox *audio_combo;
-    wxComboBox *ab_combo;
-    wxStaticText * audio_text;
-
-    WizardDialog *p_parent;
-    int i_audio_codec;
-    int i_video_codec;
-
-    char *vcodec;
-    char *acodec;
-
-    wxWizardPage *p_prev;
-    wxWizardPage *p_next;
-
-    void OnVideoCodecChange(wxCommandEvent& event);
-    void OnAudioCodecChange(wxCommandEvent& event);
-    void OnEnableVideo(wxCommandEvent& event);
-    void OnEnableAudio(wxCommandEvent& event);
-
-    DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE(wizTranscodeCodecPage, wxWizardPage)
-   EVT_CHECKBOX( VideoEnable_Event, wizTranscodeCodecPage::OnEnableVideo)
-   EVT_CHECKBOX( AudioEnable_Event, wizTranscodeCodecPage::OnEnableAudio)
-   EVT_COMBOBOX( VideoCodec_Event, wizTranscodeCodecPage::OnVideoCodecChange)
-   EVT_COMBOBOX( AudioCodec_Event, wizTranscodeCodecPage::OnAudioCodecChange)
-   EVT_WIZARD_PAGE_CHANGING(-1, wizTranscodeCodecPage::OnWizardPageChanging)
-END_EVENT_TABLE()
-
-class wizStreamingMethodPage : public wxWizardPage
-{
-public:
-    wizStreamingMethodPage( intf_thread_t *p_this, wxWizard *parent,
-                            wxWizardPage *next) ;
-    void OnWizardPageChanging(wxWizardEvent& event);
-    virtual wxWizardPage *GetPrev() const;
-    virtual wxWizardPage *GetNext() const;
-    void SetPrev( wxWizardPage *page);
-protected:
-    DECLARE_EVENT_TABLE()
-    int i_method;
-    wxBoxSizer *mainSizer;
-    wxStaticBoxSizer *address_sizer;
-    wxStaticText *address_text;
-    wxTextCtrl *address_txtctrl;
-    WizardDialog * p_parent;
-    void OnMethodChange( wxCommandEvent& event );
-    wxRadioButton *method_radios[4];
-    wxWizardPage *p_prev;
-    wxWizardPage *p_next;
-    intf_thread_t *p_intf;
-};
-
-BEGIN_EVENT_TABLE(wizStreamingMethodPage, wxWizardPage)
-    EVT_RADIOBUTTON( MethodRadio0_Event, wizStreamingMethodPage::OnMethodChange)
-    EVT_RADIOBUTTON( MethodRadio1_Event, wizStreamingMethodPage::OnMethodChange)
-    EVT_RADIOBUTTON( MethodRadio2_Event, wizStreamingMethodPage::OnMethodChange)
-    EVT_RADIOBUTTON( MethodRadio3_Event, wizStreamingMethodPage::OnMethodChange)
-    EVT_WIZARD_PAGE_CHANGING(-1, wizStreamingMethodPage::OnWizardPageChanging)
-END_EVENT_TABLE()
-
-
-class wizEncapPage : public wxWizardPage
-{
-public:
-    wizEncapPage( wxWizard *parent);
-    ~wizEncapPage();
-    void OnWizardPageChanging(wxWizardEvent& event);
-    virtual wxWizardPage *GetPrev() const;
-    virtual wxWizardPage *GetNext() const;
-    void SetStreamingPage( wxWizardPage *page);
-    void SetTranscodePage( wxWizardPage *page);
-    void SetPrev( wxWizardPage *page);
-    void SetAction( int );
-    void EnableEncap( int encap );
-protected:
-    DECLARE_EVENT_TABLE()
-    int i_encap;
-    int i_mux;
-    int i_action;
-    void OnEncapChange( wxCommandEvent& event );
-    wxRadioButton *encap_radios[MUXERS_NUMBER];
-    WizardDialog *p_parent;
-    wxWizardPage *p_prev;
-    wxWizardPage *p_streaming_page;
-    wxWizardPage *p_transcode_page;
-};
-
-BEGIN_EVENT_TABLE(wizEncapPage, wxWizardPage)
-    EVT_WIZARD_PAGE_CHANGING(-1, wizEncapPage::OnWizardPageChanging)
-    EVT_RADIOBUTTON( EncapRadio0_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio1_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio2_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio3_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio4_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio5_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio6_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio7_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio8_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio9_Event, wizEncapPage::OnEncapChange)
-    EVT_RADIOBUTTON( EncapRadio10_Event, wizEncapPage::OnEncapChange)
-END_EVENT_TABLE()
-
-/* Additional settings for transcode */
-class wizTranscodeExtraPage : public wxWizardPage
-{
-public:
-    wizTranscodeExtraPage( wxWizard *parent, wxWizardPage *prev,
-                            wxWizardPage *next);
-    virtual wxWizardPage *GetPrev() const;
-    virtual wxWizardPage *GetNext() const;
-    void OnWizardPageChanging( wxWizardEvent& event );
-protected:
-    DECLARE_EVENT_TABLE()
-    void OnSelectFile(wxCommandEvent&);
-    wxTextCtrl *file_text;
-    WizardDialog *p_parent;
-    wxWizardPage *p_prev;
-    wxWizardPage *p_next;
-};
-
-BEGIN_EVENT_TABLE(wizTranscodeExtraPage, wxWizardPage)
-    EVT_BUTTON( Open_Event, wizTranscodeExtraPage::OnSelectFile)
-    EVT_WIZARD_PAGE_CHANGING(-1, wizTranscodeExtraPage::OnWizardPageChanging)
-END_EVENT_TABLE()
-
-/* Additional settings for streaming */
-class wizStreamingExtraPage : public wxWizardPage
-{
-public:
-    wizStreamingExtraPage( wxWizard *parent, wxWizardPage *prev,
-                            wxWizardPage *next);
-    virtual wxWizardPage *GetPrev() const;
-    virtual wxWizardPage *GetNext() const;
-    void OnWizardPageChanging(wxWizardEvent&);
-    void OnSAP( wxCommandEvent&);
-    wxCheckBox *sap_checkbox;
-    wxTextCtrl *sap_text;
-protected:
-    friend class wizEncapPage;
-    DECLARE_EVENT_TABLE()
-    WizardDialog *p_parent;
-    wxWizardPage *p_prev;
-    wxWizardPage *p_next;
-
-    wxSpinCtrl *ttl_spin;
-};
-
-BEGIN_EVENT_TABLE(wizStreamingExtraPage, wxWizardPage)
-    EVT_CHECKBOX( SAP_Event, wizStreamingExtraPage::OnSAP )
-    EVT_WIZARD_PAGE_CHANGING(-1, wizStreamingExtraPage::OnWizardPageChanging)
-END_EVENT_TABLE()
-
-
-/* Local functions */
-static void pageHeader( wxWindow *window, wxBoxSizer *sizer,
-                       char *psz_title, char *psz_text);
-
-static void pageHeader( wxWindow *window, wxBoxSizer *sizer,
-                        char *psz_title, char *psz_text)
-{
-    wxStaticText *wtitle = new wxStaticText( window, -1, wxU( psz_title ) );
-    wxFont font = wtitle->GetFont();
-    font.SetPointSize(14);
-    wtitle->SetFont(font);
-    sizer->Add( wtitle, 0, wxALL, 5 );
-    sizer->Add( new wxStaticText( window, -1,
-                wxU( vlc_wraptext( psz_text , TEXTWIDTH ) ) ),
-                        0, wxALL, 5 );
-}
-
-/***************************************************************************
- * Implementation of the pages
- ***************************************************************************/
-
-
-/***************************************************
- * First page: choose between stream and transcode *
- ***************************************************/
-wizHelloPage::wizHelloPage( wxWizard *parent) : wxWizardPageSimple(parent)
-{
-        i_action = 0;
-        p_parent = (WizardDialog *)parent;
-        wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
-
-        /* Create the texts */
-        pageHeader( this, mainSizer, HELLO_TITLE, HELLO_TEXT );
-
-        /* Create the radio buttons with their helps */
-        action_radios[0] = new wxRadioButton( this, ActionRadio0_Event,
-                                              wxU( HELLO_STREAMING ) );
-        action_radios[1] = new wxRadioButton( this, ActionRadio1_Event,
-                                              wxU( HELLO_TRANSCODE ) );
-        i_action = 0;
-
-        mainSizer->Add( 0, 0, 1 );
-
-        wxBoxSizer *stream_sizer = new wxBoxSizer( wxHORIZONTAL );
-        stream_sizer->Add( action_radios[0], 0, wxALL, 5 );
-        stream_sizer->Add( 0,0,1 );
-        stream_sizer->Add( new wxButton( this, MoreInfoStreaming_Event,
-                                wxU( _("More Info")) ), 0, 0, 0 );
-        mainSizer->Add( stream_sizer, 0, wxALL | wxEXPAND , 5 );
-
-        wxBoxSizer *transcode_sizer = new wxBoxSizer( wxHORIZONTAL );
-        transcode_sizer->Add( action_radios[1], 0, wxALL, 5 );
-        transcode_sizer->Add( 0,0,1);
-        transcode_sizer->Add( new wxButton( this, MoreInfoTranscode_Event,
-                                wxU( _("More Info")) ), 0 ,  0 , 0 );
-        mainSizer->Add( transcode_sizer, 0, wxALL | wxEXPAND, 5 );
-
-        mainSizer->Add( 0, 0, 1 );
-
-        mainSizer->Add( new wxStaticLine(this, -1 ), 0, wxEXPAND| wxTOP|
-                        wxBOTTOM, 5 );
-
-        mainSizer->Add( new wxStaticText(this, -1,
-                        wxU( vlc_wraptext(HELLO_NOTICE , TEXTWIDTH ))),
-                        0, wxALL, 5 );
-
-        SetSizer(mainSizer);
-        mainSizer->Fit(this);
-    }
-
-void wizHelloPage::OnMoreInfo(wxCommandEvent& event)
-{
-    wxString msg;
-    msg.Printf( wxString( wxU( event.GetId() == MoreInfoStreaming_Event ?
-                                    MOREINFO_STREAM :
-                                    MOREINFO_TRANSCODE ) ) );
-    wxMessageBox( msg, wxU(_("More information")),
-                  wxOK | wxICON_INFORMATION, this->p_parent );
-}
-
-void wizHelloPage::OnActionChange( wxCommandEvent& event )
-{
-    i_action = event.GetId() - ActionRadio0_Event;
-    ((wizInputPage *)GetNext())->SetAction( i_action );
-    p_parent->SetAction( i_action );
-}
-
-void wizHelloPage::OnWizardPageChanging(wxWizardEvent& event)
-{
-    ((wizInputPage *)GetNext())->SetAction( i_action );
-    p_parent->SetAction( i_action );
-}
-
-/************************************
- * Second page: choose input stream *
- ************************************/
-wizInputPage::wizInputPage( wxWizard *parent, wxWizardPage *prev, intf_thread_t *_p_intf) :
-              wxWizardPage(parent)
-{
-    p_prev = prev;
-    p_intf = _p_intf;
-    p_parent = (WizardDialog *)parent;
-    b_chosen = false;
-    p_open_dialog = NULL;
-    listview = NULL;
-    mrl_text = NULL;
-    mainSizer = new wxBoxSizer(wxVERTICAL);
-
-    /* Create the texts */
-    pageHeader( this, mainSizer, INPUT_TITLE, INPUT_TEXT );
-
-    mainSizer->Add( 0,20,0 );
-
-    radio_panel = new wxPanel(this, -1);
-    radio_panel->SetAutoLayout( TRUE );
-
-    wxBoxSizer *radioSizer = new wxBoxSizer(wxVERTICAL);
-
-    /* Create the radio buttons */
-    input_radios[0] = new wxRadioButton( radio_panel, InputRadio0_Event ,
-                               wxU( INPUT_OPEN ) );
-    radioSizer->Add( input_radios[0], 0, wxALL, 5 );
-    input_radios[1] = new wxRadioButton( radio_panel, InputRadio1_Event ,
-                               wxU( INPUT_PL ) );
-    radioSizer->Add( input_radios[1], 0, wxALL, 5 );
-
-    radio_panel->SetSizer( radioSizer );
-    radioSizer->Layout();
-    radioSizer->Fit(radio_panel);
-    mainSizer->Add( radio_panel );
-
-    i_input = 0;
-
-    /* Open Panel */
-    open_panel = new wxPanel(this, -1);
-    open_panel->SetAutoLayout( TRUE );
-
-    wxBoxSizer *openSizer = new wxBoxSizer(wxHORIZONTAL);
-
-    mrl_text = new wxTextCtrl( open_panel, -1, wxU( "" ), wxDefaultPosition,
-                              wxSize(200,25) );
-
-    openSizer->Add( mrl_text, 0 , wxALL, 5 );
-    openSizer->Add( new wxButton( open_panel, Choose_Event, wxU(_("Choose...")) ), 0, wxALL, 5 );
-
-    open_panel->SetSizer( openSizer );
-    openSizer->Layout();
-    openSizer->Fit(open_panel);
-    mainSizer->Add( open_panel );
-
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist )
-    {
-        if( !playlist_IsEmpty( p_playlist ) )
-        {
-            listview = new wxListView( this, ListView_Event,
-                                       wxDefaultPosition, wxDefaultSize,
-                                       wxLC_REPORT | wxSUNKEN_BORDER );
-            listview->InsertColumn( 0, wxU(_("Name")) );
-            listview->InsertColumn( 1, wxU(_("URI")) );
-            listview->SetColumnWidth( 0, 250 );
-            listview->SetColumnWidth( 1, 100 );
-            mainSizer->Add( listview, 1, wxALL|wxEXPAND, 5 );
-
-            listview->Hide();
-            mainSizer->Hide( listview );
-            mainSizer->Layout();
-        }
-        else
-        {
-            input_radios[1]->Disable();
-        }
-        pl_Release( p_intf );
-    }
-    else
-    {
-        input_radios[1]->Disable();
-    }
-
-    /* Partial Extract Box */
-    mainSizer->Add( 0, 10, 0 );
-    wxStaticBox *partial_box = new wxStaticBox( this, -1,
-                    wxU(_("Partial Extract")) );
-
-    wxStaticBoxSizer *partial_sizer = new wxStaticBoxSizer( partial_box,
-                                                          wxVERTICAL );
-
-    enable_checkbox = new wxCheckBox( this, PartialEnable_Event,
-                                                wxU(_("Enable") ) );
-    enable_checkbox->SetToolTip(wxU(_(PARTIAL) ) ) ;
-    partial_sizer->Add( enable_checkbox, 0 , wxALIGN_CENTER_VERTICAL|wxALL, 5 ); //wxLEFT
-
-    wxFlexGridSizer *partial_sizer2 = new wxFlexGridSizer( 4 , 1 , 20 );
-    partial_sizer2->Add( new wxStaticText(this, -1, wxU(_( "From" ) ) ),
-                         0 , wxLEFT , 5 );
-    from_text = new wxTextCtrl( this, -1, wxT(""),
-                                wxDefaultPosition, wxSize( 80,25 ) );
-    partial_sizer2->Add( from_text, 0 , wxALIGN_RIGHT);
-    partial_sizer2->Add( new wxStaticText(this, -1, wxU(_( "To" ) ) ),
-                         0 , wxLEFT , 5 );
-    to_text = new wxTextCtrl( this, -1, wxT(""),
-                                  wxDefaultPosition, wxSize( 80 , 25 ) );
-    partial_sizer2->Add( to_text, 0 , wxALIGN_RIGHT );
-
-    partial_sizer->Add( partial_sizer2, 0, wxALL, 0 );
-
-    partial_sizer->Fit( partial_box );
-
-    mainSizer->Add( partial_sizer, 0, 0, 0 );
-
-    from_text->Disable();
-    to_text->Disable();
-    SetSizer(mainSizer);
-    mainSizer->Fit(this);
-    mainSizer->Layout();
-}
-
-wizInputPage::~wizInputPage()
-{
-}
-
-void wizInputPage::OnInputChange( wxCommandEvent& event )
-{
-    i_input = event.GetId() - InputRadio0_Event;
-    if( i_input == 0 )
-    {
-        if( listview )
-        {
-            listview->Hide();
-            mainSizer->Hide( listview );
-            open_panel->Show();
-            mainSizer->Show( open_panel );
-            mainSizer->Layout();
-        }
-    }
-    else
-    {
-        open_panel->Hide();
-        mainSizer->Hide( open_panel );
-        listview->Show();
-        mainSizer->Show( listview );
-        mainSizer->Layout();
-    }
-}
-
-void wizInputPage::OnEnablePartial(wxCommandEvent& event)
-{
-   from_text->Enable( event.IsChecked() );
-   to_text->Enable( event.IsChecked() );
-}
-
-
-void wizInputPage::OnChoose(wxCommandEvent& event)
-{
-    p_open_dialog = new OpenDialog( p_intf, this, -1, -1, OPEN_STREAM );
-    if(  p_open_dialog->ShowModal() == wxID_OK &&
-         !p_open_dialog->mrl.IsEmpty() )
-    {
-        mrl_text->SetValue(p_open_dialog->mrl[0] );
-    }
-    delete p_open_dialog;
-    p_open_dialog = NULL;
-}
-
-void wizInputPage::OnWizardPageChanging(wxWizardEvent& event)
-{
-    if( i_input == 0)
-    {
-        if( mrl_text->GetValue().IsSameAs( wxT(""), TRUE ) &&
-                        event.GetDirection() )
-        {
-            wxMessageBox( wxU( CHOOSE_STREAM ), wxU( ERROR_MSG ),
-                          wxICON_WARNING | wxOK, this->p_parent );
-            event.Veto();
-            return;
-        }
-        else
-        {
-            p_parent->SetMrl( (const char *)mrl_text->GetValue().mb_str(wxConvUTF8) );
-        }
-    }
-    else
-    {
-        int i = -1;
-        i = listview->GetNextItem( i , wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
-        if( i != -1 )
-        {
-            long data = listview->GetItemData( i );
-            playlist_t *p_playlist = pl_Hold( p_intf );
-            if( p_playlist )
-            {
-                playlist_item_t * p_item = playlist_ItemGetById( p_playlist, (int)data, false );
-                if( p_item )
-                {
-                    const char *psz_uri = input_item_GetURI( p_item->p_input );
-                    p_parent->SetMrl( psz_uri );
-                    free( psz_uri );
-                }
-                else
-                    event.Veto();
-                pl_Release( p_intf );
-            }
-            else
-                event.Veto();
-        }
-    }
-    if( enable_checkbox->IsChecked() )
-    {
-        int i_from = atoi( from_text->GetValue().mb_str(wxConvUTF8) );
-        int i_to = atoi( to_text->GetValue().mb_str(wxConvUTF8) );
-        p_parent->SetPartial( i_from, i_to );
-    }
-    return;
-}
-
-wxWizardPage *wizInputPage::GetPrev() const { return p_prev; }
-wxWizardPage *wizInputPage::GetNext() const
-{
-    if( i_action == ACTION_STREAM )
-        return p_streaming_page;
-    else
-       return p_transcode_page;
-}
-
-void wizInputPage::SetStreamingPage( wxWizardPage *page)
-{
-    p_streaming_page = page;
-}
-
-void wizInputPage::SetTranscodePage( wxWizardPage *page)
-{
-    p_transcode_page = page;
-}
-
-void wizInputPage::SetAction( int i_action )
-{
-    this->i_action = i_action;
-}
-
-void wizInputPage::SetPintf( intf_thread_t *p_intf )
-{
-    this->p_intf = p_intf;
-}
-
-void wizInputPage::SetUri( char *psz_uri )
-{
-    mrl_text->SetValue( wxU( psz_uri ) );
-}
-
-void wizInputPage::SetPartial( int i_from, int i_to )
-{
-   wxString msg;
-   msg.Printf( wxString( wxT( "%i") ), i_from );
-   from_text->Enable( TRUE );
-   from_text->SetValue( msg );
-   msg.Printf( wxString( wxT( "%i") ), i_to );
-   to_text->Enable( TRUE );
-   to_text->SetValue( msg );
-   enable_checkbox->SetValue( TRUE );
-}
-
-/***************************************************
- * First transcode page: choose codecs             *
- ***************************************************/
-wizTranscodeCodecPage::wizTranscodeCodecPage( wxWizard *parent,
-                       wxWizardPage *next) : wxWizardPage(parent)
-{
-    int i;
-
-    p_next = next;
-
-    acodec = NULL;
-    vcodec = NULL;
-    p_parent = (WizardDialog *) parent;
-
-    wxBoxSizer *main_sizer = new wxBoxSizer(wxVERTICAL);
-
-    /* Header */
-    pageHeader( this, main_sizer,  TRANSCODE1_TITLE, TRANSCODE1_TEXT );
-
-    /* Video Box */
-    wxStaticBox *video_box = new wxStaticBox( this, -1, wxU(_("Video")) );
-    wxStaticBoxSizer *video_sizer = new wxStaticBoxSizer( video_box,
-                                                          wxVERTICAL );
-    /* Line 1 : only the checkbox */
-    wxFlexGridSizer *video_sizer1 = new wxFlexGridSizer( 2,3,20 );
-    video_sizer1->Add( new wxCheckBox( this, VideoEnable_Event,
-                       wxU(_("Transcode video") ) ), 0 , wxALIGN_CENTER_VERTICAL|wxALL , 5 );
-    video_sizer1->Add( 0,0,1);
-    /* Line 2 : codec */
-    video_sizer1->Add( new wxStaticText(this, -1, wxU(_("Codec"))),0,wxLEFT ,5);
-    video_combo = new wxComboBox( this, VideoCodec_Event, wxT(""),
-                                  wxDefaultPosition, wxSize(200,25), 0, NULL,
-                                  wxCB_DROPDOWN| wxCB_READONLY );
-    for( i= 0; vcodecs_array[i].psz_display != NULL; i++ )
-    {
-        video_combo->Append( wxU( vcodecs_array[i].psz_display ) ,
-                            (void *)&vcodecs_array[i] );
-    }
-    i_video_codec = 0;
-    video_combo->SetSelection(0);
-
-    video_sizer1->Add( video_combo, 0 , wxALIGN_LEFT , 0 );
-
-    video_sizer1->Add( new wxStaticText(this, -1, wxU(_("Bitrate (kb/s)"))),0,
-                       wxLEFT ,5);
-    vb_combo = new wxComboBox( this, VideoBitrate_Event, wxT("1024"),
-                               wxDefaultPosition, wxDefaultSize,
-                               WXSIZEOF(vbitrates_array), vbitrates_array, wxCB_READONLY );
-    video_sizer1->Add( vb_combo, 0, wxALIGN_LEFT , 0 );
-
-    /* Line 3 : text */
-    video_text = new wxStaticText( this, -1,
-                     wxU( vlc_wraptext( TR_VIDEO_TEXT, TEXTWIDTH ) ) );
-    /* Fill the main video sizer */
-    video_sizer->Add( video_sizer1 , 0, wxEXPAND , 5 );
-    video_sizer->Add( video_text, 0, wxLEFT|wxTOP , 5 );
-
-
-    /* Audio box */
-    wxStaticBox *audio_box = new wxStaticBox( this, -1, wxU(_("Audio")) );
-    wxStaticBoxSizer *audio_sizer = new wxStaticBoxSizer( audio_box,
-                                                          wxVERTICAL );
-    /* Line1: enabler */
-    wxFlexGridSizer *audio_sizer1 = new wxFlexGridSizer( 2,3,20);
-    audio_sizer1->Add( new wxCheckBox( this, AudioEnable_Event,
-                            wxU(_("Transcode audio") ) ), 0 , wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-    audio_sizer1->Add( 0, 0, 1 );
-
-    /* Line 2 : codec */
-    audio_sizer1->Add( new wxStaticText(this, -1, wxU(_("Codec"))),0,wxLEFT,5);
-    audio_combo = new wxComboBox( this, AudioCodec_Event, wxT(""),
-                                  wxDefaultPosition, wxSize(200,25), 0, NULL,
-                                  wxCB_DROPDOWN| wxCB_READONLY );
-    for( i= 0; acodecs_array[i].psz_display != NULL; i++ )
-    {
-        audio_combo->Append( wxU( acodecs_array[i].psz_display ) ,
-                            (void *)&acodecs_array[i] );
-    }
-    i_audio_codec = 0;
-    audio_combo->SetSelection(0);
-    audio_sizer1->Add( audio_combo, 0 , wxALIGN_LEFT, 0 );
-
-    audio_sizer1->Add( new wxStaticText(this, -1, wxU(_("Bitrate (kb/s)"))),0,
-                       wxLEFT ,5);
-    ab_combo = new wxComboBox( this, AudioBitrate_Event, wxT("192"),
-                               wxDefaultPosition, wxDefaultSize,
-                               WXSIZEOF(abitrates_array), abitrates_array, wxCB_READONLY );
-    audio_sizer1->Add( ab_combo, 0, wxALIGN_LEFT, 0 );
-
-    /* Line 3 : text */
-    audio_text = new wxStaticText( this, -1,
-                     wxU( vlc_wraptext( TR_AUDIO_TEXT, TEXTWIDTH ) ) );
-
-    audio_sizer->Add(audio_sizer1, 0, wxEXPAND, 5);
-    audio_sizer->Add( audio_text, 0, wxLEFT | wxTOP, 5 );
-
-    main_sizer->Add( video_sizer, 1, wxGROW, 0 );
-    main_sizer->Add( audio_sizer, 1, wxGROW, 0 );
-    main_sizer->Layout();
-    SetSizerAndFit( main_sizer );
-
-    /* Default disabled */
-    video_combo->Disable(); video_text->Disable();vb_combo->Disable();
-    audio_combo->Disable(); audio_text->Disable();ab_combo->Disable();
-
-}
-
-wizTranscodeCodecPage::~wizTranscodeCodecPage()
-{
-    free( acodec );
-    free( vcodec );
-}
-
-void wizTranscodeCodecPage::OnEnableVideo(wxCommandEvent& event)
-{
-   video_combo->Enable( event.IsChecked() );
-   vb_combo->Enable( event.IsChecked() );
-   video_text->Enable( event.IsChecked() );
-}
-
-void wizTranscodeCodecPage::OnEnableAudio(wxCommandEvent& event)
-{
-   audio_combo->Enable( event.IsChecked() );
-   ab_combo->Enable( event.IsChecked() );
-   audio_text->Enable( event.IsChecked() );
-}
-
-void wizTranscodeCodecPage::OnVideoCodecChange(wxCommandEvent& event)
-{
-    struct codec *c = (struct codec*)
-             (video_combo->GetClientData(video_combo->GetSelection()));
-    video_text->SetLabel( wxU( vlc_wraptext(c->psz_descr, TEXTWIDTH ) ) );
-    i_video_codec = video_combo->GetSelection();
-    vcodec = strdup(c->psz_codec);
-}
-
-void wizTranscodeCodecPage::OnAudioCodecChange(wxCommandEvent& event)
-{
-    struct codec *c = (struct codec*)
-             (audio_combo->GetClientData(audio_combo->GetSelection()));
-    audio_text->SetLabel( wxU( vlc_wraptext(c->psz_descr, TEXTWIDTH ) ) );
-    i_audio_codec = audio_combo->GetSelection();
-    acodec = strdup(c->psz_codec);
-
-}
-
-void wizTranscodeCodecPage::OnWizardPageChanging(wxWizardEvent& event)
-{
-    unsigned int i,j;
-
-    if( !event.GetDirection() )
-    {
-            GetPrev()->Enable();
-            return;
-    }
-
-    /* Set the dummy codec ( accept all muxers ) if needed */
-    if( !video_combo->IsEnabled() )
-    {
-        i_video_codec = VCODECS_NUMBER;
-    }
-    if( !audio_combo->IsEnabled() )
-    {
-        i_audio_codec = ACODECS_NUMBER;
-    }
-
-    ((wizEncapPage *)GetNext())->SetPrev(this);
-
-    for( i = 0 ; i< MUXERS_NUMBER ; i++ )
-    {
-        if( vcodecs_array[i_video_codec].muxers[i] != -1 )
-        {
-            for( j = 0 ; j<  MUXERS_NUMBER ; j++ )
-            {
-                if( acodecs_array[i_audio_codec].muxers[j] ==
-                              vcodecs_array[i_video_codec].muxers[i] )
-                {
-                    ((wizEncapPage*)GetNext())->EnableEncap(
-                               vcodecs_array[i_video_codec].muxers[i] );
-                }
-            }
-        }
-    }
-    struct codec *c = (struct codec*)
-             (video_combo->GetClientData( video_combo->IsEnabled() ?
-                                          video_combo->GetSelection(): i_video_codec ));
-    vcodec = strdup(c->psz_codec);
-    c = (struct codec*)
-           (audio_combo->GetClientData( audio_combo->IsEnabled() ?
-                                       audio_combo->GetSelection() : i_audio_codec ));
-    acodec = strdup(c->psz_codec);
-
-    int vb = atoi(vb_combo->GetValue().mb_str(wxConvUTF8) );
-    if( vb == 0 )
-    {
-         vb = 1024;
-    }
-    int ab = atoi(ab_combo->GetValue().mb_str(wxConvUTF8) );
-    if( ab == 0)
-    {
-        ab = 192;
-    }
-
-    p_parent->SetTranscode( vcodec, vb , acodec, ab );
-    ((wizEncapPage*)GetNext())->SetAction( p_parent->GetAction() );
-    p_parent->SetAction( p_parent->GetAction() );
-
-    return;
-}
-
-wxWizardPage *wizTranscodeCodecPage::GetPrev() const { return p_prev; }
-wxWizardPage *wizTranscodeCodecPage::GetNext() const { return p_next; }
-void wizTranscodeCodecPage::SetPrev( wxWizardPage *page) {p_prev = page; }
-
-
-/***************************************************
- * First streaming page: choose method             *
- ***************************************************/
-wizStreamingMethodPage::wizStreamingMethodPage( intf_thread_t *p_this, wxWizard *parent,
-    wxWizardPage *next) : wxWizardPage(parent), p_intf( p_this )
-{
-    int i;
-    p_next = next;
-    p_parent = (WizardDialog *)parent;
-
-    mainSizer = new wxBoxSizer(wxVERTICAL);
-
-    /* Create the texts */
-    pageHeader( this, mainSizer,  STREAMING1_TITLE, STREAMING1_TEXT );
-
-    mainSizer->Add( 0,50,0 );
-
-    i_method = 0;
-
-    wxStaticBox *method_box = new wxStaticBox( this, -1,
-                                               wxU(_("Streaming method")) );
-    wxStaticBoxSizer *method_sizer = new wxStaticBoxSizer(method_box,
-                                                          wxHORIZONTAL );
-    for( i = 0 ; i< 3 ; i++ )
-    {
-        method_radios[i] = new wxRadioButton( this, MethodRadio0_Event + i,
-                               wxU( methods_array[i].psz_method ) );
-        method_radios[i]->SetToolTip( wxU(_( methods_array[i].psz_descr ) ) );
-        method_sizer->Add( method_radios[i], 0, wxALL, 5 );
-    }
-
-    method_sizer->Layout();
-
-    wxStaticBox *address_box = new wxStaticBox( this, -1,
-                    wxU(_("Destination")) );
-
-    address_sizer = new wxStaticBoxSizer(address_box,
-                                         wxVERTICAL );
-
-    /* Big kludge, we take the longest text to get the size */
-    address_text = new wxStaticText(this, -1,
-               wxU( vlc_wraptext(methods_array[2].psz_address, TEXTWIDTH ) ),
-               wxDefaultPosition, wxDefaultSize );
-
-    address_txtctrl = new wxTextCtrl( this, -1, wxU(""), wxDefaultPosition,
-                                      wxSize(200,25));
-    address_sizer->Add( address_text, 0, wxALL, 5 );
-    address_sizer->Add( address_txtctrl, 0, wxALL, 5 );
-    address_sizer->Layout();
-
-    /* Set the minimum size */
-    address_sizer->SetMinSize( address_sizer->GetSize() );
-    address_text->SetLabel( wxU(
-     vlc_wraptext( _(methods_array[0].psz_address), TEXTWIDTH )));
-
-    mainSizer->Add( method_sizer, 0, wxALL | wxEXPAND, 5 );
-    mainSizer->Add( address_sizer, 0, wxALL | wxEXPAND, 5 );
-
-    mainSizer->Add( 0,0,1 );
-
-    mainSizer->Layout();
-
-    SetSizer(mainSizer);
-    mainSizer->Fit(this);
-
-    return;
-}
-
-void wizStreamingMethodPage::OnWizardPageChanging(wxWizardEvent& event)
-{
-    unsigned int i;
-    if( !event.GetDirection() ) return;
-
-    /* Check valid address */
-    if( i_method == 0 && address_txtctrl->GetValue().IsEmpty() )
-    {
-        wxMessageBox( wxU( NO_ADDRESS_TEXT ) , wxU( ERROR_MSG ),
-                      wxICON_WARNING | wxOK, this->p_parent );
-        event.Veto();
-
-    }
-
-    ((wizEncapPage *)GetNext())->SetPrev(this);
-    for( i = 0 ; i< MUXERS_NUMBER ; i++ )
-    {
-        if( methods_array[i_method].muxers[i] != -1 )
-        {
-            ((wizEncapPage*)GetNext())->EnableEncap(
-                               methods_array[i_method].muxers[i] );
-        }
-    }
-    p_parent->SetStream( methods_array[i_method].psz_access ,
-                         address_txtctrl->GetValue().mb_str(wxConvUTF8) );
-
-    /* Set the action for the muxer page */
-    ((wizEncapPage*)GetNext())->SetAction( p_parent->GetAction() );
-    return;
-}
-
-wxWizardPage *wizStreamingMethodPage::GetPrev() const { return p_prev; }
-wxWizardPage *wizStreamingMethodPage::GetNext() const { return p_next; }
-
-void wizStreamingMethodPage::SetPrev( wxWizardPage *page) {p_prev = page; }
-
-
-void wizStreamingMethodPage::OnMethodChange( wxCommandEvent& event )
-{
-    i_method = event.GetId() - MethodRadio0_Event;
-    address_text->SetLabel( wxU(
-     vlc_wraptext( _(methods_array[i_method].psz_address), TEXTWIDTH )));
-    address_sizer->Layout();
-    mainSizer->Layout();
-}
-
-/***************************************************
- * Choose encapsulation format                     *
- ***************************************************/
-wizEncapPage::wizEncapPage( wxWizard *parent ) : wxWizardPage(parent)
-{
-    int i;
-    i_mux = 0;
-    p_parent = (WizardDialog *)parent;
-    p_streaming_page = NULL;
-    p_transcode_page = NULL;
-    p_prev = NULL;
-    wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
-
-    /* Create the texts */
-    pageHeader( this, mainSizer, ENCAP_TITLE, ENCAP_TEXT );
-
-    mainSizer->Add( 0,0,1 );
-
-    for( i = 0 ; i< MUXERS_NUMBER ; i++ )
-    {
-        encap_radios[i] = new wxRadioButton( this, EncapRadio0_Event + i,
-                               wxU( encaps_array[i].psz_encap ) );
-        encap_radios[i]->SetToolTip( wxU(_( encaps_array[i].psz_descr ) ) );
-        mainSizer->Add( encap_radios[i], 0, wxLEFT, 5 );
-        encap_radios[i]->Disable();
-    }
-
-    mainSizer->Add( 0,0,1 );
-
-    SetSizer(mainSizer);
-    mainSizer->Fit(this);
-}
-
-wizEncapPage::~wizEncapPage()
-{
-}
-
-void wizEncapPage::OnWizardPageChanging(wxWizardEvent& event)
-{
-    int i;
-    if( !event.GetDirection() )
-    {
-        for( i = 0 ; i< MUXERS_NUMBER ; i++ )
-        {
-            encap_radios[i]->Disable();
-        }
-    }
-    p_parent->SetMux( encaps_array[i_mux].psz_mux );
-
-    if( p_parent->GetAction() == ACTION_STREAM )
-    {
-        if( strstr( p_parent->method, "rtp" ))
-        {
-            ((wizStreamingExtraPage *)GetNext())->sap_checkbox->Enable();
-            ((wizStreamingExtraPage *)GetNext())->sap_text->Enable(false);
-        }
-        else
-        {
-           ((wizStreamingExtraPage *)GetNext())->sap_checkbox->Enable( false );
-           ((wizStreamingExtraPage *)GetNext())->sap_text->Enable( false );
-        }
-    }
-
-    return;
-}
-
-
-void wizEncapPage::OnEncapChange( wxCommandEvent& event )
-{
-    i_mux = event.GetId() - EncapRadio0_Event;
-}
-
-void wizEncapPage::EnableEncap( int encap )
-{
-    int i;
-    for( i = 0 ; i< MUXERS_NUMBER ; i++)
-    {
-        if( encaps_array[i].id == encap )
-        {
-            encap_radios[i]->Enable();
-            encap_radios[i]->SetValue(true);
-            i_mux = i;
-        }
-    }
-}
-
-void wizEncapPage::SetStreamingPage( wxWizardPage *page)
-{
-    p_streaming_page = page;
-}
-
-void wizEncapPage::SetTranscodePage( wxWizardPage *page)
-{
-    p_transcode_page = page;
-}
-
-wxWizardPage *wizEncapPage::GetPrev() const { return p_prev; }
-
-wxWizardPage *wizEncapPage::GetNext() const
-{
-    if( i_action== ACTION_STREAM )
-        return p_streaming_page;
-    else
-       return p_transcode_page;
-}
-
-void wizEncapPage::SetAction( int i_act  ) { i_action = i_act; }
-
-void wizEncapPage::SetPrev( wxWizardPage *page) { p_prev = page; }
-
-/***************************************************
- * Extra transcoding page : Select file            *
- ***************************************************/
-wizTranscodeExtraPage::wizTranscodeExtraPage( wxWizard *parent,
-                       wxWizardPage *prev,
-                       wxWizardPage *next) : wxWizardPage(parent)
-{
-    p_next = next;
-    p_prev = prev;
-    p_parent = (WizardDialog *) parent;
-    wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
-
-    /* Create the texts */
-    pageHeader( this, mainSizer, EXTRATRANSCODE_TITLE, EXTRATRANSCODE_TEXT );
-
-    mainSizer->Add( 0, 0, 1 );
-
-    wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 2, 1 );
-    sizer->Add( new wxStaticText( this, -1,
-                    wxU(_("Select the file to save to") ) ),
-                    0, wxALL, 5 );
-    sizer->Add( 0, 0, 1 );
-
-    file_text = new wxTextCtrl( this, -1, wxU(""), wxDefaultPosition,
-                                wxSize( 150, -1 ) );
-
-    sizer->Add( file_text, 0,  wxALL, 5 );
-    sizer->Add( new wxButton( this, Open_Event, wxU("Choose") ) );
-
-    mainSizer->Add( sizer, 0, 0, 0) ;
-
-    mainSizer->Add( 0, 0, 1 );
-    SetSizer(mainSizer);
-    mainSizer->Fit(this);
-}
-
-void wizTranscodeExtraPage::OnSelectFile( wxCommandEvent &event)
-{
-    wxFileDialog *file_dialog =  new wxFileDialog( this, wxU(_("Save to file")),
-                   wxT(""), wxT(""), wxT("*"), wxSAVE );
-
-    if( file_dialog && file_dialog->ShowModal() == wxID_OK )
-    {
-        if( file_dialog->GetFilename().mb_str(wxConvUTF8) )
-        {
-            file_text->SetValue( file_dialog->GetPath() );
-        }
-    }
-}
-
-void wizTranscodeExtraPage::OnWizardPageChanging( wxWizardEvent& event )
-{
-    if( event.GetDirection() && file_text->GetValue().IsEmpty() )
-    {
-        wxMessageBox( wxU( CHOOSE_OUTFILE ), wxU( ERROR_MSG ),
-                      wxICON_WARNING | wxOK, this->p_parent );
-        event.Veto();
-    }
-    if( event.GetDirection() )
-    {
-       p_parent->SetTranscodeOut( file_text->GetValue() );
-    }
-}
-
-wxWizardPage *wizTranscodeExtraPage::GetPrev() const { return p_prev; }
-wxWizardPage *wizTranscodeExtraPage::GetNext() const {return p_next; }
-
-/***********************************************************
- *  Extra streaming page
- ***********************************************************/
-wizStreamingExtraPage::wizStreamingExtraPage( wxWizard *parent,
-                       wxWizardPage *prev,
-                       wxWizardPage *next) : wxWizardPage(parent)
-{
-    p_next = next;
-    p_prev = prev;
-    p_parent = (WizardDialog *) parent;
-    wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
-
-    /* Create the texts */
-    pageHeader( this, mainSizer, EXTRASTREAMING_TITLE, EXTRASTREAMING_TEXT );
-
-    mainSizer->Add( 0, 0, 1 );
-
-    wxFlexGridSizer *sizer = new wxFlexGridSizer( 2,2,1) ;
-
-    /* TTL */
-    sizer->Add( new wxStaticText( this, -1, wxU(_("Time-To-Live (TTL)"))),
-                    0, wxALL,  5 );
-    ttl_spin = new wxSpinCtrl( this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize,
-                    0, 1, 255, 1 );
-    ttl_spin->SetToolTip(wxU(_(TTL) ) ) ;
-    sizer->Add( ttl_spin, 0, wxALL , 5 );
-
-    /* SAP announce */
-    sap_checkbox =  new wxCheckBox( this, SAP_Event, wxU(_("SAP Announce")) );
-    sap_checkbox->SetToolTip( wxU(_( SAP ) ) );
-    sizer->Add( sap_checkbox, 0, 0 , 0 );
-    sap_text = new wxTextCtrl( this, -1, wxU(""), wxDefaultPosition,
-                    wxSize(100,25) );
-    sap_text->SetToolTip( wxU(_( SAP ) ) );
-    sizer->Add( sap_text, 0, wxALL , 5 );
-
-    mainSizer->Add(sizer, 0, wxALL, 5 );
-
-    mainSizer->Add( 0, 0, 1 );
-
-    SetSizer(mainSizer);
-    mainSizer->Fit(this);
-}
-
-void wizStreamingExtraPage::OnSAP( wxCommandEvent &event )
-{
-    sap_text->Enable( event.IsChecked() );
-}
-
-void wizStreamingExtraPage::OnWizardPageChanging(wxWizardEvent& event)
-{
-    if( sap_checkbox->IsChecked() )
-    {
-        if( sap_text->GetValue().IsEmpty() )
-        {
-            p_parent->SetSAP( true, NULL );
-        }
-        else
-        {
-            p_parent->SetSAP( true,
-                             (const char *)sap_text->GetValue().mb_str(wxConvUTF8) );
-        }
-    }
-    else
-    {
-        p_parent->SetSAP( false, NULL );
-    }
-
-    p_parent->SetTTL( ttl_spin->GetValue() );
-}
-
-wxWizardPage *wizStreamingExtraPage::GetPrev() const { return p_prev; }
-wxWizardPage *wizStreamingExtraPage::GetNext() const {return p_next; }
-
-
-/***************************************************************************
- * Implementation of the wizard itself
- ***************************************************************************/
-wizHelloPage *page1;
-wizInputPage *page2 ;
-wizTranscodeCodecPage *tr_page1 ;
-wizStreamingMethodPage *st_page1;
-wizTranscodeExtraPage *tr_page2 ;
-wizStreamingExtraPage *st_page2;
-wizEncapPage *encap_page;
-
-WizardDialog::WizardDialog(intf_thread_t *_p_intf, wxWindow *_p_parent,
-                           char *psz_uri, int _i_from, int _i_to  ) :
-wxWizard( _p_parent, -1, wxU(_("Streaming/Transcoding Wizard")), wxNullBitmap, wxDefaultPosition)
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    SetPageSize(wxSize(400,420));
-
-    /* Initialize structure */
-    i_action = 0;
-    i_from = _i_from;
-    i_to = _i_to;
-    i_ttl = 1;
-    vb = 0;
-    ab = 0;
-    acodec=NULL;
-    vcodec=NULL;
-
-    page1 = new wizHelloPage(this);
-    page2 = new wizInputPage(this, page1, p_intf);
-
-    if( psz_uri )
-    {
-        page2->SetUri( psz_uri );
-    }
-    if( i_from != 0 || i_to != 0 )
-    {
-        page2->SetPartial( i_from, i_to );
-    }
-
-    encap_page = new wizEncapPage(this );
-    tr_page1 = new wizTranscodeCodecPage(this, encap_page );
-    st_page1 = new wizStreamingMethodPage( p_intf, this, encap_page);
-
-    tr_page2 = new wizTranscodeExtraPage(this, encap_page, NULL );
-    st_page2 = new wizStreamingExtraPage(this, encap_page, NULL );
-
-    /* Page 1 -> 2 */
-    page1->SetNext( page2 );
-    /* 2->1 in constructor of 2 */
-
-    /* Page 2 -> 3 */
-    page2->SetTranscodePage(tr_page1);
-    page2->SetStreamingPage(st_page1);
-    page2->SetPintf( p_intf );
-    tr_page1->SetPrev(page2);
-    st_page1->SetPrev(page2);
-
-    /* Page 3 -> 4 */
-    encap_page->SetTranscodePage( tr_page2 );
-    encap_page->SetStreamingPage( st_page2 );
-    /* 3->4 in constructor of 3 */
-//    encap_page->SetPrev(tr_page1);
-}
-
-WizardDialog::~WizardDialog()
-{
-    Destroy();
-    delete page1;
-    delete page2;
-    delete tr_page1;
-    delete st_page1 ;
-    delete st_page2;
-    delete tr_page2;
-    delete encap_page;
-}
-
-void WizardDialog::SetMrl( const char *mrl )
-{
-    this->mrl = strdup( mrl );
-}
-
-void WizardDialog::SetTTL( int i_ttl )
-{
-    this->i_ttl = i_ttl;
-}
-
-void WizardDialog::SetSAP( bool b_enabled, const char *psz_text )
-{
-    this->b_sap = b_enabled;
-    if( b_enabled )
-    {
-        if( psz_text != NULL )
-        {
-            this->psz_sap_name = strdup( psz_text );
-        }
-        else
-        {
-            this->psz_sap_name = NULL;
-        }
-    }
-}
-
-void WizardDialog::SetPartial( int i_from, int i_to )
-{
-    this->i_from = i_from;
-    this->i_to = i_to;
-}
-
-void WizardDialog::SetTranscode( char const *vcodec, int vb,
-                                 char const *acodec, int ab)
-{
-    if( strcmp( vcodec, "dummy") )
-    {
-        this->vcodec= strdup(vcodec);
-    }
-    if( strcmp( acodec, "dummy" ) )
-    {
-        this->acodec = strdup(acodec);
-    }
-    this->vb = vb;
-    this->ab = ab;
-}
-
-void WizardDialog::SetStream( char const *method, char const *address )
-{
-    this->method = strdup( method );
-    this->address = strdup( address );
-}
-
-void WizardDialog::SetTranscodeOut( wxString address )
-{
-    char *psz_utf8 = wxFromLocale( address );
-    this->address = strdup( psz_utf8 );
-    wxLocaleFree( psz_utf8 );
-}
-
-void WizardDialog::SetMux( char const *mux )
-{
-    this->mux = strdup( mux );
-}
-
-void WizardDialog::SetAction( int i_action )
-{
-    this->i_action = i_action;
-}
-
-int WizardDialog::GetAction()
-{
-    return i_action;
-}
-
-void WizardDialog::Run()
-{
-    if( RunWizard(page1) )
-    {
-        char *psz_opt;
-
-        if( i_action == ACTION_TRANSCODE )
-        {
-            msg_Dbg( p_intf,"starting transcode of %s to file %s",
-                                  mrl, address);
-            msg_Dbg( p_intf,"using %s (%i kbps) / %s (%i kbps),encap %s",
-                                vcodec,vb,acodec,ab,mux);
-            char *psz_transcode;
-
-            if( vcodec != NULL || acodec != NULL )
-            {
-                int i_tr_size = 14;
-                if( vcodec != NULL )
-                    i_tr_size += strlen( vcodec ) + 17;
-                if( acodec != NULL )
-                    i_tr_size += strlen( acodec ) + 17;
-
-                if( vb > 999999 )
-                    vb = 999999;
-                else if( vb < 0 )
-                    vb = 0;
-
-                if( ab > 999999 )
-                    ab = 999999;
-                else if( ab < 0 )
-                    ab = 0;
-
-                psz_transcode = (char *)malloc( i_tr_size );
-
-                strcpy( psz_transcode, "transcode{" );
-                if( vcodec != NULL )
-                {
-                    sprintf( psz_transcode + strlen( psz_transcode ),
-                             "vcodec=%s,vb=%i%s", vcodec, vb,
-                             ( acodec != NULL ) ? "," : "}:" );
-                }
-                if( acodec != NULL )
-                {
-                    sprintf( psz_transcode + strlen( psz_transcode ),
-                             "acodec=%s,ab=%i}:", acodec, ab );
-                }
-            }
-            else
-                psz_transcode = "";
-
-            asprintf( &psz_opt, ":sout=#%sstandard{mux=%s,dst=%s,"
-                      "access=file}", psz_transcode, mux, address );
-
-            if( *psz_transcode )
-                free( psz_transcode );
-        }
-        else
-        {
-            char *psz_sap_option = NULL;
-            bool v6;
-
-            msg_Dbg( p_intf, "starting stream of %s to %s using %s, encap %s",
-                               mrl, address, method, mux );
-            if( b_sap )
-            {
-                if( psz_sap_name )
-                {
-                    asprintf( &psz_sap_option,
-                              ",sap,name=\"%s\"", psz_sap_name );
-                }
-                else
-                    psz_sap_option = strdup( ",sap" );
-
-            }
-
-            /* Add brackets automatically for IPv6 if they are missing */
-            v6 = ( address[0] != '[' ) && ( strchr( address, ':' ) != NULL );
-            asprintf( &psz_opt,
-                      ":sout=#%smux=%s,dst=%s%s%s%s}", method,
-                      mux, v6 ? "[" : "", address, v6 ? "]" : "",
-                      psz_sap_option ?: "" );
-            free( psz_sap_option );
-        }
-
-        playlist_t *p_playlist = pl_Hold( p_intf );
-        if( p_playlist )
-        {
-            input_item_t *p_input = input_item_New( p_playlist, mrl,
-                                                   ITEM_NAME );
-            input_item_AddOption( p_input, psz_opt, VLC_INPUT_OPTION_TRUSTED );
-            if( i_from != 0)
-            {
-                char psz_from[20];
-                snprintf( psz_from, 20, "start-time=%i", i_from);
-                input_item_AddOption( p_input, psz_from, VLC_INPUT_OPTION_TRUSTED );
-            }
-            if( i_to != 0)
-            {
-                char psz_to[20];
-                snprintf( psz_to, 20, "stop-time=%i", i_to);
-                input_item_AddOption( p_input, psz_to, VLC_INPUT_OPTION_TRUSTED );
-            }
-
-            char psz_ttl[20];
-            snprintf( psz_ttl, 20, "ttl=%i",i_ttl );
-            input_item_AddOption( p_input, psz_ttl, VLC_INPUT_OPTION_TRUSTED );
-
-            /* FIXME: playlist_AddInput() can fail */
-            playlist_AddInput( p_playlist, p_input,
-                               PLAYLIST_GO, PLAYLIST_END, true, pl_Unlocked );
-            vlc_gc_decref( p_input );
-            pl_Release( p_intf );
-        }
-        else
-        {
-            wxMessageBox( wxU( NO_PLAYLIST ), wxU( ERROR_MSG ),
-                          wxICON_WARNING | wxOK, this );
-        }
-    }
-}
diff --git a/modules/gui/wxwidgets/dialogs/wizard.hpp b/modules/gui/wxwidgets/dialogs/wizard.hpp
deleted file mode 100644 (file)
index 845011b..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*****************************************************************************
- * wizard.hpp: Stream wizard headers
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_WIZARD_H_
-#define _WXVLC_WIZARD_H_
-
-#include "wxwidgets.hpp"
-#include <wx/wizard.h>
-
-namespace wxvlc
-{
-    /* Wizard */
-    class WizardDialog : public wxWizard
-    {
-    public:
-        /* Constructor */
-        WizardDialog( intf_thread_t *, wxWindow *p_parent, char *, int, int );
-        virtual ~WizardDialog();
-        void SetTranscode( char const *vcodec, int vb, char const *acodec,
-                            int ab);
-        void SetMrl( const char *mrl );
-        void SetTTL( int i_ttl );
-        void SetPartial( int, int );
-        void SetStream( char const *method, char const *address );
-        void SetTranscodeOut( wxString address );
-        void SetAction( int i_action );
-        int  GetAction();
-        void SetSAP( bool b_enabled, const char *psz_name );
-        void SetMux( char const *mux );
-        void Run();
-        int i_action;
-        char *method;
-
-    protected:
-        int vb,ab;
-        int i_from, i_to, i_ttl;
-        char *vcodec , *acodec , *address , *mrl , *mux ;
-        char *psz_sap_name;
-        bool b_sap;
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/extrapanel.cpp b/modules/gui/wxwidgets/extrapanel.cpp
deleted file mode 100644 (file)
index 9982f5f..0000000
+++ /dev/null
@@ -1,1304 +0,0 @@
-/*****************************************************************************
- * extrapanel.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004, 2003 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <vlc_common.h>
-#include <vlc_aout.h>
-#include <vlc_vout.h>
-#include <vlc_interface.h>
-
-#include <math.h>
-
-#include "extrapanel.hpp"
-
-/*****************************************************************************
- * Local class declarations.
- *****************************************************************************/
-
-#define SMOOTH_TIP N_( "Controls the blending of equalizer bands. The higher" \
-            " this value is, the more correlated their movement will be." )
-
-static int IntfBandsCallback( vlc_object_t *, char const *,
-                              vlc_value_t, vlc_value_t, void * );
-static int IntfPreampCallback( vlc_object_t *, char const *,
-                               vlc_value_t, vlc_value_t, void * );
-static void ChangeFiltersString( intf_thread_t *, aout_instance_t *,
-                                 char *, bool );
-static void ChangeVFiltersString( intf_thread_t *, char *, bool );
-static void ChangeVFilters2String( intf_thread_t *, char *, bool );
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    Notebook_Event,
-
-    Adjust_Event,
-    RestoreDefaults_Event,
-
-    Hue_Event,
-    Contrast_Event,
-    Brightness_Event,
-    Saturation_Event,
-    Gamma_Event,
-    Ratio_Event,
-
-    FiltersInfo_Event,
-
-    Filter0_Event, Filter1_Event, Filter2_Event, Filter3_Event, Filter4_Event,
-    Filter5_Event, Filter6_Event, Filter7_Event, Filter8_Event, Filter9_Event,
-
-    EqEnable_Event,
-    Eq2Pass_Event,
-    EqRestore_Event,
-
-    Smooth_Event,
-
-    Preamp_Event,
-
-    Band0_Event,Band1_Event,Band2_Event,Band3_Event,Band4_Event,
-    Band5_Event,Band6_Event,Band7_Event,Band8_Event,Band9_Event,
-
-    NormVol_Event, NVSlider_Event, HeadPhone_Event
-};
-
-BEGIN_EVENT_TABLE( ExtraPanel, wxPanel )
-    EVT_IDLE( ExtraPanel::OnIdle )
-
-    /* Equalizer */
-    EVT_CHECKBOX( EqEnable_Event, ExtraPanel::OnEnableEqualizer )
-    EVT_CHECKBOX( Eq2Pass_Event, ExtraPanel::OnEq2Pass )
-    EVT_BUTTON( EqRestore_Event, ExtraPanel::OnEqRestore )
-
-    EVT_COMMAND_SCROLL( Preamp_Event, ExtraPanel::OnPreamp )
-    EVT_COMMAND_SCROLL( Smooth_Event, ExtraPanel::OnEqSmooth )
-
-    EVT_COMMAND_SCROLL(Band0_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band1_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band2_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band3_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band4_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band5_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band6_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band7_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band8_Event, ExtraPanel::OnChangeEqualizer)
-    EVT_COMMAND_SCROLL(Band9_Event, ExtraPanel::OnChangeEqualizer)
-
-    /* Video */
-    EVT_CHECKBOX( Adjust_Event, ExtraPanel::OnEnableAdjust )
-    EVT_BUTTON( RestoreDefaults_Event, ExtraPanel::OnRestoreDefaults )
-
-    EVT_COMMAND_SCROLL(Hue_Event, ExtraPanel::OnAdjustUpdate)
-    EVT_COMMAND_SCROLL(Contrast_Event, ExtraPanel::OnAdjustUpdate)
-    EVT_COMMAND_SCROLL(Brightness_Event, ExtraPanel::OnAdjustUpdate)
-    EVT_COMMAND_SCROLL(Saturation_Event, ExtraPanel::OnAdjustUpdate)
-    EVT_COMMAND_SCROLL(Gamma_Event, ExtraPanel::OnAdjustUpdate)
-
-    EVT_BUTTON( FiltersInfo_Event, ExtraPanel::OnFiltersInfo )
-
-    EVT_CHECKBOX( Filter0_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter1_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter2_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter3_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter4_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter5_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter6_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter7_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter8_Event, ExtraPanel::OnSelectFilter )
-    EVT_CHECKBOX( Filter9_Event, ExtraPanel::OnSelectFilter )
-
-    /* Audio */
-    EVT_CHECKBOX( NormVol_Event, ExtraPanel::OnNormvol )
-    EVT_CHECKBOX( HeadPhone_Event, ExtraPanel::OnHeadphone )
-
-    EVT_COMMAND_SCROLL( NVSlider_Event, ExtraPanel::OnNormvolSlider )
-
-END_EVENT_TABLE()
-
-struct filter {
-    char *psz_filter;
-    char *psz_name;
-    char *psz_help;
-    bool  b_vfilter2;
-};
-
-static const struct filter vfilters[] =
-{
-    { "clone", N_("Image clone"), N_("Creates several clones of the image"), false },
-    { "gradient", N_("Cartoon effect"), N_("Gradient effects (cartoon) on the image"), true },
-    { "invert", N_("Image inversion") , N_("Inverts the colors of the image"), true },
-    { "motionblur", N_("Blurring"), N_("Adds motion blurring to the image"), true },
-    { "ripple", N_("Water effect"), N_("Adds water effect to the image"), true },
-    { "wave", N_("Wave effect"), N_("Adds wave effect to the image"), true },
-    { "transform",  N_("Transformation"), N_("Rotates or flips the image"), false },
-    { "magnify",  N_("Magnify"), N_("Magnifies part of the image"), false },
-    { "puzzle",  N_("Puzzle"), N_("Turns the image into a puzzle"), false },
-    { NULL, NULL, NULL } /* Do not remove this line */
-};
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-ExtraPanel::ExtraPanel( intf_thread_t *_p_intf, wxWindow *_p_parent ):
-        wxPanel( _p_parent , -1, wxDefaultPosition, wxDefaultSize )
-{
-
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    SetAutoLayout( TRUE );
-
-    wxBoxSizer *extra_sizer = new wxBoxSizer( wxHORIZONTAL );
-
-    notebook = new wxNotebook( this, Notebook_Event );
-
-#if (!wxCHECK_VERSION(2,5,2))
-    wxNotebookSizer *notebook_sizer = new wxNotebookSizer( notebook );
-#endif
-
-    notebook->AddPage( VideoPanel( notebook ), wxU(_("Video")) );
-    notebook->AddPage( EqzPanel( notebook ), wxU(_("Equalizer")) );
-    notebook->AddPage( AudioPanel( notebook ), wxU(_("Audio")) );
-
-#if (!wxCHECK_VERSION(2,5,2))
-    extra_sizer->Add( notebook_sizer, 1, wxEXPAND, 0 );
-#else
-    extra_sizer->Add( notebook, 1, wxEXPAND, 0 );
-#endif
-
-    SetSizerAndFit( extra_sizer );
-    extra_sizer->Layout();
-}
-
-ExtraPanel::~ExtraPanel()
-{
-}
-
-/* Video Panel constructor */
-wxPanel *ExtraPanel::VideoPanel( wxWindow *parent )
-{
-    char *psz_filters;
-
-    wxPanel *panel = new wxPanel( parent, -1 );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxHORIZONTAL );
-
-    /* Create static box to surround the adjust controls */
-    wxStaticBox *adjust_box =
-           new wxStaticBox( panel, -1, wxU(_("Image adjustment" )) );
-    wxStaticBoxSizer *adjust_sizer =
-        new wxStaticBoxSizer( adjust_box, wxVERTICAL );
-    adjust_sizer->SetMinSize( -1, 50 );
-
-    /* Create flex grid */
-    wxFlexGridSizer *adjust_gridsizer =
-        new wxFlexGridSizer( 6, 2, 0, 0);
-    adjust_gridsizer->AddGrowableCol(1);
-
-    /* Create the adjust button */
-    wxCheckBox * adjust_check = new wxCheckBox( panel, Adjust_Event,
-                                                 wxU(_("Enable")));
-
-    /* Create the restore to defaults button */
-    restoredefaults_button =
-        new wxButton( panel, RestoreDefaults_Event,
-        wxU(_("Restore Defaults")), wxDefaultPosition);
-
-    wxStaticText *hue_text = new wxStaticText( panel, -1,
-                                       wxU(_("Hue")) );
-    hue_slider = new wxSlider ( panel, Hue_Event, 0, 0,
-                                360, wxDefaultPosition, wxDefaultSize );
-
-    wxStaticText *contrast_text = new wxStaticText( panel, -1,
-                                       wxU(_("Contrast")) );
-    contrast_slider = new wxSlider ( panel, Contrast_Event, 0, 0,
-                                200, wxDefaultPosition, wxDefaultSize);
-
-    wxStaticText *brightness_text = new wxStaticText( panel, -1,
-                                       wxU(_("Brightness")) );
-    brightness_slider = new wxSlider ( panel, Brightness_Event, 0, 0,
-                           200, wxDefaultPosition, wxDefaultSize) ;
-
-    wxStaticText *saturation_text = new wxStaticText( panel, -1,
-                                          wxU(_("Saturation")) );
-    saturation_slider = new wxSlider ( panel, Saturation_Event, 0, 0,
-                           300, wxDefaultPosition, wxDefaultSize );
-
-    wxStaticText *gamma_text = new wxStaticText( panel, -1,
-                                          wxU(_("Gamma")) );
-    gamma_slider = new wxSlider ( panel, Gamma_Event, 0, 0,
-                           100, wxDefaultPosition, wxDefaultSize );
-
-    adjust_gridsizer->Add( adjust_check, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( restoredefaults_button, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( hue_text, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( hue_slider, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( contrast_text, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( contrast_slider, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( brightness_text, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( brightness_slider, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( saturation_text, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( saturation_slider, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( gamma_text, 1, wxEXPAND|wxALL, 2 );
-    adjust_gridsizer->Add( gamma_slider, 1, wxEXPAND|wxALL, 2 );
-
-    adjust_sizer->Add( adjust_gridsizer, 1, wxEXPAND|wxALL, 2);
-
-    panel_sizer->Add( adjust_sizer , 1, wxTOP, 2 );
-
-#if 0
-    /* Create sizer to surround the other controls */
-    wxBoxSizer *other_sizer = new wxBoxSizer( wxVERTICAL );
-
-    wxStaticBox *video_box =
-            new wxStaticBox( panel, -1, wxU(_("Video Options")) );
-    /* Create the sizer for the frame */
-    wxStaticBoxSizer *video_sizer =
-       new wxStaticBoxSizer( video_box, wxVERTICAL );
-    video_sizer->SetMinSize( -1, 50 );
-
-    static const wxString ratio_array[] =
-    {
-        wxT("4:3"),
-        wxT("16:9"),
-    };
-
-    wxBoxSizer *ratio_sizer = new wxBoxSizer( wxHORIZONTAL );
-    wxStaticText *ratio_text = new wxStaticText( panel, -1,
-                                          wxU(_("Aspect Ratio")) );
-
-    ratio_combo = new wxComboBox( panel, Ratio_Event, wxT(""),
-                                  wxDefaultPosition, wxSize( 80 , -1),
-                                  WXSIZEOF(ratio_array), ratio_array,
-                                  0 );
-
-    ratio_sizer->Add( ratio_text, 0, wxALL, 2 );
-    ratio_sizer->Add( ratio_combo, 0, wxALL, 2 );
-    ratio_sizer->Layout();
-
-    video_sizer->Add( ratio_sizer  , 0 , wxALL , 2 );
-    video_sizer->Layout();
-#endif
-
-    wxStaticBox *filter_box =
-                  new wxStaticBox( panel, -1, wxU(_("Video filters")) );
-    wxStaticBoxSizer *filter_sizer =
-                   new wxStaticBoxSizer( filter_box, wxHORIZONTAL );
-
-    wxBoxSizer *t_col_sizer = new wxBoxSizer( wxVERTICAL );
-
-
-    for( int i = 0 ; vfilters[i].psz_filter != NULL ; i++ )
-    {
-        wxCheckBox *box = new wxCheckBox( panel, Filter0_Event + i,
-                                          wxU( _( vfilters[i].psz_name ) ) );
-        t_col_sizer->Add( box, 0, wxALL, 2 );
-        box->SetToolTip( wxU( _( vfilters[i].psz_help ) ) );
-    }
-
-    filter_sizer->Add( t_col_sizer );
-    filter_sizer->Add( new wxButton( panel, FiltersInfo_Event,
-                            wxU(_("More Info" ) ) ), 0, wxALL, 4 );
-#if 0
-    other_sizer->Add( video_sizer, 0, wxALL | wxEXPAND , 0);
-    other_sizer->Add( filter_sizer, 0, wxALL | wxEXPAND , 0);
-    other_sizer->Layout();
-    panel_sizer->Add(other_sizer , 1 );
-#endif
-
-    panel_sizer->Add( filter_sizer, 1, wxTOP|wxLEFT, 2 );
-
-    panel->SetSizerAndFit( panel_sizer );
-
-    /* Layout the whole panel */
-    panel_sizer->Layout();
-
-    panel_sizer->SetSizeHints( panel );
-
-    /* Write down initial values */
-    psz_filters = config_GetPsz( p_intf, "vout-filter" );
-    if( psz_filters && strstr( psz_filters, "adjust" ) )
-    {
-        adjust_check->SetValue( 1 );
-        restoredefaults_button->Enable();
-        saturation_slider->Enable();
-        contrast_slider->Enable();
-        brightness_slider->Enable();
-        hue_slider->Enable();
-        gamma_slider->Enable();
-    }
-    else
-    {
-        adjust_check->SetValue( 0 );
-        restoredefaults_button->Disable();
-        saturation_slider->Disable();
-        contrast_slider->Disable();
-        brightness_slider->Disable();
-        hue_slider->Disable();
-        gamma_slider->Disable();
-    }
-    free( psz_filters );
-
-    int i_value = config_GetInt( p_intf, "hue" );
-    if( i_value > 0 && i_value < 360 )
-        hue_slider->SetValue( i_value );
-    float f_value;
-    f_value = config_GetFloat( p_intf, "saturation" );
-    if( f_value > 0 && f_value < 5 )
-        saturation_slider->SetValue( (int)(100 * f_value) );
-    f_value = config_GetFloat( p_intf, "contrast" );
-    if( f_value > 0 && f_value < 4 )
-        contrast_slider->SetValue( (int)(100 * f_value) );
-    f_value = config_GetFloat( p_intf, "brightness" );
-    if( f_value > 0 && f_value < 2 )
-        brightness_slider->SetValue( (int)(100 * f_value) );
-    f_value = config_GetFloat( p_intf, "gamma" );
-    if( f_value > 0 && f_value < 10 )
-        gamma_slider->SetValue( (int)(10 * f_value) );
-
-    b_update = false;
-
-    return panel;
-}
-
-/* Audio panel constructor */
-wxPanel *ExtraPanel::AudioPanel( wxWindow *parent )
-{
-    char *psz_filters;
-
-    wxPanel *panel = new wxPanel( parent, -1 );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxHORIZONTAL );
-
-    /* Create static box to surround the adjust controls */
-    wxStaticBox *filter_box =
-           new wxStaticBox( panel, -1, wxU(_("Audio filters")) );
-    wxStaticBoxSizer *filter_sizer =
-        new wxStaticBoxSizer( filter_box, wxVERTICAL );
-    filter_sizer->SetMinSize( -1, 50 );
-
-    wxCheckBox * headphone_check = new wxCheckBox( panel, HeadPhone_Event,
-                                    wxU(_("Headphone virtualization")));
-    headphone_check->SetToolTip( wxU(_("Imitates the effect of "
-             "surround sound when using headphones." ) ) );
-
-    wxCheckBox * normvol_check = new wxCheckBox( panel, NormVol_Event,
-                                    wxU(_("Volume normalization")));
-    normvol_check->SetToolTip( wxU(_("Prevents the audio output "
-                         "level from going over a predefined value." ) ) );
-
-    wxStaticText *normvol_label = new wxStaticText( panel, -1,
-                                   wxU( _("Maximum level") ) );
-
-    wxSlider *normvol_slider = new wxSlider ( panel, NVSlider_Event, 20, 5,
-                           100, wxDefaultPosition, wxSize( 100, -1 ) );
-
-    filter_sizer->Add( headphone_check, 0, wxALL, 4 );
-    filter_sizer->Add( normvol_check, 0, wxALL, 4 );
-    filter_sizer->Add( normvol_label, 0, wxALL, 4 );
-    filter_sizer->Add( normvol_slider, 0, wxALL, 4 );
-
-    panel_sizer->Add( filter_sizer, 1, wxTOP, 2 );
-    panel->SetSizerAndFit( panel_sizer );
-    panel_sizer->Layout();
-    panel_sizer->SetSizeHints( panel );
-
-    /* Write down initial values */
-    psz_filters = config_GetPsz( p_intf, "audio-filter" );
-    if( psz_filters )
-    {
-        headphone_check->SetValue( strstr( psz_filters, "headphone" ) );
-        normvol_check->SetValue( strstr( psz_filters, "normvol" ) );
-        free( psz_filters );
-    }
-    else
-    {
-        headphone_check->SetValue( 0 );
-        normvol_check->SetValue( 0 );
-    }
-
-    return panel;
-}
-
-
-static const wxString band_frequencies[] =
-{
-    wxT(" 60 Hz"),
-    wxT("170 Hz"),
-    wxT("310 Hz"),
-    wxT("600 Hz"),
-    wxT(" 1 kHz"),
-    wxT(" 3 kHz"),
-    wxT(" 6 kHz"),
-    wxT("12 kHz"),
-    wxT("14 kHz"),
-    wxT("16 kHz")
-};
-
-/* Equalizer Panel constructor */
-wxPanel *ExtraPanel::EqzPanel( wxWindow *parent )
-{
-    wxPanel *panel = new wxPanel( parent, -1 );
-    wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
-
-    /* Create static box to surround the adjust controls */
-    wxBoxSizer *top_sizer =
-        new wxBoxSizer( wxHORIZONTAL );
-
-    /* Create the enable button */
-    eq_chkbox =  new wxCheckBox( panel, EqEnable_Event,
-                            wxU(_("Enable") ) );
-    eq_chkbox->SetToolTip( wxU(_("Enable the equalizer. You can either "
-    "manually adjust the bands or use a preset (Audio Menu->Equalizer)." ) ) );
-    top_sizer->Add( eq_chkbox, 0, wxALL, 2 );
-
-    eq_2p_chkbox =  new wxCheckBox( panel, Eq2Pass_Event,
-                            wxU(_("2 Pass") ) );
-
-    eq_2p_chkbox->SetToolTip( wxU(_("Apply the equalizer twice. "
-               "The resulting effect will be sharper.") ) );
-
-    top_sizer->Add( eq_2p_chkbox, 0, wxALL, 2 );
-
-    top_sizer->Add( 0, 0, 1, wxALL, 2 );
-
-    eq_restoredefaults_button = new wxButton( panel, EqRestore_Event,
-                                  wxU( _("Restore Defaults") ) );
-    top_sizer->Add( eq_restoredefaults_button, 0, wxALL, 2 );
-    top_sizer->Add( 0, 0, 1, wxALL, 2 );
-
-    smooth_text = new wxStaticText( panel, -1, wxU( _("Smooth :") ));
-    smooth_text->SetToolTip( wxU( _(SMOOTH_TIP) ) );
-    top_sizer->Add( smooth_text, 0, wxALL, 2 );
-
-    smooth_slider =new wxSlider( panel, Smooth_Event, 0, 0, 10 ,
-                    wxDefaultPosition, wxSize( 100, -1 ) );
-    smooth_slider->SetToolTip( wxU( _(SMOOTH_TIP) ) );
-    top_sizer->Add( smooth_slider, 0, wxALL, 2 );
-    i_smooth = 0;
-
-    /* Create flex grid */
-    wxFlexGridSizer *eq_gridsizer =
-        new wxFlexGridSizer( 2, 12, 0, 0);
-    eq_gridsizer->AddGrowableRow( 0 );
-    eq_gridsizer->AddGrowableCol( 1 );
-
-    preamp_slider = new wxSlider( panel, Preamp_Event, 80, 0, 400,
-                    wxDefaultPosition, wxSize( -1 , 90 ) , wxSL_VERTICAL );
-    eq_gridsizer->Add( preamp_slider, 1, wxEXPAND|wxALL, 2 );
-
-    eq_gridsizer->Add( 0, 0, 1, wxALL, 2 );
-
-    for( int i = 0 ; i < 10 ; i++ )
-    {
-        band_sliders[i] = new wxSlider( panel, Band0_Event + i, 200, 0, 400,
-                    wxDefaultPosition, wxSize( -1 , 90 ) , wxSL_VERTICAL );
-
-        i_values[i] = 200;
-        eq_gridsizer->Add( band_sliders[i], 1, wxEXPAND|wxALL, 2 );
-    }
-
-    preamp_text = new wxStaticText( panel, -1, wxU( _("Preamp\n12.0dB") ) );
-    wxFont font= preamp_text->GetFont();
-    font.SetPointSize(7);
-    preamp_text->SetFont( font );
-    eq_gridsizer->Add( preamp_text, wxALL, 2 );
-
-    eq_gridsizer->Add( 0, 0, 1 );
-
-    for( int i = 0 ; i < 10 ; i++ )
-    {
-        band_texts[i] = new wxStaticText( panel, -1,
-                                band_frequencies[i] + wxU("\n0.0dB" ) ) ;
-        eq_gridsizer->Add( band_texts[i], 1, wxEXPAND|wxALL, 2 );
-        wxFont font= band_texts[i]->GetFont();
-        font.SetPointSize(7);
-        band_texts[i]->SetFont( font );
-    }
-
-    panel_sizer->Add( top_sizer , 0 , wxTOP | wxEXPAND, 5 );
-    panel_sizer->Add( eq_gridsizer , 0 , wxEXPAND, 0 );
-
-    panel->SetSizer( panel_sizer );
-
-    panel_sizer->Layout();
-
-    panel_sizer->SetSizeHints( panel );
-
-    CheckAout();
-
-    aout_instance_t *p_aout = (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    char *psz_af;
-    if( p_aout )
-    {
-        psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
-        if( var_GetBool( p_aout, "equalizer-2pass" ) )
-            eq_2p_chkbox->SetValue( true );
-        vlc_object_release( p_aout );
-    }
-    else
-    {
-        psz_af = config_GetPsz( p_intf, "audio-filter" );
-        if( config_GetInt( p_intf, "equalizer-2pass" ) )
-            eq_2p_chkbox->SetValue( true );
-    }
-    if( psz_af != NULL && strstr( psz_af, "equalizer" ) )
-    {
-        eq_chkbox->SetValue( true );
-    } else {
-        eq_2p_chkbox->Disable();
-        eq_restoredefaults_button->Disable();
-        smooth_slider->Disable();
-        smooth_text->Disable();
-        preamp_slider->Disable();
-        preamp_text->Disable();
-        for( int i_index=0; i_index < 10; i_index++ )
-        {
-            band_sliders[i_index]->Disable();
-            band_texts[i_index]->Disable();
-        }
-    }
-    free( psz_af );
-
-    return panel;
-}
-
-/*******************************************************
- * Event handlers
- *******************************************************/
-
-/* Keep aout up to date and update the bands if needed */
-void ExtraPanel::OnIdle( wxIdleEvent &event )
-{
-    CheckAout();
-    if( b_update == true )
-    {
-        if( b_my_update == true )
-        {
-            b_update = b_my_update = false;
-            return;
-        }
-        char *p = psz_bands;
-        for( int i = 0; i < 10; i++ )
-        {
-                float f;
-                char psz_val[5];
-                int i_val;
-                /* Read dB -20/20*/
-                f = strtof( p, &p );
-                i_val= (int)( ( f + 20 ) * 10 );
-                band_sliders[i]->SetValue( 400 - i_val );
-                i_values[i] = 400 - i_val;
-                sprintf( psz_val, "%.1f", f );
-                band_texts[i]->SetLabel( band_frequencies[i] + wxT("\n") +
-                                                wxU( psz_val ) + wxT("dB") );
-                if( p == NULL )
-                {
-                    break;
-                }
-                p++;
-                if( *p == 0 )
-                    break;
-        }
-        char psz_val[5];
-        int i_val = (int)( ( f_preamp + 20 ) * 10 );
-        sprintf( psz_val, "%.1f", f_preamp );
-        preamp_slider->SetValue( 400 - i_val );
-        const wxString preamp = wxT("Preamp\n");
-        preamp_text->SetLabel( preamp + wxU( psz_val ) + wxT( "dB" ) );
-        eq_chkbox->SetValue( TRUE );
-        b_update = false;
-    }
-}
-
-/*************************
- *  Equalizer Panel events
- *************************/
-void ExtraPanel::OnEnableEqualizer( wxCommandEvent &event )
-{
-    int i_index;
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    ChangeFiltersString( p_intf,p_aout, "equalizer",
-                         event.IsChecked() ? true : false );
-
-    if( event.IsChecked() )
-    {
-        eq_2p_chkbox->Enable();
-        eq_restoredefaults_button->Enable();
-        smooth_slider->Enable();
-        smooth_text->Enable();
-        preamp_slider->Enable();
-        preamp_text->Enable();
-        for( i_index=0; i_index < 10; i_index++ )
-        {
-            band_sliders[i_index]->Enable();
-            band_texts[i_index]->Enable();
-        }
-    } else {
-        eq_2p_chkbox->Disable();
-        eq_restoredefaults_button->Disable();
-        smooth_slider->Disable();
-        smooth_text->Disable();
-        preamp_slider->Disable();
-        preamp_text->Disable();
-        for( i_index=0; i_index < 10; i_index++ )
-        {
-            band_sliders[i_index]->Disable();
-            band_texts[i_index]->Disable();
-        }
-    }
-
-    if( p_aout != NULL )
-        vlc_object_release( p_aout );
-}
-
-void ExtraPanel::OnEqRestore( wxCommandEvent &event )
-{
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    if( p_aout == NULL )
-    {
-        vlc_value_t val;
-        bool b_previous = eq_chkbox->IsChecked();
-        val.f_float = 12.0;
-        IntfPreampCallback( NULL, NULL, val,val, this );
-        config_PutFloat( p_intf, "equalizer-preamp", 12.0 );
-        val.psz_string = strdup( "0 0 0 0 0 0 0 0 0 0" );
-        IntfBandsCallback( NULL, NULL, val,val, this );
-        config_PutPsz( p_intf, "equalizer-bands",
-                                "0 0 0 0 0 0 0 0 0 0");
-        config_PutPsz( p_intf, "equalizer-preset","flat" );
-        eq_chkbox->SetValue( b_previous );
-    }
-    else
-    {
-        var_SetFloat( p_aout, "equalizer-preamp", 12.0 );
-        config_PutFloat( p_intf, "equalizer-preamp", 12.0 );
-        var_SetString( p_aout, "equalizer-bands",
-                                "0 0 0 0 0 0 0 0 0 0");
-        config_PutPsz( p_intf, "equalizer-bands",
-                                "0 0 0 0 0 0 0 0 0 0");
-        var_SetString( p_aout , "equalizer-preset" , "flat" );
-        config_PutPsz( p_intf, "equalizer-preset","flat" );
-        vlc_object_release( p_aout );
-    }
-}
-
-void ExtraPanel::OnEq2Pass( wxCommandEvent &event )
-{
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-
-    bool b_2p = event.IsChecked() ? true : false;
-
-    if( p_aout == NULL )
-    {
-        config_PutInt( p_intf, "equalizer-2pass", b_2p );
-    }
-    else
-    {
-        var_SetBool( p_aout, "equalizer-2pass", b_2p );
-        config_PutInt( p_intf, "equalizer-2pass", b_2p );
-        if( eq_chkbox->IsChecked() )
-        {
-            for( int i = 0; i < p_aout->i_nb_inputs; i++ )
-            {
-                p_aout->pp_inputs[i]->b_restart = true;
-            }
-        }
-        vlc_object_release( p_aout );
-    }
-}
-
-void ExtraPanel::OnEqSmooth( wxScrollEvent &event )
-{
-    /* Max smoothing : 70% */
-    i_smooth = event.GetPosition() * 7;
-}
-
-void ExtraPanel::OnPreamp( wxScrollEvent &event )
-{
-    float f= (float)( 400 - event.GetPosition() ) / 10 - 20 ;
-    char psz_val[5];
-
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-
-    sprintf( psz_val, "%.1f", f );
-    const wxString preamp = wxT("Preamp\n");
-    preamp_text->SetLabel( preamp + wxU( psz_val ) + wxT( "dB" ) );
-
-    if( p_aout == NULL )
-    {
-        config_PutFloat( p_intf, "equalizer-preamp", f );
-    }
-    else
-    {
-        var_SetFloat( p_aout, "equalizer-preamp", f );
-        config_PutFloat( p_intf, "equalizer-preamp", f );
-        b_my_update = true;
-        vlc_object_release( p_aout );
-    }
-}
-
-void ExtraPanel::OnChangeEqualizer( wxScrollEvent &event )
-{
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    char psz_values[102];
-    memset( psz_values, 0, 102 );
-
-
-    /* Smoothing */
-    int i_diff = event.GetPosition() - i_values[  event.GetId() - Band0_Event ];
-    i_values[ event.GetId() - Band0_Event] = event.GetPosition();
-
-    for( int i = event.GetId() + 1 ; i <= Band9_Event ; i++ )
-    {
-        int i_new = band_sliders[ i-Band0_Event ]->GetValue() +
-           (int)( i_diff * pow( (float)i_smooth / 100 , i- event.GetId() ) ) ;
-        if( i_new < 0 ) i_new = 0;
-        if( i_new > 400 ) i_new = 400;
-        band_sliders[ i-Band0_Event ]->SetValue( i_new );
-    }
-    for( int i = Band0_Event ; i < event.GetId() ; i++ )
-    {
-        int i_new =   band_sliders[ i-Band0_Event ]->GetValue() +
-           (int)( i_diff * pow( (float)i_smooth / 100 , event.GetId() - i  ) );
-        if( i_new < 0 ) i_new = 0;
-        if( i_new > 400 ) i_new = 400;
-        band_sliders[ i-Band0_Event ]->SetValue( i_new );
-    }
-
-    /* Write the new bands values */
-    for( int i = 0 ; i < 10 ; i++ )
-    {
-        char psz_val[5];
-        float f_val = (float)( 400 - band_sliders[i]->GetValue() ) / 10- 20 ;
-        sprintf( psz_values + strlen( psz_value ), " %f", f_val );
-        sprintf( psz_val, "%.1f", f_val );
-        band_texts[i]->SetLabel( band_frequencies[i] + wxT("\n") +
-                        wxU( psz_val ) + wxT("dB" ) );
-    }
-    if( p_aout == NULL )
-    {
-        config_PutPsz( p_intf, "equalizer-bands", psz_values );
-    }
-    else
-    {
-        var_SetString( p_aout, "equalizer-bands", psz_values );
-        config_PutPsz( p_intf, "equalizer-bands", psz_values );
-        b_my_update = true;
-        vlc_object_release( p_aout );
-    }
-}
-
-/***********************
- * Audio Panel events
- ***********************/
-void ExtraPanel::OnHeadphone( wxCommandEvent &event )
-{
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    ChangeFiltersString( p_intf , p_aout, "headphone_channel_mixer",
-                         event.IsChecked() ? true : false );
-    if( p_aout != NULL )
-        vlc_object_release( p_aout );
-}
-
-void ExtraPanel::OnNormvol( wxCommandEvent &event )
-{
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    ChangeFiltersString( p_intf , p_aout, "normvol",
-                         event.IsChecked() ? true : false );
-    if( p_aout != NULL )
-        vlc_object_release( p_aout );
-}
-
-void ExtraPanel::OnNormvolSlider( wxScrollEvent &event )
-{
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    if( p_aout != NULL )
-    {
-        var_SetFloat( p_aout, "norm-max-level", (float)event.GetPosition()/10 );
-        vlc_object_release( p_aout );
-    }
-    else
-    {
-        config_PutFloat( p_intf, "norm-max-level",
-                        (float)event.GetPosition()/10 );
-    }
-}
-/***********************
- *  Video Panel events
- ***********************/
-void ExtraPanel::OnEnableAdjust(wxCommandEvent& event)
-{
-    ChangeVFiltersString( p_intf,  "adjust",
-                          event.IsChecked() ? true : false );
-
-    if( event.IsChecked() )
-    {
-        restoredefaults_button->Enable();
-        brightness_slider->Enable();
-        saturation_slider->Enable();
-        contrast_slider->Enable();
-        hue_slider->Enable();
-        gamma_slider->Enable();
-    }
-    else
-    {
-        restoredefaults_button->Disable();
-        brightness_slider->Disable();
-        saturation_slider->Disable();
-        contrast_slider->Disable();
-        hue_slider->Disable();
-        gamma_slider->Disable();
-    }
-}
-
-void ExtraPanel::OnRestoreDefaults( wxCommandEvent &event)
-{
-    hue_slider->SetValue(0);
-    saturation_slider->SetValue(100);
-    brightness_slider->SetValue(100);
-    contrast_slider->SetValue(100),
-    gamma_slider->SetValue(10);
-
-    wxScrollEvent *hscroll_event = new wxScrollEvent(0, Hue_Event, 0);
-    OnAdjustUpdate(*hscroll_event);
-
-    wxScrollEvent *sscroll_event = new wxScrollEvent(0, Saturation_Event, 100);
-    OnAdjustUpdate(*sscroll_event);
-
-    wxScrollEvent *bscroll_event = new wxScrollEvent(0, Brightness_Event, 100);
-    OnAdjustUpdate(*bscroll_event);
-
-    wxScrollEvent *cscroll_event = new wxScrollEvent(0, Contrast_Event, 100);
-    OnAdjustUpdate(*cscroll_event);
-
-    wxScrollEvent *gscroll_event = new wxScrollEvent(0, Gamma_Event, 10);
-    OnAdjustUpdate(*gscroll_event);
-
-}
-
-void ExtraPanel::OnAdjustUpdate( wxScrollEvent &event)
-{
-    vout_thread_t *p_vout = (vout_thread_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_VOUT, FIND_ANYWHERE);
-    if( p_vout == NULL )
-    {
-        switch( event.GetId() )
-        {
-            case Hue_Event:
-                config_PutInt( p_intf , "hue" , event.GetPosition() );
-                break;
-
-            case Saturation_Event:
-                config_PutFloat( p_intf , "saturation" ,
-                                (float)event.GetPosition()/100 );
-                break;
-
-            case Brightness_Event:
-                config_PutFloat( p_intf , "brightness" ,
-                                (float)event.GetPosition()/100 );
-                break;
-
-            case Contrast_Event:
-                config_PutFloat( p_intf , "contrast" ,
-                                (float)event.GetPosition()/100 );
-                break;
-
-            case Gamma_Event:
-                config_PutFloat( p_intf , "gamma" ,
-                                (float)event.GetPosition()/10 );
-                break;
-        }
-    }
-    else
-    {
-        vlc_value_t val;
-        switch( event.GetId() )
-        {
-            case Hue_Event:
-                val.i_int = event.GetPosition();
-                var_Set( p_vout, "hue", val );
-                config_PutInt( p_intf , "hue" , event.GetPosition() );
-                break;
-
-            case Saturation_Event:
-                val.f_float = (float)event.GetPosition() / 100;
-                var_Set( p_vout, "saturation", val );
-                config_PutFloat( p_intf , "saturation" ,
-                                (float)event.GetPosition()/100 );
-                break;
-
-            case Brightness_Event:
-                val.f_float = (float)event.GetPosition() / 100;
-                var_Set( p_vout, "brightness", val );
-                config_PutFloat( p_intf , "brightness" ,
-                                (float)event.GetPosition()/100 );
-                break;
-
-            case Contrast_Event:
-                val.f_float = (float)event.GetPosition() / 100;
-                var_Set( p_vout, "contrast", val );
-                config_PutFloat( p_intf , "contrast" ,
-                                (float)event.GetPosition()/100 );
-                break;
-
-            case Gamma_Event:
-                val.f_float = (float)event.GetPosition() / 10;
-                var_Set( p_vout, "gamma", val );
-                config_PutFloat( p_intf , "gamma" ,
-                                (float)event.GetPosition()/10 );
-                break;
-        }
-        vlc_object_release(p_vout);
-    }
-}
-
-/* FIXME */
-void ExtraPanel::OnRatio( wxCommandEvent& event )
-{
-   config_PutPsz( p_intf, "aspect-ratio", ratio_combo->GetValue().mb_str(wxConvUTF8) );
-}
-
-
-void ExtraPanel::OnSelectFilter(wxCommandEvent& event)
-{
-    int i_filter = event.GetId() - Filter0_Event ;
-    if( vfilters[i_filter].psz_filter  )
-    {
-        if( vfilters[i_filter].b_vfilter2 )
-            ChangeVFilters2String( p_intf, vfilters[i_filter].psz_filter ,
-                                event.IsChecked() ? true : false );
-        else
-            ChangeVFiltersString( p_intf, vfilters[i_filter].psz_filter ,
-                                  event.IsChecked() ? true : false );
-    }
-}
-
-void ExtraPanel::OnFiltersInfo(wxCommandEvent& event)
-{
-    wxMessageBox( wxU( _("Filtering effects to apply to the video. "
-                  "You must restart the stream for these settings to "
-                  "take effect.\n\n"
-                  "To configure these filters, go to Preferences / Video / "
-                  "Filters. In order to control the order in which they "
-                  "are applied, enter a filters string in the Video Filter "
-                  "Module inside the preferences."
-                  ) ),
-                    wxU( _("More Information" ) ), wxOK | wxICON_INFORMATION,
-                    this->p_parent );
-}
-/**********************************
- * Other functions
- **********************************/
-void ExtraPanel::CheckAout()
-{
-    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,
-                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);
-    if( p_aout != NULL )
-    {
-        if( p_aout != p_intf->p_sys->p_aout )
-        {
-            /* We want to know if someone changes the bands */
-            if( var_AddCallback( p_aout, "equalizer-bands",
-                                    IntfBandsCallback, this ) )
-            {
-                /* The variable does not exist yet, wait */
-                vlc_object_release( p_aout );
-                return;
-            }
-            if( var_AddCallback( p_aout, "equalizer-preamp",
-                                    IntfPreampCallback, this )  )
-            {
-                vlc_object_release( p_aout );
-                return;
-            }
-            /* Ok, we have our variables, make a first update round */
-            p_intf->p_sys->p_aout = p_aout;
-
-            f_preamp = var_GetFloat( p_aout, "equalizer-preamp" );
-            psz_bands = var_GetNonEmptyString( p_aout, "equalizer-bands" );
-            if( psz_bands == NULL )
-                psz_bands = strdup("");
-            b_update = true;
-        }
-        vlc_object_release( p_aout );
-    }
-}
-
-static void ChangeVFiltersString( intf_thread_t *p_intf,
-                                  char *psz_name, bool b_add )
-{
-    vout_thread_t *p_vout;
-    char *psz_parser, *psz_string;
-
-    psz_string = config_GetPsz( p_intf, "vout-filter" );
-
-    if( !psz_string ) psz_string = strdup("");
-
-    psz_parser = strstr( psz_string, psz_name );
-
-    if( b_add )
-    {
-        if( !psz_parser )
-        {
-            psz_parser = psz_string;
-            asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s",
-                            psz_string, psz_name );
-            free( psz_parser );
-        }
-        else
-        {
-            return;
-        }
-    }
-    else
-    {
-        if( psz_parser )
-        {
-            memmove( psz_parser, psz_parser + strlen(psz_name) +
-                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ),
-                            strlen(psz_parser + strlen(psz_name)) + 1 );
-
-            /* Remove trailing : : */
-            if( *(psz_string+strlen(psz_string ) -1 ) == ':' )
-            {
-                *(psz_string+strlen(psz_string ) -1 ) = '\0';
-            }
-         }
-         else
-         {
-             free( psz_string );
-             return;
-         }
-    }
-    /* Vout is not kept, so put that in the config */
-    config_PutPsz( p_intf, "vout-filter", psz_string );
-
-    /* Try to set on the fly */
-    p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                              FIND_ANYWHERE );
-    if( p_vout )
-    {
-        var_SetString( p_vout, "vout-filter", psz_string );
-        vlc_object_release( p_vout );
-    }
-
-    free( psz_string );
-}
-
-static void ChangeVFilters2String( intf_thread_t *p_intf,
-                                  char *psz_name, bool b_add )
-{
-    vout_thread_t *p_vout;
-    char *psz_parser, *psz_string;
-
-    psz_string = config_GetPsz( p_intf, "video-filter" );
-
-    if( !psz_string ) psz_string = strdup("");
-
-    psz_parser = strstr( psz_string, psz_name );
-
-    if( b_add )
-    {
-        if( !psz_parser )
-        {
-            psz_parser = psz_string;
-            asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s",
-                            psz_string, psz_name );
-            free( psz_parser );
-        }
-        else
-        {
-            return;
-        }
-    }
-    else
-    {
-        if( psz_parser )
-        {
-            memmove( psz_parser, psz_parser + strlen(psz_name) +
-                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ),
-                            strlen(psz_parser + strlen(psz_name)) + 1 );
-
-            /* Remove trailing : : */
-            if( *(psz_string+strlen(psz_string ) -1 ) == ':' )
-            {
-                *(psz_string+strlen(psz_string ) -1 ) = '\0';
-            }
-         }
-         else
-         {
-             free( psz_string );
-             return;
-         }
-    }
-    /* Vout is not kept, so put that in the config */
-    config_PutPsz( p_intf, "video-filter", psz_string );
-
-    /* Try to set on the fly */
-    p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                              FIND_ANYWHERE );
-    if( p_vout )
-    {
-        var_SetString( p_vout, "video-filter", psz_string );
-        vlc_object_release( p_vout );
-    }
-    free( psz_string );
-}
-
-
-static void ChangeFiltersString( intf_thread_t *p_intf,
-                                 aout_instance_t * p_aout,
-                                 char *psz_name, bool b_add )
-{
-    char *psz_parser, *psz_string;
-
-    if( p_aout )
-    {
-        psz_string = var_GetNonEmptyString( p_aout, "audio-filter" );
-    }
-    else
-    {
-        psz_string = config_GetPsz( p_intf, "audio-filter" );
-    }
-
-    if( !psz_string ) psz_string = strdup("");
-
-    psz_parser = strstr( psz_string, psz_name );
-
-    if( b_add )
-    {
-        if( !psz_parser )
-        {
-            psz_parser = psz_string;
-            asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s",
-                            psz_string, psz_name );
-            free( psz_parser );
-        }
-        else
-        {
-            return;
-        }
-    }
-    else
-    {
-        if( psz_parser )
-        {
-            memmove( psz_parser, psz_parser + strlen(psz_name) +
-                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ),
-                            strlen(psz_parser + strlen(psz_name)) + 1 );
-
-            if( *(psz_string+strlen(psz_string ) -1 ) == ':' )
-            {
-                *(psz_string+strlen(psz_string ) -1 ) = '\0';
-            }
-         }
-         else
-         {
-             free( psz_string );
-             return;
-         }
-    }
-
-    if( p_aout == NULL )
-    {
-        config_PutPsz( p_intf, "audio-filter", psz_string );
-    }
-    else
-    {
-        var_SetString( p_aout, "audio-filter", psz_string );
-        for( int i = 0; i < p_aout->i_nb_inputs; i++ )
-        {
-            p_aout->pp_inputs[i]->b_restart = true;
-        }
-    }
-    free( psz_string );
-}
-
-
-static int IntfBandsCallback( vlc_object_t *p_this, char const *psz_cmd,
-                          vlc_value_t oldval, vlc_value_t newval, void *param )
-{
-    ExtraPanel *p_panel = (ExtraPanel *)param;
-
-    p_panel->psz_bands = strdup( newval.psz_string );
-    p_panel->b_update = true;
-
-    return VLC_SUCCESS;
-}
-
-static int IntfPreampCallback( vlc_object_t *p_this, char const *psz_cmd,
-                          vlc_value_t oldval, vlc_value_t newval, void *param )
-{
-    ExtraPanel *p_panel = (ExtraPanel *)param;
-
-    p_panel->f_preamp = newval.f_float;
-    p_panel->b_update = true;
-
-    return VLC_SUCCESS;
-}
-
-#if 0
-/**********************************************************************
- * A small window to contain the extrapanel in its undocked state
- **********************************************************************/
-BEGIN_EVENT_TABLE(ExtraWindow, wxFrame)
-END_EVENT_TABLE()
-
-
-ExtraWindow::ExtraWindow( intf_thread_t *_p_intf, wxWindow *p_parent,
-                          wxPanel *_extra_panel ):
-       wxFrame( p_parent, -1, wxU(_("Extended controls")), wxDefaultPosition,
-                 wxDefaultSize, wxDEFAULT_FRAME_STYLE )
-{
-    p_intf = _p_intf;
-    SetIcon( *p_intf->p_sys->p_icon );
-
-    wxBoxSizer *window_sizer = new wxBoxSizer( wxVERTICAL );
-    SetSizer( window_sizer );
-
-    panel = _extra_panel;
-    window_sizer->Add( panel );
-
-    window_sizer->Layout();
-    window_sizer->Fit( this );
-
-    Show();
-}
-
-ExtraWindow::~ExtraWindow()
-{
-    delete panel;
-}
-#endif
diff --git a/modules/gui/wxwidgets/extrapanel.hpp b/modules/gui/wxwidgets/extrapanel.hpp
deleted file mode 100644 (file)
index 17a8e59..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/*****************************************************************************
- * extrapanel.hpp: Headers for the extra panel window
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_EXTRAPANEL_H_
-#define _WXVLC_EXTRAPANEL_H_
-
-#include "wxwidgets.hpp"
-#include <wx/notebook.h>
-
-namespace wxvlc
-{
-    /* Extended panel */
-    class ExtraPanel: public wxPanel
-    {
-    public:
-        /* Constructor */
-        ExtraPanel( intf_thread_t *p_intf, wxWindow *p_parent );
-        virtual ~ExtraPanel();
-
-        /// \todo Check access level for these
-        wxStaticBox *adjust_box;
-        wxButton *restoredefaults_button;
-        wxSlider *brightness_slider;
-        wxSlider *contrast_slider;
-        wxSlider *saturation_slider;
-        wxSlider *hue_slider;
-        wxSlider *gamma_slider;
-
-        wxStaticBox *other_box;
-        wxComboBox *ratio_combo;
-
-        char *psz_bands;
-        float f_preamp;
-        bool b_update;
-    private:
-        /* General layout */
-        wxPanel *VideoPanel( wxWindow * );
-        wxPanel *EqzPanel( wxWindow * );
-        wxPanel *AudioPanel( wxWindow * );
-        wxNotebook *notebook;
-        /* Equalizer */
-        wxCheckBox *eq_chkbox;
-        wxCheckBox *eq_2p_chkbox;
-        wxButton *eq_restoredefaults_button;
-        wxSlider *smooth_slider;
-        wxStaticText *smooth_text;
-        wxSlider *preamp_slider;
-        wxStaticText * preamp_text;
-        int i_smooth;
-        wxSlider *band_sliders[10];
-        wxStaticText *band_texts[10];
-        int i_values[10];
-        void OnEnableEqualizer( wxCommandEvent& );
-        void OnRestoreDefaults( wxCommandEvent& );
-        void OnChangeEqualizer( wxScrollEvent& );
-        void OnEqSmooth( wxScrollEvent& );
-        void OnPreamp( wxScrollEvent& );
-        void OnEq2Pass( wxCommandEvent& );
-        void OnEqRestore( wxCommandEvent& );
-
-        /* Video */
-        void OnEnableAdjust( wxCommandEvent& );
-        void OnAdjustUpdate( wxScrollEvent& );
-        void OnRatio( wxCommandEvent& );
-        void OnFiltersInfo( wxCommandEvent& );
-        void OnSelectFilter( wxCommandEvent& );
-
-        /* Audio */
-        void OnHeadphone( wxCommandEvent& );
-        void OnNormvol( wxCommandEvent& );
-        void OnNormvolSlider( wxScrollEvent& );
-
-        void CheckAout();
-        void OnIdle( wxIdleEvent& );
-
-        DECLARE_EVENT_TABLE();
-
-        intf_thread_t *p_intf;
-        bool b_my_update;
-        wxWindow *p_parent;
-    };
-};
-#if 0
-/* Extended Window  */
-class ExtraWindow: public wxFrame
-{
-public:
-    /* Constructor */
-    ExtraWindow( intf_thread_t *p_intf, wxWindow *p_parent, wxPanel *panel );
-    virtual ~ExtraWindow();
-
-private:
-
-    wxPanel *panel;
-
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-};
-#endif
-
-#endif
diff --git a/modules/gui/wxwidgets/input_manager.cpp b/modules/gui/wxwidgets/input_manager.cpp
deleted file mode 100644 (file)
index 451d9e5..0000000
+++ /dev/null
@@ -1,516 +0,0 @@
-/*****************************************************************************
- * slider_manager.cpp : Manage an input slider
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *          Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "input_manager.hpp"
-#include "interface.hpp"
-#include "video.hpp"
-
-#include <vlc_meta.h>
-
-/* include the toolbar graphics */
-#include "bitmaps/prev.xpm"
-#include "bitmaps/next.xpm"
-#include "bitmaps/playlist.xpm"
-
-/* IDs for the controls */
-enum
-{
-    SliderScroll_Event = wxID_HIGHEST,
-
-    DiscMenu_Event,
-    DiscPrev_Event,
-    DiscNext_Event
-};
-
-BEGIN_EVENT_TABLE(InputManager, wxPanel)
-    /* Slider events */
-    EVT_COMMAND_SCROLL(SliderScroll_Event, InputManager::OnSliderUpdate)
-
-    /* Disc Buttons events */
-    EVT_BUTTON(DiscMenu_Event, InputManager::OnDiscMenu)
-    EVT_BUTTON(DiscPrev_Event, InputManager::OnDiscPrev)
-    EVT_BUTTON(DiscNext_Event, InputManager::OnDiscNext)
-
-END_EVENT_TABLE()
-
-#define STATUS_STOP 0
-#define STATUS_PLAYING 1
-#define STATUS_PAUSE 2
-
-#ifdef WIN32
-
-#include <commctrl.h>
-
-/*
-** On win32, clicking on the slider channel causes the thumb to jump up or down a page size
-** like a scrollbar.  This is not particularily useful for a movie track, where we'd rather
-** see the thumb to jump where the mouse is.
-** Therefore, we replace the slider (TRACKBAR control) window proc with our, which intercept
-** the mouse down event, and move the thumb accordingly
-*/
-static LRESULT CALLBACK MovieSliderWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
-    switch( uMsg )
-    {
-        case WM_LBUTTONDOWN:
-        {
-            POINT click = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };
-            RECT tRect = {0, 0, 0, 0};
-            SendMessage(hWnd, TBM_GETTHUMBRECT, 0, (LPARAM)&tRect);
-
-            /* check whether click is not in thumb */
-            if( ! PtInRect(&tRect, click) )
-            {
-                LONG min = SendMessage(hWnd, TBM_GETRANGEMIN, 0, 0);
-                LONG max = SendMessage(hWnd, TBM_GETRANGEMAX, 0, 0);
-                LONG thumb = tRect.right-tRect.left;
-                LONG newpos;
-
-                SendMessage(hWnd, TBM_GETCHANNELRECT, 0, (LPARAM)&tRect);
-
-                /* following is only valid for horizontal a trackbar */
-                newpos = ((click.x-tRect.left-(thumb/2))*(max-min)+((tRect.right-tRect.left-thumb)/2))
-               /(tRect.right-tRect.left-thumb);
-
-                /* set new postion */
-                SendMessage(hWnd, TBM_SETPOS, TRUE, min+newpos);
-                /* notify parent of change */
-                SendMessage(GetParent(hWnd), WM_HSCROLL, TB_ENDTRACK, (LPARAM)hWnd);
-
-                return 0;
-            }
-        }
-
-        default:
-            return CallWindowProc((WNDPROC)GetWindowLongPtr(hWnd, GWLP_USERDATA),
-                        hWnd, uMsg, wParam, lParam);
-    }
-}
-
-#endif
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-InputManager::InputManager( intf_thread_t *_p_intf, Interface *_p_main_intf,
-                            wxWindow *p_parent )
-  : wxPanel( p_parent )
-{
-    p_intf = _p_intf;
-    p_main_intf = _p_main_intf;
-    p_input = NULL;
-    i_old_playing_status = STATUS_STOP;
-    i_old_rate = INPUT_RATE_DEFAULT;
-    b_slider_free = true;
-    i_input_hide_delay = 0;
-
-    /* Create slider */
-    slider = new wxSlider( this, SliderScroll_Event, 0, 0, SLIDER_MAX_POS );
-
-#ifdef WIN32
-    /* modify behaviour of WIN32 underlying control
-      in order to implement proper movie slider */
-    {
-        HWND sliderHwnd = (HWND)slider->GetHWND();
-        /* put original WNDPROC into USERDATA, this may be incompatible with future version of
-           wxwidgets. */
-        SetWindowLongPtr(sliderHwnd, GWLP_USERDATA,
-            (LONG_PTR)GetWindowLongPtr(sliderHwnd, GWLP_WNDPROC));
-        /* put our own WNDPROC */
-        SetWindowLongPtr(sliderHwnd, GWLP_WNDPROC, (LONG_PTR)MovieSliderWindowProc);
-    }
-#endif
-
-    /* Create disc buttons */
-    disc_frame = new wxPanel( this );
-
-    disc_menu_button = new wxBitmapButton( disc_frame, DiscMenu_Event,
-                                           wxBitmap( playlist_xpm ) );
-    disc_prev_button = new wxBitmapButton( disc_frame, DiscPrev_Event,
-                                           wxBitmap( prev_xpm ) );
-    disc_next_button = new wxBitmapButton( disc_frame, DiscNext_Event,
-                                           wxBitmap( next_xpm ) );
-
-    disc_sizer = new wxBoxSizer( wxHORIZONTAL );
-    disc_sizer->Add( disc_menu_button, 1, wxEXPAND | wxLEFT | wxRIGHT, 1 );
-    disc_sizer->Add( disc_prev_button, 1, wxEXPAND | wxLEFT | wxRIGHT, 1 );
-    disc_sizer->Add( disc_next_button, 1, wxEXPAND | wxLEFT | wxRIGHT, 1 );
-    disc_frame->SetSizer( disc_sizer );
-    disc_sizer->Layout();
-
-    /* Add everything to the panel */
-    sizer = new wxBoxSizer( wxHORIZONTAL );
-    SetSizer( sizer );
-    sizer->Add( slider, 1, wxEXPAND | wxALL, 5 );
-    sizer->Add( disc_frame, 0, wxALL, 2 );
-
-    /* Hide by default */
-    sizer->Hide( disc_frame );
-    sizer->Hide( slider );
-
-    sizer->Layout();
-    Fit();
-}
-
-InputManager::~InputManager()
-{
-    vlc_mutex_lock( &p_intf->change_lock );
-    if( p_intf->p_sys->p_input ) vlc_object_release( p_intf->p_sys->p_input );
-    p_intf->p_sys->p_input = NULL;
-    vlc_mutex_unlock( &p_intf->change_lock );
-}
-
-/*****************************************************************************
- * Public methods.
- *****************************************************************************/
-bool InputManager::IsPlaying()
-{
-    return (p_input && vlc_object_alive (p_input));
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-void InputManager::UpdateInput()
-{
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist != NULL )
-    {
-        LockPlaylist( p_intf->p_sys, p_playlist );
-        p_input = p_intf->p_sys->p_input = p_playlist->p_input;
-        if( p_intf->p_sys->p_input )
-             vlc_object_hold( p_intf->p_sys->p_input );
-        UnlockPlaylist( p_intf->p_sys, p_playlist );
-        pl_Release( p_intf );
-    }
-}
-
-void InputManager::UpdateNowPlaying()
-{
-    char *psz_now_playing = input_item_GetNowPlaying( input_GetItem(p_input) );
-    if( psz_now_playing && *psz_now_playing )
-    {
-        p_main_intf->statusbar->SetStatusText(
-                    wxString(wxU(psz_now_playing)) + wxT( " - " ) +
-                    wxU(input_GetItem(p_input)->psz_name), 2 );
-    }
-    else
-    {
-        p_main_intf->statusbar->SetStatusText(
-                   wxU(input_GetItem(p_input)->psz_name), 2 );
-    }
-    free( psz_now_playing );
-}
-
-void InputManager::UpdateButtons( bool b_play )
-{
-    if( !b_play )
-    {
-        if( i_old_playing_status == STATUS_STOP ) return;
-
-        i_old_playing_status = STATUS_STOP;
-        p_main_intf->TogglePlayButton( PAUSE_S );
-        p_main_intf->statusbar->SetStatusText( wxT(""), 0 );
-        p_main_intf->statusbar->SetStatusText( wxT(""), 2 );
-
-/* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-#ifndef __APPLE__
-#ifdef wxHAS_TASK_BAR_ICON
-        if( p_main_intf->p_systray )
-        {
-            p_main_intf->p_systray->UpdateTooltip(
-                wxString(wxT("VLC media player - ")) + wxU(_("Stopped")) );
-        }
-#endif
-#endif
-
-        return;
-    }
-
-    /* Manage Playing status */
-    vlc_value_t val;
-    var_Get( p_input, "state", &val );
-    val.i_int = val.i_int == PAUSE_S ? STATUS_PAUSE : STATUS_PLAYING;
-    if( i_old_playing_status != val.i_int )
-    {
-        i_old_playing_status = val.i_int;
-        p_main_intf->TogglePlayButton( val.i_int == STATUS_PAUSE ?
-                                       PAUSE_S : PLAYING_S );
-
-/* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-#ifndef __APPLE__
-#ifdef wxHAS_TASK_BAR_ICON
-        if( p_main_intf->p_systray )
-        {
-            p_main_intf->p_systray->UpdateTooltip(
-                wxU(input_GetItem(p_input)->psz_name) + wxString(wxT(" - ")) +
-                (val.i_int == PAUSE_S ? wxU(_("Paused")) : wxU(_("Playing"))));
-        }
-#endif
-#endif
-    }
-}
-
-void InputManager::UpdateDiscButtons()
-{
-    vlc_value_t val;
-    var_Change( p_input, "title", VLC_VAR_CHOICESCOUNT, &val, NULL );
-    if( val.i_int > 0 && !disc_frame->IsShown() )
-    {
-        vlc_value_t val;
-
-        #define HELP_MENU N_("Menu")
-        #define HELP_PCH N_("Previous chapter")
-        #define HELP_NCH N_("Next chapter")
-        #define HELP_PTR N_("Previous track")
-        #define HELP_NTR N_("Next track")
-
-        var_Change( p_input, "chapter", VLC_VAR_CHOICESCOUNT, &val, NULL );
-
-        if( val.i_int > 0 )
-        {
-            disc_menu_button->Show();
-            disc_sizer->Show( disc_menu_button );
-            disc_sizer->Layout();
-            disc_sizer->Fit( disc_frame );
-            disc_menu_button->SetToolTip( wxU(_( HELP_MENU ) ) );
-            disc_prev_button->SetToolTip( wxU(_( HELP_PCH ) ) );
-            disc_next_button->SetToolTip( wxU(_( HELP_NCH ) ) );
-        }
-        else
-        {
-            disc_menu_button->Hide();
-            disc_sizer->Hide( disc_menu_button );
-            disc_prev_button->SetToolTip( wxU(_( HELP_PTR ) ) );
-            disc_next_button->SetToolTip( wxU(_( HELP_NTR ) ) );
-        }
-
-        ShowDiscFrame();
-    }
-    else if( val.i_int == 0 && disc_frame->IsShown() )
-    {
-        HideDiscFrame();
-    }
-}
-
-void InputManager::HideSlider()
-{
-    ShowSlider( false );
-}
-
-void InputManager::HideDiscFrame()
-{
-    ShowDiscFrame( false );
-}
-
-void InputManager::UpdateTime()
-{
-    char psz_time[ MSTRTIME_MAX_SIZE ], psz_total[ MSTRTIME_MAX_SIZE ];
-    mtime_t i_seconds;
-
-    i_seconds = var_GetTime( p_intf->p_sys->p_input, "length" ) / 1000000;
-    secstotimestr( psz_total, i_seconds );
-
-    i_seconds = var_GetTime( p_intf->p_sys->p_input, "time" ) / 1000000;
-    secstotimestr( psz_time, i_seconds );
-
-    p_main_intf->statusbar->SetStatusText(
-        wxU(psz_time) + wxString(wxT(" / ")) +wxU(psz_total), 0 );
-}
-
-void InputManager::Update()
-{
-    /* Update the input */
-    if( p_input == NULL )
-    {
-        UpdateInput();
-
-        if( p_input )
-        {
-            slider->SetValue( 0 );
-        }
-        else if( !i_input_hide_delay )
-        {
-            i_input_hide_delay = mdate() + 200000;
-        }
-        else if( i_input_hide_delay < mdate() )
-        {
-            if( disc_frame->IsShown() ) HideDiscFrame();
-            if( slider->IsShown() ) HideSlider();
-            i_input_hide_delay = 0;
-        }
-    }
-    else if( p_input->b_dead )
-    {
-        UpdateButtons( false );
-        vlc_object_release( p_input );
-        p_input = NULL;
-    }
-    else
-    {
-        i_input_hide_delay = 0;
-    }
-
-    if( p_input && vlc_object_alive (p_input) )
-    {
-        vlc_value_t pos, len;
-
-        UpdateTime();
-        UpdateButtons( true );
-        UpdateNowPlaying();
-        UpdateDiscButtons();
-
-        /* Really manage the slider */
-        var_Get( p_input, "position", &pos );
-        var_Get( p_input, "length", &len );
-
-        if( pos.f_float > 0 && !slider->IsShown() ) ShowSlider();
-        else if(  pos.f_float <= 0 &&  slider->IsShown() ) HideSlider();
-
-        /* Update the slider if the user isn't dragging it. */
-        if( slider->IsShown() && b_slider_free )
-        {
-            i_slider_pos = (int)(SLIDER_MAX_POS * pos.f_float);
-            slider->SetValue( i_slider_pos );
-        }
-
-        /* Manage Speed status */
-        vlc_value_t val;
-        var_Get( p_input, "rate", &val );
-        if( i_old_rate != val.i_int )
-        {
-            p_main_intf->statusbar->SetStatusText(
-                wxString::Format(wxT("x%.2f"),
-                (float)INPUT_RATE_DEFAULT / val.i_int ), 1 );
-            i_old_rate = val.i_int;
-        }
-    }
-}
-
-/*****************************************************************************
- * Event Handlers.
- *****************************************************************************/
-void InputManager::OnDiscMenu( wxCommandEvent& WXUNUSED(event) )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( p_input )
-    {
-        vlc_value_t val; val.i_int = 2;
-
-        var_Set( p_input, "title  0", val);
-        vlc_object_release( p_input );
-    }
-}
-
-void InputManager::OnDiscPrev( wxCommandEvent& WXUNUSED(event) )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( p_input )
-    {
-        int i_type = var_Type( p_input, "prev-chapter" );
-        vlc_value_t val; val.b_bool = true;
-
-        var_Set( p_input, ( i_type & VLC_VAR_TYPE ) != 0 ?
-                 "prev-chapter" : "prev-title", val );
-
-        vlc_object_release( p_input );
-    }
-}
-
-void InputManager::OnDiscNext( wxCommandEvent& WXUNUSED(event) )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( p_input )
-    {
-        int i_type = var_Type( p_input, "next-chapter" );
-        vlc_value_t val; val.b_bool = true;
-
-        var_Set( p_input, ( i_type & VLC_VAR_TYPE ) != 0 ?
-                 "next-chapter" : "next-title", val );
-
-        vlc_object_release( p_input );
-    }
-}
-
-void InputManager::OnSliderUpdate( wxScrollEvent& event )
-{
-    vlc_mutex_lock( &p_intf->change_lock );
-
-#ifdef WIN32
-    if( event.GetEventType() == wxEVT_SCROLL_THUMBRELEASE
-        || event.GetEventType() == wxEVT_SCROLL_ENDSCROLL )
-    {
-#endif
-        if( i_slider_pos != event.GetPosition() && p_intf->p_sys->p_input )
-        {
-            vlc_value_t pos;
-            pos.f_float = (float)event.GetPosition() / (float)SLIDER_MAX_POS;
-            var_Set( p_intf->p_sys->p_input, "position", pos );
-        }
-
-#ifdef WIN32
-        b_slider_free = true;
-    }
-    else
-    {
-        b_slider_free = false;
-        if( p_intf->p_sys->p_input ) UpdateTime();
-    }
-#endif
-
-#undef WIN32
-    vlc_mutex_unlock( &p_intf->change_lock );
-}
-
-void InputManager::ShowSlider( bool show )
-{
-    if( !!show == !!slider->IsShown() ) return;
-
-    UpdateVideoWindow( p_intf, p_main_intf->video_window );
-
-    sizer->Show( slider, show );
-    sizer->Layout();
-
-    wxCommandEvent intf_event( wxEVT_INTF, 0 );
-    p_main_intf->AddPendingEvent( intf_event );
-}
-
-void InputManager::ShowDiscFrame( bool show )
-{
-    if( !!show == !!disc_frame->IsShown() ) return;
-
-    UpdateVideoWindow( p_intf, p_main_intf->video_window );
-
-    sizer->Show( disc_frame, show );
-    sizer->Layout();
-
-    wxCommandEvent intf_event( wxEVT_INTF, 0 );
-    p_main_intf->AddPendingEvent( intf_event );
-}
diff --git a/modules/gui/wxwidgets/input_manager.hpp b/modules/gui/wxwidgets/input_manager.hpp
deleted file mode 100644 (file)
index fdc1f40..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*****************************************************************************
- * input_manager.hpp: Header for input_manager
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *          Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _INPUT_MANAGER_H_
-#define _INPUT_MANAGER_H_
-
-#include "wxwidgets.hpp"
-
-namespace wxvlc
-{
-    class Interface;
-
-    /**
-     * This class manages all the controls related to the input
-     */
-    class InputManager : public wxPanel
-    {
-    public:
-        InputManager( intf_thread_t *, Interface *, wxWindow * );
-        virtual ~InputManager();
-
-        void Update();
-        bool IsPlaying();
-
-    protected:
-        void UpdateInput();
-        void UpdateNowPlaying();
-        void UpdateButtons( bool );
-        void UpdateDiscButtons();
-        void UpdateTime();
-
-        void HideSlider();
-        void ShowSlider( bool show = true );
-
-        void OnSliderUpdate( wxScrollEvent& event );
-
-        void OnDiscMenu( wxCommandEvent& event );
-        void OnDiscPrev( wxCommandEvent& event );
-        void OnDiscNext( wxCommandEvent& event );
-
-        void HideDiscFrame();
-        void ShowDiscFrame( bool show = true );
-
-        wxPanel         *disc_frame;
-        wxBoxSizer      *disc_sizer;
-        wxBitmapButton  *disc_menu_button;
-        wxBitmapButton  *disc_prev_button;
-        wxBitmapButton  *disc_next_button;
-
-        intf_thread_t * p_intf;
-        input_thread_t *p_input;
-        Interface * p_main_intf;
-
-        wxSlider *slider;            ///< Slider for this input
-        int i_slider_pos;            ///< Current slider position
-        bool b_slider_free;    ///< Slider status
-
-        wxBoxSizer *sizer;
-
-    private:
-        DECLARE_EVENT_TABLE();
-
-        int i_old_playing_status;    ///< Previous playing status
-        int i_old_rate;              ///< Previous playing rate
-
-        mtime_t i_input_hide_delay;  ///< Allows delaying slider hidding
-    };
-};
-
-#endif
diff --git a/modules/gui/wxwidgets/interface.cpp b/modules/gui/wxwidgets/interface.cpp
deleted file mode 100644 (file)
index 19fc21f..0000000
+++ /dev/null
@@ -1,1460 +0,0 @@
-/*****************************************************************************
- * interface.cpp : wxWidgets plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2006 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "interface.hpp"
-#include "playlist_manager.hpp"
-#include "extrapanel.hpp"
-#include "timer.hpp"
-#include "video.hpp"
-#include <vlc_keys.h>
-
-#include "vlc_charset.h"
-
-#include <vlc_aout.h>
-#include "vlc_charset.h"
-
-#include <vlc_interface.h>
-
-#include <wx/splitter.h>
-
-#include <wx/utils.h>                             /* wxLaunchDefaultBrowser() */
-
-/* include the toolbar graphics */
-#include "bitmaps/play.xpm"
-#include "bitmaps/pause.xpm"
-#include "bitmaps/stop.xpm"
-#include "bitmaps/prev.xpm"
-#include "bitmaps/next.xpm"
-#include "bitmaps/eject.xpm"
-#include "bitmaps/slow.xpm"
-#include "bitmaps/fast.xpm"
-#include "bitmaps/playlist.xpm"
-#include "bitmaps/playlist_small.xpm"
-#include "bitmaps/speaker.xpm"
-#include "bitmaps/speaker_mute.xpm"
-
-#define TOOLBAR_BMP_WIDTH 16
-#define TOOLBAR_BMP_HEIGHT 16
-
-/* include the icon graphic */
-#include "../../../share/vlc32x32.xpm"
-/* include a small icon graphic for the systray icon */
-#ifdef wxHAS_TASK_BAR_ICON
-#include "../../../share/vlc16x16.xpm"
-#endif
-
-/*****************************************************************************
- * Local prototypes
- *****************************************************************************/
- static int InteractCallback( vlc_object_t *, const char *, vlc_value_t,
-                             vlc_value_t, void *);
-
-/*****************************************************************************
- * Local class declarations.
- *****************************************************************************/
-class wxMenuExt: public wxMenu
-{
-public:
-    /* Constructor */
-    wxMenuExt( wxMenu* parentMenu, int id, const wxString& text,
-                   const wxString& helpString, wxItemKind kind,
-                   char *_psz_var, int _i_object_id, vlc_value_t _val,
-                   int _i_val_type );
-
-    virtual ~wxMenuExt() {};
-
-    char *psz_var;
-    int  i_val_type;
-    int  i_object_id;
-    vlc_value_t val;
-
-private:
-
-};
-
-class Splitter : public wxSplitterWindow
-{
-public:
-    Splitter( wxWindow *p_parent, intf_thread_t *_p_intf )
-      : wxSplitterWindow( p_parent, -1, wxDefaultPosition, wxSize(0,0),
-#if defined( __WXMSW__ )
-                          wxCLIP_CHILDREN ),
-#else
-                          wxCLIP_CHILDREN | wxSP_3DSASH ),
-#endif
-        p_intf(_p_intf), b_video(0), i_delay(0)
-    {
-        SetSashSize( 0 );
-
-        wxSize size = wxSize(-1, 150);
-        wxPoint p = wxPoint(0,0);
-        bool b_dummy;
-        WindowSettings *ws = p_intf->p_sys->p_window_settings;
-        ws->GetSettings( WindowSettings::ID_SMALL_PLAYLIST, b_dummy, p, size );
-
-        i_width = size.GetWidth();
-        i_sash_position = size.GetHeight();
-        b_show_on_start = !!p.x;
-    }
-
-    virtual ~Splitter()
-    {
-        WindowSettings *ws = p_intf->p_sys->p_window_settings;
-        ws->SetSettings( WindowSettings::ID_SMALL_PLAYLIST, true,
-                         wxPoint(!!GetWindow2(),0),
-                         wxSize(i_width, i_sash_position) );
-    };
-
-    virtual bool Split( wxWindow* window1, wxWindow* window2 )
-    {
-        SetSashSize( 0 );
-        wxSize size = wxSize( i_width, i_sash_position );
-        if( window2->GetSizer() ) window2->GetSizer()->SetMinSize( size );
-
-        return wxSplitterWindow::SplitHorizontally( window1, window2,
-                                                    -i_sash_position );
-    }
-
-    virtual bool Unsplit( wxWindow* window )
-    {
-        SetSashSize( 0 );
-        return wxSplitterWindow::Unsplit( window );
-    }
-
-    bool ShowOnStart() { return b_show_on_start; }
-
-private:
-    DECLARE_EVENT_TABLE()
-
-    void OnSize( wxSizeEvent &event )
-    {
-        /* If we display video, then resize the video window */
-        if( GetWindow2() &&
-            p_intf->p_sys->p_video_window && p_intf->p_sys->p_video_sizer &&
-            p_intf->p_sys->p_video_sizer->GetMinSize() != wxSize(0,0) )
-        {
-            if( !b_video ) i_delay = mdate() + 1000000;
-            b_video = true;
-
-            SetSashSize( -1 );
-
-#if defined( __WXMSW__ )
-            SetSashPosition( event.GetSize().GetHeight() - i_sash_position );
-#else
-            SetSashPosition( event.GetSize().GetHeight() -
-                             i_sash_position - GetSashSize() );
-#endif
-        }
-        else if( GetWindow2() && GetWindow1() && GetWindow1()->GetSizer() )
-        {
-            wxSize size = GetWindow1()->GetSizer()->GetMinSize();
-
-            if( b_video ) i_delay = mdate() + 1000000;
-            b_video = false;
-
-            if( event.GetSize().GetHeight() - size.GetHeight() )
-            {
-                SetSashSize( 0 );
-
-                SetSashPosition( size.GetHeight() ? size.GetHeight() : 1 );
-
-                if( i_delay < mdate() )
-                {
-                    i_sash_position = event.GetSize().GetHeight() -
-                        size.GetHeight();
-                    i_width = event.GetSize().GetWidth();
-
-                    size = wxSize( i_width, i_sash_position );
-                    if( GetWindow2()->GetSizer() )
-                        GetWindow2()->GetSizer()->SetMinSize( size );
-                }
-            }
-        }
-
-        event.Skip();
-    }
-
-    void OnSashPosChanged( wxSplitterEvent &event )
-    {
-        if( !GetSize().GetHeight() ){ event.Skip(); return; }
-
-        if( i_delay < mdate() )
-        {
-            i_sash_position = GetSize().GetHeight() - event.GetSashPosition();
-
-            wxSize size = wxSize( i_width, i_sash_position );
-            if( GetWindow2()->GetSizer() )
-                GetWindow2()->GetSizer()->SetMinSize( size );
-        }
-        event.Skip();
-    }
-
-    intf_thread_t *p_intf;
-    int i_sash_position;
-    int i_width;
-    bool b_video;
-    mtime_t i_delay;
-    bool b_show_on_start;
-};
-
-BEGIN_EVENT_TABLE(Splitter, wxSplitterWindow)
-    EVT_SIZE( Splitter::OnSize )
-    EVT_SPLITTER_SASH_POS_CHANGED(-1, Splitter::OnSashPosChanged)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-DEFINE_LOCAL_EVENT_TYPE( wxEVT_INTF );
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    /* menu items */
-    MenuDummy_Event = wxID_HIGHEST + 1000,
-    Exit_Event = wxID_HIGHEST,
-    OpenFileSimple_Event,
-    OpenAdv_Event,
-    OpenFile_Event,
-    OpenDir_Event,
-    OpenDisc_Event,
-    OpenNet_Event,
-    OpenCapture_Event,
-    OpenSat_Event,
-    OpenOther_Event,
-    EjectDisc_Event,
-
-    Wizard_Event,
-
-    Playlist_Event,
-    PlaylistSmall_Event,
-    Logs_Event,
-    FileInfo_Event,
-
-    Prefs_Event,
-    Extended_Event,
-    Bookmarks_Event,
-    Skins_Event,
-
-    StopStream_Event,
-    PlayStream_Event,
-    PrevStream_Event,
-    NextStream_Event,
-    SlowStream_Event,
-    FastStream_Event,
-    ToggleMute_Event,
-    SlideVolume_Event,
-
-    /* it is important for the id corresponding to the "About" command to have
-     * this standard value as otherwise it won't be handled properly under Mac
-     * (where it is special and put into the "Apple" menu) */
-    About_Event = wxID_ABOUT,
-    OnWebLink_Event,
-    OnWebHelp_Event,
-#ifdef UPDATE_CHECK
-    UpdateVLC_Event,
-#endif
-    //VLM_Event,
-
-    Iconize_Event,
-};
-
-DEFINE_LOCAL_EVENT_TYPE( wxEVT_INTERACTION );
-
-BEGIN_EVENT_TABLE(Interface, wxFrame)
-    /* Menu events */
-    EVT_MENU(Exit_Event, Interface::OnExit)
-    EVT_MENU(About_Event, Interface::OnAbout)
-    EVT_MENU(OnWebLink_Event, Interface::OnWebLink)
-    EVT_MENU(OnWebHelp_Event, Interface::OnWebHelp)
-#ifdef UPDATE_CHECK
-    EVT_MENU(UpdateVLC_Event, Interface::OnShowDialog)
-#endif
-    //EVT_MENU(VLM_Event, Interface::OnShowDialog)
-
-    EVT_MENU(Playlist_Event, Interface::OnShowDialog)
-    EVT_MENU(PlaylistSmall_Event, Interface::OnSmallPlaylist)
-    EVT_MENU(Logs_Event, Interface::OnShowDialog)
-    EVT_MENU(FileInfo_Event, Interface::OnShowDialog)
-    EVT_MENU(Prefs_Event, Interface::OnShowDialog)
-
-    EVT_MENU_OPEN(Interface::OnMenuOpen)
-
-    EVT_MENU( Extended_Event, Interface::OnExtended )
-
-    EVT_MENU( Bookmarks_Event, Interface::OnShowDialog)
-
-#if defined( __WXMSW__ ) || defined( __WXMAC__ )
-    EVT_CONTEXT_MENU(Interface::OnContextMenu2)
-#endif
-    EVT_RIGHT_UP(Interface::OnContextMenu)
-
-    /* Toolbar events */
-    EVT_MENU(OpenFileSimple_Event, Interface::OnShowDialog)
-    EVT_MENU(OpenAdv_Event, Interface::OnShowDialog)
-    EVT_MENU(OpenFile_Event, Interface::OnShowDialog)
-    EVT_MENU(OpenDir_Event, Interface::OnShowDialog)
-    EVT_MENU(OpenDisc_Event, Interface::OnShowDialog)
-    EVT_MENU(OpenNet_Event, Interface::OnShowDialog)
-    EVT_MENU(OpenCapture_Event, Interface::OnShowDialog)
-    EVT_MENU(OpenSat_Event, Interface::OnShowDialog)
-    EVT_MENU(Wizard_Event, Interface::OnShowDialog)
-    EVT_MENU(StopStream_Event, Interface::OnStopStream)
-    EVT_MENU(PlayStream_Event, Interface::OnPlayStream)
-    EVT_MENU(PrevStream_Event, Interface::OnPrevStream)
-    EVT_MENU(NextStream_Event, Interface::OnNextStream)
-    EVT_MENU(SlowStream_Event, Interface::OnSlowStream)
-    EVT_MENU(FastStream_Event, Interface::OnFastStream)
-    EVT_MENU(ToggleMute_Event, Interface::OnToggleMute)
-    EVT_COMMAND_SCROLL(SlideVolume_Event, Interface::OnSlideVolume)
-
-    /* Custom events */
-    EVT_COMMAND(0, wxEVT_INTF, Interface::OnControlEvent)
-    EVT_COMMAND(1, wxEVT_INTF, Interface::OnControlEvent)
-
-    EVT_COMMAND( -1, wxEVT_INTERACTION, Interface::OnInteraction )
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-Interface::Interface( intf_thread_t *_p_intf, long style ):
-    wxFrame( NULL, -1, wxT("VLC media player"),
-             wxDefaultPosition, wxSize(700,100), style )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    b_extra = false;
-    extra_frame = 0;
-    playlist_manager = 0;
-    i_update_counter = 0;
-
-
-    /* Give our interface a nice little icon */
-    SetIcon( wxIcon( (const char**) vlc_xpm ) );
-
-    /* Create a splitter window that will fill in the interface window.
-     * We need a splitter bar in order to make the embedded playlist
-     * resizable. */
-    splitter = new Splitter( this, p_intf );
-    main_sizer = new wxBoxSizer( wxVERTICAL );
-    main_sizer->Add( splitter, 1, wxEXPAND );
-    SetSizer( main_sizer );
-
-    /* Create a main panel that will fill in the interface window */
-    main_panel = new wxPanel( splitter, -1, wxPoint(0,0), wxSize(0,0),
-                              wxCLIP_CHILDREN );
-    main_panel->SetFocus();
-
-#if defined(__WXGTK20__) && wxCHECK_VERSION(2,5,6)
-    /* As ugly as your butt! Please remove when wxWidgets 2.6 fixed their
-     * Accelerators bug. */
-    main_panel->m_imData = 0;
-    m_imData = 0;
-#endif
-
-    /* Create a sizer for the main frame */
-    panel_sizer = new wxBoxSizer( wxVERTICAL );
-    main_panel->SetSizer( panel_sizer );
-
-    /* Put this in the splitter */
-    splitter->Initialize( main_panel );
-
-/* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-#ifndef __APPLE__
-#ifdef wxHAS_TASK_BAR_ICON
-    /* Systray integration */
-    p_systray = NULL;
-    if( config_GetInt( p_intf, "wx-systray" ) )
-    {
-        p_systray = new Systray( this, p_intf );
-    }
-#endif
-#endif
-
-    /* Creation of the menu bar */
-    CreateOurMenuBar();
-
-    /* Creation of the tool bar */
-    CreateOurToolBar();
-
-    /* Creation of the status bar
-     * Helptext for menu items and toolbar tools will automatically get
-     * displayed here. */
-    int i_status_width[3] = {150, 55, -1};
-    statusbar = CreateStatusBar( 3 );                            /* 2 fields */
-    statusbar->SetStatusWidths( 3, i_status_width );
-    statusbar->SetStatusText( wxString::Format(wxT("x%.2f"), 1.0), 1 );
-
-    /* Get minimum window size to prevent user from glitching it */
-    splitter->SetSizeHints( -1, 0 );
-    panel_sizer->Layout(); panel_sizer->Fit( main_panel );
-    main_sizer->Layout(); main_sizer->Fit( this );
-    main_min_size = GetSize();
-    /* FIXME HACK as far as i understan (i.e. not a lot) the toolbar
-     * doesn't take the labels into account when it returns its size */
-
-    if( config_GetInt(p_intf, "wx-labels") )
-    {
-        main_min_size.SetWidth(800);
-    }
-    splitter->SetSizeHints( -1, -1 );
-
-    /* Video window */
-    video_window = 0;
-    if( config_GetInt( p_intf, "wx-embed" ) )
-    {
-        video_window = CreateVideoWindow( p_intf, main_panel );
-        panel_sizer->Add( p_intf->p_sys->p_video_sizer, 1, wxEXPAND, 0 );
-    }
-
-    /* Creation of the input manager panel */
-    input_manager = new InputManager( p_intf, this, main_panel );
-    panel_sizer->Add( input_manager, 0, wxEXPAND , 0 );
-
-    /* Layout everything */
-    splitter->SetSizeHints( -1, 0 );
-    panel_sizer->Layout(); panel_sizer->Fit( main_panel );
-    main_sizer->Layout(); main_sizer->Fit( this );
-    splitter->SetSizeHints( -1, -1 );
-
-#if wxUSE_DRAG_AND_DROP
-    /* Associate drop targets with the main interface */
-    SetDropTarget( new DragAndDrop( p_intf ) );
-#endif
-
-    SetupHotkeys();
-
-    /* Start timer */
-    timer = new Timer( p_intf, this );
-
-    /* Restore previous position / settings */
-    WindowSettings *ws = p_intf->p_sys->p_window_settings;
-    wxPoint p;
-    wxSize s;
-    bool b_shown;
-
-    ws->SetScreen( wxSystemSettings::GetMetric( wxSYS_SCREEN_X ),
-                   wxSystemSettings::GetMetric( wxSYS_SCREEN_Y ) );
-
-    if( ws->GetSettings( WindowSettings::ID_MAIN, b_shown, p, s ) ) Move( p );
-
-    /* Show extended GUI if requested */
-    wxCommandEvent dummy;
-    if( config_GetInt( p_intf, "wx-extended" ) ) OnExtended( dummy );
-
-    SetIntfMinSize();
-
-    var_Create( p_intf, "interaction", VLC_VAR_ADDRESS );
-    var_AddCallback( p_intf, "interaction", InteractCallback, this );
-    p_intf->b_interaction = true;
-
-    /* Show embedded playlist if requested */
-    if( splitter->ShowOnStart() ) OnSmallPlaylist( dummy );
-}
-
-Interface::~Interface()
-{
-    WindowSettings *ws = p_intf->p_sys->p_window_settings;
-
-    if( !IsIconized() )
-    {
-        ws->SetSettings( WindowSettings::ID_MAIN, true,
-                         GetPosition(), GetSize() );
-    }
-
-    PopEventHandler(true);
-
-    delete video_window;
-
-/* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-#ifndef __APPLE__
-#ifdef wxHAS_TASK_BAR_ICON
-    delete p_systray;
-#endif
-#endif
-
-    p_intf->b_interaction = false;
-    var_DelCallback( p_intf, "interaction", InteractCallback, this );
-
-    delete p_intf->p_sys->p_wxwindow;
-
-
-    /* Clean up */
-    delete timer;
-}
-
-void Interface::Init()
-{
-    /* Misc init */
-    SetupHotkeys();
-}
-
-void Interface::Update()
-{
-    /* Misc updates */
-
-    if( playlist_manager ) playlist_manager->Update();
-
-    i_update_counter++;
-}
-
-void Interface::OnControlEvent( wxCommandEvent& event )
-{
-    switch( event.GetId() )
-    {
-    case 0:
-        main_sizer->Layout();
-        main_sizer->Fit( this );
-        break;
-
-    case 1:
-        long i_style = GetWindowStyle();
-        if( event.GetInt() ) i_style |= wxSTAY_ON_TOP;
-        else i_style &= ~wxSTAY_ON_TOP;
-        SetWindowStyle( i_style );
-        break;
-    }
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-void Interface::CreateOurMenuBar()
-{
-    int minimal = config_GetInt( p_intf, "wx-minimal" );
-
-    /* Create the "File" menu */
-    wxMenu *file_menu = new wxMenu;
-
-    if (!minimal)
-    {
-    file_menu->Append( OpenFileSimple_Event,
-                       wxU(_("Quick &Open File...\tCtrl-O")) );
-
-    file_menu->AppendSeparator();
-    file_menu->Append( OpenFile_Event, wxU(_("Open &File...\tCtrl-F")) );
-    file_menu->Append( OpenDir_Event, wxU(_("Open Dir&ectory...\tCtrl-E")) );
-    file_menu->Append( OpenDisc_Event, wxU(_("Open &Disc...\tCtrl-D")) );
-    file_menu->Append( OpenNet_Event,
-                       wxU(_("Open &Network Stream...\tCtrl-N")) );
-    file_menu->Append( OpenCapture_Event,
-                       wxU(_("Open C&apture Device...\tCtrl-A")) );
-
-    file_menu->AppendSeparator();
-    file_menu->Append( Wizard_Event, wxU(_("&Wizard...\tCtrl-W")) );
-    file_menu->AppendSeparator();
-    }
-    file_menu->Append( Exit_Event, wxU(_("E&xit\tCtrl-X")) );
-
-    /* Create the "View" menu */
-    wxMenu *view_menu = new wxMenu;
-    if (!minimal)
-    {
-    view_menu->Append( Playlist_Event, wxU(_("&Playlist...\tCtrl-P")) );
-    }
-    view_menu->Append( Logs_Event, wxU(_("&Messages...\tCtrl-M")) );
-    view_menu->Append( FileInfo_Event,
-                       wxU(_("Stream and Media &Info...\tCtrl-I")) );
-#if 0
-    view_menu->Append( VLM_Event,
-                       wxU(_("VLM Control...\tCtrl-V")) );
-#endif
-
-    /* Create the "Auto-generated" menus */
-    p_settings_menu = SettingsMenu( p_intf, this );
-    p_audio_menu = AudioMenu( p_intf, this );
-    p_video_menu = VideoMenu( p_intf, this );
-    p_navig_menu = NavigMenu( p_intf, this );
-
-    /* Create the "Help" menu */
-    wxMenu *help_menu = new wxMenu;
-    help_menu->Append( OnWebLink_Event, wxU(_("VideoLAN's Website")) );
-    help_menu->Append( OnWebHelp_Event, wxU(_("Online Help")) );
-    help_menu->AppendSeparator();
-    help_menu->Append( About_Event, wxU(_("About...")) );
-#ifdef UPDATE_CHECK
-    help_menu->AppendSeparator();
-    help_menu->Append( UpdateVLC_Event, wxU(_("Check for Updates...")) );
-#endif
-
-    /* Append the freshly created menus to the menu bar... */
-    wxMenuBar *menubar = new wxMenuBar();
-    menubar->Append( file_menu, wxU(_("&File")) );
-    menubar->Append( view_menu, wxU(_("V&iew")) );
-    menubar->Append( p_settings_menu, wxU(_("&Settings")) );
-    menubar->Append( p_audio_menu, wxU(_("&Audio")) );
-    menubar->Append( p_video_menu, wxU(_("&Video")) );
-    menubar->Append( p_navig_menu, wxU(_("&Navigation")) );
-    menubar->Append( help_menu, wxU(_("&Help")) );
-
-    /* Attach the menu bar to the frame */
-    SetMenuBar( menubar );
-
-    /* Find out size of menu bar */
-    int i_size = 0;
-    for( unsigned int i = 0; i < menubar->GetMenuCount(); i++ )
-    {
-        int i_width, i_height;
-        menubar->GetTextExtent( menubar->GetLabelTop(i), &i_width, &i_height );
-        i_size += i_width +
-#if defined(__WXGTK__)
-            22 /* approximate margin */;
-#else
-#if (wxMAJOR_VERSION <= 2) && (wxMINOR_VERSION <= 5) && (wxRELEASE_NUMBER < 3)
-            4 /* approximate margin */;
-#else
-            18 /* approximate margin */;
-#endif
-#endif
-    }
-
-/* Patch by zcot for menu wrapping */
-#if defined(WIN32)
-    /* Find out size of msw menu bar */
-    i_size = 0;
-    SIZE sizing;
-    HDC hdc = GetDC( NULL );
-    for( unsigned int i = 0; i < menubar->GetMenuCount(); i++ )
-    {
-        GetTextExtentPoint32( hdc, menubar->GetLabelTop(i).c_str(),
-                                menubar->GetLabelTop(i).Length(), &sizing );
-
-        // [ SM_CXDLGFRAME + pixels + textextent + pixels + SM_CXDLGFRAME ]
-        i_size += sizing.cx + 2 + GetSystemMetrics( SM_CXDLGFRAME ) * 2;
-    }
-    ReleaseDC( NULL, hdc );
-    i_size += GetSystemMetrics( SM_CXSIZEFRAME ) * 2 + 4;
-#endif
-/* End patch by zcot */
-
-    panel_sizer->SetMinSize( i_size, -1 );
-
-    /* Intercept all menu events in our custom event handler */
-    PushEventHandler( new MenuEvtHandler( p_intf, this ) );
-
-#if wxUSE_DRAG_AND_DROP
-    /* Associate drop targets with the menubar */
-    menubar->SetDropTarget( new DragAndDrop( p_intf ) );
-#endif
-}
-
-void Interface::CreateOurToolBar()
-{
-#define HELP_OPEN N_("Open")
-#define HELP_STOP N_("Stop")
-#define HELP_PLAY N_("Play")
-#define HELP_PAUSE N_("Pause")
-#define HELP_PLO N_("Playlist")
-#define HELP_SPLO N_("Embedded playlist")
-#define HELP_PLP N_("Previous playlist item")
-#define HELP_PLN N_("Next playlist item")
-#define HELP_SLOW N_("Play slower")
-#define HELP_FAST N_("Play faster")
-#define HELP_VOL N_("Toggle mute/unmute of the audio")
-
-#define LABEL_OPEN N_("Open")
-#define LABEL_STOP N_("Stop")
-#define LABEL_PLAY N_("Play")
-#define LABEL_PAUSE N_("Pause")
-#define LABEL_PLO N_("Playlist")
-#define LABEL_SPLO N_("Embedded playlist")
-#define LABEL_PLP N_("Previous")
-#define LABEL_PLN N_("Next")
-#define LABEL_SLOW N_("Slower")
-#define LABEL_FAST N_("Faster")
-#define LABEL_VOL N_("Mute")
-
-    int minimal = config_GetInt( p_intf, "wx-minimal" );
-    bool label = config_GetInt( p_intf, "wx-labels" );
-
-    wxLogNull LogDummy; /* Hack to suppress annoying log message on the win32
-                         * version because we don't include wx.rc */
-
-    wxToolBar *toolbar =
-        CreateToolBar( label?wxTB_HORIZONTAL | wxTB_FLAT |wxTB_TEXT:
-                       wxTB_HORIZONTAL | wxTB_FLAT );
-
-    toolbar->SetToolBitmapSize( wxSize(TOOLBAR_BMP_WIDTH,TOOLBAR_BMP_HEIGHT) );
-
-    if (!minimal)
-    {
-    toolbar->AddTool( OpenFile_Event, wxU(LABEL_OPEN),
-                      wxBitmap( eject_xpm ), wxU(_(HELP_OPEN)) );
-    toolbar->AddSeparator();
-    }
-
-    wxToolBarToolBase *p_tool = toolbar->AddTool( PlayStream_Event, wxU(LABEL_PLAY),
-                      wxBitmap( play_xpm ), wxU(_(HELP_PLAY)), wxITEM_CHECK );
-    p_tool->SetClientData( p_tool );
-
-    if (!minimal)
-    {
-    toolbar->AddTool( StopStream_Event, wxU(LABEL_STOP), wxBitmap( stop_xpm ),
-                      wxU(_(HELP_STOP)) );
-    toolbar->AddSeparator();
-
-    toolbar->AddTool( PrevStream_Event, wxU(LABEL_PLP),
-                      wxBitmap( prev_xpm ), wxU(_(HELP_PLP)) );
-    toolbar->AddTool( SlowStream_Event, wxU(LABEL_SLOW),
-                      wxBitmap( slow_xpm ), wxU(_(HELP_SLOW)) );
-    toolbar->AddTool( FastStream_Event, wxU(LABEL_FAST),
-                      wxBitmap( fast_xpm ), wxU(_(HELP_FAST)) );
-    toolbar->AddTool( NextStream_Event, wxU(LABEL_PLN), wxBitmap( next_xpm ),
-                      wxU(_(HELP_PLN)) );
-    toolbar->AddSeparator();
-    if( config_GetInt( p_intf, "wx-playlist-view" ) != 1 )
-        toolbar->AddTool( Playlist_Event, wxU(LABEL_PLO),
-                          wxBitmap( playlist_xpm ), wxU(_(HELP_PLO)) );
-    if( config_GetInt( p_intf, "wx-playlist-view" ) >= 1 )
-        toolbar->AddTool( PlaylistSmall_Event, wxU(LABEL_SPLO),
-                          wxBitmap( playlist_small_xpm ), wxU(_(HELP_SPLO)) );
-    }
-
-    wxToolBarToolBase *v_tool = toolbar->AddTool( ToggleMute_Event,
-                         wxU(LABEL_VOL), wxBitmap( speaker_xpm ),
-                         wxU(_(HELP_VOL)), wxITEM_CHECK );
-    v_tool->SetClientData( v_tool );
-
-    wxSlider *v_gauge = new wxSlider(toolbar, SlideVolume_Event, 256, 0,
-                            AOUT_VOLUME_MAX, wxDefaultPosition,
-                            wxSize(64,TOOLBAR_BMP_HEIGHT), wxSL_HORIZONTAL);
-    toolbar->AddControl(v_gauge);
-
-    toolbar->Realize();
-
-#if wxUSE_DRAG_AND_DROP
-    /* Associate drop targets with the toolbar */
-    toolbar->SetDropTarget( new DragAndDrop( p_intf ) );
-#endif
-}
-
-static int ConvertHotkeyModifiers( int i_hotkey )
-{
-    int i_accel_flags = 0;
-    if( i_hotkey & KEY_MODIFIER_ALT ) i_accel_flags |= wxACCEL_ALT;
-    if( i_hotkey & KEY_MODIFIER_CTRL ) i_accel_flags |= wxACCEL_CTRL;
-    if( i_hotkey & KEY_MODIFIER_SHIFT ) i_accel_flags |= wxACCEL_SHIFT;
-    if( !i_accel_flags ) i_accel_flags = wxACCEL_NORMAL;
-    return i_accel_flags;
-}
-
-static int ConvertHotkey( int i_hotkey )
-{
-    int i_key = i_hotkey & ~KEY_MODIFIER;
-    if( i_key & KEY_ASCII ) return i_key & KEY_ASCII;
-    else if( i_key & KEY_SPECIAL )
-    {
-        switch ( i_key )
-        {
-        case KEY_LEFT: return WXK_LEFT;
-        case KEY_RIGHT: return WXK_RIGHT;
-        case KEY_UP: return WXK_UP;
-        case KEY_DOWN: return WXK_DOWN;
-        case KEY_SPACE: return WXK_SPACE;
-        case KEY_ENTER: return WXK_RETURN;
-        case KEY_F1: return WXK_F1;
-        case KEY_F2: return WXK_F2;
-        case KEY_F3: return WXK_F3;
-        case KEY_F4: return WXK_F4;
-        case KEY_F5: return WXK_F5;
-        case KEY_F6: return WXK_F6;
-        case KEY_F7: return WXK_F7;
-        case KEY_F8: return WXK_F8;
-        case KEY_F9: return WXK_F9;
-        case KEY_F10: return WXK_F10;
-        case KEY_F11: return WXK_F11;
-        case KEY_F12: return WXK_F12;
-        case KEY_HOME: return WXK_HOME;
-        case KEY_END: return WXK_END;
-        case KEY_INSERT: return WXK_INSERT;
-        case KEY_DELETE: return WXK_DELETE;
-        case KEY_MENU: return WXK_MENU;
-        case KEY_ESC: return WXK_ESCAPE;
-        case KEY_PAGEUP: return WXK_PRIOR;
-        case KEY_PAGEDOWN: return WXK_NEXT;
-        case KEY_TAB: return WXK_TAB;
-        case KEY_BACKSPACE: return WXK_BACK;
-        }
-    }
-    return WXK_F24;
-}
-
-void Interface::SetupHotkeys()
-{
-    struct libvlc_int_t::hotkey *p_hotkeys = p_intf->p_libvlc->p_hotkeys;
-    int i_hotkeys;
-
-    /* Count number of hoteys */
-    for( i_hotkeys = 0; p_hotkeys[i_hotkeys].psz_action != NULL; i_hotkeys++ );
-
-    p_intf->p_sys->i_first_hotkey_event = wxID_HIGHEST + 7000;
-    p_intf->p_sys->i_hotkeys = i_hotkeys;
-
-    wxAcceleratorEntry *p_entries = new wxAcceleratorEntry[i_hotkeys];
-
-    /* Setup the hotkeys as accelerators */
-    for( int i = 0; i < i_hotkeys; i++ )
-    {
-        int i_mod = ConvertHotkeyModifiers( p_hotkeys[i].i_key );
-        int i_key = ConvertHotkey( p_hotkeys[i].i_key );
-
-#ifdef WIN32
-        if( !(p_hotkeys[i].i_key & KEY_SPECIAL) && i_mod )
-            i_key = toupper(i_key);
-#endif
-
-        p_entries[i].Set( i_mod, i_key,
-                          p_intf->p_sys->i_first_hotkey_event + i );
-    }
-
-    wxAcceleratorTable accel( i_hotkeys, p_entries );
-
-    if( !accel.Ok() )
-    {
-        msg_Err( p_intf, "invalid accelerator table" );
-    }
-    else
-    {
-        SetAcceleratorTable( accel );
-    }
-
-    delete [] p_entries;
-}
-
-void Interface::SetIntfMinSize()
-{
-    wxSize ms = main_min_size;
-
-    if( extra_frame && extra_frame->IsShown() )
-    {
-        ms.SetHeight( ms.GetHeight() + ext_min_size.GetHeight() );
-        if( ext_min_size.GetWidth() > ms.GetWidth() )
-            ms.SetWidth( ext_min_size.GetWidth() );
-    }
-
-    SetSizeHints( ms.GetWidth(), ms.GetHeight() );
-}
-
-/*****************************************************************************
- * Event Handlers.
- *****************************************************************************/
-void Interface::OnMenuOpen( wxMenuEvent& event )
-{
-#if defined( __WXMSW__ )
-#   define GetEventObject GetMenu
-#endif
-
-    if( event.GetEventObject() == p_settings_menu )
-    {
-        p_settings_menu = SettingsMenu( p_intf, this, p_settings_menu );
-
-        /* Add static items */
-        p_settings_menu->AppendCheckItem( Extended_Event,
-            wxU(_("Extended &GUI\tCtrl-G") ) );
-        if( b_extra ) p_settings_menu->Check( Extended_Event, TRUE );
-        p_settings_menu->Append( Bookmarks_Event,
-                                 wxU(_("&Bookmarks...\tCtrl-B") ) );
-        p_settings_menu->Append( Prefs_Event,
-                                 wxU(_("Preference&s...\tCtrl-S")) );
-    }
-
-    else if( event.GetEventObject() == p_audio_menu )
-    {
-        p_audio_menu = AudioMenu( p_intf, this, p_audio_menu );
-    }
-
-    else if( event.GetEventObject() == p_video_menu )
-    {
-        p_video_menu = VideoMenu( p_intf, this, p_video_menu );
-    }
-
-    else if( event.GetEventObject() == p_navig_menu )
-    {
-        p_navig_menu = NavigMenu( p_intf, this, p_navig_menu );
-    }
-
-#if defined( __WXMSW__ )
-#   undef GetEventObject
-#endif
-}
-
-#if defined( __WXMSW__ ) || defined( __WXMAC__ )
-void Interface::OnContextMenu2(wxContextMenuEvent& event)
-{
-    /* Only show the context menu for the main interface */
-    if( GetId() != event.GetId() )
-    {
-        event.Skip();
-        return;
-    }
-
-    if( p_intf->p_sys->pf_show_dialog )
-        p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU, 1, 0 );
-}
-#endif
-void Interface::OnContextMenu(wxMouseEvent& event)
-{
-    if( p_intf->p_sys->pf_show_dialog )
-        p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU, 1, 0 );
-}
-
-void Interface::OnExit( wxCommandEvent& WXUNUSED(event) )
-{
-    /* TRUE is to force the frame to close. */
-    Close(TRUE);
-}
-
-void Interface::OnAbout( wxCommandEvent& WXUNUSED(event) )
-{
-    wxString msg;
-    msg.Printf( wxString(wxT("VLC media player " VERSION_MESSAGE)) +
-        wxU(_(" (wxWidgets interface)\n\n")) +
-        wxU(_("(c) " COPYRIGHT_YEARS " - the VideoLAN Team\n\n")) +
-       wxU(_("Compiled by "))+ wxU(VLC_CompileBy())+ wxU("@") +
-       wxU(VLC_CompileHost())+ wxT(".")+ wxU(VLC_CompileDomain())+ wxT(".\n") +
-       wxU(_("Compiler: "))+ wxU(VLC_Compiler())+wxT( ".\n") +
-       wxU(_("Based on Git commit: "))+wxU(VLC_Changeset())+wxT(".\n\n") +
-#ifdef __WXMSW__
-        wxU( vlc_wraptext(LICENSE_MSG,WRAPCOUNT) ) + wxT("\n\n") +
-#else
-        wxU( LICENSE_MSG ) + wxT("\n\n") +
-#endif
-        wxU(_("The VideoLAN team <videolan@videolan.org>\n"
-              "http://www.videolan.org/\n\n")) );
-    wxMessageBox( msg, wxString::Format(wxU(_("About %s")),
-                  wxT("VLC media player")), wxOK | wxICON_INFORMATION, this );
-}
-
-void Interface::OnWebLink( wxCommandEvent& WXUNUSED(event) )
-{
-    wxLaunchDefaultBrowser( wxU("http://videolan.org/") );
-}
-
-void Interface::OnWebHelp( wxCommandEvent& WXUNUSED(event) )
-{
-    wxLaunchDefaultBrowser( wxU("http://videolan.org/doc/") );
-}
-
-void Interface::OnShowDialog( wxCommandEvent& event )
-{
-    if( p_intf->p_sys->pf_show_dialog )
-    {
-        int i_id;
-
-        switch( event.GetId() )
-        {
-        case OpenFileSimple_Event:
-            i_id = INTF_DIALOG_FILE_SIMPLE;
-            break;
-        case OpenAdv_Event:
-            i_id = INTF_DIALOG_FILE;
-            break;
-        case OpenFile_Event:
-            i_id = INTF_DIALOG_FILE;
-            break;
-        case OpenDir_Event:
-            i_id = INTF_DIALOG_DIRECTORY;
-            break;
-        case OpenDisc_Event:
-            i_id = INTF_DIALOG_DISC;
-            break;
-        case OpenNet_Event:
-            i_id = INTF_DIALOG_NET;
-            break;
-        case OpenCapture_Event:
-            i_id = INTF_DIALOG_CAPTURE;
-            break;
-        case OpenSat_Event:
-            i_id = INTF_DIALOG_SAT;
-            break;
-        case Playlist_Event:
-            i_id = INTF_DIALOG_PLAYLIST;
-            break;
-        case Logs_Event:
-            i_id = INTF_DIALOG_MESSAGES;
-            break;
-        case FileInfo_Event:
-            i_id = INTF_DIALOG_FILEINFO;
-            break;
-        case Prefs_Event:
-            i_id = INTF_DIALOG_PREFS;
-            break;
-        case Wizard_Event:
-            i_id = INTF_DIALOG_WIZARD;
-            break;
-        case Bookmarks_Event:
-            i_id = INTF_DIALOG_BOOKMARKS;
-            break;
-#ifdef UPDATE_CHECK
-        case UpdateVLC_Event:
-            i_id = INTF_DIALOG_UPDATEVLC;
-            break;
-#endif
-#if 0
-        case VLM_Event:
-            i_id = INTF_DIALOG_VLM;
-            break;
-#endif
-        default:
-            i_id = INTF_DIALOG_FILE;
-            break;
-        }
-
-        p_intf->p_sys->pf_show_dialog( p_intf, i_id, 1, 0 );
-    }
-}
-
-void Interface::OnExtended( wxCommandEvent& WXUNUSED(event) )
-{
-    UpdateVideoWindow( p_intf, video_window );
-
-    if( !extra_frame )
-    {
-        /* Create the extra panel */
-        extra_frame = new ExtraPanel( p_intf, main_panel );
-        panel_sizer->Add( extra_frame, 0, wxEXPAND , 0 );
-        ext_min_size = extra_frame->GetBestSize();
-    }
-
-    b_extra = !b_extra;
-    panel_sizer->Show( extra_frame, b_extra );
-
-    SetIntfMinSize();
-    main_sizer->Layout();
-    main_sizer->Fit( this );
-}
-
-void Interface::OnSmallPlaylist( wxCommandEvent& WXUNUSED(event) )
-{
-    UpdateVideoWindow( p_intf, video_window );
-
-    if( !playlist_manager )
-    {
-        /* Create the extra panel */
-        playlist_manager = new PlaylistManager( p_intf, splitter );
-    }
-
-    if( !splitter->IsSplit() ) splitter->Split( main_panel, playlist_manager );
-    else splitter->Unsplit( playlist_manager );
-
-    SetIntfMinSize();
-    main_sizer->Layout();
-    main_sizer->Fit( this );
-}
-
-void Interface::OnPlayStream( wxCommandEvent& WXUNUSED(event) )
-{
-    PlayStream();
-}
-
-void Interface::PlayStream()
-{
-    wxCommandEvent dummy;
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL ) return;
-
-    if( !playlist_IsEmpty(p_playlist) )
-    {
-        vlc_value_t state;
-
-        input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf,
-                                                       VLC_OBJECT_INPUT,
-                                                       FIND_ANYWHERE );
-        if( p_input == NULL )
-        {
-            /* No stream was playing, start one */
-            playlist_Play( p_playlist );
-            pl_Release( p_intf );
-            input_manager->Update();
-            return;
-        }
-
-        var_Get( p_input, "state", &state );
-        if( state.i_int != PAUSE_S )
-        {
-            /* A stream is being played, pause it */
-            state.i_int = PAUSE_S;
-        }
-        else
-        {
-            /* Stream is paused, resume it */
-            state.i_int = PLAYING_S;
-        }
-        var_Set( p_input, "state", state );
-
-        vlc_object_release( p_input );
-        pl_Release( p_intf );
-        input_manager->Update();
-    }
-    else
-    {
-        /* If the playlist is empty, open a file requester instead */
-        pl_Release( p_intf );
-        OnShowDialog( dummy );
-        GetToolBar()->ToggleTool( PlayStream_Event, false );
-    }
-}
-
-void Interface::OnStopStream( wxCommandEvent& WXUNUSED(event) )
-{
-    StopStream();
-}
-void Interface::StopStream()
-{
-    playlist_t * p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    playlist_Stop( p_playlist );
-    pl_Release( p_intf );
-    input_manager->Update();
-}
-
-void Interface::OnPrevStream( wxCommandEvent& WXUNUSED(event) )
-{
-    PrevStream();
-}
-
-void Interface::PrevStream()
-{
-    playlist_t * p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    playlist_Prev( p_playlist );
-    pl_Release( p_intf );
-}
-
-void Interface::OnNextStream( wxCommandEvent& WXUNUSED(event) )
-{
-    NextStream();
-}
-
-void Interface::NextStream()
-{
-    playlist_t * p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-    playlist_Next( p_playlist );
-    pl_Release( p_intf );
-}
-
-void Interface::OnSlowStream( wxCommandEvent& WXUNUSED(event) )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( p_input )
-    {
-        vlc_value_t val; val.b_bool = true;
-
-        var_Set( p_input, "rate-slower", val );
-        vlc_object_release( p_input );
-    }
-}
-
-void Interface::OnFastStream( wxCommandEvent& WXUNUSED(event) )
-{
-    input_thread_t *p_input =
-        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                           FIND_ANYWHERE );
-    if( p_input )
-    {
-        vlc_value_t val; val.b_bool = true;
-
-        var_Set( p_input, "rate-faster", val );
-        vlc_object_release( p_input );
-    }
-}
-
-void Interface::OnToggleMute ( wxCommandEvent& WXUNUSED(event) )
-{
-    aout_VolumeMute(p_intf, NULL);
-    SyncVolume();
-
-}
-
-void Interface::SyncVolume()
-{
-    wxToolBarToolBase *p_tool = (wxToolBarToolBase *)
-        GetToolBar()->GetToolClientData( ToggleMute_Event );
-    if ( !p_tool) return;
-
-    audio_volume_t i_volume;
-    aout_VolumeGet(p_intf, &i_volume);
-
-    /* Updating the Mute Button... IF the slider is completely moved to the left,
-     * the mute icon is shown too. */
-    p_tool->SetNormalBitmap( wxBitmap( i_volume ? speaker_xpm : speaker_mute_xpm ) );
-    GetToolBar()->Realize();
-#if defined( __WXMSW__ )
-    /* Needed to work around a bug in wxToolBar::Realize() */
-    GetToolBar()->SetSize( GetSize().GetWidth(),
-                           GetToolBar()->GetSize().GetHeight() );
-    GetToolBar()->Update();
-#endif
-    /* the Toggle to true and false is nescessary; otherwise, the Icon
-     * is not repainted */
-    GetToolBar()->ToggleTool( ToggleMute_Event, true );
-    GetToolBar()->ToggleTool( ToggleMute_Event, false );
-    GetToolBar()->Update();
-}
-
-void Interface::OnSlideVolume( wxScrollEvent& WXUNUSED(event))
-{
-    wxSlider *p_tool = (wxSlider *)
-        GetToolBar()->FindControl( SlideVolume_Event );
-    if ( !p_tool) return;
-
-    aout_VolumeSet(p_intf , p_tool->GetValue());
-    SyncVolume();
-
-}
-
-void Interface::TogglePlayButton( int i_playing_status )
-{
-    wxToolBarToolBase *p_tool = (wxToolBarToolBase *)
-        GetToolBar()->GetToolClientData( PlayStream_Event );
-    if( !p_tool ) return;
-
-    if( i_playing_status == PLAYING_S )
-    {
-        p_tool->SetNormalBitmap( wxBitmap( pause_xpm ) );
-        p_tool->SetLabel( wxU(_("Pause")) );
-        p_tool->SetShortHelp( wxU(_(HELP_PAUSE)) );
-    }
-    else
-    {
-        p_tool->SetNormalBitmap( wxBitmap( play_xpm ) );
-        p_tool->SetLabel( wxU(_("Play")) );
-        p_tool->SetShortHelp( wxU(_(HELP_PLAY)) );
-    }
-
-    GetToolBar()->Realize();
-
-#if defined( __WXMSW__ )
-    /* Needed to work around a bug in wxToolBar::Realize() */
-    GetToolBar()->SetSize( GetSize().GetWidth(),
-                           GetToolBar()->GetSize().GetHeight() );
-    GetToolBar()->Update();
-#endif
-
-    GetToolBar()->ToggleTool( PlayStream_Event, true );
-    GetToolBar()->ToggleTool( PlayStream_Event, false );
-}
-
-void Interface::OnInteraction( wxCommandEvent& event )
-{
-    interaction_dialog_t *p_dialog = (interaction_dialog_t *)
-                                        event.GetClientData();
-
-    intf_dialog_args_t *p_arg = new intf_dialog_args_t;
-    p_arg->p_dialog = p_dialog;
-    p_arg->p_intf = p_intf;
-
-    p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_INTERACTION,
-                                       0, p_arg );
-
-}
-
-static int InteractCallback( vlc_object_t *p_this,
-                             const char *psz_var, vlc_value_t old_val,
-                             vlc_value_t new_val, void *param )
-{
-    Interface *p_interface = (Interface*)param;
-    /*interaction_dialog_t *p_dialog = (interaction_dialog_t*)(new_val.p_address);*/
-
-    wxCommandEvent event( wxEVT_INTERACTION, -1 );
-    event.SetClientData( new_val.p_address );
-    p_interface->AddPendingEvent( event );
-    return VLC_SUCCESS;
-}
-
-#if wxUSE_DRAG_AND_DROP
-/*****************************************************************************
- * Definition of DragAndDrop class.
- *****************************************************************************/
-DragAndDrop::DragAndDrop( intf_thread_t *_p_intf, bool _b_enqueue )
-{
-    p_intf = _p_intf;
-    b_enqueue = _b_enqueue;
-}
-
-bool DragAndDrop::OnDropFiles( wxCoord, wxCoord,
-                               const wxArrayString& filenames )
-{
-    /* Add dropped files to the playlist */
-    playlist_t *p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL )
-    {
-        return FALSE;
-    }
-
-    /* If we drag & drop a subtitle file, add it on the fly */
-    if( filenames.GetCount() == 1 )
-    {
-        char *psz_utf8 = wxDnDFromLocale( filenames[0] );
-        input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf,
-                                            VLC_OBJECT_INPUT, FIND_ANYWHERE );
-        if( p_input )
-        {
-            if( !input_AddSubtitle( p_input, psz_utf8, true ) )
-            {
-                vlc_object_release( p_input );
-                wxDnDLocaleFree( psz_utf8 );
-                pl_Release( p_intf );
-                return TRUE;
-            }
-            vlc_object_release( p_input );
-        }
-        wxDnDLocaleFree( psz_utf8 );
-    }
-
-    for( size_t i = 0; i < filenames.GetCount(); i++ )
-    {
-        char *psz_utf8 = wxDnDFromLocale( filenames[i] );
-
-        playlist_Add( p_playlist, psz_utf8, NULL,
-                      PLAYLIST_APPEND | ((i | b_enqueue) ? 0 : PLAYLIST_GO),
-                      PLAYLIST_END, true, false );
-
-        wxDnDLocaleFree( psz_utf8 );
-    }
-    pl_Release( p_intf );
-
-    return TRUE;
-}
-#endif
-
-/*****************************************************************************
- * Systray class.
- *****************************************************************************/
-
-/* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-#ifndef __APPLE__
-#ifdef wxHAS_TASK_BAR_ICON
-
-BEGIN_EVENT_TABLE(Systray, wxTaskBarIcon)
-    /* Mouse events */
-#ifdef WIN32
-    EVT_TASKBAR_LEFT_DCLICK(Systray::OnLeftClick)
-#else
-    EVT_TASKBAR_LEFT_DOWN(Systray::OnLeftClick)
-#endif
-    /* Menu events */
-    EVT_MENU(Iconize_Event, Systray::OnMenuIconize)
-    EVT_MENU(Exit_Event, Systray::OnExit)
-    EVT_MENU(PlayStream_Event, Systray::OnPlayStream)
-    EVT_MENU(NextStream_Event, Systray::OnNextStream)
-    EVT_MENU(PrevStream_Event, Systray::OnPrevStream)
-    EVT_MENU(StopStream_Event, Systray::OnStopStream)
-END_EVENT_TABLE()
-
-Systray::Systray( Interface *_p_main_interface, intf_thread_t *_p_intf )
-{
-    p_main_interface = _p_main_interface;
-    p_intf = _p_intf;
-
-    SetIcon( wxIcon( (const char**) vlc16x16_xpm ), wxT("VLC media player") );
-    if( !IsOk() || !IsIconInstalled() )
-    {
-        msg_Warn(p_intf, "cannot set systray icon, weird things may happen");
-    }
-}
-
-/* Event handlers */
-void Systray::OnMenuIconize( wxCommandEvent& event )
-{
-    p_main_interface->Show( ! p_main_interface->IsShown() );
-    if ( p_main_interface->IsShown() ) p_main_interface->Raise();
-}
-
-void Systray::OnLeftClick( wxTaskBarIconEvent& event )
-{
-    wxCommandEvent cevent;
-    OnMenuIconize(cevent);
-}
-
-void Systray::OnExit( wxCommandEvent& event )
-{
-    p_main_interface->Close(TRUE);
-}
-
-void Systray::OnPrevStream( wxCommandEvent& event )
-{
-    p_main_interface->PrevStream();
-}
-
-void Systray::OnNextStream( wxCommandEvent& event )
-{
-    p_main_interface->NextStream();
-}
-
-void Systray::OnPlayStream( wxCommandEvent& event )
-{
-    p_main_interface->PlayStream();
-}
-
-void Systray::OnStopStream( wxCommandEvent& event )
-{
-    p_main_interface->StopStream();
-}
-
-/* Systray popup menu */
-wxMenu* Systray::CreatePopupMenu()
-{
-    int minimal = config_GetInt( p_intf, "wx-minimal" );
-
-    wxMenu* systray_menu = new wxMenu;
-    systray_menu->Append( Exit_Event, wxU(_("Quit VLC")) );
-    systray_menu->AppendSeparator();
-    systray_menu->Append( PlayStream_Event, wxU(_("Play/Pause")) );
-
-    if (!minimal)
-    {
-    systray_menu->Append( PrevStream_Event, wxU(_("Previous")) );
-    systray_menu->Append( NextStream_Event, wxU(_("Next")) );
-    systray_menu->Append( StopStream_Event, wxU(_("Stop")) );
-    }
-    systray_menu->AppendSeparator();
-    systray_menu->Append( Iconize_Event, wxU(_("Show/Hide Interface")) );
-    return systray_menu;
-}
-
-void Systray::UpdateTooltip( const wxChar* tooltip )
-{
-    SetIcon( wxIcon( (const char**) vlc16x16_xpm ), tooltip );
-}
-#endif
-#endif
diff --git a/modules/gui/wxwidgets/interface.hpp b/modules/gui/wxwidgets/interface.hpp
deleted file mode 100644 (file)
index 9416792..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-/*****************************************************************************
- * interface.hpp: Main interface headers
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_INTERFACE_H_
-#define _WXVLC_INTERFACE_H_
-
-#include "wxwidgets.hpp"
-#include "input_manager.hpp"
-
-#include <wx/dnd.h>
-#include <wx/accel.h>
-#include <wx/taskbar.h>
-
-class Splitter;
-
-namespace wxvlc
-{
-    class Timer;
-    class Interface;
-
-#if wxUSE_DRAG_AND_DROP
-    /* Drag and Drop class */
-    class DragAndDrop: public wxFileDropTarget
-    {
-    public:
-        DragAndDrop( intf_thread_t *_p_intf, bool b_enqueue = false );
-        virtual bool OnDropFiles( wxCoord x, wxCoord y,
-                                  const wxArrayString& filenames );
-
-    private:
-        intf_thread_t *p_intf;
-        bool b_enqueue;
-    };
-#endif
-
-    /* Systray integration */
-/* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-#ifndef __APPLE__
-#ifdef wxHAS_TASK_BAR_ICON
-   class Systray: public wxTaskBarIcon
-   {
-   public:
-        Systray( Interface* p_main_interface, intf_thread_t *p_intf );
-        virtual ~Systray() {};
-        wxMenu* CreatePopupMenu();
-        void UpdateTooltip( const wxChar* tooltip );
-
-    private:
-        void OnMenuIconize( wxCommandEvent& event );
-        void OnLeftClick( wxTaskBarIconEvent& event );
-        void OnPlayStream ( wxCommandEvent& event );
-        void OnStopStream ( wxCommandEvent& event );
-        void OnPrevStream ( wxCommandEvent& event );
-        void OnNextStream ( wxCommandEvent& event );
-        void OnExit(  wxCommandEvent& event );
-        Interface* p_main_interface;
-        intf_thread_t *p_intf;
-        DECLARE_EVENT_TABLE()
-    };
-#endif
-#endif
-
-    /* Main Interface */
-    class Interface: public wxFrame
-    {
-    public:
-        /* Constructor */
-        Interface( intf_thread_t *p_intf, long style = wxDEFAULT_FRAME_STYLE );
-        virtual ~Interface();
-        void Init();
-        void TogglePlayButton( int i_playing_status );
-        void Update();
-        void PlayStream();
-        void StopStream();
-        void PrevStream();
-        void NextStream();
-
-        wxBoxSizer  *main_sizer;
-        Splitter    *splitter;
-
-        wxPanel     *main_panel;
-        wxBoxSizer  *panel_sizer;
-
-        wxStatusBar *statusbar;
-
-        InputManager *input_manager;
-
-        wxControl  *volctrl;
-
-    /* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-    #ifndef __APPLE__
-    #ifdef wxHAS_TASK_BAR_ICON
-        Systray     *p_systray;
-    #endif
-    #endif
-
-        wxWindow *video_window;
-
-    private:
-        void SetupHotkeys();
-        void CreateOurMenuBar();
-        void CreateOurToolBar();
-        void CreateOurExtendedPanel();
-        void Open( int i_access_method );
-
-        void SetIntfMinSize();
-
-        /* Event handlers (these functions should _not_ be virtual) */
-        void OnExit( wxCommandEvent& event );
-        void OnAbout( wxCommandEvent& event );
-        void OnWebLink( wxCommandEvent& event );
-        void OnWebHelp( wxCommandEvent& event );
-
-        void OnOpenFileSimple( wxCommandEvent& event );
-        void OnOpenDir( wxCommandEvent& event );
-        void OnOpenFile( wxCommandEvent& event );
-        void OnOpenDisc( wxCommandEvent& event );
-        void OnOpenNet( wxCommandEvent& event );
-        void OnOpenSat( wxCommandEvent& event );
-
-        void OnExtended( wxCommandEvent& event );
-        void OnSmallPlaylist( wxCommandEvent& event );
-
-        void OnBookmarks( wxCommandEvent& event );
-        void OnShowDialog( wxCommandEvent& event );
-        void OnPlayStream( wxCommandEvent& event );
-        void OnStopStream( wxCommandEvent& event );
-        void OnPrevStream( wxCommandEvent& event );
-        void OnNextStream( wxCommandEvent& event );
-        void OnSlowStream( wxCommandEvent& event );
-        void OnFastStream( wxCommandEvent& event );
-       void OnToggleMute( wxCommandEvent& event );
-       void OnSlideVolume( wxScrollEvent& event );
-        void SyncVolume( );
-
-        void OnInteraction( wxCommandEvent& event );
-
-        void OnMenuOpen( wxMenuEvent& event );
-
-    #if defined( __WXMSW__ ) || defined( __WXMAC__ )
-        void OnContextMenu2(wxContextMenuEvent& event);
-    #endif
-        void OnContextMenu(wxMouseEvent& event);
-
-        void OnControlEvent( wxCommandEvent& event );
-
-        DECLARE_EVENT_TABLE();
-
-        Timer *timer;
-        intf_thread_t *p_intf;
-
-        unsigned int i_update_counter;
-        int i_old_playing_status;
-
-        /* For auto-generated menus */
-        wxMenu *p_settings_menu;
-        wxMenu *p_audio_menu;
-        wxMenu *p_video_menu;
-        wxMenu *p_navig_menu;
-
-        /* Extended panel */
-        bool  b_extra;
-        wxPanel     *extra_frame;
-
-        /* Playlist panel */
-        wxPanel     *playlist_manager;
-
-        /* Utility dimensions */
-        wxSize main_min_size;
-        wxSize ext_min_size;
-    };
-
-
-    class WindowSettings
-    {
-    public:
-        WindowSettings( intf_thread_t *_p_intf );
-        virtual ~WindowSettings();
-        enum
-        {
-            ID_SCREEN = -1,
-            ID_MAIN,
-            ID_PLAYLIST,
-            ID_MESSAGES,
-            ID_FILE_INFO,
-            ID_BOOKMARKS,
-            ID_VIDEO,
-            ID_SMALL_PLAYLIST,
-            ID_MAX,
-        };
-
-        void SetSettings( int id, bool _b_shown,
-                    wxPoint p = wxDefaultPosition, wxSize s = wxDefaultSize );
-        bool GetSettings( int id, bool& _b_shown, wxPoint& p, wxSize& s );
-
-        void SetScreen( int i_screen_w, int i_screen_h );
-
-    private:
-        intf_thread_t *p_intf;
-
-        int     i_screen_w;
-        int     i_screen_h;
-        bool    b_valid[ID_MAX];
-        bool    b_shown[ID_MAX];
-        wxPoint position[ID_MAX];
-        wxSize  size[ID_MAX];
-    };
-
-
-    class MenuEvtHandler : public wxEvtHandler
-    {
-    public:
-        MenuEvtHandler( intf_thread_t *p_intf, Interface *p_main_interface );
-        virtual ~MenuEvtHandler();
-
-        void OnMenuEvent( wxCommandEvent& event );
-        void OnShowDialog( wxCommandEvent& event );
-
-    private:
-        DECLARE_EVENT_TABLE()
-
-        intf_thread_t *p_intf;
-        Interface *p_main_interface;
-    };
-};
-
-void PopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );
-void AudioPopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );
-void VideoPopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );
-void MiscPopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );
-wxMenu *SettingsMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );
-wxMenu *AudioMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );
-wxMenu *VideoMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );
-wxMenu *NavigMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );
-
-#endif
diff --git a/modules/gui/wxwidgets/menus.cpp b/modules/gui/wxwidgets/menus.cpp
deleted file mode 100644 (file)
index 5b3a0ce..0000000
+++ /dev/null
@@ -1,1045 +0,0 @@
-/*****************************************************************************
- * menus.cpp : wxWidgets plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <vlc_common.h>
-#include <vlc_interface.h>
-
-#include "wxwidgets.hpp"
-#include "interface.hpp"
-
-#include <wx/dynarray.h>
-WX_DEFINE_ARRAY(int, ArrayOfInts);
-WX_DEFINE_ARRAY_PTR(const char *, ArrayOfStrings);
-
-
-class wxMenuItemExt: public wxMenuItem
-{
-public:
-    /* Constructor */
-    wxMenuItemExt( wxMenu* parentMenu, int id, const wxString& text,
-                   const wxString& helpString, wxItemKind kind,
-                   char *_psz_var, int _i_object_id, vlc_value_t _val,
-                   int _i_val_type );
-    virtual ~wxMenuItemExt();
-
-    char *psz_var;
-    int  i_val_type;
-    int  i_object_id;
-    vlc_value_t val;
-};
-
-class Menu: public wxMenu
-{
-public:
-    /* Constructor */
-    Menu( intf_thread_t *p_intf, int i_start_id );
-    virtual ~Menu();
-
-    void Populate( ArrayOfStrings &, ArrayOfInts &);
-    void Clear();
-
-private:
-    wxMenu *CreateDummyMenu();
-    void   CreateMenuItem( wxMenu *, const char *, vlc_object_t * );
-    wxMenu *CreateChoicesMenu( const char *, vlc_object_t *, bool );
-
-    DECLARE_EVENT_TABLE();
-
-    intf_thread_t *p_intf;
-
-    int i_start_id;
-    int i_item_id;
-};
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-enum
-{
-    /* menu items */
-    MenuDummy_Event = wxID_HIGHEST + 1000,
-    OpenFileSimple_Event = wxID_HIGHEST + 1100,
-    OpenFile_Event,
-    OpenDirectory_Event,
-    OpenDisc_Event,
-    OpenNet_Event,
-    OpenCapture_Event,
-    MediaInfo_Event,
-    Messages_Event,
-    Preferences_Event,
-    Play_Event,
-    Pause_Event,
-    Previous_Event,
-    Next_Event,
-    Stop_Event,
-    FirstAutoGenerated_Event = wxID_HIGHEST + 1999,
-    SettingsMenu_Events = wxID_HIGHEST + 5000,
-    AudioMenu_Events = wxID_HIGHEST + 2000,
-    VideoMenu_Events = wxID_HIGHEST + 3000,
-    NavigMenu_Events = wxID_HIGHEST + 4000,
-    PopupMenu_Events = wxID_HIGHEST + 6000,
-    Hotkeys_Events = wxID_HIGHEST + 7000
-};
-
-BEGIN_EVENT_TABLE(Menu, wxMenu)
-END_EVENT_TABLE()
-
-BEGIN_EVENT_TABLE(MenuEvtHandler, wxEvtHandler)
-    EVT_MENU(OpenFileSimple_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(OpenFile_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(OpenDirectory_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(OpenDisc_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(OpenNet_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(OpenCapture_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(MediaInfo_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(Messages_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(Preferences_Event, MenuEvtHandler::OnShowDialog)
-    EVT_MENU(-1, MenuEvtHandler::OnMenuEvent)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Static menu helpers
- *****************************************************************************/
-wxMenu *OpenStreamMenu( intf_thread_t *p_intf )
-{
-    wxMenu *menu = new wxMenu;
-    menu->Append( OpenFileSimple_Event, wxU(_("Quick &Open File...")) );
-    menu->Append( OpenFile_Event, wxU(_("Open &File...")) );
-    menu->Append( OpenDirectory_Event, wxU(_("Open D&irectory...")) );
-    menu->Append( OpenDisc_Event, wxU(_("Open &Disc...")) );
-    menu->Append( OpenNet_Event, wxU(_("Open &Network Stream...")) );
-    menu->Append( OpenCapture_Event, wxU(_("Open &Capture Device...")) );
-    return menu;
-}
-
-wxMenu *MiscMenu( intf_thread_t *p_intf )
-{
-    wxMenu *menu = new wxMenu;
-    menu->Append( MediaInfo_Event, wxU(_("Media &Info...")) );
-    menu->Append( Messages_Event, wxU(_("&Messages...")) );
-    menu->Append( Preferences_Event, wxU(_("&Preferences...")) );
-    return menu;
-}
-
-/*****************************************************************************
- * Builders for the dynamic menus
- *****************************************************************************/
-#define PUSH_VAR( var ) rs_varnames.Add( var ); \
-                        ri_objects.Add( p_object->i_object_id )
-
-int InputAutoMenuBuilder( vlc_object_t *p_object, ArrayOfInts &ri_objects,
-                          ArrayOfStrings &rs_varnames )
-{
-    PUSH_VAR( "bookmark");
-    PUSH_VAR( "title" );
-    PUSH_VAR ("chapter" );
-    PUSH_VAR( "program" );
-    PUSH_VAR( "navigation" );
-    PUSH_VAR( "dvd_menus" );
-    return VLC_SUCCESS;
-}
-
-int VideoAutoMenuBuilder( vlc_object_t *p_object, ArrayOfInts &ri_objects,
-                          ArrayOfStrings &rs_varnames )
-{
-    PUSH_VAR( "fullscreen" );
-    PUSH_VAR( "zoom" );
-    PUSH_VAR( "deinterlace" );
-    PUSH_VAR( "aspect-ratio" );
-    PUSH_VAR( "crop" );
-    PUSH_VAR( "video-on-top" );
-    PUSH_VAR( "directx-wallpaper" );
-    PUSH_VAR( "video-snapshot" );
-
-    vlc_object_t *p_dec_obj = (vlc_object_t *)vlc_object_find( p_object,
-                                                 VLC_OBJECT_DECODER,
-                                                 FIND_PARENT );
-    if( p_dec_obj != NULL )
-    {
-        vlc_object_t *p_object = p_dec_obj;
-        PUSH_VAR( "ffmpeg-pp-q" );
-        vlc_object_release( p_dec_obj );
-    }
-    return VLC_SUCCESS;
-}
-
-int AudioAutoMenuBuilder( vlc_object_t *p_object, ArrayOfInts &ri_objects,
-                          ArrayOfStrings &rs_varnames )
-{
-    PUSH_VAR( "audio-device" );
-    PUSH_VAR( "audio-channels" );
-    PUSH_VAR( "visual" );
-    PUSH_VAR( "equalizer" );
-    return VLC_SUCCESS;
-}
-
-int IntfAutoMenuBuilder( intf_thread_t *p_intf, ArrayOfInts &ri_objects,
-                         ArrayOfStrings &rs_varnames, bool is_popup)
-{
-    /* vlc_object_find is needed because of the dialogs provider case */
-    vlc_object_t *p_object;
-    p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_INTF,
-                                                FIND_PARENT );
-    if( p_object != NULL )
-    {
-        PUSH_VAR( "intf-add" );
-        PUSH_VAR( "intf-skins" );
-        vlc_object_release( p_object );
-    }
-    return VLC_SUCCESS;
-}
-
-#undef PUSH_VAR
-/*****************************************************************************
- * Popup menus
- *****************************************************************************/
-#define PUSH_VAR( var ) as_varnames.Add( var ); \
-                        ai_objects.Add( p_object->i_object_id )
-
-#define PUSH_SEPARATOR if( ai_objects.GetCount() != i_last_separator ) { \
-                            ai_objects.Add( 0 ); \
-                            as_varnames.Add( "" ); \
-                            i_last_separator = ai_objects.GetCount(); }
-
-#define POPUP_BOILERPLATE \
-    unsigned int i_last_separator = 0; \
-    ArrayOfInts ai_objects; \
-    ArrayOfStrings as_varnames; \
-    playlist_t *p_playlist = pl_Hold( p_intf ); \
-    if( !p_playlist ) \
-        return; \
-    input_thread_t *p_input = p_playlist->p_input
-
-#define CREATE_POPUP    \
-    Menu popupmenu( p_intf, PopupMenu_Events ); \
-    popupmenu.Populate( as_varnames, ai_objects ); \
-    p_intf->p_sys->p_popup_menu = &popupmenu; \
-    p_parent->PopupMenu( &popupmenu, pos.x, pos.y ); \
-    p_intf->p_sys->p_popup_menu = NULL; \
-    i_last_separator = 0 /* stop compiler warning */
-
-#define POPUP_STATIC_ENTRIES \
-    if( p_input != NULL ) \
-    { \
-        vlc_value_t val; \
-        popupmenu.InsertSeparator( 0 ); \
-        if (!minimal) \
-        { \
-        popupmenu.Insert( 0, Stop_Event, wxU(_("Stop")) ); \
-        popupmenu.Insert( 0, Previous_Event, wxU(_("Previous")) ); \
-        popupmenu.Insert( 0, Next_Event, wxU(_("Next")) ); \
-        } \
-         \
-        var_Get( p_input, "state", &val ); \
-        if( val.i_int == PAUSE_S ) \
-            popupmenu.Insert( 0, Play_Event, wxU(_("Play")) ); \
-        else \
-            popupmenu.Insert( 0, Pause_Event, wxU(_("Pause")) ); \
-         \
-        vlc_object_release( p_input ); \
-    } \
-    else \
-    { \
-        if( p_playlist && !playlist_IsEmpty( p_playlist ) ) \
-        { \
-            popupmenu.InsertSeparator( 0 ); \
-            popupmenu.Insert( 0, Play_Event, wxU(_("Play")) ); \
-        } \
-        if( p_playlist ) pl_Release( p_intf ); \
-    } \
-    \
-    popupmenu.Append( MenuDummy_Event, wxU(_("Miscellaneous")), \
-                      MiscMenu( p_intf ), wxT("") )
-
-
-void VideoPopupMenu( intf_thread_t *p_intf, wxWindow *p_parent,
-                     const wxPoint& pos )
-{
-    POPUP_BOILERPLATE;
-    if( p_input )
-    {
-        vlc_object_hold( p_input );
-        as_varnames.Add( "video-es" );
-        ai_objects.Add( p_input->i_object_id );
-        as_varnames.Add( "spu-es" );
-        ai_objects.Add( p_input->i_object_id );
-        vlc_object_t *p_vout = (vlc_object_t *)vlc_object_find( p_input,
-                                                VLC_OBJECT_VOUT, FIND_CHILD );
-        if( p_vout )
-        {
-            VideoAutoMenuBuilder( p_vout, ai_objects, as_varnames );
-            vlc_object_release( p_vout );
-        }
-        vlc_object_release( p_input );
-    }
-    pl_Release( p_intf );
-    CREATE_POPUP;
-}
-
-void AudioPopupMenu( intf_thread_t *p_intf, wxWindow *p_parent,
-                     const wxPoint& pos )
-{
-    POPUP_BOILERPLATE;
-    if( p_input )
-    {
-        vlc_object_hold( p_input );
-        as_varnames.Add( "audio-es" );
-        ai_objects.Add( p_input->i_object_id );
-        vlc_object_t *p_aout = (vlc_object_t *)vlc_object_find( p_input,
-                                             VLC_OBJECT_AOUT, FIND_ANYWHERE );
-        if( p_aout )
-        {
-            AudioAutoMenuBuilder( p_aout, ai_objects, as_varnames );
-            vlc_object_release( p_aout );
-        }
-        vlc_object_release( p_input );
-    }
-    pl_Release( p_intf );
-    CREATE_POPUP;
-}
-
-/* Navigation stuff, and general */
-void MiscPopupMenu( intf_thread_t *p_intf, wxWindow *p_parent,
-                    const wxPoint& pos )
-{
-    int minimal = 0;
-    POPUP_BOILERPLATE;
-    if( p_input )
-    {
-        vlc_object_hold( p_input );
-        as_varnames.Add( "audio-es" );
-        InputAutoMenuBuilder( VLC_OBJECT(p_input), ai_objects, as_varnames );
-        PUSH_SEPARATOR;
-    }
-    IntfAutoMenuBuilder( p_intf, ai_objects, as_varnames, true );
-
-    Menu popupmenu( p_intf, PopupMenu_Events );
-    popupmenu.Populate( as_varnames, ai_objects );
-
-    POPUP_STATIC_ENTRIES;
-    popupmenu.Append( MenuDummy_Event, wxU(_("Open")),
-                      OpenStreamMenu( p_intf ), wxT("") );
-
-    p_intf->p_sys->p_popup_menu = &popupmenu;
-    p_parent->PopupMenu( &popupmenu, pos.x, pos.y );
-    p_intf->p_sys->p_popup_menu = NULL;
-    pl_Release( p_intf );
-}
-
-void PopupMenu( intf_thread_t *p_intf, wxWindow *p_parent,
-                const wxPoint& pos )
-{
-    int minimal = config_GetInt( p_intf, "wx-minimal" );
-    POPUP_BOILERPLATE;
-    if( p_input )
-    {
-        vlc_object_hold( p_input );
-        InputAutoMenuBuilder( VLC_OBJECT(p_input), ai_objects, as_varnames );
-
-        /* Video menu */
-        PUSH_SEPARATOR;
-        as_varnames.Add( "video-es" );
-        ai_objects.Add( p_input->i_object_id );
-        as_varnames.Add( "spu-es" );
-        ai_objects.Add( p_input->i_object_id );
-        vlc_object_t *p_vout = (vlc_object_t *)vlc_object_find( p_input,
-                                                VLC_OBJECT_VOUT, FIND_CHILD );
-        if( p_vout )
-        {
-            VideoAutoMenuBuilder( p_vout, ai_objects, as_varnames );
-            vlc_object_release( p_vout );
-        }
-        /* Audio menu */
-        PUSH_SEPARATOR
-        as_varnames.Add( "audio-es" );
-        ai_objects.Add( p_input->i_object_id );
-        vlc_object_t *p_aout = (vlc_object_t *)vlc_object_find( p_input,
-                                             VLC_OBJECT_AOUT, FIND_ANYWHERE );
-        if( p_aout )
-        {
-            AudioAutoMenuBuilder( p_aout, ai_objects, as_varnames );
-            vlc_object_release( p_aout );
-        }
-    }
-
-    /* Interface menu */
-    PUSH_SEPARATOR
-    IntfAutoMenuBuilder( p_intf, ai_objects, as_varnames, true );
-
-    /* Build menu */
-    Menu popupmenu( p_intf, PopupMenu_Events );
-    popupmenu.Populate( as_varnames, ai_objects );
-    POPUP_STATIC_ENTRIES;
-
-    if (!minimal)
-    {
-        popupmenu.Append( MenuDummy_Event, wxU(_("Open")),
-                          OpenStreamMenu( p_intf ), wxT("") );
-    }
-    p_intf->p_sys->p_popup_menu = &popupmenu;
-    p_parent->PopupMenu( &popupmenu, pos.x, pos.y );
-    p_intf->p_sys->p_popup_menu = NULL;
-    pl_Release( p_intf );
-}
-
-/*****************************************************************************
- * Auto menus
- *****************************************************************************/
-wxMenu *AudioMenu( intf_thread_t *_p_intf, wxWindow *p_parent, wxMenu *p_menu )
-{
-    vlc_object_t *p_object;
-    ArrayOfInts ai_objects;
-    ArrayOfStrings as_varnames;
-
-    p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_INPUT,
-                                                FIND_ANYWHERE );
-    if( p_object != NULL )
-    {
-        PUSH_VAR( "audio-es" );
-        vlc_object_release( p_object );
-    }
-
-    p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_AOUT,
-                                                FIND_ANYWHERE );
-    if( p_object )
-    {
-        AudioAutoMenuBuilder( p_object, ai_objects, as_varnames );
-        vlc_object_release( p_object );
-    }
-
-    /* Build menu */
-    Menu *p_vlc_menu = (Menu *)p_menu;
-    if( !p_vlc_menu )
-        p_vlc_menu = new Menu( _p_intf, AudioMenu_Events );
-    else
-        p_vlc_menu->Clear();
-
-    p_vlc_menu->Populate(  as_varnames, ai_objects );
-
-    return p_vlc_menu;
-}
-
-wxMenu *VideoMenu( intf_thread_t *_p_intf, wxWindow *p_parent, wxMenu *p_menu )
-{
-    vlc_object_t *p_object;
-    ArrayOfInts ai_objects;
-    ArrayOfStrings as_varnames;
-
-    p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_INPUT,
-                                                FIND_ANYWHERE );
-    if( p_object != NULL )
-    {
-        PUSH_VAR( "video-es" );
-        PUSH_VAR( "spu-es" );
-        vlc_object_release( p_object );
-    }
-
-    p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_VOUT,
-                                                FIND_ANYWHERE );
-    if( p_object != NULL )
-    {
-        VideoAutoMenuBuilder( p_object, ai_objects, as_varnames );
-        vlc_object_release( p_object );
-    }
-
-    /* Build menu */
-    Menu *p_vlc_menu = (Menu *)p_menu;
-    if( !p_vlc_menu )
-        p_vlc_menu = new Menu( _p_intf, VideoMenu_Events );
-    else
-        p_vlc_menu->Clear();
-
-    p_vlc_menu->Populate(  as_varnames, ai_objects );
-    return p_vlc_menu;
-}
-
-wxMenu *NavigMenu( intf_thread_t *_p_intf, wxWindow *p_parent, wxMenu *p_menu )
-{
-    vlc_object_t *p_object;
-    ArrayOfInts ai_objects;
-    ArrayOfStrings as_varnames;
-
-    p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_INPUT,
-                                                FIND_ANYWHERE );
-    if( p_object != NULL )
-    {
-        InputAutoMenuBuilder( p_object, ai_objects, as_varnames );
-        PUSH_VAR( "prev-title"); PUSH_VAR ( "next-title" );
-        PUSH_VAR( "prev-chapter"); PUSH_VAR( "next-chapter" );
-        vlc_object_release( p_object );
-    }
-
-    /* Build menu */
-    Menu *p_vlc_menu = (Menu *)p_menu;
-    if( !p_vlc_menu )
-        p_vlc_menu = new Menu( _p_intf, NavigMenu_Events );
-    else
-        p_vlc_menu->Clear();
-
-    p_vlc_menu->Populate( as_varnames, ai_objects );
-
-    return p_vlc_menu;
-}
-
-wxMenu *SettingsMenu( intf_thread_t *_p_intf, wxWindow *p_parent,
-                      wxMenu *p_menu )
-{
-    vlc_object_t *p_object;
-    ArrayOfInts ai_objects;
-    ArrayOfStrings as_varnames;
-
-    p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_INTF,
-                                                FIND_PARENT );
-    if( p_object != NULL )
-    {
-        PUSH_VAR( "intf-add" );
-        vlc_object_release( p_object );
-    }
-
-    /* Build menu */
-    Menu *p_vlc_menu = (Menu *)p_menu;
-    if( !p_vlc_menu )
-        p_vlc_menu = new Menu( _p_intf, SettingsMenu_Events );
-    else
-        p_vlc_menu->Clear();
-
-    p_vlc_menu->Populate( as_varnames, ai_objects );
-
-    return p_vlc_menu;
-}
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-Menu::Menu( intf_thread_t *_p_intf, int _i_start_id ) : wxMenu( )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    i_start_id = _i_start_id;
-}
-
-Menu::~Menu()
-{
-}
-
-/*****************************************************************************
- * Public methods.
- *****************************************************************************/
-void Menu::Populate( ArrayOfStrings & ras_varnames,
-                     ArrayOfInts & rai_objects )
-{
-    vlc_object_t *p_object;
-    bool b_section_empty = false;
-    int i;
-
-    i_item_id = i_start_id;
-
-    for( i = 0; i < (int)rai_objects.GetCount() ; i++ )
-    {
-        if( !ras_varnames[i] || !*ras_varnames[i] )
-        {
-            if( b_section_empty )
-            {
-                Append( MenuDummy_Event + i, wxU(_("Empty")) );
-                Enable( MenuDummy_Event + i, FALSE );
-            }
-            AppendSeparator();
-            b_section_empty = true;
-            continue;
-        }
-
-        if( rai_objects[i] == 0  )
-        {
-            Append( MenuDummy_Event, wxU(ras_varnames[i]) );
-            b_section_empty = false;
-            continue;
-        }
-
-        p_object = (vlc_object_t *)vlc_object_get( p_intf->p_libvlc, rai_objects[i] );
-        if( p_object == NULL ) continue;
-
-        b_section_empty = false;
-        CreateMenuItem( this, ras_varnames[i], p_object );
-        vlc_object_release( p_object );
-    }
-
-    /* Special case for empty menus */
-    if( GetMenuItemCount() == 0 || b_section_empty )
-    {
-        Append( MenuDummy_Event + i, wxU(_("Empty")) );
-        Enable( MenuDummy_Event + i, FALSE );
-    }
-}
-
-/* Work-around helper for buggy wxGTK */
-static void RecursiveDestroy( wxMenu *menu )
-{
-    wxMenuItemList::Node *node = menu->GetMenuItems().GetFirst();
-    for( ; node; )
-    {
-        wxMenuItem *item = node->GetData();
-        node = node->GetNext();
-
-        /* Delete the submenus */
-        wxMenu *submenu = item->GetSubMenu();
-        if( submenu )
-        {
-            RecursiveDestroy( submenu );
-        }
-        menu->Delete( item );
-    }
-}
-
-void Menu::Clear( )
-{
-    RecursiveDestroy( this );
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-static bool IsMenuEmpty( const char *psz_var, vlc_object_t *p_object,
-                         bool b_root = TRUE )
-{
-    vlc_value_t val, val_list;
-    int i_type, i_result, i;
-
-    /* Check the type of the object variable */
-    i_type = var_Type( p_object, psz_var );
-
-    /* Check if we want to display the variable */
-    if( !(i_type & VLC_VAR_HASCHOICE) ) return FALSE;
-
-    var_Change( p_object, psz_var, VLC_VAR_CHOICESCOUNT, &val, NULL );
-    if( val.i_int == 0 ) return TRUE;
-
-    if( (i_type & VLC_VAR_TYPE) != VLC_VAR_VARIABLE )
-    {
-        if( val.i_int == 1 && b_root ) return TRUE;
-        else return FALSE;
-    }
-
-    /* Check children variables in case of VLC_VAR_VARIABLE */
-    if( var_Change( p_object, psz_var, VLC_VAR_GETLIST, &val_list, NULL ) < 0 )
-    {
-        return TRUE;
-    }
-
-    for( i = 0, i_result = TRUE; i < val_list.p_list->i_count; i++ )
-    {
-        if( !IsMenuEmpty( val_list.p_list->p_values[i].psz_string,
-                          p_object, FALSE ) )
-        {
-            i_result = FALSE;
-            break;
-        }
-    }
-
-    /* clean up everything */
-    var_Change( p_object, psz_var, VLC_VAR_FREELIST, &val_list, NULL );
-
-    return i_result;
-}
-
-void Menu::CreateMenuItem( wxMenu *menu, const char *psz_var,
-                           vlc_object_t *p_object )
-{
-    wxMenuItemExt *menuitem;
-    vlc_value_t val, text;
-    int i_type;
-
-    /* Check the type of the object variable */
-    i_type = var_Type( p_object, psz_var );
-
-    switch( i_type & VLC_VAR_TYPE )
-    {
-    case VLC_VAR_VOID:
-    case VLC_VAR_BOOL:
-    case VLC_VAR_VARIABLE:
-    case VLC_VAR_STRING:
-    case VLC_VAR_INTEGER:
-    case VLC_VAR_FLOAT:
-        break;
-    default:
-        /* Variable doesn't exist or isn't handled */
-        return;
-    }
-
-    /* Make sure we want to display the variable */
-    if( IsMenuEmpty( psz_var, p_object ) )  return;
-
-    /* Get the descriptive name of the variable */
-    var_Change( p_object, psz_var, VLC_VAR_GETTEXT, &text, NULL );
-
-    if( i_type & VLC_VAR_HASCHOICE )
-    {
-        menu->Append( MenuDummy_Event,
-                      wxU(text.psz_string ? text.psz_string : psz_var),
-                      CreateChoicesMenu( psz_var, p_object, TRUE ),
-                      wxT("")/* Nothing for now (maybe use a GETLONGTEXT) */ );
-
-        free( text.psz_string );
-        return;
-    }
-
-
-    switch( i_type & VLC_VAR_TYPE )
-    {
-    case VLC_VAR_VOID:
-        var_Get( p_object, psz_var, &val );
-        menuitem = new wxMenuItemExt( menu, ++i_item_id,
-                                      wxU(text.psz_string ?
-                                        text.psz_string : psz_var),
-                                      wxT(""), wxITEM_NORMAL, strdup(psz_var),
-                                      p_object->i_object_id, val, i_type );
-        menu->Append( menuitem );
-        break;
-
-    case VLC_VAR_BOOL:
-        var_Get( p_object, psz_var, &val );
-        val.b_bool = !val.b_bool;
-        menuitem = new wxMenuItemExt( menu, ++i_item_id,
-                                      wxU(text.psz_string ?
-                                        text.psz_string : psz_var),
-                                      wxT(""), wxITEM_CHECK, strdup(psz_var),
-                                      p_object->i_object_id, val, i_type );
-        menu->Append( menuitem );
-        Check( i_item_id, val.b_bool ? FALSE : TRUE );
-        break;
-    }
-
-    free( text.psz_string );
-}
-
-wxMenu *Menu::CreateChoicesMenu( const char *psz_var, vlc_object_t *p_object,
-                                 bool b_root )
-{
-    vlc_value_t val, val_list, text_list;
-    int i_type, i;
-
-    /* Check the type of the object variable */
-    i_type = var_Type( p_object, psz_var );
-
-    /* Make sure we want to display the variable */
-    if( IsMenuEmpty( psz_var, p_object, b_root ) ) return NULL;
-
-    switch( i_type & VLC_VAR_TYPE )
-    {
-    case VLC_VAR_VOID:
-    case VLC_VAR_BOOL:
-    case VLC_VAR_VARIABLE:
-    case VLC_VAR_STRING:
-    case VLC_VAR_INTEGER:
-    case VLC_VAR_FLOAT:
-        break;
-    default:
-        /* Variable doesn't exist or isn't handled */
-        return NULL;
-    }
-
-    if( var_Change( p_object, psz_var, VLC_VAR_GETLIST,
-                    &val_list, &text_list ) < 0 )
-    {
-        return NULL;
-    }
-
-    wxMenu *menu = new wxMenu;
-    for( i = 0; i < val_list.p_list->i_count; i++ )
-    {
-        vlc_value_t another_val;
-        wxMenuItemExt *menuitem;
-
-        switch( i_type & VLC_VAR_TYPE )
-        {
-        case VLC_VAR_VARIABLE:
-          menu->Append( MenuDummy_Event,
-                        wxU(text_list.p_list->p_values[i].psz_string ?
-                        text_list.p_list->p_values[i].psz_string :
-                        val_list.p_list->p_values[i].psz_string),
-                        CreateChoicesMenu(
-                            val_list.p_list->p_values[i].psz_string,
-                            p_object, FALSE ), wxT("") );
-          break;
-
-        case VLC_VAR_STRING:
-          var_Get( p_object, psz_var, &val );
-
-          another_val.psz_string =
-              strdup(val_list.p_list->p_values[i].psz_string);
-          menuitem =
-              new wxMenuItemExt( menu, ++i_item_id,
-                                 wxU(text_list.p_list->p_values[i].psz_string ?
-                                 text_list.p_list->p_values[i].psz_string :
-                                 another_val.psz_string), wxT(""),
-                                 i_type & VLC_VAR_ISCOMMAND ?
-                                   wxITEM_NORMAL : wxITEM_RADIO,
-                                 strdup(psz_var),
-                                 p_object->i_object_id, another_val, i_type );
-
-          menu->Append( menuitem );
-
-          if( !(i_type & VLC_VAR_ISCOMMAND) && val.psz_string &&
-              !strcmp( val.psz_string,
-                       val_list.p_list->p_values[i].psz_string ) )
-              menu->Check( i_item_id, TRUE );
-
-          free( val.psz_string );
-          break;
-
-        case VLC_VAR_INTEGER:
-          var_Get( p_object, psz_var, &val );
-
-          menuitem =
-              new wxMenuItemExt( menu, ++i_item_id,
-                                 text_list.p_list->p_values[i].psz_string ?
-                                 (wxString)wxU(
-                                   text_list.p_list->p_values[i].psz_string) :
-                                 wxString::Format(wxT("%d"),
-                                 val_list.p_list->p_values[i].i_int), wxT(""),
-                                 i_type & VLC_VAR_ISCOMMAND ?
-                                   wxITEM_NORMAL : wxITEM_RADIO,
-                                 strdup(psz_var),
-                                 p_object->i_object_id,
-                                 val_list.p_list->p_values[i], i_type );
-
-          menu->Append( menuitem );
-
-          if( !(i_type & VLC_VAR_ISCOMMAND) &&
-              val_list.p_list->p_values[i].i_int == val.i_int )
-              menu->Check( i_item_id, TRUE );
-          break;
-
-        case VLC_VAR_FLOAT:
-          var_Get( p_object, psz_var, &val );
-
-          menuitem =
-              new wxMenuItemExt( menu, ++i_item_id,
-                                 text_list.p_list->p_values[i].psz_string ?
-                                 (wxString)wxU(
-                                   text_list.p_list->p_values[i].psz_string) :
-                                 wxString::Format(wxT("%.2f"),
-                                 val_list.p_list->p_values[i].f_float),wxT(""),
-                                 i_type & VLC_VAR_ISCOMMAND ?
-                                   wxITEM_NORMAL : wxITEM_RADIO,
-                                 strdup(psz_var),
-                                 p_object->i_object_id,
-                                 val_list.p_list->p_values[i], i_type );
-
-          menu->Append( menuitem );
-
-          if( !(i_type & VLC_VAR_ISCOMMAND) &&
-              val_list.p_list->p_values[i].f_float == val.f_float )
-              menu->Check( i_item_id, TRUE );
-          break;
-
-        default:
-          break;
-        }
-    }
-
-    /* clean up everything */
-    var_Change( p_object, psz_var, VLC_VAR_FREELIST, &val_list, &text_list );
-
-    return menu;
-}
-
-/*****************************************************************************
- * A small helper class which intercepts all popup menu events
- *****************************************************************************/
-MenuEvtHandler::MenuEvtHandler( intf_thread_t *_p_intf,
-                                Interface *_p_main_interface )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_main_interface = _p_main_interface;
-}
-
-MenuEvtHandler::~MenuEvtHandler()
-{
-}
-
-void MenuEvtHandler::OnShowDialog( wxCommandEvent& event )
-{
-    if( p_intf->p_sys->pf_show_dialog )
-    {
-        int i_id;
-
-        switch( event.GetId() )
-        {
-        case OpenFileSimple_Event:
-            i_id = INTF_DIALOG_FILE_SIMPLE;
-            break;
-        case OpenFile_Event:
-            i_id = INTF_DIALOG_FILE;
-            break;
-        case OpenDirectory_Event:
-            i_id = INTF_DIALOG_DIRECTORY;
-            break;
-        case OpenDisc_Event:
-            i_id = INTF_DIALOG_DISC;
-            break;
-        case OpenNet_Event:
-            i_id = INTF_DIALOG_NET;
-            break;
-        case OpenCapture_Event:
-            i_id = INTF_DIALOG_CAPTURE;
-            break;
-        case MediaInfo_Event:
-            i_id = INTF_DIALOG_FILEINFO;
-            break;
-        case Messages_Event:
-            i_id = INTF_DIALOG_MESSAGES;
-            break;
-        case Preferences_Event:
-            i_id = INTF_DIALOG_PREFS;
-            break;
-        default:
-            i_id = INTF_DIALOG_FILE;
-            break;
-
-        }
-
-        p_intf->p_sys->pf_show_dialog( p_intf, i_id, 1, 0 );
-    }
-}
-
-void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event )
-{
-    wxMenuItem *p_menuitem = NULL;
-    int i_hotkey_event = p_intf->p_sys->i_first_hotkey_event;
-    int i_hotkeys = p_intf->p_sys->i_hotkeys;
-
-    if( event.GetId() >= Play_Event && event.GetId() <= Stop_Event )
-    {
-        input_thread_t *p_input;
-        playlist_t * p_playlist = pl_Hold( p_intf );
-        if( !p_playlist ) return;
-
-        switch( event.GetId() )
-        {
-        case Play_Event:
-        case Pause_Event:
-            p_input =
-                (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                                   FIND_ANYWHERE );
-            if( !p_input ) playlist_Play( p_playlist );
-            else
-            {
-                vlc_value_t val;
-                var_Get( p_input, "state", &val );
-                if( val.i_int != PAUSE_S ) val.i_int = PAUSE_S;
-                else val.i_int = PLAYING_S;
-                var_Set( p_input, "state", val );
-                vlc_object_release( p_input );
-            }
-            break;
-        case Stop_Event:
-            playlist_Stop( p_playlist );
-            break;
-        case Previous_Event:
-            playlist_Prev( p_playlist );
-            break;
-        case Next_Event:
-            playlist_Next( p_playlist );
-            break;
-        }
-        pl_Release( p_intf );
-        return;
-    }
-
-    /* Check if this is an auto generated menu item */
-    if( event.GetId() < FirstAutoGenerated_Event )
-    {
-        event.Skip();
-        return;
-    }
-
-    /* Check if this is an hotkey event */
-    if( event.GetId() >= i_hotkey_event &&
-        event.GetId() < i_hotkey_event + i_hotkeys )
-    {
-        vlc_value_t val;
-
-        val.i_int =
-            p_intf->p_libvlc->p_hotkeys[event.GetId() - i_hotkey_event].i_key;
-
-        /* Get the key combination and send it to the hotkey handler */
-        var_Set( p_intf->p_libvlc, "key-pressed", val );
-        return;
-    }
-
-    if( !p_main_interface ||
-        (p_menuitem = p_main_interface->GetMenuBar()->FindItem(event.GetId()))
-        == NULL )
-    {
-        if( p_intf->p_sys->p_popup_menu )
-        {
-            p_menuitem =
-                p_intf->p_sys->p_popup_menu->FindItem( event.GetId() );
-        }
-    }
-
-    if( p_menuitem )
-    {
-        wxMenuItemExt *p_menuitemext = (wxMenuItemExt *)p_menuitem;
-        vlc_object_t *p_object;
-
-        p_object = (vlc_object_t *)vlc_object_get( p_intf->p_libvlc, p_menuitemext->i_object_id );
-        if( p_object == NULL ) return;
-
-        wxMutexGuiLeave(); // We don't want deadlocks
-        var_Set( p_object, p_menuitemext->psz_var, p_menuitemext->val );
-        //wxMutexGuiEnter();
-
-        vlc_object_release( p_object );
-    }
-    else
-        event.Skip();
-}
-
-/*****************************************************************************
- * A small helper class which encapsulate wxMenuitem with some other useful
- * things.
- *****************************************************************************/
-wxMenuItemExt::wxMenuItemExt( wxMenu* parentMenu, int id, const wxString& text,
-    const wxString& helpString, wxItemKind kind,
-    char *_psz_var, int _i_object_id, vlc_value_t _val, int _i_val_type ):
-    wxMenuItem( parentMenu, id, text, helpString, kind )
-{
-    /* Initializations */
-    psz_var = _psz_var;
-    i_val_type = _i_val_type;
-    i_object_id = _i_object_id;
-    val = _val;
-};
-
-wxMenuItemExt::~wxMenuItemExt()
-{
-    free( psz_var );
-    if( ( i_val_type & VLC_VAR_TYPE ) == VLC_VAR_STRING )
-        free( val.psz_string );
-};
diff --git a/modules/gui/wxwidgets/playlist_manager.cpp b/modules/gui/wxwidgets/playlist_manager.cpp
deleted file mode 100644 (file)
index db49ac1..0000000
+++ /dev/null
@@ -1,581 +0,0 @@
-/*****************************************************************************
- * playlist_manager.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
- *          Clément Stenac <zorglub@videolan.org>
- *          Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/OR MODIFy
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "playlist_manager.hpp"
-#include "interface.hpp"
-
-#include "bitmaps/type_unknown.xpm"
-#include "bitmaps/type_afile.xpm"
-#include "bitmaps/type_vfile.xpm"
-#include "bitmaps/type_net.xpm"
-#include "bitmaps/type_card.xpm"
-#include "bitmaps/type_disc.xpm"
-#include "bitmaps/type_cdda.xpm"
-#include "bitmaps/type_directory.xpm"
-#include "bitmaps/type_playlist.xpm"
-#include "bitmaps/type_node.xpm"
-
-#include <wx/dynarray.h>
-#include <wx/imaglist.h>
-#include "vlc_meta.h"
-
-namespace wxvlc {
-/* Callback prototype */
-static int PlaylistChanged( vlc_object_t *, const char *,
-                            vlc_value_t, vlc_value_t, void * );
-static int PlaylistNext( vlc_object_t *, const char *,
-                         vlc_value_t, vlc_value_t, void * );
-static int ItemChanged( vlc_object_t *, const char *,
-                        vlc_value_t, vlc_value_t, void * );
-static int ItemAppended( vlc_object_t *p_this, const char *psz_variable,
-                      vlc_value_t oval, vlc_value_t nval, void *param );
-static int ItemDeleted( vlc_object_t *p_this, const char *psz_variable,
-                      vlc_value_t oval, vlc_value_t nval, void *param );
-
-/*****************************************************************************
- * Event Table.
- *****************************************************************************/
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    TreeCtrl_Event,
-
-    UpdateItem_Event,
-    AppendItem_Event,
-    RemoveItem_Event,
-};
-
-DEFINE_LOCAL_EVENT_TYPE( wxEVT_PLAYLIST );
-
-BEGIN_EVENT_TABLE(PlaylistManager, wxPanel)
-    /* Tree control events */
-    EVT_TREE_ITEM_ACTIVATED( TreeCtrl_Event, PlaylistManager::OnActivateItem )
-
-    /* Custom events */
-    EVT_COMMAND(-1, wxEVT_PLAYLIST, PlaylistManager::OnPlaylistEvent)
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * PlaylistItem class
- ****************************************************************************/
-class PlaylistItem : public wxTreeItemData
-{
-public:
-    PlaylistItem( playlist_item_t *p_item ) : wxTreeItemData()
-    {
-        i_id = p_item->i_id;
-        i_input_id = p_item->p_input->i_id;
-    }
-protected:
-    int i_input_id;
-    int i_id;
-friend class PlaylistManager;
-};
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-PlaylistManager::PlaylistManager( intf_thread_t *_p_intf, wxWindow *p_parent ):
-    wxPanel( p_parent, -1, wxDefaultPosition, wxSize(0,0) )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    b_need_update = false;
-    i_items_to_append = 0;
-    i_cached_item_id = -1;
-    i_update_counter = 0;
-
-    p_playlist = pl_Hold( p_intf );
-    if( p_playlist == NULL ) return;
-
-    var_Create( p_intf, "random", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
-    var_Create( p_intf, "loop", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
-    var_Create( p_intf, "repeat", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );;
-
-    /* Create the tree */
-    treectrl = new wxTreeCtrl( this, TreeCtrl_Event,
-                               wxDefaultPosition, wxDefaultSize,
-                               wxTR_HIDE_ROOT | wxTR_LINES_AT_ROOT|
-                               wxTR_NO_LINES |
-                               wxTR_HAS_BUTTONS | wxTR_TWIST_BUTTONS |
-                               wxTR_MULTIPLE | wxTR_EXTENDED );
-
-    /* Add everything to the panel */
-    sizer = new wxBoxSizer( wxHORIZONTAL );
-    SetSizer( sizer );
-    sizer->Add( treectrl, 1, wxEXPAND );
-    sizer->Layout();
-    sizer->Fit( this );
-
-    /* Create image list */
-    wxImageList *p_images = new wxImageList( 16 , 16, TRUE );
-
-    /* FIXME: absolutely needs to be in the right order FIXME */
-    p_images->Add( wxIcon( type_unknown_xpm ) );
-    p_images->Add( wxIcon( type_afile_xpm ) );
-    p_images->Add( wxIcon( type_vfile_xpm ) );
-    p_images->Add( wxIcon( type_directory_xpm ) );
-    p_images->Add( wxIcon( type_disc_xpm ) );
-    p_images->Add( wxIcon( type_cdda_xpm ) );
-    p_images->Add( wxIcon( type_card_xpm ) );
-    p_images->Add( wxIcon( type_net_xpm ) );
-    p_images->Add( wxIcon( type_playlist_xpm ) );
-    p_images->Add( wxIcon( type_node_xpm ) );
-    treectrl->AssignImageList( p_images );
-
-    /* Reduce font size */
-    wxFont font = treectrl->GetFont(); font.SetPointSize(9);
-    treectrl->SetFont( font );
-
-#if wxUSE_DRAG_AND_DROP
-    /* Associate drop targets with the playlist */
-    SetDropTarget( new DragAndDrop( p_intf, true ) );
-#endif
-
-    /* Update the playlist */
-    Rebuild( true );
-
-    /*
-     * We want to be notified of playlist changes
-     */
-
-    /* Some global changes happened -> Rebuild all */
-    var_AddCallback( p_playlist, "intf-change", PlaylistChanged, this );
-
-    /* We went to the next item */
-    var_AddCallback( p_playlist, "playlist-current", PlaylistNext, this );
-
-    /* One item has been updated */
-    var_AddCallback( p_playlist, "item-change", ItemChanged, this );
-
-    var_AddCallback( p_playlist, "item-append", ItemAppended, this );
-    var_AddCallback( p_playlist, "item-deleted", ItemDeleted, this );
-}
-
-PlaylistManager::~PlaylistManager()
-{
-    if( p_playlist == NULL ) return;
-
-    var_DelCallback( p_playlist, "item-change", ItemChanged, this );
-    var_DelCallback( p_playlist, "playlist-current", PlaylistNext, this );
-    var_DelCallback( p_playlist, "intf-change", PlaylistChanged, this );
-    var_DelCallback( p_playlist, "item-append", ItemAppended, this );
-    var_DelCallback( p_playlist, "item-deleted", ItemDeleted, this );
-    vlc_object_release( p_playlist );
-}
-
-/*****************************************************************************
- * PlaylistChanged: callback triggered by the intf-change playlist variable
- *  We don't rebuild the playlist directly here because we don't want the
- *  caller to block for a too long time.
- *****************************************************************************/
-static int PlaylistChanged( vlc_object_t *p_this, const char *psz_variable,
-                            vlc_value_t oval, vlc_value_t nval, void *param )
-{
-    PlaylistManager *p_playlist = (PlaylistManager *)param;
-    p_playlist->b_need_update = true;
-    return VLC_SUCCESS;
-}
-
-/*****************************************************************************
- * Next: callback triggered by the playlist-current playlist variable
- *****************************************************************************/
-static int PlaylistNext( vlc_object_t *p_this, const char *psz_variable,
-                         vlc_value_t oval, vlc_value_t nval, void *param )
-{
-    PlaylistManager *p_playlist = (PlaylistManager *)param;
-
-    wxCommandEvent event( wxEVT_PLAYLIST, UpdateItem_Event );
-    event.SetInt( oval.i_int );
-    p_playlist->AddPendingEvent( event );
-    event.SetInt( nval.i_int );
-    p_playlist->AddPendingEvent( event );
-
-    return VLC_SUCCESS;
-}
-
-/*****************************************************************************
- * Update functions
- *****************************************************************************/
-void PlaylistManager::CreateNode( playlist_item_t *p_node, wxTreeItemId parent)
-{
-    wxTreeItemId node =
-        treectrl->AppendItem( parent, wxL2U( p_node->p_input->psz_name ), -1, -1,
-                              new PlaylistItem( p_node ) );
-    treectrl->SetItemImage( node, p_node->p_input->i_type );
-
-    UpdateNodeChildren( p_node, node );
-}
-
-void PlaylistManager::UpdateNode( playlist_item_t *p_node, wxTreeItemId node )
-{
-    wxTreeItemIdValue cookie;
-    wxTreeItemId child;
-
-    for( int i = 0; i < p_node->i_children ; i++ )
-    {
-        if( !i ) child = treectrl->GetFirstChild( node, cookie);
-        else child = treectrl->GetNextChild( node, cookie );
-
-        if( !child.IsOk() )
-        {
-            /* Not enough children */
-            CreateNode( p_node->pp_children[i], node );
-            /* Keep the tree pointer up to date */
-            child = treectrl->GetNextChild( node, cookie );
-        }
-    }
-
-    treectrl->SetItemImage( node, p_node->p_input->i_type );
-
-}
-
-void PlaylistManager::UpdateNodeChildren( playlist_item_t *p_node,
-                                          wxTreeItemId node )
-{
-    for( int i = 0; i< p_node->i_children ; i++ )
-    {
-        /* Append the item */
-        if( p_node->pp_children[i]->i_children == -1 )
-        {
-            wxTreeItemId item =
-                treectrl->AppendItem( node,
-                    wxL2U( p_node->pp_children[i]->p_input->psz_name ), -1,-1,
-                           new PlaylistItem( p_node->pp_children[i]) );
-
-            UpdateTreeItem( item );
-        }
-        else
-        {
-            CreateNode( p_node->pp_children[i], node );
-        }
-    }
-}
-
-void PlaylistManager::UpdateTreeItem( wxTreeItemId item )
-{
-    if( ! item.IsOk() ) return;
-
-    wxTreeItemData *p_data = treectrl->GetItemData( item );
-    if( !p_data ) return;
-
-    LockPlaylist( p_intf->p_sys, p_playlist );
-    playlist_item_t *p_item =
-        playlist_ItemGetById( p_playlist, ((PlaylistItem *)p_data)->i_id,
-                true );
-    if( !p_item )
-    {
-        UnlockPlaylist( p_intf->p_sys, p_playlist );
-        return;
-    }
-
-    wxString msg;
-    wxString duration = wxU( "" );
-
-    char *psz_artist = input_item_GetArtist( p_item->p_input );
-    if( !psz_artist )
-        psz_artist = strdup( "" );
-
-    char *psz_name = input_item_GetName( p_item->p_input );
-    if( !psz_name )
-        psz_name = strdup( "" );
-
-    char psz_duration[MSTRTIME_MAX_SIZE];
-    mtime_t dur = input_item_GetDuration( p_item->p_input );
-
-    if( dur != -1 )
-    {
-        secstotimestr( psz_duration, dur/1000000 );
-        duration.Append( wxU( " ( " ) +  wxString( wxU( psz_duration ) ) +
-                         wxU( " )" ) );
-    }
-
-    if( !strcmp( psz_artist, "" ) || p_item->p_input->b_fixed_name == true )
-    {
-        msg = wxString( wxU( psz_name ) ) + duration;
-    }
-    else
-    {
-        msg = wxString(wxU( psz_artist )) + wxT(" - ") +
-                    wxString(wxU(psz_name)) + duration;
-    }
-    free( psz_artist );
-    free( psz_name );
-    treectrl->SetItemText( item , msg );
-    treectrl->SetItemImage( item, p_item->p_input->i_type );
-
-    if( p_playlist->status.p_item == p_item )
-    {
-        treectrl->SetItemBold( item, true );
-        while( treectrl->GetItemParent( item ).IsOk() )
-        {
-            item = treectrl->GetItemParent( item );
-            treectrl->Expand( item );
-        }
-    }
-    else
-    {
-        treectrl->SetItemBold( item, false );
-    }
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void PlaylistManager::AppendItem( wxCommandEvent& event )
-{
-    playlist_add_t *p_add = (playlist_add_t *)event.GetClientData();
-    playlist_item_t *p_item = NULL;
-    wxTreeItemId item, node;
-
-    i_items_to_append--;
-
-    /* No need to do anything if the playlist is going to be rebuilt */
-    if( b_need_update ) return;
-
-    //if( p_add->i_view != i_current_view ) goto update;
-
-    node = FindItem( treectrl->GetRootItem(), p_add->i_node );
-    if( !node.IsOk() ) goto update;
-
-    p_item = playlist_ItemGetById( p_playlist, p_add->i_item, false );
-    if( !p_item ) goto update;
-
-    item = FindItem( treectrl->GetRootItem(), p_add->i_item );
-    if( item.IsOk() ) goto update;
-
-    item = treectrl->AppendItem( node, wxL2U( p_item->p_input->psz_name ), -1,-1,
-                                 new PlaylistItem( p_item ) );
-    treectrl->SetItemImage( item, p_item->p_input->i_type );
-
-    if( item.IsOk() && p_item->i_children == -1 ) UpdateTreeItem( item );
-
-update:
-    return;
-}
-
-void PlaylistManager::UpdateItem( int i )
-{
-    if( i < 0 ) return; /* Sanity check */
-
-    wxTreeItemId item = FindItem( treectrl->GetRootItem(), i );
-    if( item.IsOk() ) UpdateTreeItem( item );
-}
-
-void PlaylistManager::RemoveItem( int i )
-{
-    if( i <= 0 ) return; /* Sanity check */
-
-    wxTreeItemId item = FindItem( treectrl->GetRootItem(), i );
-    if( item.IsOk() )
-    {
-        treectrl->Delete( item );
-
-        /* Invalidate cache */
-        i_cached_item_id = -1;
-    }
-}
-
-/* This function is called on a regular basis */
-void PlaylistManager::Update()
-{
-    i_update_counter++;
-
-    /* If the playlist isn't show there's no need to update it */
-    if( !IsShown() ) return;
-
-    if( this->b_need_update )
-    {
-        this->b_need_update = false;
-        Rebuild( true );
-    }
-
-    /* Updating the playing status every 0.5s is enough */
-    if( i_update_counter % 5 ) return;
-}
-
-/**********************************************************************
- * Rebuild the playlist
- **********************************************************************/
-void PlaylistManager::Rebuild( bool b_root )
-{
-    i_items_to_append = 0;
-    i_cached_item_id = -1;
-
-    treectrl->DeleteAllItems();
-    treectrl->AddRoot( wxU(_("root" )), -1, -1,
-                       new PlaylistItem( p_playlist->p_root_category ) );
-
-    wxTreeItemId root = treectrl->GetRootItem();
-    UpdateNode( p_playlist->p_root_category, root );
-}
-
-/**********************************************************************
- * Search functions (internal)
- **********************************************************************/
-
-/* Find a wxItem from a playlist id */
-wxTreeItemId PlaylistManager::FindItem( wxTreeItemId root, int i_id )
-{
-    wxTreeItemIdValue cookie;
-    PlaylistItem *p_wxcurrent;
-    wxTreeItemId dummy, search, item, child;
-
-    if( i_id < 0 ) return dummy;
-    if( i_cached_item_id == i_id ) return cached_item;
-
-    p_wxcurrent = (PlaylistItem *)treectrl->GetItemData( root );
-    if( !p_wxcurrent ) return dummy;
-
-    if( p_wxcurrent->i_id == i_id )
-    {
-        i_cached_item_id = i_id;
-        cached_item = root;
-        return root;
-    }
-
-    item = treectrl->GetFirstChild( root, cookie );
-    while( item.IsOk() )
-    {
-        p_wxcurrent = (PlaylistItem *)treectrl->GetItemData( item );
-        if( !p_wxcurrent )
-        {
-            item = treectrl->GetNextChild( root, cookie );
-            continue;
-        }
-
-        if( p_wxcurrent->i_id == i_id )
-        {
-            i_cached_item_id = i_id;
-            cached_item = item;
-            return item;
-        }
-
-        if( treectrl->ItemHasChildren( item ) )
-        {
-            wxTreeItemId search = FindItem( item, i_id );
-            if( search.IsOk() ) return search;
-        }
-
-        item = treectrl->GetNextChild( root, cookie );
-    }
-
-    return dummy;
-}
-
-/********************************************************************
- * Events
- ********************************************************************/
-void PlaylistManager::OnActivateItem( wxTreeEvent& event )
-{
-    playlist_item_t *p_item, *p_node;
-    wxTreeItemId parent = treectrl->GetItemParent( event.GetItem() );
-    PlaylistItem *p_wxitem = (PlaylistItem *)
-        treectrl->GetItemData( event.GetItem() );
-
-    if( !p_wxitem || !parent.IsOk() ) return;
-
-    PlaylistItem *p_wxparent = (PlaylistItem *)treectrl->GetItemData( parent );
-    if( !p_wxparent ) return;
-
-    LockPlaylist( p_intf->p_sys, p_playlist );
-    p_item = playlist_ItemGetById( p_playlist, p_wxitem->i_id, true );
-    p_node = playlist_ItemGetById( p_playlist, p_wxparent->i_id, true );
-    if( !p_item || p_item->i_children >= 0 )
-    {
-        p_node = p_item;
-        p_item = NULL;
-    }
-    playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, true,  p_node, p_item );
-    UnlockPlaylist( p_intf->p_sys, p_playlist );
-}
-
-void PlaylistManager::OnPlaylistEvent( wxCommandEvent& event )
-{
-    switch( event.GetId() )
-    {
-    case UpdateItem_Event:
-        UpdateItem( event.GetInt() );
-        break;
-    case AppendItem_Event:
-        AppendItem( event );
-        break;
-    case RemoveItem_Event:
-        RemoveItem( event.GetInt() );
-        break;
-    }
-}
-
-/*****************************************************************************
- * ItemChanged: callback triggered by the item-change playlist variable
- *****************************************************************************/
-static int ItemChanged( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t old_val, vlc_value_t new_val, void *param )
-{
-    PlaylistManager *p_playlist = (PlaylistManager *)param;
-
-    wxCommandEvent event( wxEVT_PLAYLIST, UpdateItem_Event );
-    event.SetInt( new_val.i_int );
-    p_playlist->AddPendingEvent( event );
-
-    return VLC_SUCCESS;
-}
-static int ItemDeleted( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t old_val, vlc_value_t new_val, void *param )
-{
-    PlaylistManager *p_playlist = (PlaylistManager *)param;
-
-    wxCommandEvent event( wxEVT_PLAYLIST, RemoveItem_Event );
-    event.SetInt( new_val.i_int );
-    p_playlist->AddPendingEvent( event );
-
-    return VLC_SUCCESS;
-}
-
-static int ItemAppended( vlc_object_t *p_this, const char *psz_variable,
-                         vlc_value_t oval, vlc_value_t nval, void *param )
-{
-    PlaylistManager *p_playlist = (PlaylistManager *)param;
-
-    playlist_add_t *p_add = (playlist_add_t *)malloc(sizeof( playlist_add_t));
-    memcpy( p_add, nval.p_address, sizeof( playlist_add_t ) );
-
-    if( ++p_playlist->i_items_to_append >= 50 )
-    {
-        /* Too many items waiting to be added, it will be quicker to rebuild
-         * the whole playlist */
-        p_playlist->b_need_update = true;
-        return VLC_SUCCESS;
-    }
-
-    wxCommandEvent event( wxEVT_PLAYLIST, AppendItem_Event );
-    event.SetClientData( (void *)p_add );
-    p_playlist->AddPendingEvent( event );
-
-    return VLC_SUCCESS;
-}
-}
diff --git a/modules/gui/wxwidgets/playlist_manager.hpp b/modules/gui/wxwidgets/playlist_manager.hpp
deleted file mode 100644 (file)
index 2f39dab..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*****************************************************************************
- * playlist_manager.hpp: Header for the playlist manager
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *          Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_PLAYLIST_MANAGER_H_
-#define _WXVLC_PLAYLIST_MANAGER_H_
-
-#include "wxwidgets.hpp"
-#include <wx/treectrl.h>
-
-namespace wxvlc
-{
-/* PlaylistManager */
-class PlaylistManager: public wxPanel
-{
-public:
-    /* Constructor */
-    PlaylistManager( intf_thread_t *p_intf, wxWindow *p_parent );
-    virtual ~PlaylistManager();
-
-    void Update();
-
-    bool b_need_update;
-    int  i_items_to_append;
-
-private:
-    DECLARE_EVENT_TABLE();
-
-    /* Update */
-    void Rebuild( bool );
-    void CreateNode( playlist_item_t*, wxTreeItemId );
-    void UpdateNode( playlist_item_t*, wxTreeItemId );
-    void UpdateNodeChildren( playlist_item_t*, wxTreeItemId );
-    void UpdateTreeItem( wxTreeItemId );
-
-    void UpdateItem( int );
-    void AppendItem( wxCommandEvent& );
-    void RemoveItem( int );
-
-    wxTreeItemId FindItem( wxTreeItemId, int );
-
-    /* Events */
-    void OnActivateItem( wxTreeEvent& event );
-    /* Custom events */
-    void OnPlaylistEvent( wxCommandEvent& event );
-
-    /* Simple cache for FindItem() */
-    int i_cached_item_id;
-    wxTreeItemId cached_item;
-
-    intf_thread_t *p_intf;
-    playlist_t *p_playlist;
-    wxTreeCtrl *treectrl;
-    wxSizer *sizer;
-
-    int i_update_counter;
-};
-
-} // end of wxvlc namespace
-
-#endif
diff --git a/modules/gui/wxwidgets/streamdata.cpp b/modules/gui/wxwidgets/streamdata.cpp
deleted file mode 100644 (file)
index e15218c..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*****************************************************************************
- * streamdata.cpp: streaming/transcoding data
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <vlc_common.h>
-#include <wx/string.h>
-#include "streamdata.h"
-
-
-const struct codec vcodecs_array[] =
-{
-    { "MPEG-1 Video" , "mp1v" , N_("MPEG-1 Video codec (useable with MPEG PS, " \
-        "MPEG TS, MPEG1, OGG and RAW)"),
-//       {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_AVI, MUX_RAW, -1,-1,-1 } },
-       {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_RAW, -1,-1,-1,-1 } },
-    { "MPEG-2 Video" , "mp2v" , N_("MPEG-2 Video codec (useable with MPEG PS, " \
-        "MPEG TS, MPEG1, OGG and RAW)"),
-//       {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_AVI, MUX_RAW, -1,-1,-1 } },
-       {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_RAW, -1,-1,-1,-1 } },
-    { "MPEG-4 Video" , "mp4v" , N_("MPEG-4 Video codec (useable with MPEG PS, " \
-        "MPEG TS, MPEG1, ASF, MPEG4, OGG and RAW)"),
-//       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_AVI,MUX_RAW, -1} },
-       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_RAW, -1,-1} },
-    { "DIVX 1" ,"DIV1",N_("DivX first version (useable with MPEG TS, MPEG1, ASF" \
-        " and OGG)") ,
-//       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , MUX_AVI , -1,-1,-1,-1 } },
-       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
-    { "DIVX 2" ,"DIV2",N_("DivX second version (useable with MPEG TS, MPEG1, ASF" \
-        " and OGG)") ,
-       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
-    { "DIVX 3" ,"DIV3",N_("DivX third version (useable with MPEG TS, MPEG1, ASF" \
-        " and OGG)") ,
-       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
-    { "H 263" , "h263" , N_("H263 is a video codec optimized for videoconference " \
-        "(low rates, useable with MPEG TS)") ,
-       { MUX_TS, -1, -1,-1,-1,-1,-1,-1,-1 } },
-    { "H 264" , "h264" , N_("H264 is a new video codec (useable with MPEG TS " \
-        "and MPEG4)") ,
-       { MUX_TS, MUX_MP4, MUX_ASF,-1,-1,-1,-1,-1,-1 } },
-    { "WMV 1" , "WMV1", N_("WMV (Windows Media Video) 7 (useable with MPEG TS, " \
-        "MPEG1, ASF and OGG)") ,
-       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
-    { "WMV 2" , "WMV2", N_("WMV (Windows Media Video) 8 (useable with MPEG TS, " \
-        "MPEG1, ASF and OGG)") ,
-       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
-#ifdef WIN32
-    { "WMV 3" , "WMV3", N_("WMV (Windows Media Video) 9 (useable with MPEG TS, " \
-        "MPEG1, ASF and OGG)") ,
-       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
-#endif
-    { "MJPEG" , "MJPG", N_("MJPEG consists of a series of JPEG pictures " \
-        "(useable with MPEG TS, MPEG1, ASF and OGG)") ,
-       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
-    { "Theora" , "theo", N_("Theora is a free general-purpose codec (useable " \
-        "with MPEG TS)"),
-       {MUX_TS, MUX_OGG,-1,-1,-1,-1,-1,-1,-1} },
-    { "Dummy", "dummy", N_("Dummy codec (do not transcode, useable with all " \
-        "encapsulation formats)") ,
-      {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_WAV,MUX_RAW,MUX_MOV}},
-    { NULL,NULL,NULL , {-1,-1,-1,-1,-1,-1,-1,-1,-1}} /* Do not remove me */
-};
-
-const struct codec acodecs_array[] =
-{
-    { "MPEG Audio" , "mpga" , N_("The standard MPEG audio (1/2) format " \
-        "(useable with MPEG PS, MPEG TS, MPEG1, ASF, OGG and RAW)") ,
-//       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_AVI,MUX_RAW, -1,-1} },
-       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_RAW, -1,-1,-1} },
-    { "MP3" , "mp3" , N_("MPEG Audio Layer 3 (useable with MPEG PS, MPEG TS, " \
-        "MPEG1, ASF, OGG and RAW)") ,
-//       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_AVI,MUX_RAW, -1,-1} },
-       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_RAW, -1,-1, -1} },
-    { "MPEG 4 Audio" , "mp4a" , N_("Audio format for MPEG4 (useable with " \
-        "MPEG TS and MPEG4)") ,
-       {MUX_TS, MUX_MP4, -1,-1,-1,-1,-1,-1,-1 } },
-    { "A/52" , "a52" , N_("DVD audio format (useable with MPEG PS, MPEG TS, " \
-        "MPEG1, ASF, OGG and RAW)") ,
-//       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_AVI,MUX_RAW, -1,-1} },
-       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_RAW, -1,-1,-1} },
-    { "Vorbis" , "vorb" , N_("Vorbis is a free audio codec (useable with OGG)") ,
-       {MUX_OGG, -1,-1,-1,-1,-1,-1,-1,-1} },
-    { "FLAC" , "flac" , N_("FLAC is a lossless audio codec (useable with OGG " \
-        "and RAW)") ,
-       {MUX_OGG , MUX_RAW, -1,-1,-1,-1,-1,-1,-1} },
-    { "Speex" , "spx" , N_("A free audio codec dedicated to compression of " \
-        "voice (useable with OGG)") ,
-       {MUX_OGG, -1,-1,-1,-1,-1,-1,-1,-1} },
-    { "Uncompressed, integer" , "s16l" , N_("Uncompressed audio samples " \
-        "(useable with WAV)"),
-       {MUX_WAV, -1,-1,-1,-1,-1,-1,-1,-1} },
-    { "Uncompressed, floating" , "fl32" , N_("Uncompressed audio samples " \
-        "(useable with WAV)"),
-       {MUX_WAV, -1,-1,-1,-1,-1,-1,-1,-1} },
-    { "Dummy", "dummy", N_("Dummy codec (do not transcode, useable with all " \
-        "encapsulation formats)") ,
-//     {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_AVI,MUX_RAW,MUX_MOV}},
-     {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_RAW,MUX_MOV,MUX_WAV}},
-    { NULL,NULL,NULL , {-1,-1,-1,-1,-1,-1,-1,-1,-1}} /* Do not remove me */
-};
-
-const struct method methods_array[] =
-{
-    {"rtp{",N_("RTP Unicast"), N_("Stream to a single computer."),
-     N_("Enter the address of the computer to stream to."),
-     { MUX_TS, -1,-1,-1,-1,-1,-1,-1,-1 } },
-    {"rtp{",N_("RTP Multicast"),
-     N_("Stream to a dynamic group of computers on a "
-     "multicast-enabled network. This is the most efficient method "
-     "to stream to several computers, but it does not work over the Internet."),
-     N_("Enter the multicast address to stream to. "
-     "This must be an IP address between 224.0.0.0 an 239.255.255.255. "
-     "For private use, enter an address beginning with 239.255."),
-     { MUX_TS, -1,-1,-1,-1,-1,-1,-1,-1 } },
-    {"std{access=http,","HTTP",
-     N_("Stream to several computers. This method is "
-     "less efficient, as the server needs to send the "
-     "stream several times."),
-     N_("Enter the local addresses you want to listen to. Do not enter "
-     "anything if you want to listen to all adresses or if you don't "
-     "understand. This is generally the best thing to do. Other computers "
-     "can then access the stream at http://yourip:8080 by default."),
-     { MUX_TS, MUX_PS, MUX_MPEG, MUX_OGG, MUX_RAW, MUX_ASF, -1,-1,-1} },
-    { NULL, NULL,NULL,NULL , {-1,-1,-1,-1,-1,-1,-1,-1,-1}} /* Do not remove me */
-};
-
-
-const struct encap encaps_array[] =
-{
-    { MUX_PS, "ps","MPEG PS", N_("MPEG Program Stream") },
-    { MUX_TS, "ts","MPEG TS", N_("MPEG Transport Stream") },
-    { MUX_MPEG, "ps", "MPEG 1", N_("MPEG 1 Format") },
-    { MUX_OGG, "ogg", "OGG", "OGG" },
-    { MUX_RAW, "raw", "RAW", "RAW" },
-    { MUX_ASF, "asf","ASF", "ASF" },
-//    { MUX_AVI, "avi","AVI", "AVI" },
-    { MUX_MP4, "mp4","MP4", "MPEG4" },
-    { MUX_MOV, "mov","MOV", "MOV" },
-    { MUX_WAV, "wav","WAV", "WAV" },
-    { -1 , NULL,NULL , NULL } /* Do not remove me */
-};
diff --git a/modules/gui/wxwidgets/streamdata.h b/modules/gui/wxwidgets/streamdata.h
deleted file mode 100644 (file)
index 9cfcfcd..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*****************************************************************************
- * streamdata.h: streaming/transcoding data
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-
-#define MUXERS_NUMBER 9
-
-// Do not count dummy here !
-#ifdef WIN32
-#define VCODECS_NUMBER 13
-#else
-#define VCODECS_NUMBER 12
-#endif
-
-#define ACODECS_NUMBER 9
-
-#define MUX_PS          0
-#define MUX_TS          1
-#define MUX_MPEG        2
-#define MUX_OGG         3
-#define MUX_RAW         4
-#define MUX_ASF         5
-#define MUX_AVI         6
-#define MUX_MP4         7
-#define MUX_MOV         8
-#define MUX_WAV         9
-
-/* Muxer / Codecs / Access_out compatibility tables */
-
-
-struct codec {
-    char *psz_display;
-    char *psz_codec;
-    char *psz_descr;
-    int muxers[MUXERS_NUMBER];
-};
-
-extern const struct codec vcodecs_array[];
-extern const struct codec acodecs_array[];
-
-
-struct method {
-    char *psz_access;
-    char *psz_method;
-    char *psz_descr;
-    char *psz_address;
-    int   muxers[MUXERS_NUMBER];
-};
-
-extern const struct method methods_array[];
-
-
-struct encap {
-    int   id;
-    char *psz_mux;
-    char *psz_encap;
-    char *psz_descr;
-};
-
-extern const struct encap encaps_array[];
-
-
-/* Bitrates arrays */
-static const wxString vbitrates_array[] =
-{
-    wxT("3072"),
-    wxT("2048"),
-    wxT("1024"),
-    wxT("768"),
-    wxT("512"),
-    wxT("384"),
-    wxT("256"),
-    wxT("192"),
-    wxT("128"),
-    wxT("96"),
-    wxT("64"),
-    wxT("32"),
-    wxT("16")
-};
-
-static const wxString abitrates_array[] =
-{
-    wxT("512"),
-    wxT("256"),
-    wxT("192"),
-    wxT("128"),
-    wxT("96"),
-    wxT("64"),
-    wxT("32"),
-    wxT("16")
-};
diff --git a/modules/gui/wxwidgets/timer.cpp b/modules/gui/wxwidgets/timer.cpp
deleted file mode 100644 (file)
index b8e4a2d..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/*****************************************************************************
- * timer.cpp : wxWindows plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include "timer.hpp"
-#include "input_manager.hpp"
-#include "interface.hpp"
-#include "vlc_meta.h"
-
-//void DisplayStreamDate( wxControl *, intf_thread_t *, int );
-
-/* Callback prototypes */
-static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t old_val, vlc_value_t new_val, void *param );
-static int IntfShowCB( vlc_object_t *p_this, const char *psz_variable,
-                       vlc_value_t old_val, vlc_value_t new_val, void *param );
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-Timer::Timer( intf_thread_t *_p_intf, Interface *_p_main_interface )
-{
-    p_intf = _p_intf;
-    p_main_interface = _p_main_interface;
-    b_init = 0;
-
-    var_AddCallback( p_intf->p_libvlc, "intf-show", IntfShowCB, p_intf );
-
-    /* Register callback for the intf-popupmenu variable */
-    var_AddCallback( p_intf->p_libvlc, "intf-popupmenu", PopupMenuCB, p_intf );
-
-    Start( 100 /*milliseconds*/, wxTIMER_CONTINUOUS );
-}
-
-Timer::~Timer()
-{
-    var_DelCallback( p_intf->p_libvlc, "intf-show", IntfShowCB, p_intf );
-
-    /* Unregister callback */
-    var_DelCallback( p_intf->p_libvlc, "intf-popupmenu", PopupMenuCB, p_intf );
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-
-/*****************************************************************************
- * Manage: manage main thread messages
- *****************************************************************************
- * In this function, called approx. 10 times a second, we check what the
- * main program wanted to tell us.
- *****************************************************************************/
-void Timer::Notify()
-{
-#if defined( __WXMSW__ ) /* Work-around a bug with accelerators */
-    if( !b_init )
-    {
-        p_main_interface->Init();
-        b_init = true;
-    }
-#endif
-
-    vlc_mutex_lock( &p_intf->change_lock );
-
-    /* Call update */
-    p_main_interface->input_manager->Update();
-    p_main_interface->Update();
-
-    /* Show the interface, if requested */
-    if( p_intf->p_sys->b_intf_show )
-    {
-        p_main_interface->Raise();
-        p_main_interface->Show();
-        p_intf->p_sys->b_intf_show = false;
-    }
-
-    if( !vlc_object_alive( p_intf ) )
-    {
-        vlc_mutex_unlock( &p_intf->change_lock );
-
-        /* Prepare to die, young Skywalker */
-        p_main_interface->Close(TRUE);
-        return;
-    }
-
-    vlc_mutex_unlock( &p_intf->change_lock );
-}
-
-/*****************************************************************************
- * PopupMenuCB: callback triggered by the intf-popupmenu playlist variable.
- *  We don't show the menu directly here because we don't want the
- *  caller to block for a too long time.
- *****************************************************************************/
-static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
-                        vlc_value_t old_val, vlc_value_t new_val, void *param )
-{
-    intf_thread_t *p_intf = (intf_thread_t *)param;
-
-    if( p_intf->p_sys->pf_show_dialog )
-    {
-        p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU,
-                                       new_val.b_bool, 0 );
-    }
-
-    return VLC_SUCCESS;
-}
-
-
-/*****************************************************************************
- * IntfShowCB: callback triggered by the intf-show playlist variable.
- *****************************************************************************/
-static int IntfShowCB( vlc_object_t *p_this, const char *psz_variable,
-                       vlc_value_t old_val, vlc_value_t new_val, void *param )
-{
-    intf_thread_t *p_intf = (intf_thread_t *)param;
-    p_intf->p_sys->b_intf_show = true;
-
-    return VLC_SUCCESS;
-}
diff --git a/modules/gui/wxwidgets/timer.hpp b/modules/gui/wxwidgets/timer.hpp
deleted file mode 100644 (file)
index bb8ac39..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*****************************************************************************
- * timer.hpp: Timer headers
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#include "wxwidgets.hpp"
-
-namespace wxvlc
-{
-    class InputManager;
-    class Interface;
-
-    class Timer: public wxTimer
-    {
-    public:
-        /* Constructor */
-        Timer( intf_thread_t *p_intf, Interface *p_main_interface );
-        virtual ~Timer();
-
-        virtual void Notify();
-
-    private:
-        intf_thread_t *p_intf;
-        Interface *p_main_interface;
-        bool b_init;
-        int i_old_playing_status;
-        int i_old_rate;
-
-        InputManager *msm;
-    };
-
-}
diff --git a/modules/gui/wxwidgets/video.cpp b/modules/gui/wxwidgets/video.cpp
deleted file mode 100644 (file)
index 2eace2d..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-/*****************************************************************************
- * video.cpp : wxWidgets plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2004, 2003 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <vlc_common.h>
-#include <vlc_vout.h>
-#include <vlc_interface.h>
-
-#include "video.hpp"
-#include "interface.hpp"
-
-static void *GetWindow( intf_thread_t *p_intf, vout_thread_t *,
-                        int *pi_x_hint, int *pi_y_hint,
-                        unsigned int *pi_width_hint,
-                        unsigned int *pi_height_hint );
-
-static void ReleaseWindow( intf_thread_t *p_intf, void *p_window );
-
-static int ControlWindow( intf_thread_t *p_intf, void *p_window,
-                          int i_query, va_list args );
-
-/* IDs for the controls and the menu commands */
-enum
-{
-    UpdateSize_Event = wxID_HIGHEST + 1,
-    UpdateHide_Event,
-    SetStayOnTop_Event,
-    ID_HIDE_TIMER
-};
-
-DEFINE_LOCAL_EVENT_TYPE( wxEVT_VLC_VIDEO );
-
-BEGIN_EVENT_TABLE(VideoWindow, wxWindow)
-    EVT_CUSTOM( wxEVT_SIZE, UpdateSize_Event, VideoWindow::UpdateSize )
-    EVT_CUSTOM( wxEVT_SIZE, UpdateHide_Event, VideoWindow::UpdateHide )
-    EVT_COMMAND( SetStayOnTop_Event, wxEVT_VLC_VIDEO,
-                 VideoWindow::OnControlEvent )
-    EVT_TIMER( ID_HIDE_TIMER, VideoWindow::OnHideTimer )
-END_EVENT_TABLE()
-
-/*****************************************************************************
- * Public methods.
- *****************************************************************************/
-wxWindow *CreateVideoWindow( intf_thread_t *p_intf, wxWindow *p_parent )
-{
-    return new VideoWindow( p_intf, p_parent );
-}
-
-void UpdateVideoWindow( intf_thread_t *p_intf, wxWindow *p_window )
-{
-#if wxCHECK_VERSION(2,5,3)
-    if( !p_intf->p_sys->b_video_autosize ) return;
-
-    if( p_window && mdate() - ((VideoWindow *)p_window)->i_creation_date < 2000000 )
-        return; /* Hack to prevent saving coordinates if window is not yet
-                 * properly created. Yuck :( */
-
-    if( p_window && p_intf->p_sys->p_video_sizer && p_window->IsShown() )
-        p_intf->p_sys->p_video_sizer->SetMinSize( p_window->GetSize() );
-#endif
-}
-
-/*****************************************************************************
- * Constructor.
- *****************************************************************************/
-VideoWindow::VideoWindow( intf_thread_t *_p_intf, wxWindow *_p_parent ):
-  wxWindow( _p_parent, -1, wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN )
-{
-    /* Initializations */
-    p_intf = _p_intf;
-    p_parent = _p_parent;
-    p_child_window = 0;
-
-    vlc_mutex_init( &lock );
-
-    b_auto_size = p_intf->p_sys->b_video_autosize;
-
-    p_vout = NULL;
-    i_creation_date = 0;
-    m_hide_timer.SetOwner( this, ID_HIDE_TIMER );
-
-    p_intf->pf_request_window = ::GetWindow;
-    p_intf->pf_release_window = ::ReleaseWindow;
-    p_intf->pf_control_window = ::ControlWindow;
-
-    p_intf->p_sys->p_video_window = this;
-
-    wxSize child_size = wxSize(0,0);
-    if( !b_auto_size )
-    {
-        WindowSettings *ws = p_intf->p_sys->p_window_settings;
-        wxPoint p; bool b_shown;
-
-        // Maybe this size should be an option
-        child_size = wxSize( wxSystemSettings::GetMetric(wxSYS_SCREEN_X) / 2,
-                             wxSystemSettings::GetMetric(wxSYS_SCREEN_Y) / 2 );
-
-        ws->GetSettings( WindowSettings::ID_VIDEO, b_shown, p, child_size );
-        SetSize( child_size );
-    }
-
-#ifdef __WXGTK__
-    p_child_window = new wxWindow( this, -1, wxDefaultPosition, child_size,
-                                   wxCLIP_CHILDREN );
-#endif
-
-    if( !b_auto_size )
-    {
-        SetBackgroundColour( *wxBLACK );
-        if( p_child_window ) p_child_window->SetBackgroundColour( *wxBLACK );
-    }
-
-    if( p_child_window ) p_child_window->Show();
-    Show();
-    b_shown = true;
-
-    p_intf->p_sys->p_video_sizer = new wxBoxSizer( wxHORIZONTAL );
-#if (wxCHECK_VERSION(2,5,3))
-    p_intf->p_sys->p_video_sizer->Add( this, 1, wxEXPAND|wxFIXED_MINSIZE );
-#else
-    p_intf->p_sys->p_video_sizer->Add( this, 1, wxEXPAND );
-#endif
-
-    ReleaseWindow( NULL );
-}
-
-VideoWindow::~VideoWindow()
-{
-    vlc_mutex_lock( &lock );
-    if( p_vout )
-    {
-        if( vout_Control( p_vout, VOUT_CLOSE ) != VLC_SUCCESS )
-            vout_Control( p_vout, VOUT_REPARENT, 0 );
-    }
-
-    p_intf->pf_request_window = NULL;
-    p_intf->pf_release_window = NULL;
-    p_intf->pf_control_window = NULL;
-    vlc_mutex_unlock( &lock );
-
-    if( !b_auto_size )
-    {
-        WindowSettings *ws = p_intf->p_sys->p_window_settings;
-        ws->SetSettings( WindowSettings::ID_VIDEO, true,
-                         GetPosition(), GetSize() );
-    }
-
-    vlc_mutex_destroy( &lock );
-}
-
-/*****************************************************************************
- * Private methods.
- *****************************************************************************/
-static void *GetWindow( intf_thread_t *p_intf, vout_thread_t *p_vout,
-                        int *pi_x_hint, int *pi_y_hint,
-                        unsigned int *pi_width_hint,
-                        unsigned int *pi_height_hint )
-{
-    return p_intf->p_sys->p_video_window->GetWindow( p_vout,
-                                                     pi_x_hint, pi_y_hint,
-                                                     pi_width_hint,
-                                                     pi_height_hint );
-}
-
-/* Part of the hack to get the X11 window handle from the GtkWidget */
-#ifdef __WXGTK__
-extern "C" {
-#ifdef __WXGTK20__
-    int gdk_x11_drawable_get_xid( void * );
-#endif
-    void *gtk_widget_get_parent_window( void * );
-}
-#endif
-
-void *VideoWindow::GetWindow( vout_thread_t *_p_vout,
-                              int *pi_x_hint, int *pi_y_hint,
-                              unsigned int *pi_width_hint,
-                              unsigned int *pi_height_hint )
-{
-#if defined(__WXGTK__) || defined(WIN32)
-    vlc_mutex_lock( &lock );
-
-    if( p_vout )
-    {
-        vlc_mutex_unlock( &lock );
-        msg_Dbg( p_intf, "video window already in use" );
-        return NULL;
-    }
-
-    p_vout = _p_vout;
-
-    wxSizeEvent event( wxSize(*pi_width_hint, *pi_height_hint),
-                       UpdateSize_Event );
-    AddPendingEvent( event );
-    vlc_mutex_unlock( &lock );
-
-#ifdef __WXGTK__
-    GtkWidget *p_widget = p_child_window->GetHandle();
-
-#ifdef __WXGTK20__
-    return (void *)gdk_x11_drawable_get_xid(
-               gtk_widget_get_parent_window( p_widget ) );
-#elif defined(__WXGTK__)
-    return (void *)*(int *)( (char *)gtk_widget_get_parent_window( p_widget )
-               + 2 * sizeof(void *) );
-#endif
-
-#elif defined(WIN32)
-    return (void*)GetHandle();
-
-#endif
-
-#else // defined(__WXGTK__) || defined(WIN32)
-    return NULL;
-
-#endif
-}
-
-static void ReleaseWindow( intf_thread_t *p_intf, void *p_window )
-{
-    return p_intf->p_sys->p_video_window->ReleaseWindow( p_window );
-}
-
-void VideoWindow::ReleaseWindow( void *p_window )
-{
-    vlc_mutex_lock( &lock );
-    p_vout = NULL;
-    vlc_mutex_unlock( &lock );
-
-    if( !b_auto_size ) return;
-
-#if defined(__WXGTK__) || defined(WIN32)
-    wxSizeEvent event( wxSize(0, 0), UpdateHide_Event );
-    AddPendingEvent( event );
-#endif
-}
-
-void VideoWindow::UpdateSize( wxEvent &_event )
-{
-    m_hide_timer.Stop();
-
-    if( !b_auto_size ) return;
-
-    wxSizeEvent * event = (wxSizeEvent*)(&_event);
-    if( !b_shown )
-    {
-        p_intf->p_sys->p_video_sizer->Show( this, TRUE );
-        p_intf->p_sys->p_video_sizer->Layout();
-        SetFocus();
-        b_shown = true;
-    }
-
-    p_intf->p_sys->p_video_sizer->SetMinSize( event->GetSize() );
-
-    i_creation_date = mdate();
-    wxCommandEvent intf_event( wxEVT_INTF, 0 );
-    p_parent->AddPendingEvent( intf_event );
-}
-
-void VideoWindow::UpdateHide( wxEvent &_event )
-{
-    if( b_auto_size ) m_hide_timer.Start( 200, wxTIMER_ONE_SHOT );
-}
-
-void VideoWindow::OnHideTimer( wxTimerEvent& WXUNUSED(event))
-{
-    if( b_shown )
-    {
-        p_intf->p_sys->p_video_sizer->Show( this, FALSE );
-        SetSize( 0, 0 );
-        p_intf->p_sys->p_video_sizer->Layout();
-        b_shown = false;
-    }
-    p_intf->p_sys->p_video_sizer->SetMinSize( wxSize(0,0) );
-
-    wxCommandEvent intf_event( wxEVT_INTF, 0 );
-    p_parent->AddPendingEvent( intf_event );
-}
-
-void VideoWindow::OnControlEvent( wxCommandEvent &event )
-{
-    switch( event.GetId() )
-    {
-    case SetStayOnTop_Event:
-        wxCommandEvent intf_event( wxEVT_INTF, 1 );
-        intf_event.SetInt( event.GetInt() );
-        p_parent->AddPendingEvent( intf_event );
-        break;
-    }
-}
-
-static int ControlWindow( intf_thread_t *p_intf, void *p_window,
-                          int i_query, va_list args )
-{
-    return p_intf->p_sys->p_video_window->ControlWindow( p_window, i_query,
-                                                         args );
-}
-
-int VideoWindow::ControlWindow( void *p_window, int i_query, va_list args )
-{
-    int i_ret = VLC_EGENERIC;
-
-    vlc_mutex_lock( &lock );
-
-    switch( i_query )
-    {
-        case VOUT_GET_SIZE:
-        {
-            unsigned int *pi_width  = va_arg( args, unsigned int * );
-            unsigned int *pi_height = va_arg( args, unsigned int * );
-
-            *pi_width = GetSize().GetWidth();
-            *pi_height = GetSize().GetHeight();
-            i_ret = VLC_SUCCESS;
-        }
-        break;
-
-        case VOUT_SET_SIZE:
-        {
-            if( !b_auto_size ) break;
-
-            unsigned int i_width  = va_arg( args, unsigned int );
-            unsigned int i_height = va_arg( args, unsigned int );
-
-            if( !i_width && p_vout ) i_width = p_vout->i_window_width;
-            if( !i_height && p_vout ) i_height = p_vout->i_window_height;
-
-            /* Update dimensions */
-            wxSizeEvent event( wxSize( i_width, i_height ), UpdateSize_Event );
-
-            AddPendingEvent( event );
-
-            i_ret = VLC_SUCCESS;
-        }
-        break;
-
-        case VOUT_SET_STAY_ON_TOP:
-        {
-            int i_arg = va_arg( args, int );
-            wxCommandEvent event( wxEVT_VLC_VIDEO, SetStayOnTop_Event );
-            event.SetInt( i_arg );
-            AddPendingEvent( event );
-
-            i_ret = VLC_SUCCESS;
-        }
-        break;
-
-        default:
-            msg_Dbg( p_intf, "control query not supported" );
-            break;
-    }
-
-    vlc_mutex_unlock( &lock );
-
-    return i_ret;
-}
diff --git a/modules/gui/wxwidgets/video.hpp b/modules/gui/wxwidgets/video.hpp
deleted file mode 100644 (file)
index f1e24a1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*****************************************************************************
- * video.hpp: Embedded video management
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef _WXVLC_VIDEO_H_
-#define _WXVLC_VIDEO_H_
-
-#include "wxwidgets.hpp"
-
-namespace wxvlc
-{
-    class VideoWindow: public wxWindow
-    {
-    public:
-        /* Constructor */
-        VideoWindow( intf_thread_t *_p_intf, wxWindow *p_parent );
-        virtual ~VideoWindow();
-
-        void *GetWindow( vout_thread_t *p_vout, int *, int *,
-                         unsigned int *, unsigned int * );
-        void ReleaseWindow( void * );
-        int  ControlWindow( void *, int, va_list );
-
-        mtime_t i_creation_date;
-
-    private:
-        intf_thread_t *p_intf;
-        vout_thread_t *p_vout;
-        wxWindow *p_parent;
-        vlc_mutex_t lock;
-        bool b_shown;
-        bool b_auto_size;
-
-        wxWindow *p_child_window;
-
-        wxTimer m_hide_timer;
-
-        void UpdateSize( wxEvent& event );
-        void UpdateHide( wxEvent& event );
-        void OnControlEvent( wxCommandEvent& event );
-        void OnHideTimer( wxTimerEvent& WXUNUSED(event));
-
-        DECLARE_EVENT_TABLE();
-    };
-};
-
-/* Delegates - Todo: fix this (remove 1st, make 2nd method) */
-wxWindow *CreateVideoWindow( intf_thread_t *p_intf, wxWindow *p_parent );
-void UpdateVideoWindow( intf_thread_t *p_intf, wxWindow *p_window );
-
-#endif
diff --git a/modules/gui/wxwidgets/wxwidgets.cpp b/modules/gui/wxwidgets/wxwidgets.cpp
deleted file mode 100644 (file)
index a2c6962..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-/*****************************************************************************
- * wxwidgets.cpp : wxWidgets plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@netcourrier.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include <errno.h>                                                 /* ENOMEM */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <vlc_common.h>
-#include <vlc_plugin.h>
-#include <vlc_interface.h>
-
-#ifdef HAVE_LOCALE_H
-#   include <locale.h>
-#endif
-
-#include "interface.hpp"
-
-/* Temporary hack */
-#if defined(WIN32) && defined(_WX_INIT_H_)
-#if (wxMAJOR_VERSION <= 2) && (wxMINOR_VERSION <= 5) && (wxRELEASE_NUMBER < 3)
-/* Hack to detect wxWidgets 2.5 which has a different wxEntry() prototype */
-extern int wxEntry( HINSTANCE hInstance, HINSTANCE hPrevInstance = NULL,
-                    char *pCmdLine = NULL, int nCmdShow = SW_NORMAL );
-#endif
-#endif
-
-/*****************************************************************************
- * Local prototypes.
- *****************************************************************************/
-static int  Open         ( vlc_object_t * );
-static void Close        ( vlc_object_t * );
-static int  OpenDialogs  ( vlc_object_t * );
-
-static void Run          ( intf_thread_t * );
-static void* Init        ( vlc_object_t *  );
-
-static void ShowDialog   ( intf_thread_t *, int, int, intf_dialog_args_t * );
-
-#if (wxCHECK_VERSION(2,5,0))
-void *wxClassInfo_sm_classTable_BUGGY = 0;
-#endif
-
-/*****************************************************************************
- * Local classes declarations.
- *****************************************************************************/
-class Instance: public wxApp
-{
-public:
-    Instance();
-    Instance( intf_thread_t *_p_intf );
-
-    bool OnInit();
-    int  OnExit();
-
-private:
-    intf_thread_t *p_intf;
-    wxLocale locale;                                /* locale we'll be using */
-};
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-#define EMBED_TEXT N_("Embed video in interface")
-#define EMBED_LONGTEXT N_("Embed the video inside the interface instead " \
-    "of having it in a separate window.")
-#define BOOKMARKS_TEXT N_("Bookmarks dialog")
-#define BOOKMARKS_LONGTEXT N_("Show bookmarks dialog at startup" )
-#define EXTENDED_TEXT N_("Extended GUI")
-#define EXTENDED_LONGTEXT N_("Show extended GUI (equalizer, image adjust, "  \
-              "video filters...) at startup"  )
-#define TASKBAR_TEXT N_("Taskbar")
-#define TASKBAR_LONGTEXT N_("Show VLC on the taskbar")
-#define MINIMAL_TEXT N_("Minimal interface")
-#define MINIMAL_LONGTEXT N_("Use minimal interface, with no toolbar and " \
-                "fewer menus.")
-#define SIZE_TO_VIDEO_TEXT N_("Size to video")
-#define SIZE_TO_VIDEO_LONGTEXT N_("Resize VLC to match the video resolution.")
-#define SYSTRAY_TEXT N_("Systray icon")
-#define SYSTRAY_LONGTEXT N_("Show a systray icon for VLC")
-#define LABEL_TEXT N_("Show labels in toolbar")
-#define LABEL_LONGTEXT N_("Show labels below the icons in the toolbar.")
-
-#define PLAYLIST_TEXT N_("Playlist view" )
-#define PLAYLIST_LONGTEXT N_("There are two possible playlist views in the " \
-                "interface : the normal playlist (separate window), or an " \
-                "embedded playlist (within the main interface, but with " \
-                "less features). You can select which one will be available " \
-                "on the toolbar (or both)." )
-
-static const int pi_playlist_views[] = { 0,1,2 };
-static const char *const psz_playlist_views[] = {
-    N_("Normal" ), N_("Embedded" ), N_("Both") };
-
-vlc_module_begin ()
-    set_shortname( "wxWidgets" )
-    set_description( N_("wxWidgets interface") )
-    set_category( CAT_INTERFACE )
-    set_subcategory( SUBCAT_INTERFACE_MAIN )
-    set_capability( "interface", 150 )
-    set_callbacks( Open, Close )
-    add_shortcut( "wxwindows" )
-    add_shortcut( "wxwin" )
-    add_shortcut( "wx" )
-    add_shortcut( "wxwidgets" )
-
-    add_bool( "wx-embed", 1, NULL,
-              EMBED_TEXT, EMBED_LONGTEXT, false );
-        add_deprecated_alias( "wxwin-enbed" ) /*Deprecated since 0.8.4*/
-    add_bool( "wx-bookmarks", 0, NULL,
-              BOOKMARKS_TEXT, BOOKMARKS_LONGTEXT, false );
-        add_deprecated_alias( "wxwin-bookmarks" ) /*Deprecated since 0.8.4*/
-    add_bool( "wx-taskbar", 1, NULL,
-              TASKBAR_TEXT, TASKBAR_LONGTEXT, false );
-        add_deprecated_alias( "wxwin-taskbar" ) /*Deprecated since 0.8.4*/
-    add_bool( "wx-extended", 0, NULL,
-              EXTENDED_TEXT, EXTENDED_LONGTEXT, false );
-    add_bool( "wx-minimal", 0, NULL,
-              MINIMAL_TEXT, MINIMAL_LONGTEXT, true );
-        add_deprecated_alias( "wxwin-minimal" ) /*Deprecated since 0.8.4*/
-    add_bool( "wx-autosize", 1, NULL,
-              SIZE_TO_VIDEO_TEXT, SIZE_TO_VIDEO_LONGTEXT, true );
-        add_deprecated_alias( "wxwin-autosize" ) /*Deprecated since 0.8.4*/
-    add_integer( "wx-playlist-view", 0, NULL, PLAYLIST_TEXT, PLAYLIST_LONGTEXT,
-             false );
-        change_integer_list( pi_playlist_views, psz_playlist_views, NULL );
-/* wxCocoa pretends to support this, but at least 2.6.x doesn't */
-#ifndef __APPLE__
-#ifdef wxHAS_TASK_BAR_ICON
-    add_bool( "wx-systray", 0, NULL,
-              SYSTRAY_TEXT, SYSTRAY_LONGTEXT, false );
-        add_deprecated_alias( "wxwin-systray" ) /*Deprecated since 0.8.4*/
-#endif
-#endif
-    add_bool( "wx-labels", 0, NULL, LABEL_TEXT, LABEL_LONGTEXT, true)
-    add_string( "wx-config-last", NULL, NULL,
-                N_("last config"), N_("last config"), true );
-        change_autosave ()
-        change_internal ()
-        add_deprecated_alias( "wxwin-config-last" ) /*Deprecated since 0.8.4*/
-
-    add_submodule ()
-    set_description( N_("wxWidgets dialogs provider") )
-    set_capability( "dialogs provider", 50 )
-    set_callbacks( OpenDialogs, Close )
-
-#if !defined(WIN32)
-    linked_with_a_crap_library_which_uses_atexit ()
-#endif
-vlc_module_end ()
-
-/*****************************************************************************
- * Open: initialize and create window
- *****************************************************************************/
-static int Open( vlc_object_t *p_this )
-{
-    intf_thread_t *p_intf = (intf_thread_t *)p_this;
-    /* Test in we have an X*/
-#if defined HAVE_GETENV && (defined __WXGTK__ || defined __WXX11)
-    if( !getenv( "DISPLAY" ) )
-    {
-        msg_Err( p_intf, "no X server");
-        return VLC_EGENERIC;
-    }
-#endif
-    /* Allocate instance and initialize some members */
-    p_intf->p_sys = (intf_sys_t *)malloc( sizeof( intf_sys_t ) );
-    if( p_intf->p_sys == NULL )
-        return VLC_ENOMEM;
-    memset( p_intf->p_sys, 0, sizeof( intf_sys_t ) );
-
-    p_intf->pf_run = Run;
-
-    p_intf->p_sys->p_sub = msg_Subscribe( p_intf );
-
-    /* Initialize wxWidgets thread */
-    p_intf->p_sys->b_playing = 0;
-
-    p_intf->p_sys->p_input = NULL;
-    p_intf->p_sys->i_playing = -1;
-
-    p_intf->p_sys->p_popup_menu = NULL;
-    p_intf->p_sys->p_video_window = NULL;
-
-    p_intf->pf_show_dialog = NULL;
-
-    p_intf->p_sys->b_video_autosize =
-        config_GetInt( p_intf, "wx-autosize" );
-
-    return VLC_SUCCESS;
-}
-
-static int OpenDialogs( vlc_object_t *p_this )
-{
-    intf_thread_t *p_intf = (intf_thread_t *)p_this;
-    int i_ret = Open( p_this );
-
-    p_intf->pf_show_dialog = ShowDialog;
-
-    return i_ret;
-}
-
-/*****************************************************************************
- * Close: destroy interface window
- *****************************************************************************/
-static void Close( vlc_object_t *p_this )
-{
-    intf_thread_t *p_intf = (intf_thread_t *)p_this;
-
-    vlc_object_lock( p_intf );
-    p_intf->b_dead = true;
-    vlc_object_unlock( p_intf );
-
-    if( p_intf->pf_show_dialog )
-    {
-        /* We must destroy the dialogs thread */
-        wxCommandEvent event( wxEVT_DIALOG, INTF_DIALOG_EXIT );
-        p_intf->p_sys->p_wxwindow->AddPendingEvent( event );
-        vlc_thread_join( p_intf );
-    }
-
-    msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub );
-
-    /* */
-    delete p_intf->p_sys->p_window_settings;
-
-#if (wxCHECK_VERSION(2,5,0))
-    wxClassInfo::sm_classTable = (wxHashTable*)wxClassInfo_sm_classTable_BUGGY;
-#endif
-
-    /* Destroy structure */
-    free( p_intf->p_sys );
-}
-
-/*****************************************************************************
- * Run: wxWidgets thread
- *****************************************************************************/
-
-//when is this called?
-#if !defined(__BUILTIN__) && defined( WIN32 )
-HINSTANCE hInstance = 0;
-extern "C" BOOL WINAPI
-DllMain (HANDLE hModule, DWORD fdwReason, LPVOID lpReserved)
-{
-    hInstance = (HINSTANCE)hModule;
-    return TRUE;
-}
-#endif
-
-static void Run( intf_thread_t *p_intf )
-{
-    if( p_intf->pf_show_dialog )
-    {
-        /* The module is used in dialog provider mode */
-
-        /* Create a new thread for wxWidgets */
-        if( vlc_thread_create( p_intf, "Skins Dialogs Thread", Init, 0 ) )
-        {
-            msg_Err( p_intf, "cannot create Skins Dialogs Thread" );
-            p_intf->pf_show_dialog = NULL;
-        }
-    }
-    else
-    {
-        int canc = vlc_savecancel();
-        /* The module is used in interface mode */
-        Init( p_intf );
-        vlc_restorecancel( canc );
-    }
-}
-
-static void* Init( vlc_object_t * p_this )
-{
-    intf_thread_t *p_intf = (intf_thread_t*)p_this;
-#if !defined( WIN32 )
-    static char  *p_args[] = { "" };
-    int i_args = 1;
-#endif
-    int canc = vlc_savecancel ();
-
-    /* Hack to pass the p_intf pointer to the new wxWidgets Instance object */
-#ifdef wxTheApp
-    wxApp::SetInstance( new Instance( p_intf ) );
-#else
-    wxTheApp = new Instance( p_intf );
-#endif
-
-#if defined( WIN32 )
-#if !defined(__BUILTIN__)
-
-    //because no one knows when DllMain is called
-    if (hInstance == NULL)
-      hInstance = GetModuleHandle(NULL);
-
-    wxEntry( hInstance/*GetModuleHandle(NULL)*/, NULL, NULL, SW_SHOW );
-#else
-    wxEntry( GetModuleHandle(NULL), NULL, NULL, SW_SHOW );
-#endif
-#else
-    wxEntry( i_args, p_args );
-#endif
-    vlc_restorecancel (canc);
-    return NULL;
-}
-
-/* following functions are local */
-
-/*****************************************************************************
- * Constructors.
- *****************************************************************************/
-Instance::Instance( )
-{
-}
-
-Instance::Instance( intf_thread_t *_p_intf )
-{
-    /* Initialization */
-    p_intf = _p_intf;
-}
-
-IMPLEMENT_APP_NO_MAIN(Instance)
-
-/*****************************************************************************
- * Instance::OnInit: the parent interface execution starts here
- *****************************************************************************
- * This is the "main program" equivalent, the program execution will
- * start here.
- *****************************************************************************/
-bool Instance::OnInit()
-{
-    /* Initialization of i18n stuff.
-     * Usefull for things we don't have any control over, like wxWidgets
-     * provided facilities (eg. open file dialog) */
-    locale.Init( wxLANGUAGE_DEFAULT, wxLOCALE_LOAD_DEFAULT );
-
-    /* Load saved window settings */
-    p_intf->p_sys->p_window_settings = new WindowSettings( p_intf );
-
-    /* Make an instance of your derived frame. Passing NULL (the default value
-     * of Frame's constructor is NULL) as the frame doesn't have a parent
-     * since it is the first window */
-
-    if( !p_intf->pf_show_dialog )
-    {
-        /* The module is used in interface mode */
-        long style = wxDEFAULT_FRAME_STYLE;
-        if ( ! config_GetInt( p_intf, "wx-taskbar" ) )
-        {
-            style = wxDEFAULT_FRAME_STYLE|wxFRAME_NO_TASKBAR;
-        }
-
-        Interface *MainInterface = new Interface( p_intf, style );
-        p_intf->p_sys->p_wxwindow = MainInterface;
-
-        /* Show the interface */
-        MainInterface->Show( TRUE );
-        SetTopWindow( MainInterface );
-        MainInterface->Raise();
-    }
-
-    /* Creates the dialogs provider */
-    p_intf->p_sys->p_wxwindow =
-        CreateDialogsProvider( p_intf, p_intf->pf_show_dialog ?
-                               NULL : p_intf->p_sys->p_wxwindow );
-
-    p_intf->p_sys->pf_show_dialog = ShowDialog;
-
-    /* OK, initialization is over */
-    vlc_thread_ready( p_intf );
-
-    /* Return TRUE to tell program to continue (FALSE would terminate) */
-    return TRUE;
-}
-
-/*****************************************************************************
- * Instance::OnExit: called when the interface execution stops
- *****************************************************************************/
-int Instance::OnExit()
-{
-    if( p_intf->pf_show_dialog )
-    {
-         /* We need to manually clean up the dialogs class */
-         delete p_intf->p_sys->p_wxwindow;
-    }
-
-#if (wxCHECK_VERSION(2,5,0))
-    wxClassInfo_sm_classTable_BUGGY = wxClassInfo::sm_classTable;
-    wxClassInfo::sm_classTable = 0;
-#endif
-
-    return 0;
-}
-
-static void ShowDialog( intf_thread_t *p_intf, int i_dialog_event, int i_arg,
-                        intf_dialog_args_t *p_arg )
-{
-    wxCommandEvent event( wxEVT_DIALOG, i_dialog_event );
-    event.SetInt( i_arg );
-    event.SetClientData( p_arg );
-
-#ifdef WIN32
-    SendMessage( (HWND)p_intf->p_sys->p_wxwindow->GetHandle(),
-                 WM_CANCELMODE, 0, 0 );
-#endif
-    if( i_dialog_event == INTF_DIALOG_POPUPMENU && i_arg == 0 ) return;
-
-    /* Hack to prevent popup events to be enqueued when
-     * one is already active */
-    if( i_dialog_event != INTF_DIALOG_POPUPMENU ||
-        !p_intf->p_sys->p_popup_menu )
-    {
-        p_intf->p_sys->p_wxwindow->AddPendingEvent( event );
-    }
-}
-
-/*****************************************************************************
- * WindowSettings utility class
- *****************************************************************************/
-WindowSettings::WindowSettings( intf_thread_t *_p_intf )
-{
-    char *psz_org = NULL;
-    char *psz;
-    int i;
-
-    /* */
-    p_intf = _p_intf;
-
-    /* */
-    for( i = 0; i < ID_MAX; i++ )
-    {
-        b_valid[i] = false;
-        b_shown[i] = false;
-        position[i] = wxDefaultPosition;
-        size[i] = wxDefaultSize;
-    }
-    b_shown[ID_MAIN] = true;
-
-    if( p_intf->pf_show_dialog ) return;
-
-    /* Parse the configuration */
-    psz_org = psz = config_GetPsz( p_intf, "wx-config-last" );
-    if( !psz || *psz == '\0' ) return;
-
-    msg_Dbg( p_intf, "Using last windows config '%s'", psz );
-
-    i_screen_w = 0;
-    i_screen_h = 0;
-    while( psz && *psz )
-    {
-        int id, v[4];
-
-        psz = strchr( psz, '(' );
-
-        if( !psz )
-            break;
-        psz++;
-
-        id = strtol( psz, &psz, 0 );
-        if( *psz != ',' ) /* broken cfg */
-        {
-            goto invalid;
-        }
-        psz++;
-
-        for( i = 0; i < 4; i++ )
-        {
-            v[i] = strtol( psz, &psz, 0 );
-
-            if( i < 3 )
-            {
-                if( *psz != ',' )
-                {
-                    goto invalid;
-                }
-                psz++;
-            }
-            else
-            {
-                if( *psz != ')' )
-                {
-                    goto invalid;
-                }
-            }
-        }
-        if( id == ID_SCREEN )
-        {
-            i_screen_w = v[2];
-            i_screen_h = v[3];
-        }
-        else if( id >= 0 && id < ID_MAX )
-        {
-            b_valid[id] = true;
-            b_shown[id] = true;
-            position[id] = wxPoint( v[0], v[1] );
-            size[id] = wxSize( v[2], v[3] );
-
-            msg_Dbg( p_intf, "id=%d p=(%d,%d) s=(%d,%d)",
-                     id, position[id].x, position[id].y,
-                         size[id].x, size[id].y );
-        }
-
-        psz = strchr( psz, ')' );
-        if( psz ) psz++;
-    }
-
-    if( i_screen_w <= 0 || i_screen_h <= 0 )
-    {
-        goto invalid;
-    }
-
-    for( i = 0; i < ID_MAX; i++ )
-    {
-        if( !b_valid[i] )
-            continue;
-        if( position[i].x < 0 || position[i].y < 0 )
-        {
-            goto invalid;
-        }
-        if( i != ID_SMALL_PLAYLIST && (size[i].x <= 0 || size[i].y <= 0)  )
-        {
-            goto invalid;
-        }
-    }
-
-    free( psz_org );
-    return;
-
-invalid:
-    msg_Dbg( p_intf, "last windows config is invalid (ignored)" );
-    for( i = 0; i < ID_MAX; i++ )
-    {
-        b_valid[i] = false;
-        b_shown[i] = false;
-        position[i] = wxDefaultPosition;
-        size[i] = wxDefaultSize;
-    }
-    free( psz_org );
-}
-
-
-WindowSettings::~WindowSettings( )
-{
-    wxString sCfg;
-
-    if( p_intf->pf_show_dialog ) return;
-
-    sCfg = wxString::Format( wxT("(%d,0,0,%d,%d)"), ID_SCREEN,
-                             wxSystemSettings::GetMetric( wxSYS_SCREEN_X ),
-                             wxSystemSettings::GetMetric( wxSYS_SCREEN_Y ) );
-    for( int i = 0; i < ID_MAX; i++ )
-    {
-        if( !b_valid[i] || !b_shown[i] )
-            continue;
-
-        sCfg += wxString::Format( wxT("(%d,%d,%d,%d,%d)"),
-                                  i, position[i].x, position[i].y,
-                                     size[i].x, size[i].y );
-    }
-
-    config_PutPsz( p_intf, "wx-config-last", sCfg.mb_str(wxConvUTF8) );
-}
-
-void WindowSettings::SetScreen( int i_screen_w, int i_screen_h )
-{
-    int i;
-
-    for( i = 0; i < ID_MAX; i++ )
-    {
-        if( !b_valid[i] )
-            continue;
-        if( position[i].x >= i_screen_w || position[i].y >= i_screen_h )
-            goto invalid;
-    }
-    return;
-
-invalid:
-    for( i = 0; i < ID_MAX; i++ )
-    {
-        b_valid[i] = false;
-        b_shown[i] = false;
-        position[i] = wxDefaultPosition;
-        size[i] = wxDefaultSize;
-    }
-}
-
-void WindowSettings::SetSettings( int id, bool _b_shown, wxPoint p, wxSize s )
-{
-    if( id < 0 || id >= ID_MAX )
-        return;
-
-    b_valid[id] = true;
-    b_shown[id] = _b_shown;
-
-    position[id] = p;
-    size[id] = s;
-}
-
-bool WindowSettings::GetSettings( int id, bool& _b_shown, wxPoint& p, wxSize& s)
-{
-    if( id < 0 || id >= ID_MAX )
-        return false;
-
-    if( !b_valid[id] )
-        return false;
-
-    _b_shown = b_shown[id];
-    p = position[id];
-    s = size[id];
-
-    return true;
-}
diff --git a/modules/gui/wxwidgets/wxwidgets.hpp b/modules/gui/wxwidgets/wxwidgets.hpp
deleted file mode 100644 (file)
index 58fd527..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*****************************************************************************
- * wxwidgets.hpp: Common headers for the wxwidgets interface
- *****************************************************************************
- * Copyright (C) 1999-2005 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#ifndef _WXVLC_WIDGETS_H_
-#define _WXVLC_WIDGETS_H_
-
-#ifdef WIN32                                                 /* mingw32 hack */
-#undef Yield
-#undef CreateDialog
-#endif
-
-#ifdef _MSC_VER
-// turn off 'identifier was truncated to '255' characters in the debug info'
-#   pragma warning( disable:4786 )
-#endif
-
-/* Let vlc take care of the i18n stuff */
-#define WXINTL_NO_GETTEXT_MACRO
-
-#include <vlc_common.h>
-#include <vlc_interface.h>
-#include "vlc_charset.h"
-#include <vlc_playlist.h>
-#include <wx/wx.h>
-#define SLIDER_MAX_POS 10000
-
-/*
-#include <wx/listctrl.h>
-#include <wx/textctrl.h>
-#include <wx/notebook.h>
-#include <wx/spinctrl.h>
-#include <wx/dnd.h>
-#include <wx/treectrl.h>
-#include <wx/gauge.h>
-#include <wx/accel.h>
-#include <wx/checkbox.h>
-#include <wx/wizard.h>
-#include <wx/taskbar.h>
-#include "vlc_keys.h"
-*/
-#if (!wxCHECK_VERSION(2,5,0))
-typedef long wxTreeItemIdValue;
-#endif
-
-DECLARE_LOCAL_EVENT_TYPE( wxEVT_DIALOG, 0 );
-DECLARE_LOCAL_EVENT_TYPE( wxEVT_INTF, 1 );
-
-/***************************************************************************
- * I18N macros
- ***************************************************************************/
-
-/*
- * wxU() is used to convert UTF-8 strings (typically from gettext)
- * to unicode strings (wchar_t).
- */
-#if wxUSE_UNICODE
-#   define wxU(utf8) wxString(utf8, wxConvUTF8)
-#else
-#   define wxU(utf8) wxString(wxConvUTF8.cMB2WC(utf8), *wxConvCurrent)
-#endif
-
-/*
- * wxL2U() use to convert localized “data” strings (while wxU() would convert
- * strings from gettext messages). Nowadays, the core use UTF-8 internally
- * and wxL2U() is only an obsoleted name for wxU().
- */
-#define wxL2U(utf8) wxU(utf8)
-
-/*
- * wxFromLocale() is a replacement for LibVLC FromLocale() that accepts
- * a wxString.
- *
- * Note that if you want to use non-ANSI code page characters on Windows,
- * you MUST build WxWidgets in “Unicode” mode. wxConvUTF8
- */
-static inline char *wxFromLocale (const wxString& string)
-{
-#if defined( wxUSE_UNICODE )
-# if defined( WIN32 )
-    return FromWide ((const wchar_t *)string.c_str());
-#  define wxLocaleFree free
-# else
-    return FromLocaleDup (string.mb_str());
-#  define wxLocaleFree free
-# endif
-#else
-# warning Please use WxWidgets with Unicode.
-    return FromLocale (string.c_str());
-# define wxLocaleFree LocaleFree
-#endif
-}
-    
-/* From Locale functions to use for File Drop targets ... go figure */
-#if defined( wxUSE_UNICODE ) && !defined( WIN32 )
-static inline char *wxDnDFromLocale( const wxChar *stupid )
-{
-    /*
-     * In Unicode mode, wxWidgets will encode file names in the locale
-     * encoding with each **bytes** (rather than characters) represented
-     * by a 32 bits unsigned integer. If you are lucky enough to be using
-     * ISO-8859-1 as your local character encoding, that lame encoding
-     * scheme happens to be identical to UTF-32 with your arch native
-     * byte-endianess. If you are using anything else, including not only
-     * UTF-8 but also Windows-1252(!) and ISO-8859-15(!) or any
-     * non-western encoding, it obviously fails.
-     */
-    size_t n = 0;
-    while (stupid[n])
-        n++;
-
-    char psz_local[n + 1];
-    for (size_t i = 0; i <= n; i++)
-        psz_local[i] = stupid[i];
-
-    // Kludge for (broken?) apps that adds a LF at the end of DnD
-    if ((n >= 1) && (strchr ("\n\r", stupid[n - 1]) != NULL))
-        psz_local[n - 1] = '\0';
-
-    return FromLocaleDup( psz_local );
-}
-#   define wxDnDLocaleFree free
-#else
-#   define wxDnDFromLocale wxFromLocale
-#   define wxDnDLocaleFree wxLocaleFree
-#endif
-
-#define WRAPCOUNT 80
-
-#define OPEN_NORMAL 0
-#define OPEN_STREAM 1
-
-enum
-{
-  ID_CONTROLS_TIMER,
-  ID_SLIDER_TIMER,
-};
-
-namespace wxvlc {
-    class WindowSettings;
-    class VideoWindow;
-};
-
-using namespace wxvlc;
-
-/*****************************************************************************
- * intf_sys_t: description and status of wxwindows interface
- *****************************************************************************/
-struct intf_sys_t
-{
-    /* the wx parent window */
-    wxWindow            *p_wxwindow;
-    wxIcon              *p_icon;
-
-    /* window settings */
-    WindowSettings      *p_window_settings;
-
-    /* special actions */
-    bool          b_playing;
-    bool          b_intf_show;                /* interface to be shown */
-
-    /* The input thread */
-    input_thread_t *    p_input;
-
-    /* The messages window */
-    msg_subscription_t* p_sub;                  /* message bank subscription */
-
-    /* Playlist management */
-    int                 i_playing;                 /* playlist selected item */
-    unsigned            i_playlist_usage;
-
-    /* Send an event to show a dialog */
-    void (*pf_show_dialog) ( intf_thread_t *p_intf, int i_dialog, int i_arg,
-                             intf_dialog_args_t *p_arg );
-
-    /* Popup menu */
-    wxMenu              *p_popup_menu;
-
-    /* Hotkeys */
-    int                 i_first_hotkey_event;
-    int                 i_hotkeys;
-
-    /* Embedded vout */
-    VideoWindow         *p_video_window;
-    wxBoxSizer          *p_video_sizer;
-    bool          b_video_autosize;
-
-    /* Aout */
-    aout_instance_t     *p_aout;
-};
-
-
-
-wxArrayString SeparateEntries( wxString );
-wxWindow *CreateDialogsProvider( intf_thread_t *p_intf, wxWindow *p_parent );
-
-/*
- * wxWindows keeps dead locking because the timer tries to lock the playlist
- * when it's already locked somewhere else in the very wxWindows interface
- * module. Unless someone implements a "vlc_mutex_trylock", we need that.
- */
-inline void LockPlaylist( intf_sys_t *p_sys, playlist_t *p_pl )
-{
-    if( p_sys->i_playlist_usage++ == 0)
-        playlist_lock( p_pl );
-}
-
-inline void UnlockPlaylist( intf_sys_t *p_sys, playlist_t *p_pl )
-{
-    if( --p_sys->i_playlist_usage == 0)
-        playlist_Unlock( p_pl );
-}
-
-#endif