diff -r 058c6a316ca8 -r ce9309868f8a TimeTracker/TimeTrackerWidget.py --- a/TimeTracker/TimeTrackerWidget.py Fri Oct 19 15:54:12 2012 +0200 +++ b/TimeTracker/TimeTrackerWidget.py Fri Oct 19 22:26:57 2012 +0200 @@ -17,6 +17,10 @@ """ Class implementing the time tracker widget. """ + DurationColumn = 1 + TaskColumn = 2 + CommentColumn = 3 + def __init__(self, tracker, parent=None): """ Constructor @@ -30,28 +34,49 @@ self.__tracker = tracker @pyqtSlot(str) - def on_taskCombo_editTextChanged(self, p0): + def on_taskCombo_editTextChanged(self, txt): + """ + Private slot handling changes of the task description of the current entry. + + @param txt new task description (string) """ - Slot documentation goes here. - """ - # TODO: not implemented yet - raise NotImplementedError + itm = self.entriesList.topLevelItem(0) + itm.setText(self.TaskColumn, txt) + self.entriesList.resizeColumnToContents(self.TaskColumn) + + entry = self.__tracker.getCurrentEntry() + entry.setTask(txt) @pyqtSlot(str) - def on_commentCombo_editTextChanged(self, p0): + def on_commentCombo_editTextChanged(self, txt): + """ + Private slot handling changes of the comment of the current entry. + + @param txt new comment (string) """ - Slot documentation goes here. - """ - # TODO: not implemented yet - raise NotImplementedError + itm = self.entriesList.topLevelItem(0) + itm.setText(self.CommentColumn, txt) + self.entriesList.resizeColumnToContents(self.CommentColumn) + + entry = self.__tracker.getCurrentEntry() + entry.setComment(txt) @pyqtSlot(bool) def on_pauseButton_toggled(self, checked): """ - Slot documentation goes here. + Private slot to pause the current timing. """ - # TODO: not implemented yet - raise NotImplementedError + if checked: + self.__tracker.pauseTrackerEntry() + + entry = self.__tracker.getCurrentEntry() + duration = entry.getDuration() + + itm = self.entriesList.topLevelItem(0) + itm.setText(self.DurationColumn, str(duration)) + self.entriesList.resizeColumnToContents(self.CommentColumn) + else: + self.__tracker.continueTrackerEntry() @pyqtSlot() def on_newButton_clicked(self): @@ -140,6 +165,13 @@ else: self.entriesList.insertTopLevelItem(index, itm) + def __resizeColumns(self): + """ + Private slot to resize the columns of the entries list. + """ + for column in range(self.entriesList.columnCount()): + self.entriesList.resizeColumnToContents(column) + def showTrackerEntries(self, entries): """ Public method to show the tracker entries of the current project. @@ -148,8 +180,7 @@ """ for entry in entries: self.__insertEntry(entry) - for column in range(self.entriesList.columnCount()): - self.entriesList.resizeColumnToContents(column) + self.__resizeColumns() def setCurrentEntry(self, entry): """ @@ -158,6 +189,8 @@ @param entry current entry (TimeTrackEntry) """ self.__insertEntry(entry, 0) + self.__resizeColumns() + date, time, duration, task, comment, paused = entry.getEntryData() self.startDateTimeEdit.setDateTime(entry.getStartDateTime()) self.durationSpinBox.setValue(duration)