diff --git a/Makefile.in b/Makefile.in
index 9ed99f4424..449145dada 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2509,6 +2509,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_LOWLEVEL_HDR = \
wx/gtk/evtloop.h \
wx/gtk/evtloopsrc.h \
wx/gtk/font.h \
+ wx/gtk/filehistory.h \
wx/gtk/minifram.h \
wx/gtk/pen.h \
wx/gtk/popupwin.h \
@@ -4694,6 +4695,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS = \
monodll_gtk_dnd.o \
monodll_gtk_evtloop.o \
monodll_filectrl.o \
+ monodll_filehistory.o \
monodll_gtk_font.o \
monodll_gtk_sockgtk.o \
monodll_gtk_minifram.o \
@@ -5543,6 +5545,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_1 = \
monodll_gtk_dnd.o \
monodll_gtk_evtloop.o \
monodll_filectrl.o \
+ monodll_filehistory.o \
monodll_gtk_font.o \
monodll_gtk_sockgtk.o \
monodll_gtk_minifram.o \
@@ -6533,6 +6536,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_2 = \
monolib_gtk_dnd.o \
monolib_gtk_evtloop.o \
monolib_filectrl.o \
+ monolib_filehistory.o \
monolib_gtk_font.o \
monolib_gtk_sockgtk.o \
monolib_gtk_minifram.o \
@@ -7382,6 +7386,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_3 = \
monolib_gtk_dnd.o \
monolib_gtk_evtloop.o \
monolib_filectrl.o \
+ monolib_filehistory.o \
monolib_gtk_font.o \
monolib_gtk_sockgtk.o \
monolib_gtk_minifram.o \
@@ -8561,6 +8566,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_4 = \
coredll_gtk_dnd.o \
coredll_gtk_evtloop.o \
coredll_filectrl.o \
+ coredll_filehistory.o \
coredll_gtk_font.o \
coredll_gtk_sockgtk.o \
coredll_gtk_minifram.o \
@@ -9410,6 +9416,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_5 = \
coredll_gtk_dnd.o \
coredll_gtk_evtloop.o \
coredll_filectrl.o \
+ coredll_filehistory.o \
coredll_gtk_font.o \
coredll_gtk_sockgtk.o \
coredll_gtk_minifram.o \
@@ -10076,6 +10083,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_6 = \
corelib_gtk_dnd.o \
corelib_gtk_evtloop.o \
corelib_filectrl.o \
+ corelib_filehistory.o \
corelib_gtk_font.o \
corelib_gtk_sockgtk.o \
corelib_gtk_minifram.o \
@@ -10925,6 +10933,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_7 = \
corelib_gtk_dnd.o \
corelib_gtk_evtloop.o \
corelib_filectrl.o \
+ corelib_filehistory.o \
corelib_gtk_font.o \
corelib_gtk_sockgtk.o \
corelib_gtk_minifram.o \
@@ -17101,6 +17110,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_filectrl.o: $(srcdir)/src/gtk/filectrl.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/filectrl.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_filehistory.o: $(srcdir)/src/gtk/filehistory.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/filehistory.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_gtk_font.o: $(srcdir)/src/gtk/font.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/font.cpp
@@ -21961,6 +21973,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_filectrl.o: $(srcdir)/src/gtk/filectrl.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/filectrl.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_filehistory.o: $(srcdir)/src/gtk/filehistory.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/filehistory.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_gtk_font.o: $(srcdir)/src/gtk/font.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/font.cpp
@@ -27013,6 +27028,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_filectrl.o: $(srcdir)/src/gtk/filectrl.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/filectrl.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_filehistory.o: $(srcdir)/src/gtk/filehistory.cpp $(COREDLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/filehistory.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_gtk_font.o: $(srcdir)/src/gtk/font.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/font.cpp
@@ -30604,6 +30622,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_filectrl.o: $(srcdir)/src/gtk/filectrl.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/filectrl.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_filehistory.o: $(srcdir)/src/gtk/filehistory.cpp $(CORELIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/filehistory.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_gtk_font.o: $(srcdir)/src/gtk/font.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/font.cpp
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index c48fc03d6e..38b0e0d11c 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -1039,6 +1039,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/gtk/dnd.cpp
src/gtk/evtloop.cpp
src/gtk/filectrl.cpp
+ src/gtk/filehistory.cpp
src/gtk/font.cpp
src/gtk/sockgtk.cpp
src/gtk/minifram.cpp
@@ -1077,6 +1078,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/gtk/evtloop.h
wx/gtk/evtloopsrc.h
wx/gtk/font.h
+ wx/gtk/filehistory.h
wx/gtk/minifram.h
wx/gtk/pen.h
wx/gtk/popupwin.h
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index 6a6d53b323..d96c4140dc 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -1882,7 +1882,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dragimgg.obj \
$(OBJS)\monodll_filectrlg.obj \
$(OBJS)\monodll_headerctrlg.obj \
- $(OBJS)\monodll_infobar.obj \
+ $(OBJS)\monodll_infobar.obj \
$(OBJS)\monodll_listbkg.obj \
$(OBJS)\monodll_logg.obj \
$(OBJS)\monodll_numdlgg.obj \
@@ -2128,7 +2128,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dragimgg.obj \
$(OBJS)\monodll_filectrlg.obj \
$(OBJS)\monodll_headerctrlg.obj \
- $(OBJS)\monodll_infobar.obj \
+ $(OBJS)\monodll_infobar.obj \
$(OBJS)\monodll_listbkg.obj \
$(OBJS)\monodll_logg.obj \
$(OBJS)\monodll_numdlgg.obj \
@@ -2589,7 +2589,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dragimgg.obj \
$(OBJS)\monolib_filectrlg.obj \
$(OBJS)\monolib_headerctrlg.obj \
- $(OBJS)\monolib_infobar.obj \
+ $(OBJS)\monolib_infobar.obj \
$(OBJS)\monolib_listbkg.obj \
$(OBJS)\monolib_logg.obj \
$(OBJS)\monolib_numdlgg.obj \
@@ -2835,7 +2835,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dragimgg.obj \
$(OBJS)\monolib_filectrlg.obj \
$(OBJS)\monolib_headerctrlg.obj \
- $(OBJS)\monolib_infobar.obj \
+ $(OBJS)\monolib_infobar.obj \
$(OBJS)\monolib_listbkg.obj \
$(OBJS)\monolib_logg.obj \
$(OBJS)\monolib_numdlgg.obj \
@@ -3189,7 +3189,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dragimgg.obj \
$(OBJS)\coredll_filectrlg.obj \
$(OBJS)\coredll_headerctrlg.obj \
- $(OBJS)\coredll_infobar.obj \
+ $(OBJS)\coredll_infobar.obj \
$(OBJS)\coredll_listbkg.obj \
$(OBJS)\coredll_logg.obj \
$(OBJS)\coredll_numdlgg.obj \
@@ -3435,7 +3435,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dragimgg.obj \
$(OBJS)\coredll_filectrlg.obj \
$(OBJS)\coredll_headerctrlg.obj \
- $(OBJS)\coredll_infobar.obj \
+ $(OBJS)\coredll_infobar.obj \
$(OBJS)\coredll_listbkg.obj \
$(OBJS)\coredll_logg.obj \
$(OBJS)\coredll_numdlgg.obj \
@@ -3687,7 +3687,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dragimgg.obj \
$(OBJS)\corelib_filectrlg.obj \
$(OBJS)\corelib_headerctrlg.obj \
- $(OBJS)\corelib_infobar.obj \
+ $(OBJS)\corelib_infobar.obj \
$(OBJS)\corelib_listbkg.obj \
$(OBJS)\corelib_logg.obj \
$(OBJS)\corelib_numdlgg.obj \
@@ -3933,7 +3933,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dragimgg.obj \
$(OBJS)\corelib_filectrlg.obj \
$(OBJS)\corelib_headerctrlg.obj \
- $(OBJS)\corelib_infobar.obj \
+ $(OBJS)\corelib_infobar.obj \
$(OBJS)\corelib_listbkg.obj \
$(OBJS)\corelib_logg.obj \
$(OBJS)\corelib_numdlgg.obj \
@@ -7604,11 +7604,11 @@ $(OBJS)\monodll_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
@@ -9805,11 +9805,11 @@ $(OBJS)\monolib_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
@@ -12015,11 +12015,11 @@ $(OBJS)\coredll_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
@@ -13312,11 +13312,11 @@ $(OBJS)\corelib_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 43f759382b..5d58b19075 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1892,7 +1892,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dragimgg.o \
$(OBJS)\monodll_filectrlg.o \
$(OBJS)\monodll_headerctrlg.o \
- $(OBJS)\monodll_infobar.o \
+ $(OBJS)\monodll_infobar.o \
$(OBJS)\monodll_listbkg.o \
$(OBJS)\monodll_logg.o \
$(OBJS)\monodll_numdlgg.o \
@@ -2140,7 +2140,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dragimgg.o \
$(OBJS)\monodll_filectrlg.o \
$(OBJS)\monodll_headerctrlg.o \
- $(OBJS)\monodll_infobar.o \
+ $(OBJS)\monodll_infobar.o \
$(OBJS)\monodll_listbkg.o \
$(OBJS)\monodll_logg.o \
$(OBJS)\monodll_numdlgg.o \
@@ -2605,7 +2605,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dragimgg.o \
$(OBJS)\monolib_filectrlg.o \
$(OBJS)\monolib_headerctrlg.o \
- $(OBJS)\monolib_infobar.o \
+ $(OBJS)\monolib_infobar.o \
$(OBJS)\monolib_listbkg.o \
$(OBJS)\monolib_logg.o \
$(OBJS)\monolib_numdlgg.o \
@@ -2853,7 +2853,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dragimgg.o \
$(OBJS)\monolib_filectrlg.o \
$(OBJS)\monolib_headerctrlg.o \
- $(OBJS)\monolib_infobar.o \
+ $(OBJS)\monolib_infobar.o \
$(OBJS)\monolib_listbkg.o \
$(OBJS)\monolib_logg.o \
$(OBJS)\monolib_numdlgg.o \
@@ -3221,7 +3221,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dragimgg.o \
$(OBJS)\coredll_filectrlg.o \
$(OBJS)\coredll_headerctrlg.o \
- $(OBJS)\coredll_infobar.o \
+ $(OBJS)\coredll_infobar.o \
$(OBJS)\coredll_listbkg.o \
$(OBJS)\coredll_logg.o \
$(OBJS)\coredll_numdlgg.o \
@@ -3469,7 +3469,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dragimgg.o \
$(OBJS)\coredll_filectrlg.o \
$(OBJS)\coredll_headerctrlg.o \
- $(OBJS)\coredll_infobar.o \
+ $(OBJS)\coredll_infobar.o \
$(OBJS)\coredll_listbkg.o \
$(OBJS)\coredll_logg.o \
$(OBJS)\coredll_numdlgg.o \
@@ -3727,7 +3727,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dragimgg.o \
$(OBJS)\corelib_filectrlg.o \
$(OBJS)\corelib_headerctrlg.o \
- $(OBJS)\corelib_infobar.o \
+ $(OBJS)\corelib_infobar.o \
$(OBJS)\corelib_listbkg.o \
$(OBJS)\corelib_logg.o \
$(OBJS)\corelib_numdlgg.o \
@@ -3975,7 +3975,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dragimgg.o \
$(OBJS)\corelib_filectrlg.o \
$(OBJS)\corelib_headerctrlg.o \
- $(OBJS)\corelib_infobar.o \
+ $(OBJS)\corelib_infobar.o \
$(OBJS)\corelib_listbkg.o \
$(OBJS)\corelib_logg.o \
$(OBJS)\corelib_numdlgg.o \
@@ -7753,11 +7753,11 @@ $(OBJS)\monodll_headerctrlg.o: ../../src/generic/headerctrlg.cpp
endif
ifeq ($(USE_GUI),1)
-$(OBJS)\monodll_infobar.o: ../../src/generic/infobar.cpp
- $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_infobar.o: ../../src/generic/infobar.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\monodll_listbkg.o: ../../src/generic/listbkg.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -9954,11 +9954,11 @@ $(OBJS)\monolib_headerctrlg.o: ../../src/generic/headerctrlg.cpp
endif
ifeq ($(USE_GUI),1)
-$(OBJS)\monolib_infobar.o: ../../src/generic/infobar.cpp
- $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_infobar.o: ../../src/generic/infobar.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\monolib_listbkg.o: ../../src/generic/listbkg.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -12164,11 +12164,11 @@ $(OBJS)\coredll_headerctrlg.o: ../../src/generic/headerctrlg.cpp
endif
ifeq ($(USE_GUI),1)
-$(OBJS)\coredll_infobar.o: ../../src/generic/infobar.cpp
- $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\coredll_infobar.o: ../../src/generic/infobar.cpp
+ $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\coredll_listbkg.o: ../../src/generic/listbkg.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -13461,11 +13461,11 @@ $(OBJS)\corelib_headerctrlg.o: ../../src/generic/headerctrlg.cpp
endif
ifeq ($(USE_GUI),1)
-$(OBJS)\corelib_infobar.o: ../../src/generic/infobar.cpp
- $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\corelib_infobar.o: ../../src/generic/infobar.cpp
+ $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\corelib_listbkg.o: ../../src/generic/listbkg.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index 18d4a68ea2..62b38a978f 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -2090,7 +2090,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dragimgg.obj \
$(OBJS)\monodll_filectrlg.obj \
$(OBJS)\monodll_headerctrlg.obj \
- $(OBJS)\monodll_infobar.obj \
+ $(OBJS)\monodll_infobar.obj \
$(OBJS)\monodll_listbkg.obj \
$(OBJS)\monodll_logg.obj \
$(OBJS)\monodll_numdlgg.obj \
@@ -2336,7 +2336,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dragimgg.obj \
$(OBJS)\monodll_filectrlg.obj \
$(OBJS)\monodll_headerctrlg.obj \
- $(OBJS)\monodll_infobar.obj \
+ $(OBJS)\monodll_infobar.obj \
$(OBJS)\monodll_listbkg.obj \
$(OBJS)\monodll_logg.obj \
$(OBJS)\monodll_numdlgg.obj \
@@ -2803,7 +2803,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dragimgg.obj \
$(OBJS)\monolib_filectrlg.obj \
$(OBJS)\monolib_headerctrlg.obj \
- $(OBJS)\monolib_infobar.obj \
+ $(OBJS)\monolib_infobar.obj \
$(OBJS)\monolib_listbkg.obj \
$(OBJS)\monolib_logg.obj \
$(OBJS)\monolib_numdlgg.obj \
@@ -3049,7 +3049,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dragimgg.obj \
$(OBJS)\monolib_filectrlg.obj \
$(OBJS)\monolib_headerctrlg.obj \
- $(OBJS)\monolib_infobar.obj \
+ $(OBJS)\monolib_infobar.obj \
$(OBJS)\monolib_listbkg.obj \
$(OBJS)\monolib_logg.obj \
$(OBJS)\monolib_numdlgg.obj \
@@ -3469,7 +3469,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dragimgg.obj \
$(OBJS)\coredll_filectrlg.obj \
$(OBJS)\coredll_headerctrlg.obj \
- $(OBJS)\coredll_infobar.obj \
+ $(OBJS)\coredll_infobar.obj \
$(OBJS)\coredll_listbkg.obj \
$(OBJS)\coredll_logg.obj \
$(OBJS)\coredll_numdlgg.obj \
@@ -3715,7 +3715,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dragimgg.obj \
$(OBJS)\coredll_filectrlg.obj \
$(OBJS)\coredll_headerctrlg.obj \
- $(OBJS)\coredll_infobar.obj \
+ $(OBJS)\coredll_infobar.obj \
$(OBJS)\coredll_listbkg.obj \
$(OBJS)\coredll_logg.obj \
$(OBJS)\coredll_numdlgg.obj \
@@ -3973,7 +3973,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dragimgg.obj \
$(OBJS)\corelib_filectrlg.obj \
$(OBJS)\corelib_headerctrlg.obj \
- $(OBJS)\corelib_infobar.obj \
+ $(OBJS)\corelib_infobar.obj \
$(OBJS)\corelib_listbkg.obj \
$(OBJS)\corelib_logg.obj \
$(OBJS)\corelib_numdlgg.obj \
@@ -4219,7 +4219,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dragimgg.obj \
$(OBJS)\corelib_filectrlg.obj \
$(OBJS)\corelib_headerctrlg.obj \
- $(OBJS)\corelib_infobar.obj \
+ $(OBJS)\corelib_infobar.obj \
$(OBJS)\corelib_listbkg.obj \
$(OBJS)\corelib_logg.obj \
$(OBJS)\corelib_numdlgg.obj \
@@ -8184,11 +8184,11 @@ $(OBJS)\monodll_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
@@ -10385,11 +10385,11 @@ $(OBJS)\monolib_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
@@ -12595,11 +12595,11 @@ $(OBJS)\coredll_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
@@ -13892,11 +13892,11 @@ $(OBJS)\corelib_headerctrlg.obj: ..\..\src\generic\headerctrlg.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_infobar.obj: ..\..\src\generic\infobar.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_infobar.obj: ..\..\src\generic\infobar.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\infobar.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_listbkg.obj: ..\..\src\generic\listbkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\listbkg.cpp
!endif
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index c3157cdfb8..81955a3e7b 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -454,7 +454,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_dragimgg.obj &
$(OBJS)\monodll_filectrlg.obj &
$(OBJS)\monodll_headerctrlg.obj &
- $(OBJS)\monodll_infobar.obj &
+ $(OBJS)\monodll_infobar.obj &
$(OBJS)\monodll_listbkg.obj &
$(OBJS)\monodll_logg.obj &
$(OBJS)\monodll_numdlgg.obj &
@@ -702,7 +702,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_dragimgg.obj &
$(OBJS)\monodll_filectrlg.obj &
$(OBJS)\monodll_headerctrlg.obj &
- $(OBJS)\monodll_infobar.obj &
+ $(OBJS)\monodll_infobar.obj &
$(OBJS)\monodll_listbkg.obj &
$(OBJS)\monodll_logg.obj &
$(OBJS)\monodll_numdlgg.obj &
@@ -1172,7 +1172,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_dragimgg.obj &
$(OBJS)\monolib_filectrlg.obj &
$(OBJS)\monolib_headerctrlg.obj &
- $(OBJS)\monolib_infobar.obj &
+ $(OBJS)\monolib_infobar.obj &
$(OBJS)\monolib_listbkg.obj &
$(OBJS)\monolib_logg.obj &
$(OBJS)\monolib_numdlgg.obj &
@@ -1420,7 +1420,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_dragimgg.obj &
$(OBJS)\monolib_filectrlg.obj &
$(OBJS)\monolib_headerctrlg.obj &
- $(OBJS)\monolib_infobar.obj &
+ $(OBJS)\monolib_infobar.obj &
$(OBJS)\monolib_listbkg.obj &
$(OBJS)\monolib_logg.obj &
$(OBJS)\monolib_numdlgg.obj &
@@ -1799,7 +1799,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_dragimgg.obj &
$(OBJS)\coredll_filectrlg.obj &
$(OBJS)\coredll_headerctrlg.obj &
- $(OBJS)\coredll_infobar.obj &
+ $(OBJS)\coredll_infobar.obj &
$(OBJS)\coredll_listbkg.obj &
$(OBJS)\coredll_logg.obj &
$(OBJS)\coredll_numdlgg.obj &
@@ -2047,7 +2047,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_dragimgg.obj &
$(OBJS)\coredll_filectrlg.obj &
$(OBJS)\coredll_headerctrlg.obj &
- $(OBJS)\coredll_infobar.obj &
+ $(OBJS)\coredll_infobar.obj &
$(OBJS)\coredll_listbkg.obj &
$(OBJS)\coredll_logg.obj &
$(OBJS)\coredll_numdlgg.obj &
@@ -2307,7 +2307,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_dragimgg.obj &
$(OBJS)\corelib_filectrlg.obj &
$(OBJS)\corelib_headerctrlg.obj &
- $(OBJS)\corelib_infobar.obj &
+ $(OBJS)\corelib_infobar.obj &
$(OBJS)\corelib_listbkg.obj &
$(OBJS)\corelib_logg.obj &
$(OBJS)\corelib_numdlgg.obj &
@@ -2555,7 +2555,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_dragimgg.obj &
$(OBJS)\corelib_filectrlg.obj &
$(OBJS)\corelib_headerctrlg.obj &
- $(OBJS)\corelib_infobar.obj &
+ $(OBJS)\corelib_infobar.obj &
$(OBJS)\corelib_listbkg.obj &
$(OBJS)\corelib_logg.obj &
$(OBJS)\corelib_numdlgg.obj &
@@ -8011,11 +8011,11 @@ $(OBJS)\monodll_headerctrlg.obj : .AUTODEPEND ..\..\src\generic\headerctrlg.cpp
!endif
!ifeq USE_GUI 1
-$(OBJS)\monodll_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\monodll_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\monodll_listbkg.obj : .AUTODEPEND ..\..\src\generic\listbkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif
@@ -10212,11 +10212,11 @@ $(OBJS)\monolib_headerctrlg.obj : .AUTODEPEND ..\..\src\generic\headerctrlg.cpp
!endif
!ifeq USE_GUI 1
-$(OBJS)\monolib_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\monolib_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\monolib_listbkg.obj : .AUTODEPEND ..\..\src\generic\listbkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif
@@ -12422,11 +12422,11 @@ $(OBJS)\coredll_headerctrlg.obj : .AUTODEPEND ..\..\src\generic\headerctrlg.cpp
!endif
!ifeq USE_GUI 1
-$(OBJS)\coredll_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\coredll_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\coredll_listbkg.obj : .AUTODEPEND ..\..\src\generic\listbkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
!endif
@@ -13719,11 +13719,11 @@ $(OBJS)\corelib_headerctrlg.obj : .AUTODEPEND ..\..\src\generic\headerctrlg.cpp
!endif
!ifeq USE_GUI 1
-$(OBJS)\corelib_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\corelib_infobar.obj : .AUTODEPEND ..\..\src\generic\infobar.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\corelib_listbkg.obj : .AUTODEPEND ..\..\src\generic\listbkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
!endif
diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp
index b2604f04c8..41b9e4405d 100644
--- a/build/msw/wx_core.dsp
+++ b/build/msw/wx_core.dsp
@@ -2969,10 +2969,10 @@ SOURCE=..\..\src\generic\headerctrlg.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\src\generic\infobar.cpp
-# End Source File
-# Begin Source File
-
+SOURCE=..\..\src\generic\infobar.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\src\generic\listbkg.cpp
# End Source File
# Begin Source File
diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj
index cd2af40d46..4382629c53 100644
--- a/build/msw/wx_vc7_core.vcproj
+++ b/build/msw/wx_vc7_core.vcproj
@@ -2676,9 +2676,9 @@
RelativePath="..\..\src\generic\headerctrlg.cpp">
-
-
+
+
-
-
+
+
diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj
index 3ed038c9b8..3eb0cddf4c 100644
--- a/build/msw/wx_vc9_core.vcproj
+++ b/build/msw/wx_vc9_core.vcproj
@@ -3597,10 +3597,10 @@
>
-
-
+
+
diff --git a/include/wx/filehistory.h b/include/wx/filehistory.h
index 2d86e064fb..7c63d6bb95 100644
--- a/include/wx/filehistory.h
+++ b/include/wx/filehistory.h
@@ -28,10 +28,10 @@ class WXDLLIMPEXP_FWD_BASE wxConfigBase;
// File history management
// ----------------------------------------------------------------------------
-class WXDLLIMPEXP_CORE wxFileHistory : public wxObject
+class WXDLLIMPEXP_CORE wxFileHistoryBase : public wxObject
{
public:
- wxFileHistory(size_t maxFiles = 9, wxWindowID idBase = wxID_FILE1);
+ wxFileHistoryBase(size_t maxFiles = 9, wxWindowID idBase = wxID_FILE1);
// Operations
virtual void AddFileToHistory(const wxString& file);
@@ -79,17 +79,31 @@ private:
// The ID of the first history menu item (Doesn't have to be wxID_FILE1)
wxWindowID m_idBase;
- DECLARE_DYNAMIC_CLASS(wxFileHistory)
- wxDECLARE_NO_COPY_CLASS(wxFileHistory);
+ wxDECLARE_NO_COPY_CLASS(wxFileHistoryBase);
};
#if WXWIN_COMPATIBILITY_2_6
-inline size_t wxFileHistory::GetNoHistoryFiles() const
+inline size_t wxFileHistoryBase::GetNoHistoryFiles() const
{
return m_fileHistory.GetCount();
}
#endif // WXWIN_COMPATIBILITY_2_6
+
+#if defined(__WXGTK20__)
+ #include "wx/gtk/filehistory.h"
+#else
+ // no platform-specific implementation of wxFileHistory yet
+ class WXDLLIMPEXP_CORE wxFileHistory : public wxFileHistoryBase
+ {
+ public:
+ wxFileHistory(size_t maxFiles = 9, wxWindowID idBase = wxID_FILE1)
+ : wxFileHistoryBase(maxFiles, idBase) {}
+
+ DECLARE_DYNAMIC_CLASS(wxFileHistory)
+ };
+#endif
+
#endif // wxUSE_FILE_HISTORY
#endif // _WX_FILEHISTORY_H_
diff --git a/include/wx/gtk/filehistory.h b/include/wx/gtk/filehistory.h
new file mode 100644
index 0000000000..b035387c06
--- /dev/null
+++ b/include/wx/gtk/filehistory.h
@@ -0,0 +1,25 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/gtk/filehistory.h
+// Purpose: GTK+ bits for wxFileHistory
+// Author: Vaclav Slavik
+// Created: 2010-05-06
+// RCS-ID: $Id$
+// Copyright: (c) 2010 Vaclav Slavik
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GTK_FILEHISTORY_H_
+#define _WX_GTK_FILEHISTORY_H_
+
+class WXDLLIMPEXP_CORE wxFileHistory : public wxFileHistoryBase
+{
+public:
+ wxFileHistory(size_t maxFiles = 9, wxWindowID idBase = wxID_FILE1)
+ : wxFileHistoryBase(maxFiles, idBase) {}
+
+ virtual void AddFileToHistory(const wxString& file);
+
+ DECLARE_DYNAMIC_CLASS(wxFileHistory)
+};
+
+#endif // _WX_GTK_FILEHISTORY_H_
diff --git a/src/common/filehistorycmn.cpp b/src/common/filehistorycmn.cpp
index 59898ba52b..9775f167b4 100644
--- a/src/common/filehistorycmn.cpp
+++ b/src/common/filehistorycmn.cpp
@@ -62,13 +62,13 @@ wxString GetMRUEntryLabel(int n, const wxString& path)
IMPLEMENT_DYNAMIC_CLASS(wxFileHistory, wxObject)
-wxFileHistory::wxFileHistory(size_t maxFiles, wxWindowID idBase)
+wxFileHistoryBase::wxFileHistoryBase(size_t maxFiles, wxWindowID idBase)
{
m_fileMaxFiles = maxFiles;
m_idBase = idBase;
}
-void wxFileHistory::AddFileToHistory(const wxString& file)
+void wxFileHistoryBase::AddFileToHistory(const wxString& file)
{
// check if we don't already have this file
const wxFileName fnNew(file);
@@ -138,11 +138,11 @@ void wxFileHistory::AddFileToHistory(const wxString& file)
}
}
-void wxFileHistory::RemoveFileFromHistory(size_t i)
+void wxFileHistoryBase::RemoveFileFromHistory(size_t i)
{
size_t numFiles = m_fileHistory.size();
wxCHECK_RET( i < numFiles,
- wxT("invalid index in wxFileHistory::RemoveFileFromHistory") );
+ wxT("invalid index in wxFileHistoryBase::RemoveFileFromHistory") );
// delete the element from the array
m_fileHistory.RemoveAt(i);
@@ -181,19 +181,19 @@ void wxFileHistory::RemoveFileFromHistory(size_t i)
}
}
-void wxFileHistory::UseMenu(wxMenu *menu)
+void wxFileHistoryBase::UseMenu(wxMenu *menu)
{
if ( !m_fileMenus.Member(menu) )
m_fileMenus.Append(menu);
}
-void wxFileHistory::RemoveMenu(wxMenu *menu)
+void wxFileHistoryBase::RemoveMenu(wxMenu *menu)
{
m_fileMenus.DeleteObject(menu);
}
#if wxUSE_CONFIG
-void wxFileHistory::Load(const wxConfigBase& config)
+void wxFileHistoryBase::Load(const wxConfigBase& config)
{
m_fileHistory.Clear();
@@ -213,7 +213,7 @@ void wxFileHistory::Load(const wxConfigBase& config)
AddFilesToMenu();
}
-void wxFileHistory::Save(wxConfigBase& config)
+void wxFileHistoryBase::Save(wxConfigBase& config)
{
size_t i;
for (i = 0; i < m_fileMaxFiles; i++)
@@ -228,7 +228,7 @@ void wxFileHistory::Save(wxConfigBase& config)
}
#endif // wxUSE_CONFIG
-void wxFileHistory::AddFilesToMenu()
+void wxFileHistoryBase::AddFilesToMenu()
{
if ( m_fileHistory.empty() )
return;
@@ -241,7 +241,7 @@ void wxFileHistory::AddFilesToMenu()
}
}
-void wxFileHistory::AddFilesToMenu(wxMenu* menu)
+void wxFileHistoryBase::AddFilesToMenu(wxMenu* menu)
{
if ( m_fileHistory.empty() )
return;
diff --git a/src/gtk/filehistory.cpp b/src/gtk/filehistory.cpp
new file mode 100644
index 0000000000..c85267fa78
--- /dev/null
+++ b/src/gtk/filehistory.cpp
@@ -0,0 +1,56 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/gtk/filehistory.cpp
+// Purpose: GTK+ bits for wxFileHistory class
+// Author: Vaclav Slavik
+// Created: 2010-05-06
+// RCS-ID: $Id$
+// Copyright: (c) 2010 Vaclav Slavik
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include "wx/filehistory.h"
+
+#if wxUSE_FILE_HISTORY
+
+#include "wx/filename.h"
+
+#include
+#include
+#include "wx/gtk/private/string.h"
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+void wxFileHistory::AddFileToHistory(const wxString& file)
+{
+ wxFileHistoryBase::AddFileToHistory(file);
+
+#ifdef __WXGTK210__
+ const wxString fullPath = wxFileName(file).GetFullPath();
+ if ( !gtk_check_version(2,10,0) )
+ {
+ wxGtkString uri(g_filename_to_uri(fullPath.fn_str(), NULL, NULL));
+
+ if ( uri )
+ gtk_recent_manager_add_item(gtk_recent_manager_get_default(), uri);
+ }
+#endif
+}
+
+#endif // wxUSE_FILE_HISTORY