self._notebook = self._widgetTree.get_widget("notebook")
self._errorDisplay = gtk_toolbox.ErrorDisplay(self._widgetTree)
self._credentialsDialog = gtk_toolbox.LoginWindow(self._widgetTree)
+ self._smsEntryWindow = None
self._isFullScreen = False
self._app = hildonize.get_app_class()()
import gv_views
from backends import merge_backend
+ self._smsEntryWindow = gv_views.SmsEntryWindow(self._widgetTree)
try:
os.makedirs(constants._data_path_)
except OSError, e:
fileBackend = file_backend.FilesystemAddressBookFactory(self._fsContactsPath)
- self._dialpads[self.GV_BACKEND].number_selected = self._select_action
- self._historyViews[self.GV_BACKEND].number_selected = self._select_action
- self._messagesViews[self.GV_BACKEND].number_selected = self._select_action
- self._contactsViews[self.GV_BACKEND].number_selected = self._select_action
+ self._dialpads[self.GV_BACKEND].add_contact = self._add_contact
+ self._historyViews[self.GV_BACKEND].add_contact = self._add_contact
+ self._messagesViews[self.GV_BACKEND].add_contact = self._add_contact
+ self._contactsViews[self.GV_BACKEND].add_contact = self._add_contact
addressBooks = [
self._phoneBackends[self.GV_BACKEND],
return loggedIn, serviceId
- def _select_action(self, action, numbers, message):
- self.refresh_session()
- if action == "dial":
- assert len(numbers) == 1
- number = numbers[0]
- self._on_dial_clicked(number)
- elif action == "sms":
- self._on_sms_clicked(numbers, message)
- else:
- assert False, "Unknown action: %s" % action
+ def _add_contact(self, *args, **kwds):
+ self._smsEntryWindow.add_contact(*args, **kwds)
def _change_loggedin_status(self, newStatus):
oldStatus = self._selectedBackendId
try:
assert numbers, "No number specified"
assert message, "Empty message"
+ self.refresh_session()
try:
loggedIn = self._phoneBackends[self._selectedBackendId].is_authed()
except Exception, e:
def _on_dial_clicked(self, number):
try:
assert number, "No number to call"
+ self.refresh_session()
try:
loggedIn = self._phoneBackends[self._selectedBackendId].is_authed()
except Exception, e:
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
@todo Collapse voicemails
-@todo Alternate UI for dialogs (stackables)
"""
from __future__ import with_statement
return "\n".join(_collapse_message(messageLines, maxCharsPerLine, maxLines))
-class SmsEntryDialog(object):
- # @todo Need to consolidate instances
+class SmsEntryWindow(object):
MAX_CHAR = 160
def __init__(self, widgetTree, errorDisplay):
self._clipboard = gtk.clipboard_get()
self._errorDisplay = errorDisplay
- self._smsDialog = SmsEntryDialog(widgetTree)
self._numberdisplay = widgetTree.get_widget("numberdisplay")
self._smsButton = widgetTree.get_widget("sms")
self._backTapHandler.disable()
self._zeroOrPlusTapHandler.disable()
- def number_selected(self, action, numbers, message):
+ def add_contact(self, *args, **kwds):
"""
@note Actual dial function is patched in later
"""
def _on_sms_clicked(self, widget):
try:
phoneNumber = self.get_number()
- self._smsDialog.add_contact(
+ self.add_contact(
[("Dialer", phoneNumber)], (), self._window
)
except Exception, e:
def _on_dial_clicked(self, widget):
try:
- action = SmsEntryDialog.ACTION_DIAL
- phoneNumbers = [self.get_number()]
- message = ""
- self.number_selected(action, phoneNumbers, message)
+ #self.number_selected(action, phoneNumbers, message) TODO
+ pass
except Exception, e:
self._errorDisplay.push_exception()
self._nameColumn.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
self._window = gtk_toolbox.find_parent_window(self._historyview)
- self._smsDialog = SmsEntryDialog(widgetTree)
self._historyFilterSelector = widgetTree.get_widget("historyFilterSelector")
self._historyFilterSelector.connect("clicked", self._on_history_filter_clicked)
self._historyview.remove_column(self._numberColumn)
self._historyview.set_model(None)
- def number_selected(self, action, numbers, message):
+ def add_contact(self, *args, **kwds):
"""
@note Actual dial function is patched in later
"""
contactPhoneNumbers = [("Phone", number)]
defaultIndex = -1
- self._smsDialog.add_contact(
+ self.add_contact(
contactPhoneNumbers,
messages = (description, ),
parent = self._window,
self._messageColumn.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
self._window = gtk_toolbox.find_parent_window(self._messageview)
- self._smsDialog = SmsEntryDialog(widgetTree)
self._messageTypeButton = widgetTree.get_widget("messageTypeButton")
self._onMessageTypeClickedId = 0
self._messageview.remove_column(self._messageColumn)
self._messageview.set_model(None)
- def number_selected(self, action, numbers, message):
+ def add_contact(self, *args, **kwds):
"""
@note Actual dial function is patched in later
"""
contactPhoneNumbers = [("Phone", number)]
defaultIndex = -1
- self._smsDialog.add_contact(
+ self.add_contact(
contactPhoneNumbers,
messages = description,
parent = self._window,
self._onContactsviewRowActivatedId = 0
self._onAddressbookButtonChangedId = 0
self._window = gtk_toolbox.find_parent_window(self._contactsview)
- self._smsDialog = SmsEntryDialog(widgetTree)
self._updateSink = gtk_toolbox.threaded_stage(
gtk_toolbox.comap(
self._contactsview.set_model(None)
self._contactsview.remove_column(self._contactColumn)
- def number_selected(self, action, numbers, message):
+ def add_contact(self, *args, **kwds):
"""
@note Actual dial function is patched in later
"""
if len(contactPhoneNumbers) == 0:
return
- self._smsDialog.add_contact(
+ self.add_contact(
contactPhoneNumbers,
messages = (contactName, ),
parent = self._window,