Commit Graph

21 Commits

Author SHA1 Message Date
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
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
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
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
436638f2bd 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (setup_icon_dnd_dest): Always specify ACTION_MOVE,
	since we want to be able to move the icons around.  Connect to the
	drag_motion signal.
	(dnd_icon_targets): List desktop icons as a target to be able to
	move them just a notch in the desktop.
	(icon_drag_motion): Decide which action we can use for dropping
	stuff on a desktop icon.
	(setup_icon_dnd_dest): Always specify all the actions.
	(icon_drag_data_received): Allow for icons to be moved just a
	notch by accepting drops from icons.

	* gdnd.h: Added #defines for the DnD target type names.

	* gdnd.c (gdnd_init): New public function to intern the target
	atom names.
	(gdnd_drag_context_has_target): New public function to see if a
	drag context has a certain target type.

	* gdesktop.c (setup_desktop_dnd): Do not use
	GTK_DEST_DEFAULT_MOVE, and connect to drag_motion.
	(desktop_drag_motion): If we are dragging from a desktop icon,
	indicate the action as MOVE.  Otherwise, force the action to be
	LINK unless the user explicitly requested ASK.
	(setup_desktop_dnd): Intern the atoms for the drop targets.
1999-01-21 09:46:01 +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
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
Miguel de Icaza
94d3dbac8b use notebook instead of hack, fixes 1998-12-30 00:32:41 +00:00
Miguel de Icaza
67e7800efe Fix the popup table -mig 1998-12-17 08:39:16 +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
accb3df6e6 1998-12-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdnd.c (perform_action): Fixed a pair of incorrect braces.
	Files were not being operated on because of this.
1998-12-14 01:36:24 +00:00
Miguel de Icaza
b12350861b 1998-12-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdnd.c (get_action): Typo fix.
1998-12-05 22:53:30 +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
c9ac26efb4 1998-12-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* cmd.c, tree.c: Updated to the new file.c api.

	* file.c: (copy_file_file, copy_dir_dir, move_file_file,
	move_dir_dir): Updated to work with the new updating stuff.

	* setup.c: New configuration option to compute the totals to be
	transfered.

	* file.c (compute_dir_size, panel_compute_totals): New routines to
	compute the total ammount of information that is going to be
	transfered.
1998-12-04 23:39:41 +00:00
Miguel de Icaza
43931af464 Sync from laptop to desktop - Federico 1998-11-30 16:59:23 +00:00
Miguel de Icaza
1a9c7f3274 IconList changes for gmc 1998-11-29 07:50:44 +00:00
Miguel de Icaza
74c83737fd 1998-11-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* Makefile.in (OOBJS): Add filegui.o back until the GTK-specific
	filegui is written.

	* gdesktop.c (check_window_in_one_panel): Provide better error
	messages here for debugging purposes.

	Disable stubs for filegui.c until they are actually implemented.
	I need to debug stuff.

	* gdnd.c (find_panel_owning_window): Use the new
	gtk_drag_get_source_widget function to find out reliably if the
	drag source happens to be in this application.

	* gscreen.c (x_create_panel): Set the usize for the ministatus
	label to be (0, -1), this means: do not request any horizontal
	space, use any vertical space given.

	Put the ministatus inside an hbox, and use
	gtk_container_set_resize_mode in this hbox to stop any queue
	events from being propagated up in the hierachy of widgets

	This kills all of the CList/GnomeIconList/Scrollbar/Toolbar
	flickering now.
1998-11-28 03:12:13 +00:00
Miguel de Icaza
af807858c2 1998-11-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Makefile.in (OOBJS): Do not link ../src/filegui.o.  GMC does not
	link right now, but I guess I'll add stubs until we finish with
	the dialog boxes.

	* gdnd.c: #include <sys/types.h>

	* Makefile.in (checklinks): Fix sourcelinks -> maksourcelinks typo.
1998-11-20 05:14:38 +00:00
Miguel de Icaza
c346f8892e 1998-11-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Makefile.in: Removed gtrans.c from the list of sources.

	* gdesktop-icon.c: #ifdef cleanups.

	* gscreen.c (panel_create_file_list): Doh.  Return the scrolled
	window, not the clist.

	* gdnd.c (get_action): Implement the DnD actions menu.

1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* setup.c: Removed the icons_snap_to_grid and
	want_transparent_{icons,text} options.
1998-11-11 00:05:12 +00:00
Miguel de Icaza
2c1226f796 The clist is not working, I'll fix that when I get home - Federico
1998-11-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdnd.c: New file that handles all the DnD stuff.  Mainly used to
	clean up gdesktop.c.

	* gscreen.c (panel_icon_list_drag_data_received): Use
	gdnd_drop_on_directory().
	(CLIST_FROM_SW): Added this macro to fetch the clist from the
	scrolled window in panel->list.
	(panel_create_file_list): Create a scrolled window and put the
	clist inside it.  This is required per the new clist API.
	(panel_configure_file_list): Use the scrolled window's adjustment.
	(panel_file_list_size_allocate_hook): Use the scrolled window
	instead of the clist.
	(panel_file_list_compute_lines): Use the scrolled window instead
	of the clist.
	(panel_file_list_configure_contents): Use the scrolled window
	instead of the clist.
	(panel_create_file_list): Do the DnD setup here, not in the
	realization callback.
	(x_create_panel): Do not realize the panel explicitly.
	(panel_create_pixmaps): Create the pixmaps using imlib instead of
	Gdk.
1998-11-10 02:28:34 +00:00