import sys
-#import gc
+import gc
import os
-import re
-import time
import threading
-import contextlib
+import time
+import re
+
+import warnings
+
import gobject
import gtk
import gtk.glade
from gcbackend import GCDialer
import socket
-socket.setdefaulttimeout(5)
-@contextlib.contextmanager
-def gtk_critical_section():
- #The API changed and I hope these are the right calls
- gtk.gdk.threads_enter()
- yield
- gtk.gdk.threads_leave()
+
+socket.setdefaulttimeout(5)
def makeugly(prettynumber):
self.wTree.get_widget("usernameentry").set_property('hildon-input-mode', 7)
self.wTree.get_widget("passwordentry").set_property('hildon-input-mode', 7|(1 << 29))
else:
- print "No Hildon"
+ warnings.warn("No Hildon", UserWarning, 2)
if osso is not None:
self.osso = osso.Context(__name__, Dialpad.__version__, False)
abook.init_with_name(__name__, self.osso)
self.ebook = evo.open_addressbook("default")
else:
- print "No abook and No evolution address book support"
+ warnings.warn("No abook and No evolution address book support", UserWarning, 2)
else:
- print "No OSSO"
+ warnings.warn("No OSSO", UserWarning, 2)
if self.window:
self.window.connect("destroy", gtk.main_quit)
"on_digit_clicked" : self.on_digit_clicked,
"on_dial_clicked" : self.on_dial_clicked,
"on_loginbutton_clicked" : self.on_loginbutton_clicked,
+ "on_loginclose_clicked" : self.on_loginclose_clicked,
"on_clearcookies_clicked" : self.on_clearcookies_clicked,
# "on_callbackentry_changed" : self.on_callbackentry_changed,
"on_notebook_switch_page" : self.on_notebook_switch_page,
def on_loginbutton_clicked(self, data=None):
self.wTree.get_widget("login_dialog").response(gtk.RESPONSE_OK)
+ def on_loginclose_clicked(self, data=None):
+ sys.exit(0)
+
def on_dial_clicked(self, widget):
self.attemptLogin(3)
def on_device_state_change(self, shutdown, save_unsaved_data, memory_low, system_inactivity, message, userData):
"""
+ For shutdown or save_unsaved_data, our only state is cookies and I think the cookie manager handles that for us.
+ For system_inactivity, we have no background tasks to pause
+
@todo Might be useful to do something when going in offline mode or low memory
@note Hildon specific
"""
- pass
+ if shutdown or save_unsaved_data:
+ pass
+
+ if memory_low:
+ self.gcd.clear_caches()
+ re.purge()
+ gc.collect()
+
+ #if offline (how do I tell this? the message somehow?)
+ # disable the gui?
+ # disable clearing of caches and when they click dial, request to connect?
def setNumber(self, number):
self.phonenumber = makeugly(number)