def __setupToolBarAction(self): #find action findAction = QAction(QIcon(getPath('iconDir','heditor/find.png')),"Find", self,triggered=self.__evt_find) findAction.setIconVisibleInMenu(True) findAction.setShortcut("Ctrl+F") self.__toolBar.addAction(self.__htmlEditorArea.editActions()["undo"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["redo"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["selectall"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["copy"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["cut"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["paste"]) self.__toolBar.addSeparator() self.__toolBar.addAction(self.__htmlEditorArea.editActions()["bold"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["italic"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["underline"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["subscript"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["superscript"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["strikethrough"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["justify"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["left"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["center"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["right"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["orderedlist"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["unorderedlist"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["indent"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["outdent"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["h1"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["h2"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["h3"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["fgcolor"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["bgcolor"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["removeformat"]) self.__toolBar.addSeparator() self.__toolBar.addAction(self.__htmlEditorArea.editActions()["image"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["linkpage"]) self.__toolBar.addAction(self.__htmlEditorArea.editActions()["table"]) self.__toolBar.addSeparator() action = QAction(QIcon(getPath('iconDir','heditor/inspector.png')),"WebInspector", self,triggered=self.__evt_inspector) action.setIconVisibleInMenu(True) self.__toolBar.addAction(action) self.__toolBar.addAction(findAction) self.__toolBar.addSeparator() self.__toolBar.addAction(self.__htmlEditorArea.editActions()["htmlclean"])
def contextMenuEvent(self, e): """ right click . table oprerators etc... """ menu = QMenu(self) tag = self.page().mainFrame().hitTestContent(e.pos()).element() #some table operations if tag and tag.tagName().lower() == "td": hasPre = tag.parent().previousSibling().tagName().lower() == "tr" hasNext = tag.parent().nextSibling().tagName().lower() == "tr" #move up action = QAction(QIcon(getPath('iconDir', 'heditor/row_up.png')), "Move row up", self, triggered=lambda: self._table_tr_moveup(tag)) action.setDisabled(not hasPre) action.setIconVisibleInMenu(True) menu.addAction(action) #move down action = QAction(QIcon(getPath('iconDir', 'heditor/row_down.png')), "Move row down", self, triggered=lambda: self._table_tr_movedown(tag)) action.setDisabled(not hasNext) action.setIconVisibleInMenu(True) menu.addAction(action) menu.addAction( QAction("Copy row to above", self, triggered=lambda: self._table_tr_insert_above(tag))) menu.addAction( QAction("Copy row to below", self, triggered=lambda: self._table_tr_insert_below(tag))) menu.addAction( QAction(QIcon(getPath('iconDir', 'heditor/col_left.png')), "Insert column left", self, triggered=lambda: self._table_column_left(tag))) menu.addAction( QAction(QIcon(getPath('iconDir', 'heditor/col_right.png')), "Insert column right", self, triggered=lambda: self._table_column_right(tag))) action = QAction("Delete row", self, triggered=lambda: self._table_tr_remove(tag)) action.setDisabled(not hasPre and not hasNext) menu.addAction(action) menu.addAction( QAction("Delete column", self, triggered=lambda: self._table_column_remove(tag))) action = QAction("Set Table Style", self, triggered=lambda: self._table_style_change(tag)) menu.addAction(action) action = QAction(QIcon(getPath('iconDir', 'heditor/delete.png')), "Delete table", self, triggered=lambda: self._table_delete(tag)) action.setIconVisibleInMenu(True) menu.addAction(action) menu.addSeparator() #Common content menu menu.addAction(self.__editActions["selectall"]) menu.addAction(self.__editActions["copy"]) menu.addAction(self.__editActions["cut"]) menu.addAction(self.__editActions["paste"]) menu.addSeparator() menuEdit = QMenu("Edit") menuEdit.addAction(self.__editActions["bold"]) menuEdit.addAction(self.__editActions["italic"]) menuEdit.addAction(self.__editActions["underline"]) menuEdit.addAction(self.__editActions["strikethrough"]) menuEdit.addAction(self.__editActions["removeformat"]) menuEdit.addSeparator() menuEdit.addAction(self.__editActions["left"]) menuEdit.addAction(self.__editActions["center"]) menuEdit.addAction(self.__editActions["right"]) menuEdit.addAction(self.__editActions["justify"]) menuEdit.addSeparator() menuEdit.addAction(self.__editActions["indent"]) menuEdit.addAction(self.__editActions["outdent"]) menuEdit.addAction(self.__editActions["subscript"]) menuEdit.addAction(self.__editActions["superscript"]) menu.addMenu(menuEdit) menu.addSeparator() menuInsert = QMenu("Insert") menuInsert.addAction(self.__editActions["image"]) menuInsert.addAction(self.__editActions["table"]) menuInsert.addAction(self.__editActions["linkpage"]) menu.addMenu(menuInsert) menu.exec_(e.globalPos())
def beginFinalInit(self): """ @see: startup Notice the __init__ method . we just setup the basic widget. And after the language , style ,plugins etc had loaded . we call this method . Never call it unless you know what's it """ #when at linux platform . the icon is not visible at menu . for key in self.__actions.keys(): self.__actions.get(key).setIconVisibleInMenu(True) #--------------->>Seeking init <<-----------------# # __init__ menu self.getMenu("settings").addAction(self.getAction("perferences")) #i18n , must restart program to make it in use action_languages = QAction( QIcon(getPath('iconDir', 'languages.png')), QApplication.translate("default", "Languages"), self) action_languages.setIconVisibleInMenu(True) menu_languages = QMenu(self) trans_dir = QDir(getPrccisePath("transDir", "", "coredir")) fileNames = trans_dir.entryList(['i18n*.qm'], QDir.Files, QDir.Name) qmFiles = [trans_dir.filePath(fn) for fn in fileNames] for qmf in qmFiles: translator = QTranslator() translator.load(qmf) action = menu_languages.addAction( translator.translate("default", "English")) action.triggered.connect(lambda re, locale=translator.translate( "default", "locale"): self.__evt_changeLanguage(locale)) action_languages.setMenu(menu_languages) self.getMenu("settings").addAction(action_languages) #style menu use signalmapper action_style = QAction(QIcon(getPath('iconDir', 'style.png')), QApplication.translate("default", "Style"), self) action_style.setIconVisibleInMenu(True) menu_style = QMenu(self) for style_item in QStyleFactory.keys(): action = menu_style.addAction(style_item) action.triggered.connect( lambda re, style_item=style_item: changeStyle(style_item)) action_style.setMenu(menu_style) self.getMenu("settings").addAction(action_style) menu_plugin = self.getMenu("plugins") menu_plugin.addAction(self.getAction("plguinInfos")) menu_plugin.addSeparator() menu_plugin.addAction(self.getAction("plguinRequest")) #--------------->>Seeking init <<-----------------# # __init__ toolbar toolBar = self.addToolBar(QApplication.translate("default", "common")) toolBar.addAction(self.getAction("perferences")) toolBar.addAction(self.getAction("close")) toolBar.addAction(self.getAction("gotohome")) toolBar.addAction(self.getAction("help")) #--------------->>Seeking init <<-----------------# # __init__ status bar self.statusBar().showMessage("Seeking ...") #--------------->>Seeking init <<-----------------# #Effects of a loading progress . #Results appear in the tab of the interior, the window has no effect on the global self.overlay = Overlay(self.centralWidget()) self.overlay.hide() #--------------->>Seeking init <<-----------------# #other self.emit(SIGNAL('updateWindows()'))
def beginFinalInit(self): """ @see: startup Notice the __init__ method . we just setup the basic widget. And after the language , style ,plugins etc had loaded . we call this method . Never call it unless you know what's it """ #when at linux platform . the icon is not visible at menu . for key in self.__actions.keys(): self.__actions.get(key).setIconVisibleInMenu(True) #--------------->>Seeking init <<-----------------# # __init__ menu self.getMenu("settings").addAction(self.getAction("perferences")) #i18n , must restart program to make it in use action_languages = QAction(QIcon(getPath('iconDir','languages.png')),QApplication.translate("default", "Languages"),self) action_languages.setIconVisibleInMenu(True) menu_languages = QMenu(self) trans_dir = QDir(getPrccisePath("transDir","","coredir")) fileNames = trans_dir.entryList(['i18n*.qm'], QDir.Files,QDir.Name) qmFiles = [trans_dir.filePath(fn) for fn in fileNames] for qmf in qmFiles: translator = QTranslator() translator.load(qmf) action = menu_languages.addAction(translator.translate("default", "English")) action.triggered.connect(lambda re,locale=translator.translate("default", "locale"):self.__evt_changeLanguage(locale)) action_languages.setMenu(menu_languages) self.getMenu("settings").addAction(action_languages) #style menu use signalmapper action_style = QAction(QIcon(getPath('iconDir','style.png')),QApplication.translate("default", "Style"),self) action_style.setIconVisibleInMenu(True) menu_style = QMenu(self) for style_item in QStyleFactory.keys(): action = menu_style.addAction(style_item) action.triggered.connect(lambda re,style_item=style_item:changeStyle(style_item)) action_style.setMenu(menu_style) self.getMenu("settings").addAction(action_style) menu_plugin = self.getMenu("plugins") menu_plugin.addAction(self.getAction("plguinInfos")) menu_plugin.addSeparator() menu_plugin.addAction(self.getAction("plguinRequest")) #--------------->>Seeking init <<-----------------# # __init__ toolbar toolBar = self.addToolBar(QApplication.translate("default","common")) toolBar.addAction(self.getAction("perferences")) toolBar.addAction(self.getAction("close")) toolBar.addAction(self.getAction("gotohome")) toolBar.addAction(self.getAction("help")) #--------------->>Seeking init <<-----------------# # __init__ status bar self.statusBar().showMessage("Seeking ...") #--------------->>Seeking init <<-----------------# #Effects of a loading progress . #Results appear in the tab of the interior, the window has no effect on the global self.overlay = Overlay(self.centralWidget()) self.overlay.hide() #--------------->>Seeking init <<-----------------# #other self.emit(SIGNAL('updateWindows()'))
def contextMenuEvent (self, e): """ right click . table oprerators etc... """ menu = QMenu(self) tag = self.page().mainFrame().hitTestContent(e.pos()).element() #some table operations if tag and tag.tagName().lower() == "td": hasPre = tag.parent().previousSibling().tagName().lower()=="tr" hasNext = tag.parent().nextSibling().tagName().lower()=="tr" #move up action = QAction(QIcon(getPath('iconDir','heditor/row_up.png')),"Move row up",self,triggered=lambda :self._table_tr_moveup(tag)) action.setDisabled(not hasPre) action.setIconVisibleInMenu(True) menu.addAction(action) #move down action = QAction(QIcon(getPath('iconDir','heditor/row_down.png')),"Move row down",self,triggered=lambda :self._table_tr_movedown(tag)) action.setDisabled(not hasNext) action.setIconVisibleInMenu(True) menu.addAction(action) menu.addAction(QAction("Copy row to above",self,triggered=lambda :self._table_tr_insert_above(tag))) menu.addAction(QAction("Copy row to below",self,triggered=lambda :self._table_tr_insert_below(tag))) menu.addAction(QAction(QIcon(getPath('iconDir','heditor/col_left.png')),"Insert column left",self,triggered=lambda :self._table_column_left(tag))) menu.addAction(QAction(QIcon(getPath('iconDir','heditor/col_right.png')),"Insert column right",self,triggered=lambda :self._table_column_right(tag))) action = QAction("Delete row",self,triggered=lambda :self._table_tr_remove(tag)) action.setDisabled(not hasPre and not hasNext) menu.addAction(action) menu.addAction(QAction("Delete column",self,triggered=lambda :self._table_column_remove(tag))) action = QAction("Set Table Style",self,triggered=lambda :self._table_style_change(tag)) menu.addAction(action) action = QAction(QIcon(getPath('iconDir','heditor/delete.png')),"Delete table",self,triggered=lambda :self._table_delete(tag)) action.setIconVisibleInMenu(True) menu.addAction(action) menu.addSeparator() #Common content menu menu.addAction(self.__editActions["selectall"]) menu.addAction(self.__editActions["copy"]) menu.addAction(self.__editActions["cut"]) menu.addAction(self.__editActions["paste"]) menu.addSeparator() menuEdit = QMenu("Edit") menuEdit.addAction(self.__editActions["bold"]) menuEdit.addAction(self.__editActions["italic"]) menuEdit.addAction(self.__editActions["underline"]) menuEdit.addAction(self.__editActions["strikethrough"]) menuEdit.addAction(self.__editActions["removeformat"]) menuEdit.addSeparator() menuEdit.addAction(self.__editActions["left"]) menuEdit.addAction(self.__editActions["center"]) menuEdit.addAction(self.__editActions["right"]) menuEdit.addAction(self.__editActions["justify"]) menuEdit.addSeparator() menuEdit.addAction(self.__editActions["indent"]) menuEdit.addAction(self.__editActions["outdent"]) menuEdit.addAction(self.__editActions["subscript"]) menuEdit.addAction(self.__editActions["superscript"]) menu.addMenu(menuEdit) menu.addSeparator() menuInsert = QMenu("Insert") menuInsert.addAction(self.__editActions["image"]) menuInsert.addAction(self.__editActions["table"]) menuInsert.addAction(self.__editActions["linkpage"]) menu.addMenu(menuInsert) menu.exec_(e.globalPos())