1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>

Fix bug #261: inconsistent labels in view menu and toolbar,
	unsynchronized items.

	* glayout.c (panel_view_menu_uiinfo panel_view_toolbar_uiinfo):
	Made the view names consistent with the toolbar names.  Also,
	added underscore accelerators to the menu items.
	(copy_uiinfo_widgets): New function to copy the widgets from an
	uiinfo array into a widget array.
	(create_container): Copy the uiinfo widgets to the panel
	structure.

	* gcmd.c (set_view_type): New function to set the list view type
	and synchronize the menu and toolbar items.
	(gnome_close_panel): Free the view menu/toolbar item arrays.
This commit is contained in:
Miguel de Icaza 1999-03-11 22:17:36 +00:00
parent f96fdd9bbc
commit 3fd381cc32
8 changed files with 385 additions and 331 deletions

View File

@ -1,3 +1,20 @@
1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
Fix bug #261: inconsistent labels in view menu and toolbar,
unsynchronized items.
* glayout.c (panel_view_menu_uiinfo panel_view_toolbar_uiinfo):
Made the view names consistent with the toolbar names. Also,
added underscore accelerators to the menu items.
(copy_uiinfo_widgets): New function to copy the widgets from an
uiinfo array into a widget array.
(create_container): Copy the uiinfo widgets to the panel
structure.
* gcmd.c (set_view_type): New function to set the list view type
and synchronize the menu and toolbar items.
(gnome_close_panel): Free the view menu/toolbar item arrays.
1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gpopup2.c (perform_mount_unmount): Set the icon's cursor while it is

View File

@ -160,49 +160,91 @@ gnome_close_panel (GtkWidget *widget, WPanel *panel)
layout_panel_gone (panel);
g_free (panel->view_menu_items);
g_free (panel->view_toolbar_items);
mc_chdir ("/");
}
static void
set_view_type (GtkWidget *widget, WPanel *panel, enum list_types type)
{
int i;
/* This is kind of a hack to see whether we need to do something or not.
* This function (or at least the callback that calls it) can refer to a
* radio menu item or a radio button, so we need to see if it is active.
*/
if (GTK_OBJECT_TYPE (widget) == gtk_radio_menu_item_get_type ()) {
if (!GTK_CHECK_MENU_ITEM (widget)->active)
return;
} else if (GTK_OBJECT_TYPE (widget) == gtk_radio_button_get_type ()) {
if (!GTK_TOGGLE_BUTTON (widget)->active)
return;
} else
g_assert_not_reached ();
/* Worth the effort? */
if (panel->list_type == type)
return;
/* Set the list type */
panel->list_type = type;
set_panel_formats (panel);
paint_panel (panel);
do_refresh ();
/* Synchronize the widgets */
for (i = 0; ; i++)
if (widget == panel->view_menu_items[i]) {
gtk_signal_handler_block_by_data (
GTK_OBJECT (panel->view_toolbar_items[i]), panel);
gtk_toggle_button_set_active (
GTK_TOGGLE_BUTTON (panel->view_toolbar_items[i]), TRUE);
gtk_signal_handler_unblock_by_data (
GTK_OBJECT (panel->view_toolbar_items[i]), panel);
return;
} else if (widget == panel->view_toolbar_items[i]) {
gtk_signal_handler_block_by_data (
GTK_OBJECT (panel->view_menu_items[i]), panel);
gtk_check_menu_item_set_active (
GTK_CHECK_MENU_ITEM (panel->view_menu_items[i]), TRUE);
gtk_signal_handler_unblock_by_data (
GTK_OBJECT (panel->view_menu_items[i]), panel);
return;
}
g_assert_not_reached ();
}
void
gnome_icon_view_cmd (GtkWidget *widget, WPanel *panel)
{
if (panel->list_type == list_icons)
return;
panel->list_type = list_icons;
set_panel_formats (panel);
paint_panel (panel);
do_refresh ();
set_view_type (widget, panel, list_icons);
}
void
gnome_partial_view_cmd (GtkWidget *widget, WPanel *panel)
gnome_brief_view_cmd (GtkWidget *widget, WPanel *panel)
{
if (panel->list_type == list_brief)
return;
panel->list_type = list_brief;
set_panel_formats (panel);
paint_panel (panel);
do_refresh ();
set_view_type (widget, panel, list_brief);
}
void
gnome_full_view_cmd (GtkWidget *widget, WPanel *panel)
gnome_detailed_view_cmd (GtkWidget *widget, WPanel *panel)
{
if (panel->list_type == list_full)
return;
panel->list_type = list_full;
set_panel_formats (panel);
paint_panel (panel);
do_refresh ();
set_view_type (widget, panel, list_full);
}
void
gnome_custom_view_cmd (GtkWidget *widget, WPanel *panel)
{
if (panel->list_type == list_user)
return;
panel->list_type = list_user;
set_panel_formats (panel);
paint_panel (panel);
do_refresh ();
set_view_type (widget, panel, list_user);
}
static void
sort_callback (GtkWidget *menu_item, GtkWidget *cbox1)
{
@ -211,6 +253,7 @@ sort_callback (GtkWidget *menu_item, GtkWidget *cbox1)
else
gtk_widget_set_sensitive (cbox1, FALSE);
}
void
gnome_sort_cmd (GtkWidget *widget, WPanel *panel)
{
@ -324,6 +367,7 @@ gnome_sort_cmd (GtkWidget *widget, WPanel *panel)
}
gtk_widget_destroy (sort_box);
}
typedef struct ep_dlg_data {
GtkWidget *ep_dlg;
GtkWidget *clist;
@ -365,6 +409,7 @@ get_nickname (gchar *text)
gtk_widget_destroy (dlg);
return retval;
}
static void
ep_add_callback (GtkWidget *widget, ep_dlg_data *data)
{
@ -382,6 +427,7 @@ ep_add_callback (GtkWidget *widget, ep_dlg_data *data)
gtk_widget_set_sensitive (data->add_button, FALSE);
gtk_entry_set_text (GTK_ENTRY (data->entry), "");
}
static void
ep_remove_callback (GtkWidget *widget, ep_dlg_data *data)
{
@ -419,6 +465,7 @@ ep_select_callback (GtkWidget *widget,
gtk_widget_set_sensitive (data->add_button, FALSE);
}
}
static void
ep_text_changed_callback (GtkWidget *widget, ep_dlg_data *data)
{
@ -432,6 +479,7 @@ ep_text_changed_callback (GtkWidget *widget, ep_dlg_data *data)
gtk_widget_set_sensitive (data->remove_button, FALSE);
gtk_widget_set_sensitive (data->add_button, TRUE);
}
static void
load_settings (GtkCList *clist)
{
@ -458,6 +506,7 @@ load_settings (GtkCList *clist)
}
}
}
static void
save_settings (GtkCList *clist)
{
@ -474,6 +523,7 @@ save_settings (GtkCList *clist)
}
sync_profiles ();
}
void
gnome_external_panelize (GtkWidget *widget, WPanel *panel)
{
@ -553,6 +603,7 @@ gnome_external_panelize (GtkWidget *widget, WPanel *panel)
gtk_widget_destroy (GTK_WIDGET (data->ep_dlg));
g_free (data);
}
void
gnome_select_all_cmd (GtkWidget *widget, WPanel *panel)
{
@ -566,6 +617,7 @@ gnome_select_all_cmd (GtkWidget *widget, WPanel *panel)
paint_panel (panel);
do_refresh ();
}
void
gnome_reverse_selection_cmd_panel (WPanel *panel)
{

View File

@ -9,10 +9,12 @@ void gnome_about_cmd (void);
void gnome_quit_cmd (void);
void gnome_open_panel (GtkWidget *widget, WPanel *panel);
void gnome_close_panel (GtkWidget *widget, WPanel *panel);
void gnome_icon_view_cmd (GtkWidget *widget, WPanel *panel);
void gnome_partial_view_cmd (GtkWidget *widget, WPanel *panel);
void gnome_full_view_cmd (GtkWidget *widget, WPanel *panel);
void gnome_brief_view_cmd (GtkWidget *widget, WPanel *panel);
void gnome_detailed_view_cmd (GtkWidget *widget, WPanel *panel);
void gnome_custom_view_cmd (GtkWidget *widget, WPanel *panel);
void gnome_sort_cmd (GtkWidget *widget, WPanel *panel);
void gnome_select_all_cmd (GtkWidget *widget, WPanel *panel);
void gnome_filter_cmd (GtkWidget *widget, WPanel *panel);

View File

@ -26,11 +26,48 @@
#include "setup.h"
#include "../vfs/vfs.h"
#include "gprefs.h"
#include "listing-iconic.xpm"
#include "listing-brief-list.xpm"
#include "listing-list.xpm"
#include "listing-custom.xpm"
#define UNDEFINED_INDEX -1
/* Keep these two arrays in sync! */
GnomeUIInfo panel_view_menu_uiinfo[] = {
GNOMEUIINFO_RADIOITEM (N_("_Icon View"),
N_("Switch view to an icon display"),
gnome_icon_view_cmd, NULL),
GNOMEUIINFO_RADIOITEM (N_("_Brief View"),
N_("Switch view to show just file name and type"),
gnome_brief_view_cmd, NULL),
GNOMEUIINFO_RADIOITEM (N_("_Detailed View"),
N_("Switch view to show detailed file statistics"),
gnome_detailed_view_cmd, NULL),
GNOMEUIINFO_RADIOITEM (N_("_Custom View"),
N_("Switch view to show user-defined statistics"),
gnome_custom_view_cmd, NULL),
GNOMEUIINFO_END
};
GnomeUIInfo panel_view_toolbar_uiinfo[] = {
GNOMEUIINFO_RADIOITEM (N_("Icons"),
N_("Switch view to an icon display"),
gnome_icon_view_cmd, listing_iconic_xpm),
GNOMEUIINFO_RADIOITEM (N_("Brief"),
N_("Switch view to show just file name and type"),
gnome_brief_view_cmd, listing_brief_list_xpm),
GNOMEUIINFO_RADIOITEM (N_("Detailed"),
N_("Switch view to show detailed file statistics"),
gnome_detailed_view_cmd, listing_list_xpm),
GNOMEUIINFO_RADIOITEM (N_("Custom"),
N_("Switch view to show user-defined statistics"),
gnome_custom_view_cmd, listing_custom_xpm),
GNOMEUIINFO_END
};
GList *containers = 0;
int output_lines = 0;
@ -317,7 +354,7 @@ GtkCheckMenuItem *gnome_toggle_snap (void);
static GnomeUIInfo gnome_panel_new_menu [] = {
GNOMEUIINFO_ITEM_NONE(N_("_Terminal"), N_("Launch a new terminal in the current directory"), gnome_open_terminal),
/* If this ever changes, make sure you update create_new_menu accordingly. */
GNOMEUIINFO_ITEM_NONE( N_("_Directory..."), N_("Creates a new directory"), gnome_mkdir_cmd ),
GNOMEUIINFO_ITEM_NONE(N_("_Directory..."), N_("Creates a new directory"), gnome_mkdir_cmd),
GNOMEUIINFO_END
};
@ -336,8 +373,8 @@ GnomeUIInfo gnome_panel_file_menu [] = {
/* etc... */
GNOMEUIINFO_MENU_NEW_SUBTREE(gnome_panel_new_menu),
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_MENU_OPEN_ITEM( gnome_open_files, NULL),
/* GNOMEUIINFO_ITEM_NONE( N_("Open _FTP site"), N_("Opens an FTP site"), ftplink_cmd },*/
GNOMEUIINFO_MENU_OPEN_ITEM(gnome_open_files, NULL),
/* GNOMEUIINFO_ITEM_NONE(N_("Open _FTP site"), N_("Opens an FTP site"), ftplink_cmd },*/
GNOMEUIINFO_ITEM_STOCK(N_("_Copy..."), N_("Copy files"), copy_cmd, GNOME_STOCK_PIXMAP_COPY),
GNOMEUIINFO_ITEM_STOCK(N_("_Delete..."), N_("Delete files"), delete_cmd, GNOME_STOCK_PIXMAP_REMOVE),
GNOMEUIINFO_ITEM_NONE(N_("_Move..."), N_("Rename or move files"), ren_cmd),
@ -351,28 +388,20 @@ GnomeUIInfo gnome_panel_file_menu [] = {
GnomeUIInfo gnome_panel_edit_menu [] = {
{ GNOME_APP_UI_ITEM, N_("Select _All"), N_("Select all files in the current Panel"), gnome_select_all_cmd,
NULL, NULL, 0, NULL, 'a', GDK_CONTROL_MASK },
GNOMEUIINFO_ITEM_NONE( N_("_Select Files..."), N_("Select a group of files"), select_cmd ),
GNOMEUIINFO_ITEM_NONE( N_("_Invert Selection"), N_("Reverses the list of tagged files"), reverse_selection_cmd ),
GNOMEUIINFO_ITEM_NONE(N_("_Select Files..."), N_("Select a group of files"), select_cmd),
GNOMEUIINFO_ITEM_NONE(N_("_Invert Selection"), N_("Reverses the list of tagged files"), reverse_selection_cmd),
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_ITEM_NONE( N_("_Rescan Directory"), N_("Rescan the directory contents"), reread_cmd ),
GNOMEUIINFO_ITEM_NONE(N_("_Rescan Directory"), N_("Rescan the directory contents"), reread_cmd),
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_MENU_PREFERENCES_ITEM(gnome_configure_box, NULL),
GNOMEUIINFO_END
};
GnomeUIInfo gnome_panel_view_menu [] = {
GNOMEUIINFO_RADIOITEM(N_("Icon View"), NULL, gnome_icon_view_cmd,NULL),
GNOMEUIINFO_RADIOITEM(N_("Partial View"), NULL, gnome_partial_view_cmd,NULL),
GNOMEUIINFO_RADIOITEM(N_("Full View"), NULL, gnome_full_view_cmd,NULL),
GNOMEUIINFO_RADIOITEM(N_("Custom View"), NULL, gnome_custom_view_cmd,NULL),
GNOMEUIINFO_END
};
GnomeUIInfo gnome_panel_layout_menu [] = {
GNOMEUIINFO_ITEM_NONE( N_("_Sort By..."), N_("Confirmation settings"), gnome_sort_cmd ),
GNOMEUIINFO_ITEM_NONE( N_("_Filter View..."), N_("Global option settings"), gnome_filter_cmd ),
GNOMEUIINFO_ITEM_NONE(N_("_Sort By..."), N_("Confirmation settings"), gnome_sort_cmd),
GNOMEUIINFO_ITEM_NONE(N_("_Filter View..."), N_("Global option settings"), gnome_filter_cmd),
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_RADIOLIST( gnome_panel_view_menu),
GNOMEUIINFO_RADIOLIST(panel_view_menu_uiinfo),
GNOMEUIINFO_END
};
@ -389,10 +418,10 @@ GnomeUIInfo gnome_panel_commands_menu [] = {
#endif
#ifdef USE_EXT2FSLIB
/*does this do anything?*/
/* GNOMEUIINFO_ITEM_NONE(N_("_Undelete files (ext2fs only)..."), N_("Recover deleted files"), undelete_cmd ),*/
/* GNOMEUIINFO_ITEM_NONE(N_("_Undelete files (ext2fs only)..."), N_("Recover deleted files"), undelete_cmd),*/
#endif
#ifdef WITH_BACKGROUND
GNOMEUIINFO_ITEM_NONE( N_("_Background jobs..."), N_("List of background operations"), jobs_cmd ),
GNOMEUIINFO_ITEM_NONE(N_("_Background jobs..."), N_("List of background operations"), jobs_cmd),
#endif
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_ITEM_STOCK (N_("Exit"), N_("Terminates the file manager and the desktop"),
@ -403,7 +432,7 @@ GnomeUIInfo gnome_panel_commands_menu [] = {
GnomeUIInfo gnome_panel_about_menu [] = {
/* GNOMEUIINFO_HELP ("midnight-commander"), */
GNOMEUIINFO_MENU_ABOUT_ITEM( gnome_about_cmd,NULL),
GNOMEUIINFO_MENU_ABOUT_ITEM(gnome_about_cmd, NULL),
GNOMEUIINFO_END
};
@ -632,6 +661,37 @@ my_app_create_menus (GnomeApp *app, GnomeUIInfo *uiinfo, void *data)
gnome_app_create_menus_custom (app, uiinfo, &uibdata);
}
/**
* copy_uiinfo_widgets:
* @uiinfo: A GnomeUIInfo array
* @dest: The destination array will be placed here
*
* Allocates an array of widgets and copies the widgets from the uiinfo array to
* it. The array will be NULL-terminated.
**/
void
copy_uiinfo_widgets (GnomeUIInfo *uiinfo, gpointer **dest)
{
int n;
int i;
g_return_if_fail (uiinfo != NULL);
g_return_if_fail (dest != NULL);
/* Count number of items */
for (n = 0; uiinfo[n].type != GNOME_APP_UI_ENDOFINFO; n++);
/* Copy the widgets */
*dest = g_new (gpointer, n + 1);
for (i = 0; i < n; i++)
(*dest)[i] = uiinfo[i].widget;
(*dest)[i] = NULL;
}
WPanel *
create_container (Dlg_head *h, char *name, char *geometry)
{
@ -667,8 +727,8 @@ create_container (Dlg_head *h, char *name, char *geometry)
else
uiinfo = gnome_panel_menu_with_desktop;
my_app_create_menus (GNOME_APP (app), uiinfo, panel);
copy_uiinfo_widgets (panel_view_menu_uiinfo, &panel->view_menu_items);
create_new_menu (GNOME_APP (app), panel);

View File

@ -44,10 +44,6 @@ int tree_panel_visible = -1;
#include "dir-close.xpm"
#include "link.xpm"
#include "dev.xpm"
#include "listing-list.xpm"
#include "listing-iconic.xpm"
#include "listing-custom.xpm"
#include "listing-brief-list.xpm"
/* This is used to initialize our pixmaps */
@ -2325,54 +2321,6 @@ panel_up (GtkWidget *button, WPanel *panel)
do_panel_cd (panel, "..", cd_exact);
}
static void
do_switch_to_iconic (GtkWidget *widget, WPanel *panel)
{
if (GTK_TOGGLE_BUTTON (widget)->active == FALSE)
return;
if (panel->list_type == list_icons)
return;
panel->list_type = list_icons;
set_panel_formats (panel);
panel_update_contents (panel);
}
static void
do_switch_to_brief_listing (GtkWidget *widget, WPanel *panel)
{
if (GTK_TOGGLE_BUTTON (widget)->active == FALSE)
return;
if (panel->list_type == list_brief)
return;
panel->list_type = list_brief;
set_panel_formats (panel);
panel_update_contents (panel);
}
static void
do_switch_to_full_listing (GtkWidget *widget, WPanel *panel)
{
if (GTK_TOGGLE_BUTTON (widget)->active == FALSE)
return;
if (panel->list_type == list_full)
return;
panel->list_type = list_full;
set_panel_formats (panel);
panel_update_contents (panel);
}
static void
do_switch_to_custom_listing (GtkWidget *widget, WPanel *panel)
{
if (GTK_TOGGLE_BUTTON (widget)->active == FALSE)
return;
if (panel->list_type == list_user)
return;
panel->list_type = list_user;
set_panel_formats (panel);
panel_update_contents (panel);
}
static void
rescan_panel (GtkWidget *widget, gpointer data)
{
@ -2385,20 +2333,6 @@ go_home (GtkWidget *widget, WPanel *panel)
do_panel_cd (panel, "~", cd_exact);
}
/* View mode radio buttons for toolbar */
static GnomeUIInfo viewbar[] = {
{ GNOME_APP_UI_ITEM, N_("Icon"), N_("Switch view to an Icon view"), do_switch_to_iconic, NULL, NULL, \
GNOME_APP_PIXMAP_DATA, listing_iconic_xpm, 0, (GdkModifierType) 0, NULL },
{ GNOME_APP_UI_ITEM, N_("Brief"), N_("Switch view to show just file name and type"), do_switch_to_brief_listing, NULL, NULL, \
GNOME_APP_PIXMAP_DATA, listing_brief_list_xpm, 0, (GdkModifierType) 0, NULL },
{ GNOME_APP_UI_ITEM, N_("Detailed"), N_("Switch view to show detailed file statistics"), do_switch_to_full_listing, NULL, NULL, \
GNOME_APP_PIXMAP_DATA, listing_list_xpm, 0, (GdkModifierType) 0, NULL },
{ GNOME_APP_UI_ITEM, N_("Custom"), N_("Switch view to show custom determined statistics."), do_switch_to_custom_listing, NULL, NULL, \
GNOME_APP_PIXMAP_DATA, listing_custom_xpm, 0, (GdkModifierType) 0, NULL },
GNOMEUIINFO_END
};
/* The toolbar */
static GnomeUIInfo toolbar[] = {
@ -2415,9 +2349,10 @@ static GnomeUIInfo toolbar[] = {
GNOMEUIINFO_ITEM_STOCK (N_("Home"), N_("Go to your home directory"),
go_home, GNOME_STOCK_PIXMAP_HOME),
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_RADIOLIST(viewbar),
GNOMEUIINFO_RADIOLIST(panel_view_toolbar_uiinfo),
GNOMEUIINFO_END
};
static void
do_ui_signal_connect (GnomeUIInfo *uiinfo, gchar *signal_name,
GnomeUIBuilderData *uibdata)
@ -2428,8 +2363,6 @@ do_ui_signal_connect (GnomeUIInfo *uiinfo, gchar *signal_name,
uibdata->data : uiinfo->user_data);
}
static void
tree_size_allocate (GtkWidget *widget, GtkAllocation *allocation, WPanel *panel)
{
@ -2470,7 +2403,7 @@ x_create_panel (Dlg_head *h, widget_data parent, WPanel *panel)
panel->notebook = gtk_notebook_new ();
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (panel->notebook), FALSE);
gtk_widget_show (panel->notebook);
panel->icons = panel_create_icon_display (panel);
gtk_widget_show (panel->icons);
@ -2490,7 +2423,7 @@ x_create_panel (Dlg_head *h, widget_data parent, WPanel *panel)
gtk_widget_show (panel->icons);
gtk_widget_show (panel->list);
gtk_widget_show (panel->notebook);
/*
* Pane
*/
@ -2498,7 +2431,7 @@ x_create_panel (Dlg_head *h, widget_data parent, WPanel *panel)
gtk_paned_add1 (GTK_PANED (panel->pane), panel->tree_scrolled_window);
gtk_signal_connect (GTK_OBJECT (panel->tree_scrolled_window), "size_allocate",
GTK_SIGNAL_FUNC (tree_size_allocate), panel);
/*
* Filter
*/
@ -2511,7 +2444,7 @@ x_create_panel (Dlg_head *h, widget_data parent, WPanel *panel)
/* We do not want the focus by default (and the previos add_widget just gave it to us) */
h->current = h->current->prev;
/*
* We go through a lot of pain, wrestling with gnome_app* and gmc's @#$&*#$ internal structure and
* make the #@$*&@#$ toolbars here...
@ -2531,17 +2464,30 @@ x_create_panel (Dlg_head *h, widget_data parent, WPanel *panel)
GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
GNOME_DOCK_TOP,
2, 0, 0);
copy_uiinfo_widgets (panel_view_toolbar_uiinfo, &panel->view_toolbar_items);
panel->back_b = toolbar[0].widget;
panel->up_b = toolbar[1].widget;
panel->fwd_b = toolbar[2].widget;
panel_update_marks (panel);
/* Set the list type by poking a toolbar item. Yes, this is hackish.
* We fall back to icon view if a certain listing type is not supported.
* Be sure to keep this in sync with the uiinfo arrays in glayout.c.
*/
if (panel->list_type == list_brief)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (viewbar[1].widget), TRUE);
gtk_toggle_button_set_active (
GTK_TOGGLE_BUTTON (panel_view_toolbar_uiinfo[1].widget), TRUE);
else if (panel->list_type == list_full)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (viewbar[2].widget), TRUE);
gtk_toggle_button_set_active (
GTK_TOGGLE_BUTTON (panel_view_toolbar_uiinfo[2].widget), TRUE);
else if (panel->list_type == list_user)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (viewbar[3].widget), TRUE);
gtk_toggle_button_set_active (
GTK_TOGGLE_BUTTON (panel_view_toolbar_uiinfo[3].widget), TRUE);
else
gtk_toggle_button_set_active (
GTK_TOGGLE_BUTTON (panel_view_toolbar_uiinfo[0].widget), TRUE);
status_line = gtk_hbox_new (FALSE, 2);
gtk_container_set_border_width (GTK_CONTAINER (status_line), 3);
@ -2549,65 +2495,32 @@ x_create_panel (Dlg_head *h, widget_data parent, WPanel *panel)
gtk_label_new (_("Location:")), FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (status_line),
cwd, TRUE, TRUE, 0);
dock = gnome_dock_item_new ("gmc-toolbar1",
(GNOME_DOCK_ITEM_BEH_EXCLUSIVE
| GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL));
gtk_container_add (GTK_CONTAINER(dock), status_line);
gnome_dock_add_item (GNOME_DOCK(GNOME_APP (panel->xwindow)->dock),
GNOME_DOCK_ITEM (dock), GNOME_DOCK_TOP, 1, 0, 0, FALSE);
gtk_widget_show_all (dock);
#if 0
status_line = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
gtk_toolbar_append_widget (GTK_TOOLBAR (status_line),
panel->back_b,
"Go to the previous directory", NULL);
gtk_toolbar_append_widget (GTK_TOOLBAR (status_line),
panel->up_b,
"Go up a level in the directory heirarchy", NULL);
gtk_toolbar_append_widget (GTK_TOOLBAR (status_line),
panel->fwd_b,
"Go to the next directory", NULL);
gtk_toolbar_append_space (GTK_TOOLBAR (status_line));
gtk_toolbar_append_widget (GTK_TOOLBAR (status_line),
button_switch_to_icon (panel),
"Icon view", NULL);
gtk_toolbar_append_widget (GTK_TOOLBAR (status_line),
button_switch_to_brief_listing (panel),
"Brief view", NULL);
gtk_toolbar_append_widget (GTK_TOOLBAR (status_line),
button_switch_to_full_listing (panel),
"Detailed view", NULL);
gtk_toolbar_append_widget (GTK_TOOLBAR (status_line),
button_switch_to_custom_listing (panel),
"Custom view", NULL);
gnome_app_add_toolbar (GNOME_APP (panel->xwindow),
GTK_TOOLBAR (status_line),
"gmc-toolbar2",
GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
GNOME_DOCK_TOP,
2, 0, 0);
gtk_widget_show_all (status_line);
#endif
panel->view_table = gtk_table_new (1, 1, 0);
gtk_widget_show (panel->view_table);
/*
* The status bar.
*/
ministatus_box = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME(ministatus_box), GTK_SHADOW_IN);
panel->status = gtk_label_new (_("Show all files"));
gtk_misc_set_alignment (GTK_MISC (panel->status), 0.0, 0.0);
gtk_misc_set_padding (GTK_MISC (panel->status), 2, 0);
gtk_box_pack_start (GTK_BOX (panel->ministatus), ministatus_box, FALSE, FALSE, 0);
gtk_container_add (GTK_CONTAINER(ministatus_box), panel->status);
gtk_widget_show (ministatus_box);
gtk_widget_show (panel->status);
@ -2628,10 +2541,6 @@ x_create_panel (Dlg_head *h, widget_data parent, WPanel *panel)
gtk_paned_add2 (GTK_PANED (panel->pane), panel->view_table);
#if 0
gtk_table_attach (GTK_TABLE (panel->table), status_line, 0, 1, 0, 1,
GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0);
#endif
/*
* ministatus_box is a container created just to put the
* panel->ministatus inside.

View File

@ -2,8 +2,14 @@
#define __GSCREEN_H
/* GnomeUIInfo information for view types */
extern GnomeUIInfo panel_view_menu_uiinfo[];
extern GnomeUIInfo panel_view_toolbar_uiinfo[];
WPanel *create_container (Dlg_head *h, char *str, char *geometry);
void copy_uiinfo_widgets (GnomeUIInfo *uiinfo, gpointer **dest);
typedef struct {
int splitted;

328
po/mc.pot
View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 1999-03-11 14:23-0500\n"
"POT-Creation-Date: 1999-03-11 17:13-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -69,99 +69,99 @@ msgstr ""
msgid "&No"
msgstr ""
#: gnome/gcmd.c:225
#: gnome/gcmd.c:268
msgid "Sort By"
msgstr ""
#. we define this up here so we can pass it in to our callback
#: gnome/gcmd.c:230
#: gnome/gcmd.c:273
msgid "Ignore case sensitivity."
msgstr ""
#: gnome/gcmd.c:238 src/chmod.c:150 src/screen.c:425
#: gnome/gcmd.c:281 src/chmod.c:150 src/screen.c:425
msgid "Name"
msgstr ""
#: gnome/gcmd.c:245
#: gnome/gcmd.c:288
msgid "File Type"
msgstr ""
#: gnome/gcmd.c:251 src/screen.c:426 src/screen.c:427
#: gnome/gcmd.c:294 src/screen.c:426 src/screen.c:427
msgid "Size"
msgstr ""
#: gnome/gcmd.c:257
#: gnome/gcmd.c:300
msgid "Time Last Accessed"
msgstr ""
#: gnome/gcmd.c:263
#: gnome/gcmd.c:306
msgid "Time Last Modified"
msgstr ""
#: gnome/gcmd.c:269
#: gnome/gcmd.c:312
msgid "Time Last Changed"
msgstr ""
#: gnome/gcmd.c:283
#: gnome/gcmd.c:326
msgid "Reverse the order."
msgstr ""
#: gnome/gcmd.c:345
#: gnome/gcmd.c:389
msgid "Enter name."
msgstr ""
#: gnome/gcmd.c:351
#: gnome/gcmd.c:395
msgid "Enter label for command:"
msgstr ""
#: gnome/gcmd.c:446
#: gnome/gcmd.c:494
msgid "Find all core files"
msgstr ""
#: gnome/gcmd.c:449 src/panelize.c:350
#: gnome/gcmd.c:497 src/panelize.c:350
msgid "Find rejects after patching"
msgstr ""
#: gnome/gcmd.c:491
#: gnome/gcmd.c:541
msgid "Run Command"
msgstr ""
#. Frame 1
#: gnome/gcmd.c:496
#: gnome/gcmd.c:546
msgid "Preset Commands"
msgstr ""
#: gnome/gcmd.c:513
#: gnome/gcmd.c:563
msgid "Add"
msgstr ""
#: gnome/gcmd.c:517
#: gnome/gcmd.c:567
msgid "Remove"
msgstr ""
#. Frame 2
#: gnome/gcmd.c:525
#: gnome/gcmd.c:575
msgid "Run this Command"
msgstr ""
#: gnome/gcmd.c:532
#: gnome/gcmd.c:582
msgid "Command: "
msgstr ""
#: gnome/gcmd.c:593
#: gnome/gcmd.c:645
msgid "Set Filter"
msgstr ""
#: gnome/gcmd.c:598 gnome/gcmd.c:639 gnome/gcmd.c:644 gnome/gcmd.c:648
#: gnome/gscreen.c:2604
#: gnome/gcmd.c:650 gnome/gcmd.c:691 gnome/gcmd.c:696 gnome/gcmd.c:700
#: gnome/gscreen.c:2517
msgid "Show all files"
msgstr ""
#: gnome/gcmd.c:605
#: gnome/gcmd.c:657
msgid "."
msgstr ""
#: gnome/gcmd.c:621
#: gnome/gcmd.c:673
msgid ""
"Enter a filter here for files in the panel view.\n"
"\n"
@ -169,19 +169,19 @@ msgid ""
"*.gif will show just gif images"
msgstr ""
#: gnome/gcmd.c:623
#: gnome/gcmd.c:675
msgid "Enter a Regular Expression to filter files in the panel view."
msgstr ""
#: gnome/gcmd.c:680 gnome/gpopup.c:53
#: gnome/gcmd.c:732 gnome/gpopup.c:53
msgid " Open with..."
msgstr ""
#: gnome/gcmd.c:681 gnome/gpopup.c:54
#: gnome/gcmd.c:733 gnome/gpopup.c:54
msgid "Enter extra arguments:"
msgstr ""
#: gnome/gdesktop.c:420 gnome/gdesktop.c:2051
#: gnome/gdesktop.c:420 gnome/gdesktop.c:2067
msgid "Warning"
msgstr ""
@ -198,50 +198,50 @@ msgstr ""
msgid "While running the eject command"
msgstr ""
#: gnome/gdesktop.c:1135 gnome/gicon.c:154 gnome/gtools.c:52
#: gnome/gdesktop.c:1131 gnome/gicon.c:154 gnome/gtools.c:52
msgid "Error"
msgstr ""
#. Create the link to the user's home directory so that he will have an icon
#: gnome/gdesktop.c:2047
#: gnome/gdesktop.c:2063
msgid "Home directory"
msgstr ""
#: gnome/gdesktop.c:2052
#: gnome/gdesktop.c:2068
#, c-format
msgid "Could not symlink %s to %s; will not have initial desktop icons."
msgstr ""
#: gnome/gdesktop.c:2381 gnome/glayout.c:318
#: gnome/gdesktop.c:2397 gnome/glayout.c:355
msgid "_Terminal"
msgstr ""
#: gnome/gdesktop.c:2381 gnome/glayout.c:318
#: gnome/gdesktop.c:2397 gnome/glayout.c:355
msgid "Launch a new terminal in the current directory"
msgstr ""
#. If this ever changes, make sure you update create_new_menu accordingly.
#: gnome/gdesktop.c:2383 gnome/glayout.c:320
#: gnome/gdesktop.c:2399 gnome/glayout.c:357
msgid "_Directory..."
msgstr ""
#: gnome/gdesktop.c:2383 gnome/glayout.c:320
#: gnome/gdesktop.c:2399 gnome/glayout.c:357
msgid "Creates a new directory"
msgstr ""
#: gnome/gdesktop.c:2391 gnome/glayout.c:411
#: gnome/gdesktop.c:2407 gnome/glayout.c:440
msgid "Arrange Icons"
msgstr ""
#: gnome/gdesktop.c:2392
#: gnome/gdesktop.c:2408
msgid "Create New Window"
msgstr ""
#: gnome/gdesktop.c:2394
#: gnome/gdesktop.c:2410
msgid "Rescan Mountable Devices"
msgstr ""
#: gnome/gdesktop.c:2395 gnome/glayout.c:414
#: gnome/gdesktop.c:2411 gnome/glayout.c:443
msgid "Rescan Desktop"
msgstr ""
@ -427,11 +427,59 @@ msgstr ""
msgid "Default set of icons not found, please check your installation"
msgstr ""
#: gnome/glayout.c:265
#: gnome/glayout.c:40
msgid "_Icon View"
msgstr ""
#: gnome/glayout.c:41 gnome/glayout.c:57
msgid "Switch view to an icon display"
msgstr ""
#: gnome/glayout.c:43
msgid "_Brief View"
msgstr ""
#: gnome/glayout.c:44 gnome/glayout.c:60
msgid "Switch view to show just file name and type"
msgstr ""
#: gnome/glayout.c:46
msgid "_Detailed View"
msgstr ""
#: gnome/glayout.c:47 gnome/glayout.c:63
msgid "Switch view to show detailed file statistics"
msgstr ""
#: gnome/glayout.c:49
msgid "_Custom View"
msgstr ""
#: gnome/glayout.c:50 gnome/glayout.c:66
msgid "Switch view to show user-defined statistics"
msgstr ""
#: gnome/glayout.c:56
msgid "Icons"
msgstr ""
#: gnome/glayout.c:59
msgid "Brief"
msgstr ""
#: gnome/glayout.c:62
msgid "Detailed"
msgstr ""
#: gnome/glayout.c:65
msgid "Custom"
msgstr ""
#: gnome/glayout.c:302
msgid "Enter command to run"
msgstr ""
#: gnome/glayout.c:278
#: gnome/glayout.c:315
msgid ""
"Notice that if you choose to terminate the file manager, you will\n"
"also terminate the GNOME desktop handler.\n"
@ -439,7 +487,7 @@ msgid ""
"Are you sure you want to quit?"
msgstr ""
#: gnome/glayout.c:290
#: gnome/glayout.c:327
msgid ""
"The file manager and the desktop handler are now terminating\n"
"\n"
@ -449,165 +497,149 @@ msgid ""
"Press OK to terminate the application, or cancel to continue using it."
msgstr ""
#. GNOMEUIINFO_ITEM_NONE( N_("Open _FTP site"), N_("Opens an FTP site"), ftplink_cmd },
#: gnome/glayout.c:341
#. GNOMEUIINFO_ITEM_NONE(N_("Open _FTP site"), N_("Opens an FTP site"), ftplink_cmd },
#: gnome/glayout.c:378
msgid "_Copy..."
msgstr ""
#: gnome/glayout.c:341
#: gnome/glayout.c:378
msgid "Copy files"
msgstr ""
#: gnome/glayout.c:342
#: gnome/glayout.c:379
msgid "_Delete..."
msgstr ""
#: gnome/glayout.c:342
#: gnome/glayout.c:379
msgid "Delete files"
msgstr ""
#: gnome/glayout.c:343
#: gnome/glayout.c:380
msgid "_Move..."
msgstr ""
#: gnome/glayout.c:343
#: gnome/glayout.c:380
msgid "Rename or move files"
msgstr ""
#: gnome/glayout.c:345
#: gnome/glayout.c:382
msgid "Show directory sizes"
msgstr ""
#: gnome/glayout.c:345
#: gnome/glayout.c:382
msgid "Shows the disk space used by each directory"
msgstr ""
#: gnome/glayout.c:352
#: gnome/glayout.c:389
msgid "Select _All"
msgstr ""
#: gnome/glayout.c:352
#: gnome/glayout.c:389
msgid "Select all files in the current Panel"
msgstr ""
#: gnome/glayout.c:354
#: gnome/glayout.c:391
msgid "_Select Files..."
msgstr ""
#: gnome/glayout.c:354
#: gnome/glayout.c:391
msgid "Select a group of files"
msgstr ""
#: gnome/glayout.c:355
#: gnome/glayout.c:392
msgid "_Invert Selection"
msgstr ""
#: gnome/glayout.c:355
#: gnome/glayout.c:392
msgid "Reverses the list of tagged files"
msgstr ""
#: gnome/glayout.c:357
#: gnome/glayout.c:394
msgid "_Rescan Directory"
msgstr ""
#: gnome/glayout.c:357
#: gnome/glayout.c:394
msgid "Rescan the directory contents"
msgstr ""
#: gnome/glayout.c:364
msgid "Icon View"
msgstr ""
#: gnome/glayout.c:365
msgid "Partial View"
msgstr ""
#: gnome/glayout.c:366
msgid "Full View"
msgstr ""
#: gnome/glayout.c:367
msgid "Custom View"
msgstr ""
#: gnome/glayout.c:372
#: gnome/glayout.c:401
msgid "_Sort By..."
msgstr ""
#: gnome/glayout.c:372
#: gnome/glayout.c:401
msgid "Confirmation settings"
msgstr ""
#: gnome/glayout.c:373
#: gnome/glayout.c:402
msgid "_Filter View..."
msgstr ""
#: gnome/glayout.c:373
#: gnome/glayout.c:402
msgid "Global option settings"
msgstr ""
#: gnome/glayout.c:380
#: gnome/glayout.c:409
msgid "_Find File..."
msgstr ""
#: gnome/glayout.c:380
#: gnome/glayout.c:409
msgid "Locate files on disk"
msgstr ""
#. { GNOME_APP_UI_ITEM, N_("_Compare panels..."), N_("Compare two panel contents"), gnome_compare_panels },
#: gnome/glayout.c:383
#: gnome/glayout.c:412
msgid "_Run Command..."
msgstr ""
#: gnome/glayout.c:383
#: gnome/glayout.c:412
msgid "Runs a command"
msgstr ""
#: gnome/glayout.c:385
#: gnome/glayout.c:414
msgid "_Run Command in panel..."
msgstr ""
#: gnome/glayout.c:385
#: gnome/glayout.c:414
msgid "Run a command and put the results in a panel"
msgstr ""
#: gnome/glayout.c:395
#: gnome/glayout.c:424
msgid "_Background jobs..."
msgstr ""
#: gnome/glayout.c:395
#: gnome/glayout.c:424
msgid "List of background operations"
msgstr ""
#: gnome/glayout.c:398
#: gnome/glayout.c:427
msgid "Exit"
msgstr ""
#: gnome/glayout.c:398
#: gnome/glayout.c:427
msgid "Terminates the file manager and the desktop"
msgstr ""
#: gnome/glayout.c:413
#: gnome/glayout.c:442
msgid "Rescan System Devices"
msgstr ""
#: gnome/glayout.c:421 gnome/glayout.c:431
#: gnome/glayout.c:450 gnome/glayout.c:460
msgid "_Layout"
msgstr ""
#: gnome/glayout.c:422 gnome/glayout.c:432
#: gnome/glayout.c:451 gnome/glayout.c:461
msgid "_Commands"
msgstr ""
#: gnome/glayout.c:423
#: gnome/glayout.c:452
msgid "_Desktop"
msgstr ""
#: gnome/glayout.c:424 gnome/glayout.c:433
#: gnome/glayout.c:453 gnome/glayout.c:462
msgid "_Help"
msgstr ""
#: gnome/glayout.c:571
#: gnome/glayout.c:600
msgid "File/New/Directory..."
msgstr ""
@ -845,7 +877,7 @@ msgstr ""
msgid "Title"
msgstr ""
#: gnome/gprop.c:521 gnome/gscreen.c:2391
#: gnome/gprop.c:521
msgid "Icon"
msgstr ""
@ -853,182 +885,154 @@ msgstr ""
msgid "Select icon"
msgstr ""
#: gnome/gscreen.c:1473
#: gnome/gscreen.c:1469
msgid "Rescan Directory"
msgstr ""
#: gnome/gscreen.c:1473
#: gnome/gscreen.c:1469
msgid "Reloads the current directory"
msgstr ""
#: gnome/gscreen.c:1475
#: gnome/gscreen.c:1471
msgid "New folder"
msgstr ""
#: gnome/gscreen.c:1475
#: gnome/gscreen.c:1471
msgid "Creates a new folder here"
msgstr ""
#: gnome/gscreen.c:1653
#: gnome/gscreen.c:1649
msgid "All files"
msgstr ""
#: gnome/gscreen.c:1655
#: gnome/gscreen.c:1651
msgid "Archives and compressed files"
msgstr ""
#: gnome/gscreen.c:1657
#: gnome/gscreen.c:1653
msgid "RPM/DEB files"
msgstr ""
#: gnome/gscreen.c:1659
#: gnome/gscreen.c:1655
msgid "Text/Document files"
msgstr ""
#: gnome/gscreen.c:1661
#: gnome/gscreen.c:1657
msgid "HTML and SGML files"
msgstr ""
#: gnome/gscreen.c:1663
#: gnome/gscreen.c:1659
msgid "Postscript and PDF files"
msgstr ""
#: gnome/gscreen.c:1665
#: gnome/gscreen.c:1661
msgid "Spreadsheet files"
msgstr ""
#: gnome/gscreen.c:1667
#: gnome/gscreen.c:1663
msgid "Image files"
msgstr ""
#: gnome/gscreen.c:1670
#: gnome/gscreen.c:1666
msgid "Video/animation files"
msgstr ""
#: gnome/gscreen.c:1672
#: gnome/gscreen.c:1668
msgid "Audio files"
msgstr ""
#: gnome/gscreen.c:1674
#: gnome/gscreen.c:1670
msgid "C program files"
msgstr ""
#: gnome/gscreen.c:1676
#: gnome/gscreen.c:1672
msgid "C++ program files"
msgstr ""
#: gnome/gscreen.c:1678
#: gnome/gscreen.c:1674
msgid "Objective-C program files"
msgstr ""
#: gnome/gscreen.c:1680
#: gnome/gscreen.c:1676
msgid "Scheme program files"
msgstr ""
#: gnome/gscreen.c:1682
#: gnome/gscreen.c:1678
msgid "Assembler program files"
msgstr ""
#: gnome/gscreen.c:1684
#: gnome/gscreen.c:1680
msgid "Misc. program files"
msgstr ""
#: gnome/gscreen.c:1686
#: gnome/gscreen.c:1682
msgid "Font files"
msgstr ""
#: gnome/gscreen.c:1813
#: gnome/gscreen.c:1809
#, c-format
msgid "Search: %s"
msgstr ""
#: gnome/gscreen.c:1823
#: gnome/gscreen.c:1819
#, c-format
msgid "%s bytes in %d file"
msgstr ""
#: gnome/gscreen.c:1823
#: gnome/gscreen.c:1819
#, c-format
msgid "%s bytes in %d files"
msgstr ""
#: gnome/gscreen.c:1849 src/screen.c:677
#: gnome/gscreen.c:1845 src/screen.c:677
msgid "<readlink failed>"
msgstr ""
#: gnome/gscreen.c:1903
#: gnome/gscreen.c:1899
msgid "Filter"
msgstr ""
#: gnome/gscreen.c:2391
msgid "Switch view to an Icon view"
msgstr ""
#: gnome/gscreen.c:2393
msgid "Brief"
msgstr ""
#: gnome/gscreen.c:2393
msgid "Switch view to show just file name and type"
msgstr ""
#: gnome/gscreen.c:2395
msgid "Detailed"
msgstr ""
#: gnome/gscreen.c:2395
msgid "Switch view to show detailed file statistics"
msgstr ""
#: gnome/gscreen.c:2397
msgid "Custom"
msgstr ""
#: gnome/gscreen.c:2397
msgid "Switch view to show custom determined statistics."
msgstr ""
#: gnome/gscreen.c:2405
#: gnome/gscreen.c:2339
msgid "Back"
msgstr ""
#: gnome/gscreen.c:2405
#: gnome/gscreen.c:2339
msgid "Go to the previously visited directory"
msgstr ""
#: gnome/gscreen.c:2407
#: gnome/gscreen.c:2341
msgid "Up"
msgstr ""
#: gnome/gscreen.c:2407
#: gnome/gscreen.c:2341
msgid "Go up a level in the directory heirarchy"
msgstr ""
#: gnome/gscreen.c:2409
#: gnome/gscreen.c:2343
msgid "Forward"
msgstr ""
#: gnome/gscreen.c:2409
#: gnome/gscreen.c:2343
msgid "Go to the next directory"
msgstr ""
#: gnome/gscreen.c:2412 src/tree.c:1020
#: gnome/gscreen.c:2346 src/tree.c:1020
msgid "Rescan"
msgstr ""
#: gnome/gscreen.c:2412
#: gnome/gscreen.c:2346
msgid "Rescan the current directory"
msgstr ""
#: gnome/gscreen.c:2415
#: gnome/gscreen.c:2349
msgid "Home"
msgstr ""
#: gnome/gscreen.c:2415
#: gnome/gscreen.c:2349
msgid "Go to your home directory"
msgstr ""
#: gnome/gscreen.c:2549
#: gnome/gscreen.c:2495
msgid "Location:"
msgstr ""

View File

@ -151,6 +151,10 @@ typedef struct {
int maybe_start_drag;
int click_x, click_y;
/* View menu and toolbar items */
void **view_menu_items;
void **view_toolbar_items;
int dragging;
/* Used for scrolling nicely during drags */