Tasks/TaskViewer.py

changeset 3190
a9a94491c4fd
parent 3160
209a07d7e401
child 3478
beec1d9c1851
child 3484
645c12de6b0c
equal deleted inserted replaced
3189:9a21c547de5f 3190:a9a94491c4fd
52 self.setRootIsDecorated(False) 52 self.setRootIsDecorated(False)
53 self.setItemsExpandable(False) 53 self.setItemsExpandable(False)
54 self.setSortingEnabled(True) 54 self.setSortingEnabled(True)
55 55
56 self.__headerItem = QTreeWidgetItem( 56 self.__headerItem = QTreeWidgetItem(
57 ["", "", self.trUtf8("Summary"), self.trUtf8("Filename"), 57 ["", "", self.tr("Summary"), self.tr("Filename"),
58 self.trUtf8("Line"), ""]) 58 self.tr("Line"), ""])
59 self.__headerItem.setIcon( 59 self.__headerItem.setIcon(
60 0, UI.PixmapCache.getIcon("taskCompleted.png")) 60 0, UI.PixmapCache.getIcon("taskCompleted.png"))
61 self.__headerItem.setIcon( 61 self.__headerItem.setIcon(
62 1, UI.PixmapCache.getIcon("taskPriority.png")) 62 1, UI.PixmapCache.getIcon("taskPriority.png"))
63 self.setHeaderItem(self.__headerItem) 63 self.setHeaderItem(self.__headerItem)
76 self.taskFilter.setActive(False) 76 self.taskFilter.setActive(False)
77 77
78 self.__projectTasksSaveTimer = AutoSaver(self, self.saveProjectTasks) 78 self.__projectTasksSaveTimer = AutoSaver(self, self.saveProjectTasks)
79 79
80 self.__projectTasksMenu = QMenu( 80 self.__projectTasksMenu = QMenu(
81 self.trUtf8("P&roject Tasks"), self) 81 self.tr("P&roject Tasks"), self)
82 self.__projectTasksMenu.addAction( 82 self.__projectTasksMenu.addAction(
83 self.trUtf8("&Regenerate project tasks"), 83 self.tr("&Regenerate project tasks"),
84 self.__regenerateProjectTasks) 84 self.__regenerateProjectTasks)
85 self.__projectTasksMenu.addSeparator() 85 self.__projectTasksMenu.addSeparator()
86 self.__projectTasksMenu.addAction( 86 self.__projectTasksMenu.addAction(
87 self.trUtf8("&Configure scan options"), 87 self.tr("&Configure scan options"),
88 self.__configureProjectTasksScanOptions) 88 self.__configureProjectTasksScanOptions)
89 89
90 self.__menu = QMenu(self) 90 self.__menu = QMenu(self)
91 self.__menu.addAction(self.trUtf8("&New Task..."), self.__newTask) 91 self.__menu.addAction(self.tr("&New Task..."), self.__newTask)
92 self.__menu.addSeparator() 92 self.__menu.addSeparator()
93 self.projectTasksMenuItem = self.__menu.addMenu( 93 self.projectTasksMenuItem = self.__menu.addMenu(
94 self.__projectTasksMenu) 94 self.__projectTasksMenu)
95 self.__menu.addSeparator() 95 self.__menu.addSeparator()
96 self.gotoItem = self.__menu.addAction( 96 self.gotoItem = self.__menu.addAction(
97 self.trUtf8("&Go To"), self.__goToTask) 97 self.tr("&Go To"), self.__goToTask)
98 self.__menu.addSeparator() 98 self.__menu.addSeparator()
99 self.copyItem = self.__menu.addAction( 99 self.copyItem = self.__menu.addAction(
100 self.trUtf8("&Copy"), self.__copyTask) 100 self.tr("&Copy"), self.__copyTask)
101 self.pasteItem = self.__menu.addAction( 101 self.pasteItem = self.__menu.addAction(
102 self.trUtf8("&Paste"), self.__pasteTask) 102 self.tr("&Paste"), self.__pasteTask)
103 self.deleteItem = self.__menu.addAction( 103 self.deleteItem = self.__menu.addAction(
104 self.trUtf8("&Delete"), self.__deleteTask) 104 self.tr("&Delete"), self.__deleteTask)
105 self.__menu.addSeparator() 105 self.__menu.addSeparator()
106 self.markCompletedItem = self.__menu.addAction( 106 self.markCompletedItem = self.__menu.addAction(
107 self.trUtf8("&Mark Completed"), self.__markCompleted) 107 self.tr("&Mark Completed"), self.__markCompleted)
108 self.__menu.addAction( 108 self.__menu.addAction(
109 self.trUtf8("Delete Completed &Tasks"), self.__deleteCompleted) 109 self.tr("Delete Completed &Tasks"), self.__deleteCompleted)
110 self.__menu.addSeparator() 110 self.__menu.addSeparator()
111 self.__menu.addAction( 111 self.__menu.addAction(
112 self.trUtf8("P&roperties..."), self.__editTaskProperties) 112 self.tr("P&roperties..."), self.__editTaskProperties)
113 self.__menu.addSeparator() 113 self.__menu.addSeparator()
114 self.__menuFilteredAct = self.__menu.addAction( 114 self.__menuFilteredAct = self.__menu.addAction(
115 self.trUtf8("&Filtered display")) 115 self.tr("&Filtered display"))
116 self.__menuFilteredAct.setCheckable(True) 116 self.__menuFilteredAct.setCheckable(True)
117 self.__menuFilteredAct.setChecked(False) 117 self.__menuFilteredAct.setChecked(False)
118 self.__menuFilteredAct.triggered[bool].connect(self.__activateFilter) 118 self.__menuFilteredAct.triggered[bool].connect(self.__activateFilter)
119 self.__menu.addAction( 119 self.__menu.addAction(
120 self.trUtf8("Filter c&onfiguration..."), self.__configureFilter) 120 self.tr("Filter c&onfiguration..."), self.__configureFilter)
121 self.__menu.addSeparator() 121 self.__menu.addSeparator()
122 self.__menu.addAction( 122 self.__menu.addAction(
123 self.trUtf8("Resi&ze columns"), self.__resizeColumns) 123 self.tr("Resi&ze columns"), self.__resizeColumns)
124 self.__menu.addSeparator() 124 self.__menu.addSeparator()
125 self.__menu.addAction(self.trUtf8("Configure..."), self.__configure) 125 self.__menu.addAction(self.tr("Configure..."), self.__configure)
126 126
127 self.__backMenu = QMenu(self) 127 self.__backMenu = QMenu(self)
128 self.__backMenu.addAction(self.trUtf8("&New Task..."), self.__newTask) 128 self.__backMenu.addAction(self.tr("&New Task..."), self.__newTask)
129 self.__backMenu.addSeparator() 129 self.__backMenu.addSeparator()
130 self.backProjectTasksMenuItem = self.__backMenu.addMenu( 130 self.backProjectTasksMenuItem = self.__backMenu.addMenu(
131 self.__projectTasksMenu) 131 self.__projectTasksMenu)
132 self.__backMenu.addSeparator() 132 self.__backMenu.addSeparator()
133 self.backPasteItem = self.__backMenu.addAction( 133 self.backPasteItem = self.__backMenu.addAction(
134 self.trUtf8("&Paste"), self.__pasteTask) 134 self.tr("&Paste"), self.__pasteTask)
135 self.__backMenu.addSeparator() 135 self.__backMenu.addSeparator()
136 self.__backMenu.addAction( 136 self.__backMenu.addAction(
137 self.trUtf8("Delete Completed &Tasks"), self.__deleteCompleted) 137 self.tr("Delete Completed &Tasks"), self.__deleteCompleted)
138 self.__backMenu.addSeparator() 138 self.__backMenu.addSeparator()
139 self.__backMenuFilteredAct = self.__backMenu.addAction( 139 self.__backMenuFilteredAct = self.__backMenu.addAction(
140 self.trUtf8("&Filtered display")) 140 self.tr("&Filtered display"))
141 self.__backMenuFilteredAct.setCheckable(True) 141 self.__backMenuFilteredAct.setCheckable(True)
142 self.__backMenuFilteredAct.setChecked(False) 142 self.__backMenuFilteredAct.setChecked(False)
143 self.__backMenuFilteredAct.triggered[bool].connect( 143 self.__backMenuFilteredAct.triggered[bool].connect(
144 self.__activateFilter) 144 self.__activateFilter)
145 self.__backMenu.addAction( 145 self.__backMenu.addAction(
146 self.trUtf8("Filter c&onfiguration..."), self.__configureFilter) 146 self.tr("Filter c&onfiguration..."), self.__configureFilter)
147 self.__backMenu.addSeparator() 147 self.__backMenu.addSeparator()
148 self.__backMenu.addAction( 148 self.__backMenu.addAction(
149 self.trUtf8("Resi&ze columns"), self.__resizeColumns) 149 self.tr("Resi&ze columns"), self.__resizeColumns)
150 self.__backMenu.addSeparator() 150 self.__backMenu.addSeparator()
151 self.__backMenu.addAction( 151 self.__backMenu.addAction(
152 self.trUtf8("Configure..."), self.__configure) 152 self.tr("Configure..."), self.__configure)
153 153
154 self.__activating = False 154 self.__activating = False
155 155
156 self.setContextMenuPolicy(Qt.CustomContextMenu) 156 self.setContextMenuPolicy(Qt.CustomContextMenu)
157 self.customContextMenuRequested.connect(self.__showContextMenu) 157 self.customContextMenuRequested.connect(self.__showContextMenu)
475 @param on flag indicating the filter state (boolean) 475 @param on flag indicating the filter state (boolean)
476 """ 476 """
477 if on and not self.taskFilter.hasActiveFilter(): 477 if on and not self.taskFilter.hasActiveFilter():
478 res = E5MessageBox.yesNo( 478 res = E5MessageBox.yesNo(
479 self, 479 self,
480 self.trUtf8("Activate task filter"), 480 self.tr("Activate task filter"),
481 self.trUtf8( 481 self.tr(
482 """The task filter doesn't have any active filters.""" 482 """The task filter doesn't have any active filters."""
483 """ Do you want to configure the filter settings?"""), 483 """ Do you want to configure the filter settings?"""),
484 yesDefault=True) 484 yesDefault=True)
485 if not res: 485 if not res:
486 on = False 486 on = False
507 """ 507 """
508 Private slot to configure scan options for project tasks. 508 Private slot to configure scan options for project tasks.
509 """ 509 """
510 filter, ok = QInputDialog.getText( 510 filter, ok = QInputDialog.getText(
511 self, 511 self,
512 self.trUtf8("Scan Filter Patterns"), 512 self.tr("Scan Filter Patterns"),
513 self.trUtf8("Enter filename patterns of files" 513 self.tr("Enter filename patterns of files"
514 " to be excluded separated by a comma:"), 514 " to be excluded separated by a comma:"),
515 QLineEdit.Normal, 515 QLineEdit.Normal,
516 self.projectTasksScanFilter) 516 self.projectTasksScanFilter)
517 if ok: 517 if ok:
518 self.projectTasksScanFilter = filter 518 self.projectTasksScanFilter = filter
519 519
541 # remove all project tasks 541 # remove all project tasks
542 self.clearProjectTasks(fileOnly=True) 542 self.clearProjectTasks(fileOnly=True)
543 543
544 # now process them 544 # now process them
545 progress = E5ProgressDialog( 545 progress = E5ProgressDialog(
546 self.trUtf8("Extracting project tasks..."), 546 self.tr("Extracting project tasks..."),
547 self.trUtf8("Abort"), 0, len(files), self.trUtf8("%v/%m Files")) 547 self.tr("Abort"), 0, len(files), self.tr("%v/%m Files"))
548 progress.setMinimumDuration(0) 548 progress.setMinimumDuration(0)
549 count = 0 549 count = 0
550 550
551 for file in files: 551 for file in files:
552 progress.setLabelText( 552 progress.setLabelText(
553 self.trUtf8("Extracting project tasks...\n{0}").format(file)) 553 self.tr("Extracting project tasks...\n{0}").format(file))
554 progress.setValue(count) 554 progress.setValue(count)
555 QApplication.processEvents() 555 QApplication.processEvents()
556 if progress.wasCanceled(): 556 if progress.wasCanceled():
557 break 557 break
558 558

eric ide

mercurial