Hide .gqv extension from collection name in collection window title and recent menu...
authorLaurent Monin <geeqie@norz.org>
Sun, 23 Nov 2008 22:05:27 +0000 (22:05 +0000)
committerLaurent Monin <geeqie@norz.org>
Sun, 23 Nov 2008 22:05:27 +0000 (22:05 +0000)
src/collect.c
src/layout_util.c

index f0d09f2..9c2c255 100644 (file)
@@ -983,11 +983,24 @@ static void collection_window_refresh(CollectWindow *cw)
 
 static void collection_window_update_title(CollectWindow *cw)
 {
+       gboolean free_name = FALSE;
+       gchar *name;
        gchar *buf;
 
        if (!cw) return;
 
-       buf = g_strdup_printf(_("%s - Collection - %s"), cw->cd->name, GQ_APPNAME);
+       if (file_extension_match(cw->cd->name, GQ_COLLECTION_EXT))
+               {
+               name = remove_extension_from_path(cw->cd->name);
+               free_name = TRUE;
+               }
+       else
+               {
+               name = cw->cd->name;
+               }
+
+       buf = g_strdup_printf(_("%s - Collection - %s"), name, GQ_APPNAME);
+       if (free_name) g_free(name);
        gtk_window_set_title(GTK_WINDOW(cw->window), buf);
        g_free(buf);
 }
index 50c4ca7..54df6ab 100644 (file)
@@ -1008,8 +1008,22 @@ static void layout_menu_recent_update(LayoutWindow *lw)
 
        while (list)
                {
-               item = menu_item_add_simple(menu, filename_from_path((gchar *)list->data),
-                                           G_CALLBACK(layout_menu_recent_cb), lw);
+               const gchar *filename = filename_from_path((gchar *)list->data);
+               gchar *name;
+               gboolean free_name = FALSE;
+
+               if (file_extension_match(filename, GQ_COLLECTION_EXT))
+                       {
+                       name = remove_extension_from_path(filename);
+                       free_name = TRUE;
+                       }
+               else
+                       {
+                       name = (gchar *) filename;
+                       }
+
+               item = menu_item_add_simple(menu, name, G_CALLBACK(layout_menu_recent_cb), lw);
+               if (free_name) g_free(name);
                g_object_set_data(G_OBJECT(item), "recent_index", GINT_TO_POINTER(n));
                list = list->next;
                n++;