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 }
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 }
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 }
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 }