online-desktop r7276 - in trunk/weblogindriver: . weblogindriver
- From: marinaz svn gnome org
- To: svn-commits-list gnome org
- Subject: online-desktop r7276 - in trunk/weblogindriver: . weblogindriver
- Date: Fri, 24 Oct 2008 20:44:03 +0000 (UTC)
Author: marinaz
Date: Fri Oct 24 20:44:02 2008
New Revision: 7276
URL: http://svn.gnome.org/viewvc/online-desktop?rev=7276&view=rev
Log:
Display a different link depending on whether we have a user from the data model and whether save online mode is enabled.
Modified:
trunk/weblogindriver/web-login-driver
trunk/weblogindriver/weblogindriver/accounts_dialog.py
Modified: trunk/weblogindriver/web-login-driver
==============================================================================
--- trunk/weblogindriver/web-login-driver (original)
+++ trunk/weblogindriver/web-login-driver Fri Oct 24 20:44:02 2008
@@ -703,6 +703,7 @@
def __on_datamodel_response(self, myself):
_logger.debug("received data model response")
self.__received_response_from_server = True
+ self.HaveOnlineUserFlagChanged(self.__received_response_from_server)
myself.connect(self.__update_google_enabled_emails, 'googleEnabledEmails')
myself.connect(self.__update_loved_accounts, 'lovedAccounts')
self.__update_google_enabled_emails(myself)
@@ -901,6 +902,7 @@
else:
self.__server_accounts.clear()
self.__received_response_from_server = False
+ self.HaveOnlineUserFlagChanged(self.__received_response_from_server)
if self.__model.self_resource != None:
self.__model.self_resource.disconnect(self.__update_google_enabled_emails)
self.__model.self_resource.disconnect(self.__update_loved_accounts)
@@ -1093,6 +1095,16 @@
def SaveOnlineFlagChanged(self, new_save_online_flag):
pass
+ @dbus.service.method(OA_BUS_IFACE_STR,
+ out_signature="b")
+ def GetHaveOnlineUserFlag(self):
+ return self.__received_response_from_server
+
+ @dbus.service.signal(OA_BUS_IFACE_STR,
+ signature='b')
+ def HaveOnlineUserFlagChanged(self, new_have_online_user_flag):
+ pass
+
@dbus.service.signal(OA_BUS_IFACE_STR,
signature='ssb')
def AccountUpdateFeedback(self, feedback_header, feedback_message, is_error_flag):
Modified: trunk/weblogindriver/weblogindriver/accounts_dialog.py
==============================================================================
--- trunk/weblogindriver/weblogindriver/accounts_dialog.py (original)
+++ trunk/weblogindriver/weblogindriver/accounts_dialog.py Fri Oct 24 20:44:02 2008
@@ -122,8 +122,7 @@
self.__account_page_link_box = gtk.HBox()
self.__account_page_link = Link()
- self.__account_page_link.set_text("Visit Account Page")
- self.__account_page_link.connect("clicked", self.__open_account_page)
+ self.__account_page_link_connect_id = None
self.__account_page_link_box.pack_start(self.__account_page_link, expand=False, fill=False)
self.__outer_existing_accounts_vbox.pack_end(self.__account_page_link_box, False, False, padding=2)
@@ -190,8 +189,7 @@
self.__account_page_link_box_2 = gtk.HBox()
self.__account_page_link_2 = Link()
- self.__account_page_link_2.set_text("Visit Account Page")
- self.__account_page_link_2.connect("clicked", self.__open_account_page)
+ self.__account_page_link_2_connect_id = None
self.__account_page_link_box_2.pack_start(self.__account_page_link_2, expand=False, fill=False)
self.__outer_new_account_vbox.pack_end(self.__account_page_link_box_2, False, False, padding=2)
@@ -205,6 +203,8 @@
self.__model_tree_iter_by_account = {}
self.__current_account = None
+ self.__update_online_links()
+
self.show_all()
self.__set_no_accounts_state(True)
@@ -236,17 +236,52 @@
id = self.__onlineaccounts_proxy.connect_to_signal('SaveOnlineFlagChanged',
self.__on_save_online_flag_changed)
self.__connections.add(self.__onlineaccounts_proxy, id)
+ id = self.__onlineaccounts_proxy.connect_to_signal('HaveOnlineUserFlagChanged',
+ self.__on__have_online_user_flag_changed)
+ self.__connections.add(self.__onlineaccounts_proxy, id)
id = self.__onlineaccounts_proxy.connect_to_signal('AccountUpdateFeedback',
self.__on_account_update_feedback)
self.__connections.add(self.__onlineaccounts_proxy, id)
- def __open_account_page(self, l):
- gnome.url_show(urlparse.urljoin(ddm_util.get_baseurl(), "/account"))
-
+ def __open_server_page(self, l, page):
+ gnome.url_show(urlparse.urljoin(ddm_util.get_baseurl(), page))
+
+ def __update_online_links(self):
+ save_online_flag = self.__online_accounts_service.GetSaveOnlineFlag()
+ have_online_user_flag = self.__online_accounts_service.GetHaveOnlineUserFlag()
+
+ if self.__account_page_link_connect_id is not None:
+ self.__account_page_link.disconnect(self.__account_page_link_connect_id)
+
+ if self.__account_page_link_2_connect_id is not None:
+ self.__account_page_link_2.disconnect(self.__account_page_link_2_connect_id)
+
+ if save_online_flag and have_online_user_flag:
+ # display a link to the account page
+ self.__account_page_link.set_text("Visit Account Page")
+ self.__account_page_link_connect_id = self.__account_page_link.connect("clicked", self.__open_server_page, "/account")
+ self.__account_page_link_2.set_text("Visit Account Page")
+ self.__account_page_link_2_connect_id = self.__account_page_link_2.connect("clicked", self.__open_server_page, "/account")
+ elif save_online_flag and not have_online_user_flag:
+ # tell the user that they need to sign in
+ self.__account_page_link.set_text("You Need to Sign in", "red")
+ self.__account_page_link_connect_id = self.__account_page_link.connect("clicked", self.__open_server_page, "/who-are-you")
+ self.__account_page_link_2.set_text("You Need to Sign in", "red")
+ self.__account_page_link_2_connect_id = self.__account_page_link_2.connect("clicked", self.__open_server_page, "/who-are-you")
+ else:
+ # display a Learn More link
+ self.__account_page_link.set_text("Learn More")
+ self.__account_page_link_connect_id = self.__account_page_link.connect("clicked", self.__open_server_page, "/accounts-learnmore")
+ self.__account_page_link_2.set_text("Learn More")
+ self.__account_page_link_2_connect_id = self.__account_page_link_2.connect("clicked", self.__open_server_page, "/accounts-learnmore")
+
def __on_save_online_flag_changed(self, new_save_online_flag):
self.__save_online_check_box.set_active(new_save_online_flag)
self.__save_online_check_box_2.set_active(new_save_online_flag)
- # TODO: update the links too
+ self.__update_online_links()
+
+ def __on__have_online_user_flag_changed(self, new_have_online_user_flag):
+ self.__update_online_links()
def __on_account_added(self, a_path):
if a_path not in self.__model_tree_iter_by_account:
@@ -469,17 +504,17 @@
def get_text(self):
return self.__text
- def set_text(self, text):
+ def set_text(self, text, color="blue"):
self.__text = text
- self.set_markup(gobject.markup_escape_text(text))
+ self.set_markup(gobject.markup_escape_text(text), color)
def set_enabled(self, enabled):
self.__enabled = enabled
self.set_markup(gobject.markup_escape_text(self.__text))
- def set_markup(self, text):
+ def set_markup(self, text, color="blue"):
if self.__enabled:
- self.__label.set_markup('<span foreground="blue">%s</span>' % (text,))
+ self.__label.set_markup('<span foreground="%s">%s</span>' % (color, text,))
else:
self.__label.set_markup('<span foreground="#666666">%s</span>' % (text,))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]