Hello,

Here is a better one with fm_file_inf_list_peek_head_link() use.
You can git commit if you don't see other mistake.

Note1: I see size update when rubberbanding with all views but not with "Detail
View". I must release mouse button to see update on status bar. Maybe a
Small Bug?

Note2: (not about total size) When using "Detail View" if I select files with 
rubberbanding, the first one is not in the selection.
See example.jpg

Thank you.


---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<
diff --git a/src/tab-page.c b/src/tab-page.c
index 48599b0..ea873d3 100644
--- a/src/tab-page.c
+++ b/src/tab-page.c
@@ -210,7 +210,6 @@ static void on_folder_view_sel_changed(FmFolderView*
fv, gint n_sel, FmTabPage*
 
     if(n_sel > 0)
     {
-        /* FIXME: display total size of all selected files. */
         if(n_sel == 1) /* only one file is selected */
         {
             FmFileInfoList* files =
fm_folder_view_dup_selected_files(fv);
@@ -233,7 +232,22 @@ static void
on_folder_view_sel_changed(FmFolderView* fv, gint n_sel, FmTabPage*
         }
         else
         {
-            msg = g_strdup_printf(ngettext("%d item selected", "%d
items selected", n_sel), n_sel);
+            FmFileInfoList* files =
fm_folder_view_dup_selected_files(fv);
+            char buf[ 64 ];
+            char* msg2;
+            goffset size_sel = 0;
+            GList* l;
+            
+            for(l=fm_file_info_list_peek_head_link(files);l;l=l->next)
+            {
+                FmFileInfo* fi = (FmFileInfo*)l->data;
+                size_sel += fm_file_info_get_size(fi);
+            }
+            fm_file_size_to_str(buf, sizeof(buf), size_sel,
fm_config->si_unit);
+            msg2 = g_strdup_printf("%s (%s)", ngettext("%d item
selected", "%d items selected", n_sel), buf);
+            msg = g_strdup_printf(msg2, n_sel);
+            g_free(msg2);
+            fm_file_info_list_unref(files);
         }
     }
     else
---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<


<<attachment: example.jpg>>

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Pcmanfm-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pcmanfm-develop

Reply via email to