Commit Graph

198 Commits

Author SHA1 Message Date
Owen Taylor
758260fcc5 1998-12-11 Owen Taylor <otaylor@redhat.com>
* gdesktop.c (window_button_press): Ehen cancelling editing
	account for clicks on other GMC windows.
1998-12-11 17:49:09 +00:00
Miguel de Icaza
fd76543150 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (click_proxy_filter): Doh.  We may get DestroyNotify
	for other windows than the proxy, so deal with it.
1998-12-11 15:39:59 +00:00
Miguel de Icaza
105a42e0bb 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (click_proxy_button_press): Use a nice arrow cursor
	for rubberbanding.
	(click_proxy_filter): Keep a firm jaw when the window manager dies
	and thus the proxy window is destroyed.
	(setup_desktop_click_proxy_window): Moved the proxy window
	creation code to this function.
	(click_proxy_property_notify): Handle PropertyNotify events from
	the root window for when the proxy window changes.  Now the window
	manager can restart itself as it pleases and GMC will handle it
	correctly.
1998-12-11 15:20:25 +00:00
Miguel de Icaza
741d37e4eb 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
Wheeeee!  Desktop icons can be selected by rubberbanding.  You
	need Englightenment to do this, as so far it seems to be the only
	WM with support for the _WIN_DESKTOP_BUTTON_PROXY property.

	* gdesktop.c (click_proxy_filter): New event filter for button
	presses and releases on the root window.
	(click_proxy_button_press): New function to handle button presses
	on the desktop.
	(click_proxy_button_release): New function to handle button
	releases on the desktop.
	(click_proxy_motion): New function to handle rubberbanding motion
	on the desktop.
	(setup_xdnd_proxy): Flush the server after ungrabbing it.
	(find_click_proxy_window): Flush the server after ungrabbing it.
	(store_temp_selection): Stores the temporary selection to the
	master selection, or viceversa.  This is needed for dynamic
	updating while the user rubberbands.
	(update_drag_selection): New function to update the selection
	while the user is rubberbanding on the desktop.
	(icon_is_in_area): New function to see if an icon is inside the
	rubberbanding area.

	* gdesktop-icon.h: Added fields for querying the icon and text
	position and size.

	* gdesktop-icon.c (desktop_icon_reshape): Set the position and
	size fields as computed for layout.
1998-12-11 12:59:47 +00:00
Owen Taylor
3c8529fac4 1998-12-11 Owen Taylor <otaylor@redhat.com>
* gdesktop.c (editing_started): Grab on the window for the
	icon, not on the canvas, so we can properly detect
	clicks elsewhere.

	(icon_button_release_after): When the user stops selecting,
	regrab the pointer.
1998-12-11 08:58:26 +00:00
Miguel de Icaza
34a33b2a7a 1998-12-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gcmd.c: #include "../vfs/vfs.h"

	* gdesktop.c (setup_icon_dnd_actions): Moved the code that calls
	gtk_drag_source_set() for an icon here.
	(editing_started): Temporarily disable drags while the icon's text
	is being edited.
	(editing_stopped): Re-enable DnD from the icon once editing has
	stopped.
1998-12-11 03:18:41 +00:00
Miguel de Icaza
30b4af8f26 1998-12-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (dnd_select_icon_pending): Added this flag that
	specifies whether a selection is pending for an icon if the user
	was holding the Control key down while clicking.  We have to delay
	selection in this case so that DnD will work correctly, just like
	Windows.
	(icon_button_press): New function that handles button presses on
	icons; it obsoletes the old desktop_icon_info_event().
	(icon_button_release): New function that handles button releases
	on desktop icons; it will do what is appropriate if there was a
	pending icon selection.
	(drag_begin): Handle pending selections as appropriate.
	(unselect_all): Added an paremeter that specifies which icon to
	exclude from unselection.
	(editing_started): Unselect all icons but the one for which
	editing has started.
	(dnd_icon_sources): Changed the MIME-types for internal drops to
	"application/x-mc-desktop-icon".
	(click_proxy_window): New variable that stores the proxy window
	for clicks on the desktop.
	(setup_desktop_clicks): New function that sets up clicks on the
	root window.
	(find_click_proxy_window): New function to find and set up the
	window for proxying clicks from the root window.

	* image.metadata.in: Added case for `jpg', as there was only a
	case for `jpeg'.
1998-12-11 02:05:19 +00:00
Miguel de Icaza
2ea209b24d Sync to laptop; I'm in the process of re-arranging the desktop icon selection code - Federico 1998-12-10 00:46:14 +00:00
Miguel de Icaza
44a1b32eeb 1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
	for reference purposes.

	* gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
	it is obsoleted by gicon_get_icon_for_file().

	* gdesktop.c (desktop_icon_info_new): Made it use
	gicon_get_icon_for_file().

	* gdesktop-icon.c (set_icon): Now we handle things internally
	using an imlib image, not a filename.
	(desktop_icon_new): Now takes an imlib image for the icon instead
	of a filename.
	(desktop_icon_set_icon): Likewise.
1998-12-09 17:23:38 +00:00
Miguel de Icaza
b7adce5cf3 1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (icon_drag_data_received): Doh.  Use the correct
	pathname when calling gdnd_drop_on_directory().
1998-12-08 23:21:15 +00:00
Miguel de Icaza
f41a3e71b8 1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_new): Do not stat the file, as we
	do not need that information anymore.
	(setup_icon_dnd_source): Moved the DnD-as-source code to here.
	(setup_icon_dnd_dest): New function to set up an icon as a DnD
	destination.
1998-12-08 01:31:17 +00:00
Miguel de Icaza
23d7825dd2 1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_place): Doh, do not place icons
	past the edge of the *whole* screen :-)
	(dnd_press_x dnd_press_y): New variables to store the cursor
	hotspot for DnD icons.  Moved these over from the
	desktop_icon_info structure, as it does not make sense to have
	this inside every icon.
	(button_press): Use dnd_press_x and dnd_press_y.
	(drag_begin): Likewise.
	(drop_desktop_icons): Use dnd_press_x and dnd_press_y to fix the offsets.
	(drag_data_received): Fix the proxy window offsets for all types
	of targets.
	(drop_desktop_icons): Snap the coordinates as appropriate.
1998-12-07 21:07:27 +00:00
Miguel de Icaza
8942d7e613 1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (drop_desktop_icons): New function to perform a drop
	from desktop icons to the desktop.  It effectively moves the icons
	around.
	(desktop_icon_info_place): Do not place the icons past the edge of
	the screen.
1998-12-07 15:47:00 +00:00
Miguel de Icaza
c7776d7577 1998-12-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (file_entry_from_file): Finished implementing
	file_entry_from_file().
	(struct desktop_icon_info): Removed the `type' field.  We now stat
	the file when needed to figure out the file type.
	(desktop_icon_info_event): Test whether the file is a directory by
	ourselves, and if it is, open a new panel for it.
	(drag_data_get): Generate the uri-list for internal desktop icon
	drags as well.
1998-12-07 02:36:47 +00:00
Miguel de Icaza
9bd86254e3 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
* Makefile.in (codedirs): Dropped xv and tk ports from the
	distribution. include idl directory.

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>

	* gtkedit.c: changed occurence of 'va_list *ap' to 'va_list ap'

Thu Nov 26 12:20:06 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* config.h.in: Removed from CVS, added to .cvsignore

	* acconfig.h, macros/curses.m4, src/xcurses.c, src/tty.h,
	configure.in:
1998-12-06 21:01:30 +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
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
e32b604fb3 Typo fixes - Federico 1998-12-03 16:11:01 +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
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
4dbadb32ec Sync to laptop - Federico 1998-12-01 06:23:50 +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
7b89c91ebb 1998-11-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_event): Run the popup menu for the
	icons in the desktop.

	* gpopup.[ch]: New files that take care of the popup menus for
	files in the desktop and in the panels.

	* Makefile.in: Added gpopup.[ch] to the list of sources.
1998-11-25 03:29:23 +00:00
Miguel de Icaza
0cd03f0e0c 1998-11-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_place): Save the icon position
	when it is moved.
	(desktop_destroy): Removed the save_icons_pos() function and do
	not invoke it from desktop_destroy().
1998-11-24 03:58:05 +00:00
Miguel de Icaza
e82ec47dd3 1998-11-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c: Put in a bunch of stubs for the functions in
	filegui.h.  These will be removed as the dialogs get
	custom-written for Gnome.

	* gmetadata.[ch]: Changed the function names to "gmeta_*".

	* gscreen.c (CLIST_FROM_SW): Use scrolled_window->child, as
	viewport is obsolete.

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

	* dlg.c (dlg_try_hotkey): Removed unused declaration of input_event.
	(dlg_key_event): Return 1 if handled the tab key.

	* filegui.h: Added prototypes for file_progress_show_{source,target,deleting}().
1998-11-23 22:09:58 +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
615609b324 Sync - Federico 1998-11-07 01:19:53 +00:00
Miguel de Icaza
d414f76816 Sync sync - Federico 1998-11-05 23:24:47 +00:00
Miguel de Icaza
b058121a8b Sync sync - Federico 1998-11-04 23:01:24 +00:00
Miguel de Icaza
146fbe25fb 1998-11-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (select_icon): Raise the icon when it is selected.
1998-11-04 16:51:57 +00:00
Miguel de Icaza
75eb5db939 1998-11-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (select_range): Doh.  Fix dii -> ldii typo.  Also,
	use Windows semantics -- ranges are considered rectangular instead
	of linear.
1998-11-03 16:29:47 +00:00
Miguel de Icaza
2f091b9509 1998-11-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c: Now desktop icons are stored in the layout_slots
	array.  We need to know which icons are in which slots.
	(unselect_all): Use the layout_slots array.
	(desktop_icon_info_place): Append the icon to the list in the
	proper slot.
	(desktop_icon_info_new): Initialize the position and slot fields
	in the desktop icon info structure.
	(desktop_icon_info_free): Remove the icon from its slot.
	(desktop_destroy): Destroy the layout slots and the icons
	properly.
	(remove_from_slot): New convenience function to remove an icon
	from the slot it is in.
	(get_icon_snap_pos): Do a bit nicer snapping by really using the
	closest slot.
	Added a last_selected_icon variable to keep track of the icon that
	was last selected, for shift+click selections.
	(select_icon): Finish selection semantics and clean up.  Now it is
	nice and simple and complete.
	(select_range): New function that handles range selections.
1998-11-03 01:32:38 +00:00
Miguel de Icaza
4aeaf0099f Make it compile 1998-11-02 07:26:19 +00:00
Miguel de Icaza
5fa467aa00 1998-11-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.h (DesktopIcon): Added a child item for stippling
	the icon when it is selected.

	* gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
	as appropriate.

	* gdesktop.c (desktop_icon_info_event): Handler for events on
	desktop icons.
	(select_icon): New function that handles icon selection based on
	mouse clicks and modifier keys.

	* gdesktop.c (struct desktop_icon_info): Added a type field to the
	structure.  It specifies the type of icon (file, directory), and
	is used to determine the DnD and menu behavior.
1998-11-01 23:21:24 +00:00
Miguel de Icaza
f64d6da2e4 1998-10-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c: We are now using the new desktop icon code.  It is
	not yet complete, but what is there does work.  We have icon
	creation, auto-layout and snapping.  Next step is drag and drop
	and popup menus.

	* glayout.c: #ifdef out the stuff that uses the old desktop code.
	I will replace it gradually.
	* gmain.c: Likewise.
	* gscreen.c: Likewise.
1998-10-30 23:22:35 +00:00
Miguel de Icaza
8e3b730338 Small warning fixes.
Miguel.
1998-10-30 17:51:28 +00:00
Miguel de Icaza
e704d53f77 sync sync - Federico 1998-10-30 17:08:03 +00:00
Miguel de Icaza
903eb5a880 Sync to laptop; I ifdef-ed the old code just so that it will compile - Federico 1998-10-30 00:47:54 +00:00
msw
12f7db92e9 Wed Oct 28 14:34:22 EST 1998 Matt Wilson <msw@gimp.org>
* gnome/gdesktop.c, gnome/gdesktop-icon.c:
	  s/desktop-icon.h/gdesktop-icon.h/g
1998-10-28 19:31:04 +00:00
Miguel de Icaza
3a4a872fd2 Sync from laptop: Get CList mode working; Parts of the window detection code -mig 1998-10-28 01:47:57 +00:00
Miguel de Icaza
c5dca5a751 1998-10-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_set_position): Do not lower the
	window.  The gnome-compliant wm will know what to do with windows
	on the Desktop layer.
	(post_setup_desktop_icon): Likewise.

	* desktop-icon.c (create_window_shape): Fetch the mask of the
	image "by hand", as we cannot rely on the canvas item having
	created it yet.

	* desktop-icon.c (desktop_icon_realize): Doh.  We need to
	initialize the gnome_win_hints before we set any of the hints.
1998-10-26 23:19:37 +00:00
Miguel de Icaza
772cae09e0 Fixes for desktop icons - Federico 1998-10-23 14:31:02 +00:00
Miguel de Icaza
e7911e2b15 Sync sync - debugging time - Federico
1998-10-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.c (create_desktop_icon): Renamed from
	my_create_transparent_text_window.  Now uses the DesktopIcon
	widget for its work.
	(get_desktop_icon_for_dentry): Renamed from
	get_transparent_window_for_dentry.  Uses the DesktopIcon widget.
	(get_desktop_icon_for_di): Renamed from
	get_transparent_window_for_di.
	(desktop_icon_properties): Do not size_request the icon, since now
	we can get its dimensions directly from the DesktopIcon structure.

	* desktop-icon.[ch]: New file that takes care of desktop icons.
	It provides the spiffy widget that is used for them.

	* Makefile.in: Added desktop-icon.[ch] to the list of sources.
	MC should use Automake, I think.
1998-10-22 00:32:21 +00:00
Miguel de Icaza
cd9efdc2dd Yes, we are a drop target. With all of the features requested on the
mail I got from DrMike some months ago :-)

It needs a bit of debugging still

Miguel
1998-10-21 18:05:08 +00:00
Miguel de Icaza
809d80eb90 Ok, Midnight Commander is now a nice, wonderful Drag source for the
new DnD.  Boy, is it cute.

Question:  should I use the default icon for DnD provided by Gtk+
or use the old icons I have? the old icons are a bit more sexy.

Miguel.
1998-10-21 01:09:50 +00:00
Miguel de Icaza
e591c91db2 - Make input handling work nicely on the icon list.
- First pass at the new drag and drop protocol, using the
  default handlers, more work on this tomorrow.
1998-10-20 05:37:45 +00:00
Miguel de Icaza
215cd45d16 Sync for laptop, do not touch this for now 1998-10-20 01:52:16 +00:00
johne
49643c9ffb gdesktop.c: launcher-program.xpm to png. 1998-09-17 05:42:05 +00:00
Raja R Harinath
25ed8288b9 * gdesktop.c: Include "mad.h", for xmalloc.
* gkey.c: Likewise.
* gscreen.c: Likewise.
(panel_create_file_list): Use `g_free', not `free'.
1998-08-20 22:04:52 +00:00
The Rasterman
5240be11ae Wed Aug 19 19:45:16 EDT 1998 The Rasterman <raster@redhat.com>
* gdesktop.c - changed dnd setting routine for desktop icon to set
	events on child window...
	* gtrans.c - chnaged routines to make window with
	child rawing area and set shape on parent window
1998-08-19 23:39:57 +00:00
Miguel de Icaza
465cd6bda9 VFS changes from the list; A lot of fixes for the GNOME interface
that have been reported.  More to come.
1998-06-03 14:08:47 +00:00
Miguel de Icaza
08dc3ad481 Only process drop events for the data types we actually know.
Should help Jaka's MDI.

Miguel
1998-05-27 00:21:32 +00:00
Miguel de Icaza
fa9cc8e6a9 1998-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_create_directory_entry): Fix, make a
	g_strdup copy of the name. Fixes bug report #78.
	(desktop_icon_context_popup): Simplified this routine as we are
	using file_popup now anyways.
1998-05-25 22:16:11 +00:00
Miguel de Icaza
0baa6ae099 Weee! First bugs fixed from the Bug tracking system:
1. Selecting text in an input line and typing a char
   now does the expected thing (Bug #17)

2. Drag and drop betwen icon view was broken (Bug #16
   (This is a bug introduced by the fact that when Icon
   View was introduced, I left the testing for the view
   mode here and there)

Extra stuff: runtime warnings fixed when creating a new window;
moved the "new window" option to the "file" menu, it makes more
sense there.  Force event flushing when I change the progress
status for vfs code.

Miguel
1998-05-24 22:21:56 +00:00
Miguel de Icaza
a416ee4f7b Cool changes:
1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (x_create_input): Disable the use of the GNOME entries
	for now, as they are very slow.  We need to figure out what is
	wrong with this.

	With this change, dialog boxes close quickly instead of taking
	ages to close.

	* gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
	Share the context menu code in gdesktop.c and gscreen.c.  The
	desktop pop up menus now include all of the stuff that would have
	appeared in the Panel.

	* gdesktop.c (desktop_icon_remove): Remove the file associated
	with this desktop entry if it is on the ~/desktop directory.
1998-05-23 00:55:03 +00:00
Miguel de Icaza
3c06d7ee5e Do not lower on expose -mig 1998-05-21 18:52:35 +00:00
Elliot Lee
22118c031b Lower icons on expose 1998-05-21 17:21:59 +00:00
Miguel de Icaza
3a3c99ed4c Pass1 of the QNX port of mc from Tamasi Gyorgy 1998-05-20 02:12:06 +00:00
Miguel de Icaza
96c55ff5bb Various memory leak fixes.
Miguel.
1998-05-19 18:37:03 +00:00
Tom Tromey
7c515a1b5c Sat May 16 02:29:51 1998 Tom Tromey <tromey@cygnus.com>
* gdesktop.c (url_dropped): `exec' field of desktop entry now a
        vector.
        (dentry_execute): Likewise.
        (desktop_icon_remove): Likewise.
        (get_transparent_window_for_dentry): Likewise.
        (desktop_create_directory_entry): Likewise; also initialize
        exec_length.
1998-05-16 20:54:28 +00:00
Miguel de Icaza
41871990d5 1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_drag_start): Do not attempt to use
	icons if we could not load the images for the icon.
1998-05-05 08:08:56 +00:00
Miguel de Icaza
6e4c1d461d 1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (perform_drop_manually): Use p to walk the dropped
	data.  This is an important bug fix.
1998-05-05 02:47:43 +00:00
Miguel de Icaza
29726d03dc Simple fix for dnd symlinks -mig 1998-05-04 04:33:53 +00:00
Miguel de Icaza
98ff71d81f - Simplified the update_panels routine to only care about the current
panel, the old way of using it was an historic relic.

- This now works properly with the GNOME edition.

- Finished/fixed the implementation of the desktop-remove-icon
  functionality.

- Raster's new multi-ok window.  For some reason this is not getting
  loaded.   I am compiling gdb 4.17 now, as it is better for egcs
  output.

Miguel.
1998-04-30 03:21:52 +00:00
Miguel de Icaza
301a9f4846 Put desktop icons on bottom 1998-04-23 18:23:32 +00:00
Miguel de Icaza
f1afd65290 Property changes on the desktop -mig 1998-04-17 02:23:29 +00:00
Miguel de Icaza
3b2ad8a238 Lots of prototypes added, warnings removed -miguel 1998-04-17 00:59:58 +00:00
Miguel de Icaza
0f31fb67d0 Fixes 80% of the bugs reported by Elliot on his last email.
This does not fix some major "problems", which require some bigger
changes to the program.

Miguel.
1998-04-17 00:21:53 +00:00
Miguel de Icaza
515e64efdc 1. Use the old artificial drag start code.
2. Load/Save desktop-icon transparent state.
3. Add arrange icons code.
4. Add snap to grid option (default now).
5. Fixed viewer crash.

Still left to do:
- Nice config dialog to set the above variables.
1998-04-15 03:16:29 +00:00
Miguel de Icaza
de86596546 Assorted bug fixes -mig 1998-04-09 21:59:32 +00:00
Miguel de Icaza
e0c843048c A bunch of extra TODO items from DrMike have been adressed.
- Double click should work.
- Dragging to other panels shoudl work
- Scrollbar in the viewer
- Entry widgets get their text selected at startup
- Prompts for command if default action does not exist for a filename
- Updated spanish translation.

Plus some other bugs I fixed.

Miguel
1998-04-09 04:58:24 +00:00
Miguel de Icaza
ca2ffb99b6 Various fixes reported by DrMike:
- Nicer dialog destruction (no flicker)
- refresh of panels after a drop.
- Pause after run is gone in the gnome edition.
- Improved layout for options dialog box.
- Checkbox widgets are implemented, they now work.

Miguel.
1998-04-07 23:45:27 +00:00
Miguel de Icaza
0842a5390c 1998-03-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcache.c: Added an Image cache for all of the imlib-loaded
	images to avoid destroying/reloading the images.

	* gdesktop.c, gtrans.c: Use the image cache.
1998-04-01 00:52:33 +00:00
Miguel de Icaza
8c4cee34c3 Temporary work around for the buggy DnD implementation in Gdk:
Gdk should not be sending drag_begin_events if a drag event has not
finished.

Gdk has some wierdo way of moving the shaped window, it flashes a
*lot*.

This basically avoid leaving garbage on the desktop, but it is not
the best fix.

Miguel.
1998-03-31 07:35:38 +00:00
Miguel de Icaza
391f08d9e5 Initialize dentry->geometry -mig 1998-03-25 19:29:12 +00:00
Miguel de Icaza
ac70e34d02 MC goes Internationallsls./gmc Spanish translation almost complete -mig 1998-03-25 05:16:00 +00:00
Miguel de Icaza
f29db51778 cwd input line works/filter handling works/clipping label widget/flashing removed -mig 1998-03-24 05:25:56 +00:00
Miguel de Icaza
92ecd7af62 nlink_t patch for some sysvr3 system by Philippe De Muyter 1998-03-23 17:49:04 +00:00
Miguel de Icaza
25d833d805 1998-03-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (icon_properties):
	* gpageprop.c (item_properties): Modified to accept dentry title
	changes as well.
	(item_properties): Fixed base and fname confusion in call to
	concat_dir_and_file().

	* gprop.c (gprop_general_new):
	(gprop_general_get_data): Renamed to general from icon.  The
	general Gprop now lets you enter the title and icon filename for a
	dentry.
1998-03-20 23:38:43 +00:00
Miguel de Icaza
8dc04e93bd 1998-03-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (icon_properties): Whoops, actually save the dentry.
	(post_setup_desktop_icon): Moved the icon positioning call outside
	of this function so that property-changed icons will not move on
	the desktop.
1998-03-20 06:00:20 +00:00
Miguel de Icaza
1cdbe8dbda 1998-03-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_context_popup): It is not necessary to
	set the menu position.
	(desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
	items with gtk_widget_destroy as a callback so that we can destroy
	the menu widget appropriately.
1998-03-20 05:41:30 +00:00
Miguel de Icaza
442ad09caf 1998-03-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (get_transparent_window_for_dentry): New function,
	creates the proper transparent icon window for a dentry.
	(post_setup_desktop_icon): New function, does post-setup stuff for
	a desktop icon (setting it as a drop target, positioning it, etc.).

	* gpageprop.c (item_properties): Now the dentry parameter is a
	desktop_icon_t instead.
	We now return a bitmask that indicates what stuff changed.  The
	caller can use this information to decide what to update, repaint, etc.

	* gdesktop.h: Moved the icon_t and desktop_icon_t structures here.

	* gpageprop.c (item_properties): Insert icon control if appropriate.

	* gprop.c (gprop_icon_new):
	(gprop_icon_get_data): Renamed from gprop_dir_*().

	* gscreen.c (panel_action_properties): Re-reads panel only if necessary.

	*gpageprop.c (item_properties): now returns TRUE if something got
	changed, FALSE otherwise.  This should be used to decide whether
	to re-read the panel or not.

	* gpageprop.c: #include "../vfs/vfs.h".
	#include "dialog.h".

	* gprop.c (gprop_dir_new):
	(gprop_perm_new):
	(gprop_general_new): Connect to the destroy signal of the toplevel
	widget and destroy the Gprop structure on the callback.
1998-03-20 02:00:09 +00:00
Miguel de Icaza
213a417181 We had time, so we wrote property pages for desktop, files and children all alike -mig and federico 1998-03-19 04:51:17 +00:00
Miguel de Icaza
84013cb8d5 Wed Mar 18 20:35:45 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
	target in mc.ext now.

	* Add support for dragging the icons on the desktop.

	(desktop_icon_make_draggable): new function.
	(drop_from_event): simplify.
	(my_create_transparent_text_window): Get the motion notify event.
	(drops_from_event): create a vector based on thge drop event.
	(drop_cb): splitted, call url_drop for regular drops, otherwise it
	is a icon drop.
	(artificial_drag_start): new routine, used now by gscreen.c and
	gdesktop.c
	(drop_on_directory): Check result value of operation.
	(desktop_icon_set_position): sane interface.
	(stop_desktop): Flush all of our state to disk.
1998-03-19 02:57:01 +00:00
Miguel de Icaza
c996c5ddd2 Lots 1998-03-18 06:24:20 +00:00
Miguel de Icaza
2837e8f447 root window accepts drops (does not do anything yet)
setups a simple ~/desktop directory with a link to the home dir
various random bits documented in the changelog
1998-03-17 08:27:10 +00:00
Miguel de Icaza
9d4987c84b Mon Mar 16 13:03:45 1998 Pavel Roskin <pavel@absolute.spb.su>
* cmd.c: Internal edit is used by default. vi may be
        confusing for some users.

	* tree.c: tree_rmdir_cmd() should not return any value,
        because it is not analyzed for errors.

	* main.c: NT code: use O_BINARY instead of _O_BINARY

	* util.c: DO not test for arguments that do not make sense under
	Windows NT.

	* file.c: utime.h always included for Windows NT port.

	* view.c: Events are flushed only if the ports supports it.


Lots of Windows/NT changes, but I will let Pavlov write the ChangeLog
entries.

Mon Mar 16 13:05:47 1998  Pavel Roskin <pavel@absolute.spb.su>

	* tkview.c: Include stdio.h;  Minor spelling corrections added.
1998-03-16 19:09:24 +00:00
Miguel de Icaza
c6d65c1bd3 Add a couple of icons for devices and symlinks 1998-03-10 06:31:01 +00:00
Miguel de Icaza
33929b0be0 Make it compile - miguel 1998-03-06 06:16:30 +00:00
Miguel de Icaza
73ba8fe2d5 Panels support drops now + some other changes 1998-03-06 06:03:30 +00:00
Miguel de Icaza
89821ca886 Piles of bug fixes; piles of new toys; running to a dinner, comment later -mig 1998-03-05 04:53:47 +00:00
Miguel de Icaza
c9c591769e Gazillions of fixes today to the File Manager:
- Layout file is now installed and used properly.  That means
  that you can actually run the code.

- Buttons actually work in the GtkTed and the regular use
  thanks to GrossHack(tm).

- File operations are working!  Weee!  Copy and Move work as
  well as the warning dialog boxes for all kind of stuff;

- Progressive display is pretty cool, you have to see it.

- Dragging files to desktop icons now allows you to copy/move
  (supported both the remove and local cases, with the obvious
  optimizations).

Still missing:

   - Using Elliot's shaped windows for dnd.
   - Allowing the arbitrary placement of desktop icons by dnd.
   - dropping files into .desktop files.
   - drop support on the panels (right now they only work right
     as drag sources).

Weeeeeee!   Total excitement.  Total and absolute.

Miguel.
1998-03-04 06:28:35 +00:00
Miguel de Icaza
099b76ec92 gscreen.c - guess - mig 1998-03-04 00:56:14 +00:00
Miguel de Icaza
644baf741f More drag and drop work; the desktop is usable in some areas now 1998-03-03 05:20:20 +00:00
Miguel de Icaza
8222d0bd69 more stuff, breaks on dragging from file manager to a target 1998-03-03 00:31:05 +00:00
Miguel de Icaza
3d9ea977f0 More work -mig 1998-03-01 01:29:42 +00:00
Miguel de Icaza
40f47113e0 sync to my home copy 1998-02-28 02:23:00 +00:00
Miguel de Icaza
45069895ee No wonder nobody who got the tar file got mc to work with gnome :-) 1998-02-27 05:10:44 +00:00