[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r33510 - gnunet-gtk/src/conversation
From: |
gnunet |
Subject: |
[GNUnet-SVN] r33510 - gnunet-gtk/src/conversation |
Date: |
Wed, 4 Jun 2014 14:11:51 +0200 |
Author: grothoff
Date: 2014-06-04 14:11:51 +0200 (Wed, 04 Jun 2014)
New Revision: 33510
Modified:
gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c
Log:
-centralize logic for GUI updates more
Modified: gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c
===================================================================
--- gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c 2014-06-04
11:49:18 UTC (rev 33509)
+++ gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c 2014-06-04
12:11:51 UTC (rev 33510)
@@ -712,6 +712,40 @@
/**
+ * Update all aspects of the GUI (visibility and sensitivity
+ * of all buttons) based on the current state.
+ */
+static void
+update_gui ()
+{
+ if ( (NULL != active_in) ||
+ (NULL != active_out) )
+ {
+ /* in a call, show hangup/suspend buttons */
+ gtk_widget_show (b_suspend);
+ gtk_widget_show (b_hangup);
+ gtk_widget_hide (b_call);
+ gtk_widget_set_sensitive (b_hangup, TRUE);
+ gtk_widget_set_sensitive (b_suspend, TRUE);
+ gtk_widget_set_sensitive (GTK_WIDGET (address_entry), FALSE);
+ }
+ else
+ {
+ /* not in a call, show 'call' button */
+ gtk_widget_hide (b_suspend);
+ gtk_widget_hide (b_hangup);
+ gtk_widget_show (b_call);
+ gtk_widget_set_sensitive (b_hangup, FALSE);
+ gtk_widget_set_sensitive (b_suspend, FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
+ check_call_sensitivity ();
+ }
+ update_call_buttons (gtk_tree_view_get_selection (active_treeview));
+ do_status ();
+}
+
+
+/**
* Set state of outgoing call.
*
* @param oc outgoing call to change state of
@@ -895,7 +929,7 @@
GNUNET_break (valid);
break;
}
- do_status();
+ update_gui ();
}
@@ -1032,7 +1066,9 @@
GCG_HISTORY_add (GCG_HISTORY_TYPE_INCOMING_ACCEPTED,
ic->caller_id,
ic->caller_num);
- do_status ();
+ gtk_entry_set_text (address_entry,
+ ic->caller_id);
+ update_gui ();
}
@@ -1156,7 +1192,9 @@
GCG_HISTORY_add (GCG_HISTORY_TYPE_RESUMED_LOCAL,
ic->caller_id,
ic->caller_num);
- do_status ();
+ gtk_entry_set_text (address_entry,
+ ic->caller_id);
+ update_gui ();
return;
}
if (NULL != oc)
@@ -1169,7 +1207,9 @@
GCG_HISTORY_add (GCG_HISTORY_TYPE_RESUMED_LOCAL,
oc->caller_id,
oc->caller_num);
- do_status ();
+ gtk_entry_set_text (address_entry,
+ active_out->caller_id);
+ update_gui ();
return;
}
/* resume button should not have been sensitive! */
@@ -1230,14 +1270,7 @@
set_outgoing_call_state (active_out,
os);
active_out = NULL;
- gtk_widget_hide (b_suspend);
- gtk_widget_hide (b_hangup);
- gtk_widget_show (b_call);
- gtk_widget_set_sensitive (b_hangup, FALSE);
- gtk_widget_set_sensitive (b_suspend, FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
- check_call_sensitivity ();
- do_status ();
+ update_gui ();
return;
}
if (NULL != active_in)
@@ -1271,14 +1304,7 @@
set_incoming_call_state (active_in,
is);
active_in = NULL;
- gtk_widget_hide (b_suspend);
- gtk_widget_hide (b_hangup);
- gtk_widget_show (b_call);
- gtk_widget_set_sensitive (b_hangup, FALSE);
- gtk_widget_set_sensitive (b_suspend, FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
- check_call_sensitivity ();
- do_status ();
+ update_gui ();
return;
}
GNUNET_break (0);
@@ -1311,14 +1337,7 @@
OUT_STATE_NONE);
destroy_out (active_out);
active_out = NULL;
- gtk_widget_hide (b_suspend);
- gtk_widget_hide (b_hangup);
- gtk_widget_show (b_call);
- gtk_widget_set_sensitive (b_hangup, FALSE);
- gtk_widget_set_sensitive (b_suspend, FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
- check_call_sensitivity ();
- do_status ();
+ update_gui ();
return;
}
if (NULL != active_in)
@@ -1331,14 +1350,7 @@
IN_STATE_NONE);
destroy_in (active_in);
active_in = NULL;
- gtk_widget_hide (b_suspend);
- gtk_widget_hide (b_hangup);
- gtk_widget_show (b_call);
- gtk_widget_set_sensitive (b_hangup, FALSE);
- gtk_widget_set_sensitive (b_suspend, FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
- check_call_sensitivity ();
- do_status ();
+ update_gui ();
return;
}
GNUNET_break (0);
@@ -1391,13 +1403,7 @@
oc->call = NULL;
destroy_out (oc);
active_out = NULL;
- gtk_widget_hide (b_suspend);
- gtk_widget_hide (b_hangup);
- gtk_widget_show (b_call);
- gtk_widget_set_sensitive (b_hangup, FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
- check_call_sensitivity ();
- do_status ();
+ update_gui ();
break;
case GNUNET_CONVERSATION_EC_CALL_HUNG_UP:
GCG_HISTORY_add (GCG_HISTORY_TYPE_HANGUP,
@@ -1408,14 +1414,7 @@
oc->call = NULL;
destroy_out (oc);
active_out = NULL;
- gtk_widget_hide (b_suspend);
- gtk_widget_hide (b_hangup);
- gtk_widget_show (b_call);
- gtk_widget_set_sensitive (b_hangup, FALSE);
- gtk_widget_set_sensitive (b_suspend, FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
- check_call_sensitivity ();
- do_status ();
+ update_gui ();
break;
case GNUNET_CONVERSATION_EC_CALL_SUSPENDED:
GCG_HISTORY_add (GCG_HISTORY_TYPE_SUSPEND_REMOTE,
@@ -1480,15 +1479,7 @@
}
set_outgoing_call_state (oc, os);
if (OUT_STATE_CONNECTED == os)
- {
GNUNET_break (active_out == oc);
- gtk_widget_show (b_suspend);
- gtk_widget_show (b_hangup);
- gtk_widget_hide (b_call);
- gtk_widget_set_sensitive (b_hangup, TRUE);
- gtk_widget_set_sensitive (b_suspend, TRUE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), FALSE);
- }
do_status ();
break;
case GNUNET_CONVERSATION_EC_CALL_ERROR:
@@ -1500,14 +1491,7 @@
if (active_out == oc)
active_out = NULL;
destroy_out (oc);
- gtk_widget_hide (b_suspend);
- gtk_widget_hide (b_hangup);
- gtk_widget_show (b_call);
- gtk_widget_set_sensitive (b_hangup, FALSE);
- gtk_widget_set_sensitive (b_suspend, FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), TRUE);
- check_call_sensitivity ();
- do_status ();
+ update_gui ();
break;
}
}
@@ -1579,15 +1563,7 @@
oc->rr = gtk_tree_row_reference_new (GTK_TREE_MODEL (active_liststore),
path);
gtk_tree_path_free (path);
- /* hide "call" button, make address entry insensitive;
- show suspend button (but not sensitive),
- show hangup button (and make sensitive) */
- gtk_widget_hide (b_call);
- gtk_widget_set_sensitive (GTK_WIDGET (address_entry), FALSE);
- gtk_widget_show (b_suspend);
- gtk_widget_show (b_hangup);
- gtk_widget_set_sensitive (b_hangup, TRUE);
- do_status ();
+ update_gui ();
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r33510 - gnunet-gtk/src/conversation,
gnunet <=