about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRicky Kresslein <rk@lakoliu.com>2022-04-14 17:54:57 +0300
committerRicky Kresslein <rk@lakoliu.com>2022-04-14 17:54:57 +0300
commit41d197cc21053b221ebc5af06efec66f77579e13 (patch)
treeba2149cdf543911f18a4ed2223fe21d0f317f915 /src
parenteb80833b5d736180baa49c7f3787fe30eba161db (diff)
downloadFurtherance-41d197cc21053b221ebc5af06efec66f77579e13.tar.zst
Add preferences toggle for daily sums
Diffstat (limited to 'src')
-rwxr-xr-xsrc/gtk/preferences_window.ui12
-rwxr-xr-xsrc/ui/preferences_window.rs13
-rwxr-xr-xsrc/ui/tasks_page.rs20
3 files changed, 36 insertions, 9 deletions
diff --git a/src/gtk/preferences_window.ui b/src/gtk/preferences_window.ui
index a0bb6fb..5c6140c 100755
--- a/src/gtk/preferences_window.ui
+++ b/src/gtk/preferences_window.ui
@@ -116,6 +116,18 @@
                 </child>
               </object>
             </child>
+            <child>
+              <object class="AdwActionRow">
+                <property name="title" translatable="yes">Show daily sums</property>
+                <property name="use_underline">True</property>
+                <property name="activatable_widget">show_daily_sums_switch</property>
+                <child>
+                  <object class="GtkSwitch" id="show_daily_sums_switch">
+                    <property name="valign">center</property>
+                  </object>
+                </child>
+              </object>
+            </child>
           </object>
         </child>
       </object>
diff --git a/src/ui/preferences_window.rs b/src/ui/preferences_window.rs
index 36e83dc..1955d09 100755
--- a/src/ui/preferences_window.rs
+++ b/src/ui/preferences_window.rs
@@ -53,6 +53,8 @@ mod imp {
         pub delete_confirmation_switch: TemplateChild<gtk::Switch>,
         #[template_child]
         pub show_seconds_switch: TemplateChild<gtk::Switch>,
+        #[template_child]
+        pub show_daily_sums_switch: TemplateChild<gtk::Switch>,
     }
 
     #[glib::object_subclass]
@@ -159,6 +161,12 @@ impl FurPreferencesWindow {
             "active"
         );
 
+        settings_manager::bind_property(
+            "show-daily-sums",
+            &*imp.show_daily_sums_switch,
+            "active"
+        );
+
         imp.dark_theme_switch.connect_active_notify(move |_|{
             let app = FurtheranceApplication::default();
             app.update_light_dark();
@@ -178,6 +186,11 @@ impl FurPreferencesWindow {
             let window = FurtheranceWindow::default();
             window.reset_history_box();
         });
+
+        imp.show_daily_sums_switch.connect_active_notify(move |_|{
+            let window = FurtheranceWindow::default();
+            window.reset_history_box();
+        });
     }
 }
 
diff --git a/src/ui/tasks_page.rs b/src/ui/tasks_page.rs
index ac4e20e..7fb6e63 100755
--- a/src/ui/tasks_page.rs
+++ b/src/ui/tasks_page.rs
@@ -154,16 +154,18 @@ impl FurTasksPage {
             group.add_task_model(tasks_sorted_by_day[i].clone());
 
             // Set total time for each day
-            let day_total_time = group.get_total_day_time();
-            // Format total time to readable string
-            let h = day_total_time / 3600;
-            let m = day_total_time % 3600 / 60;
-            let s = day_total_time % 60;
-            let mut total_time_str = format!("{:02}:{:02}:{:02}", h, m, s);
-            if !settings_manager::get_bool("show-seconds") {
-                total_time_str = format!("{:02}:{:02}", h, m);
+            if settings_manager::get_bool("show-daily-sums") {
+                let day_total_time = group.get_total_day_time();
+                // Format total time to readable string
+                let h = day_total_time / 3600;
+                let m = day_total_time % 3600 / 60;
+                let s = day_total_time % 60;
+                let mut total_time_str = format!("{:02}:{:02}:{:02}", h, m, s);
+                if !settings_manager::get_bool("show-seconds") {
+                    total_time_str = format!("{:02}:{:02}", h, m);
+                }
+                group.set_description(Some(&total_time_str));
             }
-            group.set_description(Some(&total_time_str));
 
             imp.all_groups.borrow_mut().push(group);
         }