2004-05-05 Jim Evins * data/glabels-2.0.dtd: Broke DTD previously when adding new barcode types that contain a plus sign (+). Simply changed the BC_STYLE_TYPE entity to "CDATA" to avoid the problem. * data/avery-iso-templates.xml: * data/zweckform-iso-templates.xml: * AUTHORS: Added templates for Avery 7165, Zweckform 3688, 4732, and 6021. Templates provided by Frank Altpeter. * libglabels/xml-template.c: (xml_create_label_node): Reordered markup and layout sub-nodes so that resulting templates will validate against DTD. 2004-03-13 Jim Evins * src/object-editor-size-page.c: (gl_object_editor_prepare_size_page): Changed spin callback signals from "value-changed" back to "changed." This was accidentally introduced in a previous revision, and can cause size changes just by selecting the size tab. 2004-03-06 Jim Evins * src/view.c: (draw_grid_layer): For round labels (round and cd) adjust grid so that it lines up with center of label. Also, no longer draw box around label in the grid layer, it is hidden by he fg layer anyway. Feature suggested by nemolivier@free.fr. Although the grid is aligned with the center of the label, the coordinate system is still relative to the upper left corner of the rectangle containing the label. 2004-02-25 Jim Evins * configure.in: Changed version to 2.0pre1cvs * libglabels/xml-template.c: (gl_xml_template_parse_templates_doc): Removed extra xmlFreeDoc() calls upon error. Also print the doc->URL instead of doc->name fields when errors encountered. 2004-02-21 Jim Evins * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * AUTHORS: * data/avery-us-templates.xml: Added Avery 5824, submitted by Fred Bacon. 2004-01-20 Jim Evins 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 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 * configure.in: Release 1.93.2. 2004-01-03 Jim Evins * 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 * 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 * 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 * 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 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 * 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 * 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 * src/file.c: (gl_file_new), (gl_file_properties): Swap button order and set default for higificatory pleasure. 2003-12-27 Jim Evins * 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 * barcode-0.98/Makefile.am: Removed config.stat entry from EXTRA_DIST files. * barcode-0.98/Makefile.in: Removed. 2003-12-27 Jim Evins * 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 * 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().