/+junk/gnome-dialer

To get this branch, use:
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
4
typedef struct _App {
5
  GtkBuilder * bldr;
6
  GtkWidget * popover;
7
  GtkWidget * window;
8
  GtkWidget * openpad;
9
  GtkWidget * dial;
10
} App;
11
12
void
13
app_destroy (GtkWidget * widget, gpointer user_data) {
14
  gtk_main_quit ();
15
}
16
17
void
18
app_do_stuff (GtkWidget * widget, App * user_data) {
19
  
20
  gtk_widget_show_all (user_data->popover);
21
}
22
23
App *
24
app_new () {
25
  
26
  App * self = g_malloc (sizeof (App));
27
  
28
  self->bldr = gtk_builder_new ();
29
  
30
  if (!gtk_builder_add_from_file (self->bldr, "./main.glade", NULL)) {
31
    g_print ("Error.");
32
    g_object_unref (self->bldr);
33
    exit (1);
34
  }
35
  
36
  if (!gtk_builder_add_from_file (self->bldr, "./dial.glade", NULL)) {
37
    g_print ("Error.");
38
    g_object_unref (self->bldr);
39
    exit (1);
40
  }
41
  
42
  self->window = (GtkWidget *) gtk_builder_get_object (self->bldr,
43
                                                       "GnomeDialer");
44
  
45
  self->openpad = (GtkWidget *) gtk_builder_get_object (self->bldr,
46
                                                        "openpad");
47
  
48
  g_signal_connect (G_OBJECT (self->openpad), "clicked",
49
                    G_CALLBACK (app_do_stuff),
50
                    self);
51
  
52
  gtk_builder_connect_signals(self->bldr, NULL);
53
  
54
  g_signal_connect (G_OBJECT(self->window), "destroy",
55
                    G_CALLBACK(app_destroy),
56
                    self);
57
  
58
  self->popover = gtk_popover_new (self->openpad);
59
  
60
  gtk_container_add (GTK_CONTAINER (self->popover),
61
                     GTK_WIDGET(gtk_builder_get_object (self->bldr, "dial")));
62
  
63
  gtk_widget_show_all (self->window);
64
  
65
  gtk_widget_hide (self->popover);
66
  
67
  return self;
68
}
69