Added a button to start and pause gathering informations
This commit is contained in:
parent
01cf86622f
commit
a618c5aa99
@ -57,6 +57,7 @@ typedef struct _Engineering
|
|||||||
|
|
||||||
/* widgets */
|
/* widgets */
|
||||||
GtkWidget * window;
|
GtkWidget * window;
|
||||||
|
GtkToolItem * play;
|
||||||
GtkListStore * store;
|
GtkListStore * store;
|
||||||
GtkWidget * view;
|
GtkWidget * view;
|
||||||
} Engineering;
|
} Engineering;
|
||||||
@ -93,6 +94,7 @@ static int _engineering_destroy(PhonePlugin * plugin);
|
|||||||
|
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
static gboolean _on_engineering_closex(gpointer data);
|
static gboolean _on_engineering_closex(gpointer data);
|
||||||
|
static void _on_engineering_play_toggled(gpointer data);
|
||||||
static gboolean _on_engineering_timeout(gpointer data);
|
static gboolean _on_engineering_timeout(gpointer data);
|
||||||
static int _on_engineering_trigger_em(PhonePlugin * plugin,
|
static int _on_engineering_trigger_em(PhonePlugin * plugin,
|
||||||
char const * result);
|
char const * result);
|
||||||
@ -120,6 +122,7 @@ static int _engineering_init(PhonePlugin * plugin)
|
|||||||
{
|
{
|
||||||
Engineering * engineering;
|
Engineering * engineering;
|
||||||
GtkWidget * vbox;
|
GtkWidget * vbox;
|
||||||
|
GtkWidget * toolbar;
|
||||||
GtkWidget * scrolled;
|
GtkWidget * scrolled;
|
||||||
size_t i;
|
size_t i;
|
||||||
GtkCellRenderer * renderer;
|
GtkCellRenderer * renderer;
|
||||||
@ -129,9 +132,7 @@ static int _engineering_init(PhonePlugin * plugin)
|
|||||||
return error_set_code(1, "%s", strerror(errno));
|
return error_set_code(1, "%s", strerror(errno));
|
||||||
plugin->priv = engineering;
|
plugin->priv = engineering;
|
||||||
engineering->helper = plugin->helper;
|
engineering->helper = plugin->helper;
|
||||||
/* FIXME wait until some event? (eg PIN ready) */
|
engineering->source = 0;
|
||||||
engineering->source = g_timeout_add(5000, _on_engineering_timeout,
|
|
||||||
engineering);
|
|
||||||
engineering->enci = 0;
|
engineering->enci = 0;
|
||||||
engineering->enci_cnt = 0;
|
engineering->enci_cnt = 0;
|
||||||
/* widgets */
|
/* widgets */
|
||||||
@ -147,6 +148,14 @@ static int _engineering_init(PhonePlugin * plugin)
|
|||||||
g_signal_connect_swapped(G_OBJECT(engineering->window), "delete-event",
|
g_signal_connect_swapped(G_OBJECT(engineering->window), "delete-event",
|
||||||
G_CALLBACK(_on_engineering_closex), engineering);
|
G_CALLBACK(_on_engineering_closex), engineering);
|
||||||
vbox = gtk_vbox_new(FALSE, 0);
|
vbox = gtk_vbox_new(FALSE, 0);
|
||||||
|
/* toolbar */
|
||||||
|
toolbar = gtk_toolbar_new();
|
||||||
|
engineering->play = gtk_toggle_tool_button_new_from_stock(
|
||||||
|
GTK_STOCK_MEDIA_PLAY);
|
||||||
|
g_signal_connect_swapped(G_OBJECT(engineering->play), "toggled",
|
||||||
|
G_CALLBACK(_on_engineering_play_toggled), engineering);
|
||||||
|
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), engineering->play, -1);
|
||||||
|
gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, TRUE, 0);
|
||||||
/* store */
|
/* store */
|
||||||
engineering->store = gtk_list_store_new(COL_COUNT,
|
engineering->store = gtk_list_store_new(COL_COUNT,
|
||||||
G_TYPE_STRING, /* COL_FREQUENCY */
|
G_TYPE_STRING, /* COL_FREQUENCY */
|
||||||
@ -182,9 +191,6 @@ static int _engineering_init(PhonePlugin * plugin)
|
|||||||
/* trigger */
|
/* trigger */
|
||||||
plugin->helper->register_trigger(plugin->helper->phone, plugin, "%EM",
|
plugin->helper->register_trigger(plugin->helper->phone, plugin, "%EM",
|
||||||
_on_engineering_trigger_em);
|
_on_engineering_trigger_em);
|
||||||
#ifdef DEBUG
|
|
||||||
_on_engineering_timeout(engineering);
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,6 +220,22 @@ static gboolean _on_engineering_closex(gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* on_engineering_play_toggled */
|
||||||
|
static void _on_engineering_play_toggled(gpointer data)
|
||||||
|
{
|
||||||
|
Engineering * engineering = data;
|
||||||
|
|
||||||
|
if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(
|
||||||
|
engineering->play)))
|
||||||
|
engineering->source = _on_engineering_timeout(engineering);
|
||||||
|
else if(engineering->source != 0)
|
||||||
|
{
|
||||||
|
g_source_remove(engineering->source);
|
||||||
|
engineering->source = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* on_engineering_timeout */
|
/* on_engineering_timeout */
|
||||||
static gboolean _on_engineering_timeout(gpointer data)
|
static gboolean _on_engineering_timeout(gpointer data)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user