コード例 #1
0
ファイル: dialogs.py プロジェクト: benjaminws/snakefire
    def _setupUI(self):
        label = ClickableQLabel()
        label.setPixmap(QtGui.QPixmap(":/images/snakefire-big.png"))
        label.setAlignment(QtCore.Qt.AlignCenter)
        self.connect(label, QtCore.SIGNAL("clicked()"), self._website)

        urlLabel = QtGui.QLabel("<a href=\"http://{url}\">{name}</a>".format(
            url=self._mainFrame.DOMAIN,
            name=self._mainFrame.DOMAIN
        ))
        urlLabel.setOpenExternalLinks(True)
        websiteBox = QtGui.QHBoxLayout()
        websiteBox.addWidget(QtGui.QLabel(self._mainFrame._("Website:")))
        websiteBox.addWidget(urlLabel)
        websiteBox.addStretch(1)

        twitterLabel = QtGui.QLabel("<a href=\"http://twitter.com/snakefirelinux\">@snakefirelinux</a>")
        twitterLabel.setOpenExternalLinks(True)
        twitterBox = QtGui.QHBoxLayout()
        twitterBox.addWidget(QtGui.QLabel(self._mainFrame._("Twitter:")))
        twitterBox.addWidget(twitterLabel)
        twitterBox.addStretch(1)

        layout = QtGui.QVBoxLayout()
        layout.addWidget(label)
        layout.addStretch(0.5)
        layout.addWidget(QtGui.QLabel("<strong>{name} v{version}</strong>".format(
            name=self._mainFrame.NAME,
            version=self._mainFrame.VERSION
        )))
        layout.addStretch(0.5)
        layout.addLayout(websiteBox)
        layout.addLayout(twitterBox)

        # Buttons

        self._okButton = QtGui.QPushButton(self._mainFrame._("&OK"), self)
        self.connect(self._okButton, QtCore.SIGNAL('clicked()'), self.close)

        # Main layout

        hbox = QtGui.QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(self._okButton)

        vbox = QtGui.QVBoxLayout()
        vbox.addLayout(layout)
        vbox.addLayout(hbox)

        self.setLayout(vbox)
コード例 #2
0
    def _setupUI(self):
        label = ClickableQLabel()
        label.setPixmap(QtGui.QPixmap(":/images/snakefire-big.png"))
        label.setAlignment(QtCore.Qt.AlignCenter)
        self.connect(label, QtCore.SIGNAL("clicked()"), self._website)

        urlLabel = QtGui.QLabel("<a href=\"http://{url}\">{name}</a>".format(
            url=self._mainFrame.DOMAIN, name=self._mainFrame.DOMAIN))
        urlLabel.setOpenExternalLinks(True)
        websiteBox = QtGui.QHBoxLayout()
        websiteBox.addWidget(QtGui.QLabel(self._mainFrame._("Website:")))
        websiteBox.addWidget(urlLabel)
        websiteBox.addStretch(1)

        twitterLabel = QtGui.QLabel(
            "<a href=\"http://twitter.com/snakefirelinux\">@snakefirelinux</a>"
        )
        twitterLabel.setOpenExternalLinks(True)
        twitterBox = QtGui.QHBoxLayout()
        twitterBox.addWidget(QtGui.QLabel(self._mainFrame._("Twitter:")))
        twitterBox.addWidget(twitterLabel)
        twitterBox.addStretch(1)

        layout = QtGui.QVBoxLayout()
        layout.addWidget(label)
        layout.addStretch(0.5)
        layout.addWidget(
            QtGui.QLabel("<strong>{name} v{version}</strong>".format(
                name=self._mainFrame.NAME, version=self._mainFrame.VERSION)))
        layout.addStretch(0.5)
        layout.addLayout(websiteBox)
        layout.addLayout(twitterBox)

        # Buttons

        self._okButton = QtGui.QPushButton(self._mainFrame._("&OK"), self)
        self.connect(self._okButton, QtCore.SIGNAL('clicked()'), self.close)

        # Main layout

        hbox = QtGui.QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(self._okButton)

        vbox = QtGui.QVBoxLayout()
        vbox.addLayout(layout)
        vbox.addLayout(hbox)

        self.setLayout(vbox)
コード例 #3
0
ファイル: mainframe.py プロジェクト: zambot/snakefire
	def _setupRoomUI(self, room):
		topicLabel = ClickableQLabel(room.topic)
		topicLabel.setToolTip(self._("Click here to change room's topic"))
		topicLabel.setWordWrap(True)
		self.connect(topicLabel, QtCore.SIGNAL("clicked()"), self.changeTopic)

		editor = QtGui.QTextBrowser()
		editor.setOpenExternalLinks(True)

		usersList = QtGui.QListWidget()

		filesLabel = QtGui.QLabel("")
		filesLabel.setOpenExternalLinks(True)
		filesLabel.setWordWrap(True)
		filesLabel.hide()

		uploadButton = QtGui.QPushButton(self._("&Upload new file"))
		self.connect(uploadButton, QtCore.SIGNAL("clicked()"), self.uploadFile)

		uploadProgressBar = QtGui.QProgressBar()
		uploadProgressLabel = QtGui.QLabel(self._("Uploading:"))

		uploadCancelButton = QtGui.QPushButton(self._("Cancel"))
		self.connect(uploadCancelButton, QtCore.SIGNAL("clicked()"), self.uploadCancel)

		uploadLayout = QtGui.QHBoxLayout()
		uploadLayout.addWidget(uploadProgressLabel)
		uploadLayout.addWidget(uploadProgressBar)
		uploadLayout.addWidget(uploadCancelButton)

		uploadWidget = QtGui.QWidget()
		uploadWidget.setLayout(uploadLayout)
		uploadWidget.hide()

		leftFrameLayout = QtGui.QVBoxLayout()
		leftFrameLayout.addWidget(topicLabel)
		leftFrameLayout.addWidget(editor)
		leftFrameLayout.addWidget(uploadWidget)

		rightFrameLayout = QtGui.QVBoxLayout()
		rightFrameLayout.addWidget(QtGui.QLabel(self._("Users in room:")))
		rightFrameLayout.addWidget(usersList)
		rightFrameLayout.addWidget(filesLabel)
		rightFrameLayout.addWidget(uploadButton)
		rightFrameLayout.addStretch(1)

		leftFrame = QtGui.QWidget()
		leftFrame.setLayout(leftFrameLayout)

		rightFrame = QtGui.QWidget()
		rightFrame.setLayout(rightFrameLayout)

		splitter = QtGui.QSplitter()
		splitter.addWidget(leftFrame)
		splitter.addWidget(rightFrame)
		splitter.setSizes([splitter.size().width() * 0.75, splitter.size().width() * 0.25])

		index = self._tabs.addTab(splitter, room.name)
		self._tabs.setCurrentIndex(index)

		if not self.COLORS["tabs"]["normal"]:
			self.COLORS["tabs"]["normal"] = self._tabs.tabBar().tabTextColor(index)
		else:
			self._tabs.tabBar().setTabTextColor(index, self.COLORS["tabs"]["normal"])

		return {
			"tab": index,
			"editor": editor,
			"usersList": usersList,
			"topicLabel": topicLabel,
			"filesLabel": filesLabel,
			"uploadButton": uploadButton,
			"uploadWidget": uploadWidget,
			"uploadProgressBar": uploadProgressBar,
			"uploadProgressLabel": uploadProgressLabel
		}
コード例 #4
0
ファイル: mainframe.py プロジェクト: yattom/snakefire
    def _setupRoomUI(self, room):
        topic = room.topic if room.topic else ""
        topicLabel = ClickableQLabel(topic)
        topicLabel.setToolTip(self._("Click here to change room's topic"))
        topicLabel.setWordWrap(True)
        self.connect(topicLabel, QtCore.SIGNAL("clicked()"), self.changeTopic)

        view = SnakeFireWebView(self)
        view.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        frame = view.page().mainFrame()

        #Send all link clicks to systems web browser
        view.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
        def linkClicked(url):
            QtGui.QDesktopServices.openUrl(url)
        view.connect(view, QtCore.SIGNAL("linkClicked (const QUrl&)"), linkClicked)

        # Support auto scroll when needed
        def autoScroll(size):
            frame.scroll(0, size.height())
        frame.connect(frame, QtCore.SIGNAL("contentsSizeChanged (const QSize&)"), autoScroll)

        usersList = QtGui.QListWidget()

        filesLabel = QtGui.QLabel("")
        filesLabel.setOpenExternalLinks(True)
        filesLabel.setWordWrap(True)
        filesLabel.hide()

        uploadButton = QtGui.QPushButton(self._("&Upload new file"))
        self.connect(uploadButton, QtCore.SIGNAL("clicked()"), self.uploadFile)

        uploadProgressBar = QtGui.QProgressBar()
        uploadProgressLabel = QtGui.QLabel(self._("Uploading:"))

        uploadCancelButton = QtGui.QPushButton(self._("Cancel"))
        self.connect(uploadCancelButton, QtCore.SIGNAL("clicked()"), self.uploadCancel)

        uploadLayout = QtGui.QHBoxLayout()
        uploadLayout.addWidget(uploadProgressLabel)
        uploadLayout.addWidget(uploadProgressBar)
        uploadLayout.addWidget(uploadCancelButton)

        uploadWidget = QtGui.QWidget()
        uploadWidget.setLayout(uploadLayout)
        uploadWidget.hide()

        leftFrameLayout = QtGui.QVBoxLayout()
        leftFrameLayout.addWidget(topicLabel)
        leftFrameLayout.addWidget(view)
        leftFrameLayout.addWidget(uploadWidget)

        rightFrameLayout = QtGui.QVBoxLayout()
        rightFrameLayout.addWidget(usersList)
        rightFrameLayout.addWidget(filesLabel)
        rightFrameLayout.addWidget(uploadButton)
        rightFrameLayout.addStretch(1)

        leftFrame = QtGui.QWidget()
        leftFrame.setLayout(leftFrameLayout)

        rightFrame = QtGui.QWidget()
        rightFrame.setLayout(rightFrameLayout)

        splitter = QtGui.QSplitter()
        splitter.addWidget(leftFrame)
        splitter.addWidget(rightFrame)
        splitter.setSizes([splitter.size().width() * 0.75, splitter.size().width() * 0.25])

        index = self._tabs.addTab(splitter, room.name)
        self._tabs.setCurrentIndex(index)

        if not self.COLORS["normal"]:
            self.COLORS["normal"] = self._tabs.tabBar().tabTextColor(index)
        else:
            self._tabs.tabBar().setTabTextColor(index, self.COLORS["normal"])

        return {
            "tab": index,
            "view": view,
            "frame": frame,
            "usersList": usersList,
            "topicLabel": topicLabel,
            "filesLabel": filesLabel,
            "uploadButton": uploadButton,
            "uploadWidget": uploadWidget,
            "uploadProgressBar": uploadProgressBar,
            "uploadProgressLabel": uploadProgressLabel
        }
コード例 #5
0
ファイル: mainframe.py プロジェクト: fabiokung/snakefire
    def _setupRoomUI(self, room):
        topic = room.topic if room.topic else ""
        topicLabel = ClickableQLabel(topic)
        topicLabel.setToolTip(self._("Click here to change room's topic"))
        topicLabel.setWordWrap(True)
        self.connect(topicLabel, QtCore.SIGNAL("clicked()"), self.changeTopic)

        view = SnakeFireWebView(self)
        view.setSizePolicy(QtGui.QSizePolicy.Expanding,
                           QtGui.QSizePolicy.Expanding)
        frame = view.page().mainFrame()

        #Send all link clicks to systems web browser
        view.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)

        def linkClicked(url):
            QtGui.QDesktopServices.openUrl(url)

        view.connect(view, QtCore.SIGNAL("linkClicked (const QUrl&)"),
                     linkClicked)

        # Support auto scroll when needed
        def autoScroll(size):
            frame.scroll(0, size.height())

        frame.connect(frame,
                      QtCore.SIGNAL("contentsSizeChanged (const QSize&)"),
                      autoScroll)

        usersList = QtGui.QListWidget()

        filesLabel = QtGui.QLabel("")
        filesLabel.setOpenExternalLinks(True)
        filesLabel.setWordWrap(True)
        filesLabel.hide()

        uploadButton = QtGui.QPushButton(self._("&Upload new file"))
        self.connect(uploadButton, QtCore.SIGNAL("clicked()"), self.uploadFile)

        uploadProgressBar = QtGui.QProgressBar()
        uploadProgressLabel = QtGui.QLabel(self._("Uploading:"))

        uploadCancelButton = QtGui.QPushButton(self._("Cancel"))
        self.connect(uploadCancelButton, QtCore.SIGNAL("clicked()"),
                     self.uploadCancel)

        uploadLayout = QtGui.QHBoxLayout()
        uploadLayout.addWidget(uploadProgressLabel)
        uploadLayout.addWidget(uploadProgressBar)
        uploadLayout.addWidget(uploadCancelButton)

        uploadWidget = QtGui.QWidget()
        uploadWidget.setLayout(uploadLayout)
        uploadWidget.hide()

        leftFrameLayout = QtGui.QVBoxLayout()
        leftFrameLayout.addWidget(topicLabel)
        leftFrameLayout.addWidget(view)
        leftFrameLayout.addWidget(uploadWidget)

        rightFrameLayout = QtGui.QVBoxLayout()
        rightFrameLayout.addWidget(usersList)
        rightFrameLayout.addWidget(filesLabel)
        rightFrameLayout.addWidget(uploadButton)
        rightFrameLayout.addStretch(1)

        leftFrame = QtGui.QWidget()
        leftFrame.setLayout(leftFrameLayout)

        rightFrame = QtGui.QWidget()
        rightFrame.setLayout(rightFrameLayout)

        splitter = QtGui.QSplitter()
        splitter.addWidget(leftFrame)
        splitter.addWidget(rightFrame)
        splitter.setSizes(
            [splitter.size().width() * 0.75,
             splitter.size().width() * 0.25])

        index = self._tabs.addTab(splitter, room.name)
        self._tabs.setCurrentIndex(index)

        if not self.COLORS["normal"]:
            self.COLORS["normal"] = self._tabs.tabBar().tabTextColor(index)
        else:
            self._tabs.tabBar().setTabTextColor(index, self.COLORS["normal"])

        return {
            "tab": index,
            "view": view,
            "frame": frame,
            "usersList": usersList,
            "topicLabel": topicLabel,
            "filesLabel": filesLabel,
            "uploadButton": uploadButton,
            "uploadWidget": uploadWidget,
            "uploadProgressBar": uploadProgressBar,
            "uploadProgressLabel": uploadProgressLabel
        }
コード例 #6
0
    def _setupRoomUI(self, room):
        topicLabel = ClickableQLabel(room.topic)
        topicLabel.setToolTip(self._("Click here to change room's topic"))
        topicLabel.setWordWrap(True)
        self.connect(topicLabel, QtCore.SIGNAL("clicked()"), self.changeTopic)

        editor = QtGui.QTextBrowser()
        editor.setOpenExternalLinks(True)

        usersList = QtGui.QListWidget()

        filesLabel = QtGui.QLabel("")
        filesLabel.setOpenExternalLinks(True)
        filesLabel.setWordWrap(True)
        filesLabel.hide()

        uploadButton = QtGui.QPushButton(self._("&Upload new file"))
        self.connect(uploadButton, QtCore.SIGNAL("clicked()"), self.uploadFile)

        uploadProgressBar = QtGui.QProgressBar()
        uploadProgressLabel = QtGui.QLabel(self._("Uploading:"))

        uploadCancelButton = QtGui.QPushButton(self._("Cancel"))
        self.connect(uploadCancelButton, QtCore.SIGNAL("clicked()"),
                     self.uploadCancel)

        uploadLayout = QtGui.QHBoxLayout()
        uploadLayout.addWidget(uploadProgressLabel)
        uploadLayout.addWidget(uploadProgressBar)
        uploadLayout.addWidget(uploadCancelButton)

        uploadWidget = QtGui.QWidget()
        uploadWidget.setLayout(uploadLayout)
        uploadWidget.hide()

        leftFrameLayout = QtGui.QVBoxLayout()
        leftFrameLayout.addWidget(topicLabel)
        leftFrameLayout.addWidget(editor)
        leftFrameLayout.addWidget(uploadWidget)

        rightFrameLayout = QtGui.QVBoxLayout()
        rightFrameLayout.addWidget(QtGui.QLabel(self._("Users in room:")))
        rightFrameLayout.addWidget(usersList)
        rightFrameLayout.addWidget(filesLabel)
        rightFrameLayout.addWidget(uploadButton)
        rightFrameLayout.addStretch(1)

        leftFrame = QtGui.QWidget()
        leftFrame.setLayout(leftFrameLayout)

        rightFrame = QtGui.QWidget()
        rightFrame.setLayout(rightFrameLayout)

        splitter = QtGui.QSplitter()
        splitter.addWidget(leftFrame)
        splitter.addWidget(rightFrame)
        splitter.setSizes(
            [splitter.size().width() * 0.75,
             splitter.size().width() * 0.25])

        index = self._tabs.addTab(splitter, room.name)
        self._tabs.setCurrentIndex(index)

        if not self.COLORS["tabs"]["normal"]:
            self.COLORS["tabs"]["normal"] = self._tabs.tabBar().tabTextColor(
                index)
        else:
            self._tabs.tabBar().setTabTextColor(index,
                                                self.COLORS["tabs"]["normal"])

        return {
            "tab": index,
            "editor": editor,
            "usersList": usersList,
            "topicLabel": topicLabel,
            "filesLabel": filesLabel,
            "uploadButton": uploadButton,
            "uploadWidget": uploadWidget,
            "uploadProgressBar": uploadProgressBar,
            "uploadProgressLabel": uploadProgressLabel
        }