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 |