GtkWidget *submenu;
gboolean active = FALSE;
gboolean class_archive = FALSE;
+ GtkAccelGroup *accel_group;
switch (vf->type)
{
case FILEVIEW_LIST:
vflist_color_set(vf, VFLIST(vf)->click_fd, TRUE);
active = (VFLIST(vf)->click_fd != NULL);
- class_archive = (VFLIST(vf)->click_fd->format_class == FORMAT_CLASS_ARCHIVE);
+ class_archive = (VFLIST(vf)->click_fd != NULL && VFLIST(vf)->click_fd->format_class == FORMAT_CLASS_ARCHIVE);
break;
case FILEVIEW_ICON:
active = (VFICON(vf)->click_fd != NULL);
- class_archive = (VFICON(vf)->click_fd->format_class == FORMAT_CLASS_ARCHIVE);
+ class_archive = (VFICON(vf)->click_fd != NULL && VFICON(vf)->click_fd->format_class == FORMAT_CLASS_ARCHIVE);
break;
}
menu = popup_menu_short_lived();
+ accel_group = gtk_accel_group_new();
+ gtk_menu_set_accel_group(GTK_MENU(menu), accel_group);
+
+ g_object_set_data(G_OBJECT(menu), "window_keys", NULL);
+ g_object_set_data(G_OBJECT(menu), "accel_group", accel_group);
+
g_signal_connect(G_OBJECT(menu), "destroy",
G_CALLBACK(vf_popup_destroy_cb), vf);
G_CALLBACK(vf_pop_menu_move_cb), vf);
menu_item_add_sensitive(menu, _("_Rename..."), active,
G_CALLBACK(vf_pop_menu_rename_cb), vf);
- menu_item_add_sensitive(menu, _("_Copy path"), active,
+ menu_item_add_sensitive(menu, _("_Copy path to clipboard"), active,
G_CALLBACK(vf_pop_menu_copy_path_cb), vf);
- menu_item_add_sensitive(menu, _("_Copy path unquoted"), active,
+ menu_item_add_sensitive(menu, _("_Copy path unquoted to clipboard"), active,
G_CALLBACK(vf_pop_menu_copy_path_unquoted_cb), vf);
menu_item_add_divider(menu);
menu_item_add_stock_sensitive(menu,
item = menu_item_add(menu, _("_Sort"), NULL, NULL);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
- item = menu_item_add_radio(menu, _("View as _List"), GINT_TO_POINTER(FILEVIEW_LIST), vf->type == FILEVIEW_LIST,
+ item = menu_item_add_radio(menu, _("Images as List"), GINT_TO_POINTER(FILEVIEW_LIST), vf->type == FILEVIEW_LIST,
G_CALLBACK(vf_pop_menu_toggle_view_type_cb), vf);
- item = menu_item_add_radio(menu, _("View as _Icons"), GINT_TO_POINTER(FILEVIEW_ICON), vf->type == FILEVIEW_ICON,
+ item = menu_item_add_radio(menu, _("Images as Icons"), GINT_TO_POINTER(FILEVIEW_ICON), vf->type == FILEVIEW_ICON,
G_CALLBACK(vf_pop_menu_toggle_view_type_cb), vf);
switch (vf->type)
vf_refresh(vf);
}
+static void file_filter_clear_cb(GtkEntry *entry, GtkEntryIconPosition pos, GdkEvent *event, gpointer userdata)
+{
+ if (pos == GTK_ENTRY_ICON_SECONDARY)
+ {
+ gtk_entry_set_text(GTK_ENTRY(userdata), "");
+ gtk_widget_grab_focus(GTK_WIDGET(userdata));
+ }
+}
+
static GtkWidget *vf_file_filter_init(ViewFile *vf)
{
GtkWidget *frame = gtk_frame_new(NULL);
GtkWidget *menubar;
GtkWidget *menuitem;
GtkWidget *case_sensitive;
+ GtkWidget *box;
+ GtkWidget *icon;
+ GtkWidget *label;
vf->file_filter.combo = gtk_combo_box_text_new_with_entry();
combo_entry = gtk_bin_get_child(GTK_BIN(vf->file_filter.combo));
gtk_widget_show(gtk_bin_get_child(GTK_BIN(vf->file_filter.combo)));
gtk_widget_show((GTK_WIDGET(vf->file_filter.combo)));
- gtk_widget_set_tooltip_text(GTK_WIDGET(vf->file_filter.combo), "Use regular expressions");
+ gtk_widget_set_tooltip_text(GTK_WIDGET(vf->file_filter.combo), _("Use regular expressions"));
+
+ gtk_entry_set_icon_from_stock(GTK_ENTRY(combo_entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
+ gtk_entry_set_icon_tooltip_text (GTK_ENTRY(combo_entry), GTK_ENTRY_ICON_SECONDARY, _("Clear"));
+ g_signal_connect(GTK_ENTRY(combo_entry), "icon-press", G_CALLBACK(file_filter_clear_cb), combo_entry);
work = history_list_get_by_key("file_filter");
while (work)
gtk_container_add(GTK_CONTAINER(frame), hbox);
gtk_widget_show(hbox);
- case_sensitive = gtk_check_button_new_with_label("Case");
+ case_sensitive = gtk_check_button_new_with_label(_("Case"));
gtk_box_pack_start(GTK_BOX(hbox), case_sensitive, FALSE, FALSE, 0);
gtk_widget_set_tooltip_text(GTK_WIDGET(case_sensitive), _("Case sensitive"));
g_signal_connect(G_OBJECT(case_sensitive), "clicked", G_CALLBACK(case_sensitive_cb), vf);
gtk_box_pack_start(GTK_BOX(hbox), menubar, FALSE, TRUE, 0);
gtk_widget_show(menubar);
- menuitem = gtk_menu_item_new_with_label(_("Class"));
- gtk_widget_set_tooltip_text(GTK_WIDGET(menuitem), _("Select Class filter"));
- gtk_menu_item_set_submenu(GTK_MENU_ITEM (menuitem), class_filter_menu(vf));
- gtk_menu_shell_append(GTK_MENU_SHELL (menubar), menuitem);
- gtk_widget_show(menuitem);
+ box = gtk_hbox_new(GTK_ORIENTATION_HORIZONTAL, PREF_PAD_GAP);
+ icon = gtk_image_new_from_icon_name("pan-down", GTK_ICON_SIZE_MENU);
+ label = gtk_label_new(_("Class"));
- gtk_widget_show(menuitem);
+ gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
+ gtk_box_pack_end(GTK_BOX(box), icon, FALSE, FALSE, 0);
+
+ menuitem = gtk_menu_item_new();
+
+ gtk_widget_set_tooltip_text(GTK_WIDGET(menuitem), _("Select Class filter"));
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), class_filter_menu(vf));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem);
+ gtk_container_add(GTK_CONTAINER(menuitem), box);
+ gtk_widget_show_all(menuitem);
return frame;
}