src/eric7/Tasks/TaskPropertiesDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
20 20
21 class TaskPropertiesDialog(QDialog, Ui_TaskPropertiesDialog): 21 class TaskPropertiesDialog(QDialog, Ui_TaskPropertiesDialog):
22 """ 22 """
23 Class implementing the task properties dialog. 23 Class implementing the task properties dialog.
24 """ 24 """
25
25 def __init__(self, task=None, parent=None, projectOpen=False): 26 def __init__(self, task=None, parent=None, projectOpen=False):
26 """ 27 """
27 Constructor 28 Constructor
28 29
29 @param task the task object to be shown 30 @param task the task object to be shown
30 @type Task 31 @type Task
31 @param parent the parent widget 32 @param parent the parent widget
32 @type QWidget 33 @type QWidget
33 @param projectOpen flag indicating status of the project 34 @param projectOpen flag indicating status of the project
34 @type bool 35 @type bool
35 """ 36 """
36 super().__init__(parent) 37 super().__init__(parent)
37 self.setupUi(self) 38 self.setupUi(self)
38 39
39 self.filenameCompleter = EricFileCompleter(self.filenameEdit) 40 self.filenameCompleter = EricFileCompleter(self.filenameEdit)
40 41
41 self.typeCombo.addItem(self.tr("Bugfix"), TaskType.FIXME) 42 self.typeCombo.addItem(self.tr("Bugfix"), TaskType.FIXME)
42 self.typeCombo.addItem(self.tr("Warning"), TaskType.WARNING) 43 self.typeCombo.addItem(self.tr("Warning"), TaskType.WARNING)
43 self.typeCombo.addItem(self.tr("ToDo"), TaskType.TODO) 44 self.typeCombo.addItem(self.tr("ToDo"), TaskType.TODO)
44 self.typeCombo.addItem(self.tr("Note"), TaskType.NOTE) 45 self.typeCombo.addItem(self.tr("Note"), TaskType.NOTE)
45 self.typeCombo.addItem(self.tr("Test"), TaskType.TEST) 46 self.typeCombo.addItem(self.tr("Test"), TaskType.TEST)
46 self.typeCombo.addItem(self.tr("Documentation"), TaskType.DOCU) 47 self.typeCombo.addItem(self.tr("Documentation"), TaskType.DOCU)
47 48
48 if task is not None: 49 if task is not None:
49 self.summaryEdit.setText(task.summary) 50 self.summaryEdit.setText(task.summary)
50 self.descriptionEdit.setText(task.description) 51 self.descriptionEdit.setText(task.description)
51 self.creationLabel.setText( 52 self.creationLabel.setText(
52 time.strftime("%Y-%m-%d, %H:%M:%S", 53 time.strftime("%Y-%m-%d, %H:%M:%S", time.localtime(task.created))
53 time.localtime(task.created))) 54 )
54 self.priorityCombo.setCurrentIndex(task.priority.value) 55 self.priorityCombo.setCurrentIndex(task.priority.value)
55 self.projectCheckBox.setChecked(task._isProjectTask) 56 self.projectCheckBox.setChecked(task._isProjectTask)
56 self.completedCheckBox.setChecked(task.completed) 57 self.completedCheckBox.setChecked(task.completed)
57 self.filenameEdit.setText(task.filename) 58 self.filenameEdit.setText(task.filename)
58 if task.lineno: 59 if task.lineno:
60 index = self.typeCombo.findData(task.taskType) 61 index = self.typeCombo.findData(task.taskType)
61 self.typeCombo.setCurrentIndex(index) 62 self.typeCombo.setCurrentIndex(index)
62 self.__setMode(bool(task.filename), projectOpen) 63 self.__setMode(bool(task.filename), projectOpen)
63 else: 64 else:
64 self.projectCheckBox.setChecked(projectOpen) 65 self.projectCheckBox.setChecked(projectOpen)
65 self.typeCombo.setCurrentIndex(2) # TaskType.TODO 66 self.typeCombo.setCurrentIndex(2) # TaskType.TODO
66 self.__setMode(False, projectOpen) 67 self.__setMode(False, projectOpen)
67 68
68 def __setMode(self, isFileTask, projectOpen): 69 def __setMode(self, isFileTask, projectOpen):
69 """ 70 """
70 Private method to show or hide dialog elements depending on the task 71 Private method to show or hide dialog elements depending on the task
71 kind. 72 kind.
72 73
73 @param isFileTask flag indicating a file task (i.e. extracted task) 74 @param isFileTask flag indicating a file task (i.e. extracted task)
74 @type bool 75 @type bool
75 @param projectOpen flag indicating status of the project 76 @param projectOpen flag indicating status of the project
76 @type bool 77 @type bool
77 """ 78 """
78 self.__isFileTaskMode = isFileTask 79 self.__isFileTaskMode = isFileTask
79 if self.__isFileTaskMode: 80 if self.__isFileTaskMode:
80 self.descriptionEdit.hide() 81 self.descriptionEdit.hide()
81 self.descriptionLabel.hide() 82 self.descriptionLabel.hide()
82 self.manualTaskFrame.hide() 83 self.manualTaskFrame.hide()
83 84
84 msh = self.minimumSizeHint() 85 msh = self.minimumSizeHint()
85 self.resize(max(self.width(), msh.width()), msh.height()) 86 self.resize(max(self.width(), msh.width()), msh.height())
86 else: 87 else:
87 self.fileTaskFrame.hide() 88 self.fileTaskFrame.hide()
88 89
89 self.summaryEdit.setReadOnly(isFileTask) 90 self.summaryEdit.setReadOnly(isFileTask)
90 self.projectCheckBox.setEnabled(projectOpen and not isFileTask) 91 self.projectCheckBox.setEnabled(projectOpen and not isFileTask)
91 92
92 def isManualTaskMode(self): 93 def isManualTaskMode(self):
93 """ 94 """
94 Public method to check, if the dialog is in manual task mode. 95 Public method to check, if the dialog is in manual task mode.
95 96
96 @return flag indicating manual task mode 97 @return flag indicating manual task mode
97 @rtype bool 98 @rtype bool
98 """ 99 """
99 return not self.__isFileTaskMode 100 return not self.__isFileTaskMode
100 101
101 def setSubTaskMode(self, projectTask): 102 def setSubTaskMode(self, projectTask):
102 """ 103 """
103 Public slot to set the sub-task mode. 104 Public slot to set the sub-task mode.
104 105
105 @param projectTask flag indicating a project related task (boolean) 106 @param projectTask flag indicating a project related task (boolean)
106 """ 107 """
107 self.projectCheckBox.setChecked(projectTask) 108 self.projectCheckBox.setChecked(projectTask)
108 self.projectCheckBox.setEnabled(False) 109 self.projectCheckBox.setEnabled(False)
109 110
110 def getData(self): 111 def getData(self):
111 """ 112 """
112 Public method to retrieve the dialogs data. 113 Public method to retrieve the dialogs data.
113 114
114 @return tuple of description, priority, type, completion flag, 115 @return tuple of description, priority, type, completion flag,
115 project flag and long text 116 project flag and long text
116 @rtype tuple of (str, TaskPriority, TaskType, bool, bool, str) 117 @rtype tuple of (str, TaskPriority, TaskType, bool, bool, str)
117 """ 118 """
118 return (self.summaryEdit.text(), 119 return (
119 TaskPriority(self.priorityCombo.currentIndex()), 120 self.summaryEdit.text(),
120 TaskType(self.typeCombo.currentData()), 121 TaskPriority(self.priorityCombo.currentIndex()),
121 self.completedCheckBox.isChecked(), 122 TaskType(self.typeCombo.currentData()),
122 self.projectCheckBox.isChecked(), 123 self.completedCheckBox.isChecked(),
123 self.descriptionEdit.toPlainText()) 124 self.projectCheckBox.isChecked(),
125 self.descriptionEdit.toPlainText(),
126 )

eric ide

mercurial