From: Václav Slavík Date: Fri, 7 May 2010 06:45:48 +0000 (+0000) Subject: Integrate with GNOME's Recent Documents menu. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/690ddfec6e14f663fd1b5b98f1b68208344d1ffc Integrate with GNOME's Recent Documents menu. GTK+ provides GtkRecentManager for this purpose since 2.10. Use it in wxFileHistory if available. Integration is simple, we just add a file to GtkRecentManager in addition to normal wxFileHistory handling. A well-behaved GNOME application would use GtkRecentManager as the primary store for recent files, so that it reflects when the user works with supported files in another editor(s) too. But for now, this is much better than no support at all. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- 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