Tools/TRPreviewer.py

changeset 500
c3abc7895a01
parent 461
34528aaedf1c
child 512
4d765043b3ce
equal deleted inserted replaced
499:622ab17a68d5 500:c3abc7895a01
77 self.TRPreviewerLayout.addLayout(self.languageLayout) 77 self.TRPreviewerLayout.addLayout(self.languageLayout)
78 78
79 self.preview = WidgetWorkspace(self.cw) 79 self.preview = WidgetWorkspace(self.cw)
80 self.preview.setObjectName("preview") 80 self.preview.setObjectName("preview")
81 self.TRPreviewerLayout.addWidget(self.preview) 81 self.TRPreviewerLayout.addWidget(self.preview)
82 self.connect(self.preview, SIGNAL('lastWidgetClosed'), self.__updateActions) 82 self.preview.lastWidgetClosed.connect(self.__updateActions)
83 83
84 self.setCentralWidget(self.cw) 84 self.setCentralWidget(self.cw)
85 85
86 self.connect(self.languageCombo,SIGNAL("activated(const QString&)"), 86 self.languageComboactivated[str].connect(self.setTranslation)
87 self.setTranslation)
88 87
89 self.translations = TranslationsDict(self.languageCombo, self) 88 self.translations = TranslationsDict(self.languageCombo, self)
90 self.connect(self.translations, SIGNAL('translationChanged'), 89 self.translations.translationChanged.connect(self.preview.rebuildWidgets)
91 self.preview, SIGNAL('rebuildWidgets'))
92 90
93 self.__initActions() 91 self.__initActions()
94 self.__initMenus() 92 self.__initMenus()
95 self.__initToolbars() 93 self.__initToolbars()
96 94
97 self.__updateActions() 95 self.__updateActions()
98 96
99 # fire up the single application server 97 # fire up the single application server
100 self.SAServer = TRSingleApplicationServer(self) 98 self.SAServer = TRSingleApplicationServer(self)
101 self.connect(self.SAServer, SIGNAL('loadForm'), self.preview.loadWidget) 99 self.SAServer.loadForm.connect(self.preview.loadWidget)
102 self.connect(self.SAServer, SIGNAL('loadTranslation'), self.translations.add) 100 self.SAServer.loadTranslation.connect(self.translations.add)
103 101
104 # defere loading of a UI file until we are shown 102 # defere loading of a UI file until we are shown
105 self.filesToLoad = filenames[:] 103 self.filesToLoad = filenames[:]
106 104
107 def show(self): 105 def show(self):
261 menu.addAction(self.exitAct) 259 menu.addAction(self.exitAct)
262 260
263 self.windowMenu = mb.addMenu(self.trUtf8('&Window')) 261 self.windowMenu = mb.addMenu(self.trUtf8('&Window'))
264 self.windowMenu.setTearOffEnabled(True) 262 self.windowMenu.setTearOffEnabled(True)
265 self.windowMenu.aboutToShow.connect(self.__showWindowMenu) 263 self.windowMenu.aboutToShow.connect(self.__showWindowMenu)
266 self.connect(self.windowMenu, SIGNAL('triggered(QAction *)'), 264 self.windowMenu.triggered.connect(self.preview.toggleSelectedWidget)
267 self.preview.toggleSelectedWidget)
268 265
269 mb.addSeparator() 266 mb.addSeparator()
270 267
271 menu = mb.addMenu(self.trUtf8('&Help')) 268 menu = mb.addMenu(self.trUtf8('&Help'))
272 menu.setTearOffEnabled(True) 269 menu.setTearOffEnabled(True)
408 """ 405 """
409 Class to store all loaded translations. 406 Class to store all loaded translations.
410 407
411 @signal translationChanged() emit after a translator was set 408 @signal translationChanged() emit after a translator was set
412 """ 409 """
410 translationChanged = pyqtSignal()
411
413 def __init__(self, selector, parent): 412 def __init__(self, selector, parent):
414 """ 413 """
415 Constructor 414 Constructor
416 415
417 @param selector reference to the QComboBox used to show the 416 @param selector reference to the QComboBox used to show the
488 487
489 self.selector.blockSignals(True) 488 self.selector.blockSignals(True)
490 self.selector.setCurrentIndex(self.selector.findText(name)) 489 self.selector.setCurrentIndex(self.selector.findText(name))
491 self.selector.blockSignals(False) 490 self.selector.blockSignals(False)
492 491
493 self.emit(SIGNAL('translationChanged')) 492 self.translationChanged.emit()
494 493
495 def reload(self): 494 def reload(self):
496 """ 495 """
497 Public method to reload all translators. 496 Public method to reload all translators.
498 """ 497 """
645 self.__uiFileName = uiFileName 644 self.__uiFileName = uiFileName
646 self.__layout = QHBoxLayout(self) 645 self.__layout = QHBoxLayout(self)
647 self.__valid = False 646 self.__valid = False
648 self.__timer = QTimer(self) 647 self.__timer = QTimer(self)
649 self.__timer.setSingleShot(True) 648 self.__timer.setSingleShot(True)
650 self.connect(self.__timer, SIGNAL('timeout()'), self.buildWidget) 649 self.__timer.timeout.connect(self.buildWidget)
651 650
652 def isValid(self): 651 def isValid(self):
653 """ 652 """
654 Public method to return the validity of this widget view. 653 Public method to return the validity of this widget view.
655 654
706 """ 705 """
707 Specialized workspace to show the loaded widgets. 706 Specialized workspace to show the loaded widgets.
708 707
709 @signal lastWidgetClosed() emitted after last widget was closed 708 @signal lastWidgetClosed() emitted after last widget was closed
710 """ 709 """
710 lastWidgetClosed = pyqtSignal()
711
711 def __init__(self, parent = None): 712 def __init__(self, parent = None):
712 """ 713 """
713 Constructor 714 Constructor
714 715
715 @param parent parent widget (QWidget) 716 @param parent parent widget (QWidget)
747 wview.buildWidget() 748 wview.buildWidget()
748 if not wview.isValid(): 749 if not wview.isValid():
749 del wview 750 del wview
750 return 751 return
751 752
752 self.connect(self, SIGNAL("rebuildWidgets"), wview.buildWidget) 753 self.rebuildWidgets.connect(wview.buildWidget)
753 wview.installEventFilter(self) 754 wview.installEventFilter(self)
754 755
755 self.addWindow(wview) 756 self.addWindow(wview)
756 self.widgets.append(wview) 757 self.widgets.append(wview)
757 758
773 774
774 if ev.type() == QEvent.Close: 775 if ev.type() == QEvent.Close:
775 try: 776 try:
776 self.widgets.remove(obj) 777 self.widgets.remove(obj)
777 if len(self.widgets) == 0: 778 if len(self.widgets) == 0:
778 self.emit(SIGNAL('lastWidgetClosed')) 779 self.lastWidgetClosed.emit()
779 except ValueError: 780 except ValueError:
780 pass 781 pass
781 782
782 return False 783 return False
783 784

eric ide

mercurial