From 6f59debda4943d5bbd1e33600d37c04163696d3a Mon Sep 17 00:00:00 2001 From: Alain Date: Thu, 29 Aug 2024 05:31:04 -0500 Subject: [PATCH] fix lint --- .github/dependabot.yml | 6 ++ .github/workflows/build.yml | 16 +---- .github/workflows/lint.yml | 12 ++++ ....github.alainm23.planify.appdata.xml.in.in | 24 +++++++ src/App.vala | 2 +- src/Dialogs/CompletedTasks.vala | 66 ++++++++++++++++++- src/Widgets/CompletedTaskRow.vala | 3 +- src/Widgets/ItemDetailCompleted.vala | 5 +- 8 files changed, 115 insertions(+), 19 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/lint.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..120c6893b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8bbea8352..92fa88b08 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,18 +6,8 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true name: CI -jobs: - lint: - name: "Vala Lint" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: elementary/actions/vala-lint@main - with: - dir: . - conf: .vala-lint.conf - flatpak: - name: "Flatpak" + flatpak-devel: + name: "Flatpak (Devel)" runs-on: ubuntu-latest container: image: bilelmoussaoui/flatpak-github-actions:gnome-46 @@ -29,8 +19,6 @@ jobs: bundle: io.github.alainm23.planify.Devel.flatpak manifest-path: build-aux/io.github.alainm23.planify.Devel.json cache-key: flatpak-builder-${{ github.sha }} - repository-name: flathub-beta - repository-url: https://flathub.org/beta-repo/flathub-beta.flatpakrepo # snap: # name: "Snap" # runs-on: ubuntu-latest diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..96165a5d4 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,12 @@ +jobs: + lint: + name: "Vala Lint" + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: elementary/actions/vala-lint@main + with: + dir: . + conf: .vala-lint.conf \ No newline at end of file diff --git a/data/io.github.alainm23.planify.appdata.xml.in.in b/data/io.github.alainm23.planify.appdata.xml.in.in index 6c53977a1..d061b59fb 100644 --- a/data/io.github.alainm23.planify.appdata.xml.in.in +++ b/data/io.github.alainm23.planify.appdata.xml.in.in @@ -61,6 +61,30 @@ https://www.patreon.com/alainm23 @appid@.desktop + + +
    +
  • Added feature to collapse sections.
  • +
  • A task counter per section has been added.
  • +
  • Pinned tasks are now displayed at the start of each project.
  • +
  • Added an overdue tasks indicator to the today button.
  • +
  • New keyboard shortcuts were added to Quick Add, @ to add tags, # to select a project and ! to create a reminder.
  • +
  • A new view has been added to see completed tasks, sorted by date and the possibility to filter by Sections.
  • +
  • New task history log added, now it is possible to see when the task was completed, moved between projects or sections.
  • +
  • Fixed several bugs when doing Drag and Drop.
  • +
  • Quick Find now opens the task detail when selected.
  • +
  • Added a preference to enable or disable the use of Markdown in task detail.
  • +
  • Improved navigation using the keyboard.
  • +
  • In Quick Add, it is now possible to create a section if it does not exist.
  • +
  • Added a numerical indicator for the number of attachments.
  • +
  • Added preference to keep the task detail pane open, making navigation faster.
  • +
  • The option to repeat a task has been moved to the date and time selection widget, allowing you to create recurring tasks more quickly.
  • +
  • Fixed several bugs with Nextcloud synchronisation.
  • +
  • Several design and optimisation improvements, Planify now feels faster and consumes less resources.
  • +
+
+
+
    diff --git a/src/App.vala b/src/App.vala index ebfe2b9c2..dfae83724 100644 --- a/src/App.vala +++ b/src/App.vala @@ -51,7 +51,7 @@ public class Planify : Adw.Application { Object ( application_id: Build.APPLICATION_ID, flags: ApplicationFlags.HANDLES_OPEN - ); + ); } ~Planify () { diff --git a/src/Dialogs/CompletedTasks.vala b/src/Dialogs/CompletedTasks.vala index b313839ea..76921d614 100644 --- a/src/Dialogs/CompletedTasks.vala +++ b/src/Dialogs/CompletedTasks.vala @@ -140,9 +140,71 @@ public class Dialogs.CompletedTasks : Adw.Dialog { add_items (); Services.EventBus.get_default ().disconnect_typing_accel (); - listbox.row_activated.connect ((row) => { + signals_map[filters_flowbox.filter_removed.connect (() => { + filter_section_id = null; + clear_items (); + add_items (); + })] = filters_flowbox; + + signals_map[search_entry.search_changed.connect (() => { + if (search_entry.text == "") { + clear_items (); + add_items (); + } + + filter_section_id = null; + listbox.invalidate_filter (); + })] = search_entry; + + signals_map[remove_all.clicked.connect (() => { + var items = Services.Store.instance ().get_items_checked_by_project (project); + + var dialog = new Adw.AlertDialog ( + _("Delete All Completed Tasks"), + _("This will delete %d completed tasks and their subtasks from project %s".printf (items.size, project.name)) + ); + + dialog.body_use_markup = true; + dialog.add_response ("cancel", _("Cancel")); + dialog.add_response ("delete", _("Delete")); + dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); + dialog.present (Planify._instance.main_window); + + dialog.response.connect ((response) => { + if (response == "delete") { + delete_all_action (items); + } + }); + })] = remove_all; + + signals_map[listbox.row_activated.connect ((row) => { view_item (((Widgets.CompletedTaskRow) row).item); - }); + })] = listbox; + + signals_map[Services.EventBus.get_default ().checked_toggled.connect ((item, old_checked) => { + if (item.project_id != project.id) { + return; + } + + if (!old_checked) { + if (!items_checked.has_key (item.id)) { + items_checked [item.id] = new Widgets.CompletedTaskRow (item); + listbox.insert (items_checked [item.id], 0); + } + } else { + if (items_checked.has_key (item.id)) { + items_checked [item.id].hide_destroy (); + items_checked.unset (item.id); + } + } + })] = Services.EventBus.get_default (); + + signals_map[Services.Store.instance ().item_deleted.connect ((item) => { + if (items_checked.has_key (item.id)) { + items_checked [item.id].hide_destroy (); + items_checked.unset (item.id); + } + })] = Services.Store.instance (); closed.connect (() => { listbox.set_sort_func (null); diff --git a/src/Widgets/CompletedTaskRow.vala b/src/Widgets/CompletedTaskRow.vala index f4cb5ce1a..8ec5c792e 100644 --- a/src/Widgets/CompletedTaskRow.vala +++ b/src/Widgets/CompletedTaskRow.vala @@ -39,7 +39,8 @@ public class Widgets.CompletedTaskRow : Gtk.ListBoxRow { } construct { - add_css_class ("no-selectable"); + add_css_class ("row"); + add_css_class ("no-padding"); checked_button = new Gtk.CheckButton () { valign = Gtk.Align.START, diff --git a/src/Widgets/ItemDetailCompleted.vala b/src/Widgets/ItemDetailCompleted.vala index 21ee2bdc3..7d4934737 100644 --- a/src/Widgets/ItemDetailCompleted.vala +++ b/src/Widgets/ItemDetailCompleted.vala @@ -134,7 +134,10 @@ public class Widgets.ItemDetailCompleted : Adw.Bin { content.append (content_group); content.append (properties_group); content.append (description_group); - content.append (subitems_group); + + if (item.items.size > 0) { + content.append (subitems_group); + } var scrolled_window = new Widgets.ScrolledWindow (content);