about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-02-09 14:14:04 +0100
committerhut <hut@lavabit.com>2010-02-09 14:28:47 +0100
commitaad614556f7f9ed40d9fe60fac0fb382eeeb85fb (patch)
treeeeedf22918b9c275c0ad532c9e90d6e56884649c
parentab1a2682540aff4642886873c225b1f17635ef94 (diff)
downloadranger-aad614556f7f9ed40d9fe60fac0fb382eeeb85fb.tar.gz
implemented #61: show sum of size of marked files
-rw-r--r--TODO4
-rw-r--r--ranger/gui/widgets/statusbar.py16
2 files changed, 14 insertions, 6 deletions
diff --git a/TODO b/TODO
index 55b31290..3366ca4e 100644
--- a/TODO
+++ b/TODO
@@ -42,7 +42,7 @@ General
    ( ) #56  10/01/30  warn before deleting mount points
    ( ) #57  10/01/30  warn before deleting unseen marked files
    (X) #58  10/02/04  change the title of the terminal
-   ( ) #61  10/02/09  show sum of size of marked files
+   (X) #61  10/02/09  show sum of size of marked files
 
 
 Bugs
@@ -78,5 +78,5 @@ Goals for next minor version
 
    (X) #54  10/01/23  max_dirsize_for_autopreview not working
    ( ) #55  10/01/24  allow change of filename when pasting
-   ( ) #61  10/02/09  show sum of size of marked files
+   (X) #61  10/02/09  show sum of size of marked files
 
diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py
index a2b8dbd6..3aab5e2f 100644
--- a/ranger/gui/widgets/statusbar.py
+++ b/ranger/gui/widgets/statusbar.py
@@ -202,10 +202,18 @@ class StatusBar(Widget):
 		max_pos = len(target) - self.column.hei
 		base = 'scroll'
 
-		right.add(human_readable(target.disk_usage, seperator=''))
-		right.add(", ", "space")
-		right.add(human_readable(self.env.get_free_space(target.mount_path),
-			seperator=''))
+		if target.marked_items:
+			if len(target.marked_items) == len(target.files):
+				right.add(human_readable(target.disk_usage, seperator=''))
+			else:
+				right.add(human_readable(sum(f.size \
+					for f in target.marked_items \
+					if f.is_file), seperator=''))
+		else:
+			right.add(human_readable(target.disk_usage, seperator=''))
+			right.add(", ", "space")
+			right.add(human_readable(self.env.get_free_space( \
+					target.mount_path), seperator=''))
 		right.add("  ", "space")
 
 		if target.marked_items: