~ubuntu-branches/ubuntu/saucy/file-browser-applet/saucy

« back to all changes in this revision

Viewing changes to src/panel-menu-bar.c

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Starr-Bochicchio
  • Date: 2008-11-04 13:34:36 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20081104133436-7kgxv6psv6mjnxh0
Tags: 0.6.0-0ubuntu1
* New upstream release.
 - Added context menu with a few actions (open-with, new folder here, 
   delete file/folder, create/extract archive, create CD/DVD from 
   file/folder, compile a tex file).
 - Added configuration option to make text vertical/horizontal when 
   the panel is vertical.
 - Added tooltips to configuration dialog.
 - Fixed bugs #21, #30, #34, #37, #39.
 - Plugged some memory leaks (thanks Silvio Ricardo Cordeiro).
 - Lots of code cleanup. 
* debian/control:
 - Add suggests on file-roller, brasero, and rubber 
   for new features.
 - Add Vcs-Bzr field.
 - Add versionized Build-Depend on libgtk2.0-dev (>= 2.14)

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
static gpointer panel_menu_bar_parent_class = NULL;
62
62
static void panel_menu_bar_dispose (GObject * obj);
63
63
/******************************************************************************/
64
 
/******************************************************************************/
65
64
void
66
65
panel_menu_bar_edit_prefs (PanelMenuBar *self) {
67
66
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
68
67
 
69
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
68
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
70
69
 
71
70
        AppletPreferences *prefs = self->priv->prefs;
72
71
        applet_preferences_make_dialog (prefs);
78
77
                                                          PanelMenuBar          *self) {
79
78
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
80
79
 
81
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
80
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
82
81
 
83
82
        gint                            i;
84
 
        gboolean                        text_vertical = FALSE;
85
 
        gdouble                         text_angle;
86
 
        gfloat                          text_xalign;
87
 
        gfloat                          text_yalign;
88
 
        GtkWidget                       *menu_browser = NULL;
89
 
        GtkRequisition          requisition;
90
 
        GtkPackDirection        pack_direction;
 
83
        PangoEllipsizeMode      ellipsize_mode = PANGO_ELLIPSIZE_NONE;
 
84
        GtkPackDirection        pack_direction = GTK_PACK_DIRECTION_LTR;
 
85
        double                          text_angle = 0.0;
 
86
        float                           text_xalign = 0.0;
 
87
        float                           text_yalign = 0.5;
91
88
 
92
89
        /* update the panel's orientation */
93
90
        self->priv->orientation = orientation;
94
91
 
95
 
        /* set the default (horizontal panel) pack and text direction */
96
 
        pack_direction = GTK_PACK_DIRECTION_LTR;
97
 
        text_angle  = 0.0;
98
 
        text_xalign = 0.0;
99
 
        text_yalign = 0.5;
100
 
 
101
 
        /* iterate through each menu_item in the menu bar and check it's width */
102
 
        for (i=0; i < self->priv->file_browsers->len; i++) {
103
 
                menu_browser = (GtkWidget *)(g_ptr_array_index (self->priv->file_browsers, i));
104
 
                gtk_widget_size_request (menu_browser,
105
 
                                                                 &requisition);
106
 
                /* if any of the menu_items are wider that the panel, set the text to be rotated */
107
 
                if ((!self->priv->text_vertical & (requisition.width  > self->priv->panel_size)) ||
108
 
                        ( self->priv->text_vertical & (requisition.height > self->priv->panel_size))) {
109
 
                        text_vertical = TRUE;
110
 
                }
111
 
        }
112
 
        self->priv->text_vertical = text_vertical;
113
92
        /* set the text and pack direction and */
114
93
        switch (orientation) {
115
 
                case PANEL_APPLET_ORIENT_UP:
116
 
                case PANEL_APPLET_ORIENT_DOWN:
117
 
                        self->priv->text_vertical = FALSE;
118
 
                        break;
119
 
                case PANEL_APPLET_ORIENT_RIGHT:
120
 
                        pack_direction = GTK_PACK_DIRECTION_TTB;
121
 
                        if (text_vertical) {
122
 
                                pack_direction = GTK_PACK_DIRECTION_BTT;
123
 
                                text_angle = 90.0;
124
 
                        }
125
 
                                text_xalign = 0.5;
126
 
                                text_yalign = 0.0;
127
 
                        break;
128
 
                case PANEL_APPLET_ORIENT_LEFT:
129
 
                        pack_direction = GTK_PACK_DIRECTION_TTB;
130
 
                        if (text_vertical) {
131
 
                                text_angle = 270.0;
132
 
                        }
133
 
                                text_xalign = 0.5;
134
 
                                text_yalign = 0.0;
135
 
                        break;
136
 
                default:
137
 
                        g_assert_not_reached ();
138
 
                        break;
 
94
        case PANEL_APPLET_ORIENT_UP:
 
95
        case PANEL_APPLET_ORIENT_DOWN:
 
96
                /* handled by defaults */
 
97
                break;
 
98
        case PANEL_APPLET_ORIENT_RIGHT:
 
99
                if (self->priv->prefs->menu_bar_prefs->horizontal_text) {
 
100
                        pack_direction = GTK_PACK_DIRECTION_TTB;
 
101
                        ellipsize_mode = PANGO_ELLIPSIZE_END;
 
102
                }
 
103
                else {
 
104
                        pack_direction = GTK_PACK_DIRECTION_BTT;
 
105
                        text_angle = 90.0;
 
106
                        text_xalign = 0.5;
 
107
                        text_yalign = 0.0;
 
108
                }
 
109
                break;
 
110
        case PANEL_APPLET_ORIENT_LEFT:
 
111
                pack_direction = GTK_PACK_DIRECTION_TTB;
 
112
                if (self->priv->prefs->menu_bar_prefs->horizontal_text) {
 
113
                        ellipsize_mode = PANGO_ELLIPSIZE_END;
 
114
                }
 
115
                else {
 
116
                        text_angle = 270.0;
 
117
                        text_xalign = 0.5;
 
118
                        text_yalign = 0.0;
 
119
                }
 
120
                break;
 
121
        default:
 
122
                g_assert_not_reached ();
 
123
                break;
139
124
        }
140
125
        /* update the menu_bar pack direction */
141
126
        gtk_menu_bar_set_pack_direction (GTK_MENU_BAR (self), pack_direction);
142
127
        gtk_menu_bar_set_child_pack_direction (GTK_MENU_BAR (self), pack_direction);
143
128
 
144
 
        /* update the menu_item text direction */
 
129
        /* update the menu_item ellipsizing */
145
130
        for (i=0; i < self->priv->file_browsers->len; i++) {
146
 
                menu_browser = (GtkWidget *)(g_ptr_array_index (self->priv->file_browsers, i));
147
 
                GtkWidget *label = GTK_BIN (menu_browser)->child;
148
 
                gtk_label_set_angle (GTK_LABEL (label), text_angle);
149
 
                gtk_misc_set_alignment (GTK_MISC (label), text_xalign, text_yalign);
 
131
                GtkWidget *menu_browser = (GtkWidget *)(g_ptr_array_index (self->priv->file_browsers, i));
 
132
                GtkWidget *label = gtk_bin_get_child (GTK_BIN (menu_browser));
 
133
                if (GTK_IS_LABEL (label)) {
 
134
                        gtk_label_set_ellipsize (GTK_LABEL (label), ellipsize_mode);
 
135
                        gtk_label_set_angle             (GTK_LABEL (label), text_angle);
 
136
                        gtk_misc_set_alignment  (GTK_MISC  (label), text_xalign, text_yalign);
 
137
                }
150
138
        }
151
 
        return;
 
139
}
 
140
/******************************************************************************/
 
141
static void
 
142
panel_menu_bar_update_orient (PanelMenuBar *self) {
 
143
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
 
144
 
 
145
        PanelAppletOrient orientation = panel_applet_get_orient (PANEL_APPLET (self->priv->applet));
 
146
        panel_menu_bar_change_orient (self->priv->applet, orientation, self);
152
147
}
153
148
/******************************************************************************/
154
149
static void     /* Taken from the Main Menu Bar Applet */
158
153
 
159
154
        PanelMenuBar *self = (PanelMenuBar *)widget;
160
155
 
161
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
156
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
162
157
 
163
158
        /* WTF!? */
164
159
        allocation->x = 0;
176
171
        GTK_WIDGET_CLASS (panel_menu_bar_parent_class)->size_allocate (widget, allocation);
177
172
 
178
173
        PanelAppletOrient orientation = panel_applet_get_orient (PANEL_APPLET (self->priv->applet));
179
 
        panel_menu_bar_change_orient (self->priv->applet,
180
 
                                                                  orientation,
181
 
                                                                  self);
182
 
 
183
 
        return;
 
174
        panel_menu_bar_change_orient (self->priv->applet, orientation, self);
184
175
}
185
176
/******************************************************************************/
186
177
static void     /* Taken from the Trash Applet */
191
182
                                                                  PanelMenuBar                          *self) {
192
183
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
193
184
 
194
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
185
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
195
186
 
196
187
        GtkRcStyle *rc_style;
197
188
        GtkStyle *style;
203
194
        gtk_rc_style_unref (rc_style);
204
195
 
205
196
        switch (type) {
206
 
                case PANEL_COLOR_BACKGROUND:
207
 
                        gtk_widget_modify_bg (GTK_WIDGET (self),
208
 
                                                                  GTK_STATE_NORMAL,
209
 
                                                                  color);
210
 
                        break;
211
 
 
212
 
                case PANEL_PIXMAP_BACKGROUND:
213
 
                        style = gtk_style_copy (GTK_WIDGET (self)->style);
214
 
                        if (style->bg_pixmap[GTK_STATE_NORMAL] != NULL)
215
 
                                g_object_unref (style->bg_pixmap[GTK_STATE_NORMAL]);
216
 
 
217
 
                        style->bg_pixmap[GTK_STATE_NORMAL] = g_object_ref (pixmap);
218
 
                        gtk_widget_set_style (GTK_WIDGET (self), style);
219
 
                        g_object_unref (style);
220
 
                        break;
221
 
 
222
 
                case PANEL_NO_BACKGROUND:
223
 
                default:
224
 
                        break;
 
197
        case PANEL_COLOR_BACKGROUND:
 
198
                gtk_widget_modify_bg (GTK_WIDGET (self), GTK_STATE_NORMAL, color);
 
199
                break;
 
200
        case PANEL_PIXMAP_BACKGROUND:
 
201
                style = gtk_style_copy (GTK_WIDGET (self)->style);
 
202
                if (style->bg_pixmap[GTK_STATE_NORMAL] != NULL)
 
203
                        g_object_unref (style->bg_pixmap[GTK_STATE_NORMAL]);
 
204
 
 
205
                style->bg_pixmap[GTK_STATE_NORMAL] = g_object_ref (pixmap);
 
206
                gtk_widget_set_style (GTK_WIDGET (self), style);
 
207
                g_object_unref (style);
 
208
                break;
 
209
        case PANEL_NO_BACKGROUND:
 
210
        default:
 
211
                break;
225
212
        }
226
 
        return;
227
213
}
228
214
/******************************************************************************/
229
215
static void
230
216
panel_menu_bar_update_image (PanelMenuBar *self) {
231
217
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
232
218
 
233
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
219
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
234
220
 
235
221
        GtkWidget *image = NULL;
236
222
        AppletPreferences *a_prefs = self->priv->prefs;
252
238
                gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_browser),
253
239
                                                                                                                        icon);
254
240
        }
255
 
        return;
256
241
}
257
242
/******************************************************************************/
258
243
#ifdef ENABLE_GTK_HOTKEY
262
247
                                                                PanelMenuBar *self) {
263
248
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
264
249
 
265
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
250
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
266
251
 
267
252
        MenuBrowser *menu_browser = (MenuBrowser *)(g_ptr_array_index (self->priv->file_browsers, 0));
268
253
 
269
254
        GTK_MENU_SHELL (self)->active = TRUE;
270
255
        gtk_menu_shell_set_take_focus (GTK_MENU_SHELL (self), TRUE);
271
 
        gtk_menu_shell_select_item (GTK_MENU_SHELL (self),
272
 
                                                                GTK_WIDGET (menu_browser));
 
256
        gtk_menu_shell_select_item (GTK_MENU_SHELL (self), GTK_WIDGET (menu_browser));
273
257
}
274
258
/******************************************************************************/
275
259
static void
276
260
panel_menu_bar_add_keybinding (PanelMenuBar *self) {
277
261
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
278
262
 
279
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
263
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
280
264
 
281
265
        GError *error = NULL;
282
266
 
291
275
                                          self);
292
276
 
293
277
        gtk_hotkey_info_bind (hot_key_info, &error);
 
278
        utils_gerror_ok (&error, TRUE);
294
279
}
295
280
#endif
296
281
/******************************************************************************/
299
284
                                                         PrefsChangedSignalData *signal_data) {
300
285
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
301
286
 
302
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
287
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
303
288
 
304
289
        GtkWidget *menu_browser = (GtkWidget *)(g_ptr_array_index (self->priv->file_browsers, signal_data->instance));
305
290
 
306
 
        menu_browser_update (MENU_BROWSER (menu_browser),
307
 
                                                 signal_data->path,
308
 
                                                 signal_data->label);
309
 
        return;
 
291
        menu_browser_update (MENU_BROWSER (menu_browser), signal_data->path, signal_data->label);
310
292
}
311
293
/******************************************************************************/
312
294
static void
314
296
                                                   PrefsChangedSignalData *signal_data) {
315
297
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
316
298
 
317
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
299
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
318
300
 
319
301
        int new_pos;
320
302
        GtkWidget *menu_browser = NULL;
327
309
                new_pos = signal_data->instance + 1;
328
310
        }
329
311
        else {
330
 
                if (DEBUG) g_printf("shitzer\n");
331
 
                return;
 
312
                if (DEBUG) g_printf("shitzer\n"); return;
332
313
        }
333
314
 
334
315
        if (new_pos < 0) {
335
 
                if (DEBUG) g_printf("shitzer\n");
336
 
                return;
 
316
                if (DEBUG) g_printf("shitzer\n"); return;
337
317
        }
338
318
 
339
319
        menu_browser = (GtkWidget *)(g_ptr_array_index (self->priv->file_browsers, signal_data->instance));
342
322
        if (menu_browser != NULL && menu_browser_affected != NULL) {
343
323
                g_object_ref (G_OBJECT (menu_browser));
344
324
                gtk_container_remove (GTK_CONTAINER (self), menu_browser);
345
 
                gtk_menu_shell_insert (GTK_MENU_SHELL (self),
346
 
                                                           menu_browser,
347
 
                                                           new_pos);
 
325
                gtk_menu_shell_insert (GTK_MENU_SHELL (self), menu_browser, new_pos);
348
326
                g_object_unref (G_OBJECT (menu_browser));
349
327
                self->priv->file_browsers->pdata[new_pos] = menu_browser;
350
328
                self->priv->file_browsers->pdata[signal_data->instance] = menu_browser_affected;
352
330
        else {
353
331
                if (DEBUG) g_printf("shitzer\n");
354
332
        }
355
 
        return;
356
333
}
357
334
/******************************************************************************/
358
335
static void
359
 
panel_menu_bar_remove_entry (PanelMenuBar *self,
360
 
                                                         gint instance) {
 
336
panel_menu_bar_remove_entry (PanelMenuBar *self, gint instance) {
361
337
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
362
338
 
363
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
339
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
364
340
 
365
341
        GtkWidget *menu_browser = (GtkWidget *)(g_ptr_array_index (self->priv->file_browsers, instance));
366
342
 
371
347
        else {
372
348
                if (DEBUG) g_printf("shitzer\n");
373
349
        }
374
 
 
375
 
        return;
376
350
}
377
351
/******************************************************************************/
378
352
static void
379
 
panel_menu_bar_add_entry (PanelMenuBar *self,
380
 
                                                  gchar *label,
381
 
                                                  gchar *path) {
 
353
panel_menu_bar_add_entry (PanelMenuBar *self, const gchar *label, const gchar *path) {
382
354
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
383
355
 
384
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
356
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
385
357
 
386
358
        GtkWidget *menu_browser = menu_browser_new (path,
387
359
                                                                                                label,
390
362
        /* add it to the list and to the menu bar*/
391
363
        g_ptr_array_add (self->priv->file_browsers, menu_browser);
392
364
 
393
 
        gtk_menu_shell_append (GTK_MENU_SHELL (self),
394
 
                                                   menu_browser);
 
365
        gtk_menu_shell_append (GTK_MENU_SHELL (self), menu_browser);
395
366
 
396
367
        gtk_widget_show_all (menu_browser);
397
 
        return;
398
368
}
399
369
/******************************************************************************/
400
370
static void
403
373
                                                                           PanelMenuBar *self) {
404
374
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
405
375
 
406
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
376
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
407
377
 
408
378
        switch (signal_data->signal_id) {
409
 
                case PREFS_SIGNAL_TERMINAL :
410
 
                case PREFS_SIGNAL_SHOW_HIDDEN :
411
 
                        break;
412
 
                case PREFS_SIGNAL_SHOW_ICON :
413
 
                case PREFS_SIGNAL_ICON_CHANGED :
414
 
                        panel_menu_bar_update_image (self);
415
 
                        break;
416
 
                case PREFS_SIGNAL_DIR_MOVE_UP :
417
 
                case PREFS_SIGNAL_DIR_MOVE_DOWN :
418
 
                        panel_menu_bar_move_entry (self, signal_data);
419
 
                        break;
420
 
                case PREFS_SIGNAL_DIR_CHANGED :
421
 
                        panel_menu_bar_update_entry (self, signal_data);
422
 
                        break;
423
 
                case PREFS_SIGNAL_DIR_ADD :
424
 
                        panel_menu_bar_add_entry (self, signal_data->label, g_strdup (signal_data->path));
425
 
                        break;
426
 
                case PREFS_SIGNAL_DIR_DEL :
427
 
                        panel_menu_bar_remove_entry (self, signal_data->instance);
428
 
                        break;
 
379
        case PREFS_SIGNAL_TERMINAL :
 
380
        case PREFS_SIGNAL_SHOW_HIDDEN :
 
381
                break;
 
382
        case PREFS_SIGNAL_SHOW_ICON :
 
383
        case PREFS_SIGNAL_ICON_CHANGED :
 
384
                panel_menu_bar_update_image (self);
 
385
                break;
 
386
        case PREFS_SIGNAL_DIR_MOVE_UP :
 
387
        case PREFS_SIGNAL_DIR_MOVE_DOWN :
 
388
                panel_menu_bar_move_entry (self, signal_data);
 
389
                break;
 
390
        case PREFS_SIGNAL_DIR_CHANGED :
 
391
                panel_menu_bar_update_entry (self, signal_data);
 
392
                break;
 
393
        case PREFS_SIGNAL_DIR_ADD :
 
394
                panel_menu_bar_add_entry (self, signal_data->label, g_strdup (signal_data->path));
 
395
                break;
 
396
        case PREFS_SIGNAL_DIR_DEL :
 
397
                panel_menu_bar_remove_entry (self, signal_data->instance);
 
398
                break;
 
399
        case PREFS_SIGNAL_HORIZONTAL_TEXT :
 
400
                panel_menu_bar_update_orient (self);
 
401
                break;
 
402
        default:
 
403
                g_assert_not_reached ();
429
404
        }
430
405
        if (DEBUG) g_printf ("caught the signal: %d, ", signal_data->signal_id);
431
406
        if (DEBUG) g_printf ("instance %d, label: %s, path %s\n",
520
495
                                                          PanelMenuBar *self) {
521
496
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
522
497
 
523
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
524
 
 
525
 
        g_object_set (G_OBJECT (widget), "has-tooltip", TRUE, NULL);
 
498
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
 
499
 
 
500
        g_object_set (G_OBJECT (self), "has-tooltip", TRUE, NULL);
 
501
 
 
502
        /* this is here because of the solution to the focus problem caused by the
 
503
         * popped context menu */
 
504
        gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
 
505
        gint i;
 
506
        for (i=0; i < self->priv->file_browsers->len; i++) {
 
507
                GtkWidget *menu_browser = (GtkWidget *)(g_ptr_array_index (self->priv->file_browsers, i));
 
508
                gtk_widget_set_sensitive (menu_browser, TRUE);
 
509
        }
526
510
}
527
511
/******************************************************************************/
528
512
gboolean
531
515
                                                                PanelMenuBar *self) {
532
516
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
533
517
 
534
 
        g_return_val_if_fail (self == NULL || IS_PANEL_MENU_BAR (self), TRUE);
 
518
        g_return_val_if_fail (IS_PANEL_MENU_BAR (self), TRUE);
535
519
 
536
520
        GtkMenuShell *menu_shell = GTK_MENU_SHELL (self);
537
521
 
569
553
                                                                PanelMenuBar *self) {
570
554
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
571
555
 
572
 
        g_return_val_if_fail (self == NULL || IS_PANEL_MENU_BAR (self), TRUE);
 
556
        g_return_val_if_fail (IS_PANEL_MENU_BAR (self), TRUE);
573
557
 
574
558
        if ((event->keyval == GDK_Menu) ||
575
559
                         (event->keyval == GDK_F10 &&
591
575
panel_menu_bar_new (PanelApplet* applet) {
592
576
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
593
577
 
594
 
        g_return_val_if_fail (applet == NULL || PANEL_IS_APPLET (applet), NULL);
595
 
 
596
 
        PanelMenuBar *self;
597
 
 
598
 
        g_return_val_if_fail (applet == NULL || PANEL_IS_APPLET (applet), NULL);
599
 
        self = g_object_newv (TYPE_PANEL_MENU_BAR, 0, NULL);
 
578
        g_return_val_if_fail (PANEL_IS_APPLET (applet), NULL);
 
579
 
 
580
        PanelMenuBar *self = g_object_newv (TYPE_PANEL_MENU_BAR, 0, NULL);
600
581
 
601
582
        g_signal_connect (GTK_MENU_BAR (self),
602
583
                                          "button_press_event",
691
672
panel_menu_bar_init (PanelMenuBar * self) {
692
673
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
693
674
 
694
 
        g_return_if_fail (self == NULL || IS_PANEL_MENU_BAR (self));
 
675
        g_return_if_fail (IS_PANEL_MENU_BAR (self));
695
676
 
696
677
        self->priv = PANEL_MENU_BAR_GET_PRIVATE (self);
697
 
        return;
698
678
}
699
679
/******************************************************************************/
700
680
static void
701
681
panel_menu_bar_dispose (GObject *obj) {
702
682
        if (DEBUG) g_printf ("In %s\n", __FUNCTION__);
703
683
 
704
 
        PanelMenuBar *self;
705
684
        PanelMenuBarClass *klass;
706
685
/*      GObjectClass * parent_class;*/
707
686
 
708
 
        self = PANEL_MENU_BAR (obj);
 
687
        PanelMenuBar *self = PANEL_MENU_BAR (obj);
709
688
        (self->priv->applet == NULL ? NULL : (self->priv->applet = (g_object_unref (self->priv->applet), NULL)));
710
689
        (self->priv->file_browsers == NULL ? NULL : (self->priv->file_browsers = (gpointer)(g_ptr_array_free (self->priv->file_browsers, TRUE))));
711
690
        klass = PANEL_MENU_BAR_CLASS (g_type_class_peek (TYPE_PANEL_MENU_BAR));
712
691
        G_OBJECT_CLASS (panel_menu_bar_parent_class)->dispose (obj);
713
 
        return;
714
692
}
715
693
/******************************************************************************/
716
694
GType