~ubuntu-branches/ubuntu/precise/deja-dup/precise-updates

« back to all changes in this revision

Viewing changes to libdeja-dup/ConfigEntry.c

  • Committer: Bazaar Package Importer
  • Author(s): Michael Terry
  • Date: 2010-01-10 10:03:06 UTC
  • mto: This revision was merged to the branch mainline in revision 8.
  • Revision ID: james.westby@ubuntu.com-20100110100306-awjywmnuln6yusb9
Tags: upstream-13.5
ImportĀ upstreamĀ versionĀ 13.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* ConfigEntry.c generated by valac, the Vala compiler
2
 
 * generated from ConfigEntry.vala, do not modify */
3
 
 
4
 
/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 2 -*- */
5
 
/*
6
 
    This file is part of DĆ©jĆ  Dup.
7
 
    Ā© 2008,2009 Michael Terry <mike@mterry.name>
8
 
 
9
 
    DĆ©jĆ  Dup is free software: you can redistribute it and/or modify
10
 
    it under the terms of the GNU General Public License as published by
11
 
    the Free Software Foundation, either version 3 of the License, or
12
 
    (at your option) any later version.
13
 
 
14
 
    DĆ©jĆ  Dup is distributed in the hope that it will be useful,
15
 
    but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
    GNU General Public License for more details.
18
 
 
19
 
    You should have received a copy of the GNU General Public License
20
 
    along with DĆ©jĆ  Dup.  If not, see <http://www.gnu.org/licenses/>.
21
 
*/
22
 
 
23
 
#include <glib.h>
24
 
#include <glib-object.h>
25
 
#include <gtk/gtk.h>
26
 
#include <gconf/gconf-client.h>
27
 
#include <stdlib.h>
28
 
#include <string.h>
29
 
#include <gdk/gdk.h>
30
 
 
31
 
 
32
 
#define DEJA_DUP_TYPE_CONFIG_WIDGET (deja_dup_config_widget_get_type ())
33
 
#define DEJA_DUP_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_CONFIG_WIDGET, DejaDupConfigWidget))
34
 
#define DEJA_DUP_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_CONFIG_WIDGET, DejaDupConfigWidgetClass))
35
 
#define DEJA_DUP_IS_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_CONFIG_WIDGET))
36
 
#define DEJA_DUP_IS_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_CONFIG_WIDGET))
37
 
#define DEJA_DUP_CONFIG_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_CONFIG_WIDGET, DejaDupConfigWidgetClass))
38
 
 
39
 
typedef struct _DejaDupConfigWidget DejaDupConfigWidget;
40
 
typedef struct _DejaDupConfigWidgetClass DejaDupConfigWidgetClass;
41
 
typedef struct _DejaDupConfigWidgetPrivate DejaDupConfigWidgetPrivate;
42
 
 
43
 
#define DEJA_DUP_TYPE_CONFIG_ENTRY (deja_dup_config_entry_get_type ())
44
 
#define DEJA_DUP_CONFIG_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_CONFIG_ENTRY, DejaDupConfigEntry))
45
 
#define DEJA_DUP_CONFIG_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_CONFIG_ENTRY, DejaDupConfigEntryClass))
46
 
#define DEJA_DUP_IS_CONFIG_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_CONFIG_ENTRY))
47
 
#define DEJA_DUP_IS_CONFIG_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_CONFIG_ENTRY))
48
 
#define DEJA_DUP_CONFIG_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_CONFIG_ENTRY, DejaDupConfigEntryClass))
49
 
 
50
 
typedef struct _DejaDupConfigEntry DejaDupConfigEntry;
51
 
typedef struct _DejaDupConfigEntryClass DejaDupConfigEntryClass;
52
 
typedef struct _DejaDupConfigEntryPrivate DejaDupConfigEntryPrivate;
53
 
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
54
 
#define _g_free0(var) (var = (g_free (var), NULL))
55
 
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
56
 
 
57
 
struct _DejaDupConfigWidget {
58
 
        GtkEventBox parent_instance;
59
 
        DejaDupConfigWidgetPrivate * priv;
60
 
        GConfClient* client;
61
 
};
62
 
 
63
 
struct _DejaDupConfigWidgetClass {
64
 
        GtkEventBoxClass parent_class;
65
 
        void (*set_from_config) (DejaDupConfigWidget* self);
66
 
};
67
 
 
68
 
struct _DejaDupConfigEntry {
69
 
        DejaDupConfigWidget parent_instance;
70
 
        DejaDupConfigEntryPrivate * priv;
71
 
};
72
 
 
73
 
struct _DejaDupConfigEntryClass {
74
 
        DejaDupConfigWidgetClass parent_class;
75
 
};
76
 
 
77
 
struct _DejaDupConfigEntryPrivate {
78
 
        GtkEntry* entry;
79
 
};
80
 
 
81
 
 
82
 
static gpointer deja_dup_config_entry_parent_class = NULL;
83
 
 
84
 
GType deja_dup_config_widget_get_type (void);
85
 
GType deja_dup_config_entry_get_type (void);
86
 
#define DEJA_DUP_CONFIG_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DEJA_DUP_TYPE_CONFIG_ENTRY, DejaDupConfigEntryPrivate))
87
 
enum  {
88
 
        DEJA_DUP_CONFIG_ENTRY_DUMMY_PROPERTY
89
 
};
90
 
static void deja_dup_config_widget_set_key (DejaDupConfigWidget* self, const char* value);
91
 
DejaDupConfigEntry* deja_dup_config_entry_new (const char* key);
92
 
DejaDupConfigEntry* deja_dup_config_entry_construct (GType object_type, const char* key);
93
 
const char* deja_dup_config_widget_get_key (DejaDupConfigWidget* self);
94
 
static void deja_dup_config_entry_real_set_from_config (DejaDupConfigWidget* base);
95
 
static gboolean deja_dup_config_entry_handle_focus_out (DejaDupConfigEntry* self);
96
 
void deja_dup_config_widget_set_from_config (DejaDupConfigWidget* self);
97
 
static gboolean _deja_dup_config_entry_handle_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self);
98
 
static GObject * deja_dup_config_entry_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
99
 
static void deja_dup_config_entry_finalize (GObject* obj);
100
 
 
101
 
 
102
 
 
103
 
DejaDupConfigEntry* deja_dup_config_entry_construct (GType object_type, const char* key) {
104
 
        GParameter * __params;
105
 
        GParameter * __params_it;
106
 
        DejaDupConfigEntry * self;
107
 
        g_return_val_if_fail (key != NULL, NULL);
108
 
        __params = g_new0 (GParameter, 1);
109
 
        __params_it = __params;
110
 
        __params_it->name = "key";
111
 
        g_value_init (&__params_it->value, G_TYPE_STRING);
112
 
        g_value_set_string (&__params_it->value, key);
113
 
        __params_it++;
114
 
        self = g_object_newv (object_type, __params_it - __params, __params);
115
 
        while (__params_it > __params) {
116
 
                --__params_it;
117
 
                g_value_unset (&__params_it->value);
118
 
        }
119
 
        g_free (__params);
120
 
        return self;
121
 
}
122
 
 
123
 
 
124
 
DejaDupConfigEntry* deja_dup_config_entry_new (const char* key) {
125
 
        return deja_dup_config_entry_construct (DEJA_DUP_TYPE_CONFIG_ENTRY, key);
126
 
}
127
 
 
128
 
 
129
 
static void deja_dup_config_entry_real_set_from_config (DejaDupConfigWidget* base) {
130
 
        DejaDupConfigEntry * self;
131
 
        GError * _inner_error_;
132
 
        self = (DejaDupConfigEntry*) base;
133
 
        _inner_error_ = NULL;
134
 
        {
135
 
                char* val;
136
 
                val = g_strdup (gconf_client_get_string (((DejaDupConfigWidget*) self)->client, deja_dup_config_widget_get_key ((DejaDupConfigWidget*) self), &_inner_error_));
137
 
                if (_inner_error_ != NULL) {
138
 
                        goto __catch13_g_error;
139
 
                        goto __finally13;
140
 
                }
141
 
                if (val == NULL) {
142
 
                        char* _tmp0_;
143
 
                        val = (_tmp0_ = g_strdup (""), _g_free0 (val), _tmp0_);
144
 
                }
145
 
                gtk_entry_set_text (self->priv->entry, val);
146
 
                _g_free0 (val);
147
 
        }
148
 
        goto __finally13;
149
 
        __catch13_g_error:
150
 
        {
151
 
                GError * e;
152
 
                e = _inner_error_;
153
 
                _inner_error_ = NULL;
154
 
                {
155
 
                        g_warning ("ConfigEntry.vala:49: %s\n", e->message);
156
 
                        _g_error_free0 (e);
157
 
                }
158
 
        }
159
 
        __finally13:
160
 
        if (_inner_error_ != NULL) {
161
 
                g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message);
162
 
                g_clear_error (&_inner_error_);
163
 
                return;
164
 
        }
165
 
}
166
 
 
167
 
 
168
 
static gboolean deja_dup_config_entry_handle_focus_out (DejaDupConfigEntry* self) {
169
 
        gboolean result;
170
 
        GError * _inner_error_;
171
 
        g_return_val_if_fail (self != NULL, FALSE);
172
 
        _inner_error_ = NULL;
173
 
        {
174
 
                gconf_client_set_string (((DejaDupConfigWidget*) self)->client, deja_dup_config_widget_get_key ((DejaDupConfigWidget*) self), gtk_entry_get_text (self->priv->entry), &_inner_error_);
175
 
                if (_inner_error_ != NULL) {
176
 
                        goto __catch14_g_error;
177
 
                        goto __finally14;
178
 
                }
179
 
        }
180
 
        goto __finally14;
181
 
        __catch14_g_error:
182
 
        {
183
 
                GError * e;
184
 
                e = _inner_error_;
185
 
                _inner_error_ = NULL;
186
 
                {
187
 
                        g_warning ("ConfigEntry.vala:59: %s\n", e->message);
188
 
                        _g_error_free0 (e);
189
 
                }
190
 
        }
191
 
        __finally14:
192
 
        if (_inner_error_ != NULL) {
193
 
                g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message);
194
 
                g_clear_error (&_inner_error_);
195
 
                return FALSE;
196
 
        }
197
 
        result = FALSE;
198
 
        return result;
199
 
}
200
 
 
201
 
 
202
 
static gboolean _deja_dup_config_entry_handle_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self) {
203
 
        return deja_dup_config_entry_handle_focus_out (self);
204
 
}
205
 
 
206
 
 
207
 
static GObject * deja_dup_config_entry_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
208
 
        GObject * obj;
209
 
        GObjectClass * parent_class;
210
 
        DejaDupConfigEntry * self;
211
 
        parent_class = G_OBJECT_CLASS (deja_dup_config_entry_parent_class);
212
 
        obj = parent_class->constructor (type, n_construct_properties, construct_properties);
213
 
        self = DEJA_DUP_CONFIG_ENTRY (obj);
214
 
        {
215
 
                GtkEntry* _tmp0_;
216
 
                self->priv->entry = (_tmp0_ = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()), _g_object_unref0 (self->priv->entry), _tmp0_);
217
 
                gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->entry);
218
 
                deja_dup_config_widget_set_from_config ((DejaDupConfigWidget*) self);
219
 
                g_signal_connect_object ((GtkWidget*) self->priv->entry, "focus-out-event", (GCallback) _deja_dup_config_entry_handle_focus_out_gtk_widget_focus_out_event, self, 0);
220
 
        }
221
 
        return obj;
222
 
}
223
 
 
224
 
 
225
 
static void deja_dup_config_entry_class_init (DejaDupConfigEntryClass * klass) {
226
 
        deja_dup_config_entry_parent_class = g_type_class_peek_parent (klass);
227
 
        g_type_class_add_private (klass, sizeof (DejaDupConfigEntryPrivate));
228
 
        DEJA_DUP_CONFIG_WIDGET_CLASS (klass)->set_from_config = deja_dup_config_entry_real_set_from_config;
229
 
        G_OBJECT_CLASS (klass)->constructor = deja_dup_config_entry_constructor;
230
 
        G_OBJECT_CLASS (klass)->finalize = deja_dup_config_entry_finalize;
231
 
}
232
 
 
233
 
 
234
 
static void deja_dup_config_entry_instance_init (DejaDupConfigEntry * self) {
235
 
        self->priv = DEJA_DUP_CONFIG_ENTRY_GET_PRIVATE (self);
236
 
}
237
 
 
238
 
 
239
 
static void deja_dup_config_entry_finalize (GObject* obj) {
240
 
        DejaDupConfigEntry * self;
241
 
        self = DEJA_DUP_CONFIG_ENTRY (obj);
242
 
        _g_object_unref0 (self->priv->entry);
243
 
        G_OBJECT_CLASS (deja_dup_config_entry_parent_class)->finalize (obj);
244
 
}
245
 
 
246
 
 
247
 
GType deja_dup_config_entry_get_type (void) {
248
 
        static GType deja_dup_config_entry_type_id = 0;
249
 
        if (deja_dup_config_entry_type_id == 0) {
250
 
                static const GTypeInfo g_define_type_info = { sizeof (DejaDupConfigEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) deja_dup_config_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DejaDupConfigEntry), 0, (GInstanceInitFunc) deja_dup_config_entry_instance_init, NULL };
251
 
                deja_dup_config_entry_type_id = g_type_register_static (DEJA_DUP_TYPE_CONFIG_WIDGET, "DejaDupConfigEntry", &g_define_type_info, 0);
252
 
        }
253
 
        return deja_dup_config_entry_type_id;
254
 
}
255
 
 
256
 
 
257
 
 
258