Skip to content

Commit

Permalink
Pending page ordered by priority
Browse files Browse the repository at this point in the history
Signed-off-by: Simó Albert i Beltran <sim6@bona.gent>
  • Loading branch information
sim6 committed May 22, 2024
1 parent 2e026e8 commit 2c912f4
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 0 deletions.
2 changes: 2 additions & 0 deletions errands/state.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from errands.application import ErrandsApplication
from errands.lib.notifications import ErrandsNotificationsDaemon
from errands.widgets.loading_page import ErrandsLoadingPage
from errands.widgets.pending.pending_page import PendingPage
from errands.widgets.shared.task_toolbar import (
ErrandsDateTimeWindow,
ErrandsAttachmentsWindow,
Expand Down Expand Up @@ -52,6 +53,7 @@ class State:
loading_page: ErrandsLoadingPage | None = None
view_stack: Adw.ViewStack | None = None
today_page: TodayPage | None = None
pending_page: PendingPage | None = None
tags_page: Tags | None = None
trash_page: Trash | None = None

Expand Down
27 changes: 27 additions & 0 deletions errands/widgets/pending/pending_page.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2024 Vlad Krupinskii <mrvladus@yandex.ru>
# SPDX-License-Identifier: MIT

from gi.repository.GObject import TYPE_INT

from errands.lib.data import TaskData, UserData
from errands.widgets.base.base_page import BasePage, TaskListView
from errands.widgets.pending.pending_page_name import PendingPageName


class PendingPage(PendingPageName, BasePage):
@property
def no_task_message(self) -> str:
return "No Pending Tasks"

@property
def tasks_data(self) -> list[TaskData]:
return [
task
for task in UserData.tasks
if not task.deleted and not task.completed and not task.trash
]

def sort(self, task1: TaskListView, task2: TaskListView, user_data) -> TYPE_INT:
return (task1.priority if task1.priority else 10) - (
task2.priority if task2.priority else 10
)
8 changes: 8 additions & 0 deletions errands/widgets/pending/pending_page_name.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright 2024 Vlad Krupinskii <mrvladus@yandex.ru>
# SPDX-License-Identifier: MIT


class PendingPageName:
@property
def page_name(self) -> str:
return "pending"
12 changes: 12 additions & 0 deletions errands/widgets/pending/pending_sidebar_row.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright 2024 Vlad Krupinskii <mrvladus@yandex.ru>
# SPDX-License-Identifier: MIT


from errands.widgets.base.base_sidebar_row import BaseSidebarRow
from errands.widgets.pending.pending_page_name import PendingPageName


class PendingSidebarRow(PendingPageName, BaseSidebarRow):
@property
def icon_name(self) -> str:
return "errands-priority-set-symbolic"
2 changes: 2 additions & 0 deletions errands/widgets/sidebar.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from errands.lib.sync.sync import Sync
from errands.lib.utils import get_children
from errands.state import State
from errands.widgets.pending.pending_sidebar_row import PendingSidebarRow
from errands.widgets.shared.components.boxes import ErrandsBox, ErrandsListBox
from errands.widgets.shared.components.buttons import ErrandsButton
from errands.widgets.shared.components.header_bar import ErrandsHeaderBar
Expand Down Expand Up @@ -79,6 +80,7 @@ def __build_ui(self) -> None:
css_classes=["navigation-sidebar"],
children=[
TodaySidebarRow(),
PendingSidebarRow(),
TagsSidebarRow(),
TrashSidebarRow(),
],
Expand Down
7 changes: 7 additions & 0 deletions errands/widgets/window.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from errands.lib.sync.sync import Sync
from errands.state import State
from errands.widgets.loading_page import ErrandsLoadingPage
from errands.widgets.pending.pending_page import PendingPage
from errands.widgets.preferences import PreferencesWindow
from errands.widgets.shared.components.boxes import ErrandsBox
from errands.widgets.shared.components.buttons import ErrandsButton
Expand Down Expand Up @@ -71,6 +72,12 @@ def __build_ui(self) -> None:
name=today_page.name,
title=_(today_page.title),
)
pending_page = PendingPage()
self.view_stack.add_titled(
child=pending_page,
name=pending_page.name,
title=_(pending_page.title),
)
self.view_stack.add_titled(
child=Tags(), name="errands_tags_page", title=_("Tags")
)
Expand Down

0 comments on commit 2c912f4

Please sign in to comment.