comparison src/view_file_icon.c @ 659:542bb47fef04

Merge vflist_pop_menu() and vficon_pop_menu() into vf_pop_menu().
author zas_
date Tue, 13 May 2008 20:13:44 +0000
parents dc09f544d292
children 8268cbe682f1
comparison
equal deleted inserted replaced
658:dc09f544d292 659:542bb47fef04
199 ViewFile *vf = data; 199 ViewFile *vf = data;
200 200
201 file_util_rename(NULL, vf_pop_menu_file_list(vf), vf->listview); 201 file_util_rename(NULL, vf_pop_menu_file_list(vf), vf->listview);
202 } 202 }
203 203
204 static void vficon_pop_menu_show_names_cb(GtkWidget *widget, gpointer data) 204 void vficon_pop_menu_show_names_cb(GtkWidget *widget, gpointer data)
205 { 205 {
206 ViewFile *vf = data; 206 ViewFile *vf = data;
207 207
208 vficon_toggle_filenames(vf); 208 vficon_toggle_filenames(vf);
209 } 209 }
219 { 219 {
220 ViewFile *vf = data; 220 ViewFile *vf = data;
221 vficon_selection_remove(vf, VFICON_INFO(vf, click_id), SELECTION_PRELIGHT, NULL); 221 vficon_selection_remove(vf, VFICON_INFO(vf, click_id), SELECTION_PRELIGHT, NULL);
222 VFICON_INFO(vf, click_id) = NULL; 222 VFICON_INFO(vf, click_id) = NULL;
223 vf->popup = NULL; 223 vf->popup = NULL;
224 }
225
226 static GtkWidget *vficon_pop_menu(ViewFile *vf)
227 {
228 GtkWidget *menu;
229 GtkWidget *item;
230 GtkWidget *submenu;
231 gint active;
232
233 active = (VFICON_INFO(vf, click_id) != NULL);
234
235 menu = popup_menu_short_lived();
236
237 g_signal_connect(G_OBJECT(menu), "destroy",
238 G_CALLBACK(vf_popup_destroy_cb), vf);
239
240 submenu_add_edit(menu, &item, G_CALLBACK(vf_pop_menu_edit_cb), vf);
241 gtk_widget_set_sensitive(item, active);
242
243 menu_item_add_stock_sensitive(menu, _("_Properties"), GTK_STOCK_PROPERTIES, active,
244 G_CALLBACK(vf_pop_menu_info_cb), vf);
245
246 menu_item_add_stock_sensitive(menu, _("View in _new window"), GTK_STOCK_NEW, active,
247 G_CALLBACK(vficon_pop_menu_view_cb), vf);
248 menu_item_add_divider(menu);
249
250 menu_item_add_stock_sensitive(menu, _("_Copy..."), GTK_STOCK_COPY, active,
251 G_CALLBACK(vf_pop_menu_copy_cb), vf);
252 menu_item_add_sensitive(menu, _("_Move..."), active,
253 G_CALLBACK(vf_pop_menu_move_cb), vf);
254 menu_item_add_sensitive(menu, _("_Rename..."), active,
255 G_CALLBACK(vf_pop_menu_rename_cb), vf);
256 menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active,
257 G_CALLBACK(vf_pop_menu_delete_cb), vf);
258 if (options->show_copy_path)
259 menu_item_add_sensitive(menu, _("_Copy path"), active,
260 G_CALLBACK(vf_pop_menu_copy_path_cb), vf);
261 menu_item_add_divider(menu);
262
263 submenu = submenu_add_sort(NULL, G_CALLBACK(vf_pop_menu_sort_cb), vf,
264 FALSE, FALSE, TRUE, vf->sort_method);
265 menu_item_add_divider(submenu);
266 menu_item_add_check(submenu, _("Ascending"), vf->sort_ascend,
267 G_CALLBACK(vf_pop_menu_sort_ascend_cb), vf);
268
269 item = menu_item_add(menu, _("_Sort"), NULL, NULL);
270 gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
271
272 menu_item_add_check(menu, _("View as _icons"), TRUE,
273 G_CALLBACK(vf_pop_menu_toggle_view_type_cb), vf);
274 menu_item_add_check(menu, _("Show filename _text"), VFICON_INFO(vf, show_text),
275 G_CALLBACK(vficon_pop_menu_show_names_cb), vf);
276 menu_item_add_stock(menu, _("Re_fresh"), GTK_STOCK_REFRESH, G_CALLBACK(vf_pop_menu_refresh_cb), vf);
277
278 return menu;
279 } 224 }
280 225
281 /* 226 /*
282 *------------------------------------------------------------------- 227 *-------------------------------------------------------------------
283 * signals 228 * signals
1290 VFICON_INFO(vf, click_id) = id; 1235 VFICON_INFO(vf, click_id) = id;
1291 1236
1292 vficon_selection_add(vf, VFICON_INFO(vf, click_id), SELECTION_PRELIGHT, NULL); 1237 vficon_selection_add(vf, VFICON_INFO(vf, click_id), SELECTION_PRELIGHT, NULL);
1293 tip_unschedule(vf); 1238 tip_unschedule(vf);
1294 1239
1295 vf->popup = vficon_pop_menu(vf); 1240 vf->popup = vf_pop_menu(vf);
1296 gtk_menu_popup(GTK_MENU(vf->popup), NULL, NULL, vfi_menu_position_cb, vf, 0, GDK_CURRENT_TIME); 1241 gtk_menu_popup(GTK_MENU(vf->popup), NULL, NULL, vfi_menu_position_cb, vf, 0, GDK_CURRENT_TIME);
1297 break; 1242 break;
1298 default: 1243 default:
1299 stop_signal = FALSE; 1244 stop_signal = FALSE;
1300 break; 1245 break;
1394 layout_image_full_screen_start(vf->layout); 1339 layout_image_full_screen_start(vf->layout);
1395 } 1340 }
1396 #endif 1341 #endif
1397 break; 1342 break;
1398 case MOUSE_BUTTON_RIGHT: 1343 case MOUSE_BUTTON_RIGHT:
1399 vf->popup = vficon_pop_menu(vf); 1344 vf->popup = vf_pop_menu(vf);
1400 gtk_menu_popup(GTK_MENU(vf->popup), NULL, NULL, NULL, NULL, bevent->button, bevent->time); 1345 gtk_menu_popup(GTK_MENU(vf->popup), NULL, NULL, NULL, NULL, bevent->button, bevent->time);
1401 break; 1346 break;
1402 default: 1347 default:
1403 break; 1348 break;
1404 } 1349 }