added Controller and OauthImplementation windows
This commit is contained in:
parent
36f2e9add1
commit
f189bfe754
2 changed files with 69 additions and 7 deletions
|
@ -5,19 +5,41 @@ import TentiaWindows
|
||||||
class Tentia:
|
class Tentia:
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.setup_preferences_window()
|
self.controller = Controller()
|
||||||
self.preferences_window.show()
|
|
||||||
|
self.setup_windows()
|
||||||
|
self.preferences.show()
|
||||||
gtk.main()
|
gtk.main()
|
||||||
|
|
||||||
def quit(self, sender):
|
def quit(self, sender):
|
||||||
gtk.main_quit()
|
gtk.main_quit()
|
||||||
|
|
||||||
def setup_preferences_window(self):
|
def setup_windows(self):
|
||||||
self.preferences_window = TentiaWindows.Preferences(self)
|
self.preferences = TentiaWindows.Preferences(self)
|
||||||
|
self.timeline = TentiaWindows.Timeline(self)
|
||||||
|
self.mentions = TentiaWindows.Timeline(self, action="mentions", title="Mentions")
|
||||||
|
|
||||||
def resources_path(self):
|
def resources_path(self):
|
||||||
return "../"
|
return "../"
|
||||||
|
|
||||||
|
def login_with_entity(self, entity):
|
||||||
|
self.controller.setString_forKey_("entity", entity)
|
||||||
|
self.oauth_implementation = TentiaWindows.OauthImplementation(self)
|
||||||
|
|
||||||
|
def controller():
|
||||||
|
return self.controller;
|
||||||
|
|
||||||
|
|
||||||
|
class Controller:
|
||||||
|
|
||||||
|
def __init__(self, app):
|
||||||
|
self.app = app
|
||||||
|
|
||||||
|
def setString_forKey_(self, string, key):
|
||||||
|
self.user_defaults[string] = key
|
||||||
|
|
||||||
|
def getStringForKey_(self, key):
|
||||||
|
return self.user_defaults[key]
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
Tentia()
|
Tentia()
|
|
@ -40,7 +40,7 @@ class Preferences:
|
||||||
self.app.quit(self)
|
self.app.quit(self)
|
||||||
|
|
||||||
def on_login_button_clicked(self, widget):
|
def on_login_button_clicked(self, widget):
|
||||||
print "Login"
|
self.app.login_with_entity(self.entity_entry.get_text())
|
||||||
|
|
||||||
def show(self):
|
def show(self):
|
||||||
self.window.show()
|
self.window.show()
|
||||||
|
@ -48,14 +48,21 @@ class Preferences:
|
||||||
def hide(self):
|
def hide(self):
|
||||||
self.window.hide()
|
self.window.hide()
|
||||||
|
|
||||||
|
|
||||||
class Timeline:
|
class Timeline:
|
||||||
|
|
||||||
def __init__(self, app):
|
def __init__(self, app, action="home_timeline", title="Tentia"):
|
||||||
self.app = app
|
self.app = app
|
||||||
|
self.action = action
|
||||||
|
self.title = title
|
||||||
|
|
||||||
self.window = gtk.Window()
|
self.window = gtk.Window()
|
||||||
self.window.connect("delete-event", self.quit)
|
self.window.connect("delete-event", self.quit)
|
||||||
|
self.window.set_title(self.title)
|
||||||
|
self.window.set_position(gtk.WIN_POS_CENTER)
|
||||||
|
self.window.set_size_request(390, 650)
|
||||||
|
|
||||||
scroller = gtk.ScrollerWindow()
|
scroller = gtk.ScrolledWindow()
|
||||||
self.window.add(scroller)
|
self.window.add(scroller)
|
||||||
|
|
||||||
self.web_view = webkit.WebView()
|
self.web_view = webkit.WebView()
|
||||||
|
@ -71,3 +78,36 @@ class Timeline:
|
||||||
|
|
||||||
def hide(self):
|
def hide(self):
|
||||||
self.window.hide()
|
self.window.hide()
|
||||||
|
|
||||||
|
def init_web_view(self):
|
||||||
|
self.web_view.connect("load-finished", self.load_finished)
|
||||||
|
self.web_view.open(self.app.resources_path() + "index.html")
|
||||||
|
|
||||||
|
def load_finished(self, widget):
|
||||||
|
delay = 1
|
||||||
|
if self.action == "mentions":
|
||||||
|
delay = 1000
|
||||||
|
|
||||||
|
script = "setTimeout(\
|
||||||
|
function() {\
|
||||||
|
tentia_instance = new Core('" + self.action + "');\
|
||||||
|
document.getElementsByTagName('body')[0].appendChild(tentia_instance.body);\
|
||||||
|
setTimeout(function(){ loadPlugin(controller.pluginURL()) }, 1); }, " + delay + "\
|
||||||
|
);"
|
||||||
|
|
||||||
|
self.web_view.execute_script(script)
|
||||||
|
|
||||||
|
class OauthImplementation:
|
||||||
|
|
||||||
|
def __init__(self, app):
|
||||||
|
self.app = app
|
||||||
|
self.web_view = gtk.WebView()
|
||||||
|
self.init_web_view()
|
||||||
|
|
||||||
|
def init_web_view(self):
|
||||||
|
self.web_view.connect("load-finished", self.load_finished)
|
||||||
|
self.web_view.open(self.app.resources_path() + "index_oauth.html")
|
||||||
|
|
||||||
|
def load_finished(self, widget):
|
||||||
|
script = "setTimeout( function() { tentia_oauth = new OauthImplementation(); }, 2);"
|
||||||
|
self.web_view.execute_script(stript)
|
||||||
|
|
Reference in a new issue