summaryrefslogtreecommitdiffstats
path: root/src/inkscape-application.cpp
diff options
context:
space:
mode:
authorPatrick Storz <eduard.braun2@gmx.de>2019-03-27 18:06:31 +0000
committerPatrick Storz <eduard.braun2@gmx.de>2019-03-27 18:12:20 +0000
commitd21ee683ed80338f958a2d1368727523a89a936d (patch)
tree776f33983787922dbd7f615464f22be67e93ee3f /src/inkscape-application.cpp
parentPreferences: Remove old function to migrate recent documents (diff)
downloadinkscape-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.cpp10
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.