GTK: move the keypad button into the "Options" menu

This commit is contained in:
François Grisez 2015-10-19 12:38:40 +02:00
parent 7de610bd9b
commit 663c5d24c6
4 changed files with 56 additions and 59 deletions

View file

@ -29,12 +29,11 @@
<property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="dtmf_D">
<property name="label" translatable="no">D</property>
<property name="label">D</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">3</property>
@ -45,12 +44,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_#">
<property name="label" translatable="no">#</property>
<property name="label">#</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@ -61,12 +59,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_0">
<property name="label" translatable="no">0</property>
<property name="label">0</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -77,12 +74,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_*">
<property name="label" translatable="no">*</property>
<property name="label">*</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="top_attach">3</property>
@ -91,12 +87,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_C">
<property name="label" translatable="no">C</property>
<property name="label">C</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">3</property>
@ -107,12 +102,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_9">
<property name="label" translatable="no">9</property>
<property name="label">9</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@ -123,12 +117,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_8">
<property name="label" translatable="no">8</property>
<property name="label">8</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -139,12 +132,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_7">
<property name="label" translatable="no">7</property>
<property name="label">7</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="top_attach">2</property>
@ -153,12 +145,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_B">
<property name="label" translatable="no">B</property>
<property name="label">B</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">3</property>
@ -169,12 +160,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_6">
<property name="label" translatable="no">6</property>
<property name="label">6</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@ -185,12 +175,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_5">
<property name="label" translatable="no">5</property>
<property name="label">5</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -201,12 +190,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_4">
<property name="label" translatable="no">4</property>
<property name="label">4</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="top_attach">1</property>
@ -215,12 +203,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_A">
<property name="label" translatable="no">A</property>
<property name="label">A</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">3</property>
@ -229,12 +216,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_3">
<property name="label" translatable="no">3</property>
<property name="label">3</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@ -243,12 +229,11 @@
</child>
<child>
<object class="GtkButton" id="dtmf_2">
<property name="label" translatable="no">2</property>
<property name="label">2</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -257,14 +242,13 @@
</child>
<child>
<object class="GtkButton" id="dtmf_1">
<property name="label" translatable="no">1</property>
<property name="label">1</property>
<property name="width_request">40</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="use_action_appearance">False</property>
</object>
</child>
</object>

View file

@ -254,7 +254,8 @@ LINPHONE_PUBLIC void linphone_gtk_used_identity_changed(GtkWidget *w);
LINPHONE_PUBLIC void on_proxy_refresh_button_clicked(GtkWidget *w);
LINPHONE_PUBLIC void linphone_gtk_link_to_website(GtkWidget *item);
LINPHONE_PUBLIC void linphone_gtk_options_activate(GtkWidget *item);
LINPHONE_PUBLIC void linphone_gtk_create_keypad(GtkWidget *button);
LINPHONE_PUBLIC void linphone_gtk_show_keypad_checked(GtkCheckMenuItem *check_menu_item);
LINPHONE_PUBLIC gboolean linphone_gtk_keypad_destroyed_handler(void);
LINPHONE_PUBLIC void linphone_gtk_keyword_changed(GtkEditable *e);
LINPHONE_PUBLIC void linphone_gtk_buddy_lookup_contact_activated(GtkWidget *treeview);

View file

@ -1811,7 +1811,7 @@ void linphone_gtk_keypad_key_released(GtkWidget *w, GdkEvent *event, gpointer us
}
}
void linphone_gtk_create_keypad(GtkWidget *button){
static void linphone_gtk_show_keypad(void){
GtkWidget *mw=linphone_gtk_get_main_window();
GtkWidget *k=(GtkWidget *)g_object_get_data(G_OBJECT(mw),"keypad");
GtkWidget *keypad;
@ -1821,7 +1821,7 @@ void linphone_gtk_create_keypad(GtkWidget *button){
keypad=linphone_gtk_create_window("keypad", NULL);
linphone_gtk_connect_digits(keypad);
linphone_gtk_init_dtmf_table(keypad);
g_object_set_data(G_OBJECT(mw),"keypad",(gpointer)keypad);
g_object_set_data(G_OBJECT(mw),"keypad", keypad);
if(!GPOINTER_TO_INT(g_object_get_data(G_OBJECT(mw),"show_abcd"))){
gtk_widget_hide(linphone_gtk_get_widget(keypad,"dtmf_A"));
gtk_widget_hide(linphone_gtk_get_widget(keypad,"dtmf_B"));
@ -1832,6 +1832,30 @@ void linphone_gtk_create_keypad(GtkWidget *button){
gtk_widget_show(keypad);
}
static void linphone_gtk_destroy_keypad(void) {
GtkWidget *mw = linphone_gtk_get_main_window();
GtkWidget *keypad = GTK_WIDGET(g_object_get_data(G_OBJECT(mw), "keypad"));
if(keypad) {
gtk_widget_destroy(keypad);
g_object_set_data(G_OBJECT(mw), "keypad", NULL);
}
}
void linphone_gtk_show_keypad_checked(GtkCheckMenuItem *check_menu_item) {
if(gtk_check_menu_item_get_active(check_menu_item)) {
linphone_gtk_show_keypad();
} else {
linphone_gtk_destroy_keypad();
}
}
gboolean linphone_gtk_keypad_destroyed_handler(void) {
GtkWidget *mw = linphone_gtk_get_main_window();
GtkWidget *show_keypad_item = linphone_gtk_get_widget(mw, "show_keypad_menu_item");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_keypad_item), FALSE);
return FALSE;
}
static void linphone_gtk_init_main_window(){
GtkWidget *main_window;
linphone_gtk_configure_main_window();

View file

@ -60,12 +60,6 @@
</row>
</data>
</object>
<object class="GtkImage" id="dialer_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">32</property>
<property name="icon_name">linphone-show-dialer</property>
</object>
<object class="GtkImage" id="edit_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
@ -212,6 +206,15 @@
<signal name="toggled" handler="linphone_gtk_enable_self_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="show_keypad_menu_item">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Show keypad</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="linphone_gtk_show_keypad_checked" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem2">
<property name="visible">True</property>
@ -380,20 +383,6 @@
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="keypad">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="image">dialer_image</property>
<signal name="clicked" handler="linphone_gtk_create_keypad" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="add_call">
<property name="can_focus">True</property>
@ -405,8 +394,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="padding">6</property>
<property name="position">2</property>
<property name="position">1</property>
</packing>
</child>
<child>
@ -420,7 +408,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">2</property>
</packing>
</child>
<child>
@ -435,7 +423,7 @@
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">4</property>
<property name="position">3</property>
</packing>
</child>
</object>