mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2025-01-07 12:25:31 +00:00
parent
2d99fe16d0
commit
719b3e752f
5 changed files with 36 additions and 6 deletions
|
@ -54,6 +54,7 @@ struct _CallsCallDisplay
|
||||||
GtkButton *answer;
|
GtkButton *answer;
|
||||||
|
|
||||||
GtkRevealer *dial_pad_revealer;
|
GtkRevealer *dial_pad_revealer;
|
||||||
|
GtkEntry *dial_pad_display;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (CallsCallDisplay, calls_call_display, GTK_TYPE_OVERLAY);
|
G_DEFINE_TYPE (CallsCallDisplay, calls_call_display, GTK_TYPE_OVERLAY);
|
||||||
|
@ -121,6 +122,8 @@ dial_pad_symbol_clicked_cb (CallsCallDisplay *self,
|
||||||
HdyDialer *dialer)
|
HdyDialer *dialer)
|
||||||
{
|
{
|
||||||
calls_call_tone_start (self->call, symbol);
|
calls_call_tone_start (self->call, symbol);
|
||||||
|
|
||||||
|
calls_entry_append (self->dial_pad_display, symbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -411,6 +414,7 @@ calls_call_display_class_init (CallsCallDisplayClass *klass)
|
||||||
gtk_widget_class_bind_template_child (widget_class, CallsCallDisplay, hang_up);
|
gtk_widget_class_bind_template_child (widget_class, CallsCallDisplay, hang_up);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CallsCallDisplay, answer);
|
gtk_widget_class_bind_template_child (widget_class, CallsCallDisplay, answer);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CallsCallDisplay, dial_pad_revealer);
|
gtk_widget_class_bind_template_child (widget_class, CallsCallDisplay, dial_pad_revealer);
|
||||||
|
gtk_widget_class_bind_template_child (widget_class, CallsCallDisplay, dial_pad_display);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, answer_clicked_cb);
|
gtk_widget_class_bind_template_callback (widget_class, answer_clicked_cb);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, hang_up_clicked_cb);
|
gtk_widget_class_bind_template_callback (widget_class, hang_up_clicked_cb);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, hold_toggled_cb);
|
gtk_widget_class_bind_template_callback (widget_class, hold_toggled_cb);
|
||||||
|
|
|
@ -63,11 +63,7 @@ dial_pad_symbol_clicked_cb (CallsNewCallBox *self,
|
||||||
gchar symbol,
|
gchar symbol,
|
||||||
HdyDialer *dialer)
|
HdyDialer *dialer)
|
||||||
{
|
{
|
||||||
GtkEntryBuffer *buf = gtk_entry_get_buffer (GTK_ENTRY (self->number_entry));
|
calls_entry_append (GTK_ENTRY (self->number_entry), symbol);
|
||||||
guint len = gtk_entry_buffer_get_length (buf);
|
|
||||||
const gchar str[] = {symbol, '\0'};
|
|
||||||
|
|
||||||
gtk_entry_buffer_insert_text (buf, len, str, 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -395,12 +395,20 @@
|
||||||
<property name="width_request">300</property>
|
<property name="width_request">300</property>
|
||||||
<property name="margin_bottom">6</property>
|
<property name="margin_bottom">6</property>
|
||||||
<property name="margin_top">12</property>
|
<property name="margin_top">12</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkEntry" id="dial_pad_display">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="editable">False</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="margin_bottom">8</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="HdyDialer">
|
<object class="HdyDialer">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="column_spacing">10</property>
|
<property name="column_spacing">10</property>
|
||||||
<property name="margin_bottom">10</property>
|
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="row_spacing">8</property>
|
<property name="row_spacing">8</property>
|
||||||
<property name="show_action_buttons">False</property>
|
<property name="show_action_buttons">False</property>
|
||||||
|
|
17
src/util.c
17
src/util.c
|
@ -68,3 +68,20 @@ calls_list_store_find (GtkListStore *store,
|
||||||
|
|
||||||
return find_data.found;
|
return find_data.found;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
calls_entry_append (GtkEntry *entry,
|
||||||
|
gchar character)
|
||||||
|
{
|
||||||
|
const gchar str[] = {character, '\0'};
|
||||||
|
GtkEntryBuffer *buf;
|
||||||
|
guint len;
|
||||||
|
|
||||||
|
g_return_if_fail (GTK_IS_ENTRY (entry));
|
||||||
|
|
||||||
|
buf = gtk_entry_get_buffer (entry);
|
||||||
|
len = gtk_entry_buffer_get_length (buf);
|
||||||
|
|
||||||
|
gtk_entry_buffer_insert_text (buf, len - 1, str, 1);
|
||||||
|
}
|
||||||
|
|
|
@ -83,6 +83,11 @@ calls_list_store_find (GtkListStore *store,
|
||||||
gint needle_column,
|
gint needle_column,
|
||||||
GtkTreeIter *iter);
|
GtkTreeIter *iter);
|
||||||
|
|
||||||
|
/** Append a single character to a GtkEntry's contents */
|
||||||
|
void
|
||||||
|
calls_entry_append (GtkEntry *entry,
|
||||||
|
gchar character);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* CALLS__UTIL_H__ */
|
#endif /* CALLS__UTIL_H__ */
|
||||||
|
|
Loading…
Reference in a new issue