~ubuntu-branches/debian/sid/link-monitor-applet/sid

« back to all changes in this revision

Viewing changes to src/lm-host-view.c

  • Committer: Bazaar Package Importer
  • Author(s): Adriaan Peeters
  • Date: 2008-03-30 22:26:13 UTC
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20080330222613-5aubcuo9mgg2n7st
Tags: upstream-3.0
ImportĀ upstreamĀ versionĀ 3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Generated by GOB (v2.0.14)   (do not edit directly) */
2
 
 
3
 
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
4
 
 
5
 
#define GOB_VERSION_MAJOR 2
6
 
#define GOB_VERSION_MINOR 0
7
 
#define GOB_VERSION_PATCHLEVEL 14
8
 
 
9
 
#define selfp (self->_priv)
10
 
 
11
 
#include <string.h> /* memset() */
12
 
 
13
 
#include "lm-host-view.h"
14
 
 
15
 
#include "lm-host-view-private.h"
16
 
 
17
 
#ifdef G_LIKELY
18
 
#define ___GOB_LIKELY(expr) G_LIKELY(expr)
19
 
#define ___GOB_UNLIKELY(expr) G_UNLIKELY(expr)
20
 
#else /* ! G_LIKELY */
21
 
#define ___GOB_LIKELY(expr) (expr)
22
 
#define ___GOB_UNLIKELY(expr) (expr)
23
 
#endif /* G_LIKELY */
24
 
 
25
 
#line 26 "lm-host-view.gob"
26
 
 
27
 
#include "config.h"
28
 
#include "lm-util.h"
29
 
#include "lm-stock.h"
30
 
 
31
 
enum {
32
 
  COLUMN_HOST,
33
 
  COLUMN_NAME,
34
 
  N_COLUMNS
35
 
};
36
 
 
37
 
static GtkClipboard *global_clipboard;
38
 
 
39
 
#line 40 "lm-host-view.c"
40
 
/* self casting macros */
41
 
#define SELF(x) LM_HOST_VIEW(x)
42
 
#define SELF_CONST(x) LM_HOST_VIEW_CONST(x)
43
 
#define IS_SELF(x) LM_IS_HOST_VIEW(x)
44
 
#define TYPE_SELF LM_TYPE_HOST_VIEW
45
 
#define SELF_CLASS(x) LM_HOST_VIEW_CLASS(x)
46
 
 
47
 
#define SELF_GET_CLASS(x) LM_HOST_VIEW_GET_CLASS(x)
48
 
 
49
 
/* self typedefs */
50
 
typedef LMHostView Self;
51
 
typedef LMHostViewClass SelfClass;
52
 
 
53
 
/* here are local prototypes */
54
 
static void ___object_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec);
55
 
static void ___object_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec);
56
 
static void lm_host_view_init (LMHostView * o) G_GNUC_UNUSED;
57
 
static void lm_host_view_class_init (LMHostViewClass * class) G_GNUC_UNUSED;
58
 
static GObject * ___6_lm_host_view_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_params) G_GNUC_UNUSED;
59
 
static GSList * lm_host_view_get_selected_rows (LMHostView * self) G_GNUC_UNUSED;
60
 
static void lm_host_view_store_remove (LMHostView * self, GtkListStore * store, GtkTreeIter * iter) G_GNUC_UNUSED;
61
 
static void lm_host_view_reorder (LMHostView * self) G_GNUC_UNUSED;
62
 
static void ___real_lm_host_view_activate_add (LMHostView * self);
63
 
static void ___real_lm_host_view_activate_move (LMHostView * self, int direction);
64
 
static void ___real_lm_host_view_activate_remove (LMHostView * self);
65
 
static void lm_host_view_remove_selected_hosts (LMHostView * self) G_GNUC_UNUSED;
66
 
static void lm_host_view_copy_selected_hosts (LMHostView * self) G_GNUC_UNUSED;
67
 
static void ___real_lm_host_view_activate_cut (LMHostView * self);
68
 
static void lm_host_view_activate_cut (LMHostView * self) G_GNUC_UNUSED;
69
 
static void ___real_lm_host_view_activate_copy (LMHostView * self);
70
 
static void lm_host_view_activate_copy (LMHostView * self) G_GNUC_UNUSED;
71
 
static void ___real_lm_host_view_activate_paste (LMHostView * self);
72
 
static void lm_host_view_activate_paste (LMHostView * self) G_GNUC_UNUSED;
73
 
static void lm_host_view_selection_changed_h (GtkTreeSelection * selection, gpointer user_data) G_GNUC_UNUSED;
74
 
static void lm_host_view_editing_canceled_h (GtkCellRenderer * renderer, gpointer user_data) G_GNUC_UNUSED;
75
 
static void lm_host_view_edited_h (GtkCellRendererText * renderer, const char * path_string, const char * new_text, gpointer user_data) G_GNUC_UNUSED;
76
 
static void lm_host_view_update_sensitivity (LMHostView * self) G_GNUC_UNUSED;
77
 
static void lm_host_view_popup_menu (LMHostView * self, unsigned int button, guint32 activate_time) G_GNUC_UNUSED;
78
 
static gboolean lm_host_view_popup_menu_h (GtkWidget * widget, gpointer user_data) G_GNUC_UNUSED;
79
 
static gboolean lm_host_view_button_press_event_h (GtkWidget * widget, GdkEventButton * event, gpointer user_data) G_GNUC_UNUSED;
80
 
static void lm_host_view_select_all_activate_h (GtkMenuItem * item, gpointer user_data) G_GNUC_UNUSED;
81
 
static void lm_host_view_up_activate_h (GtkMenuItem * item, gpointer user_data) G_GNUC_UNUSED;
82
 
static void lm_host_view_down_activate_h (GtkMenuItem * item, gpointer user_data) G_GNUC_UNUSED;
83
 
static gboolean lm_host_view_search_equal_cb (GtkTreeModel * model, int column, const char * key, GtkTreeIter * iter, gpointer search_data) G_GNUC_UNUSED;
84
 
 
85
 
/*
86
 
 * Signal connection wrapper macro shortcuts
87
 
 */
88
 
#define self_connect__activate_add(object,func,data)    lm_host_view_connect__activate_add((object),(func),(data))
89
 
#define self_connect_after__activate_add(object,func,data)      lm_host_view_connect_after__activate_add((object),(func),(data))
90
 
#define self_connect_data__activate_add(object,func,data,destroy_data,flags)    lm_host_view_connect_data__activate_add((object),(func),(data),(destroy_data),(flags))
91
 
#define self_connect__activate_move(object,func,data)   lm_host_view_connect__activate_move((object),(func),(data))
92
 
#define self_connect_after__activate_move(object,func,data)     lm_host_view_connect_after__activate_move((object),(func),(data))
93
 
#define self_connect_data__activate_move(object,func,data,destroy_data,flags)   lm_host_view_connect_data__activate_move((object),(func),(data),(destroy_data),(flags))
94
 
#define self_connect__activate_remove(object,func,data) lm_host_view_connect__activate_remove((object),(func),(data))
95
 
#define self_connect_after__activate_remove(object,func,data)   lm_host_view_connect_after__activate_remove((object),(func),(data))
96
 
#define self_connect_data__activate_remove(object,func,data,destroy_data,flags) lm_host_view_connect_data__activate_remove((object),(func),(data),(destroy_data),(flags))
97
 
#define self_connect__activate_cut(object,func,data)    lm_host_view_connect__activate_cut((object),(func),(data))
98
 
#define self_connect_after__activate_cut(object,func,data)      lm_host_view_connect_after__activate_cut((object),(func),(data))
99
 
#define self_connect_data__activate_cut(object,func,data,destroy_data,flags)    lm_host_view_connect_data__activate_cut((object),(func),(data),(destroy_data),(flags))
100
 
#define self_connect__activate_copy(object,func,data)   lm_host_view_connect__activate_copy((object),(func),(data))
101
 
#define self_connect_after__activate_copy(object,func,data)     lm_host_view_connect_after__activate_copy((object),(func),(data))
102
 
#define self_connect_data__activate_copy(object,func,data,destroy_data,flags)   lm_host_view_connect_data__activate_copy((object),(func),(data),(destroy_data),(flags))
103
 
#define self_connect__activate_paste(object,func,data)  lm_host_view_connect__activate_paste((object),(func),(data))
104
 
#define self_connect_after__activate_paste(object,func,data)    lm_host_view_connect_after__activate_paste((object),(func),(data))
105
 
#define self_connect_data__activate_paste(object,func,data,destroy_data,flags)  lm_host_view_connect_data__activate_paste((object),(func),(data),(destroy_data),(flags))
106
 
 
107
 
typedef void  (*___Sig1) (LMHostView *, gint , gpointer);
108
 
 
109
 
static void
110
 
___marshal_Sig1 (GClosure *closure,
111
 
        GValue *return_value G_GNUC_UNUSED,
112
 
        guint n_param_values,
113
 
        const GValue *param_values,
114
 
        gpointer invocation_hint G_GNUC_UNUSED,
115
 
        gpointer marshal_data)
116
 
{
117
 
        register ___Sig1 callback;
118
 
        register GCClosure *cc = (GCClosure*) closure;
119
 
        register gpointer data1, data2;
120
 
 
121
 
        g_return_if_fail (n_param_values == 2);
122
 
 
123
 
        if (G_CCLOSURE_SWAP_DATA (closure)) {
124
 
                data1 = closure->data;
125
 
                data2 = g_value_peek_pointer (param_values + 0);
126
 
        } else {
127
 
                data1 = g_value_peek_pointer (param_values + 0);
128
 
                data2 = closure->data;
129
 
        }
130
 
 
131
 
        callback = (___Sig1) (marshal_data != NULL ? marshal_data : cc->callback);
132
 
 
133
 
        callback ((LMHostView *)data1,
134
 
                (gint ) g_value_get_int (param_values + 1),
135
 
                data2);
136
 
}
137
 
 
138
 
 
139
 
enum {
140
 
        ACTIVATE_ADD_SIGNAL,
141
 
        ACTIVATE_MOVE_SIGNAL,
142
 
        ACTIVATE_REMOVE_SIGNAL,
143
 
        ACTIVATE_CUT_SIGNAL,
144
 
        ACTIVATE_COPY_SIGNAL,
145
 
        ACTIVATE_PASTE_SIGNAL,
146
 
        LAST_SIGNAL
147
 
};
148
 
 
149
 
enum {
150
 
        PROP_0,
151
 
        PROP_APPLET,
152
 
        PROP_CAN_GO_UP,
153
 
        PROP_CAN_GO_DOWN
154
 
};
155
 
 
156
 
static guint object_signals[LAST_SIGNAL] = {0};
157
 
 
158
 
/* pointer to the class of our parent */
159
 
static GtkTreeViewClass *parent_class = NULL;
160
 
 
161
 
/* Short form macros */
162
 
#define self_get_can_go_up lm_host_view_get_can_go_up
163
 
#define self_set_can_go_up lm_host_view_set_can_go_up
164
 
#define self_get_can_go_down lm_host_view_get_can_go_down
165
 
#define self_set_can_go_down lm_host_view_set_can_go_down
166
 
#define self_get_selected_rows lm_host_view_get_selected_rows
167
 
#define self_store_remove lm_host_view_store_remove
168
 
#define self_reorder lm_host_view_reorder
169
 
#define self_activate_add lm_host_view_activate_add
170
 
#define self_activate_move lm_host_view_activate_move
171
 
#define self_activate_remove lm_host_view_activate_remove
172
 
#define self_remove_selected_hosts lm_host_view_remove_selected_hosts
173
 
#define self_copy_selected_hosts lm_host_view_copy_selected_hosts
174
 
#define self_activate_cut lm_host_view_activate_cut
175
 
#define self_activate_copy lm_host_view_activate_copy
176
 
#define self_activate_paste lm_host_view_activate_paste
177
 
#define self_selection_changed_h lm_host_view_selection_changed_h
178
 
#define self_editing_canceled_h lm_host_view_editing_canceled_h
179
 
#define self_edited_h lm_host_view_edited_h
180
 
#define self_update_sensitivity lm_host_view_update_sensitivity
181
 
#define self_popup_menu lm_host_view_popup_menu
182
 
#define self_popup_menu_h lm_host_view_popup_menu_h
183
 
#define self_button_press_event_h lm_host_view_button_press_event_h
184
 
#define self_select_all_activate_h lm_host_view_select_all_activate_h
185
 
#define self_up_activate_h lm_host_view_up_activate_h
186
 
#define self_down_activate_h lm_host_view_down_activate_h
187
 
#define self_search_equal_cb lm_host_view_search_equal_cb
188
 
#define self_new lm_host_view_new
189
 
GType
190
 
lm_host_view_get_type (void)
191
 
{
192
 
        static GType type = 0;
193
 
 
194
 
        if ___GOB_UNLIKELY(type == 0) {
195
 
                static const GTypeInfo info = {
196
 
                        sizeof (LMHostViewClass),
197
 
                        (GBaseInitFunc) NULL,
198
 
                        (GBaseFinalizeFunc) NULL,
199
 
                        (GClassInitFunc) lm_host_view_class_init,
200
 
                        (GClassFinalizeFunc) NULL,
201
 
                        NULL /* class_data */,
202
 
                        sizeof (LMHostView),
203
 
                        0 /* n_preallocs */,
204
 
                        (GInstanceInitFunc) lm_host_view_init,
205
 
                        NULL
206
 
                };
207
 
 
208
 
                type = g_type_register_static (GTK_TYPE_TREE_VIEW, "LMHostView", &info, (GTypeFlags)0);
209
 
        }
210
 
 
211
 
        return type;
212
 
}
213
 
 
214
 
/* a macro for creating a new object of our type */
215
 
#define GET_NEW ((LMHostView *)g_object_new(lm_host_view_get_type(), NULL))
216
 
 
217
 
/* a function for creating a new object of our type */
218
 
#include <stdarg.h>
219
 
static LMHostView * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED;
220
 
static LMHostView *
221
 
GET_NEW_VARG (const char *first, ...)
222
 
{
223
 
        LMHostView *ret;
224
 
        va_list ap;
225
 
        va_start (ap, first);
226
 
        ret = (LMHostView *)g_object_new_valist (lm_host_view_get_type (), first, ap);
227
 
        va_end (ap);
228
 
        return ret;
229
 
}
230
 
 
231
 
 
232
 
static void
233
 
___finalize(GObject *obj_self)
234
 
{
235
 
#define __GOB_FUNCTION__ "LM:Host:View::finalize"
236
 
        LMHostView *self G_GNUC_UNUSED = LM_HOST_VIEW (obj_self);
237
 
        gpointer priv G_GNUC_UNUSED = self->_priv;
238
 
        if(G_OBJECT_CLASS(parent_class)->finalize) \
239
 
                (* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
240
 
#line 45 "lm-host-view.gob"
241
 
        if(self->_priv->menu) { gtk_widget_destroy ((gpointer) self->_priv->menu); self->_priv->menu = NULL; }
242
 
#line 243 "lm-host-view.c"
243
 
}
244
 
#undef __GOB_FUNCTION__
245
 
 
246
 
static void 
247
 
lm_host_view_init (LMHostView * o G_GNUC_UNUSED)
248
 
{
249
 
#define __GOB_FUNCTION__ "LM:Host:View::init"
250
 
        o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,LM_TYPE_HOST_VIEW,LMHostViewPrivate);
251
 
#line 45 "lm-host-view.gob"
252
 
        o->_priv->menu = gtk_menu_new();
253
 
#line 254 "lm-host-view.c"
254
 
}
255
 
#undef __GOB_FUNCTION__
256
 
#line 61 "lm-host-view.gob"
257
 
static void 
258
 
lm_host_view_class_init (LMHostViewClass * class G_GNUC_UNUSED)
259
 
#line 260 "lm-host-view.c"
260
 
{
261
 
#define __GOB_FUNCTION__ "LM:Host:View::class_init"
262
 
        GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) class;
263
 
 
264
 
        g_type_class_add_private(class,sizeof(LMHostViewPrivate));
265
 
 
266
 
        parent_class = g_type_class_ref (GTK_TYPE_TREE_VIEW);
267
 
 
268
 
        object_signals[ACTIVATE_ADD_SIGNAL] =
269
 
                g_signal_new ("activate_add",
270
 
                        G_TYPE_FROM_CLASS (g_object_class),
271
 
                        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION | G_SIGNAL_ACTION),
272
 
                        G_STRUCT_OFFSET (LMHostViewClass, activate_add),
273
 
                        NULL, NULL,
274
 
                        g_cclosure_marshal_VOID__VOID,
275
 
                        G_TYPE_NONE, 0);
276
 
        object_signals[ACTIVATE_MOVE_SIGNAL] =
277
 
                g_signal_new ("activate_move",
278
 
                        G_TYPE_FROM_CLASS (g_object_class),
279
 
                        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION | G_SIGNAL_ACTION),
280
 
                        G_STRUCT_OFFSET (LMHostViewClass, activate_move),
281
 
                        NULL, NULL,
282
 
                        ___marshal_Sig1,
283
 
                        G_TYPE_NONE, 1,
284
 
                        G_TYPE_INT);
285
 
        if ___GOB_UNLIKELY(sizeof(int ) != sizeof(gint ) || parent_class == NULL /* avoid warning */) {
286
 
                g_error("lm-host-view.gob line 257: Type mismatch of \"activate_move\" signal signature");
287
 
        }
288
 
        object_signals[ACTIVATE_REMOVE_SIGNAL] =
289
 
                g_signal_new ("activate_remove",
290
 
                        G_TYPE_FROM_CLASS (g_object_class),
291
 
                        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION | G_SIGNAL_ACTION),
292
 
                        G_STRUCT_OFFSET (LMHostViewClass, activate_remove),
293
 
                        NULL, NULL,
294
 
                        g_cclosure_marshal_VOID__VOID,
295
 
                        G_TYPE_NONE, 0);
296
 
        object_signals[ACTIVATE_CUT_SIGNAL] =
297
 
                g_signal_new ("activate_cut",
298
 
                        G_TYPE_FROM_CLASS (g_object_class),
299
 
                        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
300
 
                        G_STRUCT_OFFSET (LMHostViewClass, activate_cut),
301
 
                        NULL, NULL,
302
 
                        g_cclosure_marshal_VOID__VOID,
303
 
                        G_TYPE_NONE, 0);
304
 
        object_signals[ACTIVATE_COPY_SIGNAL] =
305
 
                g_signal_new ("activate_copy",
306
 
                        G_TYPE_FROM_CLASS (g_object_class),
307
 
                        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
308
 
                        G_STRUCT_OFFSET (LMHostViewClass, activate_copy),
309
 
                        NULL, NULL,
310
 
                        g_cclosure_marshal_VOID__VOID,
311
 
                        G_TYPE_NONE, 0);
312
 
        object_signals[ACTIVATE_PASTE_SIGNAL] =
313
 
                g_signal_new ("activate_paste",
314
 
                        G_TYPE_FROM_CLASS (g_object_class),
315
 
                        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
316
 
                        G_STRUCT_OFFSET (LMHostViewClass, activate_paste),
317
 
                        NULL, NULL,
318
 
                        g_cclosure_marshal_VOID__VOID,
319
 
                        G_TYPE_NONE, 0);
320
 
 
321
 
#line 84 "lm-host-view.gob"
322
 
        g_object_class->constructor = ___6_lm_host_view_constructor;
323
 
#line 237 "lm-host-view.gob"
324
 
        class->activate_add = ___real_lm_host_view_activate_add;
325
 
#line 257 "lm-host-view.gob"
326
 
        class->activate_move = ___real_lm_host_view_activate_move;
327
 
#line 312 "lm-host-view.gob"
328
 
        class->activate_remove = ___real_lm_host_view_activate_remove;
329
 
#line 390 "lm-host-view.gob"
330
 
        class->activate_cut = ___real_lm_host_view_activate_cut;
331
 
#line 397 "lm-host-view.gob"
332
 
        class->activate_copy = ___real_lm_host_view_activate_copy;
333
 
#line 403 "lm-host-view.gob"
334
 
        class->activate_paste = ___real_lm_host_view_activate_paste;
335
 
#line 336 "lm-host-view.c"
336
 
        g_object_class->finalize = ___finalize;
337
 
        g_object_class->get_property = ___object_get_property;
338
 
        g_object_class->set_property = ___object_set_property;
339
 
    {
340
 
        GParamSpec   *param_spec;
341
 
 
342
 
        param_spec = g_param_spec_pointer
343
 
                ("applet" /* name */,
344
 
                 NULL /* nick */,
345
 
                 NULL /* blurb */,
346
 
                 (GParamFlags)(G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
347
 
        g_object_class_install_property (g_object_class,
348
 
                PROP_APPLET,
349
 
                param_spec);
350
 
        param_spec = g_param_spec_boolean
351
 
                ("can_go_up" /* name */,
352
 
                 NULL /* nick */,
353
 
                 NULL /* blurb */,
354
 
                 FALSE /* default_value */,
355
 
                 (GParamFlags)(G_PARAM_READABLE | G_PARAM_WRITABLE));
356
 
        g_object_class_install_property (g_object_class,
357
 
                PROP_CAN_GO_UP,
358
 
                param_spec);
359
 
        param_spec = g_param_spec_boolean
360
 
                ("can_go_down" /* name */,
361
 
                 NULL /* nick */,
362
 
                 NULL /* blurb */,
363
 
                 FALSE /* default_value */,
364
 
                 (GParamFlags)(G_PARAM_READABLE | G_PARAM_WRITABLE));
365
 
        g_object_class_install_property (g_object_class,
366
 
                PROP_CAN_GO_DOWN,
367
 
                param_spec);
368
 
    }
369
 
 {
370
 
#line 62 "lm-host-view.gob"
371
 
 
372
 
    GtkBindingSet *binding_set;
373
 
 
374
 
    global_clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
375
 
 
376
 
    binding_set = gtk_binding_set_by_class(class);
377
 
 
378
 
    /* Delete removes a row */
379
 
    gtk_binding_entry_add_signal(binding_set, GDK_Delete, 0, "activate-remove", 0);
380
 
    gtk_binding_entry_add_signal(binding_set, GDK_KP_Delete, 0, "activate-remove", 0);
381
 
 
382
 
    /* HIG 2.0 cut/copy/paste shortcuts */
383
 
    gtk_binding_entry_add_signal(binding_set, GDK_x, GDK_CONTROL_MASK, "activate-cut", 0);
384
 
    gtk_binding_entry_add_signal(binding_set, GDK_c, GDK_CONTROL_MASK, "activate-copy", 0);
385
 
    gtk_binding_entry_add_signal(binding_set, GDK_v, GDK_CONTROL_MASK, "activate-paste", 0);
386
 
 
387
 
    /* cut/copy/paste shortcuts taken from gtkentry.c */
388
 
    gtk_binding_entry_add_signal(binding_set, GDK_Delete, GDK_SHIFT_MASK, "activate-cut", 0);
389
 
    gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_CONTROL_MASK, "activate-copy", 0);
390
 
    gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_SHIFT_MASK, "activate-paste", 0);
391
 
  
392
 
#line 393 "lm-host-view.c"
393
 
 }
394
 
}
395
 
#undef __GOB_FUNCTION__
396
 
 
397
 
static void
398
 
___object_set_property (GObject *object,
399
 
        guint property_id,
400
 
        const GValue *VAL G_GNUC_UNUSED,
401
 
        GParamSpec *pspec G_GNUC_UNUSED)
402
 
#define __GOB_FUNCTION__ "LM:Host:View::set_property"
403
 
{
404
 
        LMHostView *self G_GNUC_UNUSED;
405
 
 
406
 
        self = LM_HOST_VIEW (object);
407
 
 
408
 
        switch (property_id) {
409
 
        case PROP_APPLET:
410
 
                {
411
 
#line 43 "lm-host-view.gob"
412
 
self->_priv->applet = g_value_get_pointer (VAL);
413
 
#line 414 "lm-host-view.c"
414
 
                }
415
 
                break;
416
 
        case PROP_CAN_GO_UP:
417
 
                {
418
 
#line 56 "lm-host-view.gob"
419
 
self->can_go_up = g_value_get_boolean (VAL);
420
 
#line 421 "lm-host-view.c"
421
 
                }
422
 
                break;
423
 
        case PROP_CAN_GO_DOWN:
424
 
                {
425
 
#line 59 "lm-host-view.gob"
426
 
self->can_go_down = g_value_get_boolean (VAL);
427
 
#line 428 "lm-host-view.c"
428
 
                }
429
 
                break;
430
 
        default:
431
 
/* Apparently in g++ this is needed, glib is b0rk */
432
 
#ifndef __PRETTY_FUNCTION__
433
 
#  undef G_STRLOC
434
 
#  define G_STRLOC      __FILE__ ":" G_STRINGIFY (__LINE__)
435
 
#endif
436
 
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
437
 
                break;
438
 
        }
439
 
}
440
 
#undef __GOB_FUNCTION__
441
 
 
442
 
static void
443
 
___object_get_property (GObject *object,
444
 
        guint property_id,
445
 
        GValue *VAL G_GNUC_UNUSED,
446
 
        GParamSpec *pspec G_GNUC_UNUSED)
447
 
#define __GOB_FUNCTION__ "LM:Host:View::get_property"
448
 
{
449
 
        LMHostView *self G_GNUC_UNUSED;
450
 
 
451
 
        self = LM_HOST_VIEW (object);
452
 
 
453
 
        switch (property_id) {
454
 
        case PROP_APPLET:
455
 
                {
456
 
#line 43 "lm-host-view.gob"
457
 
g_value_set_pointer (VAL, self->_priv->applet);
458
 
#line 459 "lm-host-view.c"
459
 
                }
460
 
                break;
461
 
        case PROP_CAN_GO_UP:
462
 
                {
463
 
#line 56 "lm-host-view.gob"
464
 
g_value_set_boolean (VAL, self->can_go_up);
465
 
#line 466 "lm-host-view.c"
466
 
                }
467
 
                break;
468
 
        case PROP_CAN_GO_DOWN:
469
 
                {
470
 
#line 59 "lm-host-view.gob"
471
 
g_value_set_boolean (VAL, self->can_go_down);
472
 
#line 473 "lm-host-view.c"
473
 
                }
474
 
                break;
475
 
        default:
476
 
/* Apparently in g++ this is needed, glib is b0rk */
477
 
#ifndef __PRETTY_FUNCTION__
478
 
#  undef G_STRLOC
479
 
#  define G_STRLOC      __FILE__ ":" G_STRINGIFY (__LINE__)
480
 
#endif
481
 
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
482
 
                break;
483
 
        }
484
 
}
485
 
#undef __GOB_FUNCTION__
486
 
 
487
 
 
488
 
#line 56 "lm-host-view.gob"
489
 
gboolean 
490
 
lm_host_view_get_can_go_up (LMHostView * self)
491
 
#line 492 "lm-host-view.c"
492
 
{
493
 
#define __GOB_FUNCTION__ "LM:Host:View::get_can_go_up"
494
 
{
495
 
#line 56 "lm-host-view.gob"
496
 
                gboolean val; g_object_get (G_OBJECT (self), "can_go_up", &val, NULL); return val;
497
 
}}
498
 
#line 499 "lm-host-view.c"
499
 
#undef __GOB_FUNCTION__
500
 
 
501
 
#line 56 "lm-host-view.gob"
502
 
void 
503
 
lm_host_view_set_can_go_up (LMHostView * self, gboolean val)
504
 
#line 505 "lm-host-view.c"
505
 
{
506
 
#define __GOB_FUNCTION__ "LM:Host:View::set_can_go_up"
507
 
{
508
 
#line 56 "lm-host-view.gob"
509
 
                g_object_set (G_OBJECT (self), "can_go_up", val, NULL);
510
 
}}
511
 
#line 512 "lm-host-view.c"
512
 
#undef __GOB_FUNCTION__
513
 
 
514
 
#line 59 "lm-host-view.gob"
515
 
gboolean 
516
 
lm_host_view_get_can_go_down (LMHostView * self)
517
 
#line 518 "lm-host-view.c"
518
 
{
519
 
#define __GOB_FUNCTION__ "LM:Host:View::get_can_go_down"
520
 
{
521
 
#line 59 "lm-host-view.gob"
522
 
                gboolean val; g_object_get (G_OBJECT (self), "can_go_down", &val, NULL); return val;
523
 
}}
524
 
#line 525 "lm-host-view.c"
525
 
#undef __GOB_FUNCTION__
526
 
 
527
 
#line 59 "lm-host-view.gob"
528
 
void 
529
 
lm_host_view_set_can_go_down (LMHostView * self, gboolean val)
530
 
#line 531 "lm-host-view.c"
531
 
{
532
 
#define __GOB_FUNCTION__ "LM:Host:View::set_can_go_down"
533
 
{
534
 
#line 59 "lm-host-view.gob"
535
 
                g_object_set (G_OBJECT (self), "can_go_down", val, NULL);
536
 
}}
537
 
#line 538 "lm-host-view.c"
538
 
#undef __GOB_FUNCTION__
539
 
 
540
 
 
541
 
#line 84 "lm-host-view.gob"
542
 
static GObject * 
543
 
___6_lm_host_view_constructor (GType type G_GNUC_UNUSED, guint n_construct_properties, GObjectConstructParam * construct_params)
544
 
#line 545 "lm-host-view.c"
545
 
#define PARENT_HANDLER(___type,___n_construct_properties,___construct_params) \
546
 
        ((G_OBJECT_CLASS(parent_class)->constructor)? \
547
 
                (* G_OBJECT_CLASS(parent_class)->constructor)(___type,___n_construct_properties,___construct_params): \
548
 
                ((GObject * )0))
549
 
{
550
 
#define __GOB_FUNCTION__ "LM:Host:View::constructor"
551
 
{
552
 
#line 86 "lm-host-view.gob"
553
 
        
554
 
    GObject *object;
555
 
    Self *self;
556
 
    GtkMenuShell *shell;
557
 
    GtkWidget *add_item;
558
 
    GtkWidget *select_all_item;
559
 
    GtkListStore *store;
560
 
    GtkCellRenderer *renderer;
561
 
    GtkTreeViewColumn *column;
562
 
    GtkTreeSelection *selection;
563
 
    GSList *l;
564
 
 
565
 
    object = PARENT_HANDLER(type, n_construct_properties, construct_params);
566
 
    self = SELF(object);
567
 
 
568
 
    gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(self), FALSE);
569
 
    gtk_tree_view_set_reorderable(GTK_TREE_VIEW(self), TRUE);
570
 
    gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(self), self_search_equal_cb, NULL, NULL);
571
 
 
572
 
    shell = GTK_MENU_SHELL(selfp->menu);
573
 
 
574
 
    add_item = lm_menu_shell_append(shell, GTK_STOCK_ADD, NULL);
575
 
    selfp->remove_item = lm_menu_shell_append(shell, GTK_STOCK_REMOVE, NULL);
576
 
    lm_menu_shell_append(shell, NULL, NULL);
577
 
    selfp->up_item = lm_menu_shell_append(shell, GTK_STOCK_GO_UP, _("Move _Up"));
578
 
    selfp->down_item = lm_menu_shell_append(shell, GTK_STOCK_GO_DOWN, _("Move _Down"));
579
 
    lm_menu_shell_append(shell, NULL, NULL);
580
 
    selfp->cut_item = lm_menu_shell_append(shell, GTK_STOCK_CUT, NULL);
581
 
    selfp->copy_item = lm_menu_shell_append(shell, GTK_STOCK_COPY, NULL);
582
 
    selfp->paste_item = lm_menu_shell_append(shell, GTK_STOCK_PASTE, NULL);
583
 
    lm_menu_shell_append(shell, NULL, NULL);
584
 
    select_all_item = lm_menu_shell_append(shell, LM_STOCK_SELECT_ALL, NULL);
585
 
 
586
 
    g_signal_connect_swapped(add_item, "activate", G_CALLBACK(self_activate_add), self);
587
 
    g_signal_connect_swapped(selfp->remove_item, "activate", G_CALLBACK(self_activate_remove), self);
588
 
    g_signal_connect(selfp->up_item, "activate", G_CALLBACK(self_up_activate_h), self);
589
 
    g_signal_connect(selfp->down_item, "activate", G_CALLBACK(self_down_activate_h), self);
590
 
    g_signal_connect_swapped(selfp->cut_item, "activate", G_CALLBACK(self_activate_cut), self);
591
 
    g_signal_connect_swapped(selfp->copy_item, "activate", G_CALLBACK(self_activate_copy), self);
592
 
    g_signal_connect_swapped(selfp->paste_item, "activate", G_CALLBACK(self_activate_paste), self);
593
 
    g_signal_connect(select_all_item, "activate", G_CALLBACK(self_select_all_activate_h), self);
594
 
 
595
 
    store = gtk_list_store_new(N_COLUMNS, LM_TYPE_HOST, G_TYPE_STRING);
596
 
    gtk_tree_view_set_model(GTK_TREE_VIEW(self), GTK_TREE_MODEL(store));
597
 
 
598
 
    renderer = gtk_cell_renderer_text_new();
599
 
    g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL);
600
 
    g_object_connect(renderer,
601
 
                     "signal::editing-canceled", self_editing_canceled_h, self,
602
 
                     "signal::edited", self_edited_h, self,
603
 
                     NULL);
604
 
 
605
 
    column = gtk_tree_view_column_new_with_attributes(_("Host"),
606
 
                                                      renderer,
607
 
                                                      "text", COLUMN_NAME,
608
 
                                                      NULL);
609
 
    gtk_tree_view_append_column(GTK_TREE_VIEW(self), column);
610
 
 
611
 
    selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self));
612
 
    gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE);
613
 
    g_signal_connect(selection, "changed", G_CALLBACK(self_selection_changed_h), self);
614
 
 
615
 
    /* fill */
616
 
    LM_LIST_FOREACH(l, selfp->applet->hosts)
617
 
      {
618
 
        LMHost *host = l->data;
619
 
        GtkTreeIter iter;
620
 
 
621
 
        gtk_list_store_insert_with_values(store, &iter,
622
 
                                          G_MAXINT,
623
 
                                          COLUMN_HOST, host,
624
 
                                          COLUMN_NAME, host->name,
625
 
                                          -1);
626
 
      }
627
 
 
628
 
    /* handle row dnd */
629
 
    g_signal_connect_swapped(store, "row-deleted", G_CALLBACK(self_reorder), self);
630
 
 
631
 
    g_object_unref(store);
632
 
 
633
 
    g_object_connect(self,
634
 
                     "signal::popup-menu", self_popup_menu_h, NULL,
635
 
                     "signal::button-press-event", self_button_press_event_h, NULL,
636
 
                     NULL);
637
 
 
638
 
    self_update_sensitivity(self);
639
 
 
640
 
    return object;
641
 
  }}
642
 
#line 643 "lm-host-view.c"
643
 
#undef __GOB_FUNCTION__
644
 
#undef PARENT_HANDLER
645
 
 
646
 
#line 176 "lm-host-view.gob"
647
 
static GSList * 
648
 
lm_host_view_get_selected_rows (LMHostView * self)
649
 
#line 650 "lm-host-view.c"
650
 
{
651
 
#define __GOB_FUNCTION__ "LM:Host:View::get_selected_rows"
652
 
#line 176 "lm-host-view.gob"
653
 
        g_return_val_if_fail (self != NULL, (GSList * )0);
654
 
#line 176 "lm-host-view.gob"
655
 
        g_return_val_if_fail (LM_IS_HOST_VIEW (self), (GSList * )0);
656
 
#line 657 "lm-host-view.c"
657
 
{
658
 
#line 178 "lm-host-view.gob"
659
 
        
660
 
    GtkTreeModel *model;
661
 
    GtkTreeSelection *selection;
662
 
    GList *paths;
663
 
    GList *l;
664
 
    GSList *references = NULL;
665
 
 
666
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
667
 
    selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self));
668
 
    paths = gtk_tree_selection_get_selected_rows(selection, NULL);
669
 
 
670
 
    LM_LIST_FOREACH(l, paths)
671
 
      {
672
 
        GtkTreePath *path = l->data;
673
 
 
674
 
        references = g_slist_append(references, gtk_tree_row_reference_new(model, path));
675
 
        gtk_tree_path_free(path);
676
 
      }
677
 
    g_list_free(paths);
678
 
 
679
 
    return references;
680
 
  }}
681
 
#line 682 "lm-host-view.c"
682
 
#undef __GOB_FUNCTION__
683
 
 
684
 
#line 201 "lm-host-view.gob"
685
 
static void 
686
 
lm_host_view_store_remove (LMHostView * self, GtkListStore * store, GtkTreeIter * iter)
687
 
#line 688 "lm-host-view.c"
688
 
{
689
 
#define __GOB_FUNCTION__ "LM:Host:View::store_remove"
690
 
#line 201 "lm-host-view.gob"
691
 
        g_return_if_fail (self != NULL);
692
 
#line 201 "lm-host-view.gob"
693
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
694
 
#line 201 "lm-host-view.gob"
695
 
        g_return_if_fail (store != NULL);
696
 
#line 201 "lm-host-view.gob"
697
 
        g_return_if_fail (GTK_IS_LIST_STORE (store));
698
 
#line 201 "lm-host-view.gob"
699
 
        g_return_if_fail (iter != NULL);
700
 
#line 701 "lm-host-view.c"
701
 
{
702
 
#line 205 "lm-host-view.gob"
703
 
        
704
 
    /* block dnd handler */
705
 
    g_signal_handlers_block_by_func(store, self_reorder, self);
706
 
    gtk_list_store_remove(store, iter);
707
 
    g_signal_handlers_unblock_by_func(store, self_reorder, self);
708
 
  }}
709
 
#line 710 "lm-host-view.c"
710
 
#undef __GOB_FUNCTION__
711
 
 
712
 
#line 212 "lm-host-view.gob"
713
 
static void 
714
 
lm_host_view_reorder (LMHostView * self)
715
 
#line 716 "lm-host-view.c"
716
 
{
717
 
#define __GOB_FUNCTION__ "LM:Host:View::reorder"
718
 
#line 212 "lm-host-view.gob"
719
 
        g_return_if_fail (self != NULL);
720
 
#line 212 "lm-host-view.gob"
721
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
722
 
#line 723 "lm-host-view.c"
723
 
{
724
 
#line 214 "lm-host-view.gob"
725
 
        
726
 
    GtkTreeModel *model;
727
 
    gboolean valid;
728
 
    GtkTreeIter iter;
729
 
    GSList *hosts = NULL;
730
 
 
731
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
732
 
    valid = gtk_tree_model_get_iter_first(model, &iter);
733
 
 
734
 
    while (valid)
735
 
      {
736
 
        LMHost *host;
737
 
 
738
 
        gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
739
 
        hosts = g_slist_append(hosts, host);
740
 
 
741
 
        valid = gtk_tree_model_iter_next(model, &iter);
742
 
      }
743
 
 
744
 
    lm_applet_reorder_hosts(selfp->applet, hosts);
745
 
    lm_g_object_slist_free(hosts);
746
 
  }}
747
 
#line 748 "lm-host-view.c"
748
 
#undef __GOB_FUNCTION__
749
 
 
750
 
#line 237 "lm-host-view.gob"
751
 
void 
752
 
lm_host_view_activate_add (LMHostView * self)
753
 
#line 754 "lm-host-view.c"
754
 
{
755
 
        GValue ___param_values[1];
756
 
        GValue ___return_val;
757
 
 
758
 
memset (&___return_val, 0, sizeof (___return_val));
759
 
memset (&___param_values, 0, sizeof (___param_values));
760
 
 
761
 
#line 237 "lm-host-view.gob"
762
 
        g_return_if_fail (self != NULL);
763
 
#line 237 "lm-host-view.gob"
764
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
765
 
#line 766 "lm-host-view.c"
766
 
 
767
 
        ___param_values[0].g_type = 0;
768
 
        g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
769
 
        g_value_set_instance (&___param_values[0], (gpointer) self);
770
 
 
771
 
        g_signal_emitv (___param_values,
772
 
                object_signals[ACTIVATE_ADD_SIGNAL],
773
 
                0 /* detail */,
774
 
                &___return_val);
775
 
 
776
 
        g_value_unset (&___param_values[0]);
777
 
}
778
 
#line 237 "lm-host-view.gob"
779
 
static void 
780
 
___real_lm_host_view_activate_add (LMHostView * self G_GNUC_UNUSED)
781
 
#line 782 "lm-host-view.c"
782
 
{
783
 
#define __GOB_FUNCTION__ "LM:Host:View::activate_add"
784
 
{
785
 
#line 239 "lm-host-view.gob"
786
 
        
787
 
    GtkTreeModel *model;
788
 
    GtkTreePath *path;
789
 
    GtkTreeViewColumn *column;
790
 
 
791
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
792
 
    gtk_list_store_append(GTK_LIST_STORE(model), &selfp->add_pending_iter);
793
 
    selfp->add_pending_count++;
794
 
 
795
 
    path = gtk_tree_model_get_path(model, &selfp->add_pending_iter);
796
 
    column = gtk_tree_view_get_column(GTK_TREE_VIEW(self), 0);
797
 
 
798
 
    gtk_widget_grab_focus(GTK_WIDGET(self));
799
 
    gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(self), path, column, FALSE, 0, 0);
800
 
    gtk_tree_view_set_cursor(GTK_TREE_VIEW(self), path, column, TRUE);
801
 
    gtk_tree_path_free(path);
802
 
  }}
803
 
#line 804 "lm-host-view.c"
804
 
#undef __GOB_FUNCTION__
805
 
 
806
 
#line 257 "lm-host-view.gob"
807
 
void 
808
 
lm_host_view_activate_move (LMHostView * self, int direction)
809
 
#line 810 "lm-host-view.c"
810
 
{
811
 
        GValue ___param_values[2];
812
 
        GValue ___return_val;
813
 
 
814
 
memset (&___return_val, 0, sizeof (___return_val));
815
 
memset (&___param_values, 0, sizeof (___param_values));
816
 
 
817
 
#line 257 "lm-host-view.gob"
818
 
        g_return_if_fail (self != NULL);
819
 
#line 257 "lm-host-view.gob"
820
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
821
 
#line 822 "lm-host-view.c"
822
 
 
823
 
        ___param_values[0].g_type = 0;
824
 
        g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
825
 
        g_value_set_instance (&___param_values[0], (gpointer) self);
826
 
 
827
 
        ___param_values[1].g_type = 0;
828
 
        g_value_init (&___param_values[1], G_TYPE_INT);
829
 
        g_value_set_int (&___param_values[1], (gint ) direction);
830
 
 
831
 
        g_signal_emitv (___param_values,
832
 
                object_signals[ACTIVATE_MOVE_SIGNAL],
833
 
                0 /* detail */,
834
 
                &___return_val);
835
 
 
836
 
        g_value_unset (&___param_values[0]);
837
 
        g_value_unset (&___param_values[1]);
838
 
}
839
 
#line 257 "lm-host-view.gob"
840
 
static void 
841
 
___real_lm_host_view_activate_move (LMHostView * self G_GNUC_UNUSED, int direction)
842
 
#line 843 "lm-host-view.c"
843
 
{
844
 
#define __GOB_FUNCTION__ "LM:Host:View::activate_move"
845
 
{
846
 
#line 259 "lm-host-view.gob"
847
 
        
848
 
    GtkTreeModel *model;
849
 
    GSList *references;
850
 
    GSList *l;
851
 
 
852
 
    g_return_if_fail(direction == -1 || direction == +1);
853
 
 
854
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
855
 
    references = self_get_selected_rows(self);
856
 
    if (direction == +1)
857
 
      references = g_slist_reverse(references);
858
 
 
859
 
    LM_LIST_FOREACH(l, references)
860
 
      {
861
 
        GtkTreeRowReference *reference = l->data;
862
 
        GtkTreePath *path;
863
 
        GtkTreeIter iter;
864
 
        GtkTreeIter other_iter;
865
 
        gboolean status;
866
 
 
867
 
        path = gtk_tree_row_reference_get_path(reference);
868
 
 
869
 
        status = gtk_tree_model_get_iter(model, &iter, path);
870
 
        g_assert(status == TRUE);
871
 
 
872
 
        if (direction == -1)
873
 
          gtk_tree_path_prev(path);
874
 
        else
875
 
          gtk_tree_path_next(path);
876
 
 
877
 
        if (gtk_tree_model_get_iter(model, &other_iter, path))
878
 
          {
879
 
            LMHost *host;
880
 
            LMHost *other_host;
881
 
 
882
 
            gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
883
 
            gtk_tree_model_get(model, &other_iter, COLUMN_HOST, &other_host, -1);
884
 
 
885
 
            gtk_list_store_swap(GTK_LIST_STORE(model), &iter, &other_iter);
886
 
 
887
 
            g_object_unref(host);
888
 
            g_object_unref(other_host);
889
 
          }
890
 
 
891
 
        gtk_tree_path_free(path);
892
 
        gtk_tree_row_reference_free(reference);
893
 
      }
894
 
    g_slist_free(references);
895
 
 
896
 
    self_reorder(self);
897
 
    self_update_sensitivity(self); /* for up and down */
898
 
  }}
899
 
#line 900 "lm-host-view.c"
900
 
#undef __GOB_FUNCTION__
901
 
 
902
 
#line 312 "lm-host-view.gob"
903
 
void 
904
 
lm_host_view_activate_remove (LMHostView * self)
905
 
#line 906 "lm-host-view.c"
906
 
{
907
 
        GValue ___param_values[1];
908
 
        GValue ___return_val;
909
 
 
910
 
memset (&___return_val, 0, sizeof (___return_val));
911
 
memset (&___param_values, 0, sizeof (___param_values));
912
 
 
913
 
#line 312 "lm-host-view.gob"
914
 
        g_return_if_fail (self != NULL);
915
 
#line 312 "lm-host-view.gob"
916
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
917
 
#line 918 "lm-host-view.c"
918
 
 
919
 
        ___param_values[0].g_type = 0;
920
 
        g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
921
 
        g_value_set_instance (&___param_values[0], (gpointer) self);
922
 
 
923
 
        g_signal_emitv (___param_values,
924
 
                object_signals[ACTIVATE_REMOVE_SIGNAL],
925
 
                0 /* detail */,
926
 
                &___return_val);
927
 
 
928
 
        g_value_unset (&___param_values[0]);
929
 
}
930
 
#line 312 "lm-host-view.gob"
931
 
static void 
932
 
___real_lm_host_view_activate_remove (LMHostView * self G_GNUC_UNUSED)
933
 
#line 934 "lm-host-view.c"
934
 
{
935
 
#define __GOB_FUNCTION__ "LM:Host:View::activate_remove"
936
 
{
937
 
#line 314 "lm-host-view.gob"
938
 
        
939
 
    self_remove_selected_hosts(self);
940
 
  }}
941
 
#line 942 "lm-host-view.c"
942
 
#undef __GOB_FUNCTION__
943
 
 
944
 
#line 318 "lm-host-view.gob"
945
 
static void 
946
 
lm_host_view_remove_selected_hosts (LMHostView * self)
947
 
#line 948 "lm-host-view.c"
948
 
{
949
 
#define __GOB_FUNCTION__ "LM:Host:View::remove_selected_hosts"
950
 
#line 318 "lm-host-view.gob"
951
 
        g_return_if_fail (self != NULL);
952
 
#line 318 "lm-host-view.gob"
953
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
954
 
#line 955 "lm-host-view.c"
955
 
{
956
 
#line 320 "lm-host-view.gob"
957
 
        
958
 
    GtkTreeModel *model;
959
 
    GSList *references;
960
 
    GSList *l;
961
 
 
962
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
963
 
    references = self_get_selected_rows(self);
964
 
    LM_LIST_FOREACH(l, references)
965
 
      {
966
 
        GtkTreeRowReference *reference = l->data;
967
 
        GtkTreePath *path;
968
 
        GtkTreeIter iter;
969
 
        gboolean status;
970
 
        LMHost *host;
971
 
 
972
 
        path = gtk_tree_row_reference_get_path(reference);
973
 
        status = gtk_tree_model_get_iter(model, &iter, path);
974
 
        g_assert(status == TRUE);
975
 
        gtk_tree_path_free(path);
976
 
 
977
 
        gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
978
 
 
979
 
        lm_applet_remove_host(selfp->applet, host);
980
 
        self_store_remove(self, GTK_LIST_STORE(model), &iter);
981
 
 
982
 
        g_object_unref(host);
983
 
        gtk_tree_row_reference_free(reference);
984
 
      }
985
 
    g_slist_free(references);
986
 
  }}
987
 
#line 988 "lm-host-view.c"
988
 
#undef __GOB_FUNCTION__
989
 
 
990
 
#line 351 "lm-host-view.gob"
991
 
static void 
992
 
lm_host_view_copy_selected_hosts (LMHostView * self)
993
 
#line 994 "lm-host-view.c"
994
 
{
995
 
#define __GOB_FUNCTION__ "LM:Host:View::copy_selected_hosts"
996
 
#line 351 "lm-host-view.gob"
997
 
        g_return_if_fail (self != NULL);
998
 
#line 351 "lm-host-view.gob"
999
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
1000
 
#line 1001 "lm-host-view.c"
1001
 
{
1002
 
#line 353 "lm-host-view.gob"
1003
 
        
1004
 
    GString *string;
1005
 
    GtkTreeModel *model;
1006
 
    GSList *references;
1007
 
    GSList *l;
1008
 
 
1009
 
    string = g_string_new(NULL);
1010
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
1011
 
    references = self_get_selected_rows(self);
1012
 
    LM_LIST_FOREACH(l, references)
1013
 
      {
1014
 
        GtkTreeRowReference *reference = l->data;
1015
 
        GtkTreePath *path;
1016
 
        GtkTreeIter iter;
1017
 
        gboolean status;
1018
 
        LMHost *host;
1019
 
 
1020
 
        path = gtk_tree_row_reference_get_path(reference);
1021
 
        status = gtk_tree_model_get_iter(model, &iter, path);
1022
 
        g_assert(status == TRUE);
1023
 
        gtk_tree_path_free(path);
1024
 
 
1025
 
        gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
1026
 
 
1027
 
        if (*string->str)
1028
 
          g_string_append_c(string, '\n');
1029
 
        g_string_append(string, host->name);
1030
 
 
1031
 
        g_object_unref(host);
1032
 
        gtk_tree_row_reference_free(reference);
1033
 
      }
1034
 
    g_slist_free(references);
1035
 
 
1036
 
    gtk_clipboard_set_text(global_clipboard, string->str, -1);
1037
 
    g_string_free(string, TRUE);
1038
 
  }}
1039
 
#line 1040 "lm-host-view.c"
1040
 
#undef __GOB_FUNCTION__
1041
 
 
1042
 
#line 390 "lm-host-view.gob"
1043
 
static void 
1044
 
lm_host_view_activate_cut (LMHostView * self)
1045
 
#line 1046 "lm-host-view.c"
1046
 
{
1047
 
        GValue ___param_values[1];
1048
 
        GValue ___return_val;
1049
 
 
1050
 
memset (&___return_val, 0, sizeof (___return_val));
1051
 
memset (&___param_values, 0, sizeof (___param_values));
1052
 
 
1053
 
#line 390 "lm-host-view.gob"
1054
 
        g_return_if_fail (self != NULL);
1055
 
#line 390 "lm-host-view.gob"
1056
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
1057
 
#line 1058 "lm-host-view.c"
1058
 
 
1059
 
        ___param_values[0].g_type = 0;
1060
 
        g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
1061
 
        g_value_set_instance (&___param_values[0], (gpointer) self);
1062
 
 
1063
 
        g_signal_emitv (___param_values,
1064
 
                object_signals[ACTIVATE_CUT_SIGNAL],
1065
 
                0 /* detail */,
1066
 
                &___return_val);
1067
 
 
1068
 
        g_value_unset (&___param_values[0]);
1069
 
}
1070
 
#line 390 "lm-host-view.gob"
1071
 
static void 
1072
 
___real_lm_host_view_activate_cut (LMHostView * self G_GNUC_UNUSED)
1073
 
#line 1074 "lm-host-view.c"
1074
 
{
1075
 
#define __GOB_FUNCTION__ "LM:Host:View::activate_cut"
1076
 
{
1077
 
#line 392 "lm-host-view.gob"
1078
 
        
1079
 
    self_copy_selected_hosts(self);
1080
 
    self_remove_selected_hosts(self);
1081
 
  }}
1082
 
#line 1083 "lm-host-view.c"
1083
 
#undef __GOB_FUNCTION__
1084
 
 
1085
 
#line 397 "lm-host-view.gob"
1086
 
static void 
1087
 
lm_host_view_activate_copy (LMHostView * self)
1088
 
#line 1089 "lm-host-view.c"
1089
 
{
1090
 
        GValue ___param_values[1];
1091
 
        GValue ___return_val;
1092
 
 
1093
 
memset (&___return_val, 0, sizeof (___return_val));
1094
 
memset (&___param_values, 0, sizeof (___param_values));
1095
 
 
1096
 
#line 397 "lm-host-view.gob"
1097
 
        g_return_if_fail (self != NULL);
1098
 
#line 397 "lm-host-view.gob"
1099
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
1100
 
#line 1101 "lm-host-view.c"
1101
 
 
1102
 
        ___param_values[0].g_type = 0;
1103
 
        g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
1104
 
        g_value_set_instance (&___param_values[0], (gpointer) self);
1105
 
 
1106
 
        g_signal_emitv (___param_values,
1107
 
                object_signals[ACTIVATE_COPY_SIGNAL],
1108
 
                0 /* detail */,
1109
 
                &___return_val);
1110
 
 
1111
 
        g_value_unset (&___param_values[0]);
1112
 
}
1113
 
#line 397 "lm-host-view.gob"
1114
 
static void 
1115
 
___real_lm_host_view_activate_copy (LMHostView * self G_GNUC_UNUSED)
1116
 
#line 1117 "lm-host-view.c"
1117
 
{
1118
 
#define __GOB_FUNCTION__ "LM:Host:View::activate_copy"
1119
 
{
1120
 
#line 399 "lm-host-view.gob"
1121
 
        
1122
 
    self_copy_selected_hosts(self);
1123
 
  }}
1124
 
#line 1125 "lm-host-view.c"
1125
 
#undef __GOB_FUNCTION__
1126
 
 
1127
 
#line 403 "lm-host-view.gob"
1128
 
static void 
1129
 
lm_host_view_activate_paste (LMHostView * self)
1130
 
#line 1131 "lm-host-view.c"
1131
 
{
1132
 
        GValue ___param_values[1];
1133
 
        GValue ___return_val;
1134
 
 
1135
 
memset (&___return_val, 0, sizeof (___return_val));
1136
 
memset (&___param_values, 0, sizeof (___param_values));
1137
 
 
1138
 
#line 403 "lm-host-view.gob"
1139
 
        g_return_if_fail (self != NULL);
1140
 
#line 403 "lm-host-view.gob"
1141
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
1142
 
#line 1143 "lm-host-view.c"
1143
 
 
1144
 
        ___param_values[0].g_type = 0;
1145
 
        g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self));
1146
 
        g_value_set_instance (&___param_values[0], (gpointer) self);
1147
 
 
1148
 
        g_signal_emitv (___param_values,
1149
 
                object_signals[ACTIVATE_PASTE_SIGNAL],
1150
 
                0 /* detail */,
1151
 
                &___return_val);
1152
 
 
1153
 
        g_value_unset (&___param_values[0]);
1154
 
}
1155
 
#line 403 "lm-host-view.gob"
1156
 
static void 
1157
 
___real_lm_host_view_activate_paste (LMHostView * self G_GNUC_UNUSED)
1158
 
#line 1159 "lm-host-view.c"
1159
 
{
1160
 
#define __GOB_FUNCTION__ "LM:Host:View::activate_paste"
1161
 
{
1162
 
#line 405 "lm-host-view.gob"
1163
 
        
1164
 
    char *text;
1165
 
    char **hosts;
1166
 
    int i;
1167
 
    GtkTreeModel *model;
1168
 
 
1169
 
    text = gtk_clipboard_wait_for_text(global_clipboard);
1170
 
    g_assert(text != NULL);
1171
 
 
1172
 
    hosts = g_strsplit(text, "\n", 0);
1173
 
    g_free(text);
1174
 
 
1175
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
1176
 
    for (i = 0; hosts[i]; i++)
1177
 
      {
1178
 
        GtkTreeIter iter;
1179
 
        LMHost *host;
1180
 
 
1181
 
        host = lm_applet_add_host(selfp->applet, hosts[i]);
1182
 
 
1183
 
        gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter,
1184
 
                                          G_MAXINT,
1185
 
                                          COLUMN_HOST, host,
1186
 
                                          COLUMN_NAME, hosts[i],
1187
 
                                          -1);
1188
 
      }
1189
 
    g_strfreev(hosts);
1190
 
  }}
1191
 
#line 1192 "lm-host-view.c"
1192
 
#undef __GOB_FUNCTION__
1193
 
 
1194
 
#line 434 "lm-host-view.gob"
1195
 
static void 
1196
 
lm_host_view_selection_changed_h (GtkTreeSelection * selection, gpointer user_data)
1197
 
#line 1198 "lm-host-view.c"
1198
 
{
1199
 
#define __GOB_FUNCTION__ "LM:Host:View::selection_changed_h"
1200
 
{
1201
 
#line 437 "lm-host-view.gob"
1202
 
        
1203
 
    Self *self = user_data;
1204
 
 
1205
 
    self_update_sensitivity(self);
1206
 
  }}
1207
 
#line 1208 "lm-host-view.c"
1208
 
#undef __GOB_FUNCTION__
1209
 
 
1210
 
#line 443 "lm-host-view.gob"
1211
 
static void 
1212
 
lm_host_view_editing_canceled_h (GtkCellRenderer * renderer, gpointer user_data)
1213
 
#line 1214 "lm-host-view.c"
1214
 
{
1215
 
#define __GOB_FUNCTION__ "LM:Host:View::editing_canceled_h"
1216
 
{
1217
 
#line 446 "lm-host-view.gob"
1218
 
        
1219
 
    Self *self = user_data;
1220
 
 
1221
 
    if (selfp->add_pending_count)
1222
 
      {
1223
 
        GtkTreeModel *model;
1224
 
 
1225
 
        selfp->add_pending_count--;
1226
 
        model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
1227
 
        self_store_remove(self, GTK_LIST_STORE(model), &selfp->add_pending_iter);
1228
 
      }
1229
 
  }}
1230
 
#line 1231 "lm-host-view.c"
1231
 
#undef __GOB_FUNCTION__
1232
 
 
1233
 
#line 459 "lm-host-view.gob"
1234
 
static void 
1235
 
lm_host_view_edited_h (GtkCellRendererText * renderer, const char * path_string, const char * new_text, gpointer user_data)
1236
 
#line 1237 "lm-host-view.c"
1237
 
{
1238
 
#define __GOB_FUNCTION__ "LM:Host:View::edited_h"
1239
 
{
1240
 
#line 464 "lm-host-view.gob"
1241
 
        
1242
 
    Self *self = user_data;
1243
 
    GtkTreeModel *model;
1244
 
    GtkTreePath *path;
1245
 
    GtkTreeIter iter;
1246
 
    LMHost *old_host;
1247
 
    LMHost *host;
1248
 
 
1249
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
1250
 
    path = gtk_tree_path_new_from_string(path_string);
1251
 
    gtk_tree_model_get_iter(model, &iter, path);
1252
 
    gtk_tree_path_free(path);
1253
 
 
1254
 
    gtk_tree_model_get(model, &iter, COLUMN_HOST, &old_host, -1);
1255
 
 
1256
 
    if (old_host)
1257
 
      {
1258
 
        host = lm_applet_replace_host(selfp->applet, old_host, new_text);
1259
 
        g_object_unref(old_host);
1260
 
      }
1261
 
    else
1262
 
      host = lm_applet_add_host(selfp->applet, new_text);
1263
 
 
1264
 
    gtk_list_store_set(GTK_LIST_STORE(model), &iter,
1265
 
                       COLUMN_HOST, host,
1266
 
                       COLUMN_NAME, new_text,
1267
 
                       -1);
1268
 
 
1269
 
    if (selfp->add_pending_count)
1270
 
      selfp->add_pending_count--;
1271
 
  }}
1272
 
#line 1273 "lm-host-view.c"
1273
 
#undef __GOB_FUNCTION__
1274
 
 
1275
 
#line 496 "lm-host-view.gob"
1276
 
static void 
1277
 
lm_host_view_update_sensitivity (LMHostView * self)
1278
 
#line 1279 "lm-host-view.c"
1279
 
{
1280
 
#define __GOB_FUNCTION__ "LM:Host:View::update_sensitivity"
1281
 
#line 496 "lm-host-view.gob"
1282
 
        g_return_if_fail (self != NULL);
1283
 
#line 496 "lm-host-view.gob"
1284
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
1285
 
#line 1286 "lm-host-view.c"
1286
 
{
1287
 
#line 498 "lm-host-view.gob"
1288
 
        
1289
 
    GtkTreeModel *model;
1290
 
    GtkTreeSelection *selection;
1291
 
    GList *paths;
1292
 
    gboolean has_selection = FALSE;
1293
 
    gboolean has_prev = FALSE;
1294
 
    gboolean has_next = FALSE;
1295
 
 
1296
 
    model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
1297
 
    selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self));
1298
 
    paths = gtk_tree_selection_get_selected_rows(selection, NULL);
1299
 
 
1300
 
    if (paths)
1301
 
      {
1302
 
        GList *l;
1303
 
        GtkTreeIter iter;
1304
 
        gboolean status;
1305
 
 
1306
 
        has_selection = TRUE;
1307
 
 
1308
 
        /* has prev? */
1309
 
 
1310
 
        l = paths;
1311
 
        if (gtk_tree_path_prev(l->data))
1312
 
          {
1313
 
            gtk_tree_path_next(l->data); /* restore it */
1314
 
            has_prev = TRUE;
1315
 
          }
1316
 
 
1317
 
        /* has next? */
1318
 
 
1319
 
        l = g_list_last(paths);
1320
 
        status = gtk_tree_model_get_iter(model, &iter, l->data);
1321
 
        g_assert(status == TRUE);
1322
 
        if (gtk_tree_model_iter_next(model, &iter))
1323
 
          has_next = TRUE;
1324
 
 
1325
 
        /* cleanup */
1326
 
 
1327
 
        LM_LIST_FOREACH(l, paths)
1328
 
          gtk_tree_path_free(l->data);
1329
 
        g_list_free(paths);
1330
 
      }
1331
 
 
1332
 
    self_set_can_go_up(self, has_prev);
1333
 
    self_set_can_go_down(self, has_next);
1334
 
 
1335
 
    gtk_widget_set_sensitive(selfp->remove_item, has_selection);
1336
 
    gtk_widget_set_sensitive(selfp->cut_item, has_selection);
1337
 
    gtk_widget_set_sensitive(selfp->copy_item, has_selection);
1338
 
    gtk_widget_set_sensitive(selfp->up_item, has_prev);
1339
 
    gtk_widget_set_sensitive(selfp->down_item, has_next);
1340
 
  }}
1341
 
#line 1342 "lm-host-view.c"
1342
 
#undef __GOB_FUNCTION__
1343
 
 
1344
 
#line 552 "lm-host-view.gob"
1345
 
static void 
1346
 
lm_host_view_popup_menu (LMHostView * self, unsigned int button, guint32 activate_time)
1347
 
#line 1348 "lm-host-view.c"
1348
 
{
1349
 
#define __GOB_FUNCTION__ "LM:Host:View::popup_menu"
1350
 
#line 552 "lm-host-view.gob"
1351
 
        g_return_if_fail (self != NULL);
1352
 
#line 552 "lm-host-view.gob"
1353
 
        g_return_if_fail (LM_IS_HOST_VIEW (self));
1354
 
#line 1355 "lm-host-view.c"
1355
 
{
1356
 
#line 554 "lm-host-view.gob"
1357
 
        
1358
 
    gtk_widget_set_sensitive(selfp->paste_item, gtk_clipboard_wait_is_text_available(global_clipboard));
1359
 
    gtk_menu_popup(GTK_MENU(selfp->menu), NULL, NULL, NULL, NULL, button, activate_time);
1360
 
  }}
1361
 
#line 1362 "lm-host-view.c"
1362
 
#undef __GOB_FUNCTION__
1363
 
 
1364
 
#line 559 "lm-host-view.gob"
1365
 
static gboolean 
1366
 
lm_host_view_popup_menu_h (GtkWidget * widget, gpointer user_data)
1367
 
#line 1368 "lm-host-view.c"
1368
 
{
1369
 
#define __GOB_FUNCTION__ "LM:Host:View::popup_menu_h"
1370
 
{
1371
 
#line 561 "lm-host-view.gob"
1372
 
        
1373
 
    Self *self = SELF(widget);
1374
 
 
1375
 
    self_popup_menu(self, 0, gtk_get_current_event_time());
1376
 
    gtk_menu_shell_select_first(GTK_MENU_SHELL(selfp->menu), FALSE);
1377
 
 
1378
 
    return TRUE;                /* a menu was activated */
1379
 
  }}
1380
 
#line 1381 "lm-host-view.c"
1381
 
#undef __GOB_FUNCTION__
1382
 
 
1383
 
#line 570 "lm-host-view.gob"
1384
 
static gboolean 
1385
 
lm_host_view_button_press_event_h (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
1386
 
#line 1387 "lm-host-view.c"
1387
 
{
1388
 
#define __GOB_FUNCTION__ "LM:Host:View::button_press_event_h"
1389
 
{
1390
 
#line 574 "lm-host-view.gob"
1391
 
        
1392
 
    if (event->button == 3)
1393
 
      self_popup_menu(SELF(widget), event->button, event->time);
1394
 
 
1395
 
    return FALSE;               /* propagate event */
1396
 
  }}
1397
 
#line 1398 "lm-host-view.c"
1398
 
#undef __GOB_FUNCTION__
1399
 
 
1400
 
#line 581 "lm-host-view.gob"
1401
 
static void 
1402
 
lm_host_view_select_all_activate_h (GtkMenuItem * item, gpointer user_data)
1403
 
#line 1404 "lm-host-view.c"
1404
 
{
1405
 
#define __GOB_FUNCTION__ "LM:Host:View::select_all_activate_h"
1406
 
{
1407
 
#line 583 "lm-host-view.gob"
1408
 
        
1409
 
    Self *self = user_data;
1410
 
    GtkTreeSelection *selection;
1411
 
 
1412
 
    selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self));
1413
 
    gtk_tree_selection_select_all(selection);
1414
 
  }}
1415
 
#line 1416 "lm-host-view.c"
1416
 
#undef __GOB_FUNCTION__
1417
 
 
1418
 
#line 591 "lm-host-view.gob"
1419
 
static void 
1420
 
lm_host_view_up_activate_h (GtkMenuItem * item, gpointer user_data)
1421
 
#line 1422 "lm-host-view.c"
1422
 
{
1423
 
#define __GOB_FUNCTION__ "LM:Host:View::up_activate_h"
1424
 
{
1425
 
#line 593 "lm-host-view.gob"
1426
 
        
1427
 
    Self *self = user_data;
1428
 
    self_activate_move(self, -1);
1429
 
  }}
1430
 
#line 1431 "lm-host-view.c"
1431
 
#undef __GOB_FUNCTION__
1432
 
 
1433
 
#line 598 "lm-host-view.gob"
1434
 
static void 
1435
 
lm_host_view_down_activate_h (GtkMenuItem * item, gpointer user_data)
1436
 
#line 1437 "lm-host-view.c"
1437
 
{
1438
 
#define __GOB_FUNCTION__ "LM:Host:View::down_activate_h"
1439
 
{
1440
 
#line 600 "lm-host-view.gob"
1441
 
        
1442
 
    Self *self = user_data;
1443
 
    self_activate_move(self, +1);
1444
 
  }}
1445
 
#line 1446 "lm-host-view.c"
1446
 
#undef __GOB_FUNCTION__
1447
 
 
1448
 
#line 605 "lm-host-view.gob"
1449
 
static gboolean 
1450
 
lm_host_view_search_equal_cb (GtkTreeModel * model, int column, const char * key, GtkTreeIter * iter, gpointer search_data)
1451
 
#line 1452 "lm-host-view.c"
1452
 
{
1453
 
#define __GOB_FUNCTION__ "LM:Host:View::search_equal_cb"
1454
 
{
1455
 
#line 611 "lm-host-view.gob"
1456
 
        
1457
 
    gboolean status = TRUE;
1458
 
    GValue value = { 0, };
1459
 
    GValue transformed = { 0, };
1460
 
    const char *str;
1461
 
    char *normalized_string;
1462
 
    char *normalized_key;
1463
 
 
1464
 
    /*
1465
 
     * The stock gtk_tree_view_search_equal_func() only searches the
1466
 
     * start of the string, using strncmp(). We use strstr(), to
1467
 
     * search anywhere inside the string.
1468
 
     */
1469
 
 
1470
 
    gtk_tree_model_get_value(model, iter, column, &value);
1471
 
 
1472
 
    g_value_init(&transformed, G_TYPE_STRING);
1473
 
 
1474
 
    if (! g_value_transform(&value, &transformed))
1475
 
      {
1476
 
        g_value_unset(&value);
1477
 
        return TRUE;
1478
 
      }
1479
 
 
1480
 
    g_value_unset(&value);
1481
 
 
1482
 
    str = g_value_get_string(&transformed);
1483
 
    if (! str)
1484
 
      {
1485
 
        g_value_unset(&transformed);
1486
 
        return TRUE;
1487
 
      }
1488
 
 
1489
 
    normalized_string = g_utf8_normalize(str, -1, G_NORMALIZE_ALL);
1490
 
    normalized_key = g_utf8_normalize(key, -1, G_NORMALIZE_ALL);
1491
 
 
1492
 
    if (normalized_string && normalized_key)
1493
 
      {
1494
 
        char *case_normalized_string;
1495
 
        char *case_normalized_key;
1496
 
 
1497
 
        case_normalized_string = g_utf8_casefold(normalized_string, -1);
1498
 
        case_normalized_key = g_utf8_casefold(normalized_key, -1);
1499
 
 
1500
 
        if (strstr(case_normalized_string, case_normalized_key))
1501
 
          status = FALSE;
1502
 
 
1503
 
        g_free(case_normalized_string);
1504
 
        g_free(case_normalized_key);
1505
 
      }
1506
 
 
1507
 
    g_value_unset (&transformed);
1508
 
    g_free(normalized_key);
1509
 
    g_free(normalized_string);
1510
 
 
1511
 
    return status;
1512
 
  }}
1513
 
#line 1514 "lm-host-view.c"
1514
 
#undef __GOB_FUNCTION__
1515
 
 
1516
 
#line 669 "lm-host-view.gob"
1517
 
GtkWidget * 
1518
 
lm_host_view_new (LMApplet * applet)
1519
 
#line 1520 "lm-host-view.c"
1520
 
{
1521
 
#define __GOB_FUNCTION__ "LM:Host:View::new"
1522
 
#line 669 "lm-host-view.gob"
1523
 
        g_return_val_if_fail (applet != NULL, (GtkWidget * )0);
1524
 
#line 669 "lm-host-view.gob"
1525
 
        g_return_val_if_fail (LM_IS_APPLET (applet), (GtkWidget * )0);
1526
 
#line 1527 "lm-host-view.c"
1527
 
{
1528
 
#line 671 "lm-host-view.gob"
1529
 
        
1530
 
    return GTK_WIDGET(GET_NEW_VARG(LM_HOST_VIEW_PROP_APPLET(applet), NULL));
1531
 
  }}
1532
 
#line 1533 "lm-host-view.c"
1533
 
#undef __GOB_FUNCTION__