nowfocus 0.5.4__py3-none-any.whl → 0.5.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
nowfocus/__main__.py CHANGED
@@ -97,10 +97,10 @@ class Application(Gtk.Application):
97
97
  self.open_task_window()
98
98
 
99
99
  # Testing
100
- # time.sleep(3)
100
+ # TODO: enable these automatically with dbg system
101
101
  # self.open_session_options_dialog('test_param')
102
102
  # self.open_settings_window() #for testing
103
- self.open_new_task_dialog() #for testing
103
+ # self.open_new_task_dialog() #for testing
104
104
  # self.print_time_totals()
105
105
  # self.new_task_dialog()
106
106
 
nowfocus/task_window.py CHANGED
@@ -405,9 +405,10 @@ class TaskWindow(Gtk.Window):
405
405
  # self.r_sidebar.add_events(Gdk.EventMask.ENTER_NOTIFY_MASK)
406
406
  # self.r_sidebar.add_events(Gdk.EventMask.LEAVE_NOTIFY_MASK)
407
407
  # self.r_sidebar.connect("enter-notify-event",self.test)
408
-
408
+ # session = None, accepts_tasks = True, skip_top_level_lists = False, show_todolist_headers = True, deduplicate = False, truncate_labels_to_chars = 100
409
409
 
410
- self.l_sidebar.add(choose_from_lists(self.select_list_callback, 'None', None, False, show_todolist_headers=False))
410
+ self.l_sidebar.add(choose_from_lists(
411
+ self.select_list_callback, 'None', None, accepts_tasks=False, skip_top_level_lists =True, show_todolist_headers=False, deduplicate=True, truncate_labels_to_chars=20))
411
412
 
412
413
  self.SessionEditDialog = SessionEditDialog # passed to show_sessions via self
413
414
  sidebar_sessions = get_sessions(use_sessions_timeframe_setting=False)
@@ -489,10 +490,11 @@ class TaskWindow(Gtk.Window):
489
490
 
490
491
  label = Gtk.Label()
491
492
 
493
+ if len(t['extended_label']) > 100:
494
+ t['extended_label'] = t['extended_label'][:100]+"…"
495
+
492
496
  extended_label = GLib.markup_escape_text(t['extended_label'])
493
497
 
494
- if len(extended_label) > 100:
495
- extended_label = extended_label[:100]+"..."
496
498
 
497
499
  if len(self.search_term) > 1:
498
500
 
nowfocus/utils.py CHANGED
@@ -1157,7 +1157,7 @@ def get_most_recent_list(session = None):
1157
1157
  return last_session[0]['parent_id']
1158
1158
 
1159
1159
 
1160
- def choose_from_lists(callback, selected_list_id = None, session = None, accepts_tasks = True, skip_top_level_lists = False, show_todolist_headers = True):
1160
+ def choose_from_lists(callback, selected_list_id = None, session = None, accepts_tasks = True, skip_top_level_lists = False, show_todolist_headers = True, deduplicate = False, truncate_labels_to_chars = 100):
1161
1161
  ''' Returns a Gtk.ScrolledWindow widget with radio buttons'''
1162
1162
 
1163
1163
  # TODO: consider using TreeView https://lazka.github.io/pgi-docs/Gtk-3.0/classes/TreeView.html#Gtk.TreeView
@@ -1177,12 +1177,15 @@ def choose_from_lists(callback, selected_list_id = None, session = None, accepts
1177
1177
 
1178
1178
  todolist = None
1179
1179
 
1180
- where = " WHERE status = '1' "
1180
+ conditions = " "
1181
1181
 
1182
1182
  if skip_top_level_lists:
1183
- where += " AND parent_label IS NOT NULL "
1183
+ conditions += " AND parent_label IS NOT NULL "
1184
1184
 
1185
- lists = db_query("SELECT lists.*, (SELECT start_time FROM sessions WHERE todolist = lists.todolist ORDER BY start_time DESC LIMIT 1 ) as last_session_on_todo FROM lists "+where+" ORDER BY last_session_on_todo DESC, CASE WHEN parent_id IS NULL THEN 1 ELSE 2 END, extended_label ASC ", None, 'id')
1185
+ if deduplicate:
1186
+ conditions += " GROUP BY extended_label "
1187
+
1188
+ lists = db_query("SELECT lists.*, (SELECT start_time FROM sessions WHERE todolist = lists.todolist ORDER BY start_time DESC LIMIT 1 ) as last_session_on_todo FROM lists WHERE status = '1' "+conditions+" ORDER BY last_session_on_todo DESC, CASE WHEN parent_id IS NULL THEN 1 ELSE 2 END, extended_label ASC ", None, 'id')
1186
1189
 
1187
1190
  r_button = None
1188
1191
  todolist_id = None
@@ -1190,9 +1193,10 @@ def choose_from_lists(callback, selected_list_id = None, session = None, accepts
1190
1193
  for id, l in lists.items():
1191
1194
  try:
1192
1195
  l['data'] = json.loads(l['data'])
1196
+ if len(l['label']) > truncate_labels_to_chars:
1197
+ l['label'] = l['label'][:truncate_labels_to_chars] + '…'
1193
1198
 
1194
- indent = len(get_lists_for_item(l)['ids'])
1195
- label = f'{" · " * indent}' + GLib.markup_escape_text(l['label'])
1199
+ label = f'{" · " * l['extended_label'].count(' > ')}' + GLib.markup_escape_text(l['label'])
1196
1200
 
1197
1201
  if todolist_id != l['todolist']:
1198
1202
  todolist_id = l['todolist']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nowfocus
3
- Version: 0.5.4
3
+ Version: 0.5.5
4
4
  Summary: nowfocus: the open source task-tracking self-control panel.
5
5
  Author: AltruistEnterprises
6
6
  Project-URL: Homepage, https://www.nowfocus.org
@@ -1,5 +1,5 @@
1
1
  nowfocus/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
- nowfocus/__main__.py,sha256=kVykjOg41_zI0aej28l8MPLrFw4GkKZBxIfi-lwiH-8,33132
2
+ nowfocus/__main__.py,sha256=ow_EHA8LCeC6OG0PW-cMdHQuU6dcGedOyPec68mIb2U,33169
3
3
  nowfocus/conf.py,sha256=KV0iouYSSpYUITLlG-lPvmk1sHFVQsykwqmvb9wyTdk,6693
4
4
  nowfocus/example-todo.txt,sha256=o-ZRNiTlSGFbTK9jpdDIi07qHBrpvP0JhBZSk0VlpQU,246
5
5
  nowfocus/install.py,sha256=tcds4l6b492HTC7DfapatafgeMmDWvBfy8nwi1CjFXk,3040
@@ -9,9 +9,9 @@ nowfocus/session_options.py,sha256=mOnyEM3-usKgVvBhESY0TNBcy4FTG-AHP6ETMgB1fQ4,5
9
9
  nowfocus/sessions.csv,sha256=kYpr06yQg_J86NQ4AiYw4RnQchcw3ouPKVYa1lYDUNo,39
10
10
  nowfocus/settings.py,sha256=CZoSpFacxAs99Nq-NXNDKiBqjPSLPwg8bL5hcsi2a6E,35151
11
11
  nowfocus/styles.css,sha256=PG1SrLkwSSay8M2VKeRcE0UdK54ndsEDFnRLRkmP-9M,510
12
- nowfocus/task_window.py,sha256=cwqd1XeVXOwgkrLosEpiT3DUKHoXINRU2aeBHJqqswo,29100
12
+ nowfocus/task_window.py,sha256=UIrHljw3IfnBjdK9idnzgB4cT6QfYY7PChCQhUR_0zI,29373
13
13
  nowfocus/user_idle_time.py,sha256=I44Ip-iGGzWAiHnM2_06jNqhCne9y1SbvcBI-nYBolU,2365
14
- nowfocus/utils.py,sha256=FEzVb_xhdIg_7gsPfFbnu-hmNeGhhD17MqwqOAUnaGM,50902
14
+ nowfocus/utils.py,sha256=OyLUTfUqODkMm_QtnQc65ihgCO-cbcMjAWbCKC2uePs,51147
15
15
  nowfocus/version_migrator.py,sha256=q8T1C8-DLOwUQUM5IPcMjPbVbsLTO4VsqADlAAXd9gw,628
16
16
  nowfocus/connectors/activitywatch.py,sha256=QbkOmjIOiVwccWc2xhhePd0Abww5vEiVpCNjeqOyYGg,921
17
17
  nowfocus/connectors/caldav.py,sha256=PeM_9yJC8W17L8Y5AyS75o6GfzTrPoMYKIvetND8T78,5089
@@ -52,9 +52,9 @@ nowfocus/icon/settings.svg,sha256=fgkGJouPPtZLxZn2nr_5pEp9MdhRSRaW9mtdxhJHDuQ,39
52
52
  nowfocus/sound/bell-xylophone-g.mp3,sha256=1OBcRWvD87AGNcq1uZFR8HqG0nanJykImERfVDVxHD4,53891
53
53
  nowfocus/sound/dinner-bell.mp3,sha256=hjjO0xqA4uXpYw9KLwwlBnrVfRhVq1K5OXzwlMXhRn4,113620
54
54
  nowfocus/sound/xylophone-chord.mp3,sha256=gwgBSqhMt5PMzT5N03Z6TvDgipQZfnkEz_o81Rq5Z1U,131806
55
- nowfocus-0.5.4.dist-info/licenses/LICENSE,sha256=fSJzoHs1EOCwEd7FIyokFeGEma7NKmTVEdHkCr5OIV4,35127
56
- nowfocus-0.5.4.dist-info/METADATA,sha256=qpziOM_IPWoVquD2EsAN7UUMRAYkAg56AEeAOxnzqDA,6804
57
- nowfocus-0.5.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
58
- nowfocus-0.5.4.dist-info/entry_points.txt,sha256=RbYY19-irSoNVglNeNnL9D36cHft7aKsaEGEYoSH3pA,51
59
- nowfocus-0.5.4.dist-info/top_level.txt,sha256=3uLd9BwmfarZwqVUxkSJuVwJ8qHzjThte8rt_UYG7tE,9
60
- nowfocus-0.5.4.dist-info/RECORD,,
55
+ nowfocus-0.5.5.dist-info/licenses/LICENSE,sha256=fSJzoHs1EOCwEd7FIyokFeGEma7NKmTVEdHkCr5OIV4,35127
56
+ nowfocus-0.5.5.dist-info/METADATA,sha256=aGBt4lGMum7iyPyQGR283NutEy81KuhT3dpAYt51HuA,6804
57
+ nowfocus-0.5.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
58
+ nowfocus-0.5.5.dist-info/entry_points.txt,sha256=RbYY19-irSoNVglNeNnL9D36cHft7aKsaEGEYoSH3pA,51
59
+ nowfocus-0.5.5.dist-info/top_level.txt,sha256=3uLd9BwmfarZwqVUxkSJuVwJ8qHzjThte8rt_UYG7tE,9
60
+ nowfocus-0.5.5.dist-info/RECORD,,