Beispiel #1
0
class PreviewDialog(PAbstractBox, Ui_Preview):
    def __init__(self, parent, url):
        PAbstractBox.__init__(self, parent.parent)
        self.setupUi(self)
        self.parent = parent

        # PDS Settings
        self._animation = 1
        self._duration = 1
        self.enableOverlay()
        self.setOverlayOpacity(150)
        # self._disable_parent_in_shown = True

        self.cancelButton.clicked.connect(self._hide)
        self.cancelButton.setIcon(KIcon("cancel"))

        # Hide Scrollbars and context menu in webview
        self.webView.setContextMenuPolicy(Qt.NoContextMenu)
        self.webView.page().mainFrame().setScrollBarPolicy(
            Qt.Vertical, Qt.ScrollBarAlwaysOff)
        self.webView.page().mainFrame().setScrollBarPolicy(
            Qt.Horizontal, Qt.ScrollBarAlwaysOff)

        self.busy = QProgressIndicator(self, "white")
        self.busy.setMaximumSize(QSize(48, 48))
        self.webLayout.addWidget(self.busy)
        self.busy.hide()

        self.parent._hide()
        QTimer.singleShot(0, lambda: self.showPackageScreenShot(url))

        self.setOverlayClickMethod(lambda x: self._hide())

    def showPackageScreenShot(self, url):
        if network_available():

            self.webView.loadFinished.connect(
                lambda x: self.webView.setVisible(x))
            self.webView.loadFinished.connect(
                lambda x: self.busy.setVisible(not x))
            self.webView.loadFinished.connect(
                lambda x: self.cancelButton.setVisible(x))

            self.registerFunction(FINISHED, lambda: self.webView.load(url))

            self.cancelButton.hide()
            self.webView.hide()
            self.busy.busy()

            self.animate(start=BOTCENTER, stop=MIDCENTER)

    def _hide(self):
        self.busy.stopAnimation()
        self.webView.loadFinished.disconnect()
        self.animate(start=MIDCENTER, stop=BOTCENTER, direction=OUT)
        self.parent.animate(start=BOTCENTER, stop=MIDCENTER)
Beispiel #2
0
class PreviewDialog(PAbstractBox, Ui_Preview):
    def __init__(self, parent, url):
        PAbstractBox.__init__(self, parent.parent)
        self.setupUi(self)
        self.parent = parent

        # PDS Settings
        self._animation = 1
        self._duration = 1
        self.enableOverlay()
        self.setOverlayOpacity(150)
        # self._disable_parent_in_shown = True

        self.cancelButton.clicked.connect(self._hide)
        self.cancelButton.setIcon(KIcon("cancel"))

        # Hide Scrollbars and context menu in webview
        self.webView.setContextMenuPolicy(Qt.NoContextMenu)
        self.webView.page().mainFrame().setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff)
        self.webView.page().mainFrame().setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff)

        self.busy = QProgressIndicator(self, "white")
        self.busy.setMaximumSize(QSize(48, 48))
        self.webLayout.addWidget(self.busy)
        self.busy.hide()

        self.parent._hide()
        QTimer.singleShot(0, lambda: self.showPackageScreenShot(url))

        self.setOverlayClickMethod(lambda x:self._hide())

    def showPackageScreenShot(self, url):
        if network_available():

            self.webView.loadFinished.connect(lambda x: self.webView.setVisible(x))
            self.webView.loadFinished.connect(lambda x: self.busy.setVisible(not x))
            self.webView.loadFinished.connect(lambda x: self.cancelButton.setVisible(x))

            self.registerFunction(FINISHED, lambda: self.webView.load(url))

            self.cancelButton.hide()
            self.webView.hide()
            self.busy.busy()

            self.animate(start = BOTCENTER, stop = MIDCENTER)

    def _hide(self):
        self.busy.stopAnimation()
        self.webView.loadFinished.disconnect()
        self.animate(start = MIDCENTER, stop = BOTCENTER, direction = OUT)
        self.parent.animate(start = BOTCENTER, stop = MIDCENTER)