1
1

215 Коммитов

Автор SHA1 Сообщение Дата
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
Jonathan Blandford
60c82468ae op_win dialog stuff next 1998-12-04 00:13:53 +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
c983d57dd2 Duh. Here is the correct ChangeLog: 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (tree_drag_open_directory, panel_tree_drag_motion,
	panel_tree_drag_leave): Drag and Drop support routines for the
	tree to auto-expand the tree when the user stays still on top of a
	directory.
1998-12-02 06:52:11 +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
Jonathan Blandford
b081558a24 moved functions around... 1998-12-02 04:33:26 +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
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
1a9c7f3274 IconList changes for gmc 1998-11-29 07:50:44 +00:00
Miguel de Icaza
428265fbc5 1998-11-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_update_input): Use gtk_editable_changed on the entry.
	(x_create_listbox): Fix more CList api change.
	* gscreen.c (CLIST_FROM_SW): Adapt to new GtkScrolledWindow
	inheritance.
1998-11-29 03:40:23 +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
5fce940013 1998-11-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* 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 00:01:38 +00:00
Miguel de Icaza
624fc415ab 1998-11-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtree.c: More work on gtree.  It is basically ready to stick
	into gmc-window.c/mc  I just need to know when you are ready
	Federico.
1998-11-27 04:54:02 +00:00
Miguel de Icaza
b7f32b7c2e Sync to laptop - Federico 1998-11-25 23:58:43 +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
82a542076a 1998-11-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_list_insert): Make it work with the new CList
	policies.
1998-11-24 03:33:24 +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
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
13bd569914 1998-11-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gmain.c (session_save_state): Use gnome_geometry_string.
1998-11-12 18:08:53 +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
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
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
f15ee9faf9 Increased version number to 4.5.2
Documentation update.

1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* fish.c (command): Replace vnsprintf with g_strdup_vprintf.  This
	is both safe and more correct, as there is no limit on the
	pathname.

	* ftpfs.c (command): Same as above.

	* util-alone.c (print_vfs_message): Same as above.

1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* layout.c (print_vfs_message): Use g_snprintf instead of
	vnsprintf.
1998-10-30 17:45:43 +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
Miguel de Icaza
612019d206 1998-10-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (create_window_shape): Use shaped icons only
	when the user has selected them.
	(desktop_icon_reshape): New public function to recompute the shape
	of the icon.  This should be used when the global
	desktop_use_shaped_icons flag changes.
	Added documentation comments to the public functions.
1998-10-29 01:07:38 +00:00
Miguel de Icaza
22a0026bde 1998-10-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Makefile.in: Fixed for gdesktop-icon.
1998-10-28 19:23:51 +00:00
Miguel de Icaza
4ce383d64b 1998-10-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
* desktop-icon.c (reshape): Position the icon text item correctly.
1998-10-28 17:04:58 +00:00
Miguel de Icaza
1f01162672 1998-10-27 Federico Mena Quintero <federico@nuclecu.unam.mx>
* desktop-icon.c (desktop_icon_new): Do now reshape more than
	needed by splitting the set_icon and set_text functions apart.
1998-10-28 00:53:11 +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
c7b818533c 1998-10-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
* desktop-icon.c (desktop_icon_realize): Doh.  We need to
	initialize the gnome_win_hints before we set any of the hints.
1998-10-23 18:54:28 +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
114209e3eb copy files trough cvs 1998-10-20 23:44:39 +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