1
/* ConfigEntry.c generated by valac, the Vala compiler
2
* generated from ConfigEntry.vala, do not modify */
4
/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 2 -*- */
6
This file is part of DĆ©jĆ Dup.
7
Ā© 2008,2009 Michael Terry <mike@mterry.name>
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.
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.
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/>.
24
#include <glib-object.h>
26
#include <gconf/gconf-client.h>
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))
39
typedef struct _DejaDupConfigWidget DejaDupConfigWidget;
40
typedef struct _DejaDupConfigWidgetClass DejaDupConfigWidgetClass;
41
typedef struct _DejaDupConfigWidgetPrivate DejaDupConfigWidgetPrivate;
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))
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)))
57
struct _DejaDupConfigWidget {
58
GtkEventBox parent_instance;
59
DejaDupConfigWidgetPrivate * priv;
63
struct _DejaDupConfigWidgetClass {
64
GtkEventBoxClass parent_class;
65
void (*set_from_config) (DejaDupConfigWidget* self);
68
struct _DejaDupConfigEntry {
69
DejaDupConfigWidget parent_instance;
70
DejaDupConfigEntryPrivate * priv;
73
struct _DejaDupConfigEntryClass {
74
DejaDupConfigWidgetClass parent_class;
77
struct _DejaDupConfigEntryPrivate {
82
static gpointer deja_dup_config_entry_parent_class = NULL;
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))
88
DEJA_DUP_CONFIG_ENTRY_DUMMY_PROPERTY
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);
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);
114
self = g_object_newv (object_type, __params_it - __params, __params);
115
while (__params_it > __params) {
117
g_value_unset (&__params_it->value);
124
DejaDupConfigEntry* deja_dup_config_entry_new (const char* key) {
125
return deja_dup_config_entry_construct (DEJA_DUP_TYPE_CONFIG_ENTRY, key);
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;
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;
143
val = (_tmp0_ = g_strdup (""), _g_free0 (val), _tmp0_);
145
gtk_entry_set_text (self->priv->entry, val);
153
_inner_error_ = NULL;
155
g_warning ("ConfigEntry.vala:49: %s\n", e->message);
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_);
168
static gboolean deja_dup_config_entry_handle_focus_out (DejaDupConfigEntry* self) {
170
GError * _inner_error_;
171
g_return_val_if_fail (self != NULL, FALSE);
172
_inner_error_ = NULL;
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;
185
_inner_error_ = NULL;
187
g_warning ("ConfigEntry.vala:59: %s\n", e->message);
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_);
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);
207
static GObject * deja_dup_config_entry_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
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);
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);
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;
234
static void deja_dup_config_entry_instance_init (DejaDupConfigEntry * self) {
235
self->priv = DEJA_DUP_CONFIG_ENTRY_GET_PRIVATE (self);
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);
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);
253
return deja_dup_config_entry_type_id;