annotate trunk/src/translator/translator.py @ 475:70fdd0701a77

Translator: messages can be edited now.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Thu, 08 Nov 2007 21:22:40 +0100
parents 30925590f392
children 773ddddb583d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
1 #! /usr/bin/python
435
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
3 # Author: Aziz Köksal
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
4 # License: GPL2
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
5 import sys, os
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
6 import yaml
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
7
435
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
8 from PyQt4 import QtCore, QtGui
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
9 # User interface modules
435
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
10 from ui_translator import Ui_MainWindow
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
11 from ui_about import Ui_AboutDialog
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
12 from ui_new_project import Ui_NewProjectDialog
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
13 from ui_project_properties import Ui_ProjectProperties
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
14 from ui_msg_form import Ui_MsgForm
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
15
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
16 from project import Project, newProjectData
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
17
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
18 g_scriptDir = sys.path[0]
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
19 g_CWD = os.getcwd()
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
20 g_projectExt = ".tproj"
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
21 g_catExt = ".cat"
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
22 g_settingsFile = os.path.join(g_scriptDir, "settings.yaml")
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
23 g_settings = {}
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
24
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
25 def QStackedWidgetClear(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
26 widgets = [self.widget(i) for i in range(0, self.count())]
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
27 while self.currentWidget():
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
28 self.removeWidget(self.currentWidget())
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
29 [widget.close() for widget in widgets]
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
30
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
31 QtGui.QStackedWidget.clear = QStackedWidgetClear
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
32
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
33 class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
34 def __init__(self):
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
35 QtGui.QMainWindow.__init__(self)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
36 self.setupUi(self)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
37
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
38 self.project = None
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
39 # Modifications
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
40 self.pages = QtGui.QStackedWidget()
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
41 self.setCentralWidget(self.pages)
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
42 self.disableMenuItems()
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
43 self.projectDock = QtGui.QDockWidget("Project", self)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
44 self.projectTree = ProjectTree(self)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
45 self.projectDock.setWidget(self.projectTree)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
46 self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.projectDock)
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
47 # Custom connections
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
48 QtCore.QObject.connect(self.action_About, QtCore.SIGNAL("triggered()"), self.showAboutDialog)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
49 QtCore.QObject.connect(self.action_New_Project, QtCore.SIGNAL("triggered()"), self.createNewProject)
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
50 QtCore.QObject.connect(self.action_Open_Project, QtCore.SIGNAL("triggered()"), self.openProjectAction)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
51 QtCore.QObject.connect(self.action_Close_Project, QtCore.SIGNAL("triggered()"), self.closeProject)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
52 QtCore.QObject.connect(self.action_Properties, QtCore.SIGNAL("triggered()"), self.showProjectProperties)
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
53 QtCore.QObject.connect(self.action_Add_Catalogue, QtCore.SIGNAL("triggered()"), self.addCatalogue)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
54 QtCore.QObject.connect(self.action_Add_New_Catalogue, QtCore.SIGNAL("triggered()"), self.addNewCatalogue)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
55 QtCore.QObject.connect(self.projectTree, QtCore.SIGNAL("currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)"), self.projectTreeItemChanged)
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
56
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
57 self.readSettings()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
58
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
59 def showAboutDialog(self):
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
60 about = QtGui.QDialog()
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
61 Ui_AboutDialog().setupUi(about)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
62 about.exec_()
435
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
63
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
64 def showProjectProperties(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
65 dialog = QtGui.QDialog()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
66 Ui_ProjectProperties().setupUi(dialog)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
67 dialog.exec_()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
68
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
69 def createNewProject(self):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
70 if self.cantCloseProjectIfOpen():
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
71 return
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
72 dialog = NewProjectDialog()
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
73 code = dialog.exec_()
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
74 if code == QtGui.QDialog.Accepted:
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
75 self.openProject(str(dialog.projectFilePath.text()))
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
76
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
77 def openProjectAction(self):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
78 if self.cantCloseProjectIfOpen():
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
79 return
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
80 filePath = QtGui.QFileDialog.getOpenFileName(self, "Select Project File", g_CWD, "Translator Project (*%s)" % g_projectExt);
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
81 filePath = str(filePath)
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
82 if filePath:
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
83 self.openProject(filePath)
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
84
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
85 def openProject(self, filePath):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
86 from errors import LoadingError
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
87 try:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
88 self.project = Project(filePath)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
89 except LoadingError, e:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
90 QtGui.QMessageBox.critical(self, "Error", u"Couldn't load project file:\n\n"+str(e))
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
91 return
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
92 self.enableMenuItems()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
93 self.projectTree.setProject(self.project)
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
94
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
95 def addCatalogue(self):
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
96 filePath = QtGui.QFileDialog.getOpenFileName(self, "Select Project File", g_CWD, "Catalogue (*%s)" % g_catExt);
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
97 filePath = str(filePath)
439
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
98
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
99 def addNewCatalogue(self):
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
100 pass
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
101
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
102 def cantCloseProjectIfOpen(self):
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
103 if self.project == None:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
104 return False
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
105 return self.closeProject()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
106
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
107 def closeProject(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
108 if self.project == None:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
109 return True
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
110
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
111 button = QtGui.QMessageBox.question(self, "Closing", "Close the current project?", QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Cancel)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
112 if button == QtGui.QMessageBox.Cancel:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
113 return False
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
114
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
115 del self.project
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
116 self.project = None
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
117 self.disableMenuItems()
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
118 self.projectTree.clear()
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
119 self.pages.clear()
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
120 return True
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
121
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
122 def enableMenuItems(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
123 self.action_Close_Project.setEnabled(True)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
124 self.menubar.insertMenu(self.menu_Help.menuAction(), self.menu_Project)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
125
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
126 def disableMenuItems(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
127 self.action_Close_Project.setEnabled(False)
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
128 self.menubar.removeAction(self.menu_Project.menuAction())
439
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
129
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
130 def projectTreeItemChanged(self, current, previous):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
131 if current == None:
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
132 return
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
133
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
134 if isinstance(current, LangFileItem):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
135 index = self.pages.indexOf(current.msgForm)
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
136 if index == -1:
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
137 index = self.pages.addWidget(current.msgForm)
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
138 self.pages.setCurrentIndex(index)
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
139 current.msgForm.updateData()
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
140
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
141 def closeEvent(self, event):
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
142 if self.closeProject() == False:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
143 event.ignore()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
144 return
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
145 # Exitting
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
146 self.writeSettings()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
147
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
148 def moveToCenterOfDesktop(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
149 rect = QtGui.QApplication.desktop().geometry()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
150 self.move(rect.center() - self.rect().center())
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
151
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
152 def readSettings(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
153 # Set default size
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
154 self.resize(QtCore.QSize(500, 400))
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
155 doc = {}
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
156 try:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
157 doc = yaml.load(open(g_settingsFile, "r"))
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
158 except:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
159 self.moveToCenterOfDesktop()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
160 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
161
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
162 g_settings = doc
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
163 if not isinstance(doc, dict):
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
164 g_settings = {}
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
165
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
166 try:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
167 coord = doc["Window"]
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
168 size = QtCore.QSize(coord["Size"][0], coord["Size"][1])
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
169 point = QtCore.QPoint(coord["Pos"][0], coord["Pos"][1])
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
170 self.resize(size)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
171 self.move(point)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
172 except:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
173 self.moveToCenterOfDesktop()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
174
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
175 def writeSettings(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
176 # Save window coordinates
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
177 g_settings["Window"] = {
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
178 "Pos" : [self.pos().x(), self.pos().y()],
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
179 "Size" : [self.size().width(), self.size().height()]
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
180 }
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
181 yaml.dump(g_settings, open(g_settingsFile, "w")) #default_flow_style=False
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
182
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
183 class MessageItem(QtGui.QTreeWidgetItem):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
184 def __init__(self, msg):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
185 QtGui.QTreeWidgetItem.__init__(self, [str(msg["ID"]), msg["Text"]])
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
186 self.msg = msg
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
187
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
188 def getID(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
189 return self.msg["ID"]
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
190
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
191 def setMsgText(self, text):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
192 self.msg["Text"] = text
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
193
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
194 def setMsgAnnot(self, text):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
195 self.msg["Annot"] = text
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
196
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
197 class MsgForm(QtGui.QWidget, Ui_MsgForm):
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
198 def __init__(self, langFile):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
199 QtGui.QWidget.__init__(self)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
200 self.setupUi(self)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
201
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
202 self.langFile = langFile
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
203 self.currentItem = None
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
204 self.colID = 0
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
205 self.colText = 1
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
206 self.treeWidget.setColumnCount(2)
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
207 self.treeWidget.setHeaderLabels(["ID", "Text"])
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
208 for msg in self.langFile.messages:
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
209 self.treeWidget.addTopLevelItem(MessageItem(msg))
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
210
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
211 QtCore.QObject.connect(self.treeWidget, QtCore.SIGNAL("currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)"), self.treeItemChanged)
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
212 QtCore.QObject.connect(self.translEdit, QtCore.SIGNAL("textChanged()"), self.translEditTextChanged)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
213 QtCore.QObject.connect(self.translAnnotEdit, QtCore.SIGNAL("textChanged()"), self.translAnnotEditTextChanged)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
214
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
215 #self.translEdit.focusOutEvent = self.translEditFocusOut
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
216
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
217 def treeItemChanged(self, current, previous):
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
218 self.currentItem = current
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
219 if current == None:
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
220 self.setTranslMsg("")
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
221 self.setSourceMsg("")
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
222 return
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
223 ID = current.getID()
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
224 self.setTranslMsg(self.langFile.getMsg(ID))
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
225 self.setSourceMsg(self.langFile.source.getMsg(ID))
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
226
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
227 def setTranslMsg(self, msg):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
228 self.translEdit.setText(msg["Text"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
229 self.translAnnotEdit.setText(msg["Annot"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
230
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
231 def setSourceMsg(self, msg):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
232 self.sourceEdit.setText(msg["Text"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
233 self.sourceAnnotEdit.setText(msg["Annot"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
234
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
235 #def translEditFocusOut(self, event):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
236 #if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
237 #print self.currentItem.text(self.colText)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
238 #if self.translEdit.document().isModified():
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
239 #self.translEdit.document().setModified(False)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
240 #print "translEdit was modified"
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
241 #QtGui.QTextEdit.focusOutEvent(self.translEdit, event)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
242
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
243 def translEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
244 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
245 text = self.translEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
246 self.currentItem.setText(self.colText, text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
247 self.currentItem.setMsgText(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
248
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
249 def translAnnotEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
250 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
251 text = self.translAnnotEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
252 self.currentItem.setMsgAnnot(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
253
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
254 def updateData(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
255 if self.currentItem == None:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
256 return
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
257 ID = self.currentItem.getID()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
258 msg = self.langFile.source.getMsg(ID)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
259 text = self.sourceEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
260 if text != msg["Text"]:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
261 self.sourceEdit.setText(msg["Text"])
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
262 text = self.sourceAnnotEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
263 if text != msg["Annot"]:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
264 self.sourceAnnotEdit.setText(msg["Annot"])
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
265
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
266 class MsgFormSource(MsgForm):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
267 def __init__(self, langFile):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
268 MsgForm.__init__(self, langFile)
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
269
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
270 for x in [self.translEdit,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
271 self.translAnnotEdit,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
272 self.label_4,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
273 self.label_5]:
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
274 x.close()
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
275
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
276 QtCore.QObject.connect(self.sourceEdit, QtCore.SIGNAL("textChanged()"), self.sourceEditTextChanged)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
277 QtCore.QObject.connect(self.sourceAnnotEdit, QtCore.SIGNAL("textChanged()"), self.sourceAnnotEditTextChanged)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
278
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
279 def treeItemChanged(self, current, previous):
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
280 self.currentItem = current
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
281 if current == None:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
282 self.setSourceMsg("")
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
283 return
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
284 ID = current.getID()
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
285 self.setSourceMsg(self.langFile.getMsg(ID))
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
286
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
287 def sourceEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
288 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
289 text = self.sourceEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
290 self.currentItem.setText(self.colText, text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
291 self.currentItem.setMsgText(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
292
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
293 def sourceAnnotEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
294 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
295 text = self.sourceAnnotEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
296 #self.currentItem.setText(self.colAnnot, text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
297 self.currentItem.setMsgAnnot(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
298
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
299
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
300 class MsgIDItem(QtGui.QTreeWidgetItem):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
301 def __init__(self, parent, text):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
302 QtGui.QTreeWidgetItem.__init__(self, parent, [text])
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
303
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
304 class LangFileItem(QtGui.QTreeWidgetItem):
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
305 def __init__(self, parent, langFile):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
306 QtGui.QTreeWidgetItem.__init__(self, parent, [langFile.langCode])
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
307 self.langFile = langFile
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
308 if langFile.isSource:
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
309 self.msgForm = MsgFormSource(langFile)
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
310 else:
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
311 self.msgForm = MsgForm(langFile)
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
312
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
313 class ProjectItem(QtGui.QTreeWidgetItem):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
314 def __init__(self, text):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
315 QtGui.QTreeWidgetItem.__init__(self, [text])
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
316
439
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
317 class ProjectTree(QtGui.QTreeWidget):
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
318 def __init__(self, parent):
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
319 QtGui.QTreeWidget.__init__(self, parent)
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
320 self.topItem = None
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
321 self.msgIDsItem = None
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
322 self.headerItem().setHidden(True)
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
323
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
324 def setProject(self, project):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
325 self.project = project
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
326
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
327 self.topItem = ProjectItem(self.project.name)
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
328 self.addTopLevelItem(self.topItem)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
329
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
330 for langFile in self.project.langFiles:
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
331 langFileItem = LangFileItem(self.topItem, langFile)
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
332
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
333 self.msgIDsItem = QtGui.QTreeWidgetItem(self.topItem, ["Message IDs"])
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
334 for msgID in self.project.msgIDs:
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
335 MsgIDItem(self.msgIDsItem, msgID["Name"])
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
336
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
337 for x in [self.topItem, self.msgIDsItem]:
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
338 x.setExpanded(True)
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
339
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
340 def contextMenuEvent(self, event):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
341 item = self.itemAt(event.pos())
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
342 func_map = {
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
343 None : lambda item: None,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
344 QtGui.QTreeWidgetItem : lambda item: None,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
345 ProjectItem : self.showMenuProjectItem,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
346 LangFileItem : self.showMenuLangFileItem,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
347 MsgIDItem : self.showMenuMsgIDItem
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
348 }
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
349 func_map[type(item)](item)
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
350
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
351 def showMenuProjectItem(self, item):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
352 print "ProjectItem"
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
353
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
354 def showMenuLangFileItem(self, item):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
355 print "LangFileItem"
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
356
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
357 def showMenuMsgIDItem(self, item):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
358 print "MsgIDItem"
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
359
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
360 def clear(self):
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
361 self.topItem = None
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
362 self.msgIDsItem = None
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
363 QtGui.QTreeWidget.clear(self)
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
364
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
365 class NewProjectDialog(QtGui.QDialog, Ui_NewProjectDialog):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
366 def __init__(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
367 QtGui.QDialog.__init__(self)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
368 self.setupUi(self)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
369
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
370 QtCore.QObject.connect(self.pickFileButton, QtCore.SIGNAL("clicked()"), self.pickFilePath)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
371
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
372 def pickFilePath(self):
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
373 filePath = QtGui.QFileDialog.getSaveFileName(self, "New Project File", g_CWD, "Translator Project (*%s)" % g_projectExt);
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
374 if not filePath:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
375 return
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
376 filePath = str(filePath) # Convert QString
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
377 if os.path.splitext(filePath)[1] != g_projectExt:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
378 filePath += g_projectExt
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
379 self.projectFilePath.setText(filePath)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
380
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
381 def accept(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
382 projectName = str(self.projectName.text())
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
383 filePath = str(self.projectFilePath.text())
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
384
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
385 if projectName == "":
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
386 QtGui.QMessageBox.warning(self, "Warning", "Please, enter a name for the project.")
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
387 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
388 if filePath == "":
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
389 QtGui.QMessageBox.warning(self, "Warning", "Please, choose or enter a path for the project file.")
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
390 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
391
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
392 projectData = newProjectData(projectName)
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
393
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
394 if os.path.splitext(filePath)[1] != g_projectExt:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
395 filePath += g_projectExt
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
396
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
397 try:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
398 yaml.dump(projectData, open(filePath, "w"), default_flow_style=False)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
399 except Exception, e:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
400 QtGui.QMessageBox.critical(self, "Error", str(e))
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
401 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
402
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
403 # Accept and close dialog.
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
404 QtGui.QDialog.accept(self)
435
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
405
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
406 if __name__ == "__main__":
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
407 app = QtGui.QApplication(sys.argv)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
408 main = MainWindow()
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
409 main.show()
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
410 sys.exit(app.exec_())