2004-02-21  Jim Evins  <evins@snaught.com>

	* data/avery-iso-templates.xml:
		Added aliases for Avery 8651.  Patch provided by Wayne Schuller.
	
	* glabels.spec.in:
		Added libglabels library and include file to installed files.
		
	* configure.in:
		Final prep for 1.93.3.

2004-02-20  Jim Evins  <evins@snaught.com>

	* src/glabels-batch.c: (main):
		Changed key for setting output filename to GNOME_PRINT_KEY_OUTPUT_FILENAME
		as suggested by Javier Donaire Segarra.  This addresses bug #901063.

2004-02-16  Jim Evins  <evins@snaught.com>

	* configure.in:
		If gtk+ >= 2.3.2 then define HAVE_FILE_CHOOSER.
	
	* src/Makefile.am:
		Added HAVE_FILE_CHOOSER to INCLUDES.
	
	* src/file.c: (gl_file_open), (open_response), (gl_file_open_real),
	(gl_file_save_as), (save_as_response):
		Ported to use GtkFileChooserDialog if HAVE_FILE_CHOOSER is defined.

2004-02-16  Jim Evins  <evins@snaught.com>

	* src/xml-label-04.c: (xml04_parse_image_props):
	* src/xml-label-191.c: (xml191_parse_image_props):
	* src/xml-label.c: (xml_parse_object_image):
		Delay setting image size until after image has been applied to new
		object.
	
2004-02-15  Jim Evins  <evins@snaught.com>

	* src/label-barcode.c: (gl_label_barcode_set_data),
	(gl_label_barcode_set_props):
		Don't emit "changed" signal, if no change actually made for these
		methods.  Reduces number of unnecessary redraws of barcodes.
	
	* src/label-object.h:
	* src/label-object.c: (gl_label_object_set_position),
	(gl_label_object_set_position_relative), (set_size),
	(gl_label_object_set_size),
	(gl_label_object_set_size_honor_aspect):
		Don't emit "changed" signal, if no change actually made for these
		methods.

2004-02-15  Jim Evins  <evins@snaught.com>

	* data/glabels-2.0.dtd:
		Added specific subtypes for various barcode types.
	
	* src/bc.h:
	* src/bc.c: (id_to_index), (name_to_index), (gl_barcode_new),
	(gl_barcode_get_styles_list), (gl_barcode_default_digits),
	(gl_barcode_can_text), (gl_barcode_text_optional),
	(gl_barcode_can_csum), (gl_barcode_csum_optional),
	(gl_barcode_id_to_name), (gl_barcode_name_to_id):
		Changed API to use a string id, rather than a fixed enumeration.  Id and
		name are separate strings.  Added entries to backend table for specific
		subtypes for various barcode types.
	
	* src/bc-postnet.h:
	* src/bc-postnet.c: (gl_barcode_postnet_new), (postnet_code),
	(is_length_valid):
		Modified to conform to above API.  Now more stringent with data length
		for various subtypes.
	
	* src/bc-gnubarcode.h:
	* src/bc-gnubarcode.c: (gl_barcode_gnubarcode_new),
	(is_length_valid), (is_length1_valid), (is_length2_valid):
		Modified to conform to above API.  Now more stringent with data length
		for various subtypes.

	* src/label-barcode.h:
	* src/label-barcode.c: (copy), (gl_label_barcode_set_props),
	(gl_label_barcode_get_props), (get_size):
		Modified to use above API for storing barcode type.
	
	* src/object-editor.h:
	* src/object-editor-bc-page.c: (style_changed_cb),
	(gl_object_editor_set_bc_style), (gl_object_editor_get_bc_style):
		Modified to use above API for storing barcode type.
	
	* src/object-editor-size-page.c:
	(gl_object_editor_prepare_size_page), (aspect_toggle_cb),
	(w_spin_cb), (h_spin_cb), (size_reset_cb):
		Added debug markers.
	
	* src/object-editor.glade:
		Made barcode style combo's text entry  non-editable.
	
	* src/print.c: (draw_barcode_object):
		Modified to use above API for barcode type.

	* src/view-barcode.c: (update_object_from_editor_cb),
	(update_editor_from_object_cb),
	(gl_view_barcode_create_event_handler), (draw_barcode):
		Modified to use above API for barcode type.
	
	* src/xml-label-04.c: (xml04_parse_barcode_props):
	* src/xml-label-191.c: (xml191_parse_barcode_props):
	* src/xml-label.c: (xml_parse_object_barcode),
	(xml_create_object_barcode):
		Modified to use above API for barcode type.

2004-02-07  Jim Evins  <evins@snaught.com>

	* src/stock-pixmaps/Makefile.am:
	* src/stock-pixmaps/stock_hchain_24.png:
	* src/stock-pixmaps/stock_hchain_broken_24.png:
	* src/stock-pixmaps/stock_vchain_24.png:
	* src/stock-pixmaps/stock_vchain_broken_24.png:
		Added chain pixmaps borrowed from the gimp's default theme.

	* src/stock.h:
	* src/stock.c: (gl_stock_init), (add_button_icon):
		Added above pixmaps to stock icon sets.  Created add_button_icon() to
		add these pixmaps sized as GTK_ICON_SIZE_BUTTON.
	
	* src/wdgt-chain-button.h
	* src/wdgt-chain-button.c
	* src/Makefile.am:
	* po/POTFILES.in:
		Added this Modified version of gimpchainbutton widget, borrowed from
		the gimp.
	
	* AUTHORS:
		Added acknowledgements of the above borrowing from the gimp.
	
	* src/object-editor-size-page.c: (aspect_toggle_cb), (w_spin_cb),
	(h_spin_cb):
	* src/object-editor.c: (gl_object_editor_construct_chain_button):
	* src/object-editor.glade:
		Replaced the keep aspect ratio check box with the above chain-button
		widget.
	
	* src/text-node.c: (gl_text_node_equal):
	* src/text-node.h:
		Added function gl_text_node_equal() to compare text_nodes.
	
	* src/label-image.c: (gl_label_image_set_filename):
		Replaced incomplete text_node comparison code with invocation of
		gl_text_node_equal.  This fixed the problem of not being able to
		resize an image using the object_editor if the aspect ratio is not
		locked.

2004-02-04  Jim Evins  <evins@snaught.com>

	* src/object-editor-image-page.c:
	(gl_object_editor_prepare_image_page):
		Track "changed" signal of pixmap entry's GtkEntry rather than its
		"activate" signal -- this catches all changes to the entry rather than
		just changes resulting from a browse, so one can easily pull previous
		entries from the history. (This change is marked below on 2004-02-03,
		but somehow never got checked in.)

	* src/view-highlight.c: (sl_resize_event_handler),
	(sr_resize_event_handler), (st_resize_event_handler),
	(sb_resize_event_handler):
		Side resize handles will now confirm the actual resize that the object
		accepted before adjusting position parameters.  Previously some interesting
		things happened when resizing a barcode to its minimum size.

2004-02-03  Jim Evins  <evins@snaught.com>

	* src/object-editor-image-page.c:
	(gl_object_editor_prepare_image_page):
		Track "changed" signal of pixmap entry's GtkEntry rather than its
		"activate" signal -- this catches all changes to the entry rather than
		just changes resulting from a browse, so one can easily pull previous
		entries from the history.
	
	* src/view-highlight.c: (tl_resize_event_handler),
	(tr_resize_event_handler), (bl_resize_event_handler),
	(br_resize_event_handler):
		Allow control key to be dropped while dragging a corner resize handle
		without losing the aspect ratio lock.

2004-02-02  Jim Evins  <evins@snaught.com>

	* src/label-image.c: (gl_label_image_set_filename):
		When setting a new filename adjust size such that the aspect ratio of
		the image is preserved using the current size as a bounding box.
		
	* src/view-image.c: (update_object_from_editor_cb):
		When updating object from editor, feed back possible size changes to
		editor as a result of a possible change in image.
	
	* src/object-editor-size-page.c: (size_reset_cb):
		Fixed typo when blocking spin handlers.  If the base size is larger than
		the max size, treat max size as a bounding box while keeping aspect
		ratio.
		

2004-02-02  Jim Evins  <evins@snaught.com>

	* src/label-object.h:
	* src/label-object.c: (gl_label_object_set_size),
	(gl_label_object_set_size_honor_aspect):
		Added gl_label_object_set_size_honor_aspect() which will maintain the
		current aspect ratio by modifying the supplied w or h apropriately.
	
	* src/view-highlight.c: (tl_resize_event_handler),
	(tr_resize_event_handler), (bl_resize_event_handler),
	(br_resize_event_handler):
		Corner handles will now maintain the current aspect ratio if the
		control key is pressed while resizing.  This addresses feature
		request #816603.
       

2004-01-31  Jim Evins  <evins@snaught.com>

	* AUTHORS:
	* data/avery-us-templates.xml:
		Added entries for "LSK-3," "LSK-5," and "LSK-8."  Submitted by JBadger.
	
	* libglabels/template.c: (read_template_files_from_dir):
		Corrected problem with testing for extensions.
	
	* src/object-editor.glade:
		Corrected grouping of radio buttons in barcode data page.

	* src/print.c: (draw_barcode_object):
	* src/view-barcode.c: (draw_barcode):
		Corrected problem with calculation of y_offset for locating characters.

2004-01-24  Jim Evins  <evins@snaught.com>

	* AUTHORS:
	* data/avery-us-templates.xml:
		Added Avery 5824, submitted by Fred Bacon.
	
2004-01-20  Jim Evins  <evins@snaught.com>

	Catching up on a couple of backlogged user template submissions.

	* data/avery-iso-templates.xml:
		Added "DECAdry OLW-4731" and "DECAdry DLW-1731" aliases for Avery 7160.
		Suggested by Linas Jakucionis.
	
	* data/zweckform-iso-templates.xml:
		Added Zweckform 4760, submitted by Thomas Vill.

	* AUTHORS:
		Updated to reflect above submissions.

2004-01-06  Jim Evins  <evins@snaught.com>

	Split-out template.[ch], paper.[ch], xml-template.[ch], xml-paper.[ch], and
	xml.[ch] into a separate library called libglabels, to facilitate third
	party use of glabels template files.  This was suggested by Wayne Schuller.
	Once split-out, some modifications to the structures and functions to
	make a cleaner more useful API, hopefully.  Rather extensive changes have
	propogated to other modules.

	* src/paper.h:
	* src/paper.c:
	* src/template.h:
	* src/template.c:
	* src/xml-paper.h:
	* src/xml-paper.c:
	* src/xml-template.h:
	* src/xml-template.c:
	* src/xml.h:
	* src/xml.c:
		These files have been moved to libglabels/.  API cleanup performed.

	* libglabels/libglabels.h:
	* libglabels/libglabels-private.h:
	* libglabels/Makefile.am:
		These files have been added to finish out libglabels.
	
	* Makefile.am:
	* configure.in:
	* glabels.spec.in:
	* po/POTFILES.in:
	* src/Makefile.am:
		Modified to reflect new sets of files in src/ and libglabels/.

	* COPYING.LIBGLABELS:
	* COPYING-DOCS:
		Added copy of the LGPL for libglabels, and a copy the GFDL for
		documentation.
	
	* src/glabels-batch.c:
	* src/glabels.c:
	* src/label.c: (gl_label_finalize), (gl_label_set_template),
	(gl_label_get_size):
	* src/label.h:
	* src/prefs-model.c: (gl_prefs_model_load_settings):
	* src/print-dialog.c:
	* src/print.c: (gl_print_simple), (gl_print_merge_collated),
	(gl_print_merge_uncollated), (gl_print_batch), (print_info_free),
	(print_crop_marks), (print_label), (draw_outline),
	(clip_to_outline), (clip_punchouts):
	* src/template-designer.c: (construct_pg_size_page),
	(pg_size_page_changed_cb), (layout_page_changed_cb),
	(print_test_cb), (build_template):
	* src/util.c: (gl_util_fraction):
	* src/util.h:
	* src/view.c: (draw_bg_fg_layers), (draw_bg_fg_rect),
	(draw_bg_fg_rounded_rect), (draw_bg_fg_round), (draw_bg_fg_cd),
	(draw_bg_fg_cd_bc), (draw_markup_layer), (draw_markup_margin),
	(draw_markup_margin_rect), (draw_markup_margin_rounded_rect),
	(draw_markup_margin_round), (draw_markup_margin_cd),
	(draw_markup_margin_cd_bc), (draw_markup_line),
	(draw_markup_circle), (gl_view_copy):
	* src/wdgt-media-select.c: (gl_wdgt_media_select_construct),
	(page_size_entry_changed_cb), (details_update), (get_layout_desc),
	(get_label_size_desc):
	* src/wdgt-mini-preview.c:
	(gl_wdgt_mini_preview_set_label_by_name), (mini_outline_list_new),
	(cdbc_item):
	* src/wdgt-print-copies.c: (gl_wdgt_print_copies_construct):
	* src/wdgt-print-merge.c: (gl_wdgt_print_merge_construct):
	* src/wdgt-rotate-label.c: (mini_preview_canvas_update),
	(gl_wdgt_rotate_label_set_template_name), (cdbc_item):
	* src/wdgt-rotate-label.h:
	* src/xml-label-04.c: (xml04_parse_media_description):
	* src/xml-label-191.c: (gl_xml_label_191_parse),
	(xml191_parse_sheet), (xml191_parse_label), (xml191_parse_layout),
	(xml191_parse_markup), (xml191_parse_alias):
	* src/xml-label.c: (xml_doc_to_label), (xml_parse_label),
	(xml_label_to_doc):
		Various changes to accomodate new libglabels API.
	
2004-01-03  Jim Evins  <evins@snaught.com>

	* configure.in:
		Release 1.93.2.

2004-01-03  Jim Evins  <evins@snaught.com>

	* AUTHORS:
		Added acknowledgement of contributions by Wayne Schuller.
	
	* src/commands.c: (gl_cmd_file_print):
		Create extra reference to print dialog, so that it can be properly re-used.
	
	* src/mygal/mygal-combo-box.h:
	* src/mygal/mygal-combo-box.c:
	(mygal_combo_box_popup_hide_unconditional),
	(mygal_combo_box_popup_display), (mygal_combo_box_set_display),
	(gtk_combo_set_tearoff_state), (mygal_combo_box_construct),
	(mygal_combo_box_set_arrow_relief), (mygal_combo_box_set_title),
	(mygal_combo_box_set_tearable):
		Changed all occurances of GTK_IS_COMBO_BOX to MYGAL_IS_COMBO_BOX, to
		complete the rename of this widget to prevent namespace collisions
		with Gtk+-2.3.
	
	* src/prefs-dialog.glade:
		Fixed alignment of Fill/Color widgets.

2004-01-03  Jim Evins  <evins@snaught.com>

	* data/avery-iso-templates.xml:
		Added user submitted templates.
		Avery 8435A & 8435B, submitted by Ludger Solbach.

	* doc/C/glabels.xml:
		Added minimal documentation, noting the new template designer.

2004-01-03  Jim Evins  <evins@snaught.com>

	* pixmaps/ex-rect-size.png:
	* pixmaps/ex-round-size.png:
	* pixmaps/ex-cd-size.png:
	* pixmaps/Makefile.am:
		Added ex-rect-size.png, ex-round-size.png, and ex-cd-size.png image
		files to be used as illustrations/examples in the template-designer.

	* src/template-designer.c: (construct_rect_size_page),
	(construct_round_size_page), (construct_cd_size_page),
	(construct_nlayouts_page), (rect_size_page_prepare_cb),
	(round_size_page_prepare_cb), (cd_size_page_prepare_cb),
	(layout_page_prepare_cb), (build_template):
	* src/template-designer.glade:
		Added illustrations for rectangle, round, and cd label size pages.
		Added margin spinboxes to these pages, and now add a margin markup
		to the constructed template.  Added realistic default values for
		some of the size spinboxes.  Cleaned up the code for setting spinbox
		ranges on the layouts page.

2004-01-02  Jim Evins  <evins@snaught.com>

	* src/object-editor-size-page.c: (h_spin_cb):
		Fixed cut-n-paste error in h_spin_cb that loaded h from
		the wrong spinbutton.

	* src/object-editor.h:
	* src/object-editor.c: (gl_object_editor_class_init),
	(gl_object_editor_changed_cb), (gl_object_editor_size_changed_cb):
	* src/object-editor-private.h:
	* src/object-editor-size-page.c: (w_spin_cb), (h_spin_cb),
	(size_reset_cb):
		Added "size_changed" signal.
		
	* src/view-text.c: (construct_properties_editor),
	(update_object_from_editor_cb),
	(update_object_from_editor_size_cb):
		Track size changes from object editor separately from other
		properties.  This is so the default size (0,0) of a text
		object is not modified unintentionally.

2003-12-30  Wayne Schuller  <k_wayne@linuxpower.org>

	Added feature: line spacing - allows you to comfortably space a text box to
	fit a label perfectly.

	* data/glabels-2.0.dtd:
	* src/label-object.c: (gl_label_object_set_text_line_spacing),
	(gl_label_object_get_text_alignment),
	(gl_label_object_get_text_line_spacing):
	* src/label-object.h:
	* src/label-text.c: (gl_label_text_class_init),
	(gl_label_text_instance_init), (copy), (get_size),
	(set_text_line_spacing), (get_text_alignment),
	(get_text_line_spacing):
	* src/object-editor-private.h:
	* src/object-editor-text-page.c:
	(gl_object_editor_prepare_text_page),
	(gl_object_editor_set_text_line_spacing),
	(gl_object_editor_get_text_line_spacing):
	* src/object-editor.glade:
	* src/object-editor.h:
	* src/prefs-dialog.c: (construct_object_page),
	(update_object_page_from_prefs), (update_prefs_from_object_page):
	* src/prefs-dialog.glade:
	* src/prefs-model.c: (gl_prefs_model_save_settings),
	(gl_prefs_model_load_settings), (get_float):
	* src/prefs-model.h:
	* src/print.c: (draw_text_object):
	* src/ui-sidebar.c:
	* src/view-text.c: (update_object_from_editor_cb),
	(update_editor_from_object_cb),
	(gl_view_text_create_event_handler), (draw_hacktext):
	* src/view.c: (gl_view_construct),
	(gl_view_set_selection_text_line_spacing),
	(gl_view_set_default_text_line_spacing),
	(gl_view_get_default_text_line_spacing):
	* src/view.h:
	* src/xml-label.c: (xml_parse_toplevel_span),
	(xml_create_toplevel_span):

2003-12-30  Jim Evins  <evins@snaught.com>

	* src/template-designer.c:
	* src/template-designer.h:
	* src/template-designer.glade:
		New template designer assistant.
	
	* po/POTFILES.in:
	* src/Makefile.am:
		Added entries for src/template-designer.* files.
	
	* pixmaps/ex-1layout.png
	* pixmaps/ex-2layouts.png
	* pixmaps/Makefile.am:
		Added the new image files ex-*.png used as illustrations in the
		template designer assistant.
	
	* src/print-dialog.h:
	* src/print-dialog.c: (gl_print_dialog_finalize),
	(gl_print_dialog_new), (gl_print_dialog_construct),
	(gl_print_dialog_force_outline_flag):
		Changed first argument of gl_print_dialog_new() from glView to glLabel,
		to support printing from the template designer assistant which does not
		have a full-fledged view.  Nothing else from the view object was being
		used by the dialog anyway.

		Added the gl_print_dialog_force_outline_flag() method, for better
		integration with the template designer assistant.
		

	* src/commands.h:
	* src/commands.c: (gl_cmd_file_template_designer),
	(gl_cmd_file_print):
		Modified print command to provide label instead of view to dialog.
		Added the gl_cmd_file_template_designer() command to invoke the
		template designer assistant.
	
	* src/ui.c:
	* src/glabels-ui.xml:
		Added support for template designer assistant.
	
	* src/wdgt-mini-preview.h:
	* src/wdgt-mini-preview.c: (gl_wdgt_mini_preview_set_template),
	(gl_wdgt_mini_preview_set_bg_color):
		Preview is now centered in canvas.  Added
		gl_wdgt_mini_preview_set_bg_color() to allow the template designer
		assistant to match the background color with its own.
	
	* src/print.c: (clip_to_outline):
		Fixed really stupid bug when adding waste to clip region of rectangular
		labels/cards.  Each side of the clip region needs to be extended by
		twice the waste margin, as well as negatively offset by the waste
		margin.

2003-12-28  Jim Evins  <evins@snaught.com>

	* src/prefs-dialog.c: (update_object_page_from_prefs):
		Block intermediary function align_toggle_cb() instead of
		update_prefs_from_object_page() for the three alignment
		widgets.

2003-12-28  Wayne Schuller  <k_wayne@linuxpower.org>

	* src/file.c: (gl_file_new), (gl_file_properties):
		Swap button order and set default for higificatory pleasure.

2003-12-27  Jim Evins  <evins@snaught.com>

	* barcode-0.98/Makefile.am:
		One last time:  removed doc/Makefile and po/Makefile.in.in from
		EXTRA_DIST files.
	
2003-12-27  Jim Evins  <evins@snaught.com>

	* barcode-0.98/Makefile.am:
		Removed config.stat entry from EXTRA_DIST files.
	
	* barcode-0.98/Makefile.in:
		Removed.

2003-12-27  Jim Evins  <evins@snaught.com>

	* configure.in:
		Updated to work with latest gnome-common package from CVS.
		Removed recursive configuration of barcode-0.98.

	* acconfig.h:
	* macros/*:
		Removed.
	
	* Makefile.am:
		Added barcode-0.98/ as a SUBDIR, and removed dist-hook.
	
	* barcode-0.98/Makefile.in:
	* barcode-0.98/configure.in:
	* barcode-0.98/Makefile.am:
	* barcode-0.98/README.glabels:
		Modified to ignore the barcode package's build system, and build
		as a part of glabels.
		Renamed Makefile.in to Makefile.in.dist.
		Renamed configure.in to configure.in.dist.
		Added barcode-0.98/Makefile.am and barcode-0.98/README.glabels.
	
	* src/Makefile.am:
	* src/mygal/Makefile.am:
	* src/recent-files/Makefile.am:
		In order to build against the GNOME 2.5 platform, 
		all use of *_DISABLE_DEPRECATED compile-time flags has been removed.
	
	* src/mygal/Makefile.am:
	* src/mygal/mygal-combo-box.c:
	* src/mygal/mygal-combo-box.h:
	* src/mygal/widget-color-combo.c:
	* src/mygal/widget-color-combo.h:
	* po/POTFILES.in:
		In order to build against the GNOME 2.5 platform, 
		Renamed gtk_combo_box widget to mygal_combo_box, to prevent namespace
		collisions with the real gtk_combo_box widget, now a part of gtk.
	
2003-12-26  Jim Evins  <evins@snaught.com>

	* src/paper.c:
	* src/template.c:
	* src/util.c:
	* src/util.h:
		Moved local versions of get_home_data_dir() in paper.c and
		template.c to util package.  Cleaned up formatting in
		util.[ch].

	* src/template.c:
		In gl_template_register() save a copy of the template in
		~/.glabels if the template is not known.  Still need to
		handle duplicate filename case and duplicate name but
		different template case.
	
	* src/xml-label.c:
	* src/xml.h:
		Moved local definition of NAME_SPACE macro from xml-label.c
		to xml.h.
	
	* src/xml-template.c:
	* src/xml-template.h:
		Added function gl_xml_template_write_template_to_file(), used
		in gl_template_register().

	
