~ubuntu-branches/ubuntu/oneiric/cairo-dock-plug-ins/oneiric-updates

« back to all changes in this revision

Viewing changes to GMenu/src/applet-menu-callbacks.c

  • Committer: Kees Cook
  • Date: 2011-08-11 23:17:39 UTC
  • mfrom: (20.1.1 cairo-dock-plug-ins)
  • Revision ID: kees@outflux.net-20110811231739-cteedan51tmdg77v
Tags: 2.4.0~0beta2-0ubuntu1
releasing version 2.4.0~0beta2-0ubuntu1

Show diffs side-by-side

added added

removed removed

Lines of Context:
171
171
}
172
172
 
173
173
 
174
 
void panel_desktop_menu_item_append_menu (GtkWidget *menu,
175
 
                                     gpointer   data)
176
 
{
177
 
        //g_print ("%s ()\n", __func__);        
178
 
        CairoDockModuleInstance *myApplet;
179
 
        gboolean              add_separator;
180
 
        GList                *children;
181
 
        GList                *last;
182
 
 
183
 
        myApplet = (CairoDockModuleInstance *) data;
184
 
 
185
 
        add_separator = FALSE;
186
 
        children = gtk_container_get_children (GTK_CONTAINER (menu));
187
 
        last = g_list_last (children);
188
 
 
189
 
        ///if (last != NULL)
190
 
        ///     add_separator = !GTK_IS_SEPARATOR (GTK_WIDGET (last->data));
191
 
 
192
 
        g_list_free (children);
193
 
 
194
 
        if (add_separator)
195
 
                add_menu_separator (menu);
196
 
 
197
 
        //panel_menu_items_append_from_desktop (menu, "yelp.desktop", NULL);
198
 
        //panel_menu_items_append_from_desktop (menu, "gnome-about.desktop", NULL);
199
 
 
200
 
        //if (parent->priv->append_lock_logout)
201
 
        //      panel_menu_items_append_lock_logout (menu);
202
 
}
 
174
// == cairo_dock_add_in_menu_with_stock_and_data   with icon size 24
 
175
GtkWidget *cd_menu_append_one_item_to_menu (const gchar *cLabel, const gchar *gtkStock, GFunc pFunction, GtkWidget *pMenu, gpointer pData)
 
176
{
 
177
        GtkWidget *pMenuItem = gtk_image_menu_item_new_with_label (cLabel);
 
178
        if (gtkStock)
 
179
        {
 
180
                GtkWidget *image = NULL;
 
181
                if (*gtkStock == '/')
 
182
                {
 
183
                        GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (gtkStock, 24, 24, NULL);
 
184
                        image = gtk_image_new_from_pixbuf (pixbuf);
 
185
                        g_object_unref (pixbuf);
 
186
                }
 
187
                else
 
188
                {
 
189
                        const gchar *cIconPath = cairo_dock_search_icon_s_path (gtkStock);
 
190
                        if (cIconPath == NULL)
 
191
                        {
 
192
                                cIconPath = g_strconcat (MY_APPLET_SHARE_DATA_DIR"/", gtkStock, NULL);
 
193
                                cIconPath = g_strconcat (cIconPath, ".svg", NULL);
 
194
                        }
 
195
                        GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, 24, 24, NULL);
 
196
                        image = gtk_image_new_from_pixbuf (pixbuf);
 
197
                        g_object_unref (pixbuf);
 
198
                }
 
199
#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)
 
200
                gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (pMenuItem), TRUE);
 
201
#endif
 
202
                gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
 
203
        }
 
204
        gtk_menu_shell_append  (GTK_MENU_SHELL (pMenu), pMenuItem);
 
205
        if (pFunction)
 
206
                g_signal_connect (G_OBJECT (pMenuItem), "activate", G_CALLBACK (pFunction), pData);
 
207
        return pMenuItem;
 
208
}
 
209
 
 
210
void cd_menu_append_poweroff_to_menu (GtkWidget *menu, CairoDockModuleInstance *myApplet)
 
211
{
 
212
        add_menu_separator (menu);
 
213
 
 
214
        if (myConfig.iShowQuit == CD_GMENU_SHOW_QUIT_LOGOUT || myConfig.iShowQuit == CD_GMENU_SHOW_QUIT_BOTH)
 
215
                cd_menu_append_one_item_to_menu (D_("Logout"), "system-log-out", (GFunc) cairo_dock_fm_logout, menu, NULL);
 
216
 
 
217
        if (myConfig.iShowQuit == CD_GMENU_SHOW_QUIT_SHUTDOWN || myConfig.iShowQuit == CD_GMENU_SHOW_QUIT_BOTH)
 
218
                cd_menu_append_one_item_to_menu (D_("Shutdown"), "system-shutdown", (GFunc) cairo_dock_fm_shutdown, menu, NULL);
 
219
}
 
220
 
 
221
 
 
222
 
 
223
void panel_desktop_menu_item_append_menu (GtkWidget *menu, gpointer data)
 
224
{
 
225
        CairoDockModuleInstance *myApplet = (CairoDockModuleInstance *) data;
 
226
 
 
227
        //panel_menu_items_append_from_desktop (menu, "yelp.desktop", NULL);
 
228
        //panel_menu_items_append_from_desktop (menu, "gnome-about.desktop", NULL);
 
229
 
 
230
        if (myConfig.iShowQuit != CD_GMENU_SHOW_QUIT_NONE)
 
231
                cd_menu_append_poweroff_to_menu (menu, myApplet);
 
232
}
 
233
 
203
234
void main_menu_append (GtkWidget *main_menu,
204
235
                  gpointer   data)
205
236
{
242
273
        {
243
274
                cd_menu_append_recent_to_menu (main_menu, myApplet);
244
275
        }
 
276
 
 
277
 
245
278
        /*item = panel_place_menu_item_new (TRUE);
246
279
        panel_place_menu_item_set_panel (item, panel);
247
280
        gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item);