2000-08-31 Martin Baulig <baulig@suse.de>
* configure.in: Don't put -Werror into CFLAGS but into WERROR
and AC_SUBST it. Some configure checks don't work with -Werror.
* */Makefile.am (INCLUDES): Add $(WERROR).
2000-08-18 Bradford Hovinen <hovinen@helixcode.com>
* configure.in: Check for putenv and setenv and set appropriate
macros in config.h
2000-08-18 Bradford Hovinen <hovinen@helixcode.com>
* preview.c (setup_path): Use setenv only when available, try to
use putenv otherwise
2000-08-16 Bradford Hovinen <hovinen@helixcode.com>
* preferences.c (preferences_write_xml):
(preferences_read_xml): Added missing entries stored in
gnome-config rather than .xscreensaver
(screensaver_read_xml): Disable screensaver by default
(preferences_write_xml): Cast values to ints before passing to
g_strdup_printf
2000-08-16 Bradford Hovinen <hovinen@helixcode.com>
* capplet-widget.c: Add support for --get and --set to cap_options
(gnome_capplet_init): Add return values 3 for --get and 4 for --set
2000-08-16 Bradford Hovinen <hovinen@helixcode.com>
* rc-parse.c (write_screensaver_list): Don't try to write string
if the screensaver has no command line
* main.c (main): Register Popt table containing get and set
options; call do_get_xml and do_set_xml when necessary
(do_get_xml):
(do_set_xml): Implement
2000-08-16 Bradford Hovinen <hovinen@helixcode.com>
* screensaver-prefs-dialog.c (get_select_widget): Remove
extraneous precondition check
(read_command_line): Rewrote to support quoted strings in the
command line
2000-08-12 Bradford Hovinen <hovinen@helixcode.com>
* screensaver-prefs-dialog.c (write_command_line): Use flag free_v
to determine whether to free data; add support for strings
(write_string): Implement. Analagous to write_*
(populate_table): Add support for strings
(place_entry):
(get_entry): Implement
(place_screensaver_properties): Add support for strings
(read_string): Implement
(read_select):
(write_select): Skip over nodes that don't have id attributes
2000-08-10 Bradford Hovinen <hovinen@helixcode.com>
* screensaver-prefs-dialog.c (write_command_line): Fix memory leak
(read_select): Disable all widgets associated with unselected
nodes before enabling those associated with selected one
(read_select): Don't iterate through menu items
(read_number): Don't crash if person used bad argument
2000-08-10 Bradford Hovinen <hovinen@helixcode.com>
* expr.c (int_parse_atom): Have string -> boolean conversion
always convert to FALSE
(int_parse_factor): Set result to boolean TRUE when symbol of
value 1 encountered.
2000-08-09 Bradford Hovinen <hovinen@helixcode.com>
* preview.c (setup_path): Use get_screensaver_dir_list; iterate
through all the directories listed in list; use g_getenv
* rc-parse.c (get_screensaver_dir_list): Make public, cache
return value
(command_exists): Don't cache screensaver_dir_list
2000-08-09 Bradford Hovinen <hovinen@helixcode.com>
* rc-parse.c (get_screensaver_dir_list): Implement. Get a list of
possible directories where screensavers may be found by scanning
the XScreensaver binary.
(command_exists): Search through list of screensaver directories
from get_screensaver_dir_list rather than using the hardcoded one
Tue Aug 08 23:18:49 2000 George Lebl <jirka@5z.com>
* libgnomevfs/Makefile.am,
libgnomevfs/gnome-vfs-application-registry.[ch]:
A new application registry. The parsing is based upon
mime-info. The interface completely hides any structures
and is based entierly on querying string keys. Handles
user settings as a delta against the system settings. Also
adds mime_types list support to the registry instead of this
being read from the keys file.
* libgnomevfs/gnome-vfs-mime-handlers.[ch]
(gnome_vfs_mime_get_default_application)
(gnome_vfs_mime_get_short_list_applications)
(gnome_vfs_mime_get_all_applications)
(gnome_vfs_mime_extend_all_applications)
(gnome_vfs_mime_remove_from_all_applications)
(gnome_vfs_mime_application_new_from_id)
(application_known_to_be_nonexistent):
Use the application registry API internally. Remove the
gnome_vfs_mime_define_application call as it doesn't
make any sesnse any more and is replaced by an application
registry call. The all_applications calls now use the
registry api for all their work.
* libgnomevfs/gnome-vfs-mime-info.c (load_mime_type_info_from):
Fix a bug where comments would only be ignored on the first
line which would add nonsense mime types if comments were
elsewhere in the file.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c
(add_new_application)
test/test-mime-handlers-set.c (main):
Use the application registry for adding new applications
* data/mime/Makefile.am, data/mime/gnome-vfs.keys,
data/mime/gnome-vfs.applications,
data/mime/application-registry-hack.keys:
Remove the registry hack stuff, remove all_applications
stuff from gnome-vfs.keys and add the applications from
the registry hack to gnome-vfs.applications including
the mime types they read.
* mime-type-capplet/nautilus-mime-type-capplet.c: Move include of
sys/types.h above include of regex.h to fix building on
FreeBSD. Fix from Bill Huey <billh@gnuppy.monkey.org>.
2000-08-07 Bradford Hovinen <hovinen@helixcode.com>
* screensaver-prefs-dialog.c (screensaver_prefs_dialog_destroy):
Free structures only if they were ever allocated
* selection-dialog.c (get_known_savers): Implement. Read the
screensaver directory for a list of valid screensavers
(place_screensaver_list): Use known_savers rather than XML data
* preferences.c (screensaver_get_label): Implement. Copy from
get_label in resources.c
* prefs-widget.c (deselect_saver_cb): Toggle only if event was a
mouse button press, not a keyboard press
(prefs_widget_init): Change vertical size of preview window to 200
(prefs_widget_init): Use a table for the buttons below the
screensaver list
(prefs_widget_init): Change label of edit button to Settings...
(prefs_widget_init): Don't have description and preview frames
expand, have selection frame expand
* Makefile.am (screensaver_properties_capplet_LDADD): Don't link
against glade
(INCLUDES): Don't set glade compilation flags
* screensaver-prefs-dialog.c (get_select_widget): Show menu item
(populate_table): Don't skip hgroups that lack ids
(place_number):
(place_boolean): Attach items with GTK_FILL
(get_check_button):
(get_select_widget): Set object data to point back to dialog
(populate_table): Pass dialog, remove extraneous arguments
(get_check_button): Connect toggled signal from here
(get_select_widget): Set data and connect activate signals from
here
(place_number): Set default from default attribute
(get_spinbutton): Set step_increment, page_increment, and
page_size on adjustment
(get_spinbutton):
(place_number): Set default to average of high and low if not
supplied
(get_argument_data): Add i18n support
(read_boolean):
(read_number):
(read_select):
(write_boolean):
(write_number):
(write_select): Check if id is NULL before trying to look up a node
(screensaver_prefs_dialog_new): Make sure CLI arguments and XML
data were read successfully before trying to build the widget
(get_argument_data): Return pointer to document rather than root node
(screensaver_prefs_dialog_new): Set argument_data from argument_doc
(screensaver_prefs_dialog_class_init): Set parent_class
(screensaver_prefs_dialog_destroy): Implement; free all structures
(free_set_cb): Implement
(write_number): Don't assume correct format on the output string;
just replace the '%' with the appropriate argument
(write_command_line): Free arg iff generated from number
2000-08-06 Bradford Hovinen <hovinen@helixcode.com>
* screensaver-prefs-dialog.c (get_screensaver_widget): Accept
ScreensaverPrefsDialog as option
(get_argument_data): Assume one file per screensaver
(get_spinbutton):
(get_check_button):
(get_select_widget):
(place_number):
(place_boolean):
(place_hgroup):
(place_select):
(populate_table): Implement
(get_screensaver_widget): Rewrite to build screensaver config
dialogs manually from the XML data
(activate_option_cb):
(toggle_check_cb): Pass dialog to set_widgets_sensitive
(set_widgets_sensitive): Rewrite to use dialog->widget_db
(write_boolean):
(write_number):
(write_select): Use widget_db
(write_select):
(write_command_line): Don't check no-output
(write_command_line): Pass widget_db
(read_boolean):
(read_number):
(read_select): Use widget_db
(place_screensaver_properties): Pass dialog->widget_db to above
functions
(arg_mapping_exists): Use XML file rather than Glade definition
(screensaver_prefs_dialog_new): Initialize settings_widget with
the widget to be placed in the settings frame
(place_screensaver_properties): Take xml node; process hgroups
recursively
(write_command_line): Process hgroups recursively
(read_boolean):
(read_number):
(read_select): Check if set and set->value_widget are set before
proceeding
* screensaver-prefs-dialog.h (struct _PrefsDialogConfigOption):
New structure
(struct _ScreensaverPrefsDialog ): New member widget_db --
key-value database of PrefsDialogConfigOptions indexed by id
attribute from XML
2000-08-02 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 1837, The icon in the action list item
should represent the item in the list.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(populate_mime_list):
Load icon and display based on action.
2000-08-02 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 1836, Description list item icon wrong.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(populate_mime_list), (gdk_font_get_bold),
Set up proper and scaled description column icon.
(capplet_gdk_pixbuf_scale_to_fit):
New function that scales an gdk-pixbuf to the requested
width and height. Copied from libnautilus.
2000-07-28 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet.c:
(init_mime_capplet), (pixmap_file), (gtk_widget_make_bold),
(gtk_widget_set_font), (gtk_style_set_font), (gdk_font_get_bold):
New function to set the font of a widget to bold. These were
borrowed from libnautilus-extensions.
2000-07-14 Gene Z. Ragan <gzr@eazel.com>
* libgnomevfs/gnome-vfs-mime-handlers.c:
* libgnomevfs/gnome-vfs-mime-handlers.h:
(gnome_vfs_mime_get_icon), (gnome_vfs_mime_set_icon):
New API to get and set icon data.
* mime-type-capplet/Makefile.am:
Added new file
mime-type-capplet/nautilus-mime-type-icon-entry.c
* mime-type-capplet/nautilus-mime-type-icon-entry.c:
* mime-type-capplet/nautilus-mime-type-icon-entry.h:
(nautilus_mime_type_icon_entry_get_type),
(nautilus_mime_type_icon_entry_class_init), (entry_changed),
(entry_activated), (setup_preview), (ientry_destroy),
(browse_clicked), (icon_selected_cb), (cancel_pressed),
(gil_icon_selected_cb), (nautilus_mime_type_show_icon_selection),
(drag_data_received), (drag_data_get),
(nautilus_mime_type_icon_entry_init),
(nautilus_mime_type_icon_entry_new),
(nautilus_mime_type_icon_entry_gnome_file_entry),
(nautilus_mime_type_icon_entry_gnome_entry),
(nautilus_mime_type_icon_entry_gtk_entry),
(nautilus_mime_type_icon_entry_set_pixmap_subdir),
(nautilus_mime_type_icon_entry_set_icon),
(nautilus_mime_type_icon_entry_get_filename):
New file. This is a new verison of GnomeIconEntry.
I am customizing it to look and bahve in a way that
is compatible with Arlo's UI reccomendations.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(mime_list_selected_row_callback), (icon_changed),
(change_icon_clicked), (init_mime_capplet),
(nautilus_mime_type_capplet_update_info), (populate_mime_list):
More UI cleanups. Removed GnomeIconEntry and replaced
with new NautilusMimeTypeIconEntry.
2000-07-07 Gene Z. Ragan <gzr@eazel.com>
* libgnomevfs/gnome-vfs-mime-handlers.c:
(gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension):
Changed code to used renamed gnome_vfs_mime_extensions_list_free
* libgnomevfs/gnome-vfs-mime-info.c:
* libgnomevfs/gnome-vfs-mime-info.h:
(gnome_vfs_mime_get_extensions_pretty_string):
Return a list with period prepended, comma seperated items.
(gnome_vfs_mime_extensions_list_free):
Changed name form gnome_vfs_mime_extension_list_free
* mime-type-capplet/nautilus-mime-type-capplet.c:
(populate_extension_list), (init_mime_capplet),
(nautilus_mime_type_capplet_update_info), (populate_mime_list),
(create_mime_list_and_scroller):
More exciting UI layout work and feature completion.
2000-07-06 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet.c: (column_clicked),
(create_mime_list_and_scroller):
Added sorting functionality to the column buttons. Enabled
columns to respond to a click. Clicking a column header
toggles between ascending and descending sort for that column.
2000-07-04 Gene Z. Ragan <gzr@eazel.com>
More capplet work in progress. Modifying applet and code
to support UI work done by Arlo.
* libgnomevfs/gnome-vfs-mime-handlers.c:
(gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension):
API changes to support new layout.
* libgnomevfs/gnome-vfs-mime-info.c:
* libgnomevfs/gnome-vfs-mime-info.h:
(gnome_vfs_mime_get_extensions_list),
(gnome_vfs_mime_get_extensions_string):
API changes to support new layout.
* mime-type-capplet/Makefile.am:
Added dependency to GdkPixbuf.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(show_edit_components_dialog), (add_new_application),
(show_new_application_window), (show_edit_application_window):
API changes to support new layout.
* mime-type-capplet/nautilus-mime-type-capplet.c:
* mime-type-capplet/nautilus-mime-type-capplet.h:
(populate_extension_list), (extension_list_deselected),
(application_button_toggled), (viewer_button_toggled),
(icon_changed), (init_mime_capplet),
(nautilus_mime_type_capplet_update_info),
(populate_application_menu), (populate_viewer_menu),
(edit_default_clicked),
(nautilus_mime_type_capplet_update_application_info),
(nautilus_mime_type_capplet_update_viewer_info),
(insert_mime_vals_into_clist), (create_mime_list_and_scroller),
(nautilus_mime_type_capplet_get_selected_item_mime_type),
(make_path), (pixmap_file):
API changes to support new layout.
2000-06-22 Gene Z. Ragan <gzr@eazel.com>
Fixed bug #581. Ui for specifying whether applicaition
can open multiple files at once.
* libgnomevfs/gnome-vfs-mime-handlers.c:
* libgnomevfs/gnome-vfs-mime-handlers.h:
(gnome_vfs_mime_define_application):
Added const char * argument for mime type. Removed placeholder
mime type.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(populate_default_applications_list),
(populate_default_components_box),
(initialize_edit_applications_dialog), (add_new_application),
(show_new_application_window), (show_edit_application_window):
Modified edit applicaiton list dialog to use a GtkList with
embedded check buttons and labels. This allows single list items
to be selected so that individual items can be edited or deleted.
* test/test-mime-handlers-set.c: (main):
Fixed call to gnome_vfs_mime_define_application to use
new argument.
000-06-22 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(show_new_application_window), (show_edit_application_window):
Clean up work on layout of capplet dialogs.
2000-06-21 Gene Z. Ragan <gzr@eazel.com>
Fixed bug #1434, Fix alignment of widgets in main capplet view.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(init_mime_capplet):
Replaced use of multiple pack boxes with a table. Things
look much better now.
2000-06-21 Gene Z. Ragan <gzr@eazel.com>
Fixed bug #583
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(initialize_edit_applications_dialog),
(show_new_application_window), (show_edit_application_window):
New dialog and items to indicate and allow user to
set application behavior concerning multiple launch and
URI handling.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(init_mime_capplet):
Removed old UI code and migrated to dialog.
2000-06-21 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(initialize_edit_applications_dialog),
(nautilus_mime_type_capplet_show_new_extension_window),
(add_new_application), (show_new_application_window):
More work on adding applications and extension.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(nautilus_mime_type_capplet_add_extension),
(remove_extension_clicked), (none_button_toggled),
(application_button_toggled), (component_button_toggled),
(init_mime_capplet),
(nautilus_mime_type_capplet_get_selected_item_mime_type):
Changed use of GtkFixed to use layout. Layout is now messy
again, but I should be able to get it looking right.
2000-06-20 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet.c:
(mime_list_selected_row_callback), (none_button_toggled),
(application_button_toggled), (component_button_toggled),
(init_mime_capplet), (nautilus_mime_type_capplet_update_info):
Added frame and set of radio buttons to indicate and allow the
user to change the default action that will occur when a file
is clicked/double-clicked in Nautilus. We have three choices that
map to the three types of actions we currently support.
2000-06-20 Gene Z. Ragan <gzr@eazel.com>
Fixed bug #1221
* mime-type-capplet/nautilus-mime-type-capplet.c:
(application_menu_activated), (populate_application_menu),
(component_menu_activated), (populate_component_menu):
Add handling of the case where a default application or
component is not in the default applicaiton or component list.
This involved some UI work and adding the default app to
the default list. Hopefully the gnome-vfs-mime-handler API
will not allow this to happen, but we handle it just in case.
Cleaned up the way the menu items for the default application
and component are set and added a signal handler to set
the user's choice of application or component to be the default.