Example #1
0
    def event_link_clicked(self, url):
        url_string = url.toString()

        if 'file' in urlparse.parse_qs(urlparse.urlparse(url_string).query):
            msgbox = QMessageBox()
            msgbox.setWindowTitle('Installing')
            msgbox.setText('Installing theme. Please wait...')
            msgbox.setStandardButtons(0)
            msgbox.setAttribute(Qt.WA_DeleteOnClose)
            msgbox.setWindowModality(Qt.NonModal)
            msgbox.show()
            msgbox.repaint(
            )  # Qt didn't want to show the text so we force a repaint

            # Download and install the theme
            package = self.module.download(
                'http://localhost/test/download.php?file=2800&name=Fat-flat.xpf'
            )
            #package = self.module.download(url_string)
            try:
                self.module.install(package)
                msgbox.close()

                complete_msgbox = QMessageBox()
                complete_msgbox.setWindowTitle('Complete')
                complete_msgbox.setText('Install complete.')
                complete_msgbox.setStandardButtons(QMessageBox.Ok)
                complete_msgbox.setAttribute(Qt.WA_DeleteOnClose)
                complete_msgbox.exec_()
            except:
                msgbox.close()
                print "Unexpected error:", sys.exc_info()[:2]

                failed_msgbox = QMessageBox()
                failed_msgbox.setWindowTitle('Failed')
                failed_msgbox.setText(
                    'Install failed. Please try again later.')
                failed_msgbox.setStandardButtons(QMessageBox.Ok)
                failed_msgbox.setAttribute(Qt.WA_DeleteOnClose)
                failed_msgbox.exec_()
        else:
            QDesktopServices.openUrl(url)
Example #2
0
	def event_link_clicked(self, url):
		url_string = url.toString()

		if 'file' in urlparse.parse_qs(urlparse.urlparse(url_string).query):
			msgbox = QMessageBox()
			msgbox.setWindowTitle('Installing')
			msgbox.setText('Installing theme. Please wait...')
			msgbox.setStandardButtons(0)
			msgbox.setAttribute(Qt.WA_DeleteOnClose)
			msgbox.setWindowModality(Qt.NonModal)
			msgbox.show()
			msgbox.repaint() # Qt didn't want to show the text so we force a repaint

			# Download and install the theme
			package = self.module.download('http://localhost/test/download.php?file=2800&name=Fat-flat.xpf')
			#package = self.module.download(url_string)
			try:
				self.module.install(package)
				msgbox.close()

				complete_msgbox = QMessageBox()
				complete_msgbox.setWindowTitle('Complete')
				complete_msgbox.setText('Install complete.')
				complete_msgbox.setStandardButtons(QMessageBox.Ok)
				complete_msgbox.setAttribute(Qt.WA_DeleteOnClose)
				complete_msgbox.exec_()
			except:
				msgbox.close()
				print "Unexpected error:", sys.exc_info()[:2]

				failed_msgbox = QMessageBox()
				failed_msgbox.setWindowTitle('Failed')
				failed_msgbox.setText('Install failed. Please try again later.')
				failed_msgbox.setStandardButtons(QMessageBox.Ok)
				failed_msgbox.setAttribute(Qt.WA_DeleteOnClose)
				failed_msgbox.exec_()
		else:
			QDesktopServices.openUrl(url)