src/eric7/Tasks/TaskPropertiesDialog.py

Wed, 13 Jul 2022 14:55:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Jul 2022 14:55:47 +0200
branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
permissions
-rw-r--r--

Reformatted the source code using the 'Black' utility.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8358
diff changeset
3 # Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the task properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import time
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
12 from PyQt6.QtWidgets import QDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
8358
144a6b854f70 Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8356
diff changeset
14 from EricWidgets.EricCompleters import EricFileCompleter
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
16 from .Ui_TaskPropertiesDialog import Ui_TaskPropertiesDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
18 from .Task import TaskType, TaskPriority
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
19
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class TaskPropertiesDialog(QDialog, Ui_TaskPropertiesDialog):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Class implementing the task properties dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
25
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
26 def __init__(self, task=None, parent=None, projectOpen=False):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
29
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @param task the task object to be shown
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
31 @type Task
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
32 @param parent the parent widget
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
33 @type QWidget
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
34 @param projectOpen flag indicating status of the project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
35 @type bool
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
37 super().__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
39
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
40 self.filenameCompleter = EricFileCompleter(self.filenameEdit)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
41
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
42 self.typeCombo.addItem(self.tr("Bugfix"), TaskType.FIXME)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
43 self.typeCombo.addItem(self.tr("Warning"), TaskType.WARNING)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
44 self.typeCombo.addItem(self.tr("ToDo"), TaskType.TODO)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
45 self.typeCombo.addItem(self.tr("Note"), TaskType.NOTE)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
46 self.typeCombo.addItem(self.tr("Test"), TaskType.TEST)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
47 self.typeCombo.addItem(self.tr("Documentation"), TaskType.DOCU)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
48
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 if task is not None:
2197
c4f24f8f34c0 Some harminisation of nomenclature in the various Task dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2196
diff changeset
50 self.summaryEdit.setText(task.summary)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.descriptionEdit.setText(task.description)
2997
7f0ef975da9e Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
52 self.creationLabel.setText(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
53 time.strftime("%Y-%m-%d, %H:%M:%S", time.localtime(task.created))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
54 )
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
55 self.priorityCombo.setCurrentIndex(task.priority.value)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.projectCheckBox.setChecked(task._isProjectTask)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.completedCheckBox.setChecked(task.completed)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.filenameEdit.setText(task.filename)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 if task.lineno:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.linenoEdit.setText(str(task.lineno))
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
61 index = self.typeCombo.findData(task.taskType)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
62 self.typeCombo.setCurrentIndex(index)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
63 self.__setMode(bool(task.filename), projectOpen)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.projectCheckBox.setChecked(projectOpen)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
66 self.typeCombo.setCurrentIndex(2) # TaskType.TODO
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
67 self.__setMode(False, projectOpen)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
68
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
69 def __setMode(self, isFileTask, projectOpen):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 """
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
71 Private method to show or hide dialog elements depending on the task
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
72 kind.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
73
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
74 @param isFileTask flag indicating a file task (i.e. extracted task)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
75 @type bool
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
76 @param projectOpen flag indicating status of the project
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
77 @type bool
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 """
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
79 self.__isFileTaskMode = isFileTask
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
80 if self.__isFileTaskMode:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
81 self.descriptionEdit.hide()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
82 self.descriptionLabel.hide()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
83 self.manualTaskFrame.hide()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
84
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
85 msh = self.minimumSizeHint()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
86 self.resize(max(self.width(), msh.width()), msh.height())
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
87 else:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
88 self.fileTaskFrame.hide()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
89
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
90 self.summaryEdit.setReadOnly(isFileTask)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
91 self.projectCheckBox.setEnabled(projectOpen and not isFileTask)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
92
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
93 def isManualTaskMode(self):
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
94 """
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
95 Public method to check, if the dialog is in manual task mode.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
96
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
97 @return flag indicating manual task mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
98 @rtype bool
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
99 """
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
100 return not self.__isFileTaskMode
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
101
3990
5dd6edf8540a Aadded capability to add sub-tasks (i.e. a task hierarchy) for manually generated tasks to the task viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
102 def setSubTaskMode(self, projectTask):
5dd6edf8540a Aadded capability to add sub-tasks (i.e. a task hierarchy) for manually generated tasks to the task viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
103 """
5dd6edf8540a Aadded capability to add sub-tasks (i.e. a task hierarchy) for manually generated tasks to the task viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
104 Public slot to set the sub-task mode.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
105
3990
5dd6edf8540a Aadded capability to add sub-tasks (i.e. a task hierarchy) for manually generated tasks to the task viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
106 @param projectTask flag indicating a project related task (boolean)
5dd6edf8540a Aadded capability to add sub-tasks (i.e. a task hierarchy) for manually generated tasks to the task viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
107 """
5dd6edf8540a Aadded capability to add sub-tasks (i.e. a task hierarchy) for manually generated tasks to the task viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
108 self.projectCheckBox.setChecked(projectTask)
5dd6edf8540a Aadded capability to add sub-tasks (i.e. a task hierarchy) for manually generated tasks to the task viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
109 self.projectCheckBox.setEnabled(False)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
110
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 def getData(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 Public method to retrieve the dialogs data.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
114
8280
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
115 @return tuple of description, priority, type, completion flag,
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
116 project flag and long text
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
117 @rtype tuple of (str, TaskPriority, TaskType, bool, bool, str)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
119 return (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
120 self.summaryEdit.text(),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
121 TaskPriority(self.priorityCombo.currentIndex()),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
122 TaskType(self.typeCombo.currentData()),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
123 self.completedCheckBox.isChecked(),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
124 self.projectCheckBox.isChecked(),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
125 self.descriptionEdit.toPlainText(),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
126 )

eric ide

mercurial