Beispiel #1
0
    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"])
Beispiel #2
0
    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())
Beispiel #3
0
    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()'))
Beispiel #4
0
    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()'))
Beispiel #5
0
 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())