Revision: 1829
http://geeqie.svn.sourceforge.net/geeqie/?rev=1829&view=rev
Author: nadvornik
Date: 2009-08-28 21:01:29 +0000 (Fri, 28 Aug 2009)
Log Message:
-----------
improved printing of selection
Modified Paths:
--------------
trunk/src/filedata.c
trunk/src/filedata.h
trunk/src/print.c
trunk/src/utilops.c
Modified: trunk/src/filedata.c
===================================================================
--- trunk/src/filedata.c 2009-08-28 20:18:46 UTC (rev 1828)
+++ trunk/src/filedata.c 2009-08-28 21:01:29 UTC (rev 1829)
@@ -2466,23 +2466,26 @@
}
#endif
-GList *file_data_process_groups_in_selection(GList *list, GList
**ungrouped_list)
+GList *file_data_process_groups_in_selection(GList *list, gboolean ungroup,
GList **ungrouped_list)
{
GList *out = NULL;
GList *work = list;
/* change partial groups to independent files */
- while (work)
+ if (ungroup)
{
- FileData *fd = work->data;
- work = work->next;
+ while (work)
+ {
+ FileData *fd = work->data;
+ work = work->next;
- if (!file_data_list_contains_whole_group(list, fd))
- {
- file_data_disable_grouping(fd, TRUE);
- if (ungrouped_list)
+ if (!file_data_list_contains_whole_group(list, fd))
{
- *ungrouped_list =
g_list_prepend(*ungrouped_list, file_data_ref(fd));
+ file_data_disable_grouping(fd, TRUE);
+ if (ungrouped_list)
+ {
+ *ungrouped_list =
g_list_prepend(*ungrouped_list, file_data_ref(fd));
+ }
}
}
}
@@ -2495,17 +2498,14 @@
FileData *fd = work->data;
work = work->next;
- if (!fd->parent)
+ if (!fd->parent ||
+ (!ungroup && !file_data_list_contains_whole_group(list,
fd)))
{
- out = g_list_prepend(out, fd);
+ out = g_list_prepend(out, file_data_ref(fd));
}
- else
- {
- file_data_unref(fd);
- }
}
- g_list_free(list);
+ filelist_free(list);
out = g_list_reverse(out);
return out;
Modified: trunk/src/filedata.h
===================================================================
--- trunk/src/filedata.h 2009-08-28 20:18:46 UTC (rev 1828)
+++ trunk/src/filedata.h 2009-08-28 21:01:29 UTC (rev 1829)
@@ -127,7 +127,7 @@
void file_data_sc_free_ci(FileData *fd);
void file_data_sc_free_ci_list(GList *fd_list);
-GList *file_data_process_groups_in_selection(GList *list, GList **ungrouped);
+GList *file_data_process_groups_in_selection(GList *list, gboolean ungroup,
GList **ungrouped);
typedef void (*FileDataNotifyFunc)(FileData *fd, NotifyType type, gpointer
data);
Modified: trunk/src/print.c
===================================================================
--- trunk/src/print.c 2009-08-28 20:18:46 UTC (rev 1828)
+++ trunk/src/print.c 2009-08-28 21:01:29 UTC (rev 1829)
@@ -3356,7 +3356,7 @@
pw = g_new0(PrintWindow, 1);
pw->source_fd = file_data_ref(fd);
- pw->source_selection = selection;
+ pw->source_selection = file_data_process_groups_in_selection(selection,
FALSE, NULL);
pw->source_list = list;
pw->source = print_pref_int(PRINT_PREF_SOURCE, PRINT_SOURCE_SELECTION);
Modified: trunk/src/utilops.c
===================================================================
--- trunk/src/utilops.c 2009-08-28 20:18:46 UTC (rev 1828)
+++ trunk/src/utilops.c 2009-08-28 21:01:29 UTC (rev 1829)
@@ -1955,7 +1955,7 @@
if (!flist) return;
- flist = file_data_process_groups_in_selection(flist, &ungrouped);
+ flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
if (!file_data_sc_add_ci_delete_list(flist))
{
@@ -2045,7 +2045,7 @@
if (!flist) return;
- flist = file_data_process_groups_in_selection(flist, &ungrouped);
+ flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
if (!file_data_sc_add_ci_move_list(flist, dest_path))
{
@@ -2094,7 +2094,7 @@
if (file_util_write_metadata_first(UTILITY_TYPE_COPY, phase, flist,
dest_path, NULL, parent))
return;
- flist = file_data_process_groups_in_selection(flist, &ungrouped);
+ flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
if (!file_data_sc_add_ci_copy_list(flist, dest_path))
{
@@ -2140,7 +2140,7 @@
if (!flist) return;
- flist = file_data_process_groups_in_selection(flist, &ungrouped);
+ flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
if (!file_data_sc_add_ci_rename_list(flist, dest_path))
{
@@ -2217,7 +2217,7 @@
if (file_util_write_metadata_first(UTILITY_TYPE_FILTER, phase, flist,
dest_path, key, parent))
return;
- flist = file_data_process_groups_in_selection(flist, &ungrouped);
+ flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
if (!file_data_sc_add_ci_unspecified_list(flist, dest_path))
{
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Geeqie-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geeqie-svn