annotate src/bluetooth/gui.c @ 2728:229647ca4942

added some UI stuff
author paula@crocodil
date Sun, 29 Jun 2008 00:37:01 +0300
parents d891ba4be5a5
children 1a27c497e526
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
1 #include "gui.h"
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
2 #include "bluetooth.h"
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
3
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
4 static GtkWidget *window = NULL;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
5 static GtkTreeModel *model;
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
6 static GtkWidget *mainbox;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
7 static GtkWidget *hbox_top;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
8 static GtkWidget *hbox_bottom;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
9 static GtkWidget *box_about;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
10 static GtkWidget *box_about_left;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
11 static GtkWidget *box_about_right;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
12 static GtkWidget *headset_frame;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
13 static GtkWidget *about_frame;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
14 static GtkWidget *refresh;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
15 static GtkWidget *connect_button;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
16 static GtkWidget *close_button;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
17 static GtkWidget *treeview;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
18 static GtkWidget *label_p;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
19 static GtkWidget *label_c;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
20 static GtkWidget *label_a;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
21 static GtkWidget *label_prod;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
22 static GtkWidget *label_class;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
23 static GtkWidget *label_address;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
24 static GList * dev = NULL;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
25 gchar *status = NULL;
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
26 enum{
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
27 COLUMN_PRODUCER,
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
28 NUM_COLUMNS
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
29 };
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
30
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
31 static GtkTreeModel * create_model(void)
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
32 {
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
33 GtkListStore *store;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
34 GtkTreeIter iter;
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
35 /* create list store */
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
36 store = gtk_list_store_new(NUM_COLUMNS,
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
37 G_TYPE_STRING);
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
38 dev = audio_devices;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
39 if(dev == NULL) {
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
40 /*if we are scanning for devices now then print the Scanning message,
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
41 * else we print the "no devices found message */
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
42 if(discover_finish == 1)
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
43 /*we are scanning*/
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
44 status = g_strdup_printf("Scanning");
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
45 else
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
46 status = g_strdup_printf("No devices found!");
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
47 /* add the status to the list */
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
48 gtk_list_store_append(store,&iter);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
49 gtk_list_store_set(store,&iter, COLUMN_PRODUCER,status,-1);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
50 return GTK_TREE_MODEL(store);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
51 }
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
52 while(dev != NULL)
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
53 {
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
54 gtk_list_store_append(store,&iter);
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
55 gtk_list_store_set(store,&iter, COLUMN_PRODUCER,
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
56 ((DeviceData*)(dev->data))-> name,-1);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
57 dev = g_list_next(dev);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
58 }
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
59
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
60 return GTK_TREE_MODEL(store);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
61 }
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
62 static GtkTreeModel * rebuild_model(void)
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
63 {
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
64
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
65 GtkListStore *store;
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
66 GtkTreeIter iter;
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
67 gint dev_no=0;
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
68 GList *dev;
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
69 gchar *temp;
2649
d891ba4be5a5 fixed crash when prefs window was closed while scanning
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2646
diff changeset
70 if(!window)
d891ba4be5a5 fixed crash when prefs window was closed while scanning
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2646
diff changeset
71 return NULL;
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
72 /* create list store */
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
73 store = gtk_list_store_new(NUM_COLUMNS,
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
74 G_TYPE_STRING);
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
75
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
76 /*add inf to test_data from audio_devices */
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
77 dev_no = g_list_length(audio_devices);
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
78 dev = audio_devices;
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
79 if(dev == NULL || discover_finish == 0) {
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
80 /*if we are scanning for devices now then print the Scanning message,
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
81 * else we print the "no devices found message */
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
82 printf("discover: %d\n",discover_finish);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
83 if(discover_finish == 1) {
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
84 /*we are scanning*/
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
85 status = g_strdup_printf("Scanning");
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
86 } else
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
87 status = g_strdup_printf("No devices found!");
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
88 /* add the status to the list */
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
89 gtk_list_store_append(store,&iter);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
90 gtk_list_store_set(store,&iter, COLUMN_PRODUCER,status,-1);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
91 gtk_label_set_text(GTK_LABEL(label_prod),status);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
92 return GTK_TREE_MODEL(store);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
93 }
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
94
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
95 /* add data to the list store */
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
96 while(dev != NULL)
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
97 {
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
98 gtk_list_store_append(store,&iter);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
99 gtk_list_store_set(store,&iter, COLUMN_PRODUCER,
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
100 ((DeviceData*)(dev->data))-> name,-1);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
101 dev = g_list_next(dev);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
102 }
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
103 //set the labels
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
104 // temp = g_strdup_printf("0x%x",((DeviceData*)(dev->data))->class);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
105 gtk_label_set_text(GTK_LABEL(label_prod),((DeviceData*)(dev->data))->name);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
106 // gtk_label_set_text(GTK_LABEL(label_class),temp);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
107 gtk_label_set_text(GTK_LABEL(label_address),((DeviceData*)(dev->data))->address);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
108 g_free(temp);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
109 return GTK_TREE_MODEL(store);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
110
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
111 }
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
112
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
113
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
114 void refresh_tree()
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
115 {
2649
d891ba4be5a5 fixed crash when prefs window was closed while scanning
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2646
diff changeset
116 if(!window)
d891ba4be5a5 fixed crash when prefs window was closed while scanning
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2646
diff changeset
117 return;
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
118 model = rebuild_model();
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
119 gtk_tree_view_set_model(GTK_TREE_VIEW(treeview),GTK_TREE_MODEL(model));
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
120 }
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
121
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
122
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
123 static void add_columns(GtkTreeView *treeview)
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
124 {
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
125 GtkCellRenderer *renderer;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
126 GtkTreeViewColumn *column;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
127 // GtkTreeModel *model = gtk_tree_view_get_model (treeview);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
128
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
129 /* column for producer */
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
130 renderer = gtk_cell_renderer_text_new ();
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
131 column = gtk_tree_view_column_new_with_attributes ("Producer",
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
132 renderer,
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
133 "text",
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
134 COLUMN_PRODUCER,
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
135 NULL);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
136 gtk_tree_view_column_set_sort_column_id (column,COLUMN_PRODUCER);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
137 gtk_tree_view_append_column (treeview, column);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
138
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
139 }
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
140
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
141 void close_call(void){
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
142 printf("close callback \n");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
143 gtk_widget_destroy (window);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
144 window = NULL;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
145 }
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
146 void select_row(GtkWidget *treeview){
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
147
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
148 GtkTreeIter iter;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
149 gint sel;
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
150 gchar *temp;
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
151 gint i;
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
152 printf("select\n");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
153 GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(treeview));
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
154 if(gtk_tree_selection_get_selected (selection, NULL,&iter)){
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
155 GtkTreePath *path;
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
156 path = gtk_tree_model_get_path (model, &iter);
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
157 sel = gtk_tree_path_get_indices (path)[0];
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
158 printf("i=%d\n",sel);
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
159 dev = audio_devices;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
160 for(i=0;i<sel;i++)
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
161 dev = g_list_next(dev);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
162 if(dev != NULL) {
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
163 temp = g_strdup_printf("0x%x",((DeviceData*)(dev->data))->class);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
164 gtk_label_set_text(GTK_LABEL(label_prod),((DeviceData*)(dev->data))->name);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
165 gtk_label_set_text(GTK_LABEL(label_class),temp);
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
166 gtk_label_set_text(GTK_LABEL(label_address),((DeviceData*)(dev->data))->address);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
167 gtk_tree_path_free (path);
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
168 g_free(temp);
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
169 }else
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
170 gtk_label_set_text(GTK_LABEL(label_prod),status);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
171 g_free(status);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
172
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
173 }
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
174 }
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
175
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
176 void results_ui()
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
177 {
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
178 gchar *temp;
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
179 if (!window)
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
180 {
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
181 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
182 g_signal_connect (window, "destroy",G_CALLBACK (gtk_widget_destroyed), &window);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
183
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
184 mainbox = gtk_vbox_new(FALSE,4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
185 gtk_container_set_border_width (GTK_CONTAINER (mainbox), 4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
186 gtk_container_add (GTK_CONTAINER (window), mainbox);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
187
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
188 hbox_top = gtk_hbox_new(FALSE,4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
189 gtk_container_set_border_width (GTK_CONTAINER(hbox_top), 4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
190 gtk_container_add (GTK_CONTAINER (mainbox), hbox_top);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
191
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
192 hbox_bottom = gtk_hbox_new(FALSE,4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
193 gtk_container_set_border_width (GTK_CONTAINER (hbox_bottom), 4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
194 gtk_container_add (GTK_CONTAINER (mainbox), hbox_bottom);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
195
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
196 headset_frame = gtk_frame_new("Available Headsets");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
197 gtk_container_add (GTK_CONTAINER (hbox_top), headset_frame);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
198
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
199 about_frame = gtk_frame_new("Current Headset");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
200 gtk_container_add(GTK_CONTAINER(hbox_top),about_frame);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
201
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
202 refresh = gtk_button_new_with_mnemonic ("_Refresh");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
203 g_signal_connect (refresh, "clicked",G_CALLBACK (refresh_call), NULL);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
204 gtk_container_add(GTK_CONTAINER(hbox_bottom),refresh);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
205
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
206 connect_button = gtk_button_new_with_mnemonic("_Connect");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
207 g_signal_connect(connect_button,"clicked",G_CALLBACK (connect_call), NULL);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
208 gtk_container_add(GTK_CONTAINER(hbox_bottom),connect_button);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
209
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
210 close_button = gtk_button_new_with_mnemonic("_Close");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
211 g_signal_connect(close_button,"clicked",G_CALLBACK (close_call),NULL);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
212 gtk_container_add(GTK_CONTAINER(hbox_bottom),close_button);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
213 /* create tree model */
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
214 model = create_model ();
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
215
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
216 /* create tree view */
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
217 treeview = gtk_tree_view_new_with_model (model);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
218 gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
219 gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),GTK_SELECTION_SINGLE);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
220 g_object_unref (model);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
221 gtk_container_add (GTK_CONTAINER (headset_frame), treeview);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
222 /* add columns to the tree view */
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
223 add_columns (GTK_TREE_VIEW (treeview));
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
224
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
225 g_signal_connect(treeview,"cursor-changed",G_CALLBACK(select_row),treeview);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
226
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
227
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
228 box_about = gtk_hbox_new(FALSE,4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
229 gtk_container_set_border_width (GTK_CONTAINER (box_about), 4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
230 gtk_container_add (GTK_CONTAINER (about_frame), box_about);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
231
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
232 /*about box left - vbox */
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
233
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
234 box_about_left = gtk_vbox_new(FALSE,4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
235 gtk_container_set_border_width (GTK_CONTAINER (box_about_left), 4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
236 gtk_container_add (GTK_CONTAINER (box_about), box_about_left);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
237
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
238 /*about box right - vbox */
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
239 box_about_right = gtk_vbox_new(TRUE,4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
240 gtk_container_set_border_width (GTK_CONTAINER (box_about_right), 4);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
241 gtk_container_add (GTK_CONTAINER (box_about), box_about_right);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
242
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
243 /* Left labels */
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
244 label_p = gtk_label_new("Name:");
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
245 gtk_container_add(GTK_CONTAINER(box_about_left),label_p);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
246
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
247 label_c = gtk_label_new("Class");
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
248 gtk_container_add(GTK_CONTAINER(box_about_left),label_c);
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
249
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
250
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
251 label_a = gtk_label_new("Address:");
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
252 gtk_container_add(GTK_CONTAINER(box_about_left),label_a);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
253
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
254
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
255 /*right labels */
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
256 label_prod = gtk_label_new(" ");
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
257 gtk_container_add(GTK_CONTAINER(box_about_right),label_prod);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
258
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
259 label_class = gtk_label_new(" ");
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
260 gtk_container_add(GTK_CONTAINER(box_about_right),label_class);
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
261
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
262
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
263 label_address = gtk_label_new(" ");
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
264 gtk_container_add(GTK_CONTAINER(box_about_right),label_address);
2646
7fbff3287a56 added device discovery in the plugin's prefs window
Paula Stanciu <paula.stanciu@gmail.com>
parents: 2644
diff changeset
265
2728
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
266 dev = audio_devices;
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
267 if(dev != NULL) {
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
268 temp = g_strdup_printf("0x%x",((DeviceData*)(dev->data))->class);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
269 gtk_label_set_text(GTK_LABEL(label_prod),((DeviceData*)(dev->data))->name);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
270 gtk_label_set_text(GTK_LABEL(label_class),temp);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
271 gtk_label_set_text(GTK_LABEL(label_address),((DeviceData*)(dev->data))->address);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
272 g_free(temp);
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
273 }
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
274
229647ca4942 added some UI stuff
paula@crocodil
parents: 2649
diff changeset
275 gtk_window_set_default_size (GTK_WINDOW (window), 460, 150);
2644
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
276 if (!GTK_WIDGET_VISIBLE (window))
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
277 gtk_widget_show_all (window);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
278 else
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
279 {
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
280 gtk_widget_destroy (window);
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
281 window = NULL;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
282 }
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
283 // return window;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
284 }
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
285 // return window;
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
286 }
6fd8ca4b7b17 add bluetooth plugin
Paula Stanciu <paula.stanciu@gmail.com>
parents:
diff changeset
287