64
64
static void _on_text_received (GtkClipboard *clipboard, const gchar *text, CairoDockModuleInstance *myApplet)
66
66
g_return_if_fail (text != NULL);
67
68
cd_stack_create_and_load_item (myApplet, text);
69
71
static void _cd_stack_clear_stack (GtkMenuItem *menu_item, CairoDockModuleInstance *myApplet)
71
74
int iAnswer = cairo_dock_ask_question_and_wait (D_("Clear the stack ?"), myIcon, myContainer);
72
75
if (iAnswer == GTK_RESPONSE_YES)
73
76
cd_stack_clear_stack (myApplet);
75
79
static void _cd_stack_remove_item (GtkMenuItem *menu_item, gpointer *data)
77
81
CairoDockModuleInstance *myApplet = data[0];
78
83
Icon *pIcon = data[1];
80
85
cd_stack_remove_item (myApplet, pIcon);
82
88
static void _cd_stack_rename_item (GtkMenuItem *menu_item, gpointer *data)
84
90
CairoDockModuleInstance *myApplet = data[0];
85
92
Icon *pIcon = data[1];
87
94
CairoContainer *pContainer = (myDock ? CAIRO_CONTAINER (myIcon->pSubDock) : myContainer);
88
95
gchar *cNewName = cairo_dock_show_demand_and_wait (D_("Set new name for this item :"), pIcon, pContainer, pIcon->cName);
89
96
if (cNewName == NULL)
92
100
gchar *cDesktopFilePath = g_strdup_printf ("%s/%s", myConfig.cStackDir, pIcon->cDesktopFileName);
93
101
cd_stack_set_item_name (cDesktopFilePath, cNewName);
96
104
cairo_dock_set_icon_name (myDrawContext, cNewName, pIcon, pContainer);
97
105
g_free (cNewName);
99
108
static void _cd_stack_copy_content (GtkMenuItem *menu_item, gpointer *data)
101
110
CairoDockModuleInstance *myApplet = data[0];
102
112
Icon *pIcon = data[1];
104
114
GtkClipboard *pClipBoard = (myConfig.bSelectionClipBoard ? gtk_clipboard_get (GDK_SELECTION_PRIMARY) : gtk_clipboard_get (GDK_SELECTION_CLIPBOARD));
105
115
g_print ("stack : '%s' has been copied into the clipboard\n", pIcon->cCommand);
106
116
gtk_clipboard_set_text (pClipBoard, pIcon->cCommand, -1);
108
119
static void _cd_stack_paste_content (GtkMenuItem *menu_item, CairoDockModuleInstance *myApplet)
110
122
GtkClipboard *pClipBoard = (myConfig.bSelectionClipBoard ? gtk_clipboard_get (GDK_SELECTION_PRIMARY) : gtk_clipboard_get (GDK_SELECTION_CLIPBOARD));
111
123
gtk_clipboard_request_text (pClipBoard, (GtkClipboardTextReceivedFunc) _on_text_received, myApplet);
113
126
static void _cd_stack_cut_item (GtkMenuItem *menu_item, gpointer *data)
115
128
CairoDockModuleInstance *myApplet = data[0];
116
130
Icon *pIcon = data[1];
118
132
GtkClipboard *pClipBoard = (myConfig.bSelectionClipBoard ? gtk_clipboard_get (GDK_SELECTION_PRIMARY) : gtk_clipboard_get (GDK_SELECTION_CLIPBOARD));
119
133
gtk_clipboard_set_text (pClipBoard, pIcon->cCommand, -1);
120
134
cd_stack_remove_item (myApplet, pIcon);
122
137
static void _cd_stack_open_item (GtkMenuItem *menu_item, gpointer *data)
124
139
CairoDockModuleInstance *myApplet = data[0];
125
141
Icon *pIcon = data[1];
127
143
_launch_item (pIcon, myApplet);
129
146
static void _cd_stack_open_item_folder (GtkMenuItem *menu_item, gpointer *data)
131
148
CairoDockModuleInstance *myApplet = data[0];
132
150
Icon *pIcon = data[1];
134
152
gchar *cFolderPath = g_path_get_dirname (pIcon->cCommand);
135
153
cairo_dock_fm_launch_uri (cFolderPath);
136
154
g_free (cFolderPath);
138
157
CD_APPLET_ON_BUILD_MENU_BEGIN
139
158
static gpointer data[2] = {NULL, NULL};