aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-day-view-main-item.c
Commit message (Collapse)AuthorAgeFilesLines
* use util function to see if the user is the organizer72002-07-181-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-17 <jpr@ximian.com> * gui/calendar-model.c (calendar_model_value_at): use util function to see if the user is the organizer * gui/dialogs/cancel-comp.c (cancel_component_dialog): add deleting proto to indicate whether cancelling or deleting is the primary operation * gui/dialogs/cancel-comp.h: update proto * gui/dialogs/comp-editor.c (delete_cmd): offer to cancel * gui/dialogs/task-editor.c (cancel_task_cmd): call cancel_component_dialog with new param * gui/dialogs/event-editor.c (cancel_meeting_cmd): ditto * gui/e-week-view.c (e_week_view_on_editing_stopped): only update request if user is organizer (e_week_view_show_popup_menu): disable the meeting and meeting organizer mask if appropriate (e_week_view_delete_event_internal): offer to cancel the meeting (e_week_view_on_cut): ditto (selection_received): send request if its a meeting * gui/e-day-view.h: add meeting icon/mask * gui/e-day-view.c (e_day_view_on_event_right_click): disable the meeting and meeting organizer mask if appropriate (e_day_view_delete_event_internal): offer to cancel meeting (e_day_view_on_cut): ditto (e_day_view_finish_long_event_resize): only update request if user is organizer (e_day_view_reshape_long_event): add meeting icon to count (e_day_view_reshape_day_event): ditto (e_day_view_on_top_canvas_drag_data_received): only update request if user is organizer (e_day_view_on_main_canvas_drag_data_received): ditto (selection_received): offer to send meeting info * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): draw meeting icon if appropriate (using dummy icon atm) svn path=/trunk/; revision=17491
* Fixes #16034Rodrigo Moya2002-07-031-3/+10
| | | | | | | | | | | | | | | | 2002-07-02 Rodrigo Moya <rodrigo@ximian.com> Fixes #16034 * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): * gui/e-week-view.c (e_week_view_reshape_event_span): * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): Don't assume all categories have icons when allocating space for the icons. svn path=/trunk/; revision=17357
* Fixing the license text.Ettore Perazzoli2001-10-281-1/+0
| | | | svn path=/trunk/; revision=14211
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-2/+2
| | | | | | (instead of version 2 or any later version). svn path=/trunk/; revision=14190
* unref the GdkPixmap and GdkBitmap returned by the functionRodrigo Moya2001-08-101-0/+4
| | | | | | | | | | | | 2001-08-09 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): unref the GdkPixmap and GdkBitmap returned by the function e_categories_config_get_icon_for () svn path=/trunk/; revision=11859
* don't use a NULL mask in the call to gdk_gc_set_clip_maskRodrigo Moya2001-08-091-1/+2
| | | | | | | | | | | | | 2001-08-08 Rodrigo Moya <rodrigo@ximian.com> * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): don't use a NULL mask in the call to gdk_gc_set_clip_mask * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): ditto * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): ditto svn path=/trunk/; revision=11801
* added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, toDamon Chaplin2001-08-071-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-06 Damon Chaplin <damon@ximian.com> * gui/e-week-view.h: * gui/e-day-view.h: added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, to note that the event is in a different timezone. We now compute this once when we add the event to the array, rather than each time we draw the event. If it is set, we will draw the timezone icon next to the event. * gui/e-day-view-main-item.c: take transparency into account when drawing the blue vertical bars to represent busy time. * gui/tag-calendar.c: take transparency into account when tagging the mini calendar. * gui/e-calendar-table.c (e_calendar_table_init): removed the "None" options for transparency and classification, since these properties have defaults anyway, so we may as well use those to keep it simple. Also use "Free" and "Busy" for transparency, rather than "Transparent" and "Opaque". * gui/calendar-model.c: updated classification & transparency code as above. * gui/e-calendar-table.etspec: changed "Transparency" to "Show Time As" since people have a chance of understanding that. * gui/e-week-view.c: * gui/e-day-view.c: * gui/gnome-cal.c: added functions to get the visible time range. * gui/calendar-commands.c: finished stuff to set the folder bar label to the dates currently displayed. * gui/control-factory.c (control_factory_new_control): connected signal to update the folder title bar label when the dates shown are changed. I had to connect it here since we need the BonoboControl in the callback, and I don't know how to get the control from the widget. * gui/tasks-control.c (tasks_control_activate): clear the folder bar label. We could display something here at some point. * gui/dialogs/recurrence-page.glade: changed "_Add" to "A_dd", since we have an "_Actions" menu. (These also use Alt+key, right?) * gui/dialogs/event-page.glade: * gui/dialogs/event-page.c: added 'Show Time As' field, which is really the TRANSP property but with a better name! Also changed one of the "_Confidential" to "Con_fidential" since we already have "_Contacts" using the same 'C' key. * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): skip events that are TRANSPARENT. Also added comment as this code looks inefficient. * cal-util/cal-component.c: removed stuff for comparing timezones. * gui/comp-util.c (cal_comp_util_compare_event_timezones): moved the above function here, and updated it to compare the UTC offsets of the times as well as the TZIDs. svn path=/trunk/; revision=11717
* initialize to NULL some pointersRodrigo Moya2001-07-281-2/+2
| | | | | | | | | | | | | | | | 2001-07-27 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): initialize to NULL some pointers * e-calendar-table.c (selection_received): deal correctly with VCALENDAR objects (e_calendar_table_copy_clipboard): g_strdup the value returned by icalcomponent_get_as_ical_string svn path=/trunk/; revision=11459
* do not discard drawing icon if mask is NULLRodrigo Moya2001-07-181-1/+1
| | | | | | | | | | | | 2001-07-18 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): do not discard drawing icon if mask is NULL * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): ditto svn path=/trunk/; revision=11190
* more timezone updates. I'm pretty much done with the calendar code now,Damon Chaplin2001-07-111-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-10 Damon Chaplin <damon@ximian.com> * gui/calendar-model.c: * gui/e-calendar-table.c: * gui/e-day-view-main-item.c: * gui/e-day-view-top-item.c: * gui/e-day-view.[hc]: * gui/e-week-view.c: * gui/gnome-cal.c: * gui/print.c: * gui/dialogs/cal-prefs-dialog.c: * gui/dialogs/comp-editor-util.c: * gui/dialogs/event-page.c: * pcs/cal-backend-file.c: * pcs/query.c: * cal-util/cal-component.[hc]: * cal-util/cal-recur.c: * cal-util/timeutil.[hc]: * cal-client/cal-client.[hc]: more timezone updates. I'm pretty much done with the calendar code now, except for alarms and conduits, which Federico and JP know more about. And there are a couple of other minor things to fix. But it is still pretty buggy. svn path=/trunk/; revision=10984
* cal-client/cal-client.[hc] cal-util/cal-component.cDamon Chaplin2001-07-031-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-03 Damon Chaplin <damon@ximian.com> * cal-client/cal-client.[hc] * cal-util/cal-component.c * cal-util/cal-recur.[hc] * cal-util/test-recur.c * cal-util/timeutil.c * gui/calendar-config.c * gui/calendar-model.[hc] * gui/comp-util.[hc] * gui/e-calendar-table.c * gui/e-day-view-main-item.c * gui/e-day-view-top-item.c * gui/e-day-view.[hc] * gui/e-itip-control.c * gui/e-timezone-entry.[hc] * gui/e-week-view.[hc] * gui/gnome-cal.[hc] * gui/goto.c * gui/tag-calendar.[hc] * gui/dialogs/cal-prefs-dialog.c * gui/dialogs/comp-editor-page.[hc] * gui/dialogs/comp-editor-util.[hc] * gui/dialogs/comp-editor.c * gui/dialogs/e-timezone-dialog.[hc] * gui/dialogs/event-page.c * gui/dialogs/meeting-page.c * gui/dialogs/recurrence-page.c * gui/dialogs/task-details-page.c * gui/dialogs/task-details-page.glade * gui/dialogs/task-page.c * idl/evolution-calendar.idl * pcs/cal-backend-file.c * pcs/cal-backend.c * pcs/cal-backend.h * pcs/cal.c * pcs/query.c: timezone changes everywhere. There's still quite a few things to update, and its not working well at present. svn path=/trunk/; revision=10729
* use the new self-contained e_categories_config_open_dialog_for_entry()Rodrigo Moya2001-07-031-4/+5
| | | | | | | | | | | | | | | | | 2001-07-02 Rodrigo Moya <rodrigo@ximian.com> * gui/dialogs/task-page.c (categories_clicked_cb): * gui/dialogs/event-page.c (categories_clicked_cb): use the new self-contained e_categories_config_open_dialog_for_entry() function * gui/e-week-view-event-item.c (e_week_view_item_draw_icons): * gui/e-day-view-top-item.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): ditto * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): use e_categories_config_get_icon_for() to retrieve the icon associated with each category svn path=/trunk/; revision=10699
* draw icons per categoryRodrigo Moya2001-07-011-0/+41
| | | | | | | | | | | | | | | | | | | | | | 2001-07-01 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): draw icons per category * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): draw icons per category * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): calculate space for category icons * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): draw icons per category * gui/e-week-view.c (e_week_view_reshape_event_span): calculate space for category icons svn path=/trunk/; revision=10646
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-1/+1
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* new files to contain layout code split off from EDayView an EWeekView, soDamon Chaplin2001-05-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2001-05-28 Damon Chaplin <damon@ximian.com> * gui/e-week-view-layout.[hc]: * gui/e-day-view-layout.[hc]: new files to contain layout code split off from EDayView an EWeekView, so we can use it for printing. * gui/print.c: rewritten to use the same layout code as the EDayView and EWeekView widgets. * gui/gnome-cal.c (gnome_calendar_get_task_pad_cal_client): added function so we can get the CalClient used for the TaskPad for printing. * gui/Makefile.am (evolution_calendar_SOURCES): added e-day-view-layout.[hc] amd e-week-view-layout.[hc]. * cal-util/timeutil.c (time_week_begin): (time_week_end): added week_start_day argument. * cal-util/cal-recur.c: added comments describing problems in it. svn path=/trunk/; revision=10037
* gui/e-week-view*.c don't use the theme colors at all within the graphicalDamon Chaplin2001-01-181-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Damon Chaplin <damon@helixcode.com> * gui/e-week-view*.c * gui/e-day-view*.c: don't use the theme colors at all within the graphical parts of the widgets, since they may clash with our colors. May make them configurable in future so people can tweak them to go with their theme. At least the calendars are usable in any theme now, even though the colors may not go well with the theme. Also set the font of all the EText items in style_set. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't draw the icons if we are editing the event. * gui/e-day-view.c: * gui/e-week-view.c: reinstated the optimizations so we don't do a complete relayout if the event's dates haven't been changed. (Though we still do a re-layout when recurring events change, since comparing all the RDATES/RRULES/EXDATES/EXRULES is too much hassle.) A side-effect of this change is that the EWeekView won't crash so often - only recurring events will be a problem. * cal-util/cal-component.[hc]: added function to check if the start and end dates of a component match. Used for optimizing the updating of the EDayView & EWeekView. svn path=/trunk/; revision=7593
* Ximianified email addresses and copyrights.Federico Mena Quintero2001-01-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Federico Mena Quintero <federico@ximian.com> * */*: Ximianified email addresses and copyrights. * idl/evolution-calendar.idl (CalFactory::open): Renamed from ::load(), and added an only_if_exists argument. (CalFactory::create): Removed method. (Listener::OpenStatus): Removed the IN_USE error and replaced it with a NOT_FOUND one; renamed the enum from LoadStatus. (Listener::notifyCalOpened): Renamed from notifyCalLoaded(). * pcs/cal-backend.h (CalBackend): Removed the uri field. (CalBackendOpenStatus): Renamed from CalBackendLoadStatus and added a NOT_FOUND value. (CalBackendClass::open): Put in a slot for the open method. * pcs/cal-backend.c (cal_backend_create): Removed function. * pcs/cal-backend-file.c (cal_backend_file_open): Return the appropriate value when only_if_exists is TRUE. (create_cal): We are Ximian now, so set the PRODID property to the appropriate foo. * pcs/cal-factory.c (CalFactory_open): implemented, replacing CalFactory_load() and CalFactory_create(). (CalFactory_open): Moved the queue_load_create_job() stuff to here, since we now only need to contemplate the open case instead of load/create ones. (open_backend): Do everything here; replaces load_backend() and create_backend(). * cal-client/cal-listener.h (CalListenerClass::cal_opened): Renamed from cal_loaded. (CalListenerClass): Replaced the silly signals, which are gratuitous abstraction, by a set of function pointers in the instance structure. * cal-client/cal-listener.c (cal_listener_get_calendar): Removed unused function. (cal_listener_construct): Added the listener notification functions. (cal_listener_new): Ditto. (Listener_notifyCalOpened): Renamed to our new naming convention for servant implementations. (Listener_notifyObjUpdated): Ditto. (Listener_notifyObjRemoved): Ditto. * cal-client/cal-client.h (CalClientOpenStatus): Renamed from CalClientLoadStatus. (CalClientClass::cal_opened): Renamed from ::cal_loaded(). (CalClientLoadState): New enum; basically make LoadState public so that users of this code do not have to maintain their own states. * cal-client/cal-client.c (cal_client_create_calendar): Removed function. (cal_client_open_calendar): Moved the functionality over from load_or_create(); now we do everything here. (*): Use the CalClientLoadState enum values instead of the old LoadState values. (cal_client_get_load_state): Renamed from cal_client_is_loaded(), and return the appropriate value. (CalClientPrivate): Added an uri field. (cal_client_init): Initialize priv->uri. (cal_client_destroy): Free the priv->uri. (cal_opened_cb): Maintain the priv->uri. (cal_client_open_calendar): Fill in the priv->uri. (cal_client_get_uri): New function. * gui/calendar-model.c (calendar_model_set_new_comp_vtype): New function to configure the type of calendar components to create when doing click-to-add. This makes the model usable for something other than task lists. (calendar_model_get_new_comp_vtype): New function. * gui/e-calendar-table.c (e_calendar_table_get_model): New function. (e_calendar_table_destroy): Unref the subset_model. * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum. * gui/gnome-cal.c (LoadState): Removed enum; we now use the CalClientLoadState from the client objects. (GnomeCalendarPrivate): Removed the loading_uri and task_pad_loading_uri fields as well as the load_state and task_pad_load_state fields, as we can now query them directly from the CalClient. (open_error): Renamed from load_error(). (create_error): Removed function. (gnome_calendar_open): Do not take in the mode parameter. (cal_opened_cb): Get rid of our beautifully-crafted state machine and replace it with simple code; all the loading smarts are in the Wombat now. (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. * gui/Makefile.am (evolution_calendar_SOURCES): Removed gnome-month-item.[ch] from the list of sources. * gui/calendar-summary.c (CalSummary): Removed unused cal_loaded field. (create_summary_view): Do not check if the file exists; this is the job of the Wombat. (generate_html_summary): Fixed prototype. (alarm_fn): Fixed prototype. (property_dialog): Fixed prototype. Wonder if/how this ever worked. (create_summary_view): Cast the component and view as appropriate. Removed unused html variable. [Iain dude, are you compiling with -Wall?] * gui/e-itip-control.c (cal_opened_cb): Sigh, this function signature was *very* wrong. It was using CalClientGetStatus instead of CalClientOpenStatus. * gui/e-tasks.h (ETasksOpenMode): Removed enum. * gui/e-tasks.c (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. (LoadState): Removed the state machine foo. (e_tasks_open): Removed the mode parameter. (initial_load): Removed function. (create_error): Removed function. (ETasksPrivate): Removed folder_uri field. (cal_opened_cb): Remove the state machine. * gui/component-factory.c: #include "tasks-control.h" * conduits/calendar/calendar-conduit.h (ECalConduitContext): Removed calendar_load_tried field. * conduits/calendar/calendar-conduit.c (start_calendar_server_cb): Sigh, fixed function prototype. * conduits/todo/todo-conduit.h (EToDoConduitContext): Removed calendar_load_tried field. * conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed function prototype. svn path=/trunk/; revision=7571
* added _click-to-add-message, though I'm not sure if i18n will work.Damon Chaplin2000-10-201-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-20 Damon Chaplin <damon@helixcode.com> * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): added _click-to-add-message, though I'm not sure if i18n will work. * cal-util/cal-recur.c (cal_obj_time_add_hours): (cal_obj_time_add_minutes): (cal_obj_time_add_seconds): updated to handle -ve args. * cal-util/timeutil.c (time_add_day): set tm_isdst to -1 before calling mktime(). * cal-util/cal-recur.c (generate_instances_for_chunk): don't call the callback if the event ends exactly on the interval start time. * gui/e-week-view.c (e_week_view_reshape_event_span): * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): use cal_component_has_alarms(). * cal-util/cal-component.[hc]: added cal_component_has_alarms(). 2000-10-16 Damon Chaplin <damon@helixcode.com> * gui/calendar-config.c (config_read): set default MonthVPanePosition to 1 rather than 0, so if you move the hpane you'll see the date navigator. svn path=/trunk/; revision=6063
* Use new cal_component_has_recurrences convenience functionJP Rosevear2000-09-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-06 JP Rosevear <jpr@helixcode.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): Use new cal_component_has_recurrences convenience function * gui/e-week-view.c (e_week_view_show_popup_menu): ditto * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): ditto * gui/calendar-model.c (calendar_model_value_at): ditto (calendar_model_value_at): ditto * gui/e-day-view.c (e_day_view_on_event_click): ditto (e_day_view_on_event_right_click): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_reshape_day_event): ditto * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): ditto * gui/e-day-view.c (e_day_view_on_long_event_click): ditto svn path=/trunk/; revision=5220
* switched to using new ECalendar widget, and a few other fixes.Damon Chaplin2000-08-311-15/+30
| | | | | | | | | | | | | | 2000-08-30 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.[hc]: * gui/e-day-view-main-item.c: * gui/e-week-view.[hc]: * gui/e-week-view-main-item.c: * gui/calendar-commands.c: * gui/gnome-cal.[hc]: switched to using new ECalendar widget, and a few other fixes. svn path=/trunk/; revision=5121
* Use CalComponent instead of iCalObject. #if some alarm stuffJP Rosevear2000-08-221-3/+6
| | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): Use CalComponent instead of iCalObject. #if some alarm stuff svn path=/trunk/; revision=4903
* new files to implement iCalendar recurrence rules. These are only partDamon Chaplin2000-05-201-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-20 Damon Chaplin <damon@helixcode.com> * cal-util/cal-recur.[hc]: new files to implement iCalendar recurrence rules. These are only part finished, but people may like to check that the architecture seems OK. 2000-05-17 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_on_delete_occurrence): * gui/e-week-view.c (e_week_view_on_delete_occurrence): use a copy of the iCalObject so we detect the change in the "update_event" callback. Maybe we should just update the view ourselves and then we wouldn't need to detect any change in the callback. * cal-util/calobj.c (ical_object_reset_recurrence): new function to get rid of any recurrence rules. Used when we 'unrecur' an event. * gui/e-day-view.c (e_day_view_key_press): don't add a new event if it won't fit, or we end up adding a new event for each key press. (e_day_view_update_event_label): don't update it if it doesn't have an EText item (i.e. it isn't visible). * gui/e-day-view-time-item.c: allow selection of times using this column. svn path=/trunk/; revision=3144
* added guint ref_count to iCalObject struct, and ical_object_ref/unref()Damon Chaplin2000-05-061-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-06 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.[hc]: added guint ref_count to iCalObject struct, and ical_object_ref/unref() functions. I've updated all the gui/ stuff to use ref_counts but I haven't touched the pcs/ stuff. Maybe just using ical_object_destroy() is OK there. * gui/gncal-todo.c: * gui/calendar-commands.c: * gui/eventedit.c: * gui/e-week-view.c: * gui/e-day-view.c: use refcounting for iCalObjects. * gui/e-day-view-main-item.c: * gui/e-day-view-top-item.c: * gui/e-day-view.c: try not to ever draw outside the event, even when the event is very small. 2000-05-05 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: don't allow recurring events to be resized or dragged, and don't show the resize/drag cursors. Actually it may be better to let the user do the resize/drag and then ask them what they want to do - change the single occurrence or the entire series. * gui/e-day-view-time-item.c (e_day_view_time_item_show_popup_menu): use e_auto_kill_popup_menu_on_hide() to destroy the popup menu. * gui/popup-menu.c: include e-gui-utils.h svn path=/trunk/; revision=2823
* new function to see if the event dates have changed (including anyDamon Chaplin2000-05-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-01 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.c (ical_object_compare_dates): new function to see if the event dates have changed (including any recurrence rules). It is used for optimization when we get the "object_changed" signal. We have to do far less work if the dates are unchanged. * gui/e-week-view.c: * gui/e-day-view.c: only draw the selection when we have the keyboard focus, since the user expects to be able to type in a new event when the selection is shown. Also keep the selection when we lose focus, but just don't show it. Also quite a few changes to cope with the new client/server architecture. * gui/e-day-view-top-item.c (e_day_view_top_item_draw): * gui/e-day-view-main-item.c (e_day_view_main_item_draw): * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): only draw the selection if the widget has the keyboard focus. * gui/gnome-cal.c (mark_gtk_calendar_day): fixed so it works with events longer than one day. And changed the code for updating events in the new views. svn path=/trunk/; revision=2701
* added new source files and pixmaps, and removed old source files, whichDamon Chaplin2000-04-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-24 Damon Chaplin <damon@helixcode.com> * gui/Makefile.am: added new source files and pixmaps, and removed old source files, which can be deleted. * gui/e-week-view-titles-item.[hc]: * gui/e-week-view-main-item.[hc]: * gui/e-week-view-event-item.[hc]: * gui/e-week-view.[hc]: new files implementing the week/month views. * gui/yearview.xpm: * gui/monthview.xpm: * gui/weekview.xpm: * gui/workweekview.xpm: * gui/dayview.xpm: new pixmaps for the toolbar buttons. These aren't intended to be the final pixmaps. * gui/calendar-commands.c: added radio buttons to the toolbar to switch between the calendar views, and moved the am_pm_flag here so we can get rid of view-utils.c. * gui/gnome-cal.[hc]: made it a subclass of GtkVBox, rearranged the widgets into 2 notebooks, and added the selection_start_time and selection_end_time fields. * gui/goto.c: updated to use new selection time range. * gui/quick-view.c: added '#include <gtk/gtkwindow.h>' so it compiles. * gui/e-day-view.[hc]: changed the interface to support the new selection time range, got rid of a few debugging messages and changed a few bits. svn path=/trunk/; revision=2583
* New widget for Day/Work-Week views. Unfinished.Damon Chaplin2000-03-141-0/+631
svn path=/trunk/; revision=2115