Commit Graph

250 Commits

Author SHA1 Message Date
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
Miguel de Icaza
79340b3015 1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (toolbar): Added a "rescan" button.
1999-02-15 20:34:07 +00:00
Miguel de Icaza
2c1f45565b 1999-02-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_popup): Handle popup menus for the desktop.
	(arrange_desktop_icons): New function to auto-arrange the desktop
	icons.
	(reload_desktop_icons): Take care of positioning the new icons by
	ourselves; do not rely on desktop_icon_info_new() to do it.
	(remove_from_slot): Reset the icon's slot to -1.
	(reload_desktop_icons): Show all the icons after they have been
	loaded, instead doing it one by one.

	* gscreen.c (file_list_popup): Handle popup menus for the blank
	areas of the file panels.
	(panel_icon_list_button_press): Call file_list_popup().
	(panel_file_list_press_row): Likewise.
1999-02-15 17:59:49 +00:00
Miguel de Icaza
da63ee80d9 Fixes. Lots.
Headache.

Pink Elephants on the roof.

Miguel
1999-02-12 02:42:42 +00:00
Miguel de Icaza
5cd0eeb455 1999-02-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (set_icon): Do not destroy the image if it is
	the same as the old one.  Sigh, imlib really needs proper
	refcounting.

	* gscreen.c: Use gpopup_do_popup() until the new version is
	finished.

	* gpopup2.c (create_actions): Made the action selection logic
	simpler.
	(gpopup_do_popup2): Now can only operate on panels.
	(file_actions): Sanitized the actions a bit.

	* gutil.c (my_system_get_child_pid): sa_handler must be
	gnome_sigchld_handler, not gnome_sigchld_installed.

	* gpopup.c (dicon_properties): Do not call reread_cmd().  This is
	a hack until the menus for panels/desktop are finished.

	* gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
1999-02-12 02:15:17 +00:00
Miguel de Icaza
3db04c2bb5 1999-02-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_icon_list_button_press): Fixed "=" -> "!="
	typo.
1999-02-11 17:11:18 +00:00
Miguel de Icaza
586ac59456 And now that the release is out, take out the ifdefs - Federico 1999-02-11 12:50:25 +00:00
Miguel de Icaza
dd58854f32 Bunch of ifdefs for the release - Federico 1999-02-10 23:56:59 +00:00
Miguel de Icaza
aab8269cca 1999-02-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* main.h: Added prototype for main_corba_register_server().

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

	* gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
	from the scrolled window.
	(panel_create_icon_display): Create a scrolled window and put the
	icon list inside it.  Changed the rest of the code to know about
	this.

	* gcorba.c (do_window_close): It turns out that we *do* need to
	call CORBA_free().  It was a bug in ORBit which was causing this
	to crash.
1999-02-10 21:03:04 +00:00
Miguel de Icaza
0afe42d919 1999-02-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* glayout.c (gnome_close_panel_event): This function should return
	FALSE.

	* gcorba.c (corba_init): Cast poa to PortableServer_POA.
	(impl_GNOME_FileManagerWindow_close): Call gnome_close_panel(); do
	not destroy the widget by hand.

	* gcmd.c (gnome_close_panel): This function should be void.

	* gpopup2.c (popup_handle_rescan): Call reread_cmd().

	* gscreen.c (panel_icon_list_button_press): Return TRUE if we
	handled a popup menu.
1999-02-10 01:50:08 +00:00
Miguel de Icaza
1dfa5305cf 1999-02-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_class_init): Added two new signals,
	scan_begin and scan_end.
	(gtk_dtree_expand): Call scan_begin() and scan_end().
	(gtk_dtree_select_row): Call scan_begin() and scan_end().
	(gtk_dtree_expand): Use gtk_ctree_select(), not gtk_dtree_select_row().
	(gtk_dtree_collapse): Select the node when it is collapsed.

	* gscreen.c (panel_create_tree_view): Added handlers for the
	scan_begin and scan_end signals of the tree -- these will set the
	cursor to a watch while the tree is being scanned.
1999-02-09 20:10:10 +00:00
Miguel de Icaza
c3a9b75fa8 1999-02-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (x_create_panel): Removed a couple unused variables.
1999-02-07 10:39:42 +00:00
ettore
eb560f7e15 Simple patch to make the location bar occupy all the available
horizontal space.
1999-02-06 22:43:17 +00:00
Miguel de Icaza
26af8110ec Put back the call to Jonathan's code now that code is on CVS 1999-02-06 01:30:01 +00:00
Miguel de Icaza
9ff6038fc0 Revert Jonathan's patch for use gpopup2 until it is actually commited to CVS 1999-02-06 00:11:39 +00:00
Jonathan Blandford
0dc1ef5771 1999-02-05 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_reverse_selection_cmd_panel): new function -- does
	good things

	* gscreen.c (panel_icon_list_select_icon): uses new popup menu
	(panel_icon_list_button_press): ditto

	* gpopup2.c (gpopup_do_popup2): new implementation of popup
	menu.  Many changes -- almost all internal.  Much cleaner now...
	Off to England.
1999-02-05 23:52:44 +00:00
Miguel de Icaza
b698ebfe03 1999-02-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdnd.c (gdnd_validate_action): Show the correct feedback when
	dragging URLs.
1999-02-04 03:35:26 +00:00
Miguel de Icaza
06e379de33 1999-02-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_file_list_configure_contents): Make the icon on
	the type column be displayed.
	(panel_file_list_select_row): Removed dead code.
	(panel_file_list_press_row): Select the row before calling
	gpopup_do_popup.
1999-02-03 21:55:11 +00:00
Miguel de Icaza
912d258e8a 1999-02-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (drop_types): Allow dropping URLs on file panels.
1999-02-03 11:49:33 +00:00
Miguel de Icaza
04c4abd818 1999-02-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdnd.c (gdnd_validate_action): Added an "on_desktop" argument;
	this specifies that the user is dragging over the desktop.  Added
	cases for drags of desktop icons and URLs.
	(gdnd_perform_drop): New public function to handle drops.  This is
	now the master function to handle drops -- use this to make all of
	MC consistent.
	(drop_on_directory): Made static and renamed from
	gdnd_drop_on_directory().  Made it fit for use by
	gdnd_perform_drop().
	(drop_url_on_directory): New function to drop an url on a
	directory, moved over from gdesktop.c.
	(drop_uri_list_on_directory): New function to handle drops of URI
	lists on a directory.
	(drop_on_file): New function to handle drops on a non-directory
	file entry.  This is moved over from gdesktop.c,
	desktop_icon_drop_uri_list().  This is yet to be finished.

	* gdesktop.c (desktop_icon_drop_uri_list): Fix memory leak.
	(desktop_drag_motion): Use gdnd_validate_action().
	(dnd_icon_targets): Allow dropping URLs on icons.
	(icon_drag_motion): Use gdnd_validate_action().
	(desktop_drag_data_received): Use gdnd_perform_drop().
	(icon_drag_data_received): Use gdnd_perform_drop().

	* gscreen.c (panel_icon_list_drag_data_received): Use
	gdnd_perform_drop().
	(panel_clist_drag_data_received): Use gdnd_perform_drop().
	(panel_tree_drag_data_received): Use gdnd_perform_drop().

	* gcmd.c (gnome_about_cmd): Fixed Foundation typo, and updated the
	copyright date.
1999-02-03 11:46:01 +00:00
Miguel de Icaza
0c3b1bafe5 Do not include old code 1999-02-01 00:56:16 +00:00
Timur Bakeyev
4638935351 gscreen.c mods...
Mon Feb  1 00:49:18 1999  Timur Bakeyev <mc@bat.ru>

	* gscreen.c (panel_configure_file_list): Add central justification,
	as we got it (useless, imho :)
1999-01-31 23:08:33 +00:00
Jonathan Blandford
abc8c20b29 1999-01-28 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.c (create_settings_pane): We only let
	you set info if we are a regular file, or a link to a regular file.

	* gdesktop-icon.c (desktop_icon_reshape): Cut-n-paste error fixed
	by Quartic.

1999-01-27  Jonathan Blandford  <jrb@redhat.com>

	* gnome-file-property-dialog.h (struct _GnomeFilePropertyDialog):
	Now make open field mandatory and icon selection optional.
	* gnome-file-property-dialog.c: as above

	* gpopup.c (panel_action_properties): only allow setting images if
	we_can_afford_the_speed.

	* gicon.c: make we_can_afford_the_speed non-static
1999-01-28 05:48:02 +00:00
Miguel de Icaza
c44dd59069 1999-01-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_clist_motion): Stop the emission of the
	motion_notify_event signal so that it does not reach the clist.
	We do not want it to select rows while dragging.
	Replaced copy_strings() with g_strconcat().

	* gdnd.c (gdnd_validate_action): Do not override GDK_ACTION_ASK.

	* gdesktop.c: Updated the TODO list at the top of the file.
1999-01-27 02:55:43 +00:00
Timur Bakeyev
be7cbf3768 Glibing... (3)
Wed Jan 27 03:14:46 1999  Timur Bakeyev <mc@bat.ru>

	* Converted memory managment to Glib - where it wasn't done. Now we
	use g_new()/g_malloc()/g_strdup()/g_free() routings. copy_strings() re-
	placed by g_strconcat(), and sprintf() by g_snprintf(). Some other,
	minor changes.
1999-01-27 01:14:57 +00:00
Miguel de Icaza
9a43865fa6 Fix my regex.h breakage 1999-01-26 23:46:11 +00:00
Miguel de Icaza
f97cb04b55 1999-01-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_setup_drag_scroll): Renamed from
	panel_setup_drag_motion().
	(panel_clist_drag_motion): Use gdnd_validate_action().
	(panel_clist_motion): Return immediately if the event window is
	not the clist_window.  Otherwise, forward the event to
	panel_widget_motion().

	* gdnd.c (gdnd_find_panel_by_drag_context): New public function to
	find a panel based on a drag context.  This is basically the old
	find_panel_owning_window() made public.
	(gdnd_drop_on_directory): Test for the source widget being a tree,
	and if so, do not use the default behavior for panels.
	(gdnd_validate_action): New function to compute the final drag
	action given some conditions.  This is now used to make dragging
	behavior consistent across the desktop and the file panels.
1999-01-26 06:53:48 +00:00
Miguel de Icaza
9c81ea49fd 1999-01-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdnd.c (get_action): Sensitize the menu items based on the
	allowed actions in the drag context.
	(actions): Add some underlined accelerators for the action menu.

	* gdesktop.c (icon_drag_motion): Use S_ISDIR() in addition to
	fe->f.link_to_dir.

	* gscreen.c (panel_file_list_scrolled): Removed this function, as
	it was not used for anything useful.

	* gdnd.c (gdnd_drop_on_directory): Duh.  Use context->action, not
	context->suggested_action.

1999-01-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* Makefile.am (libvfs_la_SOURCES): Added utilvfs.h.
	* Make-mc.in (VFSHDRS): Likewise.
1999-01-25 16:50:38 +00:00
Miguel de Icaza
7913e20514 Use the new memory-friendly icon list 1999-01-22 02:14:00 +00:00
Miguel de Icaza
7dec59687e 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_drag_data_received): Do not force links on
	the desktop.

	* gscreen.c (panel_create_file_list): Do not use
	GTK_DEST_DEFAULT_ALL for the drop site.  Only use
	GTK_DEST_DEFAULT_DROP, since we need to check motion ourselves.
	(panel_clist_drag_motion): Do not allow dropping on the clist buttons.
	(panel_clist_button_press): Do not assign the
	panel->maybe_drag_start flag if the user clicked outside the clist_window.

	* gdesktop.h: Removed old crud (desktop_icon_t, icon_t).
1999-01-22 00:59:11 +00:00
Miguel de Icaza
baa4a4d321 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_create_file_list): Added GDK_ACTION_ASK to the
	destination actions.
	(panel_create_icon_display): Likewise.
	(panel_create_tree_view): Likewise.

	* gdesktop.c (desktop_drag_motion): If the user explicitly
	requested action ASK, then do not make feedback show MOVE.

	* gscreen.c (panel_widget_motion): Pass in all drag actions now
	that Gtk handles button 2 by itself.
1999-01-21 17:59:30 +00:00
Miguel de Icaza
2a9956ad2b 1999-01-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c: Selection code now is simpler and should be easier to
	use in the listing modes.
1999-01-21 03:44:03 +00:00
Miguel de Icaza
88cd0bdfc4 1999-01-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gicon.h (gicon_image_to_name): Added prototype for
	gicon_image_to_name().

	* gicon.c (gicon_get_icon_for_file):
	(gicon_get_icon_for_file_speed): Added a "directory" argument.
	It is needed because the file_entry structure only contains the
	pruned filename, and we need the complete name for the metadata
	functions.

	* gdesktop.c (desktop_icon_info_new): Pass the directory to
	gicon_get_icon_for_file_speed().

	* gpageprop.c (item_properties): Build the directory name and pass
	it to gicon_get_icon_for_file_speed().

	* gscreen.c: Do not #include "directory.xpm".  Do #include "setup.h".
	Removed unused function button_switch_to().

	* gscreen.c (panel_fill_panel_icons): Pass the directory to
	gicon_get_icon_for_file().

	* gscreen.c (panel_create_tree_view): Allow button 2 to start the
	drag as well.
	(panel_clist_scrolling_is_desirable): Make both scrolling
	thresholds consistent.  Also, do not allow scrolling past the
	correct limit.
	(panel_icon_list_scrolling_is_desirable): Likewise.
	(panel_tree_scrolling_is_desirable): Likewise.
	(panel_clist_scroll): Do not allow scrolling past the correct limits.
	(panel_icon_list_scroll): Likewise.
	(panel_tree_scroll): Likewise.
1999-01-20 10:40:21 +00:00
Jonathan Blandford
6cc4269beb 1999-01-19 Jonathan Blandford <jrb@redhat.com>
* gdialogs.c (file_op_context_create_ui): OP_DELETE now has it's
	very own dialog. whee.

	* gscreen.c (panel_create_pixmaps): now we use dir-open.xpm
	instead of the (apparently) ugly yellow one.
1999-01-20 02:16:09 +00:00
Jonathan Blandford
3065734c22 1999-01-18 Jonathan Blandford <jrb@redhat.com>
* gscreen.c (x_create_panel): chnaged padding on the Filter label
	(do_ui_signal_connect): new view switching code.  Toolbar now works
	(go_home): new function -- takes one home
1999-01-18 21:56:59 +00:00
Jonathan Blandford
366f5e774b don't remember exactly what I did -- much of this is from before the CVS
machine went down and I went on vacation.  Newer toolbars...  It now
compiles too (gicon.c had some broken code in it)
1999-01-18 21:25:55 +00:00
Miguel de Icaza
d24a313845 Small bug fixes 1999-01-17 04:17:20 +00:00
Miguel de Icaza
70d31806e1 Memory leak fix.
Double-free fixed.
Tree will do proper thing when dealing with symlinks

Miguel.
1999-01-15 19:02:39 +00:00
Miguel de Icaza
e0faaa671f Merges from the FileOpContext-changes branch. Please see
the ChangeLogs for full information. - Federico
1999-01-14 01:10:32 +00:00
Jonathan Blandford
7b8969cbbc 1999-01-12 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_open_files): now you can open multiple files.
	* glayout.c: layout changed some.  moved run command.
	commented out ftplink/mkdir command for now.  gonna do mkdir
	next.  Why is the ftplink command needed?
1999-01-12 21:50:25 +00:00
Miguel de Icaza
ca39a2e6ee Windows NT portability fixes from Ilya.
Added create directory option to gnome menu.
Removed debugging messages

Miguel.
1999-01-08 20:38:27 +00:00
Miguel de Icaza
fc124973c9 1999-01-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_icon_list_drag_data_received): Do not update
	contents if nothing was done (ie, the drop was cancelled).
	(panel_create_file_list): Duh.  Restore this, as, ahem, we dont
	have banding selection on CList.
	(panel_icon_list_select_icon): Open the new panel only on button
	release.
	(panel_file_list_select_row): New panel started on clist when you
	press middle button.

	(panel_create_file_list): Ahaha!  I found that CList now has a
	gtk_clist_set_buttion_actions.  Go figure why we need this and why
	it was implemented, but now buttons work as they should on clist.
1999-01-08 03:03:58 +00:00
Miguel de Icaza
edf3d5bee0 1999-01-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_icon_list_drag_data_received): Do not update
	contents if nothing was done (ie, the drop was cancelled).

	* gdnd.c (gdnd_drop_on_directory): Do nothing if the files dragged
	are on the same directory we are.
1999-01-08 01:53:42 +00:00
Jonathan Blandford
d92f1d1971 1999-01-07 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_filter_cmd): Function filled in now.  Actually
	works (amazing!.)  Next: put a history on it, and maybe an event
	box for the label.

Also, moved delete file around -- apparently it's proximity to Close was
bothering people.
1999-01-07 21:40:50 +00:00
Jonathan Blandford
8651cbfe54 rudimentary begininnings of a new, revitalized status bar.
Comments are welcome, but probably a tad premature at this point.
dobedobedobedo...

man it's late...
1999-01-07 06:53:31 +00:00
Jonathan Blandford
e19f2af33f 1999-01-07 Jonathan Blandford <jrb@redhat.com>
* gscreen.c (x_create_panel): now uses gnome-appbar instead of the
	old, psuedo status bar.
1999-01-07 05:19:09 +00:00
Miguel de Icaza
b7744cce9d Fix the problem reported by Jonathan regarding selection not working in main gmc window -mig 1999-01-06 07:35:25 +00:00
Miguel de Icaza
c9fcd8fb86 1999-01-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (x_reset_sort_labels): Various fixes to fix some of my
	recent changes.  I bet Jonathan found that things were not quite
	working.  Sorry for the previous untested changes.

	This also fixes the bugs reported on gnome-list regarding the
	CList problems.  This is the correct fix (basically, we were using
	a CList that was configured in one way, even if the display format
	had changed.  Now, the CList is kept in sync with the format by
	calling a routine that somehow got dropped during some recent
	changes).

	* gtools.c (query_dialog): Simplified.
1999-01-04 07:29:48 +00:00
Miguel de Icaza
d0c5a70b4f Typo fix. It was making the code crash 1999-01-03 21:38:35 +00:00
Jonathan Blandford
d6016ea709 1999-01-02 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_sort_cmd): pretified
        (gnome_select_all_cmd): New command -- selects all files (in
        theory).

        * glayout.c: rearrange the edit menu some.


        * gscreen.c (x_create_panel): new icon view icons -- brief and
        custom.
1999-01-02 22:06:00 +00:00
Miguel de Icaza
597881b50f 1999-01-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_fill_panel_list): Assertion that will pin point
	if a CList gets out of sync with the panel->format.

1999-01-01  Momchil 'Velco' Velikov <velco@fadata.bg>

	* gscreen.c (panel_fill_panel_list): NULL terminate the column
	array.  This is strange, as it should not need the ending NULL.

1999-01-01  Jonathan Blandford  <jrb@redhat.com>
1999-01-02 02:21:14 +00:00
Miguel de Icaza
8b98d1ebb1 Attempts to get drag working again; Autoscroll works on listings 1999-01-01 02:04:59 +00:00
Miguel de Icaza
d24269087f Lots of usability changes for the desktop.
1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c (desktop_icon_delete): New function, used for
	dicon_delete.
	(load_desktop_icons): Implemented the incremental reloading of
	desktop icons.  This should make the code much nicer.
	(reload_desktop_icons): Call x_flush_events to force a display at
	that point.

	* gpopup.c (dicon_delete): Implement this operation.
	(desktop_icon_execute): Use the existing implementation for
	launching desktop icons instead of a new hacked up version

	(desktop_icon_actions): Until copy/move is implemented, do not
	even list them to the user.

	* gdesktop.c (create_desktop_dir): No trashcan setup until it
	works.

	* gscren.c (panel_widget_motion): Use button 2 for dragging and
	asking.
1998-12-30 02:51:01 +00:00
Miguel de Icaza
94d3dbac8b use notebook instead of hack, fixes 1998-12-30 00:32:41 +00:00
Elliot Lee
913f34276e well, it does 'open' and 'properties' on the desktop icons, SLIGHTLY.
gmc is a big piece of junk.
1998-12-21 23:29:46 +00:00
Miguel de Icaza
7071b26a27 Compilation fixes + 3-button fixes 1998-12-17 08:28:05 +00:00
Miguel de Icaza
3ac4cfa567 Merge from MC_MIME_TYPE branch. It has so many bug fixes you wont
even recognize it.

1998-12-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdialogs.c (create_op_win): Remove second spurious packing.
	(create_op_win): OP_MOVE uses the same stuff OP_COPY does.  Fix
	this.
	(file_progress_show_target): More compliant to the original
	functions.
	(file_progress_show_source): More compliant to the original
	functions.

	* gdesktop.c (create_desktop_dir): Fix mem leak.

Miguel.
1998-12-17 04:51:24 +00:00
Miguel de Icaza
9d3578f803 Revert last commit, this should have gone into a branch 1998-12-16 06:33:55 +00:00
Miguel de Icaza
cb83d83796 Commiting the MIME-based Midnight Commander code into the MC_MIME_TYPE branch 1998-12-16 06:25:41 +00:00
Miguel de Icaza
32d4527d2b WEEE! Updated Mime Stuff bindings inthe Midnight Commander now 1998-12-15 22:42:33 +00:00
Miguel de Icaza
57be822a72 one line bug fix to get gmc to compile with new gnomedock 1998-12-15 06:35:51 +00:00
Owen Taylor
923abee939 Mon Dec 14 11:39:38 1998 Owen Taylor <otaylor@redhat.com>
* gscreen.c (x_create_panel): Keep up with changes
	to GtkDockItem.
1998-12-14 16:38:38 +00:00
Miguel de Icaza
5e69e9af71 Go figure how this was missing now. 1998-12-14 04:23:33 +00:00
Owen Taylor
5f8bb62657 1998-12-12 Owen Taylor <otaylor@gtk.org>
* gscreen.c (panel_tree_drag_motion): Doubled timeout
	for autoexpand - reducing opening unwanted directories.
	(This, and auto-expand itself need to be configurable.)

	* gscreen.c (tree_drag_open_directory): Use
	gtk_ctree_expand() not gtk_ctree_expand_recursive,
	which increases confusion and could be
	_vvveeerrrryyyy_ expensive. (/afs ?)

	* gscreen.c (panel_tree_drag_leave): Fixed up
	signature - "drag_leave" has no x,y.

	* gscreen.[ch] (panel_tree_check_auto_expand): When
	we've expanded rows during a drag, collapse them
	again when the drag leaves that row. We try to
        collapse without changing the position of the current
        row on the screen.
1998-12-12 21:16:01 +00:00
Owen Taylor
5344eb2d94 1998-12-12 Owen Taylor <otaylor@gtk.org>
* gtkdtree.c (gtk_dtree_destroy): Remove timer upon
	destruction to be safe. (Should this, and
	dtree->timer_id itself be in gscreen.c instead?)

	* gscreen.c (panel_tree_drag_leave): Change == to !=
	so that timeouts are properly removed.
1998-12-12 19:29:38 +00:00
msw
4a445469be 1998-12-11 Matt Wilson <msw@redhat.com>
* gscreen.c: The solid lines in the tree are kinda harsh.  Replace
	them with soothing dotted lines.
1998-12-11 23:10:15 +00:00
Owen Taylor
bb4317f961 1998-12-11 Owen Taylor <otaylor@redhat.com>
* gscreen.c gdesktop.c gdnd.h: enable dragging locale files
	into Netscape.
1998-12-11 18:12:21 +00:00
Jonathan Blandford
2f6ecf8738 1998-12-11 Jonathan Blandford <jrb@redhat.com>
* gtkdtree.c (gtk_dtree_do_select_dir): fixed a little bug --
	caused a segfault.

	* gscreen.c (x_create_panel): More changes.  The toolbar is moved
 	to a gtk_toolbar, and is movable.  The entry will be put in it's
 	own toolbar, too.
	(panel_create_cwd): For now, hardcode the usize of the entry
 	widget.  Later on, have it expand (when toolbar supports it)
1998-12-11 06:48:21 +00:00
Jonathan Blandford
940cdf53c3 more gui. touch ups... The status bar is a bit more sane now 1998-12-11 02:47:09 +00:00
Miguel de Icaza
2f018f6938 1998-12-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_new): Use imlib's visual and colormap.
1998-12-09 01:56:24 +00:00
Miguel de Icaza
44caa06a7b Small improvements 1998-12-07 17:08:59 +00:00
Miguel de Icaza
a2840e0a69 Forgot these files 1998-12-05 23:19:57 +00:00
Miguel de Icaza
4a72b02987 Metadata-aware Midnight Commander. WEEEcvs update . 1998-12-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (load_imlib_icons): Make it use the new gicon files.

	* gicon.c, gicon.h: New files: they keep an image cache and
	provide the right icon to use based on the filename.  They use the
	GNOME metadata to fecth the "icon-filename" and "icon-inline-png"
	keys.

	* gdialogs.c (file_mask_dialog): Commented the help messages until
	the warnings are figured out.
1998-12-05 21:54:25 +00:00
Miguel de Icaza
6067afb1fc 1998-12-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_new): Connect the signals for DnD
	so that we can drag icons from the desktop.
	(drag_begin): New function to set the drag cursor for icons on the desktop.
	(button_press): New function that stores the hot spot position for
	DnD cursors.
	(drag_data_get): New function to fetch the URI-list of selected icons.

	* gdialogs.c: Fixed some includes.

	* gdesktop.h: Removed the DnD target enum from here, since it is
	specific to each submodule.

	* gdnd.h: Moved the DnD target enums to here.  Added a new
	TARGET_MC_DESKTOP_ICON.

	* gdesktop.c (get_icon_snap_pos): Fixed icon snapping; the
	coordinates not being updated correctly.

	* gscreen.c (panel_drag_data_get): Free the uri list; it was being leaked.
1998-12-05 01:01:13 +00:00
Miguel de Icaza
7d035cca51 Make the tree a drag source -mig 1998-12-04 21:32:19 +00:00
Miguel de Icaza
2eab3ff5f6 1998-12-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (load_desktop_icons): Added arguments that specify
	where to place the newly-created icons.  This needs some tweaking still.
	(reload_desktop_icons): Now takes arguments for the position of
	the new icons.
	(drag_data_received): Pass in the drop position to reload_desktop_icons().

	* gscreen.c (panel_tree_drag_motion): Added missing variable declaration.

	* gdesktop.c (load_desktop_icons): Added an incremental flag that
	specifies whether icon creation is unconditional regardless of
	whether there is an icon for a file or not.
	(reload_desktop_icons): Use the incremental flag in load_desktop_icons().
	(drag_data_received): Reload the desktop incrementally, to avoid flicker.
	(desktop_icon_info_new): Use mc_lstat(), not mc_stat().  We do
	want to read symlinks, even dangling ones, if they exist.
	(load_desktop_icons): While we are reading the desktop directory,
	first place all the icons that have their metadata icon-position
	set, and build a list of the ones that don't.  *Then* place
	those.  This fixes overlapping icons on weird situations.

	* directory.xpm: Removed bogus garbage.  There was a stale pixmap here.

	* gdesktop.c (setup_desktop_dnd): Allow for GDK_ACTION_ASK as well.

	* gscreen.c (panel_widget_motion): The action argument to
	gtk_drag_begin() is a mask of possible actions, not a single action.

	* gdesktop.c (drag_data_received): Only reload the icons if the
	drop was successful.
1998-12-04 02:08:06 +00:00
Miguel de Icaza
ce835ac9eb Small fix -mig 1998-12-03 23:50:05 +00:00
Miguel de Icaza
dbf640d8ad 1998-12-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_tree_drag_motion): Improve interactivity
	(x_create_panel): Add a little decorating frame.
1998-12-03 22:08:04 +00:00
Miguel de Icaza
ac7fc9b8b2 1998-12-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_create_icon_display, panel_create_file_list):
	Hook up to drag_begin and drag_end events.

	(panel_tree_drag_motion): Either queue a scroll on the tree, or
	queue an open-directory event.

	(panel_tree_scroll): Scroll the tree when the drag pointer is in
	one of the boundaries of the tree.

	(panel_tree_scrolling_is_desirable): new function to figure out if
	it is a good plan to scroll the tree view instead of opening it.

	(panel_chdir): Do not sync with the tree when we are in the middle
	of a drag and drop operation.

	(panel_drag_begin, panel_drag_end): New functions to keep track
	of the dragging operations.
1998-12-03 21:56:11 +00:00
Miguel de Icaza
414df0f7b7 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_tree_drag_data_received): Perform drag and drop
	operations on the Tree.
1998-12-03 16:10:25 +00:00
Miguel de Icaza
c0ac4984ab 1998-12-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (setup_desktop_dnd): New function to set up drops
	to the root window.
	(setup_xdnd_proxy): Function by Owen Taylor to set up a DnD proxy
	window.
	(drag_data_received): Function to handle drops on the root window.
	(desktop_destroy): Destroy the DnD setup.
	(reload_desktop_icons): New function to reload the desktop.

	* gscreen.c (drag_types, drop_types): Removed url-list; only
	uri-list should be there.

	* gdesktop.h: Removed TARGET_URL_LIST from the DnD enumerations.
1998-12-02 23:37:27 +00:00
Miguel de Icaza
befc99bf8d 1998-12-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_do_select_dir): Made static, as it is for
	internal use only.
	Fixed a little bunch of compiler warnings.

	* gscreen.c (x_fill_panel): Use gtk_dtree_select_dir(), not
	gtk_ctree_do_select_dir().

	* gpopup.c (gpopup_do_popup): Fixed incorrect assertion and
	actually create the menu (doh).
	(gpopup_do_popup): Do the same magic as in gnome-popup-menu to
	fetch the item that was activated in the menu.  Keep this code out
	of reach of children.
	(fill_menu): New function to fill the menu using the
	gnome-popup-menu magic for fetching the activated menu item.
	Removed ifdef'ed code.
1998-12-02 20:24:25 +00:00
Miguel de Icaza
dabe341f88 1998-12-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
* configure.in (slang_use_system_installed_lib): Define slang
	here, to avoid having this on LIBS.

1998-11-26  Herbert Valerio Riedel  <hvr@hvrlab.ml.org>
1998-12-02 06:51:40 +00:00
Miguel de Icaza
e265fe2067 1998-12-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
* glayout.c (file_menu): Use view_cmd and view_simple_cmd in the
	menu instead of panel_action_view and
	panel_action_view_unfiltered, respectively.

	* gpopup.c (create_regexp_actions): Create the menu items using
	gnome-app-helper, for visual consistency.
	(create_actions): Likewise.  Also, fixed S_ISLNK() confusion.
	(get_label_text): Extract the label from the GnomeUIInfo item in
	an ugly way.
1998-12-02 06:33:07 +00:00
Miguel de Icaza
aaa7b5e9a2 Lots of changes:
- GNOME edition now compiles without any trace of the text mode
  dependencies.

- We no longer link with libraries we do not use (crypt, gpm), this
  fixes the recent bug reports.

- More tree updates, enhancements.

Miguel.
1998-12-02 05:18:20 +00:00
Miguel de Icaza
a065078165 1998-12-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_switch_new_display_mode): Destroy the old
	widget.  Add the list view to the proper table.

	* glayout.c: Remove the exit menu option.

	* gtree.c (gtk_dtree_contains): New routine used to avoid
	duplicate entries in the tree display.
1998-12-01 21:56:54 +00:00
Miguel de Icaza
4dbadb32ec Sync to laptop - Federico 1998-12-01 06:23:50 +00:00
Miguel de Icaza
deec804b4a More work on the tree. It is duplicating entries, you have been warned -mig 1998-12-01 06:12:34 +00:00
Elliot Lee
d21198eb61 s/gtk_container_border_width_/gtk_container_set_border_width/
Remove OBJ_DIR junk from autogen.sh.
1998-12-01 05:13:40 +00:00
Miguel de Icaza
7ee95e588f Sync sync - Federico 1998-12-01 00:33:02 +00:00
Miguel de Icaza
43931af464 Sync from laptop to desktop - Federico 1998-11-30 16:59:23 +00:00
Miguel de Icaza
a175deb9c5 Disable the Tree autosync until I make it less stupid to avoid expensive rescans -mig 1998-11-29 08:22:20 +00:00