/+junk/gnome-dialer

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/%2Bjunk/gnome-dialer

« back to all changes in this revision

Viewing changes to dialer/app.c

  • Committer: Gustav Hartvigsson
  • Date: 2016-09-19 13:42:48 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20160919134248-yumvvuyzf80s8sly
* Initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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