Ejemplo n.º 1
0
    def _load_finished(self):
        #This is the actual context/frame a webpage is running in.
        # Other frames could include iframes or such.
        main_page = self.view.page()
        main_frame = main_page.mainFrame()
        # ATTENTION here's the magic that sets a bridge between Python to HTML
        main_frame.addToJavaScriptWindowObject("app_hub", self.hub)

        if self.is_first_load:  ## Avoid re-settings on page reload (if happened)
            change_setting = main_page.settings().setAttribute
            settings = web_core.QWebSettings
            change_setting(settings.DeveloperExtrasEnabled, self.debug)
            change_setting(settings.LocalStorageEnabled, True)
            change_setting(settings.OfflineStorageDatabaseEnabled, True)
            change_setting(settings.OfflineWebApplicationCacheEnabled, True)
            change_setting(settings.JavascriptCanOpenWindows, True)
            change_setting(settings.PluginsEnabled, False)

            # Show web inspector if debug on
            if self.debug:
                self.inspector = web_core.QWebInspector()
                self.inspector.setPage(self.view.page())
                self.inspector.show()

            self.is_first_load = False

        #Tell the HTML side, we are open for business
        main_frame.evaluateJavaScript("app_ready()")
Ejemplo n.º 2
0
    def run_gui(self, inspector=False):
        self.view.load(qt_core.QUrl(self.url))

        change_setting = self.view.page().settings().setAttribute
        settings = web_core.QWebSettings
        change_setting(settings.DeveloperExtrasEnabled, True)
        change_setting(settings.LocalStorageEnabled, True)
        change_setting(settings.OfflineStorageDatabaseEnabled, True)
        change_setting(settings.OfflineWebApplicationCacheEnabled, True)
        change_setting(settings.PluginsEnabled, True)

        self.view.show()

        if inspector:
            self.inspector = web_core.QWebInspector()
            self.inspector.setPage(self.view.page())
            self.inspector.show()

        self.app.exec_()
Ejemplo n.º 3
0
    def _load_finished(self):
        #This is the actual context/frame a webpage is running in.
        # Other frames could include iframes or such.
        main_page = self.view.page()
        main_frame = main_page.mainFrame()
        # ATTENTION here's the magic that sets a bridge between Python to HTML
        main_frame.addToJavaScriptWindowObject("app_hub", self.hub)

        if self.is_first_load:  ## Avoid re-settings on page reload (if happened)
            change_setting = main_page.settings().setAttribute
            settings = web_core.QWebSettings
            change_setting(settings.DeveloperExtrasEnabled, self.debug)
            change_setting(settings.LocalStorageEnabled, True)
            change_setting(settings.OfflineStorageDatabaseEnabled, True)
            change_setting(settings.OfflineWebApplicationCacheEnabled, True)
            change_setting(settings.JavascriptCanOpenWindows, True)
            change_setting(settings.PluginsEnabled, False)

            # Show web inspector if debug on
            if self.debug:
                self.inspector = web_core.QWebInspector()
                self.inspector.setPage(self.view.page())
                self.inspector.show()
        #Tell the HTML side, we are open for business
        main_frame.evaluateJavaScript("app_ready()")
        # send pool list to HTML for rendering
        self.hub.create_pool_list()
        # Resize main window to fit web content (avoid scroll bars showed)
        main_page.setViewportSize(main_frame.contentsSize())
        #self.setFixedSize(860, 360)

        # resume mining jobs
        for p in self.hub.pools.all_pools:
            if 'is_mining' in p and p['is_mining']:
                self.hub.start_stop_mining(p['id'])

        self.is_first_load = False
Ejemplo n.º 4
0
    def __init__(self):
        QtGui.QWidget.__init__(self)

        self.view = QtWebKit.QWebView(self)
        self.view.setWindowFlags(QtCore.Qt.Dialog)
        self.view.settings().setAttribute(
            QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
        self.inspector = QtWebKit.QWebInspector(self)
        self.inspector.setPage(self.view.page())
        self.inspector.setWindowFlags(QtCore.Qt.Dialog)
        self.input = QtGui.QLineEdit(self)
        self.picture = QtGui.QLineEdit(self)
        self.output = QtGui.QTextBrowser(self)
        self.nasm = QtNetwork.QNetworkAccessManager(self)
        self.accessToken = None
        self.expires = None
        layout = QtGui.QVBoxLayout(self)
        self.setLayout(layout)
        layout.addWidget(self.input)
        layout.addWidget(self.picture)
        layout.addWidget(self.output)

        self.view.loadFinished.connect(self.onLoadFinished)
        self.input.returnPressed.connect(self.onReturnPressed)
Ejemplo n.º 5
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)

        self._signal = SignalMap()
        self._popup = None

        url = 'http://localhost:{}/map.html'.format(server.PORT)
        self._url = QtCore.QUrl(url)
        self._retries = RETRIES

        self._labelLoad = QtGui.QLabel()
        self._labelLoad.setSizePolicy(QtGui.QSizePolicy.Expanding,
                                      QtGui.QSizePolicy.Expanding)
        self._labelLoad.setAlignment(QtCore.Qt.AlignCenter)
        anim = get_ui_path('loader.gif')
        movie = QtGui.QMovie(anim)
        self._labelLoad.setMovie(movie)
        movie.start()

        self._webMap = QtWebKit.QWebView(self)
        self._webMap.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self._webMap.setAcceptDrops(False)
        self._webMap.setVisible(False)
        self._webMap.loadFinished.connect(self.__on_load_finished)
        self._webMap.linkClicked.connect(self.__on_link_clicked)

        page = self._webMap.page()
        page.setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateExternalLinks)
        manager = page.networkAccessManager()
        manager.finished[QtNetwork.QNetworkReply].connect(self.__loaded)

        settings = page.settings()
        settings.setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled,
                              True)

        self._inspector = QtWebKit.QWebInspector(self)
        self._inspector.setPage(page)
        self._inspector.setVisible(False)
        shortcut = QtGui.QShortcut(self)
        shortcut.setKey(QtGui.QKeySequence(QtCore.Qt.Key_F12))
        shortcut.activated.connect(self.__on_inspector)

        frame = self._webMap.page().mainFrame()
        frame.setScrollBarPolicy(QtCore.Qt.Orientation.Horizontal,
                                 QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
        frame.setScrollBarPolicy(QtCore.Qt.Orientation.Vertical,
                                 QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)

        self._controls = WidgetMapControls(self, self._webMap)

        splitter = QtGui.QSplitter(self)
        splitter.setOrientation(QtCore.Qt.Vertical)
        splitter.addWidget(self._labelLoad)
        splitter.addWidget(self._webMap)
        splitter.addWidget(self._inspector)

        layoutV = QtGui.QVBoxLayout()
        layoutV.addWidget(splitter)
        layoutV.addWidget(self._controls)

        self.setLayout(layoutV)

        self._webMap.load(self._url)