[Goodies-commits] r3200 - ristretto/trunk/src

Stephan Arts stephan at xfce.org
Mon Sep 10 22:47:29 CEST 2007


Author: stephan
Date: 2007-09-10 20:47:29 +0000 (Mon, 10 Sep 2007)
New Revision: 3200

Modified:
   ristretto/trunk/src/main.c
   ristretto/trunk/src/navigator.c
   ristretto/trunk/src/navigator.h
   ristretto/trunk/src/thumbnail_viewer.c
Log:
Adding close button


Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c	2007-09-10 19:29:22 UTC (rev 3199)
+++ ristretto/trunk/src/main.c	2007-09-10 20:47:29 UTC (rev 3200)
@@ -63,6 +63,8 @@
 cb_rstto_clear_recent(GtkWidget *widget, GtkRecentManager *manager);
 static gboolean
 rstto_clear_recent(GtkRecentManager *manager);
+static void
+cb_rstto_close_current(GtkWidget *item, RsttoNavigator *navigator);
 
 static void
 cb_rstto_help_about(GtkToolItem *item, GtkWindow *);
@@ -180,7 +182,7 @@
     GtkWidget *menu_item_open_dir = gtk_menu_item_new_with_mnemonic(_("O_pen Folder"));
     GtkWidget *menu_item_recently = gtk_menu_item_new_with_mnemonic(_("_Recently used"));
     GtkWidget *menu_item_separator = gtk_separator_menu_item_new();
-    /* GtkWidget *menu_item_close = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, accel_group); */
+    GtkWidget *menu_item_close = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, accel_group);
     GtkWidget *menu_item_quit = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, accel_group);
 
     GtkWidget *menu_file = gtk_menu_new();
@@ -189,7 +191,7 @@
     gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_open_dir);
     gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_recently);
     gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_separator);
-    /* gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_close);*/
+    gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_close);
     gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_quit);
     
     GtkWidget *recent_chooser_menu = gtk_recent_chooser_menu_new_for_manager(GTK_RECENT_MANAGER(recent_manager));
@@ -362,6 +364,7 @@
     g_signal_connect(G_OBJECT(menu_item_open), "activate", G_CALLBACK(cb_rstto_open), navigator);
     g_signal_connect(G_OBJECT(menu_item_open_dir), "activate", G_CALLBACK(cb_rstto_open_dir), navigator);
     g_signal_connect(G_OBJECT(menu_item_help_about), "activate", G_CALLBACK(cb_rstto_help_about), window);
+    g_signal_connect(G_OBJECT(menu_item_close), "activate", G_CALLBACK(cb_rstto_close_current), navigator);
 
     g_signal_connect(G_OBJECT(recent_chooser_menu), "item-activated", G_CALLBACK(cb_rstto_open_recent), navigator);
 
@@ -1052,3 +1055,11 @@
     GList *list = g_list_prepend(NULL, info->path);
     thunar_vfs_mime_handler_exec(THUNAR_VFS_MIME_HANDLER(app), NULL, list, NULL);
 }
+
+static void
+cb_rstto_close_current(GtkWidget *item, RsttoNavigator *navigator)
+{
+    RsttoNavigatorEntry *entry = rstto_navigator_get_file(navigator);
+    rstto_navigator_remove(navigator, entry);    
+    rstto_navigator_entry_free(entry);
+}

Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c	2007-09-10 19:29:22 UTC (rev 3199)
+++ ristretto/trunk/src/navigator.c	2007-09-10 20:47:29 UTC (rev 3200)
@@ -339,6 +339,20 @@
 }
 
 void
+rstto_navigator_remove (RsttoNavigator *navigator, RsttoNavigatorEntry *entry)
+{
+    if(navigator->file_iter)
+    {
+        if(navigator->file_iter->data == entry)
+        {
+            rstto_navigator_jump_forward(navigator);
+        }
+    }
+    navigator->file_list = g_list_remove(navigator->file_list, entry);
+    g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REORDERED], 0, NULL);
+}
+
+void
 rstto_navigator_clear (RsttoNavigator *navigator)
 {
     if(navigator->file_list)

Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h	2007-09-10 19:29:22 UTC (rev 3199)
+++ ristretto/trunk/src/navigator.h	2007-09-10 20:47:29 UTC (rev 3200)
@@ -88,6 +88,8 @@
 
 void
 rstto_navigator_add (RsttoNavigator *navigator, RsttoNavigatorEntry *entry);
+void
+rstto_navigator_remove (RsttoNavigator *navigator, RsttoNavigatorEntry *entry);
 gint
 rstto_navigator_get_n_files (RsttoNavigator *navigator);
 RsttoNavigatorEntry *

Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c	2007-09-10 19:29:22 UTC (rev 3199)
+++ ristretto/trunk/src/thumbnail_viewer.c	2007-09-10 20:47:29 UTC (rev 3200)
@@ -385,6 +385,10 @@
 static void
 cb_rstto_thumbnailer_nav_reordered (RsttoNavigator *nav, RsttoThumbnailViewer *viewer)
 {
+    if (GTK_WIDGET_REALIZED(viewer))
+    {
+        rstto_thumbnail_viewer_paint(viewer);
+    }
 }
 
 static gboolean




More information about the Goodies-commits mailing list