Preferences/ConfigurationPages/HelpDocumentationPage.py

Fri, 18 Oct 2013 23:00:41 +0200

author
T.Rzepka <Tobias.Rzepka@gmail.com>
date
Fri, 18 Oct 2013 23:00:41 +0200
branch
Py2 comp.
changeset 3057
10516539f238
parent 2791
a9577f248f04
parent 2964
84b65fb9e780
child 3058
0a02c433f52d
permissions
-rw-r--r--

Merge with default branch after shorten the code lines to max. 79 characters.

# -*- coding: utf-8 -*-

# Copyright (c) 2006 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Module implementing the Help Documentation configuration page.
"""

from __future__ import unicode_literals    # __IGNORE_WARNING__

from PyQt4.QtCore import pyqtSlot, QUrl

from E5Gui.E5Completers import E5FileCompleter
from E5Gui import E5FileDialog

from .ConfigurationPageBase import ConfigurationPageBase
from .Ui_HelpDocumentationPage import Ui_HelpDocumentationPage

import Preferences
import Utilities


class HelpDocumentationPage(ConfigurationPageBase, Ui_HelpDocumentationPage):
    """
    Class implementing the Help Documentation configuration page.
    """
    def __init__(self):
        """
        Constructor
        """
        super(HelpDocumentationPage, self).__init__()
        self.setupUi(self)
        self.setObjectName("HelpDocumentationPage")
        
        self.python2DocDirCompleter = E5FileCompleter(self.python2DocDirEdit)
        self.pythonDocDirCompleter = E5FileCompleter(self.pythonDocDirEdit)
        self.qt4DocDirCompleter = E5FileCompleter(self.qt4DocDirEdit)
        self.pyqt4DocDirCompleter = E5FileCompleter(self.pyqt4DocDirEdit)
        self.pyqt5DocDirCompleter = E5FileCompleter(self.pyqt5DocDirEdit)
        self.pysideDocDirCompleter = E5FileCompleter(self.pysideDocDirEdit)
        
        try:
            import PyQt5        # __IGNORE_WARNING__
        except ImportError:
            self.pyqt5Group.setEnabled(False)
        
        pyside2, pyside3 = Utilities.checkPyside()
        if pyside2 or pyside3:
            self.pysideGroup.setEnabled(True)
        else:
            self.pysideGroup.setEnabled(False)
        
        # set initial values
        self.python2DocDirEdit.setText(
            Preferences.getHelp("Python2DocDir"))
        self.pythonDocDirEdit.setText(
            Preferences.getHelp("PythonDocDir"))
        self.qt4DocDirEdit.setText(
            Preferences.getHelp("Qt4DocDir"))
        self.qt5DocDirEdit.setText(
            Preferences.getHelp("Qt5DocDir"))
        self.pyqt4DocDirEdit.setText(
            Preferences.getHelp("PyQt4DocDir"))
        self.pyqt5DocDirEdit.setText(
            Preferences.getHelp("PyQt5DocDir"))
        self.pysideDocDirEdit.setText(
            Preferences.getHelp("PySideDocDir"))
        
    def save(self):
        """
        Public slot to save the Help Documentation configuration.
        """
        Preferences.setHelp("Python2DocDir",
            self.python2DocDirEdit.text())
        Preferences.setHelp("PythonDocDir",
            self.pythonDocDirEdit.text())
        Preferences.setHelp("Qt4DocDir",
            self.qt4DocDirEdit.text())
        Preferences.setHelp("Qt5DocDir",
            self.qt5DocDirEdit.text())
        Preferences.setHelp("PyQt4DocDir",
            self.pyqt4DocDirEdit.text())
        Preferences.setHelp("PyQt5DocDir",
            self.pyqt5DocDirEdit.text())
        Preferences.setHelp("PySideDocDir",
            self.pysideDocDirEdit.text())
        
    @pyqtSlot()
    def on_python2DocDirButton_clicked(self):
        """
        Private slot to select the Python 2 documentation directory.
        """
        entry = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select Python 2 documentation entry"),
            QUrl(self.python2DocDirEdit.text()).path(),
            self.trUtf8("HTML Files (*.html *.htm);;"
                "Compressed Help Files (*.chm);;"
                "All Files (*)"))
        
        if entry:
            self.python2DocDirEdit.setText(Utilities.toNativeSeparators(entry))
        
    @pyqtSlot()
    def on_pythonDocDirButton_clicked(self):
        """
        Private slot to select the Python 3 documentation directory.
        """
        entry = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select Python 3 documentation entry"),
            QUrl(self.pythonDocDirEdit.text()).path(),
            self.trUtf8("HTML Files (*.html *.htm);;"
                "Compressed Help Files (*.chm);;"
                "All Files (*)"))
        
        if entry:
            self.pythonDocDirEdit.setText(Utilities.toNativeSeparators(entry))
        
    @pyqtSlot()
    def on_qt4DocDirButton_clicked(self):
        """
        Private slot to select the Qt4 documentation directory.
        """
        entry = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select Qt4 documentation entry"),
            QUrl(self.qt4DocDirEdit.text()).path(),
            self.trUtf8("HTML Files (*.html *.htm);;All Files (*)"))
        
        if entry:
            self.qt4DocDirEdit.setText(Utilities.toNativeSeparators(entry))
        
    @pyqtSlot()
    def on_qt5DocDirButton_clicked(self):
        """
        Private slot to select the Qt5 documentation directory.
        """
        entry = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select Qt5 documentation entry"),
            QUrl(self.qt5DocDirEdit.text()).path(),
            self.trUtf8("HTML Files (*.html *.htm);;All Files (*)"))
        
        if entry:
            self.qt5DocDirEdit.setText(Utilities.toNativeSeparators(entry))
        
    @pyqtSlot()
    def on_pyqt4DocDirButton_clicked(self):
        """
        Private slot to select the PyQt4 documentation directory.
        """
        entry = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select PyQt4 documentation entry"),
            QUrl(self.pyqt4DocDirEdit.text()).path(),
            self.trUtf8("HTML Files (*.html *.htm);;All Files (*)"))
        
        if entry:
            self.pyqt4DocDirEdit.setText(Utilities.toNativeSeparators(entry))
        
    @pyqtSlot()
    def on_pyqt5DocDirButton_clicked(self):
        """
        Private slot to select the PyQt5 documentation directory.
        """
        entry = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select PyQt5 documentation entry"),
            QUrl(self.pyqt4DocDirEdit.text()).path(),
            self.trUtf8("HTML Files (*.html *.htm);;All Files (*)"))
        
        if entry:
            self.pyqt5DocDirEdit.setText(Utilities.toNativeSeparators(entry))
        
    @pyqtSlot()
    def on_pysideDocDirButton_clicked(self):
        """
        Private slot to select the PySide documentation directory.
        """
        entry = E5FileDialog.getOpenFileName(
            self,
            self.trUtf8("Select PySide documentation entry"),
            QUrl(self.pysideDocDirEdit.text()).path(),
            self.trUtf8("HTML Files (*.html *.htm);;All Files (*)"))
        
        if entry:
            self.pysideDocDirEdit.setText(Utilities.toNativeSeparators(entry))
    

def create(dlg):
    """
    Module function to create the configuration page.
    
    @param dlg reference to the configuration dialog
    @return reference to the instantiated page (ConfigurationPageBase)
    """
    page = HelpDocumentationPage()
    return page

eric ide

mercurial