/+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 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