<widget class="GtkVBox" id="keypad_vbox">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="numberdisplay">
- <property name="height_request">50</property>
+ <widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
- <property name="label" translatable="yes"><span size="35000" weight="bold"></span></property>
- <property name="use_markup">True</property>
- <property name="justify">center</property>
+ <child>
+ <widget class="GtkLabel" id="numberdisplay">
+ <property name="height_request">50</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><span size="35000" weight="bold"></span></property>
+ <property name="use_markup">True</property>
+ <property name="justify">center</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="back">
+ <property name="label" translatable="yes">gtk-go-back</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ <property name="focus_on_click">False</property>
+ <signal name="pressed" handler="on_back_pressed"/>
+ <signal name="clicked" handler="on_back_clicked"/>
+ <signal name="released" handler="on_back_released"/>
+ <accelerator key="BackSpace" signal="clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="2" signal="clicked"/>
- <accelerator key="a" signal="clicked"/>
- <accelerator key="b" signal="clicked"/>
<accelerator key="c" signal="clicked"/>
+ <accelerator key="b" signal="clicked"/>
+ <accelerator key="a" signal="clicked"/>
+ <accelerator key="2" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="3" signal="clicked"/>
- <accelerator key="d" signal="clicked"/>
- <accelerator key="e" signal="clicked"/>
<accelerator key="f" signal="clicked"/>
+ <accelerator key="e" signal="clicked"/>
+ <accelerator key="d" signal="clicked"/>
+ <accelerator key="3" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label11">
<property name="visible">True</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="4" signal="clicked"/>
- <accelerator key="g" signal="clicked"/>
- <accelerator key="h" signal="clicked"/>
<accelerator key="i" signal="clicked"/>
+ <accelerator key="h" signal="clicked"/>
+ <accelerator key="g" signal="clicked"/>
+ <accelerator key="4" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label13">
<property name="visible">True</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="5" signal="clicked"/>
- <accelerator key="j" signal="clicked"/>
- <accelerator key="k" signal="clicked"/>
<accelerator key="l" signal="clicked"/>
+ <accelerator key="k" signal="clicked"/>
+ <accelerator key="j" signal="clicked"/>
+ <accelerator key="5" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label14">
<property name="visible">True</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="6" signal="clicked"/>
- <accelerator key="m" signal="clicked"/>
- <accelerator key="n" signal="clicked"/>
<accelerator key="o" signal="clicked"/>
+ <accelerator key="n" signal="clicked"/>
+ <accelerator key="m" signal="clicked"/>
+ <accelerator key="6" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label15">
<property name="visible">True</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="7" signal="clicked"/>
- <accelerator key="p" signal="clicked"/>
- <accelerator key="q" signal="clicked"/>
- <accelerator key="r" signal="clicked"/>
<accelerator key="s" signal="clicked"/>
+ <accelerator key="r" signal="clicked"/>
+ <accelerator key="q" signal="clicked"/>
+ <accelerator key="p" signal="clicked"/>
+ <accelerator key="7" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label16">
<property name="visible">True</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="8" signal="clicked"/>
- <accelerator key="t" signal="clicked"/>
- <accelerator key="u" signal="clicked"/>
<accelerator key="v" signal="clicked"/>
+ <accelerator key="u" signal="clicked"/>
+ <accelerator key="t" signal="clicked"/>
+ <accelerator key="8" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label17">
<property name="visible">True</property>
<property name="receives_default">False</property>
<property name="focus_on_click">False</property>
<signal name="clicked" handler="on_digit_clicked"/>
- <accelerator key="9" signal="clicked"/>
- <accelerator key="w" signal="clicked"/>
- <accelerator key="x" signal="clicked"/>
- <accelerator key="y" signal="clicked"/>
<accelerator key="z" signal="clicked"/>
+ <accelerator key="y" signal="clicked"/>
+ <accelerator key="x" signal="clicked"/>
+ <accelerator key="w" signal="clicked"/>
+ <accelerator key="9" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label18">
<property name="visible">True</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="back">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="receives_default">False</property>
- <property name="focus_on_click">False</property>
- <signal name="pressed" handler="on_back_pressed"/>
- <signal name="clicked" handler="on_back_clicked"/>
- <signal name="released" handler="on_back_released"/>
- <accelerator key="BackSpace" signal="clicked"/>
- <child>
- <widget class="GtkHBox" id="hbox2">
- <property name="visible">True</property>
- <child>
- <widget class="GtkImage" id="image2">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="stock">gtk-no</property>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label9">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label" translatable="yes"><span size="17000" weight="Bold">Back</span></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- </packing>
- </child>
- <child>
<widget class="GtkButton" id="digit0">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="bottom_attach">4</property>
</packing>
</child>
+ <child>
+ <widget class="GtkButton" id="sms">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="on_sms_clicked"/>
+ <accelerator key="Return" signal="clicked"/>
+ <child>
+ <widget class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="stock">gtk-file</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label" translatable="yes"><span size="17000" weight="bold">SMS</span></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="position">1</property>
self._widgetTree = widgetTree
self._dialog = self._widgetTree.get_widget("phonetype_dialog")
- self._smsDialog = SmsEntryDialog(self._widgetTree, self._gcBackend)
+ self._smsDialog = SmsEntryDialog(self._widgetTree)
self._smsButton = self._widgetTree.get_widget("sms_button")
self._smsButton.connect("clicked", self._on_phonetype_send_sms)
MAX_CHAR = 160
- def __init__(self, widgetTree, gcBackend):
- self._gcBackend = gcBackend
+ def __init__(self, widgetTree):
self._widgetTree = widgetTree
self._dialog = self._widgetTree.get_widget("smsDialog")
else:
enteredMessage = ""
- return enteredMessage
+ return enteredMessage.strip()
def _update_letter_count(self, *args):
entryLength = self._smsEntry.get_buffer().get_char_count()
def __init__(self, widgetTree, errorDisplay):
self._errorDisplay = errorDisplay
+ self._smsDialog = SmsEntryDialog(widgetTree)
+
self._numberdisplay = widgetTree.get_widget("numberdisplay")
self._dialButton = widgetTree.get_widget("dial")
self._phonenumber = ""
callbackMapping = {
"on_dial_clicked": self._on_dial_clicked,
+ "on_sms_clicked": self._on_sms_clicked,
"on_digit_clicked": self._on_digit_clicked,
"on_clear_number": self._on_clear_number,
"on_back_clicked": self._on_backspace,
}
widgetTree.signal_autoconnect(callbackMapping)
+ self._window = gtk_toolbox.find_parent_window(self._numberdisplay)
+
def enable(self):
self._dialButton.grab_focus()
"""
pass
+ def _on_sms_clicked(self, widget):
+ action = PhoneTypeSelector.ACTION_SEND_SMS
+ phoneNumber = self.get_number()
+
+ message = self._smsDialog.run(phoneNumber, "", self._window)
+ if not message:
+ phoneNumber = ""
+ action = PhoneTypeSelector.ACTION_CANCEL
+
+ if action == PhoneTypeSelector.ACTION_CANCEL:
+ return
+ self.number_selected(action, phoneNumber, message)
+
def _on_dial_clicked(self, widget):
action = PhoneTypeSelector.ACTION_DIAL
phoneNumber = self.get_number()