TimeTracker/TimeTrackerWidget.py

changeset 11
1eabdd26c44e
parent 9
1c7fd3151ba2
child 12
6c91abc72022
diff -r 64acf4452ac0 -r 1eabdd26c44e TimeTracker/TimeTrackerWidget.py
--- a/TimeTracker/TimeTrackerWidget.py	Sun Oct 21 14:53:23 2012 +0200
+++ b/TimeTracker/TimeTrackerWidget.py	Sun Oct 21 15:33:36 2012 +0200
@@ -125,6 +125,9 @@
         menu.addAction(self.tr("Export Selected"), self.__exportSelectedEntries)\
             .setEnabled(len(self.entriesList.selectedItems()) != 0)
         menu.addAction(self.tr("Export All"), self.__exportEntries)
+        menu.addSeparator()
+        menu.addAction(self.tr("Remove duplicates"), self.__removeDuplicates)
+        menu.addAction(self.tr("Merge duplicates"), self.__mergeDuplicates)
         menu.exec_(QCursor.pos())
     
     def __editEntry(self):
@@ -222,6 +225,28 @@
         if ids:
             self.__exportEntries(ids=ids)
     
+    def __removeDuplicates(self):
+        """
+        Private slot to remove duplicate entries.
+        """
+        res = E5MessageBox.yesNo(self,
+            self.trUtf8("Remove Duplicate Tracker Entries"),
+            self.trUtf8("""Are you sure you want to remove duplicate tracker entries?"""
+                        """ Only the one with the longest duration will be kept."""))
+        if res:
+            self.__tracker.removeDuplicateTrackerEntries()
+    
+    def __mergeDuplicates(self):
+        """
+        Private slot to merge duplicate entries.
+        """
+        res = E5MessageBox.yesNo(self,
+            self.trUtf8("Merge Duplicate Tracker Entries"),
+            self.trUtf8("""Are you sure you want to merge duplicate tracker entries?"""
+                        """ The durations of duplicate ones will be added."""))
+        if res:
+            self.__tracker.mergeDuplicateTrackerEntries()
+    
     def __insertEntry(self, entry, index=-1):
         """
         Private method to insert a tracker entry into the list.

eric ide

mercurial