Commit Graph

472 Commits

Author SHA1 Message Date
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
7913e20514 Use the new memory-friendly icon list 1999-01-22 02:14:00 +00:00
Miguel de Icaza
7dec59687e 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_drag_data_received): Do not force links on
	the desktop.

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

	* gdesktop.h: Removed old crud (desktop_icon_t, icon_t).
1999-01-22 00:59:11 +00:00
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
54676965fa Whoops
forgot to include these.
We now have nifty-keen file-property dialogs.
1999-01-21 19:30:35 +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
20896340fb Stupid typo/bug - Federico 1999-01-20 11:27:20 +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
a1a9dca7bc Actions for x-url/ftp and x-url/http
Now, to figure out a smart way of storing those on the desktop.  As,
the obvious filename ~/desktop/http://www.gnome.org does not work ;-)

Should I perhaps encode the /?
Miguel.
1999-01-20 01:37:41 +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
Miguel de Icaza
83255c0f24 Do not use/install the Gnumeric nor GIMP .desktops files here 1999-01-19 23:45:35 +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
6cc8aba9bb 4.5.8 release 1999-01-18 20:07:27 +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
d24a313845 Small bug fixes 1999-01-17 04:17:20 +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
38bd84c339 Fix Makefile 1999-01-13 03:35:26 +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
c1b6de05e6 Makefile LDFLAGS reordering to compile on IRIX 1999-01-11 19:11:54 +00:00
Miguel de Icaza
b8f2eaa651 Use lock/unlock functions 1999-01-11 01:22:44 +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
Miguel de Icaza
9ea97c5d75 New globaly shared treestore.
Going to be used by the GtkDTree widget, as this is taking lots
of time in the file manager.
1999-01-09 03:43:05 +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