diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/color.py | 4 | ||||
-rw-r--r-- | src/gui/tasks/duration.py | 13 | ||||
-rw-r--r-- | src/gui/tasks/table/model.py | 11 |
3 files changed, 23 insertions, 5 deletions
diff --git a/src/gui/color.py b/src/gui/color.py index fa7df8e..f02fbae 100644 --- a/src/gui/color.py +++ b/src/gui/color.py @@ -12,3 +12,7 @@ hard_difficulty = red low_priority = green middle_priority = orange high_priority = red + +short_duration = green +medium_duration = orange +long_duration = red diff --git a/src/gui/tasks/duration.py b/src/gui/tasks/duration.py index e863914..3ce8203 100644 --- a/src/gui/tasks/duration.py +++ b/src/gui/tasks/duration.py @@ -1,6 +1,9 @@ -import re +from PyQt5 import QtGui from typing import Optional import math +import re + +import gui.color def format(minutes: int): if minutes >= 60 * 24: @@ -37,3 +40,11 @@ def parse(duration: str) -> Optional[int]: return None else: return 0 + +def color(minutes: int): + if minutes <= 15: + return gui.color.short_duration + elif minutes < 60: + return gui.color.medium_duration + else: + return gui.color.long_duration diff --git a/src/gui/tasks/table/model.py b/src/gui/tasks/table/model.py index 062ded6..8374d03 100644 --- a/src/gui/tasks/table/model.py +++ b/src/gui/tasks/table/model.py @@ -48,10 +48,13 @@ class TableModel(QtCore.QAbstractTableModel): return priority.format(task.priority) elif index.column() == 5: return task.tag - elif role == Qt.ForegroundRole and index.column() == 3: - return QtGui.QBrush(difficulty_color(task.difficulty)) - elif role == Qt.ForegroundRole and index.column() == 4: - return QtGui.QBrush(priority_color(task.priority)) + elif role == Qt.ForegroundRole: + if index.column() == 2: + return QtGui.QBrush(gui.tasks.duration.color(task.duration)) + elif index.column() == 3: + return QtGui.QBrush(difficulty_color(task.difficulty)) + elif index.column() == 4: + return QtGui.QBrush(priority_color(task.priority)) else: return QtCore.QVariant() |