Mercurial > projects > dil
diff trunk/src/translator/translator.py @ 472:30925590f392
Translator: implemented more functionalities of MsgForm.
Added class MsgFormSource. Used for editing the source language file of the
project.
Added stub methods for showing context menus in ProjectTree.
Added loadLangFile method to class Project.
Renamed two widgets in msg_form.ui.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Tue, 06 Nov 2007 17:08:57 +0100 |
parents | b6fa41e6f0b4 |
children | 70fdd0701a77 |
line wrap: on
line diff
--- a/trunk/src/translator/translator.py Sun Nov 04 14:06:04 2007 +0100 +++ b/trunk/src/translator/translator.py Tue Nov 06 17:08:57 2007 +0100 @@ -185,9 +185,33 @@ QtCore.QObject.connect(self.treeWidget, QtCore.SIGNAL("currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)"), self.treeItemChanged) def treeItemChanged(self, current, previous): - msg = self.langFile.getMsg(int(current.text(0))) - self.destEdit.setText(msg["Text"]) - self.destAnnotEdit.setText(msg["Annot"]) + if current == None: + return + ID = int(current.text(0)) + self.setTranslMsg(self.langFile.getMsg(ID)) + self.setSourceMsg(self.langFile.source.getMsg(ID)) + + def setTranslMsg(self, msg): + self.translEdit.setText(msg["Text"]) + self.translAnnotEdit.setText(msg["Annot"]) + + def setSourceMsg(self, msg): + self.sourceEdit.setText(msg["Text"]) + self.sourceAnnotEdit.setText(msg["Annot"]) + +class MsgFormSource(MsgForm): + def __init__(self, langFile): + MsgForm.__init__(self, langFile) + + for x in [self.translEdit, + self.translAnnotEdit, + self.label_4, + self.label_5]: + x.close() + + def treeItemChanged(self, current, previous): + ID = int(current.text(0)) + self.setSourceMsg(self.langFile.getMsg(ID)) class MsgIDItem(QtGui.QTreeWidgetItem): def __init__(self, parent, text): @@ -197,7 +221,10 @@ def __init__(self, parent, langFile): QtGui.QTreeWidgetItem.__init__(self, parent, [langFile.langCode]) self.langFile = langFile - self.msgForm = MsgForm(langFile) + if langFile.isSource: + self.msgForm = MsgFormSource(langFile) + else: + self.msgForm = MsgForm(langFile) class ProjectItem(QtGui.QTreeWidgetItem): def __init__(self, text): @@ -226,6 +253,26 @@ for x in [self.topItem, self.msgIDsItem]: x.setExpanded(True) + def contextMenuEvent(self, event): + item = self.itemAt(event.pos()) + func_map = { + None : lambda item: None, + QtGui.QTreeWidgetItem : lambda item: None, + ProjectItem : self.showMenuProjectItem, + LangFileItem : self.showMenuLangFileItem, + MsgIDItem : self.showMenuMsgIDItem + } + func_map[type(item)](item) + + def showMenuProjectItem(self, item): + print "ProjectItem" + + def showMenuLangFileItem(self, item): + print "LangFileItem" + + def showMenuMsgIDItem(self, item): + print "MsgIDItem" + def clear(self): self.topItem = None self.msgIDsItem = None