TimeTracker/TimeTrackerWidget.py

changeset 9
1c7fd3151ba2
parent 6
be12cde5813f
child 11
1eabdd26c44e
equal deleted inserted replaced
8:17d90f9425fc 9:1c7fd3151ba2
4 # 4 #
5 5
6 """ 6 """
7 Module implementing the time tracker widget. 7 Module implementing the time tracker widget.
8 """ 8 """
9
10 import os
9 11
10 from PyQt4.QtCore import pyqtSlot, QPoint, Qt, QDate, QTime, QFileInfo 12 from PyQt4.QtCore import pyqtSlot, QPoint, Qt, QDate, QTime, QFileInfo
11 from PyQt4.QtGui import QWidget, QMenu, QTreeWidgetItem, QCursor 13 from PyQt4.QtGui import QWidget, QMenu, QTreeWidgetItem, QCursor
12 14
13 from E5Gui import E5MessageBox, E5FileDialog 15 from E5Gui import E5MessageBox, E5FileDialog
118 menu.addAction(self.tr("Delete"), self.__deleteSelectedEntries) 120 menu.addAction(self.tr("Delete"), self.__deleteSelectedEntries)
119 menu.addSeparator() 121 menu.addSeparator()
120 menu.addAction(self.tr("Save"), self.__saveEntries) 122 menu.addAction(self.tr("Save"), self.__saveEntries)
121 menu.addSeparator() 123 menu.addSeparator()
122 menu.addAction(self.tr("Import"), self.__importEntries) 124 menu.addAction(self.tr("Import"), self.__importEntries)
123 menu.addAction(self.tr("Export Selected"), self.__exportSelectedEntries) 125 menu.addAction(self.tr("Export Selected"), self.__exportSelectedEntries)\
126 .setEnabled(len(self.entriesList.selectedItems()) != 0)
124 menu.addAction(self.tr("Export All"), self.__exportEntries) 127 menu.addAction(self.tr("Export All"), self.__exportEntries)
125 menu.exec_(QCursor.pos()) 128 menu.exec_(QCursor.pos())
126 129
127 def __editEntry(self): 130 def __editEntry(self):
128 """ 131 """
156 159
157 def __importEntries(self): 160 def __importEntries(self):
158 """ 161 """
159 Private slot to import tracker entries. 162 Private slot to import tracker entries.
160 """ 163 """
161 # TODO: not implemented yet 164 path = Preferences.getMultiProject("Workspace") or Utilities.getHomeDir()
162 raise NotImplementedError 165 fname = E5FileDialog.getOpenFileName(
166 None,
167 self.trUtf8("Import Tracker Entries"),
168 path,
169 self.trUtf8("Text Files (*.txt);;All Files (*)"))
170 if fname:
171 fname = Utilities.toNativeSeparators(fname)
172 if not os.path.exists(fname):
173 E5MessageBox.critical(self,
174 self.trUtf8("Import Tracker Entries"),
175 self.trUtf8("<p>The file <b>{0}</b> does not exist.</p>").format(
176 fname))
177 return
178
179 self.__tracker.importTrackerEntries(fname)
163 180
164 def __exportEntries(self, ids=[]): 181 def __exportEntries(self, ids=[]):
165 """ 182 """
166 Private method to export all or selected entries. 183 Private method to export all or selected entries.
167 184

eric ide

mercurial