Mercurial > projects > dil
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 |
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_()) |