Revision: 1695
http://geeqie.svn.sourceforge.net/geeqie/?rev=1695&view=rev
Author: nadvornik
Date: 2009-05-09 19:45:24 +0000 (Sat, 09 May 2009)
Log Message:
-----------
expose the file grouping flag to the user
Modified Paths:
--------------
trunk/src/filedata.c
trunk/src/filedata.h
trunk/src/layout_util.c
trunk/src/view_file.c
trunk/src/view_file_icon.c
trunk/src/view_file_list.c
Modified: trunk/src/filedata.c
===================================================================
--- trunk/src/filedata.c 2009-05-09 19:25:51 UTC (rev 1694)
+++ trunk/src/filedata.c 2009-05-09 19:45:24 UTC (rev 1695)
@@ -670,6 +670,7 @@
void file_data_disable_grouping(FileData *fd, gboolean disable)
{
if (!fd->disable_grouping == !disable) return;
+
fd->disable_grouping = !!disable;
if (disable)
@@ -678,7 +679,6 @@
{
FileData *parent = file_data_ref(fd->parent);
file_data_disconnect_sidecar_file(parent, fd);
- file_data_send_notification(fd, NOTIFY_GROUPING);
file_data_send_notification(parent, NOTIFY_GROUPING);
file_data_unref(parent);
}
@@ -693,18 +693,37 @@
file_data_disconnect_sidecar_file(fd, sfd);
file_data_send_notification(sfd,
NOTIFY_GROUPING);
}
- file_data_send_notification(fd, NOTIFY_GROUPING);
file_data_check_sidecars((FileData
*)sidecar_files->data, FALSE); /* this will group the sidecars back together */
filelist_free(sidecar_files);
}
+ else
+ {
+ file_data_increment_version(fd); /* the functions
called in the cases above increments the version too */
+ }
}
else
{
+ file_data_increment_version(fd);
file_data_check_sidecars(fd, FALSE);
- file_data_send_notification(fd, NOTIFY_GROUPING);
}
+ file_data_send_notification(fd, NOTIFY_GROUPING);
}
+void file_data_disable_grouping_list(GList *fd_list, gboolean disable)
+{
+ GList *work;
+
+ work = fd_list;
+ while (work)
+ {
+ FileData *fd = work->data;
+
+ file_data_disable_grouping(fd, disable);
+ work = work->next;
+ }
+}
+
+
/* compare name without extension */
gint file_data_compare_name_without_ext(FileData *fd1, FileData *fd2)
{
Modified: trunk/src/filedata.h
===================================================================
--- trunk/src/filedata.h 2009-05-09 19:25:51 UTC (rev 1694)
+++ trunk/src/filedata.h 2009-05-09 19:45:24 UTC (rev 1695)
@@ -43,6 +43,7 @@
void file_data_change_info_free(FileDataChangeInfo *fdci, FileData *fd);
void file_data_disable_grouping(FileData *fd, gboolean disable);
+void file_data_disable_grouping_list(GList *fd_list, gboolean disable);
gint filelist_sort_compare_filedata(FileData *fa, FileData *fb);
gint filelist_sort_compare_filedata_full(FileData *fa, FileData *fb, SortType
method, gboolean ascend);
Modified: trunk/src/layout_util.c
===================================================================
--- trunk/src/layout_util.c 2009-05-09 19:25:51 UTC (rev 1694)
+++ trunk/src/layout_util.c 2009-05-09 19:45:24 UTC (rev 1695)
@@ -301,6 +301,20 @@
file_util_delete(NULL, layout_selection_list(lw), layout_window(lw));
}
+static void layout_menu_disable_grouping_cb(GtkAction *action, gpointer data)
+{
+ LayoutWindow *lw = data;
+
+ file_data_disable_grouping_list(layout_selection_list(lw), TRUE);
+}
+
+static void layout_menu_enable_grouping_cb(GtkAction *action, gpointer data)
+{
+ LayoutWindow *lw = data;
+
+ file_data_disable_grouping_list(layout_selection_list(lw), FALSE);
+}
+
static void layout_menu_close_cb(GtkAction *action, gpointer data)
{
LayoutWindow *lw = data;
@@ -1236,6 +1250,8 @@
{ "Delete", GTK_STOCK_DELETE, N_("_Delete..."),
"<control>D", N_("Delete..."),
CB(layout_menu_delete_cb) },
{ "DeleteAlt1", GTK_STOCK_DELETE, N_("_Delete..."),
"Delete", N_("Delete..."),
CB(layout_menu_delete_cb) },
{ "DeleteAlt2", GTK_STOCK_DELETE, N_("_Delete..."),
"KP_Delete", N_("Delete..."),
CB(layout_menu_delete_cb) },
+ { "EnableGrouping", NULL, N_("Enable file _grouping"),
NULL, N_("Enable file grouping"),
CB(layout_menu_enable_grouping_cb) },
+ { "DisableGrouping", NULL, N_("Disable file groupi_ng"),
NULL, N_("Disable file grouping"),
CB(layout_menu_disable_grouping_cb) },
{ "CopyPath", NULL, N_("_Copy path to
clipboard"), NULL, N_("Copy path to clipboard"),
CB(layout_menu_copy_path_cb) },
{ "CloseWindow", GTK_STOCK_CLOSE, N_("C_lose window"),
"<control>W", N_("Close window"),
CB(layout_menu_close_cb) },
{ "Quit", GTK_STOCK_QUIT, N_("_Quit"),
"<control>Q", N_("Quit"),
CB(layout_menu_exit_cb) },
Modified: trunk/src/view_file.c
===================================================================
--- trunk/src/view_file.c 2009-05-09 19:25:51 UTC (rev 1694)
+++ trunk/src/view_file.c 2009-05-09 19:45:24 UTC (rev 1695)
@@ -374,6 +374,20 @@
file_util_copy_path_list_to_clipboard(vf_pop_menu_file_list(vf));
}
+static void vf_pop_menu_enable_grouping_cb(GtkWidget *widget, gpointer data)
+{
+ ViewFile *vf = data;
+
+ file_data_disable_grouping_list(vf_pop_menu_file_list(vf), FALSE);
+}
+
+static void vf_pop_menu_disable_grouping_cb(GtkWidget *widget, gpointer data)
+{
+ ViewFile *vf = data;
+
+ file_data_disable_grouping_list(vf_pop_menu_file_list(vf), TRUE);
+}
+
static void vf_pop_menu_sort_cb(GtkWidget *widget, gpointer data)
{
ViewFile *vf;
@@ -583,6 +597,11 @@
menu_item_add_sensitive(menu, _("_Copy path"), active,
G_CALLBACK(vf_pop_menu_copy_path_cb), vf);
+ menu_item_add_sensitive(menu, _("Enable file _grouping"), active,
+ G_CALLBACK(vf_pop_menu_enable_grouping_cb), vf);
+ menu_item_add_sensitive(menu, _("Disable file groupi_ng"), active,
+ G_CALLBACK(vf_pop_menu_disable_grouping_cb),
vf);
+
menu_item_add_divider(menu);
submenu = submenu_add_sort(NULL, G_CALLBACK(vf_pop_menu_sort_cb), vf,
Modified: trunk/src/view_file_icon.c
===================================================================
--- trunk/src/view_file_icon.c 2009-05-09 19:25:51 UTC (rev 1694)
+++ trunk/src/view_file_icon.c 2009-05-09 19:45:24 UTC (rev 1695)
@@ -2356,7 +2356,8 @@
}
else
{
- name_sidecars = g_strdup_printf("%s%s", link,
id->fd->name);
+ gchar *disabled_grouping =
id->fd->disable_grouping ? _(" [NO GROUPING]") : "";
+ name_sidecars = g_strdup_printf("%s%s%s", link,
id->fd->name, disabled_grouping);
}
g_object_set(cell, "pixbuf", id->fd->thumb_pixbuf,
Modified: trunk/src/view_file_list.c
===================================================================
--- trunk/src/view_file_list.c 2009-05-09 19:25:51 UTC (rev 1694)
+++ trunk/src/view_file_list.c 2009-05-09 19:45:24 UTC (rev 1695)
@@ -799,7 +799,8 @@
}
else
{
- name_sidecars = g_strdup_printf("%s%s", link, fd->name);
+ gchar *disabled_grouping = fd->disable_grouping ? _(" [NO
GROUPING]") : "";
+ name_sidecars = g_strdup_printf("%s%s%s", link, fd->name,
disabled_grouping);
}
size = text_from_size(fd->size);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Geeqie-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geeqie-svn