Mercurial > projects > dil
comparison trunk/src/translator/translator.py @ 481:04adc4e3fdda
Translator: some fixes and additions.
Projects can be saved now. Documents can be switched using Ctrl+Tab and
Ctrl+Shift+Tab. Some items in ProjectTree can be edited now.
Added my last will to the file AUTHORS.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Wed, 14 Nov 2007 22:07:50 +0100 |
parents | 044b5393f8bc |
children | 1401e38d1e2e |
comparison
equal
deleted
inserted
replaced
480:f25985f6b222 | 481:04adc4e3fdda |
---|---|
65 Qt.connect(self.action_Add_New_Catalogue, triggered, self.addNewCatalogue) | 65 Qt.connect(self.action_Add_New_Catalogue, triggered, self.addNewCatalogue) |
66 Qt.connect(self.projectTree, Qt.SIGNAL("itemDoubleClicked(QTreeWidgetItem*,int)"), self.projectTreeItemDblClicked) | 66 Qt.connect(self.projectTree, Qt.SIGNAL("itemDoubleClicked(QTreeWidgetItem*,int)"), self.projectTreeItemDblClicked) |
67 Qt.connect(self.projectTree, Qt.SIGNAL("onKeyEnter"), self.projectTreeItemActivated) | 67 Qt.connect(self.projectTree, Qt.SIGNAL("onKeyEnter"), self.projectTreeItemActivated) |
68 Qt.connect(self.projectTree, Qt.SIGNAL("onKeyDelete"), self.projectTreeItemDeleted) | 68 Qt.connect(self.projectTree, Qt.SIGNAL("onKeyDelete"), self.projectTreeItemDeleted) |
69 | 69 |
70 shortcut = QtGui.QShortcut(QtGui.QKeySequence(Qt.CTRL+Qt.Key_Tab), self) | |
71 Qt.connect(shortcut, Qt.SIGNAL("activated()"), self.nextDocument) | |
72 shortcut = QtGui.QShortcut(QtGui.QKeySequence(Qt.CTRL+Qt.SHIFT+Qt.Key_Tab), self) | |
73 Qt.connect(shortcut, Qt.SIGNAL("activated()"), self.prevDocument) | |
74 | |
70 self.readSettings() | 75 self.readSettings() |
76 | |
77 def nextDocument(self): | |
78 count = self.pages.count() | |
79 if count < 1: return | |
80 index = self.pages.currentIndex()+1 | |
81 if index == count: index = 0 | |
82 self.pages.setCurrentIndex(index) | |
83 | |
84 def prevDocument(self): | |
85 count = self.pages.count() | |
86 if count < 1: return | |
87 index = self.pages.currentIndex()-1 | |
88 if index == -1: index = count-1 | |
89 self.pages.setCurrentIndex(index) | |
71 | 90 |
72 def showAboutDialog(self): | 91 def showAboutDialog(self): |
73 about = QtGui.QDialog() | 92 about = QtGui.QDialog() |
74 Ui_AboutDialog().setupUi(about) | 93 Ui_AboutDialog().setupUi(about) |
75 about.exec_() | 94 about.exec_() |
142 return False | 161 return False |
143 | 162 |
144 def closeProject(self): | 163 def closeProject(self): |
145 if self.project == None: | 164 if self.project == None: |
146 return | 165 return |
166 self.project.save() | |
147 del self.project | 167 del self.project |
148 self.project = None | 168 self.project = None |
149 self.disableMenuItems() | 169 self.disableMenuItems() |
150 self.projectTree.clear() | 170 self.projectTree.clear() |
151 self.pages.closeAll() | 171 self.pages.closeAll() |
178 if isinstance(item, LangFileItem): | 198 if isinstance(item, LangFileItem): |
179 msgForm = None | 199 msgForm = None |
180 if not item.isDocOpen(): | 200 if not item.isDocOpen(): |
181 msgForm = item.openDoc() | 201 msgForm = item.openDoc() |
182 msgForm.setModifiedCallback(self.formModified) | 202 msgForm.setModifiedCallback(self.formModified) |
203 else: | |
204 msgForm = item.openDoc() | |
183 index = self.pages.indexOf(msgForm) | 205 index = self.pages.indexOf(msgForm) |
184 if index == -1: | 206 if index == -1: |
185 index = self.pages.addTab(msgForm, msgForm.getDocumentTitle()) | 207 index = self.pages.addTab(msgForm, msgForm.getDocumentTitle()) |
186 self.pages.setCurrentIndex(index) | 208 self.pages.setCurrentIndex(index) |
187 msgForm.updateData() | 209 msgForm.updateData() |
234 | 256 |
235 def closeEvent(self, event): | 257 def closeEvent(self, event): |
236 if self.rejectClosingProject(): | 258 if self.rejectClosingProject(): |
237 event.ignore() | 259 event.ignore() |
238 return | 260 return |
261 self.closeProject() | |
239 self.writeSettings() | 262 self.writeSettings() |
240 # Closing application | 263 # Closing application |
241 | 264 |
242 def moveToCenterOfDesktop(self): | 265 def moveToCenterOfDesktop(self): |
243 rect = QtGui.QApplication.desktop().geometry() | 266 rect = QtGui.QApplication.desktop().geometry() |
439 | 462 |
440 | 463 |
441 class MsgIDItem(QtGui.QTreeWidgetItem): | 464 class MsgIDItem(QtGui.QTreeWidgetItem): |
442 def __init__(self, parent, text): | 465 def __init__(self, parent, text): |
443 QtGui.QTreeWidgetItem.__init__(self, parent, [text]) | 466 QtGui.QTreeWidgetItem.__init__(self, parent, [text]) |
467 self.setFlags(self.flags()|Qt.ItemIsEditable); | |
444 | 468 |
445 class LangFileItem(QtGui.QTreeWidgetItem): | 469 class LangFileItem(QtGui.QTreeWidgetItem): |
446 def __init__(self, parent, langFile): | 470 def __init__(self, parent, langFile): |
447 QtGui.QTreeWidgetItem.__init__(self, parent, [langFile.langCode]) | 471 QtGui.QTreeWidgetItem.__init__(self, parent, [langFile.langCode]) |
448 self.langFile = langFile | 472 self.langFile = langFile |
464 self.msgForm = None | 488 self.msgForm = None |
465 | 489 |
466 class ProjectItem(QtGui.QTreeWidgetItem): | 490 class ProjectItem(QtGui.QTreeWidgetItem): |
467 def __init__(self, text): | 491 def __init__(self, text): |
468 QtGui.QTreeWidgetItem.__init__(self, [text]) | 492 QtGui.QTreeWidgetItem.__init__(self, [text]) |
493 self.setFlags(self.flags()|Qt.ItemIsEditable); | |
469 | 494 |
470 class ProjectTree(QtGui.QTreeWidget): | 495 class ProjectTree(QtGui.QTreeWidget): |
471 def __init__(self, parent): | 496 def __init__(self, parent): |
472 QtGui.QTreeWidget.__init__(self, parent) | 497 QtGui.QTreeWidget.__init__(self, parent) |
498 self.project = None | |
473 self.topItem = None | 499 self.topItem = None |
474 self.msgIDsItem = None | 500 self.msgIDsItem = None |
475 self.headerItem().setHidden(True) | 501 self.headerItem().setHidden(True) |
502 | |
503 def itemChanged(self, item, column): | |
504 text = unicode(item.text(0)) | |
505 #if hasattr(item, "textChanged"): | |
506 #item.textChanged(text) | |
507 if isinstance(item, ProjectItem): | |
508 self.project.setName(text) | |
509 print text | |
476 | 510 |
477 def keyReleaseEvent(self, event): | 511 def keyReleaseEvent(self, event): |
478 Qt = QtCore.Qt | 512 Qt = QtCore.Qt |
479 key = event.key() | 513 key = event.key() |
480 if key in [Qt.Key_Enter, Qt.Key_Return]: | 514 if key in [Qt.Key_Enter, Qt.Key_Return]: |
495 for msgID in self.project.msgIDs: | 529 for msgID in self.project.msgIDs: |
496 MsgIDItem(self.msgIDsItem, msgID["Name"]) | 530 MsgIDItem(self.msgIDsItem, msgID["Name"]) |
497 | 531 |
498 for x in [self.topItem, self.msgIDsItem]: | 532 for x in [self.topItem, self.msgIDsItem]: |
499 x.setExpanded(True) | 533 x.setExpanded(True) |
534 | |
535 Qt.connect(self, Qt.SIGNAL("itemChanged(QTreeWidgetItem*,int)"), self.itemChanged) | |
500 | 536 |
501 def contextMenuEvent(self, event): | 537 def contextMenuEvent(self, event): |
502 item = self.itemAt(event.pos()) | 538 item = self.itemAt(event.pos()) |
503 func_map = { | 539 func_map = { |
504 None : lambda item: None, | 540 None : lambda item: None, |
517 | 553 |
518 def showMenuMsgIDItem(self, item): | 554 def showMenuMsgIDItem(self, item): |
519 print "MsgIDItem" | 555 print "MsgIDItem" |
520 | 556 |
521 def clear(self): | 557 def clear(self): |
558 self.project = None | |
522 self.topItem = None | 559 self.topItem = None |
523 self.msgIDsItem = None | 560 self.msgIDsItem = None |
561 Qt.disconnect(self, Qt.SIGNAL("itemChanged(QTreeWidgetItem*,int)"), self.itemChanged) | |
524 QtGui.QTreeWidget.clear(self) | 562 QtGui.QTreeWidget.clear(self) |
525 | 563 |
526 | 564 |
527 class ClosingProjectDialog(QtGui.QDialog, Ui_ClosingProjectDialog): | 565 class ClosingProjectDialog(QtGui.QDialog, Ui_ClosingProjectDialog): |
528 DiscardAll = 2 | 566 DiscardAll = 2 |