Example #1
0
 def add(widget):
     """Adds a widget to the side of the view."""
     from gadgets import borderlayout
     if QApplication.isRightToLeft():
         side = borderlayout.RIGHT
     else:
         side = borderlayout.LEFT
     borderlayout.BorderLayout.get(view).addWidget(widget, side)
Example #2
0
 def add(widget):
     """Adds a widget to the side of the view."""
     from gadgets import borderlayout
     if QApplication.isRightToLeft():
         side = borderlayout.RIGHT
     else:
         side = borderlayout.LEFT
     borderlayout.BorderLayout.get(view).addWidget(widget, side)
 def popupPositionFunc(size):
     pos = self.mapToGlobal(self.rect().bottomRight())
     if QApplication.isRightToLeft():
         pos.setX(pos.x() - self.rect().width())
     else:
         pos.setX(pos.x() - size.width())
     c.popupOpened = True
     return pos
Example #4
0
 def __init__(self, parent=None, inactiveText=""):
     """
     Constructor
     
     @param parent reference to the parent widget (QWidget)
     @param inactiveText text to be shown on inactivity (string)
     """
     super(E5LineEdit, self).__init__(parent)
     
     self.setMinimumHeight(22)
     
     if qVersion() < "4.7.0":
         self.__inactiveText = inactiveText
     else:
         self.setPlaceholderText(inactiveText)
     
     self.__mainLayout = QHBoxLayout(self)
     self.__mainLayout.setContentsMargins(0, 0, 0, 0)
     self.__mainLayout.setSpacing(0)
     
     self.__leftMargin = 0
     self.__leftWidget = E5LineEditSideWidget(self)
     self.__leftWidget.resize(0, 0)
     self.__leftLayout = QHBoxLayout(self.__leftWidget)
     self.__leftLayout.setContentsMargins(0, 0, 2, 0)
     if QApplication.isRightToLeft():
         self.__leftLayout.setDirection(QBoxLayout.RightToLeft)
     else:
         self.__leftLayout.setDirection(QBoxLayout.LeftToRight)
     self.__leftLayout.setSizeConstraint(QLayout.SetFixedSize)
     
     self.__rightWidget = E5LineEditSideWidget(self)
     self.__rightWidget.resize(0, 0)
     self.__rightLayout = QHBoxLayout(self.__rightWidget)
     self.__rightLayout.setContentsMargins(0, 0, 2, 0)
     if self.isRightToLeft():
         self.__rightLayout.setDirection(QBoxLayout.RightToLeft)
     else:
         self.__rightLayout.setDirection(QBoxLayout.LeftToRight)
     
     horizontalSpacer = QSpacerItem(
         0, 0, QSizePolicy.Expanding, QSizePolicy.Minimum)
     self.__mainLayout.addWidget(
         self.__leftWidget, 0, Qt.AlignVCenter | Qt.AlignLeft)
     self.__mainLayout.addItem(horizontalSpacer)
     self.__mainLayout.addWidget(
         self.__rightWidget, 0, Qt.AlignVCenter | Qt.AlignRight)
     if self.isRightToLeft():
         self.__mainLayout.setDirection(QBoxLayout.RightToLeft)
     else:
         self.__mainLayout.setDirection(QBoxLayout.LeftToRight)
     
     self.setWidgetSpacing(3)
     self.__leftWidget.sizeHintChanged.connect(self._updateTextMargins)
     self.__rightWidget.sizeHintChanged.connect(self._updateTextMargins)
Example #5
0
    def __init__(self, parent=None, inactiveText=""):
        """
        Constructor
        
        @param parent reference to the parent widget (QWidget)
        @param inactiveText text to be shown on inactivity (string)
        """
        super(E5LineEdit, self).__init__(parent)

        self.setMinimumHeight(22)

        if qVersion() < "4.7.0":
            self.__inactiveText = inactiveText
        else:
            self.setPlaceholderText(inactiveText)

        self.__mainLayout = QHBoxLayout(self)
        self.__mainLayout.setContentsMargins(0, 0, 0, 0)
        self.__mainLayout.setSpacing(0)

        self.__leftMargin = 0
        self.__leftWidget = E5LineEditSideWidget(self)
        self.__leftWidget.resize(0, 0)
        self.__leftLayout = QHBoxLayout(self.__leftWidget)
        self.__leftLayout.setContentsMargins(0, 0, 2, 0)
        if QApplication.isRightToLeft():
            self.__leftLayout.setDirection(QBoxLayout.RightToLeft)
        else:
            self.__leftLayout.setDirection(QBoxLayout.LeftToRight)
        self.__leftLayout.setSizeConstraint(QLayout.SetFixedSize)

        self.__rightWidget = E5LineEditSideWidget(self)
        self.__rightWidget.resize(0, 0)
        self.__rightLayout = QHBoxLayout(self.__rightWidget)
        self.__rightLayout.setContentsMargins(0, 0, 2, 0)
        if self.isRightToLeft():
            self.__rightLayout.setDirection(QBoxLayout.RightToLeft)
        else:
            self.__rightLayout.setDirection(QBoxLayout.LeftToRight)

        horizontalSpacer = QSpacerItem(0, 0, QSizePolicy.Expanding,
                                       QSizePolicy.Minimum)
        self.__mainLayout.addWidget(self.__leftWidget, 0,
                                    Qt.AlignVCenter | Qt.AlignLeft)
        self.__mainLayout.addItem(horizontalSpacer)
        self.__mainLayout.addWidget(self.__rightWidget, 0,
                                    Qt.AlignVCenter | Qt.AlignRight)
        if self.isRightToLeft():
            self.__mainLayout.setDirection(QBoxLayout.RightToLeft)
        else:
            self.__mainLayout.setDirection(QBoxLayout.LeftToRight)

        self.setWidgetSpacing(3)
        self.__leftWidget.sizeHintChanged.connect(self._updateTextMargins)
        self.__rightWidget.sizeHintChanged.connect(self._updateTextMargins)
Example #6
0
    def actionShortcut(self, shortcut, fallBack, shortcutRtl=QKeySequence(),
            fallbackRtl=QKeySequence()):
        '''
        @param: shortcut QKeySequence
        @param: fallBack QKeySequence
        @param: shortcutRtl QKeySequence
        @param: fallbackRtl QKeySequence
        @return: QKeySequence
        '''
        if QApplication.isRightToLeft() and (not shortcutRtl.isEmpty() or not fallbackRtl.isEmpty()):
            if shortcutRtl.isEmpty():
                return fallbackRtl
            else:
                return shortcutRtl

        if not shortcut:
            return fallBack
        else:
            return shortcut
Example #7
0
    def applyDirectionToPage(self, pageContents):
        '''
        @param: pageContents QString
        @return: QStirng
        '''
        direction = "ltr"
        right_str = "right"
        left_str = "left"

        if QApplication.isRightToLeft():
            direction = "rtl"
            right_str = "left"
            left_str = "right"

        pageContents = pageContents.replace("%DIRECTION%", direction) \
            .replace("%RIGHT_STR%", right_str) \
            .replace("%LEFT_STR%", left_str)

        return pageContents