annotate trunk/src/translator/translator.py @ 476:773ddddb583d

Translator: made central widget a QTabWidget. ProjectTree emits signals for keys enter and delete.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Fri, 09 Nov 2007 16:06:06 +0100
parents 70fdd0701a77
children 3b5421d40f9b
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
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
25 def QTabWidgetCloseAll(self):
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
26 for i in range(0, self.count()):
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
27 widget = self.widget(0)
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
28 self.removeTab(0)
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
29 widget.close()
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
30 QtGui.QTabWidget.closeAll = QTabWidgetCloseAll
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
31
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
32 class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
33 def __init__(self):
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
34 QtGui.QMainWindow.__init__(self)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
35 self.setupUi(self)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
36
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
37 self.project = None
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
38 # Modifications
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
39 self.pages = QtGui.QTabWidget()
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
40 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
41 self.disableMenuItems()
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
42 self.projectDock = QtGui.QDockWidget("Project", self)
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
43 self.projectTree = ProjectTree(self.projectDock)
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
44 self.projectDock.setWidget(self.projectTree)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
45 self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.projectDock)
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
46 # Custom connections
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
47 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
48 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
49 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
50 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
51 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
52 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
53 QtCore.QObject.connect(self.action_Add_New_Catalogue, QtCore.SIGNAL("triggered()"), self.addNewCatalogue)
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
54 QtCore.QObject.connect(self.projectTree, QtCore.SIGNAL("itemDoubleClicked(QTreeWidgetItem*,int)"), self.projectTreeItemDblClicked)
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
55 QtCore.QObject.connect(self.projectTree, QtCore.SIGNAL("onKeyEnter"), self.projectTreeItemActivated)
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
56 QtCore.QObject.connect(self.projectTree, QtCore.SIGNAL("onKeyDelete"), self.projectTreeItemDeleted)
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
57
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
58 self.readSettings()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
59
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
60 def showAboutDialog(self):
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
61 about = QtGui.QDialog()
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
62 Ui_AboutDialog().setupUi(about)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
63 about.exec_()
435
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
64
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
65 def showProjectProperties(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
66 dialog = QtGui.QDialog()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
67 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
68 dialog.exec_()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
69
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
70 def createNewProject(self):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
71 if self.cantCloseProjectIfOpen():
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
72 return
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
73 dialog = NewProjectDialog()
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
74 code = dialog.exec_()
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
75 if code == QtGui.QDialog.Accepted:
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
76 self.openProject(str(dialog.projectFilePath.text()))
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
77
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
78 def openProjectAction(self):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
79 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
80 return
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
81 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
82 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
83 if filePath:
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
84 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
85
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
86 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
87 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
88 try:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
89 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
90 except LoadingError, e:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
91 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
92 return
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
93 self.enableMenuItems()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
94 self.projectTree.setProject(self.project)
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
95
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
96 def addCatalogue(self):
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
97 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
98 filePath = str(filePath)
439
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
99
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
100 def addNewCatalogue(self):
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
101 pass
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
102
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
103 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
104 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
105 return False
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
106 return self.closeProject()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
107
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
108 def closeProject(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
109 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
110 return True
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
111
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
112 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
113 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
114 return False
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
115
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
116 del self.project
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
117 self.project = None
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
118 self.disableMenuItems()
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
119 self.projectTree.clear()
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
120 self.pages.closeAll()
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
121 return True
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
122
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
123 def enableMenuItems(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
124 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
125 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
126
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
127 def disableMenuItems(self):
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
128 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
129 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
130
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
131 def projectTreeItemDblClicked(self, item, int):
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
132 self.projectTreeItemActivated(item)
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
133
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
134 def projectTreeItemActivated(self, item):
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
135 if item == None:
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
136 return
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
137
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
138 if isinstance(item, LangFileItem):
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
139 index = self.pages.indexOf(item.msgForm)
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
140 if index == -1:
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
141 index = self.pages.addTab(item.msgForm, item.text(0))
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
142 self.pages.setCurrentIndex(index)
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
143 item.msgForm.updateData()
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
144
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
145 def projectTreeItemDeleted(self, item):
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
146 pass
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
147
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
148 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
149 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
150 event.ignore()
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
151 return
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
152 # Exitting
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
153 self.writeSettings()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
154
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
155 def moveToCenterOfDesktop(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
156 rect = QtGui.QApplication.desktop().geometry()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
157 self.move(rect.center() - self.rect().center())
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
158
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
159 def readSettings(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
160 # Set default size
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
161 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
162 doc = {}
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
163 try:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
164 doc = yaml.load(open(g_settingsFile, "r"))
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
165 except:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
166 self.moveToCenterOfDesktop()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
167 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
168
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
169 g_settings = doc
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
170 if not isinstance(doc, dict):
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
171 g_settings = {}
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
172
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
173 try:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
174 coord = doc["Window"]
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
175 size = QtCore.QSize(coord["Size"][0], coord["Size"][1])
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
176 point = QtCore.QPoint(coord["Pos"][0], coord["Pos"][1])
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
177 self.resize(size)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
178 self.move(point)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
179 except:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
180 self.moveToCenterOfDesktop()
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
181
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
182 def writeSettings(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
183 # Save window coordinates
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
184 g_settings["Window"] = {
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
185 "Pos" : [self.pos().x(), self.pos().y()],
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
186 "Size" : [self.size().width(), self.size().height()]
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
187 }
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
188 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
189
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
190 class MessageItem(QtGui.QTreeWidgetItem):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
191 def __init__(self, msg):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
192 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
193 self.msg = msg
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
194
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
195 def getID(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
196 return self.msg["ID"]
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
197
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
198 def setMsgText(self, text):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
199 self.msg["Text"] = text
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
200
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
201 def setMsgAnnot(self, text):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
202 self.msg["Annot"] = text
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
203
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
204 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
205 def __init__(self, langFile):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
206 QtGui.QWidget.__init__(self)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
207 self.setupUi(self)
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
208 self.vboxlayout.setMargin(0)
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
209
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
210 self.langFile = langFile
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
211 self.currentItem = None
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
212 self.colID = 0
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
213 self.colText = 1
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
214 self.treeWidget.setColumnCount(2)
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
215 self.treeWidget.setHeaderLabels(["ID", "Text"])
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
216 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
217 self.treeWidget.addTopLevelItem(MessageItem(msg))
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
218
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
219 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
220 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
221 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
222
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
223 #self.translEdit.focusOutEvent = self.translEditFocusOut
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
224
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
225 def treeItemChanged(self, current, previous):
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
226 self.currentItem = current
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
227 if current == None:
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
228 self.setTranslMsg("")
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
229 self.setSourceMsg("")
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
230 return
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
231 ID = current.getID()
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
232 self.setTranslMsg(self.langFile.getMsg(ID))
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
233 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
234
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
235 def setTranslMsg(self, msg):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
236 self.translEdit.setText(msg["Text"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
237 self.translAnnotEdit.setText(msg["Annot"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
238
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
239 def setSourceMsg(self, msg):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
240 self.sourceEdit.setText(msg["Text"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
241 self.sourceAnnotEdit.setText(msg["Annot"])
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
242
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
243 #def translEditFocusOut(self, event):
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 #print self.currentItem.text(self.colText)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
246 #if self.translEdit.document().isModified():
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
247 #self.translEdit.document().setModified(False)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
248 #print "translEdit was modified"
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
249 #QtGui.QTextEdit.focusOutEvent(self.translEdit, event)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
250
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
251 def translEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
252 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
253 text = self.translEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
254 self.currentItem.setText(self.colText, text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
255 self.currentItem.setMsgText(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
256
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
257 def translAnnotEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
258 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
259 text = self.translAnnotEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
260 self.currentItem.setMsgAnnot(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
261
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
262 def updateData(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
263 if self.currentItem == None:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
264 return
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
265 ID = self.currentItem.getID()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
266 msg = self.langFile.source.getMsg(ID)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
267 text = self.sourceEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
268 if text != msg["Text"]:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
269 self.sourceEdit.setText(msg["Text"])
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
270 text = self.sourceAnnotEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
271 if text != msg["Annot"]:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
272 self.sourceAnnotEdit.setText(msg["Annot"])
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
273
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
274 class MsgFormSource(MsgForm):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
275 def __init__(self, langFile):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
276 MsgForm.__init__(self, langFile)
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
277
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
278 for x in [self.translEdit,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
279 self.translAnnotEdit,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
280 self.label_4,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
281 self.label_5]:
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
282 x.close()
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
283
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
284 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
285 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
286
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
287 def treeItemChanged(self, current, previous):
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
288 self.currentItem = current
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
289 if current == None:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
290 self.setSourceMsg("")
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
291 return
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
292 ID = current.getID()
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
293 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
294
475
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
295 def sourceEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
296 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
297 text = self.sourceEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
298 self.currentItem.setText(self.colText, text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
299 self.currentItem.setMsgText(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
300
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
301 def sourceAnnotEditTextChanged(self):
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
302 if self.currentItem:
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
303 text = self.sourceAnnotEdit.toPlainText()
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
304 #self.currentItem.setText(self.colAnnot, text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
305 self.currentItem.setMsgAnnot(text)
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
306
70fdd0701a77 Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 472
diff changeset
307
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
308 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
309 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
310 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
311
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
312 class LangFileItem(QtGui.QTreeWidgetItem):
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
313 def __init__(self, parent, langFile):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
314 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
315 self.langFile = langFile
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
316 if langFile.isSource:
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
317 self.msgForm = MsgFormSource(langFile)
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
318 else:
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
319 self.msgForm = MsgForm(langFile)
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
320
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
321 class ProjectItem(QtGui.QTreeWidgetItem):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
322 def __init__(self, text):
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
323 QtGui.QTreeWidgetItem.__init__(self, [text])
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
324
439
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
325 class ProjectTree(QtGui.QTreeWidget):
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
326 def __init__(self, parent):
cdbb2bf6dd07 Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 438
diff changeset
327 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
328 self.topItem = None
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
329 self.msgIDsItem = None
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
330 self.headerItem().setHidden(True)
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
331
476
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
332 def keyReleaseEvent(self, event):
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
333 Qt = QtCore.Qt
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
334 key = event.key()
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
335 if key in [Qt.Key_Enter, Qt.Key_Return]:
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
336 self.emit(QtCore.SIGNAL("onKeyEnter"), self.currentItem())
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
337 elif key == Qt.Key_Delete:
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
338 self.emit(QtCore.SIGNAL("onKeyDelete"), self.currentItem())
773ddddb583d Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 475
diff changeset
339
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
340 def setProject(self, project):
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
341 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
342
471
b6fa41e6f0b4 Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 460
diff changeset
343 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
344 self.addTopLevelItem(self.topItem)
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
345
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
346 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
347 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
348
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
349 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
350 for msgID in self.project.msgIDs:
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
351 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
352
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
353 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
354 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
355
472
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
356 def contextMenuEvent(self, event):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
357 item = self.itemAt(event.pos())
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
358 func_map = {
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
359 None : lambda item: None,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
360 QtGui.QTreeWidgetItem : lambda item: None,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
361 ProjectItem : self.showMenuProjectItem,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
362 LangFileItem : self.showMenuLangFileItem,
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
363 MsgIDItem : self.showMenuMsgIDItem
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
364 }
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
365 func_map[type(item)](item)
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
366
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
367 def showMenuProjectItem(self, item):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
368 print "ProjectItem"
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
369
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
370 def showMenuLangFileItem(self, item):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
371 print "LangFileItem"
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
372
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
373 def showMenuMsgIDItem(self, item):
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
374 print "MsgIDItem"
30925590f392 Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 471
diff changeset
375
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
376 def clear(self):
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
377 self.topItem = None
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
378 self.msgIDsItem = None
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
379 QtGui.QTreeWidget.clear(self)
438
2c177053cd15 Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 437
diff changeset
380
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
381 class NewProjectDialog(QtGui.QDialog, Ui_NewProjectDialog):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
382 def __init__(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
383 QtGui.QDialog.__init__(self)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
384 self.setupUi(self)
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
385
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
386 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
387
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
388 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
389 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
390 if not filePath:
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
391 return
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
392 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
393 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
394 filePath += g_projectExt
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
395 self.projectFilePath.setText(filePath)
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 def accept(self):
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
398 projectName = str(self.projectName.text())
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
399 filePath = str(self.projectFilePath.text())
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
400
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
401 if projectName == "":
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
402 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
403 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
404 if filePath == "":
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
405 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
406 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
407
460
77c17bbe9d20 Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 442
diff changeset
408 projectData = newProjectData(projectName)
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
409
442
5968e273449b Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 439
diff changeset
410 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
411 filePath += g_projectExt
437
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
412
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
413 try:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
414 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
415 except Exception, e:
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
416 QtGui.QMessageBox.critical(self, "Error", str(e))
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
417 return
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
418
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
419 # Accept and close dialog.
7ac9f94ca7ff Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 436
diff changeset
420 QtGui.QDialog.accept(self)
435
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
421
156d6301d79e Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
422 if __name__ == "__main__":
436
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
423 app = QtGui.QApplication(sys.argv)
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
424 main = MainWindow()
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
425 main.show()
0dba4c0e5234 Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 435
diff changeset
426 sys.exit(app.exec_())