added Controller and OauthImplementation windows

This commit is contained in:
jeena 2012-11-05 02:05:13 +01:00
parent 36f2e9add1
commit f189bfe754
2 changed files with 69 additions and 7 deletions

View file

@ -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()

View file

@ -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)