Commit Graph

388 Commits

Author SHA1 Message Date
Miguel de Icaza
1b0258b1d6 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gpopup2.c (escape_underlines): New function to escape the
	underlines in a string so that GtkLabel will include them in the
	final result.
	(create_mime_actions): Escape the underlines from the MIME action
	descriptions.
1999-03-11 23:22:47 +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
f96fdd9bbc 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gpopup2.c (perform_mount_unmount): Set the icon's cursor while it is
	being operated on.
	(handle_mount): Use perform_mount_unmount().
	(handle_unmount): Likewise.
	(handle_eject): Set the icon's cursor while it is being ejected.

	* gdesktop.c (desktop_icon_set_busy): New function to set a watch
	or normal cursor for a desktop icon.
1999-03-11 19:37:24 +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
cbebd9cd27 1999-03-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (do_mount_umount): Use g_readlink here.

	* gpopup2.c (handle_eject): Small tuning.  And use g_readlink :-).

	* gmount.c (mount_point_to_device): New function.  Mapes a mount
	point to its device.  Required since we are now using the mount
	point (as this is not ambiguous) as the key for the devices and
	the eject command needs the device name, not the mount point.

	* gdesktop.c (desktop_icon_info_open): First try to see if
	filename is mountable.  Then do the directory tests and the file
	launching tests.  Fixes mount-by-double click.

	* gmount.c (setup_devices): Use new tigert icon.
1999-03-11 07:53:26 +00:00
Miguel de Icaza
9be5d13eb3 1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* glayout.c (save_panel_types): Do not save the setup of a desktop
	panel.

	* gpopup2.c (handle_mount): Use get_full_filename().
	(handle_unmount): Likewise.
	(handle_eject): Likewise.
	(handle_open): Likewise.
1999-03-11 04:49:55 +00:00
Miguel de Icaza
0bd0f7dac2 1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (update_url): Made static.
	(desktop_reload_icons): Call update_url() when updating an
	existing icon.

	* gpopup2.c (handle_properties): Do not update the icon url here.
1999-03-11 03:18:48 +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
0559c128f7 1999-03-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdialogs.c: Support ui->ctx to be NULL, as file.c will set this
	to NULL for background operations.


1999-03-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* utilunix.c (g_readlink): New function.  Wraps all the nonsense
	of readlink into a nice routine.

	* filegui.c: Support ui->ctx to be NULL, as file.c will set this
	to NULL for background operations.

	* background.c (do_background): Handle EINTR in dup2.
1999-03-11 02:00:12 +00:00
Miguel de Icaza
d80cea83fa 1999-03-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (icon_drag_data_received): Pass the full directory
	name to gdnd_perform_drop.

	* gpopup.c (create_regexp_actions): This routine no longer creates
	the default copy/move/delete context menu entries.

	(file_actions): Include the copy/move/delete options here.  This
	also enabled me to reorder things to put "Delete" closer to the
	top, as it is a pretty common operation.
1999-03-10 17:54:33 +00:00
Miguel de Icaza
cb800625fc 1999-03-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gmain.c (session_save_state): Add call to gnome_config_sync().
1999-03-09 04:34:05 +00:00
Miguel de Icaza
83818189e0 1999-03-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gutil.c (my_system_get_child_pid): reset SIGPIPE to a sensible
	value.
	(my_system_get_child_pid): Close also stdin/stdout/stderr

	* gdesktop.c (is_mountable): Allow user-nfs devices to be mounted
1999-03-09 03:56:54 +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
dc5611105e 1999-03-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gnome-file-property-dialog.c (apply_metadata_change): only set
	the needs-terminal property if we actually created such entry.
1999-03-08 21:00:33 +00:00
Sergey Panov
30052d80eb * gcustom-layout.c, gprefs.c: Make the preferences dialog
translatable. (include files in gcustom-layout.c and use of
        the _() macro in gprefs.c)
1999-03-08 05:18:50 +00:00
Miguel de Icaza
8b195d8760 1999-02-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gnome-file-property-dialog.c (create_settings_pane): Simplify
	the test and fix it.
1999-03-01 01:18:40 +00:00
Miguel de Icaza
1caafe5ce5 1999-02-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdnd.c (drop_on_file): Fix these so that they can use the
	metadata drop-action.
1999-03-01 00:54:47 +00:00
Miguel de Icaza
3d0c3214fa 1999-02-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_open): Ugly.  Needs to share more
	code here.  Use the metadata first, and the is_exe to find out how
	to launch an application.
1999-03-01 00:11:40 +00:00
Miguel de Icaza
3a6fa38650 1999-02-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gnome-file-property-dialog.c (perm_group_new): Check the return
	value of getgrgid.
	(perm_group_new): Do not use a grp if it does not exist.
1999-02-28 07:19:33 +00:00
Miguel de Icaza
cf5ce5b680 1999-02-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
* glayout.c (my_app_create_menus): New function, used to create
	our menus and set the realy properly, to make cpanel (ie,
	current_panel) always consistent with what the user users.

	So, no need to kill the tearoff menus in gmc now.
1999-02-27 00:04:40 +00:00
Miguel de Icaza
80d26de170 1999-02-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gmount.c (is_block_device_mountable): compare the device name
	here.
1999-02-26 19:18:51 +00:00
Miguel de Icaza
e432e1fa4b Enhanced the device detection, should catch most cdroms now.
It also scans all the devices, instead of stopping in the
first device.

Miguel
1999-02-26 09:12:17 +00:00
Miguel de Icaza
9a938c3ae9 Internal viewer no longer "jumps" when dragging the scrollbar.
Miguel.
1999-02-26 07:26:40 +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
Owen Taylor
f197b80587 1999-02-24 Owen Taylor <otaylor@redhat.com>
* fileopctx.h file.c: Moved recursive delete query
	dialog into gdialogs.c for GNOME.

1999-02-25 Owen Taylor  <otaylor@redhat.com>

	* gdialogs.c (file_delete_query_recursive): GNOME
	replacement for recursive delete query dialog.
1999-02-26 00:27:23 +00:00
Owen Taylor
824c07e49f 1999-02-25 Owen Taylor <otaylor@redhat.com>
* gprefs.c gcustom-layout.[ch]: Add a new page to
	the preferences dialog to allow the user to change
	the columns in the custom view.
1999-02-25 19:13:31 +00:00
Miguel de Icaza
8220628b18 Scanning devices now can run external program g-print 1999-02-25 05:11:35 +00:00
Miguel de Icaza
a57560f5dd 1999-02-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gicon.c (gicon_get_filename_for_icon): Return const char *, this
	tells the user of this routine "you better not touch or free this
	you dofus".

	* gnome-file-property-dialog.c (apply_metadata_change): Always set
	the name of the icon to the new value, as the entry will always
	match the imlib image anyways (due to the fixes I did to const
	correctness).
	(generate_icon_sel): Do not free the value.  We do not own this
	return value.

	* gdesktop.c (is_mountable): NULL terminate string returned from
	readlink.  Yes guys, readlink does not NULL terminate things.
	(do_mount_umount): ditto.

	* gnome-file-property-dialog.c (init_metadata): ditto
1999-02-25 04:08:43 +00:00
George Lebl
934532f95b Tue Feb 23 17:41:45 1999 George Lebl <jirka@5z.com>
* gmain.c: set the restart property of the gnome client to
          RESTART_IMMEDIATELY or RESTART_NEVER if we're gonna quit
1999-02-24 01:48:55 +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
George Lebl
0f57dbd94e Tue Feb 23 01:57:22 1999 George Lebl <jirka@5z.com>
* gmount.c: fix obvious typos, use str in option_has_user, fix
          mt_opts typo and is_block_device_mountable can't return TRUE nor
          FALSE, so it returns NULL

this makes it actually compile
-George
1999-02-23 09:57:52 +00:00
Miguel de Icaza
f1120801b6 1999-02-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gnome-file-property-dialog.c (apply_metadata_change): Fix memory leak.

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

	* gdesktop.c (desktop_reload_icons): Fix memory leak.

	* glayout.c (create_new_menu_from): Fix memory leak.
1999-02-23 06:14:02 +00:00
Miguel de Icaza
96a7f2c4f6 Sync 1999-02-23 02:53:30 +00:00
Miguel de Icaza
aca0afd352 1999-02-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_open): Launch a panel at the
	location of the mount point.

	* gmount.c (setup_devices): Use g_list_free, not g_free.  Fed,
	test your fixes to my code ;-)

	* glayout.c (create_container): Add a Desktop menu if the WM is
	not GNOME compliant.
1999-02-23 01:56:09 +00:00
Miguel de Icaza
0cacebab2a 1999-02-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (setup_motif_dnd_proxy): Use Window instead of
	gint32, fix from George Lebl.
	(setup_xdnd_proxy): ditto.
1999-02-22 22:59:58 +00:00
Miguel de Icaza
7aec2adddf 1999-02-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gmain.h: Removed set_current_panel() since it was never used.

	* glayout.c (set_current_panel): Made static and renamed from
	set_new_current_panel().
	Removed old toolbar cruft.

	* gmount.c (get_mountable_devices): Made static.

	* Makefile.in (ICONS): Added i-floppy.png, i-cdrom.png,
	i-printer.png.  Thanks, Tigert!
1999-02-19 00:18:25 +00:00
Miguel de Icaza
b169beea0e 1999-02-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
* setup.c: Declare extern int tree_panel_visible for the GNOME
	version.

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

	* gmount.c (gmount_setup_devices): New function to set up the
	mountable devices on the desktop directory.  Moved over from
	gdesktop.c.  Added an argument that specifies whether it should
	clean up the device list first.
	(cleanup_devices): Delete the metadata for the devices.
	(setup_devices): Free the list of device names.  Use the proper
	icon for each device.
	(create_device_link): Better error checking.

	* gdesktop.c (create_desktop_dir): Use gmount_setup_devices().
	(desktop_icon_info_destroy): Made static.
	(desktop_popup_items): The command for rescanning mountable
	devices should go here.
	(handle_rescan_devices): Call gmount and refresh the desktop.

	* gdesktop.h: Removed the declaration of tree_panel_visible, since
	it has nothing to do with the desktop.

	* glayout.c (gnome_panel_commands_menu): Removed the recreate
	devices command.

	* gdesktop.c (desktop_popup_items): Added a new command to create
	a file window.
1999-02-18 21:43:07 +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
6eb9a08b29 1999-02-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (reload_desktop_icons): Load the information provided
	on the .desktop file for the desktop icon information: icon
	filename and text to be displayed.
1999-02-17 19:58:24 +00:00
Miguel de Icaza
2aa1314dba 1999-02-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gpopup.c (create_actions): Add ejectable

	* gdesktop.c (do_eject): Add eject command.
1999-02-17 16:32:12 +00:00
Miguel de Icaza
e9f974dd11 1999-02-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gpopup.c (create_actions): Add support for mountable icons.

	* gdesktop.c (try_to_mount): Add an option to automatically mount
	links on the desktop that point to devices.
	(is_mountable): Returns true if a pathname is mountable.

	* glayout.c: Add the dirsizes command here.

	* gmount.c: New file.  Implements support routines for
	mount/umount.
1999-02-17 02:18:12 +00:00
Miguel de Icaza
c6f07526b7 1999-02-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* i-symlink.png: Flipped the image around, since we are putting
	the little icons on the lower-right corner.
	* i-stalled.png: Likewise.
1999-02-17 01:12:21 +00:00
Miguel de Icaza
fda350b4ea 1999-02-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gicon.c (gicon_get_filename_for_icon): Doh, use image_hash here.
1999-02-17 00:51:45 +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
Miguel de Icaza
6dbe424c38 1999-02-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gmetadata.c: Removed the gmeta_del_icon_pos() function, since it
	is no longer used anywhere.

	* gdesktop.c (reload_desktop_icons): Use gnome_metadata_delete()
	instead of gmeta_del_icon_pos().
	(desktop_icon_info_delete): Likewise.
	(desktop_icon_info_destroy): Do not call gnome_metadata_delete().
1999-02-16 20:18:34 +00:00
Miguel de Icaza
53cfcf095d 1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (arrange_desktop_icons): I am such a doofus, I did
	not initialize two variables here.
1999-02-16 03:42:52 +00:00
Miguel de Icaza
d66cb8705a 1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (reload_desktop_icons): Take auto-positioning and
	snap-positioning into account.  This is the right thing to do.
	(get_icon_auto_pos): Do auto-positioning in two steps, first from
	the requested position to the end of the slot array, then from
	slot zero forwards if required.
1999-02-15 22:44:18 +00:00
Miguel de Icaza
1370e6c166 Notice: release coming in about 90 minutes.
Miguel.

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

	* gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
	gnome_open_terminal routine, that will allow the user to specify a
	command to execute (used internally).

	* gaction.c (gmc_edit_filename): Support for the GNOME editor
	environment properties.

	* gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
	variable to configure the desktop directory.
1999-02-15 21:19:03 +00:00
Miguel de Icaza
39d815d7e9 1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* mc.keys.in.in: Use "gnome-moz-remote file:%d/%f" for the html
	file actions.
1999-02-15 20:59:09 +00:00