[Goodies-commits] r3211 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Wed Sep 12 21:55:24 CEST 2007
Author: stephan
Date: 2007-09-12 19:55:24 +0000 (Wed, 12 Sep 2007)
New Revision: 3211
Modified:
ristretto/trunk/src/main.c
ristretto/trunk/src/navigator.c
Log:
Fix the order in which the signals are send when removing images. (closing them)
Fix sensitivity of close button
Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c 2007-09-12 17:20:36 UTC (rev 3210)
+++ ristretto/trunk/src/main.c 2007-09-12 19:55:24 UTC (rev 3211)
@@ -118,6 +118,7 @@
static XfceRc *xfce_rc;
static const gchar *thumbnail_viewer_orientation;
static gint window_save_geometry_timer_id = 0;
+static GtkWidget *menu_item_close;
int main(int argc, char **argv)
{
@@ -182,7 +183,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);
+ 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();
@@ -830,7 +831,7 @@
{
RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
rstto_navigator_add (navigator, entry);
-
+ gtk_widget_set_sensitive(menu_item_close, TRUE);
gchar *uri = thunar_vfs_path_dup_uri(info->path);
gtk_recent_manager_add_item(recent_manager, uri);
g_free(uri);
@@ -885,6 +886,7 @@
{
RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
rstto_navigator_add (navigator, entry);
+ gtk_widget_set_sensitive(menu_item_close, TRUE);
}
g_free(file_media);
thunar_vfs_path_unref(path);
@@ -917,6 +919,7 @@
{
RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
rstto_navigator_add (navigator, entry);
+ gtk_widget_set_sensitive(menu_item_close, TRUE);
}
else
{
@@ -936,6 +939,7 @@
{
RsttoNavigatorEntry *entry = rstto_navigator_entry_new(file_info);
rstto_navigator_add (navigator, entry);
+ gtk_widget_set_sensitive(menu_item_close, TRUE);
}
g_free(file_media);
thunar_vfs_path_unref(file_path);
@@ -1072,4 +1076,8 @@
RsttoNavigatorEntry *entry = rstto_navigator_get_file(navigator);
rstto_navigator_remove(navigator, entry);
rstto_navigator_entry_free(entry);
+ if (rstto_navigator_get_n_files(navigator) == 0)
+ {
+ gtk_widget_set_sensitive(item, FALSE);
+ }
}
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-09-12 17:20:36 UTC (rev 3210)
+++ ristretto/trunk/src/navigator.c 2007-09-12 19:55:24 UTC (rev 3211)
@@ -355,7 +355,39 @@
{
if(navigator->file_iter->data == entry)
{
- rstto_navigator_jump_forward(navigator);
+ navigator->old_position = rstto_navigator_get_position(navigator);
+ rstto_navigator_entry_free_pixbuf(navigator->file_iter->data);
+ navigator->file_iter = g_list_next(navigator->file_iter);
+ if(!navigator->file_iter)
+ navigator->file_iter = g_list_first(navigator->file_list);
+
+ navigator->file_list = g_list_remove(navigator->file_list, entry);
+ if(g_list_length(navigator->file_list) == 0)
+ {
+ navigator->file_iter = NULL;
+ navigator->file_list = NULL;
+ }
+ g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REORDERED], 0, NULL);
+ if(navigator->file_iter)
+ {
+ g_signal_emit(G_OBJECT(navigator),
+ rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
+ 0,
+ g_list_position(navigator->file_list, navigator->file_iter),
+ navigator->file_iter->data,
+ NULL);
+ }
+ else
+ {
+ g_signal_emit(G_OBJECT(navigator),
+ rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
+ 0,
+ -1,
+ NULL,
+ NULL);
+
+ }
+ return;
}
}
navigator->file_list = g_list_remove(navigator->file_list, entry);
More information about the Goodies-commits
mailing list