diff --git a/core/Enum.vala b/core/Enum.vala index 9b05a2a6e..aa7a2b4aa 100644 --- a/core/Enum.vala +++ b/core/Enum.vala @@ -175,25 +175,25 @@ public enum FilterType { } } - public string get_color () { + public string get_color (bool dark = false) { switch (this) { case INBOX: - return "#3584e4"; + return dark ? "#99c1f1" : "#3584e4"; case TODAY: return "#33d17a"; case SCHEDULED: - return "#9141ac"; + return dark ? "#dc8add" : "#9141ac"; case PINBOARD: - return "#ed333b"; + return dark ? "#f66151" : "#ed333b"; case LABELS: - return "#986a44"; + return dark ? "#cdab8f" : "#986a44"; case COMPLETED: - return "#ff7800"; + return dark ? "#ffbe6f" : "#ff7800"; default: assert_not_reached (); diff --git a/core/Widgets/Calendar/CalendarHeader.vala b/core/Widgets/Calendar/CalendarHeader.vala index 4db9a300c..a5ff444fb 100644 --- a/core/Widgets/Calendar/CalendarHeader.vala +++ b/core/Widgets/Calendar/CalendarHeader.vala @@ -55,12 +55,14 @@ public class Widgets.Calendar.CalendarHeader : Gtk.Box { left_button = new Gtk.Button.from_icon_name ("pan-start-symbolic") { valign = Gtk.Align.CENTER, - css_classes = { "flat" } + css_classes = { "flat" }, + tooltip_text = _("Back") }; right_button = new Gtk.Button.from_icon_name ("pan-end-symbolic") { valign = Gtk.Align.CENTER, - css_classes = { "flat" } + css_classes = { "flat" }, + tooltip_text = _("Forward") }; var date_grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); @@ -69,7 +71,8 @@ public class Widgets.Calendar.CalendarHeader : Gtk.Box { center_button = new Gtk.Button () { valign = Gtk.Align.CENTER, - hexpand = true + hexpand = true, + tooltip_text = _("Today") }; center_button.add_css_class ("flat"); diff --git a/core/Widgets/Calendar/CalendarView.vala b/core/Widgets/Calendar/CalendarView.vala index bfcf58f15..abf8bbf61 100644 --- a/core/Widgets/Calendar/CalendarView.vala +++ b/core/Widgets/Calendar/CalendarView.vala @@ -98,19 +98,22 @@ public class Widgets.Calendar.CalendarView : Adw.Bin { if (i < start_day || i >= max_day + start_day) { item.visible = false; } else { - if (block_past_days && generate_date (day, day_number).compare (current_date) <= -1) { + var day_datetime = generate_date (day, day_number); + + if (block_past_days && day_datetime.compare (current_date) <= -1) { item.sensitive = false; } - if (generate_date (day, day_number).compare (current_date) == 0) { + if (day_datetime.compare (current_date) == 0) { item.child.add_css_class ("today"); } - if (show_day && Utils.Datetime.get_date_only (day).compare (generate_date (day, day_number)) == 0) { + if (show_day && Utils.Datetime.get_date_only (day).compare (day_datetime) == 0) { item.child.add_css_class ("selected"); } item.day = day_number; + item.tooltip_text = Utils.Datetime.get_relative_date_from_date (day_datetime); day_number = day_number + 1; } } diff --git a/data/io.github.alainm23.planify.appdata.xml.in.in b/data/io.github.alainm23.planify.appdata.xml.in.in index fcccee6bc..b787cb460 100644 --- a/data/io.github.alainm23.planify.appdata.xml.in.in +++ b/data/io.github.alainm23.planify.appdata.xml.in.in @@ -61,7 +61,7 @@ https://www.patreon.com/alainm23 @appid@.desktop - +
  • Added feature to verify database integrity
  • diff --git a/data/resources/stylesheet/stylesheet.css b/data/resources/stylesheet/stylesheet.css index a33bcba00..f7164e553 100644 --- a/data/resources/stylesheet/stylesheet.css +++ b/data/resources/stylesheet/stylesheet.css @@ -146,10 +146,6 @@ entry.flat:focus-within { animation: add-animation 0.7s ease-in-out; } -.magic-button:focus { - outline: none; -} - .header-title { font-weight: bold; letter-spacing: -0.05em; diff --git a/meson.build b/meson.build index 1173fd22b..719deb4c8 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ project( 'io.github.alainm23.planify', 'vala', 'c', - version: '4.11.6' + version: '4.11.7' ) gnome = import('gnome') diff --git a/src/Dialogs/Preferences/PreferencesWindow.vala b/src/Dialogs/Preferences/PreferencesWindow.vala index f903f957e..9f999a175 100644 --- a/src/Dialogs/Preferences/PreferencesWindow.vala +++ b/src/Dialogs/Preferences/PreferencesWindow.vala @@ -1205,7 +1205,6 @@ public class Dialogs.Preferences.PreferencesWindow : Adw.PreferencesDialog { }; // Loading - var sync_label = new Gtk.Label (_("Planify is is syncing your tasks, this may take a few minutes")) { css_classes = { "dim-label" } }; @@ -1250,14 +1249,16 @@ public class Dialogs.Preferences.PreferencesWindow : Adw.PreferencesDialog { }); webview.load_changed.connect ((load_event) => { - var redirect_uri = webview.get_uri (); - - if (("https://github.com/alainm23/planner?code=" in redirect_uri) && - ("&state=%s".printf (state) in redirect_uri)) { + var uri = webview.get_uri (); + var redirect_uri = "https://github.com/alainm23/planner"; + print ("url: %s\n".printf (uri)); + + if ((redirect_uri + "?code=" in uri) && + ("&state=%s".printf (state) in uri)) { settings_header.title = _("Synchronizing…"); // vala-lint=ellipsis stack.visible_child_name = "loading"; - Services.Todoist.get_default ().login.begin (redirect_uri, (obj, res) => { + Services.Todoist.get_default ().login.begin (uri, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().login.end (res); pop_subpage (); webview.get_network_session ().get_website_data_manager ().clear.begin (WebKit.WebsiteDataTypes.ALL, 0, null); @@ -1274,7 +1275,7 @@ public class Dialogs.Preferences.PreferencesWindow : Adw.PreferencesDialog { }); } - if ("https://github.com/alainm23/planner?error=access_denied" in redirect_uri) { + if (redirect_uri + "?error=access_denied" in uri) { debug ("access_denied"); webview.get_network_session ().get_website_data_manager ().clear.begin (WebKit.WebsiteDataTypes.ALL, 0, null); pop_subpage (); diff --git a/src/Layouts/FilterPaneRow.vala b/src/Layouts/FilterPaneRow.vala index 1037a3674..6e91aea32 100644 --- a/src/Layouts/FilterPaneRow.vala +++ b/src/Layouts/FilterPaneRow.vala @@ -97,9 +97,19 @@ public class Layouts.FilterPaneRow : Gtk.FlowBoxChild { main_grid.attach (title_box, 0, 1, 2, 2); child = main_grid; - Util.get_default ().set_widget_color (filter_type.get_color (), this); Services.Settings.get_default ().settings.bind ("show-tasks-count", count_revealer, "reveal_child", GLib.SettingsBindFlags.DEFAULT); + var granite_settings = Granite.Settings.get_default (); + Util.get_default ().set_widget_color (filter_type.get_color (Services.Settings.get_default ().settings.get_boolean ("dark-mode")), this); + Services.EventBus.get_default ().theme_changed.connect (() => { + print ("dark: %s\n".printf ( + (Services.Settings.get_default ().settings.get_boolean ("dark-mode")).to_string () + )); + Util.get_default ().set_widget_color (filter_type.get_color ( + Services.Settings.get_default ().settings.get_boolean ("dark-mode") + ), this); + }); + var select_gesture = new Gtk.GestureClick (); add_controller (select_gesture); select_gesture.pressed.connect (() => { diff --git a/src/Widgets/MagicButton.vala b/src/Widgets/MagicButton.vala index 64b59680d..56a4eda71 100644 --- a/src/Widgets/MagicButton.vala +++ b/src/Widgets/MagicButton.vala @@ -43,7 +43,8 @@ public class Widgets.MagicButton : Adw.Bin { height_request = 48, width_request = 48, css_classes = { "suggested-action", "magic-button" }, - tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Add Task"), "A") + tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Add Task"), "A"), + focusable = false }; main_revealer = new Gtk.Revealer () {