Commit Graph

451 Commits

Author SHA1 Message Date
Miguel de Icaza
e67a8b9601 Code to display URL icons on the desktop as the urls. 1999-02-05 23:15:52 +00:00
Miguel de Icaza
c1fad92e34 1999-02-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_open): Run "execute" if the file
	is an executable.  I forgot that gmc_open does not test for
	executable-ness.
1999-02-04 22:30:54 +00:00
Jonathan Blandford
fc0a9456a0 1999-02-04 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.c (apply_uid_group_change): Bug fix.
	(apply_metadata_change): Another bug fix.
1999-02-04 18:53:25 +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
e4e44b6b2a 1999-02-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_info_open): Use gmc_open_filename
	instead of the stuff that goes trough a file_entry as we loose the
	full pathname.

	* gnome-file-property-dialog.c (generate_actions_box): Tag "open"
	for translation
	(apply_metadata_change): Use fm-open instead of fm_open for the
	metadata keys.
1999-02-04 01:37:33 +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
eae99facd9 1999-02-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gnome-file-property-dialog.c (create_general_properties): Use
	strrchr instead of rindex
1999-02-02 21:41:26 +00:00
Miguel de Icaza
e0328ad911 1999-02-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c: Init gicon here to avoid crashing when we have the
	metadata database locked.  Not really important, but makes the
	code cleaner (in terms of fixes).
1999-02-02 03:31:39 +00:00
Miguel de Icaza
64aeddb117 1999-02-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_drag_motion): If the user is dragging a
	Netscape url, allow ACTION_LINK.
	(setup_desktop_dnd): Now we use a single GtkInvisible widget to
	proxy both DnD and clicks on the desktop.
	(setup_motif_dnd_proxy): New function to set up a widow as a Motif
	DnD proxy (to allow drops from Netscape, for example).
	(setup_desktop_click_proxy_window): Use the proxy_invisible widget.
	(drop_url): Reload desktop icons after creating the url entry.
	(desktop_icon_info_place): Allow a drop from something other than
	a desktop icon to be placed where the user wants.
	(desktop_drag_motion): Unconditionally specify ACTION_MOVE if we
	are dragging a desktop icon.
	(desktop_icon_info_place): Remove the icon from its slot before
	calling the smart-positioning routines.
1999-02-02 02:34:46 +00:00
Miguel de Icaza
4ef71a33c2 1999-01-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (reload_desktop_icons): Reload the icon image for a
	file that already exists in the desktop, because it may have
	changed.

	* gdesktop-icon.c (desktop_icon_reshape): Center the text
	correctly if the user is using huge icons.
1999-02-01 06:26:55 +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
Norbert Warmuth
f75a6470ca Rerun configure when you have problems with missing slang.h.
Sun Jan 31 20:04:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* vfs/vfs.c (vfs_strip_suffix_from_filename): Whoever replaces every
occurance of 0 with NULL should stop this stupidy. And replacing '\0'
with NULL is plain wrong!!. Reverted this replacement.

* vfs/ftpfs.c (load_no_proxy_list): ditto


Fri Jan 29 22:55:56 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* slang/slang.h: renamed to slang-mc.h

* slang/Makefile.in: delete slang.h on "make clean"

* configure.in: link slang/slang-mc.h to slang/slang.h when the
included slang is used. Problem was that MC's slang.h was used
when we compiled with an already installed SLang and the systems
header file were included with <slang/slang.h>.
Unfortunatly I can't use AC_LINK_FILES to make the links because
if we needn't make any links AC_LINK_FILES makes a link from
srcdir to top_builddir (builddir != srcdir).

Temporary add $LGPM to $LIBS when checking for the resizeterm
and keyok functions (ncurses might be linked against GPM).

Substitude PACKAGE (intl/Makefile makes use of it)


Sun Jan 31 19:42:47 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* gnome/Makefile.in (install_mx): make it work with srcdir != builddir
(gmc.gnorba is located in $srcdir)

* src/hotlist.c (add_new_entry_input, add_new_group_input): Make the
quick_widget arrays static and various changes needed because they
are now static. add_widgets_i18n recalculates button positions
which get lost when the quick_widget arrays are non static.

* src/screen.c (to_buffer): nul terminate string when using strncpy

* src/setup.c: Save and restore new option ftpfs_first_cd_then_ls.


Sun Jan 31 19:57:24 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* vfs/ftpfs.c (insert_dot): New function. Insert a "." into the linked
list. Stat'ing the root directory of a ftpfs fails if the dot is
missing.

(retrieve_dir): insert "." into the linked list if the ftp server
haven't send it.

Sun Jan 31 19:50:24 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

* The following changes make ftpfs work with a remote AmiTCP
server are the result of somehow longish EMail debugging session. I
don't know any public server of this kind but I was told the
combination Unix/Amiga boxes are often used in intranets.

* vfs/ftpfs.c (translate_path): New function. Translate a Unix path,
i.e. MC's internal path representation (e.g. /somedir/somefile) to
a path valid for the remote server. Every path transfered to the
remote server has to be mangled by this function right prior to
sending it. Currently only Amiga ftp servers are handled in a
special manner.

* vfs/ftpfs.c (various places): use translate_path

* vfs/ftpfs.c (login_server): Assume we have to mangle pathnames if
the greatings string from the server contains the word Amiga. If
this assumption is wrong I have to find another way to turn on
path translation.

* vfs/ftpfs.c (ftpfs_get_current_directory): Prepend a leading slash
if it is missing. MC needs it as seperator between hostname and
path in its internal url representation.
1999-01-31 20:28:13 +00:00
Miguel de Icaza
e4cd1393d6 1999-01-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (reload_desktop_icons): Move metadata_unlock after
	the positioning loop (as we use the metadata there too).
	(desktop_icon_info_new): Accept a new parameter: url.
	(drop_url): New function.  Creates the files that represent urls
	on the desktop.
	(text_changed_url): New routine to handle url-renames

	Use the metadata "desktop-url" property to figure out if an icon
	represents an url.
1999-01-30 21:52:40 +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
53c34b967d 1. Long filename bug fix.
2. corba-gmc is now the default "gmc" installed
3. corba-gmc now by default tries to activate a running instance
   instead of registering a server.

Miguel.
1999-01-28 04:37:47 +00:00
Timur Bakeyev
4c17f82857 Thu Jan 28 02:15:48 1999 Timur Bakeyev <mc@bat.ru>
* gdialogs.c: fixed "regexp.h" -> "eregexp.h" conversion.

	* olddnd.c: Replaced copy_strings() with g_strconcat().
1999-01-27 23:22:50 +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
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
Jonathan Blandford
83ab2a7f65 1999-01-26 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.c: Many Many Many changes.  Now it's
	pretty cool.  You can set all meta-data but the icon now.  Need to
	make gmc do the right thing with it, though.
1999-01-26 06:47:33 +00:00
Miguel de Icaza
7cb276b63e 1999-01-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_select_row): This should be also protected
	against async notifications.
1999-01-26 02:02:21 +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
7e4deeeda7 1999-01-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_load_path): Keep track of when we are
	loading the tree (and thus we do not care about async
	notifications to the tree state changes) and when we are done (and
	thus, we care about the async treestore structure notifications).
1999-01-25 05:22:47 +00:00
Miguel de Icaza
625f76e957 1999-01-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (ep_add_callback): Set Window's position to
	GTK_WIN_POS_MOUSE.
	(gnome_external_panelize): ditto.
	(gnome_filter_cmd): ditto.

	* gdialogs.c (file_progress_query_replace_policy): Set Window's
	position to GTK_WIN_POS_MOUSE.
	(file_progress_real_query_replace): ditto.
	(file_mask_dialog): ditto.

	* gdialogs.c: Tag the strings for localization.  Remove debugging
	messages.

	* gmain.c (gmc_window_setup_from_panel): Helper routine used to
	set the GTK_WIN_POS_MOUSE on a window and set the parent with
	gnome_dialog_set_parent (iff you have the WPanel * pointer to the
	parent).

	* gtools.c (query_dialog): Set the window position to GTK_WIN_POS_MOUSE.

	* gtkdtree.c (gtk_dtree_destroy): Kill the add_entry notification hook.
	(gtk_dtree_init): Install a notification function for treentry.
	removal.
	(entry_added_callback, entry_removed_callback): Implemented.  Now
	the tree is in sync with the panels and reload will update the
	tree correctly.

1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (tree_store_remove_entry_remove_hook): Missing
	function.  To remove a notification hook.
	(tree_store_notify_add, tree_store_add_entry_add_hook,
	tree_store_remove_entry_add_hook): New functions to notify of
	additions to the treestore.

	* tree.c (tree_destroy): Remove the callback hook when we go
	away.
1999-01-23 20:43:36 +00:00
Miguel de Icaza
9b10e9a6b0 1999-01-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (set_text): Update the call to
	gnome_icon_text_item_configure() for the new API.
1999-01-22 20:08:38 +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
Jonathan Blandford
798749403a 1999-01-21 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.c (apply_uid_group_change): uh, lets
	do this in Octal. (:
1999-01-21 19:45:58 +00:00
Jonathan Blandford
238a4b3c34 I still don't know why mc_chmod doesn't work, but other then that, this
seems fine.

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

	* glayout.c: comment out compare panels.

	* gnome-file-property-dialog.h: new file.  This is a new widget
	for the file-properties dialog.  It doesn't handle mode changes
	quite right yet, but does everything else beautifully...

	* gnome-file-property-dialog.c: new file

	* gpopup.c (panel_action_properties): use new dialog
	(dicon_properties): as above.
1999-01-21 19:29:39 +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
6159fb712c 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (icon_event): Also delay the call to select_icon()
	until button release if the icon is selected and there are no
	modifier keys pressed.  This lets us perform drags on
	multi-selections easily.
1999-01-21 17:38: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
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
Miguel de Icaza
cc1590b9d1 1999-01-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gprefs.c (apply_callback): Update the directory contents after
	the settings have changed.
1999-01-20 07:15:34 +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
Miguel de Icaza
62488e5354 1999-01-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_select_row): Wonder why the code was
	returning for the clicks on the root node.
1999-01-20 01:28:00 +00:00
Jonathan Blandford
4829a97d3f 1999-01-19 Jonathan Blandford <jrb@redhat.com>
* gprefs.c: applied a heavily modified patch by Dave Camp
	<campd@oit.edu>  The preference box now works.
1999-01-19 22:10:19 +00:00
Miguel de Icaza
1bc1eea3d0 Amazing. GTK broke the API once again 1999-01-18 22:37:39 +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
4c196a6559 1999-01-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (icon_event): Rewrote event handling for icons on the
	desktop.  This function handles button presses and releases and
	does some anal-retentive checking to avoid stuck pointer grabs.
	(icon_event_after): New fallback function for button presses.
	This is only called when an icon is being edited and the user
	clicks outside the icon's text item, indicating that editing
	should be accepted and terminated.
	(selection_stopped): New callback used to re-install the mouse
	grab once the icon text item stops selecting text.

	* gdesktop.h (DesktopIconInfo): Removed the finishing_selection
	flag now that the event handling code is cleaned up.
1999-01-18 19:22:23 +00:00
Miguel de Icaza
66eb02ef08 1999-01-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gpageprop.c (item_properties): Use the metadata information for this.
	(item_properties): Set the icon-filename metadata bit
1999-01-18 18:04:41 +00:00
Miguel de Icaza
09bfb9e7de Make the mkdir command actually work.
Fix all of the broken stuff that was done with the poor code.

Miguel
1999-01-16 03:01:35 +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
ea47bae637 Okay,
the New-> menu item now works.
Installing a .desktop item in ${prefix}/share/mc/templates will now put
it in the New item menu.  The exec field of it will create the new item,
so choose it correctly.
Next on the TODO; rehash the toolbars.
1999-01-14 00:39:03 +00:00
Jonathan Blandford
218790bdbe 1999-01-13 Jonathan Blandford <jrb@redhat.com>
* glayout.c (create_container): beginnings of the New-> menu.  It
	doesn't have much yet, hopefully we'll have a good way to let apps
	register themselves with it.
1999-01-12  Jonathan Blandford  <jrb@redhat.com>

	* cmd.c (mkdir_cmd): now mkdir_cmd will accept relative, and
	absolute directories.
1999-01-13 20:44:51 +00:00
bertrand
d677adf527 1999-01-13 bertrand <Bertrand.Guiheneuf@inria.fr>
* gdialogs.c
	* gwidget.c:
	* gprop.c:
	s/gtk_toggle_button_state/gtk_toggle_button_active
1999-01-13 20:37:47 +00:00
Miguel de Icaza
fbb3d4d90f VFS does not assert on small buffers in getwd, it now truncates.
Drops on the desktop are now always links.  If you want copy or move,
then use middle button to get the ask dialog box.

Miguel.
1999-01-12 23:49:37 +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
0fa363d984 1999-01-10 Ilya Zakharevich <ilya@math.ohio-state.edu>
* gtkedit/edit.c (edit_load_file): Off-by-one error disabled editing.

1999-01-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* configure.in (REGEX_O): Always include regex.o as the code we
	are using in gmc is not using regcomp/regexec, but the internal
	Emacs API.

	* src/regex.c: Do not compile the POSIX compatibility code, as we
	do not use it.

Tue Dec 29 15:49:45 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* doc/mc.sgml, mc1.in (Color section): minor polishing
	(Layout section): documented Highlight...
1999-01-12 09:08:31 +00:00
Miguel de Icaza
4c6fef14d8 Export access to the treestore
Make gtkdtree use the treestore cache.

Next step: store the ->scanned attribute of tree_entry (otherwise, no
speedup will be noticed at all).  It is a 10 minute hack, but I will go
have dinner now.

Miguel.
1999-01-12 05:55:12 +00:00
Miguel de Icaza
85f17a4dc6 Lots of changes:
- SFS-based file systems now work on GNOME edition, I was
	  not waiting for child process to finish decompressing.

	- VFS code cleanup.  I am going to eventually get rid of all
	  the macro-mania that has creeped into the vfs layer.

Miguel
1999-01-11 00:48:23 +00:00
Jonathan Blandford
9d69629866 1999-01-08 Jonathan Blandford <jrb@redhat.com>
* glayout.c: now open the new (non-functional) dialog box.  If you
	want functionality, I suppose you could put the old one back in.
	I'll work on it more this weekend, though, so hopefully it can get
	back to the old state relatively quickly.
	* gprefs.c (gnome_configure_box): New function, new file, first
	start at unified properties box.
1999-01-09 00:24:03 +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
Jonathan Blandford
7ea8e5311a 1999-01-07 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_filter_cmd): now it works!  It's even sorta
	useful.  I'm so psyched... (:
1999-01-08 04:19:25 +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
Jonathan Blandford
af614feed8 think externalize-command is all done, now... 1999-01-06 20:23:31 +00:00
Jonathan Blandford
b132410b7b 1999-01-06 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_external_panelize): Now it works.  Just need to save
	results so the next time works.  Will do this tomorrow.
1999-01-06 05:25:59 +00:00
Miguel de Icaza
c6ccd3c3b7 Dropping files on desktop icons now works.
Cheers,
Miguel.
1999-01-06 04:03:15 +00:00
Miguel de Icaza
3ad5d29db8 1999-01-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtools.c (query_dialog): Fix the new version of this.  It was
	overwriting memory all over.

	* gdialogs.c (): Use GNOME stock;  Fill in some FIXME strings.
	(file_progress_real_query_replace): Use the formatted
	message.
1999-01-06 02:08:27 +00:00
Miguel de Icaza
2cfae5e9d0 Tue Dec 29 15:49:45 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* doc/mc.sgml, mc1.in (Color section): minor polishing
	(Layout section): documented Highlight...

Thu Dec 24 18:30:53 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* configure.in: Deleted du checks
1999-01-06 01:17:49 +00:00
Jonathan Blandford
35cc3ed712 1999-01-05 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_external_panelize): mostly hooked up now.
	will finish tomorrow (shouldn't take very long...)
1999-01-06 00:33:40 +00:00
Jonathan Blandford
c928adcfc0 1999-01-04 Jonathan Blandford <jrb@redhat.com>
* glayout.c: menu changes.

	* gcmd.c (gnome_external_panelize): new function.  Does absolutely
	nothing yet but look pretty (and it doesn't do that all that well,
	yet...)  I'll hook it up to it's actual functions, tomorrow.
1999-01-04 23:45:02 +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
b862fdfd8a 1999-01-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
* main.c (update_one_panel_widget): GNOME version does the panel
	update here (this is an optimization, as we do not want do_refresh
	to do anything.

	* dialog.c (do_refresh): Remove this optimization as it was
	disabling the repainting of the screen contents.

	* hotlist.c (done_hotlist): The hotlist might not be loaded
	anymore.

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

	* gtools.c (query_dialog): Simplified.
1999-01-03 18:34:40 +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
8544e153ba 1999-01-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (select_range): Fixed selection of ranges where the
	starting and ending icons are in the same vertical or horizontal
	slot.
	(reload_desktop_icons): Fixed incorrect usage of
	g_list_remove_link().  Also, moved the functionality from the old
	load_desktop_icons() here.  Now all icons are always loaded
	efficiently, and there is no need for the "incremental" flag.
	(desktop_icon_info_delete): Delete the icon position information.

	* gmetadata.c (gmeta_del_icon_pos): New public function to delete
	the icon position information from a file.
1999-01-02 18:41:59 +00:00
Miguel de Icaza
49cc67cb01 ChangeLog updates 1999-01-02 18:18:08 +00:00
Miguel de Icaza
8f2327ecdb 1999-01-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gmetadata.c (gmeta_get_icon_pos): Fixed the memory leak here.

	* gicon.c (gicon_get_icon_for_file): Actually return a value
	here.

Editor fixes, vfs warning fixes;
1999-01-02 07:46:20 +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
Jonathan Blandford
7d18cb2d83 1999-01-01 Jonathan Blandford <jrb@redhat.com>
* gcmd.c ((GtkWidget *widget, WPanel *panel): Now hooked up
	correctly.  Still needs to set the option menu correctly.  Oh
	well...
1999-01-01 23:08:38 +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
40fd24d781 The CORBA setup actually works properly now :-) 1998-12-31 03:38:48 +00:00
Miguel de Icaza
3491af5408 1998-12-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (find_icon_by_drag_context): Made static.

	* gdesktop.h (DesktopIconInfo): Now that this type is public,
	renamed it from struct desktop_icon_info, for consistency.
1998-12-31 01:43:11 +00:00
Jeff Garzik
19dbd60958 Oops, missed one. s/g_copy_strings/g_strconcat/ 1998-12-30 21:41:19 +00:00
Jeff Garzik
4f6e78d928 s/g_copy_strings/g_strconcat/ 1998-12-30 20:29:12 +00:00
Jonathan Blandford
3114c94e27 1998-12-30 Jonathan Blandford <jrb@redhat.com>
* gaction.c (gmc_execute): now takes an filename instead of a file
	entry for an argument
	(gmc_open_filename): handles the new gmc_execute code.

	* gdesktop.c (desktop_icon_drop_uri_list): commented out
	action_drop.  Needs defining.
1998-12-30 18:29:32 +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
Norbert Warmuth
ffb83af112 If someone experiences strange colors in the text edition
try "make clean; make".

Tue Dec 29 15:49:45 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

* doc/mc.sgml, mc1.in (Color section): minor polishing
(Layout section): documented Highlight...

* gnome/gmain.c: According to the man page the color keyword for executable
files 	is `executable' and not `execute' -- changed.

* file.c (progress_update_one): Ignore files in subdirectories
when panel totals haven't been computed.

(erase_dir, erase_file): update progress bar (i.e. make it work
for OP_DELETE).

(panel_operate_flags): Don't compute panel totals for OP_MOVE.
When moving files on the same filesystem computing totals might
last much longer than the actual move operation.

(various places): adpations for the above changes.

* slint.c (try_alloc_color_pair): Changed hardcoded values into
defines.

* color.c, text.c: Added color "stalledlink" which is used for
stalled symbolic links. Formerly "viewunderline" was used for
this (IMO bad because function and name didn't match).
According to the man page the color keyword for executable files
is `executable' and not `execute' -- changed.

* color.c, color.h: When using SLang some color indexes are not
freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
Solved by adding holes in color_map.

* find.c (do_search): fixed possible memory leak
1998-12-29 16:52:49 +00:00
Jonathan Blandford
66558b5f73 New menu view. Not everything works yet, but that's tomorrow's job.
also, spiffy new policy dialog for copying many files.
1998-12-29 04:15:30 +00:00
Miguel de Icaza
1b248adf08 Use gtk_label_set_text 1998-12-28 03:38:33 +00:00
Norbert Warmuth
23cc8d469c Thu Dec 24 18:30:53 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: Deleted du checks

* INSTALL: Deleted --with-dusum documentation.

* doc/mc.sgml, mc.1.in: Completed documentation about the Options/
Configuration dialog. Added Advanced chown subsection. Deleted
variables from the Special settings section which are now covered
by the configuration dialog.

* gnome/layout: Adapted for the new option Compute Totals in the
Configuration dialog.

* screen.c (recalculate_panel_summary): new function which recalculates
the summary information for the mini-status.

* screen.c (panel_reload): use recalculate_panel_summary

* screen.c (do_file_mark): Honour that dirsizes computed is now a
per entry flag.

* option.c: Added Compute Totals to the configuration dialog.

* file.c (compute_dir_size): made non static

(panel_operate_flags): Don't compute directory sizes if verbose
operation are off.

* cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
by Miguel, i.e. get rid of du. Now the dirsizes_cmd honours a
selection and computes sizes only for marked directories. Possible
improvement: add a dialog (or C-C?) to abort computation.

* dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed
flag a per file flag.

* dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and
WPanel structure.

* features.inc: Deleted DUSUM information

* mc.hlp: remade because of changes in doc/mc.1.in
1998-12-24 21:37:24 +00:00
Jonathan Blandford
2924e5bc78 Major query replace dialog cleanup 1998-12-22 23:38:39 +00:00
Norbert Warmuth
7f3a7ac4d7 Mon Dec 21 22:26:34 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* mountlist.c: Define xBSD on FreeBSD.

* doc/mc.sgml, mc.1.in: Deleted obsolete information about
tar_gz_memlimit. Partially rewrote the section about the
Virtual FS.. configuration dialog.

* main.c (parse_an_arg): New function, popt callback. Option
parsing in gmc was broken. The gnome*_init_with_popt_table free
the option tables and gmc tried to use the option tables later.

* main.c (handle_args): In the Gnome edition don't parse the
options a second time.

* boxes.c (configure_vfs), setup.c: Deleted obsolete options.
tar.gz files are now always unzipped to a temporary file on disk.

* gnome/layout: Deleted obsolete widgets from the Virtual FS configuration
dialog.

* vfs/tar.c: Deleted global variable tar_gzipped_memlimit.

Mon Dec 21 14:28:55 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

* filenot.c (my_mkdir_rec): Someone broke this function completely by deleting
a line. Funny things happen if you use an already freed pointer.
Improved error handling: try to make directories recursivly until
mkdir succeeds or fails with errno != ENOENT. Now you will get the
correct error message when you don't have permission to create a
directory.

* mountlist.c: Deleted function prototypes for strdup and strstr,
they might conflict with definitions in the system header files.
1998-12-21 23:30:53 +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
Gregory McLean
f55d906c37 Tue Dec 15 10:51:12 1998 Gregory McLean <gregm@comstar.net>
* gdesktop-icon.c : Attach a desktop_icon wmclass to the desktop
        icons to allow even more wizardry with the desktop icons, mainly
        to exclude them from window lists, don't decorate them, skip
        desktops and other boring stuff.
1998-12-15 15:53:35 +00:00
neo
36dc869e30 Lightened up the dir-pixmaps a bit to please your eyes and tigert.
--Sven
1998-12-14 19:43:48 +00:00
Owen Taylor
16041daa0e 1998-12-14 Owen Taylor <otaylor@redhat.com>
* gnome.TODO: Added a number of tree and icon
	view todos.
1998-12-14 18:20:23 +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
8c2b018b56 1998-12-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_update_input): Use gtk_entry_get_text here.
1998-12-14 05:27:37 +00:00
Miguel de Icaza
5e69e9af71 Go figure how this was missing now. 1998-12-14 04:23:33 +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
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
msw
61619aac90 1998-12-11 Matt Wilson <msw@redhat.com>
* dir-open.xpm, dir-close.xpm: Away with the tacky yellow folders -
	I like these brown ones from tigert better.
1998-12-11 23:04:23 +00:00
Miguel de Icaza
b0eaee692b 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gpopup.c (create_actions): The tests for F_PANEL and F_DICON
	were wrong.  Fixed them.  This does not mean that the popup menus
	are right, though.
1998-12-11 19:14:55 +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
Miguel de Icaza
b14a0d3432 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gicon.c (gicon_get_icon_for_file): First try to fetch the inline
	icon data (i.e. thumbnails), second try the generic icon filename.
1998-12-11 17:58:43 +00:00
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
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
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
920858cfaf 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:40 +00:00
Miguel de Icaza
51d2d5aff1 1998-12-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_close_panel): When a panel is destroyed, chdir to
	root directory, as the process will be holding the inode for the
	directory that was selected until an operation is performed in
	another panel.

	* gicon.c (gicon_get_icon_for_file): Invert the way the testing
	for icons is done to handle directories properly.
1998-12-11 02:58:48 +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
Owen Taylor
9022456a54 Thu Dec 10 21:38:55 1998 Owen Taylor <otaylor@redhat.com>
* gkey.c (delete_select_channel): Fixed list handling
	with g_list_remove().
1998-12-11 02:38:15 +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
771413102b 1998-12-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gicon.c (gnome_file_entry_color): If we do not have permissions
	for this directory, indicate this with a special icon.

	* gscreen.c (panel_icon_list_select_icon): Middle button opens a
	new panel on a directory.
1998-12-11 01:57:01 +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
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
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
a2840e0a69 Forgot these files 1998-12-05 23:19:57 +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
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
Jonathan Blandford
77cc218e61 finished copy dialog. Move and delete are trivial now. Then, it's on to
error messages!!!
1998-12-04 22:35:23 +00:00
Miguel de Icaza
7d035cca51 Make the tree a drag source -mig 1998-12-04 21:32:19 +00:00
Jonathan Blandford
aa42db1042 more dialog changes 1998-12-04 20:21:11 +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
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
Miguel de Icaza
0a024abfb5 In-line icon renames actually rename the file. WEEEEEEEEEE! 1998-10-14 06:26:05 +00:00
Miguel de Icaza
d6fcd9c2b7 VFS source code cleanup.
MC now depends on glib (currently only the assertions are used).
VFS structure declaration fixes.
Uses the new icon list (it is dog slow, need to fix this tonight at home).
1998-10-14 02:56:18 +00:00
Miguel de Icaza
20157ab85e 1998-09-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c: Hook to invoke the editor from the context menu.
1998-09-25 23:07:23 +00:00
Pavel Roskin
3745c22c69 make should not rebuild gmc every time. 1998-09-18 12:55:02 +00:00
Owen Taylor
86d9078964 Mon Aug 31 10:46:32 1998 Owen Taylor <otaylor@redhat.com>
* gscreen.c (display_mini_info): Removed calls to
	gtk_clip_label_set() hack, since its cut-n-paste code didn't work
	with new GTK's. If excessive resizes are a problem, they can be
	solved by adding an adjustment around the label, and calling
	gtk_container_set_resize_mode().
1998-08-31 14:40:49 +00:00
Miguel de Icaza
77c27f6130 Make program relocatable trough MCHOME variable, patch from Ludovic Drolez 1998-08-26 20:23:10 +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
3f35312dad Minimal fix 1998-08-14 19:38:50 +00:00
Carsten Schaar
f419d2dfe8 * gmain.c (session_management_setup): Replaced
'gnome_client_new_default' with 'gnome_master_client'.
1998-07-04 20:33:13 +00:00
Miguel de Icaza
96e34093a7 Use new gtk exported function 1998-06-23 17:22:02 +00:00
Manish Vachharajani
1194fd272b Changlogs ... 1998-06-23 03:33:30 +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
Norbert Warmuth
a6736ce62a Sun May 31 13:19:59 1998 Norbert Warmuth <k3190@fh-sw.de>
* Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a (one
reference wasn't converted, yet).
1998-05-31 20:18:40 +00:00