31
31
if (myData.pMenu != NULL)
33
cairo_dock_popup_menu_on_container (myData.pMenu, myContainer);
33
cairo_dock_popup_menu_on_icon (myData.pMenu, myIcon, myContainer);
50
50
//\___________ Define here the action to be taken when the user left-clicks on your icon or on its subdock or your desklet. The icon and the container that were clicked are available through the macros CD_APPLET_CLICKED_ICON and CD_APPLET_CLICKED_CONTAINER. CD_APPLET_CLICKED_ICON may be NULL if the user clicked in the container but out of icons.
51
static void _on_activate_item (GtkWidget *pMenuItem, gpointer *data);
52
static void _fill_menu_with_dir (gchar *cDirPath, GtkWidget *pMenu)
54
GError *erreur = NULL;
55
GDir *dir = g_dir_open (cDirPath, 0, &erreur);
61
const gchar *cFileName;
67
cFileName = g_dir_read_name (dir);
68
if (cFileName == NULL)
71
cPath = g_strdup_printf ("%s/%s", cDirPath, cFileName);
72
pMenuItem = gtk_menu_item_new_with_label (cFileName);
73
data = g_new (gpointer, 2);
76
gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
77
g_signal_connect (G_OBJECT (pMenuItem), "activate", G_CALLBACK(_on_activate_item), data);
79
if (g_file_test (cPath, G_FILE_TEST_IS_DIR))
81
GtkWidget *pSubMenu = gtk_menu_new ();
82
gtk_menu_item_set_submenu (GTK_MENU_ITEM (pMenuItem), pSubMenu);
89
static void _on_activate_item (GtkWidget *pMenuItem, gpointer *data)
91
gchar *cPath = data[0];
92
cd_debug ("%s (%s)\n", __func__, cPath);
94
if (g_file_test (cPath, G_FILE_TEST_IS_DIR))
96
cd_debug ("c'est un repertoire\n");
97
GtkWidget *pSubMenu = data[1];
98
_fill_menu_with_dir (cPath, pSubMenu);
99
gtk_widget_show_all (pSubMenu);
103
cairo_dock_fm_launch_uri (cPath);
106
51
CD_APPLET_ON_CLICK_BEGIN
107
52
cd_menu_show_menu ();
109
/*gchar *cDirPath = g_getenv ("HOME");
110
GtkWidget *pMenu = gtk_menu_new ();
112
_fill_menu_with_dir (cDirPath, pMenu);
114
gtk_widget_show_all (pMenu);
116
gtk_menu_popup (GTK_MENU (pMenu),
122
gtk_get_current_event_time ());*/
124
53
CD_APPLET_ON_CLICK_END
144
73
CD_APPLET_ON_BUILD_MENU_BEGIN
145
74
GtkWidget *pSubMenu = CD_APPLET_CREATE_MY_SUB_MENU ();
75
CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Quick launch (Middle-click)"), GTK_STOCK_EXECUTE, cd_menu_show_hide_quick_launch, CD_APPLET_MY_MENU);
76
CD_APPLET_ADD_SEPARATOR_IN_MENU (CD_APPLET_MY_MENU);
77
CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Configure menu"), GTK_STOCK_PREFERENCES, _cd_menu_configure_menu, CD_APPLET_MY_MENU);
79
CD_APPLET_ADD_SEPARATOR_IN_MENU (pSubMenu);
80
CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Clear recent"), GTK_STOCK_CLEAR, cd_menu_clear_recent, CD_APPLET_MY_MENU);
146
82
CD_APPLET_ADD_ABOUT_IN_MENU (pSubMenu);
147
CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Quick launch"), GTK_STOCK_EXECUTE, cd_menu_show_hide_quick_launch, pSubMenu);
148
CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Configure menu"), GTK_STOCK_PREFERENCES, _cd_menu_configure_menu, pSubMenu);
149
CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Clear recent"), GTK_STOCK_CLEAR, cd_menu_clear_recent, pSubMenu);
150
83
CD_APPLET_ON_BUILD_MENU_END