Commit Graph

278 Commits

Author SHA1 Message Date
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