Mercurial > projects > dil
annotate trunk/src/translator/translator.py @ 477:3b5421d40f9b
Translator: major changes and additions.
Moved Close Project menu item to Project menu. Added Save, Save All, Close
and Close All menu items.
Added class Document which all forms inherit from. Documents can indicated
that they have been modified, they can be saved and closed. They are displayed
as pages in the main tab widget.
Fix: signals from changing the text in text controls programatically are
ignored now.
Fix: text taken from text controls must be passed to unicode()
Catching errors from yaml.load() in classes LangFile and Project.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Sat, 10 Nov 2007 23:50:09 +0100 |
parents | 773ddddb583d |
children | 044b5393f8bc |
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 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
25 Qt = QtCore.Qt |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
26 Qt.connect = QtCore.QObject.connect |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
27 Qt.disconnect = QtCore.QObject.disconnect |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
28 Qt.SIGNAL = QtCore.SIGNAL |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
29 Qt.SLOT = QtCore.SLOT |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
30 |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
31 def QTabWidgetCloseAll(self): |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
32 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
|
33 widget = self.widget(0) |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
34 self.removeTab(0) |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
35 widget.close() |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
36 QtGui.QTabWidget.closeAll = QTabWidgetCloseAll |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
37 |
436
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
38 class MainWindow(QtGui.QMainWindow, Ui_MainWindow): |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
39 def __init__(self): |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
40 QtGui.QMainWindow.__init__(self) |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
41 self.setupUi(self) |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
42 |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
43 self.project = None |
436
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
44 # Modifications |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
45 self.pages = QtGui.QTabWidget() |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
46 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
|
47 self.disableMenuItems() |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
48 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
|
49 self.projectTree = ProjectTree(self.projectDock) |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
50 self.projectDock.setWidget(self.projectTree) |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
51 self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.projectDock) |
436
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
52 # Custom connections |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
53 Qt.connect(self.action_About, Qt.SIGNAL("triggered()"), self.showAboutDialog) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
54 Qt.connect(self.action_New_Project, Qt.SIGNAL("triggered()"), self.createNewProject) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
55 Qt.connect(self.action_Open_Project, Qt.SIGNAL("triggered()"), self.openProjectAction) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
56 Qt.connect(self.action_Close_Project, Qt.SIGNAL("triggered()"), self.closeProject) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
57 Qt.connect(self.action_Save, Qt.SIGNAL("triggered()"), self.saveForm) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
58 Qt.connect(self.action_Save_All, Qt.SIGNAL("triggered()"), self.saveAllForms) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
59 Qt.connect(self.action_Close, Qt.SIGNAL("triggered()"), self.closeForm) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
60 Qt.connect(self.action_Close_All, Qt.SIGNAL("triggered()"), self.closeAllForms) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
61 Qt.connect(self.action_Properties, Qt.SIGNAL("triggered()"), self.showProjectProperties) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
62 Qt.connect(self.action_Add_Catalogue, Qt.SIGNAL("triggered()"), self.addCatalogue) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
63 Qt.connect(self.action_Add_New_Catalogue, QtCore.SIGNAL("triggered()"), self.addNewCatalogue) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
64 Qt.connect(self.projectTree, Qt.SIGNAL("itemDoubleClicked(QTreeWidgetItem*,int)"), self.projectTreeItemDblClicked) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
65 Qt.connect(self.projectTree, Qt.SIGNAL("onKeyEnter"), self.projectTreeItemActivated) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
66 Qt.connect(self.projectTree, Qt.SIGNAL("onKeyDelete"), self.projectTreeItemDeleted) |
436
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
67 |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
68 self.readSettings() |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
69 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
70 def showAboutDialog(self): |
436
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
71 about = QtGui.QDialog() |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
72 Ui_AboutDialog().setupUi(about) |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
73 about.exec_() |
435
156d6301d79e
Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
74 |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
75 def showProjectProperties(self): |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
76 dialog = QtGui.QDialog() |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
77 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
|
78 dialog.exec_() |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
79 |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
80 def createNewProject(self): |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
81 if self.cantCloseProjectIfOpen(): |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
82 return |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
83 dialog = NewProjectDialog() |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
84 code = dialog.exec_() |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
85 if code == QtGui.QDialog.Accepted: |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
86 self.openProject(str(dialog.projectFilePath.text())) |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
87 |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
88 def openProjectAction(self): |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
89 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
|
90 return |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
91 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
|
92 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
|
93 if filePath: |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
94 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
|
95 |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
96 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
|
97 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
|
98 try: |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
99 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
|
100 except LoadingError, e: |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
101 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
|
102 return |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
103 self.enableMenuItems() |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
104 self.projectTree.setProject(self.project) |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
105 |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
106 def addCatalogue(self): |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
107 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
|
108 filePath = str(filePath) |
439
cdbb2bf6dd07
Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
438
diff
changeset
|
109 |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
110 def addNewCatalogue(self): |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
111 pass |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
112 |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
113 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
|
114 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
|
115 return False |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
116 return self.closeProject() |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
117 |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
118 def closeProject(self): |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
119 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
|
120 return True |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
121 MB = QtGui.QMessageBox |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
122 button = MB.question(self, "Closing", "Close the current project?", MB.Ok | MB.Cancel, MB.Cancel) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
123 if button == MB.Cancel: |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
124 return False |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
125 |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
126 del self.project |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
127 self.project = None |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
128 self.disableMenuItems() |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
129 self.projectTree.clear() |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
130 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
|
131 return True |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
132 |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
133 def enableMenuItems(self): |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
134 #self.action_Close_Project.setEnabled(True) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
135 for action in [ self.action_Save, |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
136 self.action_Save_All, |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
137 self.action_Close, |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
138 self.action_Close_All ]: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
139 action.setEnabled(True) |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
140 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
|
141 |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
142 def disableMenuItems(self): |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
143 #self.action_Close_Project.setEnabled(False) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
144 for action in [ self.action_Save, |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
145 self.action_Save_All, |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
146 self.action_Close, |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
147 self.action_Close_All ]: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
148 action.setEnabled(False) |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
149 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
|
150 |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
151 def projectTreeItemDblClicked(self, item, int): |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
152 self.projectTreeItemActivated(item) |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
153 |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
154 def projectTreeItemActivated(self, item): |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
155 if item == None: |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
156 return |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
157 |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
158 if isinstance(item, LangFileItem): |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
159 msgForm = None |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
160 if not item.isDocOpen(): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
161 msgForm = item.openDoc() |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
162 msgForm.setModifiedCallback(self.formModified) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
163 index = self.pages.indexOf(msgForm) |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
164 if index == -1: |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
165 index = self.pages.addTab(msgForm, msgForm.getDocumentTitle()) |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
166 self.pages.setCurrentIndex(index) |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
167 msgForm.updateData() |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
168 |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
169 def projectTreeItemDeleted(self, item): |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
170 pass |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
171 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
172 def formModified(self, form): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
173 # Append an asterisk to the tab label |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
174 index = self.pages.indexOf(form) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
175 text = form.getDocumentTitle() + "*" |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
176 self.pages.setTabText(index, text) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
177 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
178 def saveForm(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
179 self.saveDocument(self.pages.currentWidget()) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
180 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
181 def saveAllForms(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
182 for i in range(0, self.pages.count()): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
183 self.saveDocument(self.pages.widget(i)) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
184 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
185 def saveDocument(self, form): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
186 if form.isModified: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
187 index = self.pages.indexOf(form) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
188 text = form.getDocumentTitle() |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
189 self.pages.setTabText(index, text) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
190 form.save() |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
191 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
192 def closeForm(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
193 if self.pages.currentWidget(): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
194 self.closeDocument(self.pages.currentWidget()) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
195 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
196 def closeAllForms(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
197 for i in range(0, self.pages.count()): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
198 self.closeDocument(self.pages.widget(i)) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
199 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
200 def closeDocument(self, form): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
201 if form.isModified: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
202 MB = QtGui.QMessageBox |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
203 button = MB.question(self, "Closing Document", "The document '%s' has been modified.\nDo you want to save the changes?" % form.getDocumentFullPath(), MB.Save | MB.Discard | MB.Cancel, MB.Cancel) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
204 if button == MB.Cancel: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
205 return False |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
206 if button == MB.Save: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
207 self.saveDocument(form) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
208 index = self.pages.indexOf(form) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
209 self.pages.removeTab(index) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
210 form.close() |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
211 return True |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
212 |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
213 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
|
214 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
|
215 event.ignore() |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
216 return |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
217 self.writeSettings() |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
218 # Closing application |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
219 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
220 def moveToCenterOfDesktop(self): |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
221 rect = QtGui.QApplication.desktop().geometry() |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
222 self.move(rect.center() - self.rect().center()) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
223 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
224 def readSettings(self): |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
225 # Set default size |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
226 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
|
227 doc = {} |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
228 try: |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
229 doc = yaml.load(open(g_settingsFile, "r")) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
230 except: |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
231 self.moveToCenterOfDesktop() |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
232 return |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
233 |
438
2c177053cd15
Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
437
diff
changeset
|
234 g_settings = doc |
2c177053cd15
Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
437
diff
changeset
|
235 if not isinstance(doc, dict): |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
236 g_settings = {} |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
237 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
238 try: |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
239 coord = doc["Window"] |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
240 size = QtCore.QSize(coord["Size"][0], coord["Size"][1]) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
241 point = QtCore.QPoint(coord["Pos"][0], coord["Pos"][1]) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
242 self.resize(size) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
243 self.move(point) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
244 except: |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
245 self.moveToCenterOfDesktop() |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
246 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
247 def writeSettings(self): |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
248 # Save window coordinates |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
249 g_settings["Window"] = { |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
250 "Pos" : [self.pos().x(), self.pos().y()], |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
251 "Size" : [self.size().width(), self.size().height()] |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
252 } |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
253 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
|
254 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
255 |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
256 class MessageItem(QtGui.QTreeWidgetItem): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
257 def __init__(self, msg): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
258 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
|
259 self.msg = msg |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
260 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
261 def getID(self): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
262 return self.msg["ID"] |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
263 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
264 def setMsgText(self, text): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
265 self.msg["Text"] = text |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
266 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
267 def setMsgAnnot(self, text): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
268 self.msg["Annot"] = text |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
269 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
270 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
271 class Document(QtGui.QWidget): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
272 def __init__(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
273 QtGui.QWidget.__init__(self) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
274 self.isModified = False |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
275 self.modifiedCallback = None |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
276 self.documentTitle = "" |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
277 self.documentFullPath = "" |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
278 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
279 def modified(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
280 if not self.isModified: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
281 self.isModified = True |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
282 self.modifiedCallback(self) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
283 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
284 def setModifiedCallback(self, func): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
285 self.modifiedCallback = func |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
286 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
287 def save(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
288 self.isModified = False |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
289 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
290 def close(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
291 self.emit(Qt.SIGNAL("closed()")) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
292 QtGui.QWidget.close(self) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
293 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
294 def getDocumentTitle(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
295 return self.documentTitle |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
296 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
297 def getDocumentFullPath(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
298 return self.documentFullPath |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
299 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
300 class MsgForm(Document, Ui_MsgForm): |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
301 def __init__(self, langFile): |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
302 Document.__init__(self) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
303 self.documentTitle = langFile.getFileName() |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
304 self.documentFullPath = langFile.getFilePath() |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
305 self.setupUi(self) |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
306 self.vboxlayout.setMargin(0) |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
307 |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
308 self.langFile = langFile |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
309 self.currentItem = None |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
310 self.colID = 0 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
311 self.colText = 1 |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
312 self.treeWidget.setColumnCount(2) |
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
313 self.treeWidget.setHeaderLabels(["ID", "Text"]) |
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
314 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
|
315 self.treeWidget.addTopLevelItem(MessageItem(msg)) |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
316 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
317 Qt.connect(self.treeWidget, Qt.SIGNAL("currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)"), self.treeItemChanged) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
318 Qt.connect(self.translEdit, Qt.SIGNAL("textChanged()"), self.translEditTextChanged) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
319 Qt.connect(self.translAnnotEdit, Qt.SIGNAL("textChanged()"), self.translAnnotEditTextChanged) |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
320 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
321 #self.translEdit.focusOutEvent = self.translEditFocusOut |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
322 |
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
323 def treeItemChanged(self, current, previous): |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
324 if current == None: |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
325 self.setTranslMsg("") |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
326 self.setSourceMsg("") |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
327 return |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
328 ID = current.getID() |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
329 # Set the text controls. |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
330 # The slots receiving text changed signals do nothing if self.currentItem is None. |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
331 self.currentItem = None |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
332 self.setTranslMsg(self.langFile.getMsg(ID)) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
333 self.setSourceMsg(self.langFile.source.getMsg(ID)) |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
334 self.currentItem = current |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
335 |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
336 def setTranslMsg(self, msg): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
337 self.translEdit.setText(msg["Text"]) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
338 self.translAnnotEdit.setText(msg["Annot"]) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
339 |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
340 def setSourceMsg(self, msg): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
341 self.sourceEdit.setText(msg["Text"]) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
342 self.sourceAnnotEdit.setText(msg["Annot"]) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
343 |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
344 #def translEditFocusOut(self, event): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
345 #if self.currentItem: |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
346 #print self.currentItem.text(self.colText) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
347 #if self.translEdit.document().isModified(): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
348 #self.translEdit.document().setModified(False) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
349 #print "translEdit was modified" |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
350 #QtGui.QTextEdit.focusOutEvent(self.translEdit, event) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
351 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
352 def translEditTextChanged(self): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
353 if self.currentItem: |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
354 text = unicode(self.translEdit.toPlainText()) |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
355 self.currentItem.setText(self.colText, text) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
356 self.currentItem.setMsgText(text) |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
357 self.modified() |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
358 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
359 def translAnnotEditTextChanged(self): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
360 if self.currentItem: |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
361 text = unicode(self.translAnnotEdit.toPlainText()) |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
362 self.currentItem.setMsgAnnot(text) |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
363 self.modified() |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
364 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
365 def updateData(self): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
366 if self.currentItem == None: |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
367 return |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
368 ID = self.currentItem.getID() |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
369 msg = self.langFile.source.getMsg(ID) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
370 text = self.sourceEdit.toPlainText() |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
371 if text != msg["Text"]: |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
372 self.sourceEdit.setText(msg["Text"]) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
373 text = self.sourceAnnotEdit.toPlainText() |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
374 if text != msg["Annot"]: |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
375 self.sourceAnnotEdit.setText(msg["Annot"]) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
376 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
377 def save(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
378 Document.save(self) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
379 self.langFile.save() |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
380 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
381 |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
382 class MsgFormSource(MsgForm): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
383 def __init__(self, langFile): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
384 MsgForm.__init__(self, langFile) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
385 |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
386 for x in [self.translEdit, |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
387 self.translAnnotEdit, |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
388 self.label_4, |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
389 self.label_5]: |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
390 x.close() |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
391 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
392 Qt.connect(self.sourceEdit, Qt.SIGNAL("textChanged()"), self.sourceEditTextChanged) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
393 Qt.connect(self.sourceAnnotEdit, Qt.SIGNAL("textChanged()"), self.sourceAnnotEditTextChanged) |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
394 |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
395 def treeItemChanged(self, current, previous): |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
396 if current == None: |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
397 self.setSourceMsg("") |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
398 return |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
399 ID = current.getID() |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
400 self.currentItem = None |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
401 self.setSourceMsg(self.langFile.getMsg(ID)) |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
402 self.currentItem = current |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
403 |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
404 def sourceEditTextChanged(self): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
405 if self.currentItem: |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
406 text = unicode(self.sourceEdit.toPlainText()) |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
407 self.currentItem.setText(self.colText, text) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
408 self.currentItem.setMsgText(text) |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
409 self.modified() |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
410 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
411 def sourceAnnotEditTextChanged(self): |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
412 if self.currentItem: |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
413 text = unicode(self.sourceAnnotEdit.toPlainText()) |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
414 #self.currentItem.setText(self.colAnnot, text) |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
415 self.currentItem.setMsgAnnot(text) |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
416 self.modified() |
475
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
417 |
70fdd0701a77
Translator: messages can be edited now.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
472
diff
changeset
|
418 |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
419 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
|
420 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
|
421 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
|
422 |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
423 class LangFileItem(QtGui.QTreeWidgetItem): |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
424 def __init__(self, parent, langFile): |
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
425 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
|
426 self.langFile = langFile |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
427 self.msgForm = None |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
428 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
429 def isDocOpen(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
430 return self.msgForm != None |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
431 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
432 def openDoc(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
433 if self.msgForm == None: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
434 if self.langFile.isSource: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
435 self.msgForm = MsgFormSource(self.langFile) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
436 else: |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
437 self.msgForm = MsgForm(self.langFile) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
438 Qt.connect(self.msgForm, Qt.SIGNAL("closed()"), self.docClosed) |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
439 return self.msgForm |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
440 |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
441 def docClosed(self): |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
442 print "docClosed()" |
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
443 self.msgForm = None |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
444 |
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
445 class ProjectItem(QtGui.QTreeWidgetItem): |
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
446 def __init__(self, text): |
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
447 QtGui.QTreeWidgetItem.__init__(self, [text]) |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
448 |
439
cdbb2bf6dd07
Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
438
diff
changeset
|
449 class ProjectTree(QtGui.QTreeWidget): |
cdbb2bf6dd07
Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
438
diff
changeset
|
450 def __init__(self, parent): |
cdbb2bf6dd07
Translator: applied some fixes and made some additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
438
diff
changeset
|
451 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
|
452 self.topItem = None |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
453 self.msgIDsItem = None |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
454 self.headerItem().setHidden(True) |
438
2c177053cd15
Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
437
diff
changeset
|
455 |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
456 def keyReleaseEvent(self, event): |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
457 Qt = QtCore.Qt |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
458 key = event.key() |
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
459 if key in [Qt.Key_Enter, Qt.Key_Return]: |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
460 self.emit(Qt.SIGNAL("onKeyEnter"), self.currentItem()) |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
461 elif key == Qt.Key_Delete: |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
462 self.emit(Qt.SIGNAL("onKeyDelete"), self.currentItem()) |
476
773ddddb583d
Translator: made central widget a QTabWidget.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
475
diff
changeset
|
463 |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
464 def setProject(self, project): |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
465 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
|
466 |
471
b6fa41e6f0b4
Translator: implemented some functionality of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
460
diff
changeset
|
467 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
|
468 self.addTopLevelItem(self.topItem) |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
469 |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
470 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
|
471 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
|
472 |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
473 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
|
474 for msgID in self.project.msgIDs: |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
475 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
|
476 |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
477 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
|
478 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
|
479 |
472
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
480 def contextMenuEvent(self, event): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
481 item = self.itemAt(event.pos()) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
482 func_map = { |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
483 None : lambda item: None, |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
484 QtGui.QTreeWidgetItem : lambda item: None, |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
485 ProjectItem : self.showMenuProjectItem, |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
486 LangFileItem : self.showMenuLangFileItem, |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
487 MsgIDItem : self.showMenuMsgIDItem |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
488 } |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
489 func_map[type(item)](item) |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
490 |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
491 def showMenuProjectItem(self, item): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
492 print "ProjectItem" |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
493 |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
494 def showMenuLangFileItem(self, item): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
495 print "LangFileItem" |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
496 |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
497 def showMenuMsgIDItem(self, item): |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
498 print "MsgIDItem" |
30925590f392
Translator: implemented more functionalities of MsgForm.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
471
diff
changeset
|
499 |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
500 def clear(self): |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
501 self.topItem = None |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
502 self.msgIDsItem = None |
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
503 QtGui.QTreeWidget.clear(self) |
438
2c177053cd15
Translator: added modules langfile and project.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
437
diff
changeset
|
504 |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
505 class NewProjectDialog(QtGui.QDialog, Ui_NewProjectDialog): |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
506 def __init__(self): |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
507 QtGui.QDialog.__init__(self) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
508 self.setupUi(self) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
509 |
477
3b5421d40f9b
Translator: major changes and additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
476
diff
changeset
|
510 Qt.connect(self.pickFileButton, Qt.SIGNAL("clicked()"), self.pickFilePath) |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
511 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
512 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
|
513 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
|
514 if not filePath: |
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
515 return |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
516 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
|
517 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
|
518 filePath += g_projectExt |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
519 self.projectFilePath.setText(filePath) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
520 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
521 def accept(self): |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
522 projectName = str(self.projectName.text()) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
523 filePath = str(self.projectFilePath.text()) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
524 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
525 if projectName == "": |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
526 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
|
527 return |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
528 if filePath == "": |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
529 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
|
530 return |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
531 |
460
77c17bbe9d20
Translator: added new modules; applied fixes.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
442
diff
changeset
|
532 projectData = newProjectData(projectName) |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
533 |
442
5968e273449b
Translator: added new modules; made fixes and many additions.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
439
diff
changeset
|
534 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
|
535 filePath += g_projectExt |
437
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
536 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
537 try: |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
538 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
|
539 except Exception, e: |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
540 QtGui.QMessageBox.critical(self, "Error", str(e)) |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
541 return |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
542 |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
543 # Accept and close dialog. |
7ac9f94ca7ff
Translator: added NewProjectDialog.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
436
diff
changeset
|
544 QtGui.QDialog.accept(self) |
435
156d6301d79e
Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
545 |
156d6301d79e
Added PyQt4 application for creating and managing translations.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
546 if __name__ == "__main__": |
436
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
547 app = QtGui.QApplication(sys.argv) |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
548 main = MainWindow() |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
549 main.show() |
0dba4c0e5234
Added AboutDialog to translator.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
435
diff
changeset
|
550 sys.exit(app.exec_()) |