# Process the users response
if userResponse == gtk.RESPONSE_OK and 0 <= self._numberIndex:
phoneNumber = self._contactDetails[self._numberIndex][0]
- phoneNumber = make_ugly(phoneNumber)
+ phoneNumbers = [make_ugly(phoneNumber)]
else:
- phoneNumber = ""
- if not phoneNumber:
+ phoneNumbers = []
+ if not phoneNumbers:
self._action = self.ACTION_CANCEL
if self._action == self.ACTION_SEND_SMS:
entryBuffer = self._smsEntry.get_buffer()
enteredMessage = entryBuffer.get_text(entryBuffer.get_start_iter(), entryBuffer.get_end_iter())
- enteredMessage = enteredMessage[0:self.MAX_CHAR].strip()
+ enteredMessage = enteredMessage.strip()
if not enteredMessage:
- phoneNumber = ""
+ phoneNumbers = []
self._action = self.ACTION_CANCEL
else:
enteredMessage = ""
self._messagesView.remove_column(messageColumn)
self._messagesView.set_model(None)
- return self._action, phoneNumber, enteredMessage
+ return self._action, phoneNumbers, enteredMessage
finally:
self._smsEntry.get_buffer().disconnect(entryConnectId)
self._phoneButton.disconnect(phoneConnectId)
entryLength = self._smsEntry.get_buffer().get_char_count()
charsLeft = self.MAX_CHAR - entryLength
- self._letterCountLabel.set_text(str(charsLeft))
- if charsLeft < 0 or charsLeft == self.MAX_CHAR:
- self._smsButton.set_sensitive(False)
+ numTexts, numCharInText = divmod(entryLength, self.MAX_CHAR)
+ if numTexts:
+ self._letterCountLabel.set_text("%s.%s" % (numTexts, numCharInText))
else:
- self._smsButton.set_sensitive(True)
+ self._letterCountLabel.set_text("%s" % (numCharInText, ))
if entryLength == 0:
self._dialButton.set_sensitive(True)
+ self._smsButton.set_sensitive(False)
else:
self._dialButton.set_sensitive(False)
+ self._smsButton.set_sensitive(True)
def _request_number(self):
try:
self._backTapHandler.disable()
self._zeroOrPlusTapHandler.disable()
- def number_selected(self, action, number, message):
+ def number_selected(self, action, numbers, message):
"""
@note Actual dial function is patched in later
"""
def _on_sms_clicked(self, widget):
try:
phoneNumber = self.get_number()
- action, phoneNumber, message = self._smsDialog.run([("Dialer", phoneNumber)], (), self._window)
+ action, phoneNumbers, message = self._smsDialog.run([("Dialer", phoneNumber)], (), self._window)
if action == SmsEntryDialog.ACTION_CANCEL:
return
- self.number_selected(action, phoneNumber, message)
+ self.number_selected(action, phoneNumbers, message)
except Exception, e:
self._errorDisplay.push_exception()
def _on_dial_clicked(self, widget):
try:
action = SmsEntryDialog.ACTION_DIAL
- phoneNumber = self.get_number()
+ phoneNumbers = [self.get_number()]
message = ""
- self.number_selected(action, phoneNumber, message)
+ self.number_selected(action, phoneNumbers, message)
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._phoneTypeSelector = SmsEntryDialog(widgetTree)
+ 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, number, message):
+ def number_selected(self, action, numbers, message):
"""
@note Actual dial function is patched in later
"""
contactPhoneNumbers = [("Phone", number)]
defaultIndex = -1
- action, phoneNumber, message = self._phoneTypeSelector.run(
+ action, phoneNumbers, message = self._smsDialog.run(
contactPhoneNumbers,
messages = (description, ),
parent = self._window,
)
if action == SmsEntryDialog.ACTION_CANCEL:
return
- assert phoneNumber, "A lack of phone number exists"
+ assert phoneNumbers, "A lack of phone number exists"
- self.number_selected(action, phoneNumber, message)
+ self.number_selected(action, phoneNumbers, message)
self._historyviewselection.unselect_all()
except Exception, e:
self._errorDisplay.push_exception()
self._messageColumn.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
self._window = gtk_toolbox.find_parent_window(self._messageview)
- self._phoneTypeSelector = SmsEntryDialog(widgetTree)
+ 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, number, message):
+ def number_selected(self, action, numbers, message):
"""
@note Actual dial function is patched in later
"""
contactPhoneNumbers = [("Phone", number)]
defaultIndex = -1
- action, phoneNumber, message = self._phoneTypeSelector.run(
+ action, phoneNumbers, message = self._smsDialog.run(
contactPhoneNumbers,
messages = description,
parent = self._window,
)
if action == SmsEntryDialog.ACTION_CANCEL:
return
- assert phoneNumber, "A lock of phone number exists"
+ assert phoneNumbers, "A lock of phone number exists"
- self.number_selected(action, phoneNumber, message)
+ self.number_selected(action, phoneNumbers, message)
self._messageviewselection.unselect_all()
except Exception, e:
self._errorDisplay.push_exception()
self._onContactsviewRowActivatedId = 0
self._onAddressbookButtonChangedId = 0
self._window = gtk_toolbox.find_parent_window(self._contactsview)
- self._phoneTypeSelector = SmsEntryDialog(widgetTree)
+ 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, number, message):
+ def number_selected(self, action, numbers, message):
"""
@note Actual dial function is patched in later
"""
if len(contactPhoneNumbers) == 0:
return
- action, phoneNumber, message = self._phoneTypeSelector.run(
+ action, phoneNumbers, message = self._smsDialog.run(
contactPhoneNumbers,
messages = (contactName, ),
parent = self._window,
)
if action == SmsEntryDialog.ACTION_CANCEL:
return
- assert phoneNumber, "A lack of phone number exists"
+ assert phoneNumbers, "A lack of phone number exists"
- self.number_selected(action, phoneNumber, message)
+ self.number_selected(action, phoneNumbers, message)
self._contactsviewselection.unselect_all()
except Exception, e:
self._errorDisplay.push_exception()