| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-12-11 Damon Chaplin <damon@helixcode.com>
* gui/event-editor.c: added changed flags and added calls to a new
function event_editor_set_changed() to set & reset this flag.
Added prompt_to_save_changed() which is called when the user
selects File/Close or the window's close button.
Fixed the 'All day event' toggle button.
Made the 'Alarm' page sensitive as appropriate when filling widgets.
(Though note that the alarm widgets are not being set yet.)
* gui/dialogs/task-editor.c: added changed flag as above.
* gui/event-editor-dialog.glade: used good names for all the
classification radio buttons so we can access them in the code.
* gui/event-editor.c (init_widgets): use the "show week numbers" config
option in the recurrence preview calendar.
* gui/e-day-view.c (e_day_view_update_event_label): use 9:00 instead
of 09:00 in the main view, as we do everywhere else now. It means the
times won't line up, but they are easier to read which I think is
better.
Added support for Page Up/Down, though I think it should move the
selection rather than just scroll the canvas.
* cal-util/cal-recur.c (generate_instances_for_chunk): removed the
end parameter since we should be using the chunk end time now.
Added single_rule parameter for when we are generating the
occurrences of a single RRULE, in which case the event's start date is
not included in the occurrences output (unless it results from the
RRULE expansion). Both of these fix problems when using COUNT.
* gui/gnome-cal.c (gnome_calendar_on_date_navigator_selection_changed):
fixed bug when checking if the new start day starts on the week start
day. If you select a complete week it should now show the Week view.
svn path=/trunk/; revision=6896
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-28 Damon Chaplin <damon@helixcode.com>
* gui/e-day-view*.[hc]:
* gui/e-week-view*.[hc]: finished 12-hour support and tried to tidy
up & comment the drawing code in places. Also fixed a couple of bugs I
spotted. All the options on the 'Calendar' page should now work.
svn path=/trunk/; revision=6706
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-26 Damon Chaplin <damon@helixcode.com>
* gui/gnome-cal.c: added more support for config settings.
* gui/e-week-view.[hc]:
* gui/e-day-view.[hc]: added support for setting - show event end
times, week start day and 12-hour format (unfinished).
* gui/e-day-view-time-item.c: started 12-hour support.
* gui/tag-calendar.c (prepare_tag): use end_day + 1 since we want to
include the last day.
* gui/event-editor.c (set_all_day): minor change when turning all_day
off - set the event end to one hour after the event start if it is on
or before the start time. Also added more comments to make it a bit
clearer.
* cal-util/cal-recur.c (cal_obj_time_add_days): use a gint for day
rather than a guint since we now support -ve days.
Also fixed bug with weekly recurrences.
* gui/dialogs/task-editor.c (task_editor_create_date_edit): use
config settings.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config):
updated EDateEdit calls.
svn path=/trunk/; revision=6675
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-10-11 Damon Chaplin <damon@helixcode.com>
* gui/main.c (main): call calendar_config_write_on_exit() to write
out some special config settings (as the mail component does).
* gui/calendar-commands.c (properties_cmd): changed to use the new
preferences dialog.
(update_all_config_settings): new function to iterate over all the
calendars and update the config settings.
* gui/dialogs/cal-prefs-dialog.glade: preferences dialog.
* gui/dialogs/cal-prefs-dialog.[hc]: new files for the preferences
dialog.
* gui/calendar-config.[hc]: new files to handle loading/saving config
settings.
* cal-util/cal-recur.c: fixed bug in YEARLY when no filters were set,
plus minor changes.
* cal-util/test-recur.c: updated.
* gui/e-day-view-time-item.c:
* gui/popup-menu.c: update to #include <gal/widgets/e-gui-utils.h>
* gui/component-factory.c (owner_set_cb): called calendar_config_init.
(owner_set_cb):
(owner_unset_cb): updated the prototypes.
* gui/main.c (main): added call to calendar_config_write_on_exit().
* gui/component-factory.h:
* gui/component-factory.c (owner_set_cb): added global evolution_dir
just like the mail component, so we know we to store config stuff.
svn path=/trunk/; revision=5856
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-10-05 Damon Chaplin <damon@helixcode.com>
* gui/e-day-view.c:
* gui/e-week-view.c: when the user types in a new event, don't create
it until the user hits Return or switches focus. Removed the
editing_new_event flags.
* cal-util/test-recur.c: rewritten to work on ics files. Now I can
start testing the recurrence code.
* cal-util/cal-recur.c: a few fixes.
* gui/e-day-view.c (e_day_view_check_if_new_event_fits): fixed to
return TRUE for long events, not FALSE.
svn path=/trunk/; revision=5729
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-09-29 Damon Chaplin <damon@helixcode.com>
* cal-util/cal-recur.c: updated to support RDATE end times or
durations. Note that if you have two RDATEs with the same start times,
but with different end dates/durations set, the results are
unpredictable. So the event editor dialog should check for this.
* gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
make strftime() strings translatable, and changed the formats a bit.
* NOTE: someone needs to check print.c to make sure strftime strings
are OK for i18n.
* gui/e-day-view.h: Changed EDayViewDateFormat enum. We now try to
include the weekday if possible. Also changed EDayView struct so we
store the month & weekdays with the longest names rather than the
actual widths. This helps i18n.
* gui/e-day-view.c (e_day_view_recalc_cell_sizes): used _() for
strftime strings, tried to see if weekday fits, and rearranged a
bit to make i18n easier.
* gui/e-day-view-top-item.c (e_day_view_top_item_draw): used _() for
strftime strings, and updated to use new formats.
* gui/calendar-model.c: added use_24_hour_format boolean to
CalendarModelPrivate so we can display dates in 12-hour format if
requested. This meant adding a CalendarModel argument to a few
functions. Also added get/set functions to set use_24_hour_format.
I suppose ideally we should have an ECellDate renderer and this option
should go there.
svn path=/trunk/; revision=5646
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-29 Federico Mena Quintero <federico@helixcode.com>
Now the views monitor the client by themselves; it does not make
sense to proxy all notifications through the GnomeCal. The
GnomeCal should just be a meta-widget that holds all the views.
At some later point we'll want to decouple the views from the
GnomeCal so that they can be embedded anywhere; they should emit
signals to request appropriate actions from the toplevel GUI
instead of calling the GnomeCal directly.
* gui/e-day-view.c (e_day_view_set_cal_client): New function; now
the day view monitors the client by itself.
(cal_loaded_cb): New callback; moved over from
e_day_view_update_all_events().
(obj_updated_cb): New callback; moved over from
e_day_view_update_event().
(obj_removed_cb): New callback; moved over from
e_day_view_remove_event().
(e_day_view_update_all_events): Removed function.
(e_day_view_update_event): Removed function.
(e_day_view_remove_event): Removed function.
(*): Use the day_view->client directly instead of fetching it from
the GnomeCal.
(e_day_view_destroy): Unref the client.
(e_day_view_reload_events): Check if the client is loaded.
(e_day_view_key_press): Set the vtype of the new component.
* gui/e-week-view.c (e_week_view_set_cal_client): New function.
(cal_loaded_cb): New callback.
(obj_updated_cb): New callback.
(obj_removed_cb): New callback.
(e_week_view_update_all_events): Removed function.
(e_week_view_update_event): Removed function.
(e_week_view_remove_event): Removed function.
(*): Use the week_view->client directly.
(e_week_view_destroy): Unref the client.
(e_week_view_reload_events): Check if the client is loaded.
* gui/gnome-cal.c (setup_widgets): Set the cal_client on all the
views.
(gnome_calendar_update_all): Do not update the views, since now
they do it themselves.
(gnome_calendar_object_updated_cb): Likewise.
(gnome_calendar_object_removed_cb): Likewise.
(setup_widgets): Remove all to-do list cruft.
(gnome_calendar_colors_changed): Likewise.
(gnome_calendar_todo_properties_changed): Likewise.
* gui/calendar-commands.h (todo_style_changed): Removed variable.
* gui/gncal-todo.c: Removed old clist cruft; just left in the
temporary dialog box for now.
svn path=/trunk/; revision=5105
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-21 JP Rosevear <jpr@helixcode.com>
* gui/e-day-view.c
(e_day_view_update_event): Use CalComponent
instead of iCalObject. Work around not having a compare
dates routine for two CalComponents.
(e_day_view_reshape_long_event): Use CalComponent instead
of iCalObject, #if some alarm stuff
(e_day_view_reshape_day_event): ditto
(e_day_view_reload_events): Use revamped CalClient
(e_day_view_update_event_cb): Use CalComponent
instead of iCalObject
(e_day_view_foreach_event_with_uid): ditto
(e_day_view_remove_event_cb): ditto
(e_day_view_update_event_label): ditto
(e_day_view_find_event_from_uid): ditto
(e_day_view_on_event_click): ditto
(e_day_view_on_event_right_click): ditto
(e_day_view_on_new_appointment): ditto
(e_day_view_on_edit_appointment): ditto
(e_day_view_on_delete_occurrence): ditto
(e_day_view_on_delete_appointment): ditto
(e_day_view_on_unrecur_appointment): ditto
(e_day_view_on_top_canvas_motion): ditto
(e_day_view_on_main_canvas_motion): ditto
(e_day_view_finish_long_event_resize): ditto
(e_day_view_finish_resize): ditto
(e_day_view_free_event_array): ditto
(e_day_view_add_event): ditto
(e_day_view_key_press): ditto
(e_day_view_on_editing_stopped): ditto
(e_day_view_update_top_canvas_drag): ditto
(e_day_view_update_main_canvas_drag): ditto
(e_day_view_on_drag_data_get): ditto
(e_day_view_on_top_canvas_drag_data_received): ditto
(e_day_view_on_main_canvas_drag_data_received): ditto
svn path=/trunk/; revision=4900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-06-21 Damon Chaplin <damon@helixcode.com>
* gui/gnome-cal.c (gnome_calendar_direction): changed so it keeps the
selection range. It just moves it on one day/week etc. This makes
it very handy for the keyboard shortcut code.
* gui/calendar-commands.c (calendar_control_activate): fixed bug
setting the radio button active.
* gui/e-day-view.[hc]: added support for keyboard navigation and
selection of the time range.
svn path=/trunk/; revision=3665
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-05-07 Damon Chaplin <damon@helixcode.com>
* gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received):
(e_day_view_on_top_canvas_drag_data_received): show the EText item,
just in case it hasn't moved, otherwise it won't appear.
* gui/e-day-view.h (E_DAY_VIEW_BAR_WIDTH): increased from 6 to 8 to
make it easier to drag an event. Also increased E_DAY_VIEW_GAP_WIDTH
since it must be >= the BAR_WIDTH.
svn path=/trunk/; revision=2878
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-05-01 Damon Chaplin <damon@helixcode.com>
* gui/gnome-cal.[hc] (gnome_calendar_get_current_time_range): new
function to get the currently seleted time range form the current view.
* gui/calendar-commands.c (display_objedit): use the above function
to get the time for the new appointment.
* gui/e-week-view.c:
* gui/e-day-view.c: use a shallow copy of the ico when we update the
times (when resizing/dragging). Otherwise we won't detect that the
time has changed in the "update_event" callback.
Also added functions to get the currently selected time range.
svn path=/trunk/; revision=2712
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
svn path=/trunk/; revision=2115
|