mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-10-17 17:49:16 +02:00
55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
|
from gi.repository import Gtk
|
||
|
import widgetUtils
|
||
|
|
||
|
class sessionManagerWindow(Gtk.Dialog):
|
||
|
def __init__(self):
|
||
|
super(sessionManagerWindow, self).__init__("Session Manager", None, 0, (Gtk.STOCK_OK, widgetUtils.OK, Gtk.STOCK_CANCEL, widgetUtils.CANCEL))
|
||
|
box = self.get_content_area()
|
||
|
self.list = widgetUtils.list("Session")
|
||
|
box.add(self.list.list)
|
||
|
btnBox = Gtk.Box(spacing=6)
|
||
|
self.new = Gtk.Button("New account")
|
||
|
self.remove = Gtk.Button("Remove account")
|
||
|
btnBox.add(self.new)
|
||
|
btnBox.add(self.remove)
|
||
|
box.add(btnBox)
|
||
|
self.show_all()
|
||
|
|
||
|
def fill_list(self, sessionsList):
|
||
|
for i in sessionsList:
|
||
|
self.list.insert_item(i)
|
||
|
if self.list.get_count() > 0:
|
||
|
self.list.select_item(0)
|
||
|
|
||
|
def get_response(self):
|
||
|
return self.run()
|
||
|
|
||
|
def new_account_dialog(self):
|
||
|
dialog = Gtk.MessageDialog(self, 0, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO, "Authorization")
|
||
|
dialog.format_secondary_text("The request for the required Twitter authorization to continue will be opened on your browser. You only need to do it once. Would you like to autorhise a new account now?")
|
||
|
return dialog.run()
|
||
|
|
||
|
def add_new_session_to_list(self):
|
||
|
total = self.list.get_count()
|
||
|
name = "Authorised account %d" % (total+1)
|
||
|
self.list.insert_item(name)
|
||
|
if self.list.get_count() == 1:
|
||
|
self.list.select_item(0)
|
||
|
|
||
|
def show_unauthorised_error(self):
|
||
|
dialog = Gtk.MessageDialog(self, 0, Gtk.MessageType.ERROR, Gtk.ButtonsType.CANCEL, "Invalid user token")
|
||
|
dialog.format_secondary_text("Your access token is invalid or the authorisation has failed. Please try again.")
|
||
|
return dialog.run()
|
||
|
|
||
|
def remove_account_dialog(self):
|
||
|
dialog = Gtk.MessageDialog(self, 0, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO, "Remove account")
|
||
|
dialog.format_secondary_text("Do you really want delete this account?")
|
||
|
return dialog.run()
|
||
|
|
||
|
def get_selected(self):
|
||
|
return self.list.get_selected()
|
||
|
|
||
|
def remove_session(self, sessionID):
|
||
|
self.list.remove_item(sessionID)
|
||
|
|