@@ -28,7 +28,6 @@ public class Layouts.ItemRow : Layouts.ItemBase {
28
28
private Gtk . Revealer motion_top_revealer;
29
29
30
30
private Gtk . CheckButton checked_button;
31
- private Gtk . Button checked_repeat_button;
32
31
private Gtk . Stack checked_stack;
33
32
private Gtk . Revealer checked_button_revealer;
34
33
private Widgets . TextView content_textview;
@@ -63,7 +62,7 @@ public class Layouts.ItemRow : Layouts.ItemBase {
63
62
private Widgets . PriorityButton priority_button;
64
63
private Widgets . LabelPicker . LabelButton label_button;
65
64
private Widgets . PinButton pin_button;
66
- private Widgets . ReminderButton reminder_button;
65
+ private Widgets . ReminderPicker . ReminderButton reminder_button;
67
66
private Gtk . Button add_button;
68
67
private Gtk . Box action_box;
69
68
@@ -227,19 +226,10 @@ public class Layouts.ItemRow : Layouts.ItemBase {
227
226
tooltip_text = item. content
228
227
};
229
228
230
- checked_repeat_button = new Gtk .Button .from_icon_name (" view-refresh-symbolic" ) {
231
- valign = Gtk . Align . CENTER ,
232
- css_classes = { " flat" , " no-padding" }
233
- };
234
-
235
- checked_stack = new Gtk .Stack () {
236
- transition_type = Gtk . StackTransitionType . CROSSFADE
237
- };
238
-
239
229
checked_button_revealer = new Gtk .Revealer () {
240
230
transition_type = Gtk . RevealerTransitionType . SWING_RIGHT ,
241
231
child = checked_button,
242
- valign = Gtk . Align . START ,
232
+ valign = Gtk . Align . CENTER ,
243
233
reveal_child = true
244
234
};
245
235
@@ -426,7 +416,7 @@ public class Layouts.ItemRow : Layouts.ItemBase {
426
416
sensitive = ! item. completed
427
417
};
428
418
429
- reminder_button = new Widgets .ReminderButton (item ) {
419
+ reminder_button = new Widgets .ReminderPicker . ReminderButton () {
430
420
sensitive = ! item. completed
431
421
};
432
422
@@ -618,13 +608,6 @@ public class Layouts.ItemRow : Layouts.ItemBase {
618
608
checked_toggled (checked_button. active);
619
609
});
620
610
621
- var repeat_button_gesture = new Gtk .GestureClick ();
622
- checked_repeat_button. add_controller (repeat_button_gesture);
623
- repeat_button_gesture. pressed. connect (() = > {
624
- repeat_button_gesture. set_state (Gtk . EventSequenceState . CLAIMED );
625
- update_next_recurrency ();
626
- });
627
-
628
611
var hide_loading_gesture = new Gtk .GestureClick ();
629
612
hide_loading_button. add_controller (hide_loading_gesture);
630
613
hide_loading_gesture. pressed. connect (() = > {
@@ -733,6 +716,37 @@ public class Layouts.ItemRow : Layouts.ItemBase {
733
716
item. show_item_changed. connect (() = > {
734
717
main_revealer. reveal_child = item. show_item;
735
718
});
719
+
720
+ reminder_button. reminder_added. connect ((reminder) = > {
721
+ reminder. item_id = item. id;
722
+
723
+ if (item. project. backend_type == BackendType . TODOIST ) {
724
+ item. loading = true ;
725
+ Services . Todoist . get_default (). add. begin (reminder, (obj, res) = > {
726
+ HttpResponse response = Services . Todoist . get_default (). add. end (res);
727
+ item. loading = false ;
728
+
729
+ if (response. status) {
730
+ reminder. id = response. data;
731
+ } else {
732
+ reminder. id = Util . get_default (). generate_id (reminder);
733
+ }
734
+
735
+ item. add_reminder_if_not_exists (reminder);
736
+ });
737
+ } else {
738
+ reminder. id = Util . get_default (). generate_id (reminder);
739
+ item. add_reminder_if_not_exists (reminder);
740
+ }
741
+ });
742
+
743
+ item. reminder_added. connect ((reminder) = > {
744
+ reminder_button. add_reminder (reminder, item. reminders);
745
+ });
746
+
747
+ item. reminder_deleted. connect ((reminder) = > {
748
+ reminder_button. delete_reminder (reminder, item. reminders);
749
+ });
736
750
}
737
751
738
752
public void check_hide_subtask_button () {
@@ -788,6 +802,7 @@ public class Layouts.ItemRow : Layouts.ItemBase {
788
802
schedule_button. update_from_item (item);
789
803
priority_button. update_from_item (item);
790
804
pin_button. update_from_item (item);
805
+ reminder_button. set_reminders (item. reminders);
791
806
792
807
check_due ();
793
808
check_description ();
0 commit comments