This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository evisum.

View the commit online.

commit 059a3065a5c4e357bf0d3f76992c7b385ecc93b5
Author: Alastair Poole <[email protected]>
AuthorDate: Mon Jun 1 18:35:57 2026 +0100

    disk: use "double" progressbar style for read/write.
---
 src/bin/ui/evisum_ui_disk.c | 34 ++++++++++++++++++++++++++++++----
 1 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/src/bin/ui/evisum_ui_disk.c b/src/bin/ui/evisum_ui_disk.c
index de434aa..38ff6f9 100644
--- a/src/bin/ui/evisum_ui_disk.c
+++ b/src/bin/ui/evisum_ui_disk.c
@@ -203,10 +203,12 @@ _evisum_ui_disk_legend_swatch_add(Disk_History *entry, Disk_Line line, Evas_Obje
 static void
 _evisum_ui_disk_history_legend_add(Evisum_Ui_Disk_View *view, Disk_History *entry, Disk_Line line) {
     Evas_Object *left, *lb, *pb;
+    Eina_Bool transfer_mode;
 
     if (!view->legend_tb) return;
 
-    if (_evisum_ui_disk_transfer_mode_get(view)) {
+    transfer_mode = _evisum_ui_disk_transfer_mode_get(view);
+    if (transfer_mode) {
         line = DISK_LINE_READ;
         if (entry->legend_row[line]) return;
     } else if (entry->legend_row[line]) return;
@@ -218,7 +220,7 @@ _evisum_ui_disk_history_legend_add(Evisum_Ui_Disk_View *view, Disk_History *entr
     evas_object_size_hint_align_set(left, EVAS_HINT_FILL, 0.5);
     evas_object_show(left);
 
-    if (_evisum_ui_disk_transfer_mode_get(view)) {
+    if (transfer_mode) {
         _evisum_ui_disk_legend_swatch_add(entry, DISK_LINE_READ, left);
         _evisum_ui_disk_legend_swatch_add(entry, DISK_LINE_WRITE, left);
     } else _evisum_ui_disk_legend_swatch_add(entry, DISK_LINE_USAGE, left);
@@ -231,9 +233,14 @@ _evisum_ui_disk_history_legend_add(Evisum_Ui_Disk_View *view, Disk_History *entr
     evas_object_show(lb);
 
     pb = elm_progressbar_add(view->legend_tb);
+    if (transfer_mode) elm_object_style_set(pb, "double");
     elm_object_text_set(pb, NULL);
     elm_progressbar_span_size_set(pb, ELM_SCALE_SIZE(220));
     elm_progressbar_unit_format_set(pb, _("0 B / 0 B"));
+    if (transfer_mode) {
+        elm_progressbar_part_value_set(pb, "elm.cur.progressbar", 0.0);
+        elm_progressbar_part_value_set(pb, "elm.cur.progressbar1", 0.0);
+    }
     evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, 0.0);
     evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
     evas_object_show(pb);
@@ -267,6 +274,19 @@ _evisum_ui_disk_transfer_format(char *buf, size_t buflen, uint64_t rate) {
     snprintf(buf, buflen, "%s/s", evisum_size_format(rate, 0));
 }
 
+static double
+_evisum_ui_disk_progress_ratio_get(uint64_t value, double max) {
+    double ratio;
+
+    if (max < 1.0) return 0.0;
+
+    ratio = (double)value / max;
+    if (ratio < 0.0) return 0.0;
+    if (ratio > 1.0) return 1.0;
+
+    return ratio;
+}
+
 static void
 _evisum_ui_disk_history_legend_update(Disk_History *entry, const File_System *fs, double used_percent,
                                       double transfer_peak) {
@@ -281,9 +301,15 @@ _evisum_ui_disk_history_legend_update(Disk_History *entry, const File_System *fs
         if (entry->legend_label[DISK_LINE_READ])
             elm_object_text_set(entry->legend_label[DISK_LINE_READ], entry->name ? entry->name : entry->key);
         if (entry->legend_pb[DISK_LINE_READ]) {
-            double value = fs->usage.read > fs->usage.write ? (double) fs->usage.read : (double) fs->usage.write;
+            double read = entry->enabled[DISK_LINE_READ]
+                              ? _evisum_ui_disk_progress_ratio_get(fs->usage.read, transfer_peak)
+                              : 0.0;
+            double write = entry->enabled[DISK_LINE_WRITE]
+                               ? _evisum_ui_disk_progress_ratio_get(fs->usage.write, transfer_peak)
+                               : 0.0;
 
-            elm_progressbar_value_set(entry->legend_pb[DISK_LINE_READ], value / transfer_peak);
+            elm_progressbar_part_value_set(entry->legend_pb[DISK_LINE_READ], "elm.cur.progressbar", read);
+            elm_progressbar_part_value_set(entry->legend_pb[DISK_LINE_READ], "elm.cur.progressbar1", write);
             elm_progressbar_unit_format_set(entry->legend_pb[DISK_LINE_READ],
                                             eina_slstr_printf(_("Read %s | Write %s"), read_buf, write_buf));
         }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to