diff options
| author | Patrick Storz <eduard.braun2@gmx.de> | 2019-03-27 18:06:31 +0000 |
|---|---|---|
| committer | Patrick Storz <eduard.braun2@gmx.de> | 2019-03-27 18:12:20 +0000 |
| commit | d21ee683ed80338f958a2d1368727523a89a936d (patch) | |
| tree | 776f33983787922dbd7f615464f22be67e93ee3f /src/inkscape-application.cpp | |
| parent | Preferences: Remove old function to migrate recent documents (diff) | |
| download | inkscape-d21ee683ed80338f958a2d1368727523a89a936d.tar.gz inkscape-d21ee683ed80338f958a2d1368727523a89a936d.zip | |
Fix adding/lookup of recent files.
Avoid setting an application name as Gtk::RecentManager calls
g_get_application_name ()
internally to determine the default "name" attribute used for new
entries in the list of recently used files (recently-used.xbel)
Our Gtk::RecentFilter in menubar.cpp expects the name to equal to
g_get_prgname ()
though (which happens to be the fallback of g_get_application_name,
but only if no application name is set as in earlier versions)
The alternative would be to set metadata manually, but it would
require us to set *all* fields manually (including mime type, etc.).
See also
https://gitlab.gnome.org/GNOME/gtk/issues/1775
Fixes
https://gitlab.com/inkscape/inkscape/issues/160
Diffstat (limited to 'src/inkscape-application.cpp')
| -rw-r--r-- | src/inkscape-application.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/inkscape-application.cpp b/src/inkscape-application.cpp index 3ab60caa3..3c87130f6 100644 --- a/src/inkscape-application.cpp +++ b/src/inkscape-application.cpp @@ -445,7 +445,9 @@ ConcreteInkscapeApplication<T>::ConcreteInkscapeApplication() Inkscape::initialize_gettext(); #endif - Glib::set_application_name(N_("Inkscape - A Vector Drawing Program")); // After gettext() init. + // Don't set application name for now. We don't use it anywhere but + // it overrides the name used for adding recently opened files and breaks the Gtk::RecentFilter + // Glib::set_application_name(N_("Inkscape - A Vector Drawing Program")); // After gettext() init. // ======================== Actions ========================= add_actions_base(this); // actions that are GUI independent @@ -626,12 +628,8 @@ ConcreteInkscapeApplication<Gtk::Application>::create_window(const Glib::RefPtr< if (document) { if (add_to_recent) { - auto recentmanager = Gtk::RecentManager::get_default(); - Gtk::RecentManager::Data data; - data.app_name = g_get_prgname(); // Must match Gtk::RecentFilter in menubar.cpp - data.mime_type = "image"; // We don't know if we opened an SVG! (image/svg+xml). - recentmanager->add_item (file->get_uri(), data); + recentmanager->add_item (file->get_uri()); } // TODO Remove this code... handle document replacement elsewhere. |
