diff trunk/src/translator/translator.py @ 551:312da78ab301

Translator: changed type of LastEd field in cat files to int.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Thu, 20 Dec 2007 20:00:48 +0100
parents 1401e38d1e2e
children
line wrap: on
line diff
--- a/trunk/src/translator/translator.py	Thu Dec 20 14:48:21 2007 +0100
+++ b/trunk/src/translator/translator.py	Thu Dec 20 20:00:48 2007 +0100
@@ -47,7 +47,7 @@
     self.setCentralWidget(self.pages)
     self.disableMenuItems()
     self.projectDock = QtGui.QDockWidget("Project", self)
-    self.projectTree = ProjectTree(self.projectDock)
+    self.projectTree = ProjectTree(self.projectDock, self)
     self.projectDock.setWidget(self.projectTree)
     self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.projectDock)
     # Custom connections
@@ -300,21 +300,6 @@
     yaml.dump(g_settings, open(g_settingsFile, "w")) #default_flow_style=False
 
 
-class MessageItem(QtGui.QTreeWidgetItem):
-  def __init__(self, msg):
-    QtGui.QTreeWidgetItem.__init__(self, [str(msg["ID"]), msg["Text"]])
-    self.msg = msg
-
-  def getID(self):
-    return self.msg["ID"]
-
-  def setMsgText(self, text):
-    self.msg["Text"] = text
-
-  def setMsgAnnot(self, text):
-    self.msg["Annot"] = text
-
-
 class Document(QtGui.QWidget):
   def __init__(self):
     QtGui.QWidget.__init__(self)
@@ -344,6 +329,22 @@
   def getDocumentFullPath(self):
     return self.documentFullPath
 
+
+class MessageItem(QtGui.QTreeWidgetItem):
+  def __init__(self, msg):
+    QtGui.QTreeWidgetItem.__init__(self, [str(msg["ID"]), msg["Text"], "Done"])
+    self.msg = msg
+
+  def getID(self):
+    return self.msg["ID"]
+
+  def setMsgText(self, text):
+    self.msg["Text"] = text
+
+  def setMsgAnnot(self, text):
+    self.msg["Annot"] = text
+
+
 class MsgForm(Document, Ui_MsgForm):
   def __init__(self, langFile):
     Document.__init__(self)
@@ -356,10 +357,15 @@
     self.currentItem = None
     self.colID = 0
     self.colText = 1
+    #self.colStat = 2
+    #self.treeWidget.setColumnCount(3)
     self.treeWidget.setColumnCount(2)
-    self.treeWidget.setHeaderLabels(["ID", "Text"])
+    self.treeWidget.setHeaderLabels(["ID", "Text"]) #, "Status"
+    self.msgItemDict = {} # Maps msg IDs to msg items.
     for msg in self.langFile.messages:
-      self.treeWidget.addTopLevelItem(MessageItem(msg))
+      item = MessageItem(msg)
+      self.msgItemDict[msg["ID"]] = item
+      self.treeWidget.addTopLevelItem(item)
 
     Qt.connect(self.treeWidget, Qt.SIGNAL("currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)"), self.treeItemChanged)
     Qt.connect(self.translEdit, Qt.SIGNAL("textChanged()"), self.translEditTextChanged)
@@ -367,6 +373,10 @@
 
     #self.translEdit.focusOutEvent = self.translEditFocusOut
 
+  def sourceMsgChanged(self, msg):
+    # TODO:
+    pass
+
   def treeItemChanged(self, current, previous):
     if current == None:
       self.setTranslMsg("")
@@ -495,8 +505,9 @@
     self.setFlags(self.flags()|Qt.ItemIsEditable);
 
 class ProjectTree(QtGui.QTreeWidget):
-  def __init__(self, parent):
+  def __init__(self, parent, mainWindow):
     QtGui.QTreeWidget.__init__(self, parent)
+    self.mainWindow = mainWindow
     self.project = None
     self.topItem = None
     self.msgIDsItem = None
@@ -551,7 +562,12 @@
     func_map[type(item)](item)
 
   def showMenuProjectItem(self, item):
-    print "ProjectItem"
+    mousePos = QtGui.QCursor.pos()
+    menu = QtGui.QMenu()
+    actions = {}
+    actions[menu.addAction("Build")] = lambda: None
+    actions[menu.addAction("Properties")] = lambda: self.mainWindow.showProjectProperties()
+    actions[menu.exec_(mousePos)]()
 
   def showMenuLangFileItem(self, item):
     print "LangFileItem"