Mercurial > geeqie
comparison src/view_file_icon.c @ 635:eaca3e910ecd
Move a part of pop up menu common code to view_file.[ch].
author | zas_ |
---|---|
date | Sun, 11 May 2008 23:47:59 +0000 |
parents | 92208e71673b |
children | 8a1202efa51e |
comparison
equal
deleted
inserted
replaced
634:92208e71673b | 635:eaca3e910ecd |
---|---|
174 } | 174 } |
175 | 175 |
176 return g_list_append(NULL, file_data_ref(VFICON_INFO(vf, click_id)->fd)); | 176 return g_list_append(NULL, file_data_ref(VFICON_INFO(vf, click_id)->fd)); |
177 } | 177 } |
178 | 178 |
179 static void vficon_pop_menu_edit_cb(GtkWidget *widget, gpointer data) | |
180 { | |
181 ViewFile *vf; | |
182 gint n; | |
183 GList *list; | |
184 | |
185 vf = submenu_item_get_data(widget); | |
186 n = GPOINTER_TO_INT(data); | |
187 | |
188 if (!vf) return; | |
189 | |
190 list = vf_pop_menu_file_list(vf); | |
191 start_editor_from_filelist(n, list); | |
192 filelist_free(list); | |
193 } | |
194 | |
195 static void vficon_pop_menu_info_cb(GtkWidget *widget, gpointer data) | |
196 { | |
197 ViewFile *vf = data; | |
198 | |
199 info_window_new(NULL, vf_pop_menu_file_list(vf), NULL); | |
200 } | |
201 | |
202 static void vficon_pop_menu_view_cb(GtkWidget *widget, gpointer data) | 179 static void vficon_pop_menu_view_cb(GtkWidget *widget, gpointer data) |
203 { | 180 { |
204 ViewFile *vf = data; | 181 ViewFile *vf = data; |
205 | 182 |
206 if (!VFICON_INFO(vf, click_id)) return; | 183 if (!VFICON_INFO(vf, click_id)) return; |
217 { | 194 { |
218 view_window_new(VFICON_INFO(vf, click_id)->fd); | 195 view_window_new(VFICON_INFO(vf, click_id)->fd); |
219 } | 196 } |
220 } | 197 } |
221 | 198 |
222 static void vficon_pop_menu_copy_cb(GtkWidget *widget, gpointer data) | 199 static void vficon_pop_menu_rename_cb(GtkWidget *widget, gpointer data) |
223 { | 200 { |
224 ViewFile *vf = data; | 201 ViewFile *vf = data; |
225 | 202 |
226 file_util_copy(NULL, vf_pop_menu_file_list(vf), NULL, vf->listview); | |
227 } | |
228 | |
229 static void vficon_pop_menu_move_cb(GtkWidget *widget, gpointer data) | |
230 { | |
231 ViewFile *vf = data; | |
232 | |
233 file_util_move(NULL, vf_pop_menu_file_list(vf), NULL, vf->listview); | |
234 } | |
235 | |
236 static void vficon_pop_menu_rename_cb(GtkWidget *widget, gpointer data) | |
237 { | |
238 ViewFile *vf = data; | |
239 | |
240 file_util_rename(NULL, vf_pop_menu_file_list(vf), vf->listview); | 203 file_util_rename(NULL, vf_pop_menu_file_list(vf), vf->listview); |
241 } | |
242 | |
243 static void vficon_pop_menu_delete_cb(GtkWidget *widget, gpointer data) | |
244 { | |
245 ViewFile *vf = data; | |
246 | |
247 file_util_delete(NULL, vf_pop_menu_file_list(vf), vf->listview); | |
248 } | |
249 | |
250 static void vficon_pop_menu_copy_path_cb(GtkWidget *widget, gpointer data) | |
251 { | |
252 ViewFile *vf = data; | |
253 | |
254 file_util_copy_path_list_to_clipboard(vf_pop_menu_file_list(vf)); | |
255 } | |
256 | |
257 static void vficon_pop_menu_sort_cb(GtkWidget *widget, gpointer data) | |
258 { | |
259 ViewFile *vf; | |
260 SortType type; | |
261 | |
262 if (!gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) return; | |
263 | |
264 vf = submenu_item_get_data(widget); | |
265 if (!vf) return; | |
266 | |
267 type = (SortType)GPOINTER_TO_INT(data); | |
268 | |
269 if (vf->layout) | |
270 { | |
271 layout_sort_set(vf->layout, type, vf->sort_ascend); | |
272 } | |
273 else | |
274 { | |
275 vf_sort_set(vf, type, vf->sort_ascend); | |
276 } | |
277 } | |
278 | |
279 static void vficon_pop_menu_sort_ascend_cb(GtkWidget *widget, gpointer data) | |
280 { | |
281 ViewFile *vf = data; | |
282 | |
283 if (vf->layout) | |
284 { | |
285 layout_sort_set(vf->layout, vf->sort_method, !vf->sort_ascend); | |
286 } | |
287 else | |
288 { | |
289 vf_sort_set(vf, vf->sort_method, !vf->sort_ascend); | |
290 } | |
291 } | |
292 | |
293 static void vficon_pop_menu_list_cb(GtkWidget *widget, gpointer data) | |
294 { | |
295 ViewFile *vf = data; | |
296 | |
297 if (vf->layout) layout_views_set(vf->layout, vf->layout->dir_view_type, FALSE); | |
298 } | 204 } |
299 | 205 |
300 static void vficon_pop_menu_show_names_cb(GtkWidget *widget, gpointer data) | 206 static void vficon_pop_menu_show_names_cb(GtkWidget *widget, gpointer data) |
301 { | 207 { |
302 ViewFile *vf = data; | 208 ViewFile *vf = data; |
328 menu = popup_menu_short_lived(); | 234 menu = popup_menu_short_lived(); |
329 | 235 |
330 g_signal_connect(G_OBJECT(menu), "destroy", | 236 g_signal_connect(G_OBJECT(menu), "destroy", |
331 G_CALLBACK(vficon_popup_destroy_cb), vf); | 237 G_CALLBACK(vficon_popup_destroy_cb), vf); |
332 | 238 |
333 submenu_add_edit(menu, &item, G_CALLBACK(vficon_pop_menu_edit_cb), vf); | 239 submenu_add_edit(menu, &item, G_CALLBACK(vf_pop_menu_edit_cb), vf); |
334 gtk_widget_set_sensitive(item, active); | 240 gtk_widget_set_sensitive(item, active); |
335 | 241 |
336 menu_item_add_stock_sensitive(menu, _("_Properties"), GTK_STOCK_PROPERTIES, active, | 242 menu_item_add_stock_sensitive(menu, _("_Properties"), GTK_STOCK_PROPERTIES, active, |
337 G_CALLBACK(vficon_pop_menu_info_cb), vf); | 243 G_CALLBACK(vf_pop_menu_info_cb), vf); |
338 | 244 |
339 menu_item_add_stock_sensitive(menu, _("View in _new window"), GTK_STOCK_NEW, active, | 245 menu_item_add_stock_sensitive(menu, _("View in _new window"), GTK_STOCK_NEW, active, |
340 G_CALLBACK(vficon_pop_menu_view_cb), vf); | 246 G_CALLBACK(vficon_pop_menu_view_cb), vf); |
341 menu_item_add_divider(menu); | 247 menu_item_add_divider(menu); |
342 | 248 |
343 menu_item_add_stock_sensitive(menu, _("_Copy..."), GTK_STOCK_COPY, active, | 249 menu_item_add_stock_sensitive(menu, _("_Copy..."), GTK_STOCK_COPY, active, |
344 G_CALLBACK(vficon_pop_menu_copy_cb), vf); | 250 G_CALLBACK(vf_pop_menu_copy_cb), vf); |
345 menu_item_add_sensitive(menu, _("_Move..."), active, | 251 menu_item_add_sensitive(menu, _("_Move..."), active, |
346 G_CALLBACK(vficon_pop_menu_move_cb), vf); | 252 G_CALLBACK(vf_pop_menu_move_cb), vf); |
347 menu_item_add_sensitive(menu, _("_Rename..."), active, | 253 menu_item_add_sensitive(menu, _("_Rename..."), active, |
348 G_CALLBACK(vficon_pop_menu_rename_cb), vf); | 254 G_CALLBACK(vficon_pop_menu_rename_cb), vf); |
349 menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active, | 255 menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active, |
350 G_CALLBACK(vficon_pop_menu_delete_cb), vf); | 256 G_CALLBACK(vf_pop_menu_delete_cb), vf); |
351 if (options->show_copy_path) | 257 if (options->show_copy_path) |
352 menu_item_add_sensitive(menu, _("_Copy path"), active, | 258 menu_item_add_sensitive(menu, _("_Copy path"), active, |
353 G_CALLBACK(vficon_pop_menu_copy_path_cb), vf); | 259 G_CALLBACK(vf_pop_menu_copy_path_cb), vf); |
354 menu_item_add_divider(menu); | 260 menu_item_add_divider(menu); |
355 | 261 |
356 submenu = submenu_add_sort(NULL, G_CALLBACK(vficon_pop_menu_sort_cb), vf, | 262 submenu = submenu_add_sort(NULL, G_CALLBACK(vf_pop_menu_sort_cb), vf, |
357 FALSE, FALSE, TRUE, vf->sort_method); | 263 FALSE, FALSE, TRUE, vf->sort_method); |
358 menu_item_add_divider(submenu); | 264 menu_item_add_divider(submenu); |
359 menu_item_add_check(submenu, _("Ascending"), vf->sort_ascend, | 265 menu_item_add_check(submenu, _("Ascending"), vf->sort_ascend, |
360 G_CALLBACK(vficon_pop_menu_sort_ascend_cb), vf); | 266 G_CALLBACK(vf_pop_menu_sort_ascend_cb), vf); |
361 | 267 |
362 item = menu_item_add(menu, _("_Sort"), NULL, NULL); | 268 item = menu_item_add(menu, _("_Sort"), NULL, NULL); |
363 gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu); | 269 gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu); |
364 | 270 |
365 menu_item_add_check(menu, _("View as _icons"), TRUE, | 271 menu_item_add_check(menu, _("View as _icons"), TRUE, |
366 G_CALLBACK(vficon_pop_menu_list_cb), vf); | 272 G_CALLBACK(vf_pop_menu_toggle_view_type_cb), vf); |
367 menu_item_add_check(menu, _("Show filename _text"), VFICON_INFO(vf, show_text), | 273 menu_item_add_check(menu, _("Show filename _text"), VFICON_INFO(vf, show_text), |
368 G_CALLBACK(vficon_pop_menu_show_names_cb), vf); | 274 G_CALLBACK(vficon_pop_menu_show_names_cb), vf); |
369 menu_item_add_stock(menu, _("Re_fresh"), GTK_STOCK_REFRESH, G_CALLBACK(vficon_pop_menu_refresh_cb), vf); | 275 menu_item_add_stock(menu, _("Re_fresh"), GTK_STOCK_REFRESH, G_CALLBACK(vficon_pop_menu_refresh_cb), vf); |
370 | 276 |
371 return menu; | 277 return menu; |