Commit Graph

241 Commits

Author SHA1 Message Date
Jacob Berkman cea7247da1 2000-06-20 Jacob Berkman <jacob@helixcode.com>
* gtkdtree.c (gtk_dtree_construct):
	* gscreen.c (panel_create_tree_view): don't set the tree's line
	style

	* gprefs.[ch] (create_prop_box): only set the parent if the parent
	exists
	(create_prop_box): only show the custom tab if we have a parent
	panel
	(gnome_configure_box_with_desktop): add a param for optionally
	doing the desktop prefs
	(gnome_configure_box): wrap the other function

	* gdesktop.c (set_desktop_icons): show icon properties
	(desktop_popup_items): add an item to configure icons
2000-06-20 19:42:15 +00:00
Jonathan Blandford 97c053032e 2000-06-16 Jonathan Blandford <jrb@redhat.com>
* gpopup2.c (handle_empty_trash): Finished trash can.  Now I just
	need an icon.

2000-06-15  Jonathan Blandford  <jrb@redhat.com>

	* gpopup2.c: Add "Move to Trash" as an option to the popup menu.
	Also, "Empty Trash" as appropriate.

	* gscreen.c (file_list_popup): Removed New File command.  It
	wasn't working, and didn't do anything useful, anyways.  Added
	"Empty Trash" to the options for the menu.
2000-06-16 18:16:44 +00:00
Miguel de Icaza ee4eabc27d Add fix from Andrew Post for the adjustment 2000-01-02 02:13:35 +00:00
Miguel de Icaza cf73615d4d 1999-09-22 Federico Mena Quintero <federico@redhat.com>
* gscreen.c (panel_chdir): Clear the lists if the chdir operation
	was not successful.

	* gtkflist.c (gtk_flist_button_press): Only emit the open_row
	signal if we are not on the empty area.
1999-09-22 17:18:07 +00:00
Miguel de Icaza c10db1f41c 1999-09-21 Federico Mena Quintero <federico@redhat.com>
* gscreen.c (x_create_panel): Do not change the dialog head's
	current pointer.

	* gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
	current widget.
	(non_corba_create_panels): Removed the nasty hack that created a
	dummy panel and destroyed it in the idle loop.  Wheeeeeee!

1999-09-21  Federico Mena Quintero  <federico@redhat.com>

	* dlg.c (init_dlg): Walk the list of widgets only if it exists.
	(dlg_broadcast_msg_to): Use safer list-walking code for if someone
	inserts a widget inside the message broadcast.
1999-09-21 08:09:54 +00:00
Miguel de Icaza 248d2ef5cc 1999-09-20 Federico Mena Quintero <federico@redhat.com>
The following is a patch from Volker Braun
	<volker.braun@physik.hu-berlin.de> to fix column resizing in the
	file panels.

	* gcustom-layout.c (custom_layout_apply): Set the
	default_user_format to the new format.

	* gscreen.c (panel_fill_panel_list): Set the column widths
	according to the previously stored values.
	Nuked the old and hideous panel_file_list_configure_contents().
	(panel_file_list_configure): Connect to resize_column in the clist.
	(panel_create_file_list): Do not connect to size_allocate.
	(x_create_panel): Set the column width array for this panel.  Set
	the user format from the default one if it exists.

	* gsession.c (PanelInfo): Added information about column widths
	and the user format.
	(save_panel_info): Save the complete information.
	(load_panel_info): Load the complete information.
	(free_panel_info): Free the user format.
	(idle_create_panels): Set the user format and column widths.

1999-09-20  Federico Mena Quintero  <federico@redhat.com>

	The following is a patch from Volker Braun
	<volker.braun@physik.hu-berlin.de> to fix column resizing in the
	file panels.

	* setup.c (options): Declare the column width option values.
	(save_configure): Save the default user format.
	(load_setup): Load the default user format.

	* panel.h (WPanel): Added a field for the column widths.
1999-09-20 20:03:58 +00:00
Miguel de Icaza dfc790ac4e 1999-09-13 Federico Mena Quintero <federico@redhat.com>
* gtkdtree.c (scan_subtree): Do not set the current path here,
	just load the subtree.
	(gtk_dtree_get_row_path): Removed the column argument, since it
	was never used.
	(scan_subtree): Added a path argument that can be calculated
	upstream.
	(gtk_dtree_expand): Compute the path for scan_subtree().
	(gtk_dtree_select_row): Compute the path for scan_subtree(), and
	set the tree's current path here.  This is the right thing;
	setting the current path is completely orthogonal from scanning a
	subtree.
1999-09-13 23:27:18 +00:00
Miguel de Icaza 4a3609a4f7 1999-09-13 Federico Mena Quintero <federico@redhat.com>
* gtkdtree.c (gtk_dtree_class_init): Sigh.  Create a new signal,
	called "possibly_ungrab", used to request the client to ungrab the
	mouse at the proper time.  This is required because the stupid
	clist button press handler grabs the mouse, and we don't want that.
	(gtk_dtree_select_row): Emit the possibly_ungrab signal here.

	* gscreen.c (panel_tree_drag_motion): Set the
	panel->drag_tree_dragging_over flag.
	(panel_tree_drag_leave): Unset said flag.
	(panel_tree_possibly_ungrab): Ungrab the mouse here.
1999-09-13 20:34:53 +00:00
Miguel de Icaza 78fa313864 1999-09-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c: Added it here too.

	* glayout.c: Add File-new option here

	* gcmd.c (gnome_newfile_cmd): Added new routine.  Invoke when you
	want to create a new file.
1999-09-02 18:31:17 +00:00
Miguel de Icaza 0ac4d17dd9 1999-09-01 Federico Mena Quintero <federico@redhat.com>
* gscreen.c (panel_icon_renamed): Do nothing if the name did not
	change.
1999-09-01 19:28:57 +00:00
Miguel de Icaza 9e2bb07d6e 1999-08-30 Federico Mena Quintero <federico@redhat.com>
* gdnd.c (file_has_drop_action): New function to test whether a
	file has the drop-action metadata or MIME action property.
	(gdnd_validate_action): Take the drop-action metadata/MIME
	property into account.
	(gdnd_can_drop_on_file): New function to see whether a
	non-directory file can take drops.

	* gscreen.c (drop_on_panel): New helper function to drop stuff on
	a panel.  This uses gdnd_can_drop_on_file so that we have the
	correct behavior.  This enables dropping on executables and files
	with the drop-action metadata/MIME property again.
	(panel_icon_list_drag_data_received): Use drop_on_panel().
	(panel_clist_drag_data_received): Use drop_on_panel().  Normalize
	the Y coordinate to the clist_window.
1999-08-30 20:07:33 +00:00
Miguel de Icaza 871a880139 1999-08-27 Federico Mena Quintero <federico@redhat.com>
* ext.c (quote_block): How did this ever work?  People, if you
	realloc() things, don't keep pointers to stuff inside the original
	block.

	* screen.c (do_enter_on_file_entry): Pass in the full name to
	if_link_is_exe().

	* dir.[ch] (if_link_is_exe): Take in the full name, not the directory
	and the file entry.

1999-08-26  Federico Mena Quintero  <federico@redhat.com>

	* gscreen.c (panel_clist_drag_motion): Pass the full name to
	gdnd_validate_action().
	(panel_icon_list_drag_motion): Likewise.
	(panel_tree_drag_motion): Likewise.

	* gdnd.c (gdnd_perform_drop): Renamed the "directory" argument to
	"dest_full_name" for clarity.
	(gdnd_validate_action): Likewise.  Pass in the full name to
	if_link_is_exe().
	(drop_on_file): Do not compute the full name, since we are already
	get it from the caller.
	(drop_on_file): Pass in the full name to if_link_is_exe().

	* gscreen.c (panel_tree_drag_data_received): Free the pathname.

	* gdesktop.c (icon_drag_data_received): Pass the full name of the
	file to gdnd_perform_drop(), not just the desktop directory.
1999-08-27 05:01:08 +00:00
Miguel de Icaza d80cba67cc 1999-08-08 David Martin <dmartina@usa.net>
* gtkedit/syntax.c (upgrade_syntax_file): Mark error strings for
	translation.

	* gtkedit/editmenu.c (edit_about_cmd): Mark text in "about" for
	translation as it used to be.
1999-08-13 22:45:07 +00:00
Miguel de Icaza 39a1938a5f 1999-08-13 Federico Mena Quintero <federico@redhat.com>
* gscreen.c (panel_fill_panel_list): Select or unselect the rows
	as appropriate, not just select them.  This is needed because the
	clist changes the selection under us when appending rows.
	Finally, do not call select_item() at the end; just reset the
	panel->selected value.
	(panel_fill_panel_icons): Likewise.
	(tree_drag_open_directory): Disabled the auto-collapse
	functionality yet again, since it has numerous problems.  BUGFIX:
	GNOME bug tracker #1656.

	* gcmd.c (gnome_reverse_selection_cmd_panel): Re-enabled this
	function.  The reverse selection bug was somewhere else after all.

	* glayout.c (gnome_panel_edit_menu): Re-inserted the item for
	reverse selection.  It was pointing to the wrong callback, that is
	why it never worked.
1999-08-13 19:42:32 +00:00
Jonathan Blandford b2af161b6d 1999-08-12 Jonathan Blandford <jrb@redhat.com>
* gpopup2.c (handle_unmount): We refresh when we unmount/mount a cdrom.

	* gscreen.c (queue_reread_cmd): We refresh when we make a change.
1999-08-12 22:50:25 +00:00
Miguel de Icaza fe7d83f1d0 1999-08-12 Federico Mena Quintero <federico@redhat.com>
The two following entries are BUGFIX: GNOME bug tracker #1789.

	* gscreen.c (panel_fill_panel_list): Do not allow selection of "..".
	(panel_icon_list_select_icon): Likewise.

	* glayout.c (gnome_panel_edit_menu): Removed the Invert Selection
	command.  It is completely broken for the expected GNOME
	semantics.
1999-08-12 22:14:07 +00:00
Miguel de Icaza c314133465 1999-08-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdialogs.c (file_mask_dialog): Sigh, disabled background
	operations, since they are completely hosed.  Re-aligned the
	widgets in the dialog.
1999-08-10 21:52:06 +00:00
Miguel de Icaza d8e892cb48 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (editing_icon_list): New function to figure out
	whether an icon in the icon list is being edited.  This is a
	FANTASTICALLY UGLY HACK, but we cannot add new functions to the
	icon list at this point as it would break forwards compatibility.
	Sigh.  BUGFIX: GNOME bug tracker #382, #1065.

	* glayout.c (gnome_panel_desktop_menu): Added some underline
	accelerators.

	* gdesktop.c (desktop_arrange_icons_items): Renamed to the desktop
	namespace.  Added underline accelerators.
	(handle_arrange_icons_name): Made static.
	(handle_arrange_icons_type): Likewise.
	(handle_arrange_icons_size): Likewise.
	(handle_arrange_icons_access): Likewise.
	(handle_arrange_icons_mod): Likewise.
	(handle_arrange_icons_change): Likewise.
	(desktop_arrange_icons): Made static.
	(strip_tearoff_menu_item): Made it return the number of items in
	the menu, not the list of children.
	(desktop_icon_info_destroy): Remove the icon from the icon hash
	table.
	(text_changed): Update the icon hash table information.

	* gdesktop.h: Cleaned up some unused prototypes.

	* gview.c (view_status): Use the correct g_snprintf() format
	argument.

	* gcmd.c (sort_get_func_from_type): Indented according to the MC
	conventions.  People, *PLEASE* follow the Gnome Programming
	Guidelines, especially when modifying existing code.

	* gdesktop.c (swap): Likewise.
	(auto_pos): Likewise.
	(get_icon_auto_pos): Likewise.
1999-08-09 22:54:02 +00:00
Miguel de Icaza 95ff494e76 get max defined 1999-08-01 18:29:11 +00:00
Miguel de Icaza ea6b8036f5 1999-07-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gcorba.c (corba_create_window): Ensure that the directory we
	pass to the CORBA server is not NULL.

	* gscreen.c: Removed a bunch of unused functions for filters.
1999-07-01 23:15:08 +00:00
Miguel de Icaza f085b40d57 1999-06-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (x_select_item): Removed icon list hacks.
1999-06-30 19:21:56 +00:00
Miguel de Icaza eb785b90dc 1999-06-04 Robert Brady <rwb197@ecs.soton.ac.uk>
* gscreen.c (panel_list_configure_contents): Prevent
	divide by zero error. (Fixes bug #1360)
1999-06-06 03:47:19 +00:00
Miguel de Icaza 9c0597b6a3 1999-05-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c: Include util.h after x.h;  Undefine __G_LIB_H__.
1999-05-28 22:31:30 +00:00
Miguel de Icaza 9e6058809a 1999-05-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_tree_button_press): Beginning of context menu
	on tree.

	* gtkdtree.c (gtk_dtree_load_path): Comment out the phantom code.
	Need to review this code.  Lets fix the problem Federico needs
	solved now.
1999-05-28 05:41:18 +00:00
Miguel de Icaza e082388cb9 1999-05-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_fill_panel_icons): Add a hack to work around
	gnome-libs/gnome-icon-list bug that did not reset the proper
	values.  A fix will be available in gnome-libs-1.0.10.

	Fixes bug #1338.
1999-05-27 01:46:22 +00:00
Miguel de Icaza 8c90a5a44d 1999-05-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_close_panel): Remove filter_w

	* gscreen.c (x_filter_changed): Update nothing.

1999-05-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1999-05-26 23:04:34 +00:00
csmall c185615db9 remove second glib.h (the miguel made me do it) 1999-04-18 06:57:37 +00:00
Miguel de Icaza 3b2afd14c8 Jesus, typo went away 1999-04-18 06:54:49 +00:00
Miguel de Icaza 2c66e8180a 1999-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c: Include the glib.h header file here.
1999-04-17 06:37:42 +00:00
Miguel de Icaza 1270687440 1999-04-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_tree_check_auto_expand): Enabled auto-collapse
	functionality again.  Made the code a simpler by using
	gtk_dtree_is_ancestor().

	* gtkdtree.c (gtk_dtree_is_ancestor): New function to test whether
	a node is an ancestor of a child.  This does the same as
	gtk_ctree_is_ancestor(), but much more efficiently.  GtkCTree
	seems to use the pessimal algorithm for this.
	(gtk_dtree_collapse): Slight optimization: do not re-select if the
	node is already selected.
	(gtk_dtree_collapse): Do not freeze/thaw the tree while
	collapsing/selecting.

	* gmain.c: Removed crufty old SM code.
1999-04-16 18:25:00 +00:00
Miguel de Icaza 99d97479f0 1999-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_setup_drag_scroll): Made it not return
	anything, since scrolling is independent from any other
	prelighting actions.
	(panel_tree_drag_begin): Do not print debugging message.
	(panel_drag_data_get): Assert that we were requested a valid data
	type.
	(panel_create_tree_view): Only specify GTK_DEST_DEFAULT_DROP for
	the tree, since we want to present the correct feedback when the
	user is hovering over the blank area in the tree.
	(panel_build_selected_file_list): Made it return char *.
	(panel_tree_drag_end): Free dtree->drag_dir, not dtree->current_path.
	(tree_drag_open_directory): Use panel->drag_tree_node instead of
	the coordinates hack.

1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c (panel_setup_drag_scroll): Made it not return
	anything, since scrolling is independent from any other
	prelighting actions.
	(panel_tree_drag_begin): Do not print debugging message.
	(panel_drag_data_get): Assert that we were requested a valid data
	type.
1999-04-15 23:19:36 +00:00
Miguel de Icaza 9f68cc2df5 1999-04-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_icon_list_button_press): Ignore double clicks.
	(panel_widget_motion): Don't do anything if the button state does
	not match the button we are expecting.

	* gtkflist.c (gtk_flist_button_press): Remove pending selections
	when we receive a double click.

	* gaction.c: #include "view.h"
1999-04-10 00:54:10 +00:00
Miguel de Icaza cdeefae1ec 1999-04-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtkflist.[ch]: New files.  This is a "file list" widget derived
	from GtkCList that does several things:

		- Overrides all mouse and keyboard event handlers.

		- Implements its own, *sane* selection behavior, unlike
		GtkCList's, which is broken.

		- Implements the same selection behavior as the desktop,
		which is a) correct, and b) consistent.

	* gscreen.c (panel_create_file_list): Use the GtkFList widget.
	(panel_widget_motion): Changed the drag thresholds to be the same
	as in gtkdnd.c.
	(start_drag): New convenience function to begin a drag operation.
	(panel_widget_motion): Use start_drag().
	(panel_clist_scrolling_is_desirable): Offsets must be with respect
	to the clist_window, not to the allocation.
	(panel_clist_drag_motion): Normalize the y coordinate of the
	motion event to the clist_window.

	* gdesktop.c (desktop_icon_info_destroy): Reset the
	last_selected_icon to NULL if it is destroyed.

	* Makefile.in: Added gtkflist to the list of files.
1999-04-09 21:13:04 +00:00
Jonathan Blandford a92adc1479 1999-04-06 Jonathan Blandford <jrb@redhat.com>
* gscreen.c: make sure that we bring up an open_with if
	open it.

	* gcmd.c (gnome_select): new selection dialog.

	* gdesktop-init.c (desktop_init_at): do not use access for it is
	poor when you are root.

1999-04-07  Jonathan Blandford  <jrb@redhat.com>

	* screen.c (do_enter_on_file_entry): added a consistent behaviour
	for GNOME stuff.
1999-04-07 23:26:49 +00:00
Miguel de Icaza b069f7b995 1999-04-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
* glayout.c (create_container): Use gtk_window_set_default_size(),
	not gtk_widget_set_usize().

	* gdesktop.c (get_slot_from_pos): Clamp the slot positions to be
	inside the screen.

	* gmain.c (gnome_check_super_user): Improved the message a bit.
1999-04-07 01:49:22 +00:00
Miguel de Icaza c7a8f4846e 1999-04-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (file_list_popup_items): Use "New Directory", not "New
	Folder", to be consistent with the desktop and File menus.  Thanks
	to Kevin Fox for pointing this out.
	(panel_icon_list_drag_data_received): Update the panels properly.
	(panel_clist_drag_data_received): Likewise.
	(panel_tree_drag_data_received): Likewise.

	* gcmd.c (gnome_close_panel): Doh.  Do not access g_free()d
	memory.

	* glayout.c (copy_uiinfo_widgets): Return the copied array as a
	return value, not in an argument.

	* gcmd.c (set_view_type): Added a sanity check.
1999-04-05 05:39:26 +00:00
Miguel de Icaza b3bb157ad5 These are a bunch of changes to fix CORBA and session management. They
are almost complete (i.e. to handle all nitty gritty cases), but they
seem to be working OK right now.  SM should be much more stable now.
Please tell me if you find any weird behavior - Federico

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

	* gdesktop-icon.c (desktop_icon_realize): Remove the
	WM_CLIENT_LEADER property from icon windows so that window
	managers will not store SM information for them.

	* gnome-open-dialog.c: Added missing #includes.

	* gdesktop-init.c (desktop_init_at): Removed an unused variable.

	* gdesktop.h: Added some missing prototypes.

	* gmain.h: Added some missing prototypes.

	* Makefile.in: Added gsession.[ch] to the list of sources.

	* gmain.c (create_panels): Consider whether we have a CORBA server
	and session management.

	* gdesktop.c: #include "gdesktop-init.h"
	* gdesktop.c: Added a missing cast to GNOME_DIALOG.

	* gmain.c (create_panels): Removed the run_desktop global
	variable.

	* glayout.c (create_container): Set the wmclass of the panel to
	include its unique ID.

	* gsession.[ch]: New file with the functions that deal with
	session management.

	* glayout.c (gnome_exit): Use session_set_restart().

	* gcorba.c (corba_init): Now returns an int with an error value.
	(corba_init_server): Initialize the server properly.
	Fixed all the object implementation code.
	(corba_create_window): New function used to create a window with
	the CORBA server.

	* gmain.c (gnome_check_super_user): Now the check for running as
	root is done here.  There should be no GUI code in src/.

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

	* dlg.c (dlg_run_done): Do not call the callback of a NULL current
	widget.

	* setup.h: Added missing prototype for setup_init().

	* filegui.c (check_progress_buttons): Added a missing return
	value.

	* dlg.c (remove_widget): Added a missing return value.

	* main.c: Removed the global directory_list variable.
	Removed the main_corba_register_server() function.

	* main.h: Removed the global run_desktop variable.

	* panel.h: Now the panel structure has a unique numerical ID used
	for session management.

	* screen.c (panel_new): Maintain a unique ID for each panel.

	* main.c (maybe_display_linksdir): Handle display of the desktop
	init dir here.
	(main): Call gnome_check_super_user().
	(init_corba_with_args): Call corba_init_server().

	* main.c (init_corba_with_args): Do CORBA initialization here.  Also
	removed the global force_activation option.

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

	* vfs.c (vfs_add_current_stamps): Only do stamping of the panels
	if they exist.

	* mcserv.c: #include <sys/wait.h>
	(get_client): Put `#ifdef __EMX__' around an otherwise-unused
	variable.

	* utilvfs.c (vfs_split_url): Fix NULL <-> 0 confusion when
	comparing characters.

	* ftpfs.c (retrieve_dir): Removed unused variable dot_dot_found.

	* extfs.c (extfs_init): Assign `key' to c, not `&key'.
1999-03-30 06:09:56 +00:00
Jonathan Blandford 9fba0a4e27 1999-03-25 Jonathan Blandford <jrb@redhat.com>
* gdesktop.c (set_background_image): now we can set the background
	from GMC.
1999-03-25 23:17:55 +00:00
Miguel de Icaza 9207af342d COOL CODE! OH MAN! I AM GOOD!
Ok, so this time I got the stuff to auto-load desktop startup links.
This means you can ship stuff to pre-configure the desktop of the
users now.

We support program-based setup and url-links.

Details on the lib/README.desktop file
1999-03-20 18:08:52 +00:00
Jonathan Blandford 55615776fe 1999-03-19 Jonathan Blandford <jrb@redhat.com>
* gscreen.c (panel_tree_drag_motion): Dragging now automatically
	highlights the tree.  God does it flicker... )-:

	* gtkdtree.h (gtk_dtree_construct): removed unused prototype.

	* gscreen.c (panel_tree_check_auto_expand): removed the
	auto-collapse of trees, as it is confusing to the user.
1999-03-19 21:59:34 +00:00
Miguel de Icaza d1b80d6f09 1999-03-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (x_select_item): It is not necessary to call
	gnome_canvas_update_now() here.

	* gdesktop-icon.c (set_icon): Do not destroy the icon image.

	* gnome-file-property-dialog.c
	(gnome_file_property_dialog_finalize): Do not destroy the icon
	image, since it is a shared resource.
1999-03-15 18:01:37 +00:00
Miguel de Icaza 3fd381cc32 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 22:17:36 +00:00
Miguel de Icaza 7458010662 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_open): Set the cursor to a watch
	while the icon is being opened.  Also, fixed memory leaks.
	(do_eject): Added a missing return value.
1999-03-11 19:23:23 +00:00
Miguel de Icaza ca1437548b 1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
This is a semi-big slew of changes to integrate the DESKTOP_BRANCH
	into the main trunk.  Now the gdesktop code creates a temprary
	WPanel structure and passes it on to the core file management
	functions.  Also, the menu code is improved (we now use gpopup2;
	gpopup should go away shortly and gpopup2 should replace it).
	This makes the desktop act consistently with the file panels.
	Thanks to Jonathan for his help with this branch.

	* gdnd.c (perform_action): Use mc_lstat(), not mc_stat().

	* glayout.c (update_panels): Do not update the panels that are
	desktop panels.

	* gdesktop.c (icon_is_in_area): An icon is not considered to be in
	a 0x0 area.

	* gpopup2.c (handle_open): Fetch the desktop icon from the
	filename and call desktop_icon_info_open().

	* gdesktop.c (desktop_icon_info_get_by_filename): New function to
	look up a desktop icon by its filename.

	* glayout.c (create_new_menu_from): Test for the ".desktop" suffix
	correctly.

	* gpopup2.c (handle_properties): If the file comes from a desktop
	panel, always allow edition of the icon image.

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

	* file.c (erase_dir): Erase metadata for directories as well.
	(erase_dir_iff_empty): Likewise.
	(copy_file_file): Delete/copy the metadata even for
	char/block/sock/fifo files.  Same thing for when copying symlinks.
	(copy_dir_dir): Delete/copy the metadata.
	(move_dir_dir): Delete/move the metadata.
	(recursive_erase): Delete the metadata.
1999-03-11 02:40:53 +00:00
Miguel de Icaza f3a438eae3 1999-03-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (can_drop_on_clist): New function to figure out if the
	user is trying to drop on a valid region of a GtkCList.  It sucks
	to have to poke into its internal geometry, though.
1999-03-09 00:13:07 +00:00
Miguel de Icaza 8578ca5e2e 1999-02-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_open): Add needs terminal support.

	* gnome-file-property-dialog.c (create_settings_pane): Add Needs
	terminal check box

1999-02-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gaction.c (gmc_open_filename): Add support for needsterminal.

	* gscreen.c: Add New Folder option to the panel popup.
1999-02-26 07:17:51 +00:00
Miguel de Icaza 009093222a 1. Allow symlink to executables to provide a drop action
2. Fix the DnD code to work in all places.,

Miguel.
1999-02-24 01:40:08 +00:00
Miguel de Icaza ca444518b8 1999-02-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_drag_data_received): Simplify.

	* gscreen.c (panel_icon_list_drag_data_received): Pass the full
	path to gdnd_perform_drop.
	(panel_clist_drag_data_received): same.

	* gdnd.c (drop_on_directory): We no longer take a file_entry
	here.  The directory we get passed is already a fully qualified
	name of the target location.

	* gwidget.c (x_create_input): Hook to the changed signal and sync
	the input with our view of the entry.  This fixes the paste bug
	reported.
1999-02-23 19:21:35 +00:00
Miguel de Icaza b683efeda3 1999-02-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
* dir.c (if_link_is_exe): Made this function take in a directory
	argument as well -- the sought file may not be in the cwd, and
	file entries do not carry the directory the file refers to.

	* screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
	if_link_is_exe().

1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.c (do_mount_umount): Removed unused variable.
	(do_eject): Return FALSE if there is no eject command.
	(setup_devices): Removed unused variable.

	* gdnd.c (drop_on_file): Pass the directory to if_link_is_exe().
	(gdnd_validate_action): Likewise.
	(gdnd_perform_drop): Made consistent with the rest of the code by
	taking the directory name along with the file entry.
	(gdnd_validate_action): Likewise.

	* gdesktop.c (icon_drag_motion): Pass the directory to the gdnd
	functions.
	(icon_drag_data_received): Likewise.
	(desktop_drag_motion): Likewise.
	(desktop_drag_data_received): Likewise.
	(desktop_icon_info_open): Pass the directory to if_link_is_exe().

	* gscreen.c (panel_icon_list_drag_data_received): Pass the
	directory to gdnd functions.
	(panel_clist_drag_data_received): Likewise.
	(panel_tree_drag_data_received): Likewise.
	(panel_clist_drag_motion): Likewise.
	(panel_icon_list_drag_motion): Likewise.
1999-02-18 00:07:26 +00:00
Miguel de Icaza c52fde6398 1999-02-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gicon.c: Lots of changes to support the little symlink/stalled
	icons that get overlaid on the normal file icons.  We now have the
	concept of an icon set, which is a cache of normal icons plus
	their overlaid versions.

	* gnome-file-property-dialog.c (apply_metadata_change): Use
	gicon_get_filename_for_icon().
	(generate_icon_sel): Likewise.

	* gnome-file-property-dialog.c (create_general_properties): Use
	buffers of size MC_MAXPATHLEN.
	(init_metadata): Likewise.
1999-02-17 00:38:16 +00:00