1
/* Generated by GOB (v2.0.14) (do not edit directly) */
3
/* End world hunger, donate to the World Food Programme, http://www.wfp.org */
5
#define GOB_VERSION_MAJOR 2
6
#define GOB_VERSION_MINOR 0
7
#define GOB_VERSION_PATCHLEVEL 14
9
#define selfp (self->_priv)
11
#include <string.h> /* memset() */
13
#include "lm-host-view.h"
15
#include "lm-host-view-private.h"
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)
25
#line 26 "lm-host-view.gob"
37
static GtkClipboard *global_clipboard;
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)
47
#define SELF_GET_CLASS(x) LM_HOST_VIEW_GET_CLASS(x)
50
typedef LMHostView Self;
51
typedef LMHostViewClass SelfClass;
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;
86
* Signal connection wrapper macro shortcuts
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))
107
typedef void (*___Sig1) (LMHostView *, gint , gpointer);
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)
117
register ___Sig1 callback;
118
register GCClosure *cc = (GCClosure*) closure;
119
register gpointer data1, data2;
121
g_return_if_fail (n_param_values == 2);
123
if (G_CCLOSURE_SWAP_DATA (closure)) {
124
data1 = closure->data;
125
data2 = g_value_peek_pointer (param_values + 0);
127
data1 = g_value_peek_pointer (param_values + 0);
128
data2 = closure->data;
131
callback = (___Sig1) (marshal_data != NULL ? marshal_data : cc->callback);
133
callback ((LMHostView *)data1,
134
(gint ) g_value_get_int (param_values + 1),
141
ACTIVATE_MOVE_SIGNAL,
142
ACTIVATE_REMOVE_SIGNAL,
144
ACTIVATE_COPY_SIGNAL,
145
ACTIVATE_PASTE_SIGNAL,
156
static guint object_signals[LAST_SIGNAL] = {0};
158
/* pointer to the class of our parent */
159
static GtkTreeViewClass *parent_class = NULL;
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
190
lm_host_view_get_type (void)
192
static GType type = 0;
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 */,
204
(GInstanceInitFunc) lm_host_view_init,
208
type = g_type_register_static (GTK_TYPE_TREE_VIEW, "LMHostView", &info, (GTypeFlags)0);
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))
217
/* a function for creating a new object of our type */
219
static LMHostView * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED;
221
GET_NEW_VARG (const char *first, ...)
225
va_start (ap, first);
226
ret = (LMHostView *)g_object_new_valist (lm_host_view_get_type (), first, ap);
233
___finalize(GObject *obj_self)
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"
244
#undef __GOB_FUNCTION__
247
lm_host_view_init (LMHostView * o G_GNUC_UNUSED)
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"
255
#undef __GOB_FUNCTION__
256
#line 61 "lm-host-view.gob"
258
lm_host_view_class_init (LMHostViewClass * class G_GNUC_UNUSED)
259
#line 260 "lm-host-view.c"
261
#define __GOB_FUNCTION__ "LM:Host:View::class_init"
262
GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) class;
264
g_type_class_add_private(class,sizeof(LMHostViewPrivate));
266
parent_class = g_type_class_ref (GTK_TYPE_TREE_VIEW);
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),
274
g_cclosure_marshal_VOID__VOID,
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),
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");
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),
294
g_cclosure_marshal_VOID__VOID,
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),
302
g_cclosure_marshal_VOID__VOID,
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),
310
g_cclosure_marshal_VOID__VOID,
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),
318
g_cclosure_marshal_VOID__VOID,
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;
340
GParamSpec *param_spec;
342
param_spec = g_param_spec_pointer
343
("applet" /* name */,
346
(GParamFlags)(G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
347
g_object_class_install_property (g_object_class,
350
param_spec = g_param_spec_boolean
351
("can_go_up" /* name */,
354
FALSE /* default_value */,
355
(GParamFlags)(G_PARAM_READABLE | G_PARAM_WRITABLE));
356
g_object_class_install_property (g_object_class,
359
param_spec = g_param_spec_boolean
360
("can_go_down" /* name */,
363
FALSE /* default_value */,
364
(GParamFlags)(G_PARAM_READABLE | G_PARAM_WRITABLE));
365
g_object_class_install_property (g_object_class,
370
#line 62 "lm-host-view.gob"
372
GtkBindingSet *binding_set;
374
global_clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
376
binding_set = gtk_binding_set_by_class(class);
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);
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);
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);
392
#line 393 "lm-host-view.c"
395
#undef __GOB_FUNCTION__
398
___object_set_property (GObject *object,
400
const GValue *VAL G_GNUC_UNUSED,
401
GParamSpec *pspec G_GNUC_UNUSED)
402
#define __GOB_FUNCTION__ "LM:Host:View::set_property"
404
LMHostView *self G_GNUC_UNUSED;
406
self = LM_HOST_VIEW (object);
408
switch (property_id) {
411
#line 43 "lm-host-view.gob"
412
self->_priv->applet = g_value_get_pointer (VAL);
413
#line 414 "lm-host-view.c"
418
#line 56 "lm-host-view.gob"
419
self->can_go_up = g_value_get_boolean (VAL);
420
#line 421 "lm-host-view.c"
423
case PROP_CAN_GO_DOWN:
425
#line 59 "lm-host-view.gob"
426
self->can_go_down = g_value_get_boolean (VAL);
427
#line 428 "lm-host-view.c"
431
/* Apparently in g++ this is needed, glib is b0rk */
432
#ifndef __PRETTY_FUNCTION__
434
# define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__)
436
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
440
#undef __GOB_FUNCTION__
443
___object_get_property (GObject *object,
445
GValue *VAL G_GNUC_UNUSED,
446
GParamSpec *pspec G_GNUC_UNUSED)
447
#define __GOB_FUNCTION__ "LM:Host:View::get_property"
449
LMHostView *self G_GNUC_UNUSED;
451
self = LM_HOST_VIEW (object);
453
switch (property_id) {
456
#line 43 "lm-host-view.gob"
457
g_value_set_pointer (VAL, self->_priv->applet);
458
#line 459 "lm-host-view.c"
463
#line 56 "lm-host-view.gob"
464
g_value_set_boolean (VAL, self->can_go_up);
465
#line 466 "lm-host-view.c"
468
case PROP_CAN_GO_DOWN:
470
#line 59 "lm-host-view.gob"
471
g_value_set_boolean (VAL, self->can_go_down);
472
#line 473 "lm-host-view.c"
476
/* Apparently in g++ this is needed, glib is b0rk */
477
#ifndef __PRETTY_FUNCTION__
479
# define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__)
481
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
485
#undef __GOB_FUNCTION__
488
#line 56 "lm-host-view.gob"
490
lm_host_view_get_can_go_up (LMHostView * self)
491
#line 492 "lm-host-view.c"
493
#define __GOB_FUNCTION__ "LM:Host:View::get_can_go_up"
495
#line 56 "lm-host-view.gob"
496
gboolean val; g_object_get (G_OBJECT (self), "can_go_up", &val, NULL); return val;
498
#line 499 "lm-host-view.c"
499
#undef __GOB_FUNCTION__
501
#line 56 "lm-host-view.gob"
503
lm_host_view_set_can_go_up (LMHostView * self, gboolean val)
504
#line 505 "lm-host-view.c"
506
#define __GOB_FUNCTION__ "LM:Host:View::set_can_go_up"
508
#line 56 "lm-host-view.gob"
509
g_object_set (G_OBJECT (self), "can_go_up", val, NULL);
511
#line 512 "lm-host-view.c"
512
#undef __GOB_FUNCTION__
514
#line 59 "lm-host-view.gob"
516
lm_host_view_get_can_go_down (LMHostView * self)
517
#line 518 "lm-host-view.c"
519
#define __GOB_FUNCTION__ "LM:Host:View::get_can_go_down"
521
#line 59 "lm-host-view.gob"
522
gboolean val; g_object_get (G_OBJECT (self), "can_go_down", &val, NULL); return val;
524
#line 525 "lm-host-view.c"
525
#undef __GOB_FUNCTION__
527
#line 59 "lm-host-view.gob"
529
lm_host_view_set_can_go_down (LMHostView * self, gboolean val)
530
#line 531 "lm-host-view.c"
532
#define __GOB_FUNCTION__ "LM:Host:View::set_can_go_down"
534
#line 59 "lm-host-view.gob"
535
g_object_set (G_OBJECT (self), "can_go_down", val, NULL);
537
#line 538 "lm-host-view.c"
538
#undef __GOB_FUNCTION__
541
#line 84 "lm-host-view.gob"
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): \
550
#define __GOB_FUNCTION__ "LM:Host:View::constructor"
552
#line 86 "lm-host-view.gob"
558
GtkWidget *select_all_item;
560
GtkCellRenderer *renderer;
561
GtkTreeViewColumn *column;
562
GtkTreeSelection *selection;
565
object = PARENT_HANDLER(type, n_construct_properties, construct_params);
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);
572
shell = GTK_MENU_SHELL(selfp->menu);
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);
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);
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));
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,
605
column = gtk_tree_view_column_new_with_attributes(_("Host"),
609
gtk_tree_view_append_column(GTK_TREE_VIEW(self), column);
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);
616
LM_LIST_FOREACH(l, selfp->applet->hosts)
618
LMHost *host = l->data;
621
gtk_list_store_insert_with_values(store, &iter,
624
COLUMN_NAME, host->name,
629
g_signal_connect_swapped(store, "row-deleted", G_CALLBACK(self_reorder), self);
631
g_object_unref(store);
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,
638
self_update_sensitivity(self);
642
#line 643 "lm-host-view.c"
643
#undef __GOB_FUNCTION__
644
#undef PARENT_HANDLER
646
#line 176 "lm-host-view.gob"
648
lm_host_view_get_selected_rows (LMHostView * self)
649
#line 650 "lm-host-view.c"
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"
658
#line 178 "lm-host-view.gob"
661
GtkTreeSelection *selection;
664
GSList *references = NULL;
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);
670
LM_LIST_FOREACH(l, paths)
672
GtkTreePath *path = l->data;
674
references = g_slist_append(references, gtk_tree_row_reference_new(model, path));
675
gtk_tree_path_free(path);
681
#line 682 "lm-host-view.c"
682
#undef __GOB_FUNCTION__
684
#line 201 "lm-host-view.gob"
686
lm_host_view_store_remove (LMHostView * self, GtkListStore * store, GtkTreeIter * iter)
687
#line 688 "lm-host-view.c"
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"
702
#line 205 "lm-host-view.gob"
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);
709
#line 710 "lm-host-view.c"
710
#undef __GOB_FUNCTION__
712
#line 212 "lm-host-view.gob"
714
lm_host_view_reorder (LMHostView * self)
715
#line 716 "lm-host-view.c"
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"
724
#line 214 "lm-host-view.gob"
729
GSList *hosts = NULL;
731
model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
732
valid = gtk_tree_model_get_iter_first(model, &iter);
738
gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
739
hosts = g_slist_append(hosts, host);
741
valid = gtk_tree_model_iter_next(model, &iter);
744
lm_applet_reorder_hosts(selfp->applet, hosts);
745
lm_g_object_slist_free(hosts);
747
#line 748 "lm-host-view.c"
748
#undef __GOB_FUNCTION__
750
#line 237 "lm-host-view.gob"
752
lm_host_view_activate_add (LMHostView * self)
753
#line 754 "lm-host-view.c"
755
GValue ___param_values[1];
756
GValue ___return_val;
758
memset (&___return_val, 0, sizeof (___return_val));
759
memset (&___param_values, 0, sizeof (___param_values));
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"
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);
771
g_signal_emitv (___param_values,
772
object_signals[ACTIVATE_ADD_SIGNAL],
776
g_value_unset (&___param_values[0]);
778
#line 237 "lm-host-view.gob"
780
___real_lm_host_view_activate_add (LMHostView * self G_GNUC_UNUSED)
781
#line 782 "lm-host-view.c"
783
#define __GOB_FUNCTION__ "LM:Host:View::activate_add"
785
#line 239 "lm-host-view.gob"
789
GtkTreeViewColumn *column;
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++;
795
path = gtk_tree_model_get_path(model, &selfp->add_pending_iter);
796
column = gtk_tree_view_get_column(GTK_TREE_VIEW(self), 0);
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);
803
#line 804 "lm-host-view.c"
804
#undef __GOB_FUNCTION__
806
#line 257 "lm-host-view.gob"
808
lm_host_view_activate_move (LMHostView * self, int direction)
809
#line 810 "lm-host-view.c"
811
GValue ___param_values[2];
812
GValue ___return_val;
814
memset (&___return_val, 0, sizeof (___return_val));
815
memset (&___param_values, 0, sizeof (___param_values));
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"
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);
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);
831
g_signal_emitv (___param_values,
832
object_signals[ACTIVATE_MOVE_SIGNAL],
836
g_value_unset (&___param_values[0]);
837
g_value_unset (&___param_values[1]);
839
#line 257 "lm-host-view.gob"
841
___real_lm_host_view_activate_move (LMHostView * self G_GNUC_UNUSED, int direction)
842
#line 843 "lm-host-view.c"
844
#define __GOB_FUNCTION__ "LM:Host:View::activate_move"
846
#line 259 "lm-host-view.gob"
852
g_return_if_fail(direction == -1 || direction == +1);
854
model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
855
references = self_get_selected_rows(self);
857
references = g_slist_reverse(references);
859
LM_LIST_FOREACH(l, references)
861
GtkTreeRowReference *reference = l->data;
864
GtkTreeIter other_iter;
867
path = gtk_tree_row_reference_get_path(reference);
869
status = gtk_tree_model_get_iter(model, &iter, path);
870
g_assert(status == TRUE);
873
gtk_tree_path_prev(path);
875
gtk_tree_path_next(path);
877
if (gtk_tree_model_get_iter(model, &other_iter, path))
882
gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
883
gtk_tree_model_get(model, &other_iter, COLUMN_HOST, &other_host, -1);
885
gtk_list_store_swap(GTK_LIST_STORE(model), &iter, &other_iter);
887
g_object_unref(host);
888
g_object_unref(other_host);
891
gtk_tree_path_free(path);
892
gtk_tree_row_reference_free(reference);
894
g_slist_free(references);
897
self_update_sensitivity(self); /* for up and down */
899
#line 900 "lm-host-view.c"
900
#undef __GOB_FUNCTION__
902
#line 312 "lm-host-view.gob"
904
lm_host_view_activate_remove (LMHostView * self)
905
#line 906 "lm-host-view.c"
907
GValue ___param_values[1];
908
GValue ___return_val;
910
memset (&___return_val, 0, sizeof (___return_val));
911
memset (&___param_values, 0, sizeof (___param_values));
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"
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);
923
g_signal_emitv (___param_values,
924
object_signals[ACTIVATE_REMOVE_SIGNAL],
928
g_value_unset (&___param_values[0]);
930
#line 312 "lm-host-view.gob"
932
___real_lm_host_view_activate_remove (LMHostView * self G_GNUC_UNUSED)
933
#line 934 "lm-host-view.c"
935
#define __GOB_FUNCTION__ "LM:Host:View::activate_remove"
937
#line 314 "lm-host-view.gob"
939
self_remove_selected_hosts(self);
941
#line 942 "lm-host-view.c"
942
#undef __GOB_FUNCTION__
944
#line 318 "lm-host-view.gob"
946
lm_host_view_remove_selected_hosts (LMHostView * self)
947
#line 948 "lm-host-view.c"
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"
956
#line 320 "lm-host-view.gob"
962
model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
963
references = self_get_selected_rows(self);
964
LM_LIST_FOREACH(l, references)
966
GtkTreeRowReference *reference = l->data;
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);
977
gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
979
lm_applet_remove_host(selfp->applet, host);
980
self_store_remove(self, GTK_LIST_STORE(model), &iter);
982
g_object_unref(host);
983
gtk_tree_row_reference_free(reference);
985
g_slist_free(references);
987
#line 988 "lm-host-view.c"
988
#undef __GOB_FUNCTION__
990
#line 351 "lm-host-view.gob"
992
lm_host_view_copy_selected_hosts (LMHostView * self)
993
#line 994 "lm-host-view.c"
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"
1002
#line 353 "lm-host-view.gob"
1005
GtkTreeModel *model;
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)
1014
GtkTreeRowReference *reference = l->data;
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);
1025
gtk_tree_model_get(model, &iter, COLUMN_HOST, &host, -1);
1028
g_string_append_c(string, '\n');
1029
g_string_append(string, host->name);
1031
g_object_unref(host);
1032
gtk_tree_row_reference_free(reference);
1034
g_slist_free(references);
1036
gtk_clipboard_set_text(global_clipboard, string->str, -1);
1037
g_string_free(string, TRUE);
1039
#line 1040 "lm-host-view.c"
1040
#undef __GOB_FUNCTION__
1042
#line 390 "lm-host-view.gob"
1044
lm_host_view_activate_cut (LMHostView * self)
1045
#line 1046 "lm-host-view.c"
1047
GValue ___param_values[1];
1048
GValue ___return_val;
1050
memset (&___return_val, 0, sizeof (___return_val));
1051
memset (&___param_values, 0, sizeof (___param_values));
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"
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);
1063
g_signal_emitv (___param_values,
1064
object_signals[ACTIVATE_CUT_SIGNAL],
1068
g_value_unset (&___param_values[0]);
1070
#line 390 "lm-host-view.gob"
1072
___real_lm_host_view_activate_cut (LMHostView * self G_GNUC_UNUSED)
1073
#line 1074 "lm-host-view.c"
1075
#define __GOB_FUNCTION__ "LM:Host:View::activate_cut"
1077
#line 392 "lm-host-view.gob"
1079
self_copy_selected_hosts(self);
1080
self_remove_selected_hosts(self);
1082
#line 1083 "lm-host-view.c"
1083
#undef __GOB_FUNCTION__
1085
#line 397 "lm-host-view.gob"
1087
lm_host_view_activate_copy (LMHostView * self)
1088
#line 1089 "lm-host-view.c"
1090
GValue ___param_values[1];
1091
GValue ___return_val;
1093
memset (&___return_val, 0, sizeof (___return_val));
1094
memset (&___param_values, 0, sizeof (___param_values));
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"
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);
1106
g_signal_emitv (___param_values,
1107
object_signals[ACTIVATE_COPY_SIGNAL],
1111
g_value_unset (&___param_values[0]);
1113
#line 397 "lm-host-view.gob"
1115
___real_lm_host_view_activate_copy (LMHostView * self G_GNUC_UNUSED)
1116
#line 1117 "lm-host-view.c"
1118
#define __GOB_FUNCTION__ "LM:Host:View::activate_copy"
1120
#line 399 "lm-host-view.gob"
1122
self_copy_selected_hosts(self);
1124
#line 1125 "lm-host-view.c"
1125
#undef __GOB_FUNCTION__
1127
#line 403 "lm-host-view.gob"
1129
lm_host_view_activate_paste (LMHostView * self)
1130
#line 1131 "lm-host-view.c"
1132
GValue ___param_values[1];
1133
GValue ___return_val;
1135
memset (&___return_val, 0, sizeof (___return_val));
1136
memset (&___param_values, 0, sizeof (___param_values));
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"
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);
1148
g_signal_emitv (___param_values,
1149
object_signals[ACTIVATE_PASTE_SIGNAL],
1153
g_value_unset (&___param_values[0]);
1155
#line 403 "lm-host-view.gob"
1157
___real_lm_host_view_activate_paste (LMHostView * self G_GNUC_UNUSED)
1158
#line 1159 "lm-host-view.c"
1160
#define __GOB_FUNCTION__ "LM:Host:View::activate_paste"
1162
#line 405 "lm-host-view.gob"
1167
GtkTreeModel *model;
1169
text = gtk_clipboard_wait_for_text(global_clipboard);
1170
g_assert(text != NULL);
1172
hosts = g_strsplit(text, "\n", 0);
1175
model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
1176
for (i = 0; hosts[i]; i++)
1181
host = lm_applet_add_host(selfp->applet, hosts[i]);
1183
gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter,
1186
COLUMN_NAME, hosts[i],
1191
#line 1192 "lm-host-view.c"
1192
#undef __GOB_FUNCTION__
1194
#line 434 "lm-host-view.gob"
1196
lm_host_view_selection_changed_h (GtkTreeSelection * selection, gpointer user_data)
1197
#line 1198 "lm-host-view.c"
1199
#define __GOB_FUNCTION__ "LM:Host:View::selection_changed_h"
1201
#line 437 "lm-host-view.gob"
1203
Self *self = user_data;
1205
self_update_sensitivity(self);
1207
#line 1208 "lm-host-view.c"
1208
#undef __GOB_FUNCTION__
1210
#line 443 "lm-host-view.gob"
1212
lm_host_view_editing_canceled_h (GtkCellRenderer * renderer, gpointer user_data)
1213
#line 1214 "lm-host-view.c"
1215
#define __GOB_FUNCTION__ "LM:Host:View::editing_canceled_h"
1217
#line 446 "lm-host-view.gob"
1219
Self *self = user_data;
1221
if (selfp->add_pending_count)
1223
GtkTreeModel *model;
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);
1230
#line 1231 "lm-host-view.c"
1231
#undef __GOB_FUNCTION__
1233
#line 459 "lm-host-view.gob"
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"
1238
#define __GOB_FUNCTION__ "LM:Host:View::edited_h"
1240
#line 464 "lm-host-view.gob"
1242
Self *self = user_data;
1243
GtkTreeModel *model;
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);
1254
gtk_tree_model_get(model, &iter, COLUMN_HOST, &old_host, -1);
1258
host = lm_applet_replace_host(selfp->applet, old_host, new_text);
1259
g_object_unref(old_host);
1262
host = lm_applet_add_host(selfp->applet, new_text);
1264
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
1266
COLUMN_NAME, new_text,
1269
if (selfp->add_pending_count)
1270
selfp->add_pending_count--;
1272
#line 1273 "lm-host-view.c"
1273
#undef __GOB_FUNCTION__
1275
#line 496 "lm-host-view.gob"
1277
lm_host_view_update_sensitivity (LMHostView * self)
1278
#line 1279 "lm-host-view.c"
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"
1287
#line 498 "lm-host-view.gob"
1289
GtkTreeModel *model;
1290
GtkTreeSelection *selection;
1292
gboolean has_selection = FALSE;
1293
gboolean has_prev = FALSE;
1294
gboolean has_next = FALSE;
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);
1306
has_selection = TRUE;
1311
if (gtk_tree_path_prev(l->data))
1313
gtk_tree_path_next(l->data); /* restore it */
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))
1327
LM_LIST_FOREACH(l, paths)
1328
gtk_tree_path_free(l->data);
1332
self_set_can_go_up(self, has_prev);
1333
self_set_can_go_down(self, has_next);
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);
1341
#line 1342 "lm-host-view.c"
1342
#undef __GOB_FUNCTION__
1344
#line 552 "lm-host-view.gob"
1346
lm_host_view_popup_menu (LMHostView * self, unsigned int button, guint32 activate_time)
1347
#line 1348 "lm-host-view.c"
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"
1356
#line 554 "lm-host-view.gob"
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);
1361
#line 1362 "lm-host-view.c"
1362
#undef __GOB_FUNCTION__
1364
#line 559 "lm-host-view.gob"
1366
lm_host_view_popup_menu_h (GtkWidget * widget, gpointer user_data)
1367
#line 1368 "lm-host-view.c"
1369
#define __GOB_FUNCTION__ "LM:Host:View::popup_menu_h"
1371
#line 561 "lm-host-view.gob"
1373
Self *self = SELF(widget);
1375
self_popup_menu(self, 0, gtk_get_current_event_time());
1376
gtk_menu_shell_select_first(GTK_MENU_SHELL(selfp->menu), FALSE);
1378
return TRUE; /* a menu was activated */
1380
#line 1381 "lm-host-view.c"
1381
#undef __GOB_FUNCTION__
1383
#line 570 "lm-host-view.gob"
1385
lm_host_view_button_press_event_h (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
1386
#line 1387 "lm-host-view.c"
1388
#define __GOB_FUNCTION__ "LM:Host:View::button_press_event_h"
1390
#line 574 "lm-host-view.gob"
1392
if (event->button == 3)
1393
self_popup_menu(SELF(widget), event->button, event->time);
1395
return FALSE; /* propagate event */
1397
#line 1398 "lm-host-view.c"
1398
#undef __GOB_FUNCTION__
1400
#line 581 "lm-host-view.gob"
1402
lm_host_view_select_all_activate_h (GtkMenuItem * item, gpointer user_data)
1403
#line 1404 "lm-host-view.c"
1405
#define __GOB_FUNCTION__ "LM:Host:View::select_all_activate_h"
1407
#line 583 "lm-host-view.gob"
1409
Self *self = user_data;
1410
GtkTreeSelection *selection;
1412
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self));
1413
gtk_tree_selection_select_all(selection);
1415
#line 1416 "lm-host-view.c"
1416
#undef __GOB_FUNCTION__
1418
#line 591 "lm-host-view.gob"
1420
lm_host_view_up_activate_h (GtkMenuItem * item, gpointer user_data)
1421
#line 1422 "lm-host-view.c"
1423
#define __GOB_FUNCTION__ "LM:Host:View::up_activate_h"
1425
#line 593 "lm-host-view.gob"
1427
Self *self = user_data;
1428
self_activate_move(self, -1);
1430
#line 1431 "lm-host-view.c"
1431
#undef __GOB_FUNCTION__
1433
#line 598 "lm-host-view.gob"
1435
lm_host_view_down_activate_h (GtkMenuItem * item, gpointer user_data)
1436
#line 1437 "lm-host-view.c"
1438
#define __GOB_FUNCTION__ "LM:Host:View::down_activate_h"
1440
#line 600 "lm-host-view.gob"
1442
Self *self = user_data;
1443
self_activate_move(self, +1);
1445
#line 1446 "lm-host-view.c"
1446
#undef __GOB_FUNCTION__
1448
#line 605 "lm-host-view.gob"
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"
1453
#define __GOB_FUNCTION__ "LM:Host:View::search_equal_cb"
1455
#line 611 "lm-host-view.gob"
1457
gboolean status = TRUE;
1458
GValue value = { 0, };
1459
GValue transformed = { 0, };
1461
char *normalized_string;
1462
char *normalized_key;
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.
1470
gtk_tree_model_get_value(model, iter, column, &value);
1472
g_value_init(&transformed, G_TYPE_STRING);
1474
if (! g_value_transform(&value, &transformed))
1476
g_value_unset(&value);
1480
g_value_unset(&value);
1482
str = g_value_get_string(&transformed);
1485
g_value_unset(&transformed);
1489
normalized_string = g_utf8_normalize(str, -1, G_NORMALIZE_ALL);
1490
normalized_key = g_utf8_normalize(key, -1, G_NORMALIZE_ALL);
1492
if (normalized_string && normalized_key)
1494
char *case_normalized_string;
1495
char *case_normalized_key;
1497
case_normalized_string = g_utf8_casefold(normalized_string, -1);
1498
case_normalized_key = g_utf8_casefold(normalized_key, -1);
1500
if (strstr(case_normalized_string, case_normalized_key))
1503
g_free(case_normalized_string);
1504
g_free(case_normalized_key);
1507
g_value_unset (&transformed);
1508
g_free(normalized_key);
1509
g_free(normalized_string);
1513
#line 1514 "lm-host-view.c"
1514
#undef __GOB_FUNCTION__
1516
#line 669 "lm-host-view.gob"
1518
lm_host_view_new (LMApplet * applet)
1519
#line 1520 "lm-host-view.c"
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"
1528
#line 671 "lm-host-view.gob"
1530
return GTK_WIDGET(GET_NEW_VARG(LM_HOST_VIEW_PROP_APPLET(applet), NULL));
1532
#line 1533 "lm-host-view.c"
1533
#undef __GOB_FUNCTION__