* CVSVERSION: New file, used to detect whether we are configuring
a cvs version or a release tarball.
* configure.in: Default -Werror to off when configuring a release
tarball, and to on when configuring a cvs version.
* src/nautilus-zoom-control.c:
* src/nautilus-zoom-control.h:
Revert the subclass change i made. Turns out its not needed. The
fix was to make the Eazel theme grok the "GtkEventBox" style
class - as all other "nice" themes do.
in search results" one. Darin is planning to make it be
disabled like it should have been, which is a fix in gnome-vfs.
Special dispensation from Robin to check this in.
* src/nautilus-window.c: (nautilus_window_go_up): Check for
NULL parent_uri and bail out if so.
fails because search demon isn't running)
Rebecka did all the underlying error-code-handling, which isn't
quite working yet. I'm checking in this UI step even in advance
of that.
* src/nautilus-applicable-views.h: New NautilusNavigationResult
NAUTILUS_NAVIGATION_RESULT_SERVICE_NOT_AVAILABLE. This mechanism,
invented by me, seems really hoary now.
* src/nautilus-applicable-views.c:
(get_nautilus_navigation_result_from_gnome_vfs_result):
Translate beween GnomeVFSResult and NautilusNavigationResult.
* src/nautilus-window-manage-views.c:
(is_search_uri): New function, checks whether the URI starts
with "search:".
(nautilus_window_end_location_change_callback): If the error
is SERVICE_NOT_AVAILABLE and it's a search uri, put up a custom
error message. It's not a very helpful message at this point, but
at least the user gets some kind of feedback.
* libnautilus-extensions/nautilus-directory.c:
(nautilus_self_check_directory): Fixed a self check that no longer
matched the code.
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_compare_for_sort),
(nautilus_file_compare_for_sort_reversed): Fixed a bug that was
causing reverse sorts to work wrong (caught by self check).
* libnautilus-extensions/nautilus-string.c:
(nautilus_str_get_prefix), (nautilus_self_check_string):
Fixed some incorrect self checks and a small error in get_prefix
that was exposed by a self check.
2000-08-07 Seth Nickell <seth@eazel.com>
* libnautilus-extensions/nautilus-file-utilities.c:
(nautilus_self_check_file_utilities):
* libnautilus-extensions/nautilus-lib-self-check-functions.h:
Add testing rig for the forming and escaping of user-inputted URIs.
* components/services/install/command-line/eazel-alt-install-corba.c:
(set_parameters_from_command_line):
* components/services/install/idl/trilobite-eazel-install.idl:
* components/services/install/lib/eazel-install-corba-types.c:
(corba_category_list_from_categorydata_list):
* components/services/install/lib/eazel-install-corba.c:
(impl_Eazel_Install__set_package_list),
(impl_Eazel_Install__get_package_list), (eazel_install_get_epv):
* components/services/install/lib/eazel-install-protocols.c:
(filename_from_url):
* components/services/install/lib/eazel-install-rpm-glue.c:
(eazel_install_do_rpm_transaction_process_pipe),
(do_rpm_transaction):
The cli tool can now read from a local xml file and if the rpm's
are present (this depends on all fields in the xml being filled)
it will use those.
* components/services/install/lib/eazel-install-xml-package-list.c:
(generate_xml_package_list):
* nautilus-installer/src/installer.c: (installer):
* nautilus-installer/src/main.c:
Some patches for reading local files (bug#2021)
2000-08-07 Darin Adler <darin@eazel.com>
Fixed bugs 1985 and 1986 (infinite loops using Mozilla).
Both were triggered by the fact that Mozilla reports that
it is done before it reports that it is underway. Made
the state machine less picky about this.
* src/nautilus-window-manage-views.c:
(nautilus_window_set_state_info): Made the "DONE" state
also do all the "INITIAL" state work so that reporting
you are done before you report that you started does not
cause any trouble.
* docs/recommended-books.html: Fixed a bad URL in here.
* libnautilus-extensions/nautilus-list.c:
(nautilus_list_set_single_click_mode): Fixed formatting.
* src/nautilus-window.c: (nautilus_window_go_home):
Use real function to convert path to URI instead of just
prepending "file://".
backgrounds.
* src/nautilus-zoom-control.h:
Subclass this beast from GtkMisc instead of GtkEventBox to get all
the default widget behaviors.
* src/nautilus-zoom-control.c:
(nautilus_zoom_control_initialize_class),
(nautilus_zoom_control_initialize), (draw_zoom_control_image),
(nautilus_zoom_control_draw), (nautilus_zoom_control_expose):
Change the code that drew the symbol backgrounds to clear their
area instead of drawing a box. This causes the default
background to be rendered instead of a blank area ironically.
Also, clear the background before drawing the widget so that the
we get the same effect as above on the whole widget.
Gene did all the hard work of finding a reproducible case
for this. From there it was easy for me to fix the bug
in code I wrote. He gets 3/4 of all klocs assigned for
this bug.
* src/nautilus-window-menus.c:
(nautilus_window_remove_bookmarks_menu_items):
Set last_static_bookmark_path to NULL after removing menu
items from bookmarks menu.
(refresh_all_bookmarks):
Call nautilus_window_remove_bookmarks_menu_items instead
of lower-level remove_bookmarks_after.
Mon Aug 07 14:47:28 2000 George Lebl <jirka@5z.com>
* libnautilus-extensions/nautilus-list-column-title.c
(nautilus_list_column_title_initialize)
(nautilus_list_column_title_finalize)
(nautilus_list_column_title_buffered_draw)
(offscreen_drawing_idle_handler)
(nautilus_list_column_title_queue_buffered_draw)
(nautilus_list_column_title_motion)
(nautilus_list_column_title_leave)
(nautilus_list_column_title_button_press)
(nautilus_list_column_title_button_release):
Redo drawing buffered background, stop using a widget, and
allocate the gc and the offscreen pixmap only for the draw
and free them afterwards. Also do the buffered draw in an idle
handler to avoid too many draws. Obscoletes bug 614.
* src/file-manager/fm-list-view.c (remove_from_list):
Instead of a warning just ignore the file if it's not in
the list anymore. This is what the icon view does and
apparently we can get multiple file_changed calls which
will cause this. Fixes bug 1961
* libnautilus-extensions/nautilus-gdk-extensions.c:
(nautilus_get_largest_fitting_font):
Change the number of sizes to choose from to 4 (from 5). Also,
remove the 28 size which is usually available. This size is what
was causing the ugliness in the font.
* src/nautilus-sidebar-title.c: (update_font):
Changed the font to bold.
* components/services/install/command-line/eazel-alt-install-corba.c:
(main):
Added --query, to test the corba query stuff
* components/services/install/command-line/eazel-package-query.c:
Removed some erratic #defs.
* components/services/install/command-line/genpkg_list.example:
Now has an error on purpose, to test the error checking
* components/services/install/idl/trilobite-eazel-install.idl:
Renamed the query to simple_query
* components/services/install/lib/eazel-install-corba-callback.c:
(impl_install_failed), (impl_uninstall_failed),
(eazel_install_callback_simple_query),
(eazel_install_callback_revert_transaction):
* components/services/install/lib/eazel-install-corba-callback.h:
* components/services/install/lib/eazel-install-corba-types.c:
(corba_packagedatastruct_from_packagedata):
* components/services/install/lib/eazel-install-corba.c:
(impl_Eazel_Install_simple_query), (eazel_install_get_epv):
* components/services/install/lib/eazel-install-query.c:
(eazel_install_simple_rpm_query), (eazel_install_simple_query):
Finished the corbafication of simple_query and added some const's
to some arguments.
* components/services/install/lib/eazel-install-protocols.c:
(http_fetch_remote_file):
Fixed a bug where the first download-progress emit got called with
total == 0.
* components/services/install/lib/eazel-install-query.h:
Removed debug output.
* components/services/install/lib/eazel-install-rpm-glue.c:
(eazel_install_do_rpm_transaction_process_pipe),
(eazel_install_do_rpm_transaction_save_report),
(do_rpm_transaction), (eazel_install_fetch_rpm_dependencies):
Am tryink to fix the installer. Havink problems reading the output
from rpm, since it apparently gets buffered somewhere.
* components/services/install/lib/eazel-install-xml-package-list.c:
(generate_xml_package_list):
Added error checking to the :-seperated values parsing.
* components/services/install/lib/makefile.staticlib.in:
More static linking fun.
* nautilus-installer/src/Makefile:
* nautilus-installer/src/Makefile.am:
* nautilus-installer/src/installer.c: (eazel_install_progress),
(eazel_download_progress), (download_failed),
(eazel_install_preflight), (eazel_install_dep_check),
(eazel_install_delete_files), (installer):
* nautilus-installer/src/interface.c: (create_window):
* nautilus-installer/src/link.sh:
* nautilus-installer/src/prescript:
Okaeh, the installer is slight prettier, but the install progress
is screwed because of the problem with progress bar.
become sensitive & insensitive appropriately). Will write
up bug reports about remaining issues.
Made the "Find" button only be sensitive if all text-entry
fields are non-empty. (Did this for both simple & complex
search bar). Cleaned up some other code that I couldn't
avoid in there too.
* src/nautilus-simple-search-bar.c:
Define Details struct.
(nautilus_simple_search_bar_initialize_class): Wire up
destroy handler.
(search_text_is_invalid): New function, returns TRUE if the
text is empty.
(update_simple_find_button_state): New function, sets the
sensitivity of the find button based on search_text_is_invalid.
(activated_search_field): New function, calls location_changed
only if text is valid.
(nautilus_simple_search_bar_initialize): Initialize Details field;
change "activate" signal on text field to call
activated_search_field instead of calling location_changed directly
so it can handle the text-invalid case; wired "change" signal of
text field to update_simple_find_button_state; call update_simple_
find_button_state once after setting up widgets; simplify
widget-creation code.
(nautilus_simple_search_bar_destroy): Free details field.
(nautilus_simple_search_bar_set_location),
(nautilus_simple_search_bar_get_location): Updated to use Details.
* src/nautilus-complex-search-bar.c:
(criteria_invalid): Walks through the list of criteria, checking
whether any of the text-field ones have empty text. Later we
could add other types of checks in here.
(update_options_buttons_state): Just added FIXME comment.
(update_find_button_state): New function, sets sensitivity
of find button based on criteria_invalid.
(update_dynamic_buttons_state): New function, calls the other
two button-updating functions.
(nautilus_complex_search_bar_initialize_class): Wire up destroy
handler.
(more_options_callback), (fewer_options_callback),
(nautilus_complex_search_bar_initialize):
Call update_dynamic_buttons_state instead of just
update_options_buttons_state.
(nautilus_complex_search_bar_destroy): free Details struct. This
was leaking before.
(attach_criterion_to_search_bar): Attach update_find_button_state
to "changed" signal of any new text-entry field.
* src/nautilus-simple-search-bar.h: Replaced several fields in
NautilusSimpleSearchBar struct with new Details field. Among
the replaced fields were some undo-related ones that were not
yet used anywhere, so I left them out of Details.
2000-08-07 Ali Abdin <aliabdin@aucegypt.edu>
* components/help/converters/gnome-db2html2/gdb3html.h:
* components/help/converters/gnome-db2html2/sect-elements.h:
* components/help/converters/gnome-db2html2/sect-elements.c:
(sect_span_interface_start_element),
(sect_span_interface_end_element): Two new functions for the
'interface' tag.
(sect_link_start_element),
(sect_link_end_element): Two new functions for the 'link' tag
(sect_menu_start_element),
(sect_menu_end_element): Two new functions for the 'guisubmenu' and
'guimenu' tags. These are needed because the previous implementation
was incorrect.
Also the prototypes for the above functions and added the following
tags: interface, link, menuchoice (yes menuchoice is back!)
Modified the guimenu/guisubmenu tag to only be bold and display the
'arrow' if they are enclosed in the menuchoice tag. If they are not
enclosed, just 'print' the characters. This is how jade (a.k.a db2html
does it)
* components/help/converters/gnome-db2html2/sect-elements.c:
(sect_title_characters),
(sect_xref_start_element): s/ghelp/help
2000-08-07 Pavel Cisler <pavel@eazel.com>
Fix bug 1941 -- Context menus need to be clicked twice.
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_pop_up_context_menu):
* libnautilus-extensions/nautilus-gtk-extensions.h:
When invoked from anywhere but the button_press call, we need to
pass 0 for button otherwise the next click will not be handled.
Add a way to pass the button as a parameter.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_pop_up_selection_context_menu),
(fm_directory_view_pop_up_background_context_menu):
Pass 0 for button
* src/nautilus-sidebar.c: (nautilus_sidebar_press_event):
* src/nautilus-window-toolbars.c:
(back_or_forward_button_clicked_callback):
Called from button_press, pass the actual button.
the scrollable area)
Start of bug 1969 (search controls need to adjust sensitivity
appropriately)
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_update_scroll_region): Renamed from
"update_scroll_region" since it's now in a header file.
(relayout), (nautilus_icon_container_clear): Updated for name change.
(nautilus_icon_container_move_icon): Added FIXME about how
update_scroll_region is handled at different levels at Darin's
request.
* libnautilus-extensions/nautilus-icon-private.h:
Put prototype for nautilus_icon_container_update_scroll_region
here so it could be called from drag-and-drop code.
* libnautilus-extensions/nautilus-icon-dnd.c: (handle_local_move):
Update scroll region after drag.
* src/nautilus-complex-search-bar.c:
(update_options_buttons_state): New function, updates the sensitivity
of "Fewer Choices" button based on number of displayed criteria. Later
it will also handle "More Choices" button and perhaps others.
(nautilus_complex_search_bar_initialize):
Call update_options_button_state after creating button widgets.
(more_options_callback), (fewer_options_callback): Call
update_options_button_state when number of criteria changes.
recomputed)
* libnautilus-extensions/nautilus-directory-async.c:
(metafile_read_failed), (get_corresponding_file),
(nautilus_directory_force_reload):
Make the force reload call also force recomputing the counts (both
shallow and deep) for that directory.
* libnautilus-extensions/nautilus-file-private.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_internal), (nautilus_file_get_existing),
(nautilus_file_get): Added interface to get an existing NautilusFile
that won't create a new one.
* libnautilus-extensions/nautilus-font-factory.c:
(font_hash_node_lookup_with_insertion): Inserting a font into
the font cache hashtable was passing the wrong pointer for the
font name: name (which is reused each time in this routine) instead
of node->name (which is part of the hash table node and won't change).
Also took off unnecessary gpointer and gconstpointer casts. Darin
spotted the problem after I aimed him at this function.
Mon Aug 07 05:00:55 2000 George Lebl <jirka@5z.com>
* libnautilus-extentions/nautilus-list.c (nautilus_list_draw):
Call gtk_widget_draw on the title widget. This fixes the problem
where the widget is not drawn when the list view is first selected.
Mon Aug 07 00:31:50 2000 George Lebl <jirka@5z.com>
* libnautilus-extensions/nautilus-glib-extensions.c
(nautilus_get_system_time): use G_GINT64_CONSTANT instead of LL
to be more "alpha clean"
* libnautilus-extensions/nautilus-list-column-title.c
(nautilus_list_column_title_initialize)
(nautilus_list_column_title_finalize) (get_column_frame_at)
(load_up_indicator) (get_sort_indicator)
(nautilus_list_column_title_paint): Don't use GnomePixmap just
for loading pixmaps, this doesn't work always (read doesn't work
on my machine), plus it's a horrible hack. Use GdkPixbuf to load
up the sort indicator pixmaps. The title_window of the clist
scrolls itself horizontally, so don't add the horizontal scroll
again during painting. Fix text not always redrawing some 2 pixel
stripes because we were clipping the redrawing rectangle rather
then only the outside of the cell.
* libnautilus-extensions/nautilus-list.c (nautilus_list_initialize)
(nautilus_list_flush_typeselect_state) (nautilus_list_realize):
use G_GINT64_CONSTANT instead of LL. Use
gtk_widget_push/pop_composite_child when creating the column title
Check existance of list->details->title rather then
clist->title_window when adding it to clist->title_window as
clist->title_window will always exist.
made assigned emblems appear earlier in the list than intrinsic ones,
since they are more important to the user and also, at Bud's suggestion
distinguished the additional info beneath the file name from the
filename by drawing it in a different color
fixed embedded icon text clarity (we were using helvetica 9, which wasn't installed
on many machines, and the scaled version looked hideous). Fixed by using the
bigger, more commonly installed helvetica 24 font, then scaling it down using the
gdk_pixbuf compositing routines, which exploit the gray-scale.
2000-08-05 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-undo-manager.c: (corba_append),
(nautilus_undo_manager_undo):
Fixed a bug where transaction)in_progress was always TRUE.
This caused a g_warning to always be fired. I guess no one
noticed because we aren't exercising the undo code.
* libnautilus/nautilus-undo-transaction.c:
(remove_transaction_from_object),
(nautilus_undo_transaction_add_atom),
(nautilus_undo_transaction_add_to_undo_manager),
(remove_atoms_cover),
(nautilus_undo_transaction_unregister_object):
Fixed bug 1984, crash when closing window after an undo operation.
This crash is caused by a bogus transaction being left
in the target objects transaction list. An assert is thrown
because the item in the list is not a transaction. I suspect it
is the sad remains of an unrefed transaciton that is still in
the list somehow. I made a work arund by checking before
freeing, but need Darin's help to figure out the true cause.
2000-08-05 Ali Abdin <aliabdin@aucegypt.edu>
In summary, get Docbook XML working. Support JPEG images. Make PNG
default image. Fix the GUIMENU/GUISUBMENU tags.
* components/help/help-method.c:
(help_uri_to_string),
(convert_file_to_uri):
Support text/xml as a possible help file (Docbook XML). Also if we
don't recognize the help file, mark it as 'UNKNOWN_FILE' and handle it
gracefully (should now not reach g_assert_not_reached in the code)
* components/help/converters/gnome-db2html2/gdb3html.h,
* components/help/converters/gnome-db2html2/sect-elements.c,
* components/help/converters/gnome-db2html2/toc-elements.c:
Add the "articleinfo" tag to act just like the "artheader" tag (the
former is Docbook XML and the latter is Docbook SGML).
* components/help/converters/gnome-db2html2/sect-elements.c:
(sect_graphic_start_element): Small fix to match Eazel style
guidelines. Add support for JPEG/JPG image types. Make PNG the default
image type if the 'format' attribute in the graphic element is not
found.
(sect_b_arrow_end_element): New function.
Also - removed MENUCHOICE tag, and made GUIMENU and GUISUBMENU use
sect_b_arrow_end_element.
* libnautilus-extensions/nautilus-icon-container.c: (relayout),
(size_allocate), (finish_adding_new_icons),
(nautilus_icon_container_set_zoom_level),
(nautilus_icon_container_set_auto_layout):
Changed relayout so it will update the scroll region. This fixes
bug 1907 (layout options sometimes move icons out of window).
* libnautilus/nautilus-clipboard.c: (add_menu_items_callback):
Fix leak of remote UI handler. This fixes the rest of bug 1259,
which was just a bug about the FIXME that said "remote UI handler
leaks here, right?".
* libnautilus-extensions/nautilus-directory-async.c: (lacks_info),
(get_info_callback): Fixed infinite loop when you hit a file and
you can't get info for it. Related to the bug Mike Fleming is
looking at.
* src/nautilus-window-menus.c: (help_menu_about_nautilus_callback):
fix 1997, So you have time in the about box.
* acconfig.h: added undef for NAUTILUS_TIMESTAMP
* configure.in: added define for NAUTILUS_TIMESTAMP
I turned MALLOC_CHECK_=2 on. This is a good thing for
everyone to run with (unless it slows things down hideously,
which it doesn't seem to).
* src/nautilus-simple-search-bar.c:
(nautilus_simple_search_criteria_to_search_uri):
This function (apologies to Pavel) crashed like a Russian
helicopter and leaked like a Russian submarine. Fixed an off-by-one
bug in a g_new0 that was trashing memory; removed another g_new0
call that was just leaking its results; called g_strfreev to
free the results of a g_strsplit call.
* src/file-manager/fm-directory-view.c:
(bonobo_control_activate_callback): Fix bug where we would leak
a remote UI handler. This caused bad problems when opening and
closing windows with the undo management. This fixes bugs 1949
and 1259.
* src/nautilus-window-private.h:
* src/nautilus-window.c: (nautilus_window_destroy):
* src/nautilus-window-menus.c: (append_bookmark_to_menu),
(nautilus_window_remove_go_menu_callback),
(nautilus_window_remove_bookmarks_menu_items),
(nautilus_window_remove_go_menu_items):
Fix bookmark signals to properly disconnect when the window goes
away. The old way of using connect_while_alive would not work
because we need to disconnect the signals one at a time sometimes
too and it's illegal to disconnect a "while_alive" signal any
other way.
* libnautilus-extensions/nautilus-directory-async.c:
(metafile_write_failure_close_callback),
(metafile_write_success_close_callback), (metafile_write_callback):
Fix handling of error codes from close when writing a metafile.
* components/mozilla/nautilus-mozilla-content-view.c
(mozilla_load_location_callback): Removes
nautilus_view_report_load_complete call from here...
(mozilla_progress_callback): And move it here, because we only
want to make that call after all the various report_progress
calls. This fixes bugs 1933 and 1955. Pavel did most of the heavy
lifting of figuring out why this was killing the state machine.
fixed bug where setting the sidebar to a solid color background
wouldn't work; fixed by allowing nautilus_background to handle
that case instead of inheriting.
also, at Susan's suggestion, don't draw the name for the reset background
property, to better distinguish it from the others (and its name
is part of its image, anyway)
-George
Fri Aug 04 14:21:51 2000 George Lebl <jirka@5z.com>
* components/hardware/nautilus-hardware-view.c (setup_form_title):
Check result of gnome_pixmap_file. If NULL, we can't make a new
gnome-pixmap.
* components/help/converters/gnome-db2html2/sect-elements.c
(sect_get_infobox_logo) (sect_infobox_start_element):
sect_get_infobox_logo can return a NULL so check its return
and if NULL just add %s instead of <IMG ...>
* components/services/vault/command-line/vault-operations.c,
libnautilus-extensions/nautilus-list.c:
add #include <string.h>
* cut-n-paste-code/freetype/ftcalc.h,
cut-n-paste-code/freetype/ftconfig.h: Well even though this
is cut and paste code I NEED to add this patch for it to even
compile on alpha, I'll try to get this upstream. The only changes
are inside #ifdefs on platforms where long is 64 bit so it should
not affect intel code at all.
* libnautilus-extensions/nautilus-file-utilities.c
(nautilus_format_uri_for_display): use g_strdup instead of strdup
as then g_free is used and this would really confuse glib in memory
checking mode.
* librsvg/art_render_mask.c, librsvg/rsvg-bpath-util.c,
librsvg/rsvg-ft.c: add #include <string.h>
* src/Makefile.am: define NAUTILUS_PIXMAPDIR. This is neccessary for
both making the tarballs and actual code sanity on switching
toolbar themes etc. In GNOME 2.0 the GNOME_PATH can be sanely used
to allow relocatable nautilus binary, but in 1.[02] this is the
correct way to do things.
* src/nautilus-complex-search-bar.c
(nautilus_complex_search_bar_initialize)
(load_find_them_pixmap_widget): If we can't load pixmaps don't
add them. Also don't hardcode "/gnome/share" prefix and use
the NAUTILUS_PIXMAPDIR define to find search.png AND make sure
we can load it before using it.
* src/nautilus-window-toolbars.c (find_toolbar_child) (setup_button)
In toolbar_info use the NAUTILUS_PIXMAPDIR define to find pixmaps.
remove get_stock_callback and get_stock_widget as those functions
were an incredible hack and were likely to break. Replace with a
function which searches the toolbar children and then finds correct
icon widget. It also doesn't do anything if there is no icon. In
setup button, use NAUTILUS_PIXMAPDIR to define pixmaps by their
full name. If we cannot set the stock widget icon, then the icon
is not registered and we register it with gnome-stock.
Miraculously the current code worked but only worked because the
eazel theme was set up in the toolbar_info, other themes with
outside images would break.
* icons/arlo/Makefile.am:
* icons/arlo/i-regular.xml:
* icons/arlo/i-directory.xml:
For the demo, I've added some data to these xml files
so text shows up on my icons, and emblems get placed
correctly on my temporary folders.