def on_authorized(self): access = self.settings.read_credentials() credentials = {"consumer_key": SettingsManager.consumer_key, 'consumer_secret': SettingsManager.consumer_secret, 'access_key': access['access_key'], 'access_secret': access['access_secret']} self.client = TwitterClient(credentials) self.message_thread = MessageThread(self.client) self.message_thread.statuses_updated.connect(self.on_new_statuses_received) self.message_thread.start() self.tray_icon = TrayIcon() self.tray_icon.show() self.ui.show()
class MainWindow(QtGui.QWidget): posted = pyqtSignal() def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.ui = uic.loadUi("gui/ui/mainwindow.ui") self.slots_init() self.settings = SettingsManager() try: self.on_authorized() except: self.loginwindow = LoginWindow() self.loginwindow.authorized.connect(self.on_authorized) self.loginwindow.ui.show() @pyqtSlot() def on_authorized(self): access = self.settings.read_credentials() credentials = {"consumer_key": SettingsManager.consumer_key, 'consumer_secret': SettingsManager.consumer_secret, 'access_key': access['access_key'], 'access_secret': access['access_secret']} self.client = TwitterClient(credentials) self.message_thread = MessageThread(self.client) self.message_thread.statuses_updated.connect(self.on_new_statuses_received) self.message_thread.start() self.tray_icon = TrayIcon() self.tray_icon.show() self.ui.show() def slots_init(self): self.ui.sendstatus.clicked.connect(self.on_send_status_clicked) @pyqtSlot(list) def on_new_statuses_received(self, statuses): cursor = self.ui.statuslist.textCursor() cursor.movePosition(QTextCursor.Start) self.ui.statuslist.setTextCursor(cursor) for status in statuses: self.ui.statuslist.insertHtml(formatStatus(status)) scroll_bar = self.ui.statuslist.verticalScrollBar() scroll_bar.setValue(scroll_bar.minimum()) @pyqtSlot() def status_posted(self): self.ui.status.setReadOnly(False) @pyqtSlot() def on_send_status_clicked(self): status = self.ui.status.toPlainText().__str__() self.ui.status.clear() self.ui.status.setReadOnly(True) sender = SenderCommand(self.client, status) sender.posted.connect(self.status_posted) command_processor = CommandProcessor(sender) QThreadPool.globalInstance().start(command_processor)