2007-10-22 Chris Lord * libjana-gtk/jana-gtk-clock.c: (jana_gtk_clock_style_set), (jana_gtk_clock_class_init): * libjana-gtk/jana-gtk-world-map.c: (jana_gtk_world_map_style_set), (jana_gtk_world_map_class_init): Redraw on style_set 2007-10-22 Chris Lord * libjana-ecal/Makefile.am: * libjana-ecal/libjana-ecal.pc.in: * libjana-gtk/Makefile.am: * libjana-gtk/libjana-gtk.pc.in: * libjana/Makefile.am: * libjana/libjana.pc.in: Configure libjana[{-ecal,-gtk}] as dynamic libraries 2007-10-22 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (idle_redraw), (draw_map): Don't send render_stop signal when rendering interrupted, call idle callback after rendering with high priority so the signal emission doesn't get blocked by other things 2007-10-21 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (idle_stop), (draw_map), (refresh_buffer), (jana_gtk_world_map_class_init): * libjana-gtk/jana-gtk-world-map.h: Don't use a radial gradient to fill the map, it was too subtle to notice anyway and takes too long on slower machines. Add render_start and render_stop signals for drawing. 2007-10-19 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (stop_draw_thread), (draw_map), (refresh_buffer), (jana_gtk_world_map_set_time): Check the dirty flag while drawing and break out of drawing thread 2007-10-19 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (jana_gtk_world_map_set_time): Make sure to stop drawing thread before unref'ing time object 2007-10-19 Chris Lord * libjana-ecal/libjana-ecal.pc.in: * libjana-gtk/libjana-gtk.pc.in: * libjana/libjana.pc.in: Fix linking flags 2007-10-19 Chris Lord * libjana-gtk/doc/reference/libjana-gtk-docs.sgml: * libjana-gtk/doc/reference/libjana-gtk-sections.txt: * libjana-gtk/doc/reference/libjana-gtk.types: Refresh/update docs for JanaGtkWorldMap 2007-10-19 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (refresh_buffer), (jana_gtk_world_map_map_event), (jana_gtk_world_map_class_init): Defer draw until the widget is mapped 2007-10-19 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (stop_draw_thread), (jana_gtk_world_map_dispose), (idle_redraw), (draw_map), (refresh_buffer), (jana_gtk_world_map_init), (jana_gtk_world_map_set_time): Draw map in a thread 2007-10-19 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (draw_map): Make LOD more aggressive 2007-10-19 Chris Lord * libjana-gtk/jana-gtk-world-map.c: (draw_map): Add adaptive level-of-detail 2007-10-19 Chris Lord * examples/jana-gtk-example-7.c: (set_time): Only update the world map every minute, instead of every second * libjana-gtk/jana-gtk-world-map.c: (read_vmf): Increase the allocation size 2007-10-19 Chris Lord * examples/jana-gtk-example-7.c: (main): Make clock scale with window size * libjana-gtk/jana-gtk-clock.c: (draw_analogue_face): Make sure clock hands are always visible * libjana-gtk/jana-gtk-world-map.c: (read_vmf): Don't constantly realloc when loading data 2007-10-18 Chris Lord * libjana-gtk/libjana-gtk.pc.in: Link correct library, as spotted by Iain Holmes 2007-10-18 Rob Bradford * Makefile.am: * configure.ac: * hildon/Makefile.am: * hildon/dates-main.c: (main): Start adding infrastructure for Hildon port. 2007-10-18 Chris Lord * README: Add note about landwater.vmf copyright * configure.ac: * libjana-gtk/Makefile.am: * libjana-gtk/data/Makefile.am: * libjana-gtk/data/landwater.vmf: Add data for JanaGtkWorldMap * examples/Makefile.am: * examples/jana-gtk-example-7.c: Add new example for JanaGtkWorldMap * libjana-gtk/jana-gtk-clock.c: (draw_analogue_face), (draw_analogue_clock), (jana_gtk_clock_expose_event): Fix drawing when widget isn't at position 0,0 * libjana-gtk/jana-gtk.h: * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-world-map.[ch]: Add new widget JanaGtkWorldMap that shows a world map with an optional daylight visualisation * libjana/doc/reference/libjana-sections.txt: * libjana/jana-utils.c: (jana_utils_time_day_of_year): * libjana/jana-utils.h: Add new utility function jana_utils_time_day_of_year 2007-10-17 Chris Lord * libjana-gtk/jana-gtk-clock.c: * libjana-gtk/jana-gtk-clock.h: Add licence header 2007-10-16 Chris Lord * examples/Makefile.am: * examples/jana-gtk-example-6.c: (set_time), (main): Add new example for JanaGtkClock * libjana-gtk/doc/reference/libjana-gtk-docs.sgml: * libjana-gtk/doc/reference/libjana-gtk-sections.txt: * libjana-gtk/doc/reference/libjana-gtk.types: Refresh * libjana-gtk/jana-gtk.h: * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-clock.[ch]: Add new clock widget * libjana-gtk/jana-gtk-recurrence.c: (jana_gtk_recurrence_class_init): Fix typo with 'time' property 2007-10-14 Chris Lord * Makefile.am: * configure.ac: * tests/Makefile.am: * examples/Makefile.am: Add --enable-tests and --enable-examples, build and install tests and examples when these are specified * libjana-gtk/doc/reference/libjana-gtk-docs.sgml: * libjana-gtk/doc/reference/libjana-gtk-sections.txt: * libjana-gtk/doc/reference/libjana-gtk.types: Refresh documentation * libjana-gtk/jana-gtk-month-view.c: (relayout): Hide out-of-range events 2007-10-12 Chris Lord * libjana/jana-utils.c: (jana_utils_event_get_instances): Really fix weekly recurrence instance generation (was OOB array access, not off-by-one) 2007-10-12 Chris Lord * libjana/jana-utils.c: (jana_utils_event_get_instances): Fix off-by-1 error with weekly recurrence instance generation 2007-10-12 Chris Lord * libjana-ecal/jana-ecal-event.c: (event_set_recurrence): Fix crash when committing an event with recurrence set by libjana-ecal * libjana-gtk/jana-gtk.h: * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-recurrence.[ch]: Add a recurrence editing/display widget, JanaGtkRecurrence * libjana-gtk/jana-gtk-date-time.c: (create_edit_page), (jana_gtk_date_time_init), (jana_gtk_date_time_new): * libjana-gtk/jana-gtk-date-time.h: Set gtk_widget_set_no_show_all for internal widgets, don't leave setting format to the user (should be locale-dependent) * libjana/jana-event.c: (jana_recurrence_new): Make a new JanaRecurrence valid by default, update docs to reflect this * libjana/jana-utils.c: (jana_utils_recurrence_to_string), (jana_utils_recurrence_diff): Still return a recurrence string, even without a start time * openmoko/dates.h: * openmoko/dates-view.c: (clear_details), (fill_details), (edit_event), (page_shown), (edit_toggled_cb), (time_toggled_cb), (start_changed_cb), (recur_toggled_cb), (dates_create_view_page): Fix typo that meant that event was committed every time it was edited, add recurrence editing/display (still quite rough) 2007-10-10 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (create_layouts): Use jana_utils_ab_day * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_expose_event): Use jana_utils_ab_day * libjana/doc/reference/libjana-sections.txt: * libjana/jana-utils.c: (jana_utils_recurrence_to_string), (jana_utils_ab_day): * libjana/jana-utils.h: Add new function jana_utils_ab_day to get the first letter of the locale-correct abbreviated day name (UTF-8 friendly). 2007-10-09 Chris Lord * configure.ac: * libjana-ecal/Makefile.am: * libjana-ecal/libjana-ecal.pc.in: * libjana-gtk/Makefile.am: * libjana-gtk/libjana-gtk.pc.in: * libjana/Makefile.am: * libjana/libjana.pc.in: Configure libjana/-ecal/-gtk as static libraries instead of convenience libraries, as suggested in the autotools manual. Also install static libraries, headers and pkg-config files for easy development * libjana-gtk/jana-gtk.h: Add short section description 2007-10-09 Chris Lord * libjana-ecal/jana-ecal-event.c: (event_get_recurrence): Implement recurrence setting * libjana/jana-event.h: Remove @indefinite property of JanaRecurrence, was redundant * libjana/doc/reference/libjana-sections.txt: * libjana/jana-utils.c: (jana_utils_event_get_instances), (jana_utils_recurrence_to_string): * libjana/jana-utils.h: Add new function, jana_utils_recurrence_diff, that determines if two recurrences are the same * tests/test-jana-ecal-event.c: (main): Add recurrence setting/retrieval to the JanaEcalEvent test 2007-10-08 Chris Lord * examples/Makefile.am: * examples/jana-ecal-example-1.c: (display_event), (added_cb), (modified_cb), (removed_cb), (opened_cb), (main): Add a libjana-ecal example that just lists all events in a store and listens for changes * libjana-ecal/jana-ecal-event.c: (component_is_fully_represented), (event_supports_recurrence), (event_has_recurrence), (count_by_xxx), (event_get_recurrence): Add support for reading recurrence properties * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_set_property), (store_view_refresh_query): Add support for boundless queries * libjana-gtk/jana-gtk-event-store.c: (event_store_added_cb), (event_store_modified_cb): Add support for recurrence * libjana/doc/reference/libjana-sections.txt: Add missing JanaRecurrenceType * libjana/jana-event.c: (jana_recurrence_copy), (jana_recurrence_free): Don't crash when copying or freeing recurrences with no end time * libjana/jana-event.h: Amend documentation * libjana/jana-utils.h: * libjana/jana-utils.c: (jana_utils_time_diff), (jana_utils_event_get_instances_cb), (jana_utils_event_get_instances), (number_suffix), (jana_utils_recurrence_to_string): Fix typo in jana_utils_time_diff, add recurrence support to jana_utils_event_get_instances and add a new function, jana_utils_recurrence_to_string that returns human-readable text that represents a recurrence structure * openmoko/dates-view.c: (start_changed_cb), (end_changed_cb), (timezone_search_changed_cb), (timezone_combo_changed_cb): Fix warnings and adapt to an API change 2007-10-05 Chris Lord * openmoko/dates-view.c: (timezone_combo_changed_cb): Don't use an undecorated window for the timezone selection, or matchbox won't place it correctly when the keyboard pops up 2007-10-04 Chris Lord * openmoko/Makefile.am: * openmoko/dates-timezone-tile.[ch]: Add DatesTimezoneTile, an extension of TakuIconTile that displays searchable timezone information * openmoko/dates-view.c: (clear_details), (fill_details), (edit_toggled_cb), (set_location), (timezone_tile_clicked_cb), (timezone_search_changed_cb), (timezone_combo_changed_cb), (dates_create_view_page): Add extended timezone selector using libtaku 2007-10-03 Chris Lord * examples/Makefile.am: * tests/Makefile.am: Unbreak build flags 2007-10-03 Chris Lord * configure.ac: * libjana-ecal/Makefile.am: * libjana-ecal/doc/reference/Makefile.am: * libjana-gtk/Makefile.am: * libjana-gtk/doc/reference/Makefile.am: * libjana/Makefile.am: * libjana/doc/reference/Makefile.am: * openmoko/Makefile.am: Make build flags more fine-grained and build libtaku * openmoko/dates-view.c: (timezone_combo_changed_cb), (dates_create_view_page): Make the timezone combo box functional 2007-10-03 Chris Lord * libjana-ecal/jana-ecal-time.c: (jana_ecal_time_set_location), (jana_ecal_time_get_location): Return "UTC" instead of a NULL location in case a zone isn't set, accept a NULL location to mean "UTC" and special-case NULL / "UTC" to set the UTC timezone * libjana-ecal/jana-ecal-utils.c: (jana_ecal_utils_guess_location): Also make sure the offset of the local timezone is honoured when using the fallback method * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_get_property): Don't crash when trying to retrieve a selection when none is set * openmoko/dates-view.c: (clear_details), (fill_details), (edit_toggled_cb), (dates_create_view_page): * openmoko/dates.h: Add a timezone combo box (displays correctly, but can't set timezone currently) 2007-10-02 Chris Lord * libjana-ecal/doc/reference/libjana-ecal-sections.txt: * libjana-ecal/jana-ecal-utils.c: (jana_ecal_utils_guess_location), (jana_ecal_utils_get_locations): * libjana-ecal/jana-ecal-utils.h: Add new function jana_ecal_utils_get_locations() and add a glib version check around use of GRegex 2007-10-02 Chris Lord * libjana-ecal/doc/reference/libjana-ecal-sections.txt: * libjana-ecal/jana-ecal-utils.c: (jana_ecal_utils_guess_location): * libjana-ecal/jana-ecal-utils.h: Add new function jana_ecal_utils_guess_location() that checks common system files for the timezone location * libjana/doc/reference/libjana-sections.txt: * libjana/jana-utils.c: (jana_utils_time_now): * libjana/jana-utils.h: Add new function jana_utils_time_now() that fills in a JanaTime with the current local time * openmoko/dates-main.c: (main): Use jana_ecal_utils_guess_location() 2007-10-01 Chris Lord * openmoko/dates-view.c: (dates_create_view_page): Put the view/edit page in a MokoFingerScroll, now that text selection and holding work correctly 2007-09-30 Chris Lord * libjana-ecal/jana-ecal-component.[ch]: * libjana-ecal/jana-ecal-event.[ch]: * libjana-ecal/jana-ecal-store-view.[ch]: * libjana-ecal/jana-ecal-store.[ch]: * libjana-ecal/jana-ecal-time.[ch]: * libjana-ecal/jana-ecal-utils.c: * libjana-ecal/jana-ecal.h: 100% symbol docs coverage (40 symbols documented, 0 symbols incomplete, 0 not documented) 2007-09-29 Chris Lord * libjana-ecal/jana-ecal-store.c: (jana_ecal_store_class_init): * libjana/doc/reference/libjana-sections.txt: * libjana/jana-component.[ch]: * libjana/jana-event.[ch]: * libjana/jana-note.[ch]: * libjana/jana-store-view.[ch]: * libjana/jana-store.[ch]: * libjana/jana-task.[ch]: * libjana/jana-time.[ch]: * libjana/jana-utils.c: (jana_utils_duration_contains), (jana_utils_event_copy): * libjana/jana.h: 100% symbol docs coverage (121 symbols documented, 0 symbols incomplete, 0 not documented) 2007-09-29 Chris Lord * libjana/jana-time.c: (jana_time_get_type), (jana_time_get_offset), (jana_time_set_seconds), (jana_time_set_minutes), (jana_time_set_hours), (jana_time_set_day), (jana_time_set_month), (jana_time_set_year), (jana_time_set_isdate), (jana_time_set_tzname), (jana_time_set_offset), (jana_time_duplicate), (jana_duration_get_type), (jana_duration_new), (jana_duration_copy), (jana_duration_set_start), (jana_duration_set_end), (jana_duration_valid): * libjana/jana-time.h: Complete documentation 2007-09-29 Chris Lord * libjana/doc/reference/libjana-sections.txt: Correct section titles (use CamelCase) * libjana/jana-store-view.c: (jana_store_view_base_init), (jana_store_view_get_type), (jana_store_view_get_range), (jana_store_view_set_range): Complete documentation 2007-09-29 Chris Lord * libjana/jana-note.c: (jana_note_get_type): * libjana/jana-task.c: (jana_task_get_type): Remove unnecessary commented out code * libjana/jana-store.c: (jana_store_base_init), (jana_store_get_type): Complete documentation 2007-09-29 Chris Lord * libjana/jana-component.h: Document JanaComponentType enum * libjana/jana-event.c: (jana_recurrence_get_type), (jana_recurrence_copy), (jana_recurrence_free), (jana_exceptions_free): * libjana/jana-event.h: Complete documentation 2007-09-29 Chris Lord * libjana/doc/reference/libjana-sections.txt: Re-add ommitted jana_utils_time_to_tm * libjana/jana-utils.c: (jana_utils_time_is_leap_year), (jana_utils_time_days_in_month), (jana_utils_time_day_of_week), (jana_utils_time_week_of_year), (jana_utils_time_set_start_of_week), (jana_utils_time_set_end_of_week), (jana_utils_time_to_gdate), (jana_utils_time_to_tm), (jana_utils_strftime), (jana_utils_time_compare), (jana_utils_time_diff), (jana_utils_time_adjust), (jana_utils_duration_contains), (jana_utils_event_copy), (jana_utils_event_get_instances), (jana_utils_instance_list_free): Complete documentation 2007-09-28 Chris Lord * openmoko/dates-main.c: (main): Typo s/g_timeout_add_seconds/g_timeout_add 2007-09-28 Chris Lord * libjana-gtk/jana-gtk-event-store.c: (change_events_cb), (jana_gtk_event_store_set_offset): Don't use g_hash_table_get_keys(). 2007-09-28 Chris Lord * openmoko/dates-month.c: (year_clicked_cb): Set the dialog window hint on the year view 2007-09-28 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (relayout): Fix bug with non-24-hour events ending before 1am 2007-09-28 Chris Lord * libjana-ecal/jana-ecal-event.c: (event_get_start), (event_get_end): Set the timezone from tzid when available * libjana-ecal/jana-ecal-utils.c: (jana_ecal_utils_time_now), (jana_ecal_utils_time_today): Set the timezone after retrieving the time with zone (it isn't set otherwise, despite having provided a zone for it to set) * libjana-gtk/doc/reference/libjana-gtk-sections.txt: Update * libjana-gtk/jana-gtk-event-store.c: (event_store_added_cb), (event_store_modified_cb), (jana_gtk_event_store_get_property), (jana_gtk_event_store_set_property), (jana_gtk_event_store_class_init), (jana_gtk_event_store_new_full), (jana_gtk_event_store_set_offset): * libjana-gtk/jana-gtk-event-store.h: Allow specifying an offset to use when instancing events * libjana/jana-utils.c: (jana_utils_event_get_instances): * libjana/jana-utils.h: Require an offset when instancing events * openmoko/dates-main.c: (opened_cb), (main): Use GLIB_CHECK_VERSION to determine whether to use g_timeout_add_seconds 2007-09-27 Chris Lord * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_finalize): Free highlighted time on finalize * libjana-gtk/jana-gtk-year-view.c: (recount_events), (jana_gtk_year_view_get_property), (jana_gtk_year_view_set_property), (jana_gtk_year_view_finalize), (jana_gtk_year_view_class_init), (regenerate_labels), (jana_gtk_year_view_init), (jana_gtk_year_view_new), (jana_gtk_year_view_set_year), (jana_gtk_year_view_get_year), (jana_gtk_year_view_set_selected_month), (jana_gtk_year_view_set_highlighted_time): * libjana-gtk/jana-gtk-year-view.h: Use a JanaTime to set year (so we can consider timezones) and add a function to set a highlighted time * openmoko/dates-list.c: (update_header): * openmoko/dates-month.c: (set_range), (year_clicked_cb): * openmoko/dates-week.c: (refresh_view): Use shorter window titles and highlight the current month on year view * openmoko/dates-main.c: (main): Correct some comments and use GNOME stock names for tab icons 2007-09-27 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (relayout): Consider time offset when laying out events * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_get_property), (jana_gtk_month_view_set_property), (jana_gtk_month_view_expose_event), (jana_gtk_month_view_class_init), (jana_gtk_month_view_set_highlighted_time): * libjana-gtk/jana-gtk-month-view.h: Add function to set a highlighted time * openmoko/dates-main.c: (time_update_idle): Set highlighted time on month view 2007-09-27 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (create_layouts), (time_to_cell_coords), (jana_gtk_day_view_get_property), (jana_gtk_day_view_set_property), (jana_gtk_day_view_dispose), (jana_gtk_day_view_finalize), (layout_expose_event_cb), (end_selection), (jana_gtk_day_view_class_init), (adjustment_changed_after_size_allocate_cb), (viewport_size_allocate_cb), (jana_gtk_day_view_scroll_to_time), (recalculate_cell_coords), (jana_gtk_day_view_set_range), (jana_gtk_day_view_set_selection), (jana_gtk_day_view_set_cells), (jana_gtk_day_view_set_highlighted_time), (jana_gtk_day_view_set_active_range): * libjana-gtk/jana-gtk-day-view.h: Add new functions to set an active range (times outside of the active range will be low-lighted) and a highlighted time (which will have a bold day header + a Marcus Bains line). Also fix the adjustments changing the visible area when the widget is resized and fix various time offset bugs that probably existed. * libjana/jana-utils.c: (jana_utils_time_compare), (days_between), (jana_utils_time_diff): Make jana_utils_time_diff accumulate time difference when parameters are missing. Also don't unnecessarily create a new time in jana_utils_time_compare when both times have the same offset * openmoko/dates.h: * openmoko/dates-main.c: (delete_event_cb), (time_update_idle), (main): Set the highlighted time on the week view and update every minute to get a Marcus Bains line * openmoko/dates-week.c: (refresh_view), (dates_create_week_page): Set the active time to work hours (9am - 5pm) 2007-09-26 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (layout_expose_event_cb), (start_selection), (end_selection): Store the selection cell co-ordinates and don't use jana_time functions when redrawing main grid - should speed up selections * openmoko/dates-view.c: (edit_toggled_cb): Remove bogus hidden check when editing events (fixes not saving events when switching away from view tab without first switching out of edit mode) 2007-09-26 Chris Lord * libjana*/doc/reference/tmpl/dummy.sgml: Move dummy -> dummy.sgml to fix first-time gtk-doc build 2007-09-26 Chris Lord * Makefile.am: * configure.ac: * doc/libjana-ecal/Makefile.am: * doc/libjana-ecal/libjana-ecal-docs.sgml: * doc/libjana-ecal/libjana-ecal-sections.txt: * doc/libjana-ecal/libjana-ecal.types: * doc/libjana-gtk/Makefile.am: * doc/libjana-gtk/libjana-gtk-docs.sgml: * doc/libjana-gtk/libjana-gtk-sections.txt: * doc/libjana-gtk/libjana-gtk.types: * doc/libjana/Makefile.am: * doc/libjana/libjana-docs.sgml: * doc/libjana/libjana-overrides.txt: * doc/libjana/libjana-sections.txt: * doc/libjana/libjana.types: * libjana-ecal/Makefile.am: * libjana-ecal/doc/reference/Makefile.am: * libjana-gtk/Makefile.am: * libjana-gtk/doc/reference/Makefile.am: * libjana/Makefile.am: * libjana/doc/reference/Makefile.am: Move libjana-* documentation to their respective source directories 2007-09-26 Chris Lord * doc/libjana-ecal/libjana-ecal-sections.txt: * doc/libjana-ecal/libjana-ecal.types: * doc/libjana-gtk/libjana-gtk-docs.sgml: * doc/libjana-gtk/libjana-gtk-sections.txt: * doc/libjana-gtk/libjana-gtk.types: * doc/libjana/Makefile.am: * doc/libjana/libjana-overrides.txt: * doc/libjana/libjana-sections.txt: * doc/libjana/libjana.types: * libjana/jana-utils.h: Fix some gtk-doc issues 2007-09-25 Chris Lord * configure.ac: * openmoko/Makefile.am: * openmoko/data/Makefile.am: * openmoko/data/openmoko-dates.desktop: Add .desktop file 2007-09-25 Chris Lord * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk.h: * libjana-gtk/jana-gtk-year-view.[ch]: Add new widget JanaGtkYearView * openmoko/dates-month.c: (year_selection_changed_cb), (year_clicked_cb), (dates_create_month_page): Add a year view month selector * openmoko/dates-view.c: (dates_create_view_page): Change button names for start/time toggle buttons 2007-09-24 Chris Lord * openmoko/dates-month.c: (set_range): Set month title correctly when days from the previous month are visible 2007-09-24 Chris Lord * openmoko/dates-list.c: (update_header), (page_shown), (page_hidden): * openmoko/dates-main.c: (main): * openmoko/dates-month.c: (set_range), (page_shown), (page_hidden): * openmoko/dates-utils.c: (dates_utils_title_idle_cb): * openmoko/dates-utils.h: * openmoko/dates-view.c: (page_shown), (page_hidden), (notify_visible_cb), (visibility_notify_event_cb), (unmap_cb): * openmoko/dates-week.c: (refresh_view), (page_shown), (page_hidden): * openmoko/dates.h: Set window title when changing views/ranges/editing 2007-09-24 Chris Lord * libjana-ecal/jana-ecal-utils.[ch]: Remove jana_ecal_utils_time_to_tm and jana_ecal_utils_strftime * libjana-gtk/jana-gtk-event-list.c: (recalculate_headers): * openmoko/dates-list.c: (update_header): Use jana-utils functions for printing formatted time * libjana/jana-utils.c: (jana_utils_time_to_tm), (jana_utils_strftime): * libjana/jana-utils.h: Add functions for converting JanaTime to libc broken-down time format and printing formatted time strings 2007-09-24 Chris Lord,,, * Makefile.am: Add doc subdir * libjana/jana-component.c: (jana_component_get_type), (jana_component_is_fully_represented), (jana_component_get_uid), (jana_component_supports_custom_props), (jana_component_get_custom_props_list), (jana_component_get_custom_prop), (jana_component_set_custom_prop): Add documentation 2007-09-24 Chris Lord,,, * configure.ac: * doc/libjana-ecal/Makefile.am: * doc/libjana-ecal/libjana-ecal-docs.sgml: * doc/libjana-gtk/Makefile.am: * doc/libjana-gtk/libjana-gtk-docs.sgml: Add gtkdoc framework for libjana-ecal and libjana-gtk 2007-09-23 Chris Lord,,, * configure.ac: * doc/libjana/Makefile.am: * doc/libjana/libjana-docs.sgml: Add gtkdoc framework for libjana 2007-09-21 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (jana_gtk_day_view_set_visible_func), (jana_gtk_day_view_refilter): * libjana-gtk/jana-gtk-day-view.h: * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_set_visible_func), (jana_gtk_month_view_refilter): * libjana-gtk/jana-gtk-month-view.h: Add visibility filter callback setting functions for internal layouts * libjana-gtk/jana-gtk-tree-layout.c: (tree_layout_row_changed_cb), (get_visible_cells), (jana_gtk_tree_layout_get_property), (jana_gtk_tree_layout_set_property), (jana_gtk_tree_layout_expose_event), (tree_layout_get_size), (jana_gtk_tree_layout_size_allocate), (jana_gtk_tree_layout_button_press_event), (jana_gtk_tree_layout_motion_notify_event), (jana_gtk_tree_layout_class_init), (jana_gtk_tree_layout_init), (tree_layout_add_cell), (tree_layout_remove_cell_with_list), (jana_gtk_tree_layout_set_visible_func), (jana_gtk_tree_layout_refilter): * libjana-gtk/jana-gtk-tree-layout.h: Implement visibility filtering support * openmoko/dates-month.c: (refilter), (page_shown), (search_text_changed_cb), (search_combo_changed_cb), (dates_create_month_page): * openmoko/dates-week.c: (page_shown), (search_text_changed_cb), (search_combo_changed_cb), (dates_create_week_page): Set visibility filter and refilter when search changes * openmoko/dates-utils.c: (dates_utils_event_store_filter_cb), (dates_utils_event_list_filter_cb): * openmoko/dates-utils.h: Split dates_utils_event_store_filter_cb out of dates_utils_event_list_filter_cb so it can be used with day and month views 2007-09-21 Chris Lord * libjana/jana-utils.c: (jana_utils_time_diff), (jana_utils_time_adjust), (jana_utils_get_local_tzname): * libjana/jana-utils.h: Add function to get local tzname, add FIXME note to time_diff about accumulating diff in provided variables and only adjust time components when parameters are non-zero * openmoko/dates-view.c: (clear_details), (fill_details), (notify_visible_cb), (unmap_cb), (allday_toggled_cb), (edit_toggled_cb), (dates_create_view_page): * openmoko/dates.h: Add all-day event check-button 2007-09-20 Chris Lord * openmoko/dates-view.c: (edit_event), (set_entry_editable), (set_text_view_editable), (entry_focus_in_cb), (entry_focus_out_cb), (text_view_focus_in_cb), (text_view_focus_out_cb), (edit_toggled_cb), (dates_create_view_page): Don't mess with widget focus to set hint text 2007-09-20 Chris Lord * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_class_init), (jana_ecal_store_view_init): Set default removal timeout to zero, add FIXME note * libjana-gtk/jana-gtk-day-view.c: (relayout): Hide out-of-range all-day events * libjana/jana-utils.c: (jana_utils_duration_contains): * libjana/jana-utils.h: Add new function jana_utils_duration_contains 2007-09-20 Chris Lord * libjana-gtk/jana-gtk-cell-renderer-event.c: (cell_renderer_event_render): Pick text colour depending on intensity of background 2007-09-20 Chris Lord * openmoko/dates-main.c: (repopulate_category_list), (main): Assign Tango-based unique colours per category 2007-09-20 Chris Lord * libjana-gtk/jana-gtk-date-time.c: (jana_gtk_date_time_set_property), (jana_gtk_date_time_set_editable), (jana_gtk_date_time_get_editable), (jana_gtk_date_time_get_time), (jana_gtk_date_time_set_time): * libjana-gtk/jana-gtk-day-view.c: (jana_gtk_day_view_set_property), (jana_gtk_day_view_set_range), (jana_gtk_day_view_get_range), (jana_gtk_day_view_get_selection), (jana_gtk_day_view_set_selection), (jana_gtk_day_view_set_spacing), (jana_gtk_day_view_set_cells), (jana_gtk_day_view_get_cells), (jana_gtk_day_view_get_spacing), (jana_gtk_day_view_get_visible_ratio), (jana_gtk_day_view_get_selected_event), (jana_gtk_day_view_set_selected_event): * libjana-gtk/jana-gtk-day-view.h: * libjana-gtk/jana-gtk-event-store.c: (jana_gtk_event_store_set_property), (jana_gtk_event_store_set_view), (jana_gtk_event_store_get_view): * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_set_property), (jana_gtk_month_view_set_month), (jana_gtk_month_view_get_month), (jana_gtk_month_view_set_spacing), (jana_gtk_month_view_get_spacing), (jana_gtk_month_view_set_selection), (jana_gtk_month_view_get_selection): * libjana-gtk/jana-gtk-month-view.h: Stop doing so much unnecessary property getting/setting, add various missing API for accessing commonly-used properties 2007-09-20 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (end_selection), (motion_notify_event_cb): Don't unnecessarily change/redraw the selection 2007-09-19 Chris Lord * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_get_property), (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_class_init), (cell_renderer_event_render): * libjana-gtk/jana-gtk-day-view.c: (relayout), (row_changed_cb), (row_inserted_cb): * libjana-gtk/jana-gtk-month-view.c: (row_inserted_cb): Add support for category colours * openmoko/dates-main.c: (main): * openmoko/dates-month.c: (dates_create_month_page): * openmoko/dates-week.c: (dates_create_week_page): * openmoko/dates.h: Add support for category colours (colours not yet generated) 2007-09-19 Chris Lord * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_set_property), (get_description_layout): * libjana-gtk/jana-gtk-day-view.c: (row_inserted_cb): Don't forget to render location text 2007-09-19 Chris Lord * libjana-gtk/jana-gtk-date-time.c: (create_edit_page), (refresh), (jana_gtk_date_time_set_property): Fire changed signal when time property set, don't show time-editing widgets or print time label when time is date-only * libjana/jana-utils.c: (jana_utils_time_diff), (jana_utils_time_adjust): * libjana/jana-utils.h: Add utility functions for diffing and adjusting times * openmoko/dates-view.c: (start_changed_cb), (end_changed_cb), (dates_create_view_page): Move the end time with the start time and move the start time back when the end time is moved before the start time 2007-09-19 Chris Lord * libjana-gtk/jana-gtk-event-list.c: (size_allocate_cb): Fix continuous, unnecessary redrawing 2007-09-18 Chris Lord * configure.ac: Update libmokoui version * libjana-gtk/jana-gtk-day-view.c: (row_deleted_cb): Unselect the selected event when it gets deleted from the store * libjana-gtk/jana-gtk-event-list.c: (jana_gtk_event_list_compare): Don't crash when sorting events without summaries * openmoko/dates.h: * openmoko/dates-view.c: (clear_details), (edit_event), (set_entry_editable), (edit_toggled_cb), (dates_create_view_page): Add support for MokoHintEntry (#def'd out at the moment), add frames around the start/end times to match om-contacts 2007-09-18 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (jana_gtk_day_view_get_property), (jana_gtk_day_view_set_property), (button_press_event_cb), (jana_gtk_day_view_class_init), (compare_selection), (layout_selection_changed_cb), (layout24hr_selection_changed_cb), (jana_gtk_day_view_init), (jana_gtk_day_view_get_selected_event), (jana_gtk_day_view_set_selected_event): * libjana-gtk/jana-gtk-day-view.h: Keep a reference to the event between selections, don't fire event selection events when selection hasn't really changed and add functions to get and set selected event * openmoko/dates-week.c: (page_shown), (new_clicked_cb), (event_selected_cb): Use the time of the currently selected event when creating a new event, set the selected event when selecting an event on the view and re-set the selected event when re-focusing the page 2007-09-18 Chris Lord * libjana-gtk/jana-gtk-day-view.c: (relayout): Use the correct cell renderer when laying out 24-hour events * openmoko/dates-week.c: (dates_create_week_page): Increase inner padding on y-axis for 24-hour events 2007-09-17 Chris Lord * openmoko/dates-week.c: (page_shown), (dates_create_week_page): Set event cell renderers not to draw text 2007-09-17 Chris Lord * libjana-gtk/jana-gtk-cell-renderer-event.c: (get_description_layout): Don't crash when there isn't enough room to draw the description * libjana-gtk/jana-gtk-day-view.c: (button_press_event_cb), (jana_gtk_day_view_size_request), (jana_gtk_day_view_class_init): * libjana-gtk/jana-gtk-day-view.h: Allow shrinking when not viewing a sub-section of the set range * openmoko/dates-week.c: (event_selected_cb), (preview_box_size_allocate_cb), (preview_box_expose_event_cb), (dates_create_week_page): * openmoko/dates.h: Add an event preview pane to the week view 2007-09-17 Chris Lord * examples/jana-gtk-example-5.c: (realize_cb), (main): Scroll to 9am on realize, don't set unnecessary renderer props * libjana-gtk/jana-gtk-day-view.c: (set_alignments), (create_layouts), (jana_gtk_day_view_set_property), (layout_expose_event_cb), (layout24hr_expose_event_cb), (jana_gtk_day_view_expose_event), (relayout), (button_press_event_cb), (jana_gtk_day_view_set_scroll_adjustments), (jana_gtk_day_view_class_init), (viewport_size_allocate_cb), (layout24hr_selection_changed_cb), (cell_activated_cb), (jana_gtk_day_view_init), (row_changed_cb), (row_inserted_cb), (jana_gtk_day_view_scroll_to_cell), (jana_gtk_day_view_scroll_to_time), (jana_gtk_day_view_get_24hr_cell_renderer), (jana_gtk_day_view_set_selection): * libjana-gtk/jana-gtk-day-view.h: Add special all-day event visualisation, scroll_to_(cell|time) functions and signals for event selection/activation * openmoko/dates-week.c: (page_shown), (dates_create_week_page): Set 12-hours visible in week view, scroll to 8am when switching to the week-view tab 2007-09-17 Chris Lord,,, * libjana-gtk/jana-gtk-day-view.c: (button_press_event_cb), (button_release_event_cb), (motion_notify_event_cb): Don't redraw the whole widget when selecting cells 2007-09-15 Chris Lord,,, * libjana-gtk/jana-gtk-day-view.c: (relayout): Fix memory leak in relayout function 2007-09-14 Chris Lord,,, * libjana-gtk/jana-gtk-day-view.c: (jana_gtk_day_view_expose_event_cb), (relayout), (button_release_event_cb): Fix all-day events appearing invisible and backwards-selections being one cell too short * libjana/jana-utils.c: (jana_utils_time_compare), (jana_utils_event_get_instances): Fix silly bug comparing date-only times to normal times, don't create zero-length events in get_instances 2007-09-14 Chris Lord,,, * examples/jana-gtk-example-5.c: (main): Draw event text/detail in JanaGtkDayView example 2007-09-13 Chris Lord,,, * examples/jana-gtk-example-2.c: (main): * examples/jana-gtk-example-4.c: (main): * examples/jana-gtk-example-5.c: (main): Don't set the style-hint on the event renderer * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init), (cell_renderer_event_render): Set the default style hint to "button" again, also draw with GTK_SHADOW_IN when state == active * libjana-gtk/jana-gtk-day-view.c: (create_layouts), (jana_gtk_day_view_get_property), (jana_gtk_day_view_set_property), (paint_box), (jana_gtk_day_view_expose_event_cb), (jana_gtk_day_view_expose_event), (adjustment_changed_cb), (jana_gtk_day_view_set_scroll_adjustments), (marshal_VOID__OBJECT_OBJECT), (jana_gtk_day_view_class_init), (viewport_size_allocate_cb), (jana_gtk_day_view_init), (jana_gtk_day_view_set_visible_ratio), (jana_gtk_day_view_get_visible_ratio): * libjana-gtk/jana-gtk-day-view.h: Add native scrolling support, draw cells with shadows + flat boxes. Also, don't modify the style to use the base colour as bg * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_expose_event), (jana_gtk_month_view_init): Don't modify the style to use the base colour as bg, draw cells with flat box and shadow * openmoko/dates-week.c: (dates_create_week_page): Pack the week view straight into a scrolled window 2007-09-12 Chris Lord,,, * openmoko/Makefile.am: * openmoko/dates.h: * openmoko/dates-week.[ch]: * openmoko/dates-main.c: (opened_cb), (main): * openmoko/dates-utils.c: (dates_utils_update_category_bars): Add a (very preliminary) week view, using JanaGtkDayView 2007-09-12 Chris Lord,,, * libjana-gtk/jana-gtk-day-view.c: (style_set_cb), (jana_gtk_day_view_init): * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_expose_event), (style_set_cb), (jana_gtk_month_view_init): Use base instead of bg colour when drawing event boxes 2007-09-12 Chris Lord,,, * libjana-gtk/jana-gtk-day-view.c: (create_layouts), (jana_gtk_day_view_set_property), (jana_gtk_day_view_expose_event), (relayout), (start_selection), (end_selection), (button_press_event_cb), (jana_gtk_day_view_class_init), (jana_gtk_day_view_set_range), (jana_gtk_day_view_get_range), (jana_gtk_day_view_get_selection), (jana_gtk_day_view_get_spacing), (jana_gtk_day_view_get_layout): * libjana-gtk/jana-gtk-day-view.h: Finish writing property accessors, fix typo g_object_set instead of g_object_get in property accessors, fix bugs in relayout/drawing with 24-hour range 2007-09-12 Chris Lord,,, * examples/Makefile.am: * examples/jana-gtk-example-5.c: (opened_cb), (main): Add example for new JanaGtkDayView * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk.h: * libjana-gtk/jana-gtk-day-view.[ch]: Add new JanaGtkDayView widget * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_set_property), (jana_gtk_month_view_finalize), (size_request_cb), (jana_gtk_month_view_init): Override size request (fixes odd behaviour resizing), free memory on finalize and redraw when setting spacing and style hint * libjana/jana-time.c: (jana_duration_set_start), (jana_duration_set_end), (jana_duration_valid): * libjana/jana-time.h: Free old start/end when setting start/end on a JanaDuration, add new function jana_duration_valid to check if a duration specifies a positive length of time 2007-09-10 Chris Lord,,, * openmoko/dates-month.c: (search_text_changed_cb): Don't forget to refilter when search text changes in month-view 2007-09-10 Chris Lord,,, * openmoko/dates-list.c: (new_clicked_cb), (row_activated_cb): Use the currently selected date header/event to determine the starting time of a new event * openmoko/dates-month.c: (new_clicked_cb), (day_selection_changed_cb), (dates_create_month_page): Change the year-view button to a new-event button, allow new events to be created. When selecting a date on the month view that isn't in the list, clear the selection. * openmoko/dates-utils.c: (dates_utils_create_new_event), (dates_utils_event_list_selection_changed_cb), (dates_utils_event_list_get_time): * openmoko/dates-utils.h: Fix trying to unref the selected store instead of the selected event, add functions to get the time from a JanaGtkEventList and to set the currently selected event/store from a JanaGtkEventList selection * openmoko/dates-view.c: (delete_clicked_cb), (edit_toggled_cb): Switch back to the last active page after deleting in every case, except when the new event was created from the view page 2007-09-10 Chris Lord,,, * openmoko/dates-utils.h: * openmoko/dates-utils.c: (dates_utils_event_list_selection_changed_cb): * openmoko/dates-list.c: (page_shown), (selection_changed_cb): Moved selection_changed_cb to dates-utils, make sure to re-set the selected event when page is shown * openmoko/dates-month.c: (set_range), (day_selection_changed_cb), (list_selection_changed_cb), (dates_create_month_page): Allow events to be selected for viewing/editing via the list view panel 2007-09-10 Chris Lord,,, * examples/jana-gtk-example-4.c: (main): Set "button" style hint for event renderer * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_get_property), (jana_gtk_month_view_set_property), (jana_gtk_month_view_expose_event), (relayout), (button_press_event_cb), (jana_gtk_month_view_class_init), (jana_gtk_month_view_init): * libjana-gtk/jana-gtk-month-view.h: Add support for selecting a day, with selection_changed signal. Also create the internal layout with selections disabled * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_expose_event), (jana_gtk_tree_layout_button_press_event), (tree_layout_add_cell), (jana_gtk_tree_layout_set_selection), (jana_gtk_tree_layout_get_cell), (jana_gtk_tree_layout_set_cell_sensitive): * libjana-gtk/jana-gtk-tree-layout.h: Add support for marking a cell insensitive, and functions to set the selection and get particular cells from row references * openmoko/dates-month.c: (selection_changed_cb), (dates_create_month_page): When the selected day changes, scroll to and highlight it in the event list 2007-09-10 Chris Lord,,, * openmoko/dates-utils.h: * openmoko/dates-utils.c: (dates_utils_event_list_filter_cb): * openmoko/dates-list.c: (dates_create_list_page): Move event-list filtering function to dates-utils * openmoko/dates-month.c: (page_shown), (page_hidden), (notify_visible_cb), (visibility_notify_event_cb), (unmap_cb), (search_combo_changed_cb), (view_size_allocate_cb), (dates_create_month_page): Add an event-list to the month view * openmoko/dates-view.c: (delete_clicked_cb): Switch to the last selected page after deleting a contact * openmoko/dates-main.c: (opened_cb), (switch_page_cb), (main): * openmoko/dates.h: Store last selected notebook page, keep month event list updated 2007-09-08 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init): Revert setting the default style hint to "button", unnecessary * libjana-gtk/jana-gtk-month-view.c: (jana_gtk_month_view_set_property), (jana_gtk_month_view_add_store), (jana_gtk_month_view_set_month), (jana_gtk_month_view_get_month), (jana_gtk_month_view_set_spacing), (jana_gtk_month_view_get_spacing): * libjana-gtk/jana-gtk-month-view.h: Add accessor methods for properties, make sure to connect signals after to prevent crashes during relayout due to inconsistent tree row references in JanaGtkTreeLayout * openmoko/dates-main.c: (opened_cb), (main): * openmoko/dates-month.[ch]: * openmoko/Makefile.am: Add preliminary month view page * openmoko/dates-list.c: (page_shown), (page_hidden), (notify_visible_cb), (visibility_notify_event_cb), (unmap_cb): Save the last time shown when switching away and check if it's still in range when switching back, to stop the time progressing backwards when switching to and from month view * openmoko/dates-utils.c: (dates_utils_update_category_bars): Update the month view category bar in update_category_bars * openmoko/dates.h: Store month view widget and last time shown in list/week views 2007-09-07 Chris Lord,,, * examples/Makefile.am: * examples/jana-gtk-example-4.c: Add a new example for JanaGtkMonthView * libjana-gtk/jana-gtk.h: * libjana-gtk/jana-gtk-month-view.[ch]: * libjana-gtk/Makefile.am: Add first run at new JanaGtkMonthView widget * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init): Set default style hint to "button" * libjana-gtk/jana-gtk-event-list.c: (row_deleted_cb), (insert_rows), (delete_rows), (jana_gtk_event_list_add_store), (jana_gtk_event_list_remove_store): Add all rows from a store when adding, and remove rows when removing * libjana-gtk/jana-gtk-tree-layout.c: (tree_layout_row_changed_cb), (jana_gtk_tree_layout_expose_event), (jana_gtk_tree_layout_button_press_event), (jana_gtk_tree_layout_motion_notify_event), (jana_gtk_tree_layout_init): Draw cells correct, with regard to the origin of the widget allocation * libjana/jana-utils.c: (jana_utils_time_day_of_week), (jana_utils_time_week_of_year), (jana_utils_time_set_start_of_week), (jana_utils_time_set_end_of_week), (jana_utils_time_copy): * libjana/jana-utils.h: Add new utility functions, remove debugging output that got left in jana_utils_time_copy * openmoko/Makefile.am: Fix linker warnings 2007-09-05 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_get_property), (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init), (get_summary_layout): Add and use first-instance/last-instance properties to display something sensible when events span across multiple days or have unset start or end 2007-09-05 Chris Lord,,, * configure.ac: * libjana-ecal/jana-ecal-store.c: (e_cal_new_system_memos): Add check for e_cal_new_system_memos 2007-09-05 Chris Lord,,, * openmoko/dates-list.c: (update_header), (new_clicked_cb): Shorten the header text, use new dates_utils function to create new events * openmoko/dates.h: * openmoko/dates-main.c: (main): Store the main window in the global data structure * openmoko/dates-utils.c: (dates_utils_create_new_event): * openmoko/dates-utils.h: Add utility function to create a new event * openmoko/dates-view.c: (edit_event), (delete_clicked_cb), (edit_toggled_cb): When creating a new event, don't forget to ref the Store. Implement deletion of events. When clicking the edit button with no event selected, prompt whether to create a new event. 2007-09-04 Chris Lord,,, * libjana-ecal/jana-ecal-event.c: (event_set_categories): Check the category list exists before setting an empty category list * openmoko/dates-list.c: (new_clicked_cb): Hook up the new event button * openmoko/dates-main.c: (main): Store a pointer to the main notebook in the global data structure * openmoko/dates-view.c: (clear_details), (edit_event), (notify_visible_cb), (visibility_notify_event_cb), (unmap_cb): Commit an event when switching away from the tab, also create new events when no store is selected * openmoko/dates.h: Keep a pointer to the main notebook 2007-09-04 Chris Lord,,, * openmoko/dates-list.c: (dates_create_list_page): Don't update the category bar when creating the list page, all category bars get updated after creating the interface * openmoko/dates-main.c: (repopulate_category_list), (main): Use g_utf8_collate to sort categories and update category bars on initialisation * openmoko/dates-utils.c: (dates_utils_fill_category_bar), (dates_utils_insert_preset_categories): * openmoko/dates-utils.h: Make dates_utils_update_category_bar private and add a new function that adds the global categories to a combo box * openmoko/dates-view.c: (clear_details), (fill_details), (edit_event), (edit_toggled_cb), (entry_focus_in_cb), (entry_focus_out_cb), (combo_changed_cb), (dates_create_view_page): Implement category editing/display * openmoko/dates.h: Add category combo entry widget 2007-09-04 Chris Lord,,, * libjana-gtk/jana-gtk-date-time.c: (clear): Don't try to set invalid values when clearing * openmoko/dates-view.c: (clear_details), (fill_details), (visibility_notify_event_cb), (set_entry_editable), (set_text_view_editable), (edit_toggled_cb), (dates_create_view_page): Add 'Starts' and 'Ends' labels to times and hide widgets in view mode when they're empty. * openmoko/dates.h: Add variables for Starts/Ends labels in view/edit tab 2007-09-04 Chris Lord,,, * libjana-gtk/jana-gtk-event-list.c: (row_changed_cb): Re-filter on row changed * openmoko/dates-list.c: (visibility_notify_event_cb), (filter_cb), (search_text_changed_cb), (search_combo_changed_cb), (search_toggled_cb), (dates_create_list_page): Fix category filter and implement category search * openmoko/dates-main.c: (repopulate_category_list), (row_inserted_cb), (row_changed_cb), (row_deleted_cb), (opened_cb): Hook up row changed/deleted correctly and make a copy of the category when adding it to the category list * openmoko/dates-utils.c: (dates_utils_update_category_bar): Don't assume a GtkComboBox-text is backed by a GtkListStore (it is, but that could change?) 2007-09-04 Chris Lord,,, * libjana-gtk/jana-gtk-event-list.c: (recalculate_headers), (jana_gtk_event_list_init), (jana_gtk_event_list_add_store), (jana_gtk_event_list_remove_store), (jana_gtk_event_list_get_filter), (jana_gtk_event_list_refilter): * libjana-gtk/jana-gtk-event-list.h: Put a filter on the private model and add accessor functions. Only allow JanaGtkEventStore's to be added, due to evil hackiness, filters won't work. * openmoko/dates-list.c: (selection_changed_cb), (filter_cb), (search_text_changed_cb), (dates_create_list_page): * openmoko/dates-main.c: (repopulate_category_list), (row_inserted_cb), (row_changed_cb), (row_deleted_cb), (opened_cb), (main): Update to new method of filtering, fixes crashes but no less evil. Also add code to collect currently visible categories (disabled). * openmoko/dates-utils.c: (dates_utils_update_category_bar), (dates_utils_update_category_bars), (dates_utils_insert_preset_categories): * openmoko/dates-utils.h: Add new functions for adding categories to MokoSearchBar * openmoko/dates.h: Add variables to store event categories 2007-09-03 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_set_property): Don't check that the model in a row reference is a JanaGtkEventStore * libjana-gtk/jana-gtk-event-list.h: * libjana-gtk/jana-gtk-event-list.c: (jana_gtk_event_list_add_store), (jana_gtk_event_list_remove_store): Add GtkTreeModel's instead of JanaGtkEventStore's * openmoko/dates-list.c: (selection_changed_cb), (search_text_changed_cb), (dates_create_list_page): Set search text when searching * openmoko/dates-main.c: (delete_event_cb), (filter_cb), (opened_cb), (main): Add GtkTreeModelFilter's to the JanaGtkEventStore's, allows for searching * openmoko/dates-utils.c: (dates_utils_casefold_replace), (dates_utils_refilter): * openmoko/dates-utils.h: Add utility functions to update filter and utf8 casefold string replace * openmoko/dates.h: Add variables for storing search category/filter string 2007-08-31 Chris Lord,,, * openmoko/dates-view.c: (edit_toggled_cb), (dates_create_view_page): * openmoko/dates.h: Set wrapping on the text view and add padding/background to time editing widgets 2007-08-31 Chris Lord,,, * libjana-gtk/jana-gtk-date-time.c: (jana_gtk_date_time_get_property): Don't crash when getting time property without time set * openmoko/dates-view.c: (edit_event), (visibility_notify_event_cb), (edit_toggled_cb): Implement editing of events * openmoko/dates.h: Remove 'dirty' flag, unnecessary 2007-08-31 Chris Lord,,, * libjana-gtk/jana-gtk-date-time.c: (adjust_entry), (activate_button), (button_repeat_cb), (button_start_fast_repeat_cb), (button_start_repeat_cb), (button_pressed_cb), (button_released_cb), (insert_text_cb), (minute_entry_changed_cb), (hour_entry_changed_cb), (day_entry_changed_cb), (month_entry_changed_cb), (year_entry_changed_cb), (create_edit_page), (refresh), (clear), (jana_gtk_date_time_get_property), (jana_gtk_date_time_set_property), (jana_gtk_date_time_class_init), (jana_gtk_date_time_init): Finish basic functionality * openmoko/dates-main.c: (main): Make sure to initialise editing to FALSE * openmoko/dates-utils.c: (dates_utils_toolbutton_new), (dates_utils_toggle_toolbutton_new): Use new_from_stock instead of creating an icon with a specific size * openmoko/dates-view.c: (dates_create_view_page): Pack start/end times closely to their editing buttons 2007-08-31 Chris Lord,,, * libjana-ecal/jana-ecal-utils.c: (jana_ecal_utils_strftime): Fix jana_ecal_utils_strftime * openmoko/dates-list.c: (update_header), (visibility_notify_event_cb), (back_clicked_cb), (home_clicked_cb), (forward_clicked_cb), (selection_changed_cb), (dates_create_list_page): Add a header to the list view * openmoko/dates-view.c: (edit_toggled_cb), (dates_create_view_page): Don't put 'Description' in empty descriptions after editing * openmoko/dates.h: Add an 'editing' flag 2007-08-30 Chris Lord,,, * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk.h: * libjana-gtk/jana-gtk-date-time.[ch]: Add new widget for editing JanaTime's (unfinished) * openmoko/dates-list.c: (dates_create_list_page): * openmoko/dates-main.c: (main): * openmoko/dates-view.c: (clear_details), (fill_details), (edit_toggled_cb), (toggled_cb), (dates_create_view_page): * openmoko/dates.h: Add time-editing widgets to the edit/view page (unfinished) 2007-08-30 Chris Lord,,, * libjana/jana-store.h: * libjana/jana-store-view.h: * libjana/jana-store-view.c: (jana_store_view_get_store): * libjana-ecal/jana-ecal-store-view.c: (store_view_interface_init), (jana_ecal_store_view_class_init), (jana_ecal_store_view_init), (store_view_get_store): Add accessor function to get the JanaStore from a JanaStoreView * libjana/jana-time.h: * libjana/jana-time.c: (jana_time_set_seconds), (jana_time_set_minutes), (jana_time_set_hours), (jana_time_set_day), (jana_time_set_month), (jana_time_set_year): * libjana-ecal/jana-ecal-time.c: (time_set_seconds), (time_set_minutes), (time_set_hours), (time_set_day), (time_set_month), (time_set_year): Make time setting functions use signed integers so that normalisation works as expected. * libjana-gtk/jana-gtk-event-store.c: (jana_gtk_event_store_get_store): * libjana-gtk/jana-gtk-event-store.h: Add accessor function to get the JanaStore * openmoko/Makefile.am: * openmoko/dates-view.[ch]: Add viewing/editing pane * openmoko/dates-list.c: Hook up some signals for event selection/range changing * openmoko/dates-main.c: (delete_event_cb), (startup_cb), (main): Initialise time query range times before starting * openmoko/dates-utils.h: * openmoko/dates-utils.c: (dates_utils_toggle_toolbutton_new), (dates_utils_refresh_query): Add utility functions for refreshing queries and creating toggle tool-buttons * openmoko/dates.h: Store timezone, JanaStore[View]s, widgets and an edited indicator 2007-08-28 Chris Lord,,, * Makefile.am: * configure.ac: Add --with-frontend option * openmoko/Makefile.am: * openmoko/dates-list.c: (new_clicked_cb), (back_clicked_cb), (home_clicked_cb), (forward_clicked_cb), (dates_create_list_page): * openmoko/dates-list.h: * openmoko/dates-main.c: (dates_notebook_add_page_with_icon), (delete_event_cb), (opened_cb), (startup_cb), (main): * openmoko/dates-utils.c: (dates_utils_toolbutton_new): * openmoko/dates-utils.h: * openmoko/dates.h: Add start of openmoko interface * pimlico/Makefile.am: * pimlico/dates-main.c: (delete_event_cb), (main): * pimlico/dates.h: Add skeleton for pimlico interface 2007-08-26 Chris Lord,,, * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_size_allocate), (select_idle_cb), (jana_gtk_tree_layout_button_press_event), (jana_gtk_tree_layout_class_init), (tree_layout_add_cell), (tree_layout_move_cell), (tree_layout_remove_cell_with_list): * libjana-gtk/jana-gtk-tree-layout.h: Add new signals "selection-changed" and "cell-activated" 2007-08-26 Chris Lord,,, * libjana-gtk/jana-gtk-event-store.c: (event_store_added_cb), (event_store_modified_cb): Specify range when getting event instances, fixes multi-day events that start or end outside of a StoreView range appearing more than they should * libjana/jana-utils.c: (jana_utils_event_copy), (jana_utils_event_get_instances): * libjana/jana-utils.h: Allow a range to be specified when getting event instances 2007-08-26 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_get_property), (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init), (get_description_layout), (cell_renderer_event_render), (cell_renderer_event_get_size): Do sizing in a slightly saner way, fix bug where descriptions needing ellipsizing on the first line would not get shown * libjana-gtk/jana-gtk-event-list.c: (tree_autosize_idle): Adapt to new event cell sizing * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_size_allocate): Set the fixed size on the cell where necessary * examples/jana-gtk-example-1.c: Remove hack to get correctly sized tree rows, it doesn't work anymore. Also set time to UTC instead of Europe/London. * examples/jana-gtk-example-2.c: Set time to UTC instead of Europe/London * examples/jana-gtk-example-3.c: Rename treeview -> event_list, to avoid confusion. Also set time to UTC instead of Europe/London. 2007-08-26 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_get_property), (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init), (cell_renderer_event_render), (cell_renderer_event_get_size): Make inner padding of events customisable, reduce default to 3 (from 6) 2007-08-26 Chris Lord,,, * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_set_property): If it's a JanaEcalTime, just duplicate instead of copying * libjana-ecal/jana-ecal-time.c: (jana_ecal_time_set_property), (time_get_daylight), (time_get_tzname), (time_normalise), (time_get_offset), (time_set_seconds), (time_set_minutes), (time_set_hours), (time_set_day), (time_set_month), (time_set_year), (time_set_isdate), (time_set_tzname), (time_set_offset): Only normalise when it's a valid date, don't set tzname or offset when they're already equal to the value called with * libjana-gtk/jana-gtk-event-store.c: (event_store_added_cb), (event_store_modified_cb), (event_store_removed_cb), (jana_gtk_event_store_dispose), (jana_gtk_event_store_finalize), (jana_gtk_event_store_class_init), (jana_gtk_event_store_compare), (event_store_free_iter_list), (jana_gtk_event_store_init): * libjana-gtk/jana-gtk-event-store.h: Store multiple instances when an event spans across multiple days * libjana/jana-time.c: * libjana/jana-time.h: Add new boxed type JanaDuration * libjana/jana-utils.c: (jana_utils_time_copy), (jana_utils_event_copy): * libjana/jana-utils.h: Add new function to get a list of durations for all the separate instances of an event across multiple days. Also make time copying set variables in a more sensible order. 2007-08-25 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (get_description_layout): Fix and comment multiple-line ellipsis (was broken on wrapped lines that needed to be truncated to provide room for ellipsis) 2007-08-25 Chris Lord,,, * libjana-ecal/jana-ecal-utils.c: (jana_ecal_utils_strftime): * libjana-ecal/jana-ecal-utils.h: Add new utility function jana_ecal_utils_strftime * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_class_init), (get_summary_layout): Change time rendering style slightly and make sure to set properties to NULL before returning when a NULL row is set. * libjana-gtk/jana-gtk-event-list.c: (jana_gtk_event_list_compare), (recalculate_headers), (row_deleted_cb), (row_changed_cb), (row_inserted_cb), (jana_gtk_event_list_get_property), (jana_gtk_event_list_class_init), (style_set_cb), (jana_gtk_event_list_init): * libjana-gtk/jana-gtk-event-list.h: Fix event removal, add day headers, add properties to access cell renderers and tree columns. Also, don't show the column header by default. Day headers don't interact correctly with events spanning multiple days, this is probably better fixed at the EventStore level by splitting multi-day events into separate events with times adjusted accordingly. * libjana/jana-utils.c: (jana_utils_time_to_gdate), (jana_utils_time_compare): * libjana/jana-utils.h: Add new utility function jana_utils_time_to_gdate and fix non-date comparisons involving dates 2007-08-24 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (get_summary_layout), (get_description_layout), (cell_renderer_event_render), (cell_renderer_event_get_size): Request the correct size and add multiple-line ellipsis 2007-08-22 Chris Lord,,, * examples/jana-gtk-example-1.c: (opened_cb), (main): Simplify * examples/Makefile.am: * examples/jana-gtk-example-3.c: (opened_cb), (main): Example for JanaGtkEventList * libjana-ecal/jana-ecal-utils.c: (jana_ecal_utils_time_to_tm): * libjana-ecal/jana-ecal-utils.h: New utility function jana_ecal_utils_time_to_tm * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-event-list.[ch]: New widget JanaGtkEventList that aggregates multiple JanaGtkEventStore's * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init), (cell_renderer_event_render), (cell_renderer_event_get_size): Add a property to allow setting properties via a GtkTreeRowReference, don't allow drawing of resize grip when not drawing box, request zero size and don't draw when draw_box and draw_text are both FALSE, and change the default of draw_resize to FALSE. 2007-08-22 Chris Lord,,, * examples/jana-gtk-example-2.c: (animate_cb): Fix memory leak, use new utility function to get correct time for today * libjana/jana.h: * libjana/Makefile.am: * libjana-ecal/jana-ecal.h: * libjana-ecal/Makefile.am: * libjana-gtk/jana-gtk.h: * libjana-gtk/Makefile.am: Add new convenience 'include-all' headers for libjana, libjana-ecal and libjana-gtk * libjana-ecal/jana-ecal-time.c: (time_set_isdate): Zero the hours/minutes/seconds when setting isdate * libjana-ecal/jana-ecal-utils.c: * libjana-ecal/jana-ecal-utils.h: Add new utility functions for getting the time now and the time today, for a particular location * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_dispose), (get_layout), (cell_renderer_event_render), (cell_renderer_event_get_size): Simplify a little, free memory on dispose/destroy * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_finalize), (tree_layout_set_properties), (jana_gtk_tree_layout_expose_event), (jana_gtk_tree_layout_size_allocate): Make sure to set the properties of the cell renderer before retrieving its size 2007-08-21 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (cell_renderer_event_get_size): Make sure to set x_offset and y_offset to zero * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_expose_event), (tree_layout_get_size), (jana_gtk_tree_layout_size_allocate), (tree_layout_add_cell), (tree_layout_move_cell), (jana_gtk_tree_layout_add_cell), (jana_gtk_tree_layout_move_cell): * libjana-gtk/jana-gtk-tree-layout.h: Fix issues with resizing with fill_width/height and hover 2007-08-21 Chris Lord,,, * examples/jana-gtk-example-2.c: (row_inserted_cb): Use height-for-width size allocation * libjana-gtk/jana-gtk-cell-renderer-event.c: (cell_renderer_event_render), (cell_renderer_event_get_size): Add support for height-for-width size allocation * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_expose_event): If width and/or height are -1, ask the cell renderer for the size 2007-08-21 Chris Lord,,, * examples/jana-gtk-example-2.c: (main): Add a note about fill_width/fill_height on JanaGtkTreeLayout * libjana-gtk/jana-gtk-cell-renderer-event.c: (cell_renderer_event_render): Do more safety checks to avoid critical warnings when painting * libjana-gtk/jana-gtk-tree-layout.c: (find_point_cb), (tree_layout_row_changed_cb), (jana_gtk_tree_layout_get_property), (jana_gtk_tree_layout_set_property), (jana_gtk_tree_layout_expose_event), (tree_layout_get_size), (jana_gtk_tree_layout_size_request), (jana_gtk_tree_layout_size_allocate), (jana_gtk_tree_layout_button_press_event), (jana_gtk_tree_layout_motion_notify_event), (jana_gtk_tree_layout_class_init), (tree_layout_style_set_cb), (jana_gtk_tree_layout_init), (tree_layout_add_cell), (tree_layout_move_cell): * libjana-gtk/jana-gtk-tree-layout.h: Add fill_width and fill_height properties 2007-08-21 Chris Lord,,, * examples/jana-gtk-example-2.c: (delete_event_cb), (main): Remove animation function before quitting * libjana-gtk/jana-gtk-event-store.c: (jana_gtk_event_store_compare): Don't leak memory when sorting 2007-08-21 Chris Lord,,, * libjana-gtk/jana-gtk-cell-renderer-event.c: (cell_renderer_event_render): Fix rendering glitch on some themes with resize grip 2007-08-20 Chris Lord,,, * examples/jana-gtk-example-2.c: (animate_cb), (row_inserted_cb), (opened_cb), (main): Make example a lot more interesting :) * libjana-gtk/jana-gtk-tree-layout.c: (tree_layout_move_cell), (jana_gtk_tree_layout_get_selection): * libjana-gtk/jana-gtk-tree-layout.h: Add accessor functions for cells and selection, unset prelight cell after it gets moved 2007-08-20 Chris Lord,,, * examples/jana-gtk-example-1.c: * examples/jana-gtk-example-2.c: * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-event-store.c: * libjana-gtk/jana-gtk-event-store.h: * libjana-gtk/jana-gtk-events-store.c: * libjana-gtk/jana-gtk-events-store.h: Rename JanaGtkEventsStore -> JanaGtkEventStore 2007-08-20 Chris Lord,,, * examples/jana-gtk-example-2.c: (row_inserted_cb), (opened_cb), (main): Make example more interesting * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_expose_event), (jana_gtk_tree_layout_motion_notify_event): Make rendering consistent with mouse actions 2007-08-20 Chris Lord,,, * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_dispose), (jana_gtk_tree_layout_finalize): Free memory/release references on dispose/finalize 2007-08-20 Chris Lord,,, * libjana-gtk/jana-gtk-tree-layout.c: (tree_layout_row_deleted_cb), (tree_layout_add_cell), (tree_layout_move_cell), (tree_layout_remove_cell_with_list): Request widget (re)size correctly 2007-08-20 Chris Lord,,, * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_button_press_event), (jana_gtk_tree_layout_motion_notify_event): Add cell activation, allow cells to be deselected when already selected 2007-08-20 Chris Lord,,, * libjana-gtk/jana-gtk-tree-layout.c: (jana_gtk_tree_layout_get_property), (jana_gtk_tree_layout_set_property), (jana_gtk_tree_layout_expose_event), (jana_gtk_tree_layout_button_press_event), (jana_gtk_tree_layout_motion_notify_event), (jana_gtk_tree_layout_class_init), (jana_gtk_tree_layout_init), (tree_layout_remove_cell_with_list), (jana_gtk_tree_layout_get_selection): * libjana-gtk/jana-gtk-tree-layout.h: Add support for different selection modes 2007-08-20 Chris Lord,,, * libjana-gtk/jana-gtk-tree-layout.c: (find_point_cb), (jana_gtk_tree_layout_expose_event), (jana_gtk_tree_layout_button_press_event), (jana_gtk_tree_layout_motion_notify_event), (jana_gtk_tree_layout_class_init), (jana_gtk_tree_layout_init), (tree_layout_remove_cell_with_list): Allow hovering over and selection of cells 2007-08-20 Chris Lord,,, * libjana-gtk/jana-gtk-tree-layout.c: (tree_layout_clear): Fix jana_gtk_tree_layout_clear 2007-08-20 Chris Lord,,, * examples/jana-gtk-example-2.c: (row_inserted_cb), (opened_cb), (main): Change example to just show the local calendar * libjana-gtk/jana-gtk-tree-layout.c: (find_path_cb), (find_row_cb), (tree_layout_row_changed_cb), (tree_layout_row_deleted_cb), (jana_gtk_tree_layout_expose_event), (jana_gtk_tree_layout_init), (tree_layout_add_cell), (tree_layout_remove_cell_with_list), (tree_layout_remove_cell): Monitor changes on tree models and remove rows/redraw when necessary 2007-08-20 Chris Lord,,, * examples/jana-gtk-example-1.c: (opened_cb), (main): Change example to just show the local calendar * libjana-gtk/jana-gtk-events-store.c: (events_store_added_cb), (events_store_modified_cb), (events_store_removed_cb), (events_store_free_iter), (jana_gtk_events_store_init): Just use GtkTreeIter instead of GtkTreeRowReference - GtkListStore guarantees life-time. 2007-08-20 Chris Lord,,, * configure.ac: * libjana-ecal/jana-ecal-store-view.c: (store_view_objects_removed_cb): Make sure to check for ECalComponentId, fixes delete signal 2007-08-17 Chris Lord,,, * examples/Makefile.am: * examples/jana-gtk-example-2.c: (row_inserted_cb), (opened_cb), (main): Add new example for JanaGtkTreeLayout * libjana-gtk/jana-gtk-cell-renderer-event.c: (get_layout), (cell_renderer_event_render), (cell_renderer_event_get_size): Don't render outside of the allocated cell area * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-tree-layout.[ch]: Add new widget JanaGtkTreeLayout to arbitrarily place cells related to a GtkTreeModel (unfinished). 2007-08-17 Chris Lord,,, * examples/jana-gtk-example-1.c: (tree_autosize_idle), (resize_tree): Don't constantly refresh column size * libjana-gtk/jana-gtk-cell-renderer-event.c: (jana_gtk_cell_renderer_event_get_property), (jana_gtk_cell_renderer_event_set_property), (jana_gtk_cell_renderer_event_class_init), (jana_gtk_cell_renderer_event_init), (get_layout), (cell_renderer_event_render), (cell_renderer_event_get_size): Add new properties "style_hint", "draw_text" and "draw_resize" 2007-08-16 Chris Lord,,, * examples/jana-gtk-example-1.c: (opened_cb), (main): Add dynamic GtkTreeView column resizing * libjana-gtk/jana-gtk-cell-renderer-event.c: (cell_renderer_event_get_size): Don't request full width, to allow resizing 2007-08-16 Chris Lord,,, * Makefile.am: * configure.ac: * examples/Makefile.am: * examples/jana-gtk-example-1.c: (added_cb), (modified_cb), (removed_cb), (opened_cb), (main): Add examples of libjana(-ecal/-gtk) use * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-cell-renderer-event.[ch]: * libjana-gtk/jana-gtk-events-store.[ch]: Add licence blocks, a GtkCellRenderer for events (unfinished) and HAS_ALARM column to JanaGtkEventsStore 2007-08-16 Chris Lord,,, * Makefile.am: * configure.ac: * libjana-gtk/Makefile.am: * libjana-gtk/jana-gtk-events-store.[ch]: Add new libjana-gtk with a GtkTreeModel * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_get_property), (jana_ecal_store_view_set_property), (jana_ecal_store_view_class_init), (store_view_jcomp_from_ecomp), (store_view_objects_added_cb): Fix typo (adding ECalComponent instead of JanaComponent to the added list) * libjana/jana-time.[ch]: * libjana-ecal/jana-ecal-time.c: (jana_ecal_time_set_property), (jana_ecal_time_dispose), (jana_ecal_time_finalize), (time_interface_init), (jana_ecal_time_init), (time_duplicate): Add new 'duplicate' function * libjana/jana-event.c: (jana_recurrence_get_type), (jana_recurrence_copy), (jana_recurrence_free): * libjana/jana-event.h: Make JanaRecurrence a boxed type * libjana/jana-utils.c: (jana_utils_time_is_leap_year), (jana_utils_time_days_in_month), (jana_utils_time_compare): * libjana/jana-utils.h: Add new utility functions, time_is_leap_year, time_days_in_month and time_compare 2007-08-15 Chris Lord,,, * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_class_init), (store_view_jcomp_from_ecomp), (store_view_objects_added_cb), (store_view_objects_modified_cb), (store_view_objects_removed_cb), (store_view_refresh_query): * libjana-ecal/jana-ecal-store.c: (store_interface_init): * libjana/jana-store.c: * libjana/jana-store.h: Don't assume we're storing events in a JanaEcalStoreView, remove get_component_type from JanaStore, as it may contain multiple types of component. 2007-08-15 Chris Lord,,, * libjana-ecal/jana-ecal-event.c: (jana_ecal_event_class_init): Don't add a zero-size private to the class * tests/test-jana-ecal-event.c: Include string.h 2007-08-15 Rob Bradford * libjana-ecal/Makefile.am: * libjana/Makefile.am: * tests/Makefile.am: Use libtool archives for linking. 2007-08-15 Thomas Wood * po/POTFILES.in: * autogen.sh: Added 2007-08-15 Thomas Wood * configure.ac: * libjana-ecal/Makefile.am: * libjana/Makefile.am: * tests/Makefile.am: First go at adding autotools support * libjana/jana-note.c: (jana_note_get_type): * libjana/jana-note.h: * libjana/jana-task.c: (jana_task_get_type): * libjana/jana-task.h: Correct some possible typos to fix the build 2007-08-14 Chris Lord,,, * libjana-ecal/jana-ecal-store.c: (store_interface_init), (store_get_component): * libjana/jana-store.c: (jana_store_get_component): * libjana/jana-store.h: Add a get_component function to JanaStore/JanaEcalStore that lets you retrieve a JanaComponent via uid (untested). * tests/test-jana-ecal-store-view.c: (main): Don't display the success message before success is guaranteed. 2007-08-14 Chris Lord,,, * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_set_property), (jana_ecal_store_view_dispose), (jana_ecal_store_view_finalize), (jana_ecal_store_view_init), (store_view_remove_old_cb), (store_view_objects_added_cb), (store_view_refresh_query), (store_view_start): Fix memory freeing, query updating and ECalView callbacks * libjana-ecal/jana-ecal-store.c: (store_add_component): Reset component UIDs before adding to a store (prevents uid collisions) * libjana-ecal/jana-ecal-time.c: (time_get_tzname): Return "UTC" for the tzname when no timezone is set * tests/test-jana-ecal-store-view.c: (added_cb), (modified_cb), (removed_cb), (opened_cb), (timeout_cb), (main): Add test for JanaStore/JanaStoreView 2007-08-14 Chris Lord,,, * libjana-ecal/jana-ecal-component.c: (jana_ecal_component_dispose), (component_interface_init), (component_supports_custom_props), (component_get_custom_props_list), (component_get_custom_prop), (component_set_custom_prop): * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_finalize): * libjana-ecal/jana-ecal-store.c: (jana_ecal_store_dispose): * libjana-ecal/jana-ecal-time.c: (jana_ecal_time_dispose): * libjana/jana-component.c: (jana_component_supports_custom_props), (jana_component_get_custom_props_list), (jana_component_get_custom_prop), (jana_component_set_custom_prop), (jana_component_props_list_free): * libjana/jana-component.h: Add support for custom properties on components 2007-08-14 Chris Lord,,, * libjana-ecal/jana-ecal-component.c: (jana_ecal_component_dispose): * libjana-ecal/jana-ecal-store-view.c: (jana_ecal_store_view_dispose), (jana_ecal_store_view_finalize): * libjana-ecal/jana-ecal-store.c: (jana_ecal_store_dispose): * libjana-ecal/jana-ecal-time.c: (jana_ecal_time_dispose): Unref objects on dispose, free memory on finalize 2007-08-13 Chris Lord,,, * libjana-ecal/jana-ecal-component.h: * libjana-ecal/jana-ecal-event.c: * libjana-ecal/jana-ecal-event.h: * libjana-ecal/jana-ecal-store-view.[ch]: * libjana-ecal/jana-ecal-store.[ch]: * libjana-ecal/jana-ecal-time.[ch]: * libjana/jana-store-view.[ch]: * libjana/jana-store.[ch]: * tests/test-jana-ecal-event.c: Add new JanaStore, JanaStoreView and implementations (allowing queries and general calendar interaction). Also, fix lots of bugs. 2007-08-10 Chris Lord,,, * libjana/jana-component.[ch]: * libjana-ecal/jana-ecal-component.[ch]: Move get_uid function to JanaComponent, implement JanaEcalComponent * libjana/jana-event.[ch]: * libjana-ecal/jana-ecal-event.c: Remove get_uid function from JanaEvent * tests/test-jana-ecal-event.c: Update compile line 2007-08-10 Chris Lord,,, * libjana-ecal/jana-ecal-event.c: Implement has_exceptions. * libjana-ecal/jana-ecal-time.[ch]: Remove new_from_time (replaced with utility function), fix up icaltimezone warnings and fix use of g_slice * libjana/jana-utils.[ch]: Add utility functions to copy times and events * libjana/jana-event.[ch]: Add has_exceptions to make API more consistent. * tests/test-jana-ecal-event.c: Update compile line 2007-08-09 Chris Lord,,, * libjana-ecal/jana-ecal-event.c: (jana_ecal_event_set_property): * libjana-ecal/jana-ecal-time.c: (jana_ecal_time_set_property), (jana_ecal_time_init): Use g_slice instead of malloc (thanks Rob Bradford) * libjana/jana-component.h: Fix typo (thanks Ross Burton) 2007-08-09 Chris Lord,,, * AUTHORS: * libjana-ecal/jana-ecal-event.c: * libjana-ecal/jana-ecal-event.h: * libjana-ecal/jana-ecal-time.c: * libjana-ecal/jana-ecal-time.h: * libjana/jana-component.c: * libjana/jana-component.h: * libjana/jana-event.c: * libjana/jana-event.h: * libjana/jana-note.c: * libjana/jana-note.h: * libjana/jana-task.c: * libjana/jana-task.h: * libjana/jana-time.c: * libjana/jana-time.h: * tests/lstz.c: * tests/test-jana-ecal-event.c: * tests/test-jana-ecal-time-2.c: * tests/test-jana-ecal-time.c: Initial check-in