about summary refs log tree commit diff
path: root/src/gtk
diff options
context:
space:
mode:
authorRicky Kresslein <rk@lakoliu.com>2022-06-05 12:37:34 +0300
committerRicky Kresslein <rk@lakoliu.com>2022-06-05 12:42:10 +0300
commit825a2662b1856931549fc2de1164e89b09c7f4aa (patch)
tree4fa17edbd2e366b5046f264e1aabd5220a8ba274 /src/gtk
parent8d85a8f7a7be6fcb3cb383d6e59f189864b81044 (diff)
downloadFurtherance-825a2662b1856931549fc2de1164e89b09c7f4aa.tar.zst
Reports feature (Issue #32)
Diffstat (limited to 'src/gtk')
-rw-r--r--src/gtk/report.ui170
-rwxr-xr-xsrc/gtk/window.ui4
2 files changed, 174 insertions, 0 deletions
diff --git a/src/gtk/report.ui b/src/gtk/report.ui
new file mode 100644
index 0000000..9d4d5c8
--- /dev/null
+++ b/src/gtk/report.ui
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <template class="FurReport" parent="AdwWindow">
+    <property name="width-request">450</property>
+    <property name="height-request">600</property>
+    <property name="default-width">450</property>
+    <property name="default-height">600</property>
+    <property name="title" translatable="yes">Report</property>
+    <property name="modal">True</property>
+    <style>
+      <class name="report"/>
+    </style>
+    <property name="content">
+    <object class="GtkBox">
+      <property name="orientation">vertical</property>
+      <child type="overlay">
+        <object class="GtkHeaderBar">
+          <style>
+            <class name="hidden"/>
+            <class name="flat-headerbar"/>
+          </style>
+        </object>
+      </child>
+      <child>
+        <object class="GtkBox">
+          <property name="orientation">vertical</property>
+          <property name="spacing">8</property>
+          <property name="margin-top">10</property>
+          <child>
+            <object class="GtkComboBoxText" id="range_combo">
+              <property name="halign">center</property>
+                <items>
+                  <item translatable="yes" id="week_item">Past week</item>
+                  <item translatable="yes" id="month_item">This month</item>
+                  <item translatable="yes" id="30_days_item">Past 30 days</item>
+                  <item translatable="yes" id="six_months_item">Past 180 days</item>
+                  <item translatable="yes" id="year_item">Past year</item>
+                  <item translatable="yes" id="date_range_item">Date range</item>
+                </items>
+            </object>
+          </child>
+          <child>
+            <object class="GtkBox" id="date_range_box">
+              <property name="spacing">8</property>
+              <property name="halign">center</property>
+              <property name="visible">False</property>
+              <child>
+                <object class="GtkBox">
+                  <property name="orientation">vertical</property>
+                  <child>
+                    <object class="GtkLabel">
+                      <property name="label" translatable="yes">Start</property>
+                      <property name="halign">start</property>
+                    </object>
+                  </child>
+                  <child>
+                    <object class="GtkEntry" id="start_date_entry">
+                      <property name="placeholder-text" translatable="yes">MM/DD/YYYY</property>
+                    </object>
+                  </child>
+                </object>
+              </child>
+              <child>
+                <object class="GtkBox">
+                  <property name="orientation">vertical</property>
+                  <child>
+                    <object class="GtkLabel">
+                      <property name="label" translatable="yes">End</property>
+                      <property name="halign">start</property>
+                    </object>
+                  </child>
+                  <child>
+                    <object class="GtkEntry" id="end_date_entry">
+                      <property name="placeholder-text" translatable="yes">MM/DD/YYYY</property>
+                    </object>
+                  </child>
+                </object>
+              </child>
+            </object>
+          </child>
+          <child>
+            <object class="GtkLabel" id="format_error">
+              <property name="label" translatable="yes">Use the format MM/DD/YYYY</property>
+              <property name="visible">False</property>
+              <style>
+                <class name="error_message"/>
+              </style>
+            </object>
+          </child>
+          <child>
+            <object class="GtkLabel" id="start_end_error">
+              <property name="label" translatable="yes">Start date must be before end date</property>
+              <property name="visible">False</property>
+              <style>
+                <class name="error_message"/>
+              </style>
+            </object>
+          </child>
+          <child>
+            <object class="GtkBox" id="sort_by_box">
+              <property name="spacing">6</property>
+              <property name="halign">center</property>
+              <child>
+                <object class="GtkLabel">
+                  <property name="label" translatable="yes">Sort by:</property>
+                </object>
+              </child>
+              <child>
+                <object class="GtkCheckButton" id="sort_by_task">
+                  <property name="label" translatable="yes">Task</property>
+                  <property name="active">True</property>
+                  <property name="group">sort_by_tag</property>
+                </object>
+              </child>
+              <child>
+                <object class="GtkCheckButton" id="sort_by_tag">
+                  <property name="label" translatable="yes">Tag</property>
+                </object>
+              </child>
+            </object>
+          </child>
+          <child>
+            <object class="GtkCheckButton" id="filter_check">
+              <property name="label" translatable="yes">Filter by task or tags</property>
+              <property name="halign">center</property>
+            </object>
+          </child>
+          <child>
+            <object class="GtkBox" id="filter_box">
+              <property name="spacing">6</property>
+              <property name="visible">False</property>
+              <property name="halign">center</property>
+              <child>
+                <object class="GtkComboBoxText" id="filter_combo">
+                    <items>
+                      <item translatable="yes" id="tasks_item">Tasks</item>
+                      <item translatable="yes" id="tags_item">Tags</item>
+                    </items>
+                </object>
+              </child>
+              <child>
+                <object class="GtkEntry" id="filter_entry">
+                  <property name="placeholder-text" translatable="yes">Task, Task 2</property>
+                </object>
+              </child>
+            </object>
+          </child>
+          <child>
+            <object class="GtkButton" id="refresh_btn">
+              <property name="label" translatable="yes">Refresh</property>
+              <property name="halign">center</property>
+            </object>
+          </child>
+          <child>
+            <object class="GtkScrolledWindow">
+              <property name="vexpand">true</property>
+              <child>
+                <object class="GtkTreeView" id="results_tree">
+
+                </object>
+              </child>
+            </object>
+          </child>
+
+        </object>
+      </child>
+    </object>
+    </property>
+  </template>
+</interface>
diff --git a/src/gtk/window.ui b/src/gtk/window.ui
index 963922a..c403358 100755
--- a/src/gtk/window.ui
+++ b/src/gtk/window.ui
@@ -93,6 +93,10 @@
         <attribute name="action">app.preferences</attribute>
       </item>
       <item>
+        <attribute name="label" translatable="yes">_Time Report</attribute>
+        <attribute name="action">app.report</attribute>
+      </item>
+      <item>
         <attribute name="label" translatable="yes">_Delete history</attribute>
         <attribute name="action">app.delete-history</attribute>
       </item>