bzr branch
http://gegoxaren.bato24.eu/bzr/%2Bjunk/gnome-dialer
1
by Gustav Hartvigsson
* Initial commit |
1 |
#include "app.h" |
2 |
#include <stdlib.h> |
|
3
by Gustav Hartvigsson
Made it run. |
3 |
#include "dialer-res.h" |
1
by Gustav Hartvigsson
* Initial commit |
4 |
|
5 |
typedef struct _App { |
|
6 |
GtkBuilder * bldr; |
|
7 |
GtkWidget * popover; |
|
8 |
GtkWidget * window; |
|
9 |
GtkWidget * openpad; |
|
10 |
GtkWidget * dial; |
|
11 |
} App; |
|
12 |
||
13 |
void
|
|
14 |
app_destroy (GtkWidget * widget, gpointer user_data) { |
|
15 |
gtk_main_quit (); |
|
16 |
}
|
|
17 |
||
18 |
void
|
|
19 |
app_do_stuff (GtkWidget * widget, App * user_data) { |
|
20 |
|
|
21 |
gtk_widget_show_all (user_data->popover); |
|
22 |
}
|
|
23 |
||
4
by Gustav Hartvigsson
* Made the CSS work |
24 |
void
|
25 |
app_install_style (App * self) { |
|
26 |
GtkCssProvider * cssprov = gtk_css_provider_new (); |
|
27 |
|
|
28 |
gtk_css_provider_load_from_resource (cssprov, "/org/gego/dialer/style.main.css"); |
|
29 |
|
|
30 |
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), |
|
31 |
cssprov, |
|
32 |
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); |
|
33 |
|
|
34 |
}
|
|
35 |
||
1
by Gustav Hartvigsson
* Initial commit |
36 |
App * |
37 |
app_new () { |
|
38 |
|
|
39 |
App * self = g_malloc (sizeof (App)); |
|
40 |
|
|
41 |
self->bldr = gtk_builder_new (); |
|
42 |
|
|
3
by Gustav Hartvigsson
Made it run. |
43 |
GError * err = NULL; |
44 |
|
|
45 |
if (!gtk_builder_add_from_resource (self->bldr, "/org/gego/dialer/main.glade", &err)) { |
|
46 |
g_print ("Error: %s\n", err->message); |
|
1
by Gustav Hartvigsson
* Initial commit |
47 |
g_object_unref (self->bldr); |
48 |
exit (1); |
|
49 |
} |
|
50 |
|
|
3
by Gustav Hartvigsson
Made it run. |
51 |
if (!gtk_builder_add_from_resource (self->bldr, "/org/gego/dialer/dial.glade", &err)) { |
52 |
g_print ("Error: %s\n", err->message); |
|
1
by Gustav Hartvigsson
* Initial commit |
53 |
g_object_unref (self->bldr); |
54 |
exit (1); |
|
55 |
} |
|
56 |
|
|
57 |
self->window = (GtkWidget *) gtk_builder_get_object (self->bldr, |
|
58 |
"GnomeDialer"); |
|
59 |
|
|
60 |
self->openpad = (GtkWidget *) gtk_builder_get_object (self->bldr, |
|
61 |
"openpad"); |
|
62 |
|
|
63 |
g_signal_connect (G_OBJECT (self->openpad), "clicked", |
|
64 |
G_CALLBACK (app_do_stuff), |
|
65 |
self); |
|
66 |
|
|
67 |
gtk_builder_connect_signals(self->bldr, NULL); |
|
68 |
|
|
69 |
g_signal_connect (G_OBJECT(self->window), "destroy", |
|
70 |
G_CALLBACK(app_destroy), |
|
71 |
self); |
|
72 |
|
|
73 |
self->popover = gtk_popover_new (self->openpad); |
|
74 |
|
|
75 |
gtk_container_add (GTK_CONTAINER (self->popover), |
|
76 |
GTK_WIDGET(gtk_builder_get_object (self->bldr, "dial"))); |
|
77 |
|
|
4
by Gustav Hartvigsson
* Made the CSS work |
78 |
app_install_style (self); |
79 |
|
|
1
by Gustav Hartvigsson
* Initial commit |
80 |
gtk_widget_show_all (self->window); |
81 |
|
|
82 |
gtk_widget_hide (self->popover); |
|
83 |
|
|
84 |
return self; |
|
85 |
}
|
|
86 |