aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.c
Commit message (Collapse)AuthorAgeFilesLines
* Added check for gnome-app-lib. Removed directories that have been moved toChristopher James Lahey2000-09-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added check for gnome-app-lib. Removed directories that have been moved to gal. From addressbook/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am, contact-editor/Makefile.am, ename/Makefile.am, gui/component/Makefile.am, gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h, contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor.c, contact-editor/e-contact-save-as.c, ename/e-address-western.c, ename/test-ename-western-gtk.c, gui/component/addressbook-factory.c, gui/component/addressbook.c, gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, gui/component/select-names/e-select-names-bonobo.c, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/search/e-addressbook-search-dialog.c, gui/widgets/e-addressbook-model.h, gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c, gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, printing/e-contact-print.c: Fixed the #include lines to deal properly with gal. From calendar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view-event-item.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c, gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines to deal properly with gal. * gui/check-filled.xpm: New file since we can't include it from e-table anymore. From camel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-search.h, camel-remote-store.c, providers/imap/camel-imap-folder.c, providers/imap/camel-imap-store.c: Fixed the #include lines to deal properly with gal. From composer/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c, e-msg-composer-attachment.c, e-msg-composer-hdrs.c, e-msg-composer.c: Fixed the #include lines to deal properly with gal. From e-util/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed all the files moved to gal. * e-dialog-widgets.c: Fixed the #include lines to deal properly with gal. * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality that was moved to gal. * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c, e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h, e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c, e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h, e-xml-utils.c, e-xml-utils.h: Moved to gal. From filter/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * filter-editor.c, filter-filter.c, filter-folder.c, filter-input.c, filter-message-search.c, filter-option.c, filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c: Fixed the #include lines to deal properly with gal. From mail/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * component-factory.c, folder-browser-factory.c, folder-browser.c, mail-callbacks.c, mail-config-gui.c, mail-display.c, mail-display.h, main.c, message-list.c, message-list.h: Fixed the #include lines to deal properly with gal. From po/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * POTFILES.in: Removed files that have been moved to gal. From shell/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. From widgets/meeting-time-sel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-meeting-time-sel-list-item.c, e-meeting-time-sel.c, e-meeting-time-sel.h: Fixed the #include lines to deal properly with gal. If you've read this far, you deserve a prize. The first email in my mailbox with the subject "What a commit message!" (and your physical mailing address somewhere in the message) will receive a free Helix Code T-shirt mailed to anywhere within the continental United States. I cannot be held responsible for problems with email systems anywhere. This is supposed to be for fun, so please don't make a fuss if something goes wrong and your mail doesn't reach me. Find my email elsewhere in this message, and if it's been more than a few days, you're probably too late. From widgets/misc/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c: Fixed the #include lines to deal properly with gal. * e-scroll-frame.c, e-scroll-frame.h: Moved to gal. From widgets/shortcut-bar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c, e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines to deal properly with gal. From widgets/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed directories that have been moved to gal. * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c, e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h, e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal. * e-reflow/.cvsignore, e-reflow/Makefile.am, e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h, e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal. * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE, e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO, e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm, e-table/check-empty.xpm, e-table/check-filled.xpm, e-table/clip.png, e-table/e-cell-checkbox.c, e-table/e-cell-checkbox.h, e-table/e-cell-string.c, e-table/e-cell-text.c, e-table/e-cell-text.h, e-table/e-cell-toggle.c, e-table/e-cell-toggle.h, e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c, e-table/e-cell.h, e-table/e-table-click-to-add.c, e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h, e-table/e-table-col.c, e-table/e-table-col.h, e-table/e-table-column-model.h, e-table/e-table-column.c, e-table/e-table-config.c, e-table/e-table-config.glade, e-table/e-table-config.glade.h, e-table/e-table-config.h, e-table/e-table-defines.h, e-table/e-table-example-1.c, e-table/e-table-example-2.c, e-table/e-table-field-chooser-dialog.c, e-table/e-table-field-chooser-dialog.h, e-table/e-table-field-chooser-item.c, e-table/e-table-field-chooser-item.h, e-table/e-table-field-chooser.c, e-table/e-table-field-chooser.glade, e-table/e-table-field-chooser.glade.h, e-table/e-table-field-chooser.h, e-table/e-table-group-container.c, e-table/e-table-group-container.h, e-table/e-table-group-leaf.c, e-table/e-table-group-leaf.h, e-table/e-table-group.c, e-table/e-table-group.glade, e-table/e-table-group.glade.h, e-table/e-table-group.h, e-table/e-table-header-item.c, e-table/e-table-header-item.h, e-table/e-table-header.c, e-table/e-table-header.h, e-table/e-table-item.c, e-table/e-table-item.h, e-table/e-table-model.c, e-table/e-table-model.h, e-table/e-table-one.c, e-table/e-table-one.h, e-table/e-table-scrolled.c, e-table/e-table-scrolled.h, e-table/e-table-selection-model.c, e-table/e-table-selection-model.h, e-table/e-table-simple.c, e-table/e-table-simple.h, e-table/e-table-size-test.c, e-table/e-table-sort-info.c, e-table/e-table-sort-info.h, e-table/e-table-sorted-variable.c, e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c, e-table/e-table-sorted.h, e-table/e-table-sorter.c, e-table/e-table-sorter.h, e-table/e-table-subset-variable.c, e-table/e-table-subset-variable.h, e-table/e-table-subset.c, e-table/e-table-subset.h, e-table/e-table-text-model.c, e-table/e-table-text-model.h, e-table/e-table-tooltip.h, e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h, e-table/e-tree-example-1.c, e-table/e-tree-example-2.c, e-table/e-tree-model.c, e-table/e-tree-model.h, e-table/e-tree-simple.c, e-table/e-tree-simple.h, e-table/image1.png, e-table/image2.png, e-table/image3.png, e-table/remove-col.xpm, e-table/sample.table, e-table/table-test.c, e-table/table-test.h, e-table/test-check.c, e-table/test-cols.c, e-table/test-table.c: Moved to gal. * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c, e-text/e-entry.c, e-text/e-entry.h, e-text/e-text-event-processor-emacs-like.c, e-text/e-text-event-processor-emacs-like.h, e-text/e-text-event-processor-types.h, e-text/e-text-event-processor.c, e-text/e-text-event-processor.h, e-text/e-text-model.c, e-text/e-text-model.h, e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to gal. i.e., ... changed evolution to work with gal. svn path=/trunk/; revision=5490
* Fixed some warnings.Christopher James Lahey2000-09-091-1/+5
| | | | | | | | | | 2000-09-08 Christopher James Lahey <clahey@helixcode.com> * cal-util/cal-recur.c, gui/e-day-view.c, gui/e-week-view.c, gui/event-editor.c, gui/getdate.y, gui/gncal-todo.c, gui/gnome-cal.c, gui/dialogs/task-editor.c: Fixed some warnings. svn path=/trunk/; revision=5264
* Fall equinox cleanup!Federico Mena Quintero2000-09-081-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-08 Federico Mena Quintero <federico@helixcode.com> Fall equinox cleanup! OK, I know the equinox is not here yet, but weather has changed enough to warrant it. Sigh. This place is definitely not the tropics. * gui/gnome-cal.c (obj_updated_cb): Renamed from gnome_calendar_object_updated_cb(); fixed prototype. (obj_removed_cb): Renamed from gnome_calendar_object_removed_cb(); fixed prototype. (GnomeCalendarPrivate): Moved all the GnomeCalendar fields to a private structure so I don't have to rebuild the whole calendar GUI directory every time something changes in the object. (GnomeCalendarPrivate): Removed the property bag and the control fields; they are local to the control-factory now. (gnome_calendar_update_view_buttons): Remove the ignore_view_button_clicks mess and just block the signal. (gnome_calendar_set_view): Added a "focus" argument to indicate whether we want the main widget in the specified view to grab the focus. (gnome_calendar_set_view_internal): Handle the focus argument here. (gnome_calendar_set_view_buttons): Temporary hack to notify the calendar about its buttons. (gnome_calendar_get_selected_time_range): New function. (gnome_calendar_get_cal_client): New function. * gui/control-factory.c (calendar_properties_init): Keep the property bag local to here; it does not need to be in the calendar object yet. (control_factory_fn): Renamed from control_factory(). Just use control_factory_new_control(). (control_factory_new_control): Moved the stuff over from create_control(), and keep the control local to here. Check the return value of bonobo_control_new(). * gui/calendar-commands.c (show_day_view_clicked): Remove the ignore_view_button_clicks mess. (new_calendar): Removed the useless "page" argument. (calendar_control_activate): Use gnome_calendar_set_view_buttons() for now. svn path=/trunk/; revision=5255
* 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
* uses the new TaskEditor dialog.Damon Chaplin2000-09-061-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-06 Damon Chaplin <damon@helixcode.com> * gui/e-calendar-table.c (e_calendar_table_open_task): uses the new TaskEditor dialog. * gui/dialogs/task-editor.[hc]: * gui/dialogs/task-editor-dialog.glade: updated. Still need to fix the 'Status' property (CalComponent doesn't support it yet), and use a replacement for GnomeDateEdit, since we need to support setting 'None' as the date. 2000-09-04 Damon Chaplin <damon@helixcode.com> * gui/event-editor.c (obj_updated_cb): (obj_removed_cb): compare the updated object's uid with the one we are editing, and just return if it doesn't match. 2000-09-01 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.c (gnome_calendar_tag_calendar): added check to see if the client has loaded successfully. Gets rid of a few warnings. svn path=/trunk/; revision=5217
* Added calendar/conduits/Makefile, calendar/conduits/calendar/Makefile andChristopher James Lahey2000-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-02 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added calendar/conduits/Makefile, calendar/conduits/calendar/Makefile and calendar/conduits/todo/Makefile to the list of makefiles to output. From calendar/ChangeLog: 2000-09-02 Christopher James Lahey <clahey@helixcode.com> * conduits/calendar/calendar-conduit.c, conduits/todo/todo-conduit.c, gui/e-week-view.c, gui/gnome-cal.c: Fixed some warnings. From mail/ChangeLog: 2000-09-01 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c: Removed a warning. svn path=/trunk/; revision=5179
* No need to spit a warning if removal fails. (event_editor_destroy): FreeFederico Mena Quintero2000-09-011-34/+37
| | | | | | | | | | | | | | | | | | | | | | | 2000-08-31 Federico Mena Quintero <federico@helixcode.com> * gui/event-editor.c (file_delete_cb): No need to spit a warning if removal fails. (event_editor_destroy): Free the exception clist data. Unref the calendar client here. (close_dialog): Just call gtk_object_destroy() on the event editor; the destroy handler will free everything else. * cal-client/cal-client.c (cal_client_object_exists): Removed function; this is not useful because we operate asynchronously. * gui/e-day-view.c (e_day_view_on_delete_appointment): No need to spit a warning if removal fails. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/calendar-model.c (calendar_model_delete_task): Likewise. svn path=/trunk/; revision=5155
* switched to using new ECalendar widget, and a few other fixes.Damon Chaplin2000-08-311-78/+285
| | | | | | | | | | | | | | 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
* Make sure the is_utc flag is always FALSE for icaltime_from_timetJP Rosevear2000-08-301-21/+19
| | | | | | | | | | | | 2000-08-30 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c: Make sure the is_utc flag is always FALSE for icaltime_from_timet (e_week_view_on_unrecur_appointment): Use icaltimetype struct from the stack and make sure tzid is always NULL (e_week_view_key_press): ditto svn path=/trunk/; revision=5112
* Now the views monitor the client by themselves; it does not make sense toFederico Mena Quintero2000-08-301-116/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use event_editor_set_event_objectJP Rosevear2000-08-301-2/+4
| | | | | | | | | | | | | | | | | | 2000-08-29 JP Rosevear <jpr@helixcode.com> * gui/gnome-cal.c (gnome_calendar_edit_object): Use event_editor_set_event_object * gui/event-editor.c (event_editor_set_event_object): Rename from event_editor_set_ical_object * gui/event-editor.h: Update prototype * gui/e-week-view.c (e_week_view_on_new_appointment): Call cal_component_commit_sequence after event changes. Default to these being all day events. svn path=/trunk/; revision=5097
* Properly append to listJP Rosevear2000-08-251-7/+6
| | | | | | | | | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * gui/gncal-todo.c (ok_button): Properly append to list * gui/event-editor.c (dialog_to_comp_object): ditto * gui/e-day-view.c (e_day_view_on_new_appointment): The base times are not UTC * gui/e-week-view.c (e_week_view_on_new_appointment): ditto svn path=/trunk/; revision=5031
* Update for libical 0.19JP Rosevear2000-08-251-10/+10
| | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * Update for libical 0.19 svn path=/trunk/; revision=5024
* Fixed some warnings.Christopher James Lahey2000-08-251-1/+6
| | | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * gui/calendar-commands.c, gui/e-day-view.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/prop.c: Fixed some warnings. svn path=/trunk/; revision=5009
* Do not alloc the struct icaltimetype but point to one on the stack. MoreJP Rosevear2000-08-251-4/+4
| | | | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_on_new_appointment): Do not alloc the struct icaltimetype but point to one on the stack. More importantly, set the date.tzid to NULL. svn path=/trunk/; revision=5007
* Set vtype of new CalComponent (e_week_view_on_new_appointment): dittoJP Rosevear2000-08-241-1/+3
| | | | | | | | | | | | 2000-08-23 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_key_press): Set vtype of new CalComponent (e_week_view_on_new_appointment): ditto * gui/e-day-view.c (e_day_view_on_new_appointment): ditto svn path=/trunk/; revision=4990
* Use CalObjTypeJP Rosevear2000-08-221-1/+1
| | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_reload_events): Use CalObjType * gui/e-day-view.c (e_day_view_reload_events): ditto svn path=/trunk/; revision=4904
* Update prototypesJP Rosevear2000-08-221-0/+1
| | | | | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.h: Update prototypes * gui/e-day-view.c (e_day_view_on_unrecur_appointment): Remove commented out portions. * gui/e-week-view.c (e_week_view_on_unrecur_appointment): Tidy. svn path=/trunk/; revision=4901
* Use CalComponent instead of iCalObject. Work around not having a compareJP Rosevear2000-08-211-103/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-20 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_update_event): Use CalComponent instead of iCalObject. Work around not having a compare dates routine for two CalComponents. (e_week_view_reload_events): Use revamped CalClient (e_week_view_reshape_event_span): Use CalComponent instead of iCalObject, #if some alarm stuff (e_week_view_update_event_cb): Use CalComponent instead of iCalObject (e_week_view_foreach_event_with_uid): ditto (e_week_view_remove_event_cb): ditto (e_week_view_free_events): ditto (e_week_view_add_event): ditto (e_week_view_on_editing_stopped): ditto (e_week_view_find_event_from_uid): ditto (e_week_view_key_press): ditto (e_week_view_show_popup_menu): ditto (e_week_view_on_new_appointment): ditto (e_week_view_on_edit_appointment): ditto (e_week_view_on_delete_occurrence): ditto (e_week_view_on_delete_appointment): ditto (e_week_view_on_unrecur_appointment): ditto * gui/e-week-view.h: Update prototypes. svn path=/trunk/; revision=4895
* Add mouse wheel scrolling support to the calendar day and week viewsAnders Carlsson2000-07-081-0/+14
| | | | svn path=/trunk/; revision=3971
* Sync - FedericoFederico Mena Quintero2000-06-231-6/+16
| | | | svn path=/trunk/; revision=3693
* Remove the usage of the "x" and "y" arguments.Christopher James Lahey2000-06-211-2/+3
| | | | | | | | | 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * gui/e-day-view.c, gui/e-week-view.c: Remove the usage of the "x" and "y" arguments. svn path=/trunk/; revision=3669
* tidied up dialog a bit, adding space etc.Damon Chaplin2000-06-201-3/+0
| | | | | | | | | | | 2000-06-19 Damon Chaplin <damon@helixcode.com> * gui/event-editor-dialog.glade: tidied up dialog a bit, adding space etc. * gui/e-week-view.c (e_week_view_reshape_events): removed debug msg. svn path=/trunk/; revision=3639
* added little buttons which are shown when there are more events than willDamon Chaplin2000-06-171-1/+104
| | | | | | | | | | | | | | | | | | | | * gui/e-week-view.c: added little buttons which are shown when there are more events than will fit in a day. Clicking on the button takes the user to the 1-Day view and shows the full day. * gui/e-day-view.c: * gui/e-week-view.c: set the "use_ellipsis" arg to TRUE for the EText items so we get tooltips automatically. Though we may want to use our own code to show tooltips so we can show the tips when the mouse is around the edges of the event box, and we may want to show the start and end times of the event in full. * gui/calendar-commands.c (calendar_control_activate): * gui/gnome-cal.h: added view_toolbar_buttons[] so we can access the radio buttons in the code easily. We need this if we want to jump to another view programmatically. svn path=/trunk/; revision=3605
* instead of returning a text representation, decode the text and return anSeth Alves2000-06-081-8/+5
| | | | | | | | | | | | | | | | | | | | | | * cal-client/cal-client.c (cal_client_get_object): instead of returning a text representation, decode the text and return an iCalObject. Also added CalClientGetStatus which indicates success or type of failure. * cal-util/calobj.c (ical_object_find_in_string): #ifed out ical_object_find_in_string since it is unused now. * cal-client/client-test.c (list_uids): track get_object change * gui/calendar-commands.c (calendar_iterate): same * gui/e-day-view.c (e_day_view_update_event): same * gui/e-week-view.c (e_week_view_update_event): same * gui/print.c (print_day_details): same (print_day_summary): same (print_todo_details): same * gui/gnome-cal.c (trigger_alarm_cb): same * gui/gncal-todo.c (gncal_todo_update): same svn path=/trunk/; revision=3463
* allow the right button to popup the menu, even when the event is beingDamon Chaplin2000-06-061-0/+4
| | | | | | | | | | | | | | | | | 2000-06-05 Damon Chaplin <damon@helixcode.com> * gui/e-week-view-event-item.c (e_week_view_event_item_button_press): allow the right button to popup the menu, even when the event is being edited. * gui/e-week-view.c: * gui/e-day-view.c: Set the keyboard focus to the EDayView/EWeekView when the right button is clicked, so that any event being edited is saved before any action (e.g. opening the Event Editor dialog) is started. Note that this won't work if we switch to asynchronous notification. svn path=/trunk/; revision=3427
* New function to call the print engine. (calendar_toolbar): Added the PrintFederico Mena Quintero2000-06-031-2/+5
| | | | | | | | | | | | | | | | | | | | | | 2000-06-02 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-commands.c (print): New function to call the print engine. (calendar_toolbar): Added the Print button. (calendar_control_activate): Added the File/Print item. * gui/e-day-view.c (e_day_view_get_selected_time_range): Allow start_time and end_time to be NULL. * gui/e-week-view.c (e_week_view_get_selected_time_range): Likewise. * gui/print.c (range_selector_new): Show the range selector widgets. Use the correct radio group for all of them! (print_calendar): Do the dialog box here. We may want to split this function later into smaller chunks. svn path=/trunk/; revision=3409
* Implemented. (gnome_calendar_add_object): Removed function, since it wasFederico Mena Quintero2000-06-021-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-02 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (save_ical_object_cb): Implemented. (gnome_calendar_add_object): Removed function, since it was identical to gnome_calendar_update_object(). Modified the rest of the code to use only the latter. (gnome_calendar_remove_object): Be more paranoid about the UID. (gnome_calendar_update_object): Ditto. Also, renamed this function from gnome_calendar_object_changed(), for consistency with the lower-level CalClient interface. * gui/event-editor.c (event_editor_class_init): New "save_ical_object" signal to ask that our parent store the calendar object to the backend. (save_ical_object): New function to save the calendar object, actually if just emits the signal. (file_save_cb): Implemented. (dialog_to_ical_object): We want priv-> alarm_program_run_program_entry (i.e. the entry inside the GnomeFileEntry), not the file entry itself. (dialog_to_ical_object): Only insert the recurrence ending date if the event is recurrent! svn path=/trunk/; revision=3380
* Added a hash table to map calendar objects to their respective eventFederico Mena Quintero2000-06-011-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-31 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.h (GnomeCalendar): Added a hash table to map calendar objects to their respective event editors. * gui/gnome-cal.c (gnome_calendar_init): Create the object_editor_hash. (gnome_calendar_destroy): Free the object_editor_hash. (gnome_calendar_edit_object): New function to centralize the launching of event editors; if one already exists for a particular calendar object, we just raise its window. (edit): Use gnome_calendar_edit_object(). * gui/calendar-commands.c (display_objedit): Use gnome_calendar_edit_object(). (display_objedit_today): Likewise. * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise. (e_day_view_on_edit_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_new_appointment): Likewise. (e_week_view_on_edit_appointment): Likewise. * gui/event-editor.c (event_editor_new): Do not take in an iCalObject; rather provide an event_editor_set_ical_object() function. We need this because a single editor may be switched between different calendar objects. Also, do not show the event editor; leave it up to the client code. (event_editor_construct): Likewise. (clear_widgets): New function to clear the widgets to default values. (fill_widgets): New function to fill in the widgets from the iCalObject. We don't do this in init_widgets() anymore. (free_exception_clist_data): New function to free the exceptions clist data. We were leaking the row data. (init_widgets): Hook to the destroy signal of the exceptions clist. (event_editor_set_ical_object): New function. Now it also makes a copy of the calendar object for the event editor; clients do not need to copy it anymore. (event_editor_destroy): Unref the UI handler as well. (event_editor_class_init): New "ical_object_released" signal to notify the parent that we are no longer editing the calendar object. (make_title_from_ico): Handle NULL objects. * gui/event-editor.h (EventEditor): Removed fields that are no longer used. svn path=/trunk/; revision=3317
* Flush - FedericoFederico Mena Quintero2000-05-301-4/+3
| | | | svn path=/trunk/; revision=3280
* new files to implement iCalendar recurrence rules. These are only partDamon Chaplin2000-05-201-19/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Removed unused arguments. Load the initial alarms here. (load_alarms): NewFederico Mena Quintero2000-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-11 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_update_all): Removed unused arguments. Load the initial alarms here. (load_alarms): New function to load a day's worth of alarms. (gnome_calendar_class_init): Eeeek! This was taking in an incorrect argument type. (gnome_calendar_init): Now the calendar keeps a hash table of UIDs->queued alarms. Create the hash table here. (gnome_calendar_destroy): Destroy the alarms hash table. (gnome_calendar_object_updated_cb): Remove the alarms for the object and regenerate them. (gnome_calendar_object_removed_cb): Remove the alarms for the object. * gui/alarm.c (alarm_add): Do not take in a CalendarAlarm, just the trigger time, the callback and the closure data. Return an opaque identifier for the alarm so that it can be removed by the client code if needed. Use the queue_alarm() helper function. (queue_alarm): Helper function to actually queue the alarm and set up the itimer. Deal with a nonzero return value from setitimer(). (alarm_remove): New function to remove an alarm based on its ID. (pop_alarm): New helper function; pops the first alarm of the queue and resets the timer as appropriate. (alarm_ready): Simplified a lot by using pop_alarm(). * idl/evolution-calendar.idl (Cal): Added get_alarms_in_range(). * pcs/cal.c (build_instance_seq): New function to build a CORBA sequence from the internal list of instances. (Cal_get_events_in_range): Use build_instance_seq(). (Cal_get_alarms_in_range): Implemented new method. * pcs/cal-backend.c (cal_backend_get_alarms_in_range): New function with the get_alarms_in_range() engine. * pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_in_range): Implemented the get_alarms_in_range() method. * cal-client/cal-client.c (cal_client_get_alarms_in_range): New client-side function for getting the alarms. (build_instance_list): New helper function to build the CalObjInstance list from the CORBA sequence. (cal_client_get_events_in_range): Use build_instance_list(). * gui/calendar-commands.h: #include <cal-util/calobj.h>. #include "gnome-cal.h". * gui/e-week-view.c: #include "calendar-commands.h" instead of main.h; the latter is an obsolete file and will be killed. * gui/evolution-calendar-control.c (main): Call init_bonobo() before anything else. We need the GTK+ object system initialized. * gui/Makefile.am (evolution_calendar_SOURCES): Do not use main.h. * cal-util/cal-util.c (cal_alarm_instance_list_free): New function. svn path=/trunk/; revision=2987
* don't set the ico->uid to NULL or we won't find any other occurrences ofDamon Chaplin2000-05-091-5/+5
| | | | | | | | | | | | | | | | | 2000-05-08 Damon Chaplin <damon@helixcode.com> * gui/e-week-view.c (e_week_view_remove_event_cb): * gui/e-day-view.c (e_day_view_remove_event_cb): don't set the ico->uid to NULL or we won't find any other occurrences of the event. Set the editing_event_day/num to -1 instead. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): fixed the positioning of the icons for long events. * cal-util/calobj.c (ical_object_normalize_summary): forgot to terminate the string. svn path=/trunk/; revision=2920
* finish editing event when user hits Return key.Damon Chaplin2000-05-071-32/+23
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-06 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: * gui/e-week-view.c: finish editing event when user hits Return key. (e_week_view_on_text_item_event): stop event signals after doing any other calls, since otherwise it will also stop any other resulting event signals. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't draw the start/end times while editing. * gui/eventedit.c: changed the Summary field to a GtkEntry, since we now only want a single line of text. * cal-util/calobj.c (ical_object_normalize_summary): new function to convert the summary field to a single line of text, by converting any sequence of CR & LF characters to a single space. (ical_object_create_from_vobject): call the above function. I think all functions that load iCalObjects go through this. (ical_new): called it here as well just in case. svn path=/trunk/; revision=2827
* added guint ref_count to iCalObject struct, and ical_object_ref/unref()Damon Chaplin2000-05-061-13/+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
* for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV.Damon Chaplin2000-05-051-5/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-04 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_foreach_event_with_uid): for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV. * gui/calendar-commands.c: when we switch views, grab the focus. * gui/gnome-cal.c (gnome_calendar_tag_calendar): (gnome_calendar_mark_gtk_calendar_day): changed this so it uses cal_client_get_events_in_range(), and doesn't load any objects. Also just return if it isn't visible. * gui/calendar-commands.c (calendar_get_events_in_range): call g_list_sort() to sort the list rather than g_list_insert_sorted() for each element. It is much more efficient. Also changed it so that the co->ev_start/end fields are copied from the CalObjInstance rather than the parameters to the function (that is right, isn't it?) Also freed the list elements, and finally the list. (calendar_iterate): changed this to use cal_client_get_events_in_range since that is more efficient than getting all the uids and then loading and parsing all the events. * pcs/cal-backend.c (save): output the '... saved' message before freeing the string! * gui/gncal-todo.c (gncal_todo_update): * gui/e-week-view.c (e_week_view_update_event): * gui/e-day-view.c (e_day_view_update_event): * gui/calendar-commands.c (calendar_get_events_in_range): (calendar_iterate): free obj_string after it is parsed. svn path=/trunk/; revision=2802
* set the active radio button here. Oops - it wasn't a Bonobo problem afterDamon Chaplin2000-05-031-16/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-02 Damon Chaplin <damon@helixcode.com> * gui/calendar-commands.c (calendar_control_activate): set the active radio button here. Oops - it wasn't a Bonobo problem after all. * gui/popup-menu.c (popup_menu): added call to e_auto_kill_popup_menu_on_hide() to destroy the menu. * gui/e-week-view.c (e_week_view_show_popup_menu): * gui/e-day-view.c (e_day_view_on_event_right_click): ico->user_data isn't useful any more, since the event editor keeps its own iCalObject. So for now we make the menu commands available even when the event is being edited in the event editor. Also corrected misspellings of 'occurance' -> 'occurrence'. * gui/eventedit.c (event_editor_destroy): destroy the iCalObject. The event editor now uses its own independent iCalObject. * gui/e-week-view.c (e_week_view_on_unrecur_appointment): * gui/e-day-view.c (e_day_view_on_unrecur_appointment): create a new uid for the new single instance. I'm not sure what we should do about the creation/last modification times of the objects. * gui/e-week-view.c (e_week_view_on_edit_appointment): * gui/e-day-view.c (e_day_view_on_edit_appointment): duplicate the iCalObject before passing it to the event editor, since it will change the fields. If we don't duplicate it we won't know what has changed when we get the "update_event" callback. * gui/e-week-view.c (e_week_view_key_press): * gui/e-day-view.c (e_day_view_key_press): set the created and last_mod times of the new iCalObject. We may want to set the default alarm as well. * cal-util/calobj.c (ical_gen_uid): made this function public so we can generate new uids if necessary. svn path=/trunk/; revision=2759
* new function to get the currently seleted time range form the currentDamon Chaplin2000-05-011-0/+23
| | | | | | | | | | | | | | | | | | | 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
* new function to see if the event dates have changed (including anyDamon Chaplin2000-05-011-78/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* allow for null icoSeth Alves2000-04-261-1/+1
| | | | | | | | * gui/e-day-view.c (e_day_view_update_event): allow for null ico * gui/e-week-view.c (e_week_view_update_event): allow for null ico svn path=/trunk/; revision=2605
* added new source files and pixmaps, and removed old source files, whichDamon Chaplin2000-04-241-0/+2265
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