"""
If something can be done after the UI loads, push it here so it's not blocking the UI
"""
+ # Barebones UI handlers
+ import null_backend
+ import null_views
+
+ self._phoneBackends = {self.NULL_BACKEND: null_backend.NullDialer()}
+ gtk.gdk.threads_enter()
+ try:
+ self._dialpads = {self.NULL_BACKEND: null_views.Dialpad(self._widgetTree)}
+ self._accountViews = {self.NULL_BACKEND: null_views.AccountInfo(self._widgetTree)}
+ self._recentViews = {self.NULL_BACKEND: null_views.RecentCallsView(self._widgetTree)}
+ self._contactsViews = {self.NULL_BACKEND: null_views.ContactsView(self._widgetTree)}
+
+ self._dialpads[self._selectedBackendId].enable()
+ self._accountViews[self._selectedBackendId].enable()
+ self._recentViews[self._selectedBackendId].enable()
+ self._contactsViews[self._selectedBackendId].enable()
+ finally:
+ gtk.gdk.threads_leave()
+
+ # Setup maemo specifics
try:
import osso
except ImportError:
else:
pass # warnings.warn("No Internet Connectivity API ", UserWarning)
- import null_backend
+ # Setup costly backends
import gv_backend
import gc_backend
import file_backend
import evo_backend
- import null_views
import gc_views
try:
(self.GV_BACKEND, gvCookiePath),
))
- self._phoneBackends = {
- self.NULL_BACKEND: null_backend.NullDialer(),
+ self._phoneBackends.update({
self.GC_BACKEND: gc_backend.GCDialer(gcCookiePath),
self.GV_BACKEND: gv_backend.GVDialer(gvCookiePath),
- }
+ })
gtk.gdk.threads_enter()
try:
unifiedDialpad = gc_views.Dialpad(self._widgetTree, self._errorDisplay)
unifiedDialpad.set_number("")
- self._dialpads = {
+ self._dialpads.update({
self.GC_BACKEND: unifiedDialpad,
self.GV_BACKEND: unifiedDialpad,
- self.NULL_BACKEND: null_views.Dialpad(self._widgetTree),
- }
- self._accountViews = {
+ })
+ self._accountViews.update({
self.GC_BACKEND: gc_views.AccountInfo(
self._widgetTree, self._phoneBackends[self.GC_BACKEND], self._errorDisplay
),
self.GV_BACKEND: gc_views.AccountInfo(
self._widgetTree, self._phoneBackends[self.GV_BACKEND], self._errorDisplay
),
- self.NULL_BACKEND: null_views.AccountInfo(self._widgetTree),
- }
- self._recentViews = {
+ })
+ self._recentViews.update({
self.GC_BACKEND: gc_views.RecentCallsView(
self._widgetTree, self._phoneBackends[self.GC_BACKEND], self._errorDisplay
),
self.GV_BACKEND: gc_views.RecentCallsView(
self._widgetTree, self._phoneBackends[self.GV_BACKEND], self._errorDisplay
),
- self.NULL_BACKEND: null_views.RecentCallsView(self._widgetTree),
- }
- self._contactsViews = {
+ })
+ self._contactsViews.update({
self.GC_BACKEND: gc_views.ContactsView(
self._widgetTree, self._phoneBackends[self.GC_BACKEND], self._errorDisplay
),
self.GV_BACKEND: gc_views.ContactsView(
self._widgetTree, self._phoneBackends[self.GV_BACKEND], self._errorDisplay
),
- self.NULL_BACKEND: null_views.ContactsView(self._widgetTree),
- }
+ })
finally:
gtk.gdk.threads_leave()
self._contactsViews[backendId].extend(addressBooks)
self._contactsViews[backendId].open_addressbook(*self._contactsViews[backendId].get_addressbooks().next()[0][0:2])
- gtk.gdk.threads_enter()
- try:
- self._dialpads[self._selectedBackendId].enable()
- self._accountViews[self._selectedBackendId].enable()
- self._recentViews[self._selectedBackendId].enable()
- self._contactsViews[self._selectedBackendId].enable()
- finally:
- gtk.gdk.threads_leave()
-
callbackMapping = {
"on_paste": self._on_paste,
"on_clearcookies_clicked": self._on_clearcookies_clicked,