Templates/TemplateViewer.py

changeset 3190
a9a94491c4fd
parent 3160
209a07d7e401
child 3484
645c12de6b0c
equal deleted inserted replaced
3189:9a21c547de5f 3190:a9a94491c4fd
389 self.setRootIsDecorated(True) 389 self.setRootIsDecorated(True)
390 self.setAlternatingRowColors(True) 390 self.setAlternatingRowColors(True)
391 391
392 self.__menu = QMenu(self) 392 self.__menu = QMenu(self)
393 self.applyAct = self.__menu.addAction( 393 self.applyAct = self.__menu.addAction(
394 self.trUtf8("Apply"), self.__templateItemActivated) 394 self.tr("Apply"), self.__templateItemActivated)
395 self.__menu.addSeparator() 395 self.__menu.addSeparator()
396 self.__menu.addAction(self.trUtf8("Add entry..."), self.__addEntry) 396 self.__menu.addAction(self.tr("Add entry..."), self.__addEntry)
397 self.__menu.addAction(self.trUtf8("Add group..."), self.__addGroup) 397 self.__menu.addAction(self.tr("Add group..."), self.__addGroup)
398 self.__menu.addAction(self.trUtf8("Edit..."), self.__edit) 398 self.__menu.addAction(self.tr("Edit..."), self.__edit)
399 self.__menu.addAction(self.trUtf8("Remove"), self.__remove) 399 self.__menu.addAction(self.tr("Remove"), self.__remove)
400 self.__menu.addSeparator() 400 self.__menu.addSeparator()
401 self.__menu.addAction(self.trUtf8("Save"), self.save) 401 self.__menu.addAction(self.tr("Save"), self.save)
402 self.__menu.addAction(self.trUtf8("Import..."), self.__import) 402 self.__menu.addAction(self.tr("Import..."), self.__import)
403 self.__menu.addAction(self.trUtf8("Export..."), self.__export) 403 self.__menu.addAction(self.tr("Export..."), self.__export)
404 self.__menu.addAction(self.trUtf8("Reload"), self.__reload) 404 self.__menu.addAction(self.tr("Reload"), self.__reload)
405 self.__menu.addSeparator() 405 self.__menu.addSeparator()
406 self.__menu.addAction( 406 self.__menu.addAction(
407 self.trUtf8("Help about Templates..."), self.__showHelp) 407 self.tr("Help about Templates..."), self.__showHelp)
408 self.__menu.addSeparator() 408 self.__menu.addSeparator()
409 self.__menu.addAction(self.trUtf8("Configure..."), self.__configure) 409 self.__menu.addAction(self.tr("Configure..."), self.__configure)
410 410
411 self.__backMenu = QMenu(self) 411 self.__backMenu = QMenu(self)
412 self.__backMenu.addAction(self.trUtf8("Add group..."), self.__addGroup) 412 self.__backMenu.addAction(self.tr("Add group..."), self.__addGroup)
413 self.__backMenu.addSeparator() 413 self.__backMenu.addSeparator()
414 self.__backMenu.addAction(self.trUtf8("Save"), self.save) 414 self.__backMenu.addAction(self.tr("Save"), self.save)
415 self.__backMenu.addAction(self.trUtf8("Import..."), self.__import) 415 self.__backMenu.addAction(self.tr("Import..."), self.__import)
416 self.__backMenu.addAction(self.trUtf8("Export..."), self.__export) 416 self.__backMenu.addAction(self.tr("Export..."), self.__export)
417 self.__backMenu.addAction(self.trUtf8("Reload"), self.__reload) 417 self.__backMenu.addAction(self.tr("Reload"), self.__reload)
418 self.__backMenu.addSeparator() 418 self.__backMenu.addSeparator()
419 self.__backMenu.addAction( 419 self.__backMenu.addAction(
420 self.trUtf8("Help about Templates..."), self.__showHelp) 420 self.tr("Help about Templates..."), self.__showHelp)
421 self.__backMenu.addSeparator() 421 self.__backMenu.addSeparator()
422 self.__backMenu.addAction( 422 self.__backMenu.addAction(
423 self.trUtf8("Configure..."), self.__configure) 423 self.tr("Configure..."), self.__configure)
424 424
425 self.__activating = False 425 self.__activating = False
426 self.__dirty = False 426 self.__dirty = False
427 427
428 self.setContextMenuPolicy(Qt.CustomContextMenu) 428 self.setContextMenuPolicy(Qt.CustomContextMenu)
521 Private slot to handle the Remove context menu action. 521 Private slot to handle the Remove context menu action.
522 """ 522 """
523 itm = self.currentItem() 523 itm = self.currentItem()
524 res = E5MessageBox.yesNo( 524 res = E5MessageBox.yesNo(
525 self, 525 self,
526 self.trUtf8("Remove Template"), 526 self.tr("Remove Template"),
527 self.trUtf8("""<p>Do you really want to remove <b>{0}</b>?</p>""") 527 self.tr("""<p>Do you really want to remove <b>{0}</b>?</p>""")
528 .format(itm.getName())) 528 .format(itm.getName()))
529 if not res: 529 if not res:
530 return 530 return
531 531
532 if isinstance(itm, TemplateGroup): 532 if isinstance(itm, TemplateGroup):
548 """ 548 """
549 Private slot to handle the Import context menu action. 549 Private slot to handle the Import context menu action.
550 """ 550 """
551 fn = E5FileDialog.getOpenFileName( 551 fn = E5FileDialog.getOpenFileName(
552 self, 552 self,
553 self.trUtf8("Import Templates"), 553 self.tr("Import Templates"),
554 "", 554 "",
555 self.trUtf8("Templates Files (*.e4c);; All Files (*)")) 555 self.tr("Templates Files (*.e4c);; All Files (*)"))
556 556
557 if fn: 557 if fn:
558 self.readTemplates(fn) 558 self.readTemplates(fn)
559 self.__dirty = True 559 self.__dirty = True
560 560
562 """ 562 """
563 Private slot to handle the Export context menu action. 563 Private slot to handle the Export context menu action.
564 """ 564 """
565 fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( 565 fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
566 self, 566 self,
567 self.trUtf8("Export Templates"), 567 self.tr("Export Templates"),
568 "", 568 "",
569 self.trUtf8("Templates Files (*.e4c);; All Files (*)"), 569 self.tr("Templates Files (*.e4c);; All Files (*)"),
570 "", 570 "",
571 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) 571 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
572 572
573 if fn: 573 if fn:
574 ext = QFileInfo(fn).suffix() 574 ext = QFileInfo(fn).suffix()
583 Private slot to reload the templates. 583 Private slot to reload the templates.
584 """ 584 """
585 if self.__dirty: 585 if self.__dirty:
586 res = E5MessageBox.yesNo( 586 res = E5MessageBox.yesNo(
587 self, 587 self,
588 self.trUtf8("Reload Templates"), 588 self.tr("Reload Templates"),
589 self.trUtf8( 589 self.tr(
590 """The templates contain unsaved changes. Shall these""" 590 """The templates contain unsaved changes. Shall these"""
591 """ changes be discarded?"""), 591 """ changes be discarded?"""),
592 icon=E5MessageBox.Warning) 592 icon=E5MessageBox.Warning)
593 if not res: 593 if not res:
594 return 594 return
602 """ 602 """
603 Private method to show some help. 603 Private method to show some help.
604 """ 604 """
605 E5MessageBox.information( 605 E5MessageBox.information(
606 self, 606 self,
607 self.trUtf8("Template Help"), 607 self.tr("Template Help"),
608 self.trUtf8( 608 self.tr(
609 """<p><b>Template groups</b> are a means of grouping""" 609 """<p><b>Template groups</b> are a means of grouping"""
610 """ individual templates. Groups have an attribute that""" 610 """ individual templates. Groups have an attribute that"""
611 """ specifies, which programming language they apply for.""" 611 """ specifies, which programming language they apply for."""
612 """ In order to add template entries, at least one group""" 612 """ In order to add template entries, at least one group"""
613 """ has to be defined.</p>""" 613 """ has to be defined.</p>"""
846 """ 846 """
847 if oldname != newname: 847 if oldname != newname:
848 if newname in self.groups: 848 if newname in self.groups:
849 E5MessageBox.warning( 849 E5MessageBox.warning(
850 self, 850 self,
851 self.trUtf8("Edit Template Group"), 851 self.tr("Edit Template Group"),
852 self.trUtf8("""<p>A template group with the name""" 852 self.tr("""<p>A template group with the name"""
853 """ <b>{0}</b> already exists.</p>""") 853 """ <b>{0}</b> already exists.</p>""")
854 .format(newname)) 854 .format(newname))
855 return 855 return
856 856
857 self.groups[newname] = self.groups[oldname] 857 self.groups[newname] = self.groups[oldname]
858 del self.groups[oldname] 858 del self.groups[oldname]
940 f = QFile(filename) 940 f = QFile(filename)
941 ok = f.open(QIODevice.WriteOnly) 941 ok = f.open(QIODevice.WriteOnly)
942 if not ok: 942 if not ok:
943 E5MessageBox.critical( 943 E5MessageBox.critical(
944 self, 944 self,
945 self.trUtf8("Save templates"), 945 self.tr("Save templates"),
946 self.trUtf8( 946 self.tr(
947 "<p>The templates file <b>{0}</b> could not be" 947 "<p>The templates file <b>{0}</b> could not be"
948 " written.</p>") 948 " written.</p>")
949 .format(filename)) 949 .format(filename))
950 return False 950 return False
951 951
974 reader.readXML() 974 reader.readXML()
975 f.close() 975 f.close()
976 else: 976 else:
977 E5MessageBox.critical( 977 E5MessageBox.critical(
978 self, 978 self,
979 self.trUtf8("Read templates"), 979 self.tr("Read templates"),
980 self.trUtf8( 980 self.tr(
981 "<p>The templates file <b>{0}</b> could not be read.</p>") 981 "<p>The templates file <b>{0}</b> could not be read.</p>")
982 .format(filename)) 982 .format(filename))
983 983
984 def __configure(self): 984 def __configure(self):
985 """ 985 """

eric ide

mercurial