aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/calendar-commands.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug #13723.Federico Mena Quintero2001-10-311-26/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-31 Federico Mena Quintero <federico@ximian.com> Fix bug #13723. * gui/gnome-cal.h (GnomeCalendarClass): New signals "calendar_focus_change", "taskpad_focus_change", and "taskpad_selection_changed". Renamed "selection_changed" to "calendar_selection_changed". * gui/gnome-cal.c (gnome_calendar_get_num_tasks_selected): New function. (setup_widgets): Connect to the focus event signals of the task pad and the calendar view widgets. (gnome_calendar_delete_selection): Renamed from gnome_calendar_delete_event(). (gnome_calendar_cut_clipboard): Handle the current focus location. (gnome_calendar_copy_clipboard): Likewise. (gnome_calendar_paste_clipboard): Likewise. (gnome_calendar_delete_selection): Likewise. (table_selection_change_cb): New callback. * gui/calendar-commands.c (sensitize_calendar_commands): Take in whether we should unconditionally disable everything. (sensitize_taskpad_commands): Analogous function to the above. (gcal_calendar_focus_change_cb): New callback, used for calendar views. (gcal_taskpad_focus_change_cb): New callback, used for the taskpad. * gui/e-day-view.c (e_day_view_key_press): Use a better test for keys that should start editing. Fixes bug #6447. * gui/e-week-view.c (e_week_view_key_press): Likewise. svn path=/trunk/; revision=14528
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* Update pixmap menu paths; /menu/ComponentToolsPlaceholder/Tools ->Ettore Perazzoli2001-09-281-3/+3
| | | | | | | | | * gui/calendar-commands.c (pixmaps): Update pixmap menu paths; /menu/ComponentToolsPlaceholder/Tools -> /menu/Tools/ComponentPlaceholder . * gui/tasks-control.c: Likewise. svn path=/trunk/; revision=13204
* added comparison functions for these special cell types. But the date andDamon Chaplin2001-09-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-26 Damon Chaplin <damon@ximian.com> * gui/e-calendar-table.c (date_compare_cb): (percent_compare_cb): (priority_compare_cb): added comparison functions for these special cell types. But the date and percent ones don't work yet due to the use of static text buffers for return cell values. (e_calendar_table_init): added the comparison functions to the ETableExtras. NOTE: task_compare_cb() never seems to be called. I'm not sure why it is there. * gui/e-calendar-table.etspec: set the comparison function names for the date/percent/priority fields. * cal-util/cal-util.c (cal_util_priority_to_string): (cal_util_priority_from_string): new utility functions. * gui/calendar-model.c (get_priority): (set_priority): used above utility functions, and removed the warning dialog which isn't useful now that the field isn't editable. * gui/dialogs/event-page.c (times_updated): handle timezones and for all-day events make sure it stays an all-day event after adjusting. Fixes bugs #5945 and #10222. * gui/calendar-commands.c (pixmaps): fixed the E_PIXMAP paths - the edit items were moved beneath 'EditPlaceholder'. This gets rid of those long Bonobo warnings! (and we get the icons back) * gui/dialogs/comp-editor.c (pixmaps): removed the PrintPreview toolbar icon, since it doesn't appear in the xml file. Gets rid of warning. * gui/dialogs/event-page.c (notify_dates_changed): new function to emit the notification signal when the dates are changed. It also handles timezones now. * gui/dialogs/comp-editor-page.h (CompEditorPageDates): used CalComponentDateTime for start/end/due so we have the timezone as well as the time. * gui/dialogs/comp-editor-util.c (comp_editor_dates): updated to get the timezones as well as the times. (comp_editor_free_dates): new function needed to free all the structs. * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): added call to preview_recur() to make sure the preview gets updated. * gui/dialogs/alarm-page.c (alarm_page_fill_widgets): free the CompEditorPageDates struct after use. * gui/tag-calendar.c (tag_calendar_by_comp): added 'comp_is_on_server' argument. If FALSE, we try to use builtin timezones first. This is needed for the recurrence page of the event editor, because the timezones may not have been added to the server yet. This and the changes to the notification stuff should fix bug #5034. * gui/gnome-cal.c (dn_query_obj_updated_cb): call above tag_calendar_by_comp() with TRUE since the events will be on the server in this case. * gui/e-day-view-layout.c: * gui/e-day-view.c: made sure an event always takes up at least one row, even when the start & end times are the same. Fixes bug #5944. I don't know if we should try to also handle events with the end time before the start time. * gui/e-week-view.c (e_week_view_style_set): check that the small font is actually smaller than the normal font. If it isn't, don't use it. Hopefully fixes bug #6876. (e_week_view_on_new_appointment): if only one day is selected, then we set the initial time of the event to 1/2-hour from the start of the working day, to differentiate 'New Appointment' from 'New All Day Event'. Fixes bug #8892. * gui/e-day-view.c (e_day_view_on_new_appointment): do the same as the above. svn path=/trunk/; revision=13186
* gets a config db (cal_backend_file_destroy): release config dbJP Rosevear2001-09-211-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-20 JP Rosevear <jpr@ximian.com> * pcs/cal-backend-file.c (load_db): gets a config db (cal_backend_file_destroy): release config db (cal_backend_file_init): use load_db (mail_account_get): gets a mail account by number (mail_account_get_default): gets the default mail account (mail_account_is_valid): looks to see if any accounts have the given address (create_user_free_busy): modularize so we can call multiple times if necessary, set organizer (cal_backend_file_get_free_busy): if the list of users is null, use the default account otherwise get the same info for each address that is an identity in the mailer * gui/itip-utils.c (itip_addresses_get): s/gint/glong/ for bonobo conf returns * gui/calendar-commands.c (publish_freebusy_cmd): fix problems from a merge so that we publish 6 weeks of free/busy information again svn path=/trunk/; revision=13015
* remove silly debug #if 0JP Rosevear2001-09-191-1/+1
| | | | | | | | | | | | | | | 2001-09-19 JP Rosevear <jpr@ximian.com> * gui/e-meeting-model.c (e_meeting_model_refresh_busy_periods): remove silly debug #if 0 * gui/calendar-commands.c (publish_freebusy_cmd): g_list_free rather than g_free * gui/e-itip-control.c (write_html): eliminate code path that caused double freed memory svn path=/trunk/; revision=12972
* new class for managing multiple calendars, with an API very similar to theRodrigo Moya2001-09-191-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-18 Rodrigo Moya <rodrigo@ximian.com> * cal-client/cal-client-multi.[ch]: new class for managing multiple calendars, with an API very similar to the CalClient one, for ease of transition from one to the other * gui/component-factory.c (xfer_folder, remove_folder, create_folder): reworked to be able to manage folders for any calendar backend, and not only the file: one 2001-09-18 Rodrigo Moya <rodrigo@ximian.com> * idl/evolution-calendar.idl: changed signature for the getFreeBusy method, to return a sequence of CalObj's, and added sequence of users as a new parameter to that method * cal-client/cal-client.c (cal_client_get_free_busy): adapted to new IDL method signature, by adding a new "GList *users" parameter, for callers to be able to specify a list of users * pcs/cal-backend.[ch] (cal_backend_get_free_busy): * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): add the "GList *users" parameter. In cal_backend_file_get_free_busy, call lookup_component to get the CalComponent for each uid, instead of calling cal_backend_get_object, which meant converting the component to a string and then parsing it again. * cal-client/client-test.c (cal_opened_cb): * gui/e-itip-control.c (send_freebusy): * gui/calendar-commands.c (publish_freebusy_cmd): adapted to new getFreeBusy method signature svn path=/trunk/; revision=12951
* added a timeout to refresh the list every 10 minutes. Not ideal, as theDamon Chaplin2001-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-17 Damon Chaplin <damon@ximian.com> * gui/calendar-model.c: added a timeout to refresh the list every 10 minutes. Not ideal, as the user may be editing a task when it gets refreshed. (adjust_query_sexp): use the 'completed-before?' operator to filter out tasks according to the config settings. * gui/dialogs/task-details-page.c (task_details_page_fill_widgets): added support for the 'Completed' date. This code must have got lost somewhere, as it used to work. (date_changed_cb): set the priv->updating flag while updating the other widgets. * pcs/cal-backend-file.c (cal_backend_file_update_objects): made sure we freed the components. * pcs/query.c (func_completed_before): added 'completed-before?' operator. * gui/calendar-config.c (calendar_config_configure_e_cell_date_edit): don't set the lower & upper hour. Use 0-24 like the EDateEdit does. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): set the 12/24-hour time format options sensitive only if we support both. * gui/calendar-config.c (config_read): if the locale doesn't define 'am' and 'pm' strings then we must use 24-hour format. * gui/calendar-commands.c (calendar_set_folder_bar_label): don't translate the '%d' as it doesn't make much sense. Resolves bug #8027. svn path=/trunk/; revision=12925
* send 6 weeks of free busy info starting with the UTC start of dayJP Rosevear2001-09-131-3/+7
| | | | | | | | | | | | | | | | 2001-09-12 JP Rosevear <jpr@ximian.com> * gui/calendar-commands.c (publish_freebusy_cmd): send 6 weeks of free busy info starting with the UTC start of day * gui/itip-utils.c (get_label): create a text representation of the given icaltime (itip_send_comp): if the summary is empty, set the subject based on the type of component, put the right extension on free/busy components and base descriptions on type of component, include start/end for free/busy info svn path=/trunk/; revision=12775
* don't call calendar_config_check_timezone_set() now, since the startupDamon Chaplin2001-09-041-1/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-03 Damon Chaplin <damon@ximian.com> * gui/calendar-commands.c (calendar_control_activate): * gui/tasks-control.c (tasks_control_activate): don't call calendar_config_check_timezone_set() now, since the startup wizard handles that. * gui/e-tasks.c (e_tasks_class_init): changed selection_changed signal to GTK_RUN_LAST. It has no reason to be GTK_RUN_FIRST. * gui/gnome-cal.c: * gui/e-week-view.c: * gui/e-day-view.c: added "selection_changed" signal, XX_delete_event() and XX_get_num_events_selected(). * gui/e-day-view-top-item.c (e_day_view_top_item_draw): fix the shadow around the dates at the top - it was 1 pixel off. * gui/calendar-commands.c: added sensitize_commands(), similar to in tasks-control.c, so we only make Cut/Copy/Delete sensitive when an event is selected. Also added delete_event_cmd(). * gui/dialogs/task-page.c (task_page_set_summary): * gui/dialogs/event-page.c (event_page_set_summary): do nothing, since the summary only gets changed on the main event/task page now. Fixes bug #6939. * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received): (e_day_view_on_top_canvas_drag_data_received): check that we are dragging an event from the same EDayView. We currently don't support DnD from other widgets. (e_day_view_update_top_canvas_drag): only get the summary if we actually have an event. Fixes bug #5162. * gui/e-day-view.c (e_day_view_on_editing_stopped): if the text hasn't changed we need to call e_day_view_update_event_label() to show the times again if necessary. Fixes bug #1813. * gui/dialogs/comp-editor.c (comp_editor_destroy): destroy the CompEditorPage objects here rather than in close_dialog(), after the widgets have been destroyed. We do this because the widgets have lots of signal handlers connected with the CompEditorPage objects as the signal data, so we want to ensure that the data pointer is always valid. (Alternatively we could disconnect all the handlers when the CompEditorPage objects are destroyed, or use connect_while_alive()). Fixes bug #7543. Note: there is still a small bug in that if you type in a time and then hit 'Save and Close', the time won't be saved. I'm not sure where this should be fixed - should the actions which close the dialog grab the focus to the toplevel, so any widgets currently being edited finish the edit and emit 'changed'? * gui/dialogs/recurrence-page.c (append_exception): use gtk_clist_set_row_data_full() so freeing is handled automatically by the GtkClist. This helps avoid problems at destroy-time. (exception_delete_cb): just call gtk_clist_remove() now. No need to free the row data as GtkCList now handles it. (recurrence_page_destroy): no need to free the data in the clist. * gui/dialogs/alarm-page.c: ditto. * gui/dialogs/meeting-page.c: ditto. (etable_destroy_cb): save the ETable state in this new handler cb rather than in the destroy method, since the widget will already be destroyed by then. svn path=/trunk/; revision=12575
* used new_task-16.png and goto-16.png.Damon Chaplin2001-08-201-2/+3
| | | | | | | | | | 2001-08-20 Damon Chaplin <damon@ximian.com> * gui/tasks-control.c: * gui/calendar-commands.c (pixmaps): used new_task-16.png and goto-16.png. svn path=/trunk/; revision=12275
* added delete icons for menu and toolbar.Damon Chaplin2001-08-201-0/+2
| | | | | | | | | 2001-08-20 Damon Chaplin <damon@ximian.com> * gui/calendar-commands.c (pixmaps): added delete icons for menu and toolbar. svn path=/trunk/; revision=12263
* used new Save/Save As icons.Damon Chaplin2001-08-191-1/+4
| | | | | | | | | | | | 2001-08-18 Damon Chaplin <damon@ximian.com> * gui/dialogs/comp-editor.c (pixmaps): used new Save/Save As icons. * gui/tasks-control.c: * gui/calendar-commands.c (pixmaps): added new Cut/Copy/Paste icons, and changed the 'New Task' icon to use the bigger one I made. svn path=/trunk/; revision=12214
* new function to open the task editor to add a new task.Damon Chaplin2001-08-181-0/+17
| | | | | | | | | | | | | | | | | 2001-08-17 Damon Chaplin <damon@ximian.com> * gui/gnome-cal.c (gnome_calendar_new_task): new function to open the task editor to add a new task. * gui/calendar-commands.c: added new_task_cb() to create a new task in the calendar folder, and added menu commands for it, and a toolbar button (I think that is what Ettore wanted. Maybe he just meant menu commands. Anyway, it is easy to take out.) Note that we don't have a decent icon for 'New Task' for the toolbar. Also added the new Goto button (but we don't have a similar one for the menu command). svn path=/trunk/; revision=12195
* Added Tigert's new icons for Prev and Next.Federico Mena Quintero2001-08-151-0/+2
| | | | | | | | | 2001-08-14 Federico Mena Quintero <federico@ximian.com> * gui/calendar-commands.c (pixmaps): Added Tigert's new icons for Prev and Next. svn path=/trunk/; revision=12027
* Update the paths of the Tools menu according to the changes in the XMLEttore Perazzoli2001-08-121-12/+12
| | | | | | | | | | * gui/tasks-control.c: Update the paths of the Tools menu according to the changes in the XML [i.e. things are moved to the ComponentToolsPlaceholder]. * gui/calendar-commands.c: Likewise. svn path=/trunk/; revision=11923
* added new backend method to get the component given a UID.Damon Chaplin2001-08-101-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-09 Damon Chaplin <damon@ximian.com> * pcs/cal-backend.c (cal_backend_get_object_component): added new backend method to get the component given a UID. * pcs/cal-backend-file.c (cal_backend_file_get_object_component): added implementation of above virtual method. * pcs/query.c (match_component): use the new backend function to get the CalComponent rather than the string. This avoids converting all the calendar components to strings and parsing them back into components for every query! (That wasn't a good idea, was it ;) * gui/e-week-view.c: * gui/e-day-view.c: use a timeout handler to layout the events, to avoid doing a layout for each event we get from a query. * gui/print.c (print_day_add_event): * gui/e-day-view.c (e_day_view_add_event): set start_row_or_col and num_columns to 0. They are guint8's. * gui/e-week-view.c (e_week_view_free_events): hide all the jump buttons. Fixes bug #5946. * gui/calendar-commands.c (calendar_set_folder_bar_label): added the day numbers for the month view. * gui/dialogs/recurrence-page.glade: changed "_Delete" to "_Remove", since it clashed with "_Add". Also added underlined accelerators for the recurrence radio buttons. Note that none of these accelerators actually work at present, due to the way we are using .glade files for each notebook page. I need to add a bug about this. Also, the "_Action" menu doesn't popup when I press Alt+A, even though the "_File" menu does popup when I press Alt+F. Strange. * pcs/cal-backend-file.c (cal_backend_file_get_timezone_object): removed debug msgs. svn path=/trunk/; revision=11866
* added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, toDamon Chaplin2001-08-071-33/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New function; stops further notification from happening. This is neededFederico Mena Quintero2001-08-041-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-03 Federico Mena Quintero <federico@ximian.com> * cal-client/query-listener.c (query_listener_stop_notification): New function; stops further notification from happening. This is needed since the listener is destroyed asynchronously from the Wombat and the corresponding CalQuery may already have died. (impl_notifyObjUpdated): Do not notify if requested. (impl_notifyObjRemoved): Likewise. (impl_notifyQueryDone): Likewise. (impl_notifyEvalError): Likewise. * cal-client/cal-query.c (cal_query_destroy): Use query_listener_stop_notification(). * cal-client/cal-listener.c (cal_listener_destroy): Nullify the pointers to the callback functions. * gui/e-day-view.c (update_query): Commit our state of no longer having a query before unrefing it. We may reenter from the ORBit main loop and we *really* want this information to be committed. * gui/e-week-view.c (update_query): Likewise. * gui/calendar-model.c (update_query): Likewise. * gui/tag-calendar.c (tag_calendar_by_comp): Added a "clear_first" argument that indicates whether the ECalendar should be cleared of any marks first. * gui/calendar-commands.c (calendar_control_activate): Removed ifdefed-out view buttons code from the Gnomecal days. * gui/gnome-cal.c (client_categories_changed_cb): Merge the categories of the calendar and tasks clients so that we can display the categories in both sets. (gnome_calendar_construct): Connect to "categories_changed" on both clients. (gnome_calendar_on_date_navigator_selection_changed): Removed call to gnome_calendar_update_view_buttons(). (gnome_calendar_update_view_buttons): Removed. We cannot have this until Bonobo supports radio toolbar items. (gnome_calendar_set_view_buttons): Removed. (gnome_calendar_dayjump): Do not use priv->day_button. (GnomeCalendarPrivate): Removed the {day,work_week,week,month}_button fields. (gnome_calendar_set_query): Start a retagging process of the date navigator so that it reflects the current query. (update_query): New function to restart a query for the date navigator. (initial_load): Use update_query() instead of tagging the date navigator directly. (gnome_calendar_on_date_navigator_date_range_changed): Likewise. (client_cal_opened_cb): Use update_query() instead of initial_load(). (initial_load): Removed. (client_obj_updated_cb): Removed. (client_obj_removed_cb): Removed. (gnome_calendar_new_appointment_for): Set the default category of the new component. (search_bar_category_changed_cb): Set the default category for the calendar views. * gui/cal-search-bar.c (cal_search_bar_set_categories): Sort the categories before creating the menu. * gui/e-day-view.c (adjust_query_sexp): Return NULL instead of "#f" if the time range is not set yet. (update_query): Do not start a query if the time range is not set. (e_day_view_set_default_category): New function. (e_day_view_key_press): Set the default category on the new component. * gui/e-week-view.c (adjust_query_sexp): Analogous to the above. (update_query): Analogous to the above. (e_week_view_set_default_category): Analogous to the above. (e_week_view_key_press): Analogous to the above. svn path=/trunk/; revision=11646
* Sync from OLS - FedericoFederico Mena Quintero2001-08-011-2/+2
| | | | svn path=/trunk/; revision=11514
* started some code to show the currently displayed dates in the folderDamon Chaplin2001-07-311-3/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-30 Damon Chaplin <damon@ximian.com> * gui/gnome-cal.c: * gui/calendar-commands.c (clear_folder_bar_label): started some code to show the currently displayed dates in the folder title bar. Unfinished. * gui/e-itip-control.c (set_date_label): * conduits/todo/todo-conduit.c (local_record_from_comp): * conduits/calendar/calendar-conduit.c (local_record_from_comp): free the CalComponentDateTimes. (Note the iTIP control needs updating for timezone support.) * cal-util/cal-component.c: Changed CalComponentDateTime so that the TZID is malloc'ed and freed rather than being a pointer to a static string. This was causing problems as sometimes we were freeing the string that was being pointed to, so we got corrupted TZIDs. * gui/comp-util.c (cal_comp_util_add_exdate): set TZID to NULL. DATE values do not have timezones. * gui/e-week-view.c: * gui/e-day-view.c: Moved 'Paste' after the New Appointment commands, since I think they are more commonly-used. Also added underlined accelerator keys. * gui/e-calendar-table.c: changed 'Edit this task' to 'Open' in the popup menu to be consistent with other folders, and separated from the clipboard commands. Also changed to use EPopupMenu so the accelerators work, and the masks may be useful at some point. * gui/dialogs/recurrence-page.c: use DATE values for UNTIL, since that makes it simpler. Fixes bug #5034. * gui/calendar-config.c (calendar_config_set_timezone): strdup the location string. Fixes bug #4990. * gui/tag-calendar.c (tag_calendar_cb): take 1 off iend as the times don't include the end time. * gui/e-week-view-layout.c (e_week_view_layout_event): fixed days_shown. Fixes bug #5709. * cal-client/cal-client.c (cal_client_get_timezone): took out some debugging messages. svn path=/trunk/; revision=11494
* New files with a derivative of ESearchBar that generates sexps forFederico Mena Quintero2001-07-281-110/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-27 Federico Mena Quintero <federico@ximian.com> * gui/cal-search-bar.[ch]: New files with a derivative of ESearchBar that generates sexps for calendar queries directly. * gui/gnome-cal.c (setup_widgets): Use CalSearchBar instead of ESearchBar. * gui/e-calendar-table.h (ECalendarTable): Removed the ->colors array since it is handled by ETableExtras now. * gui/e-calendar-table.[ch]: Removed the subset_model. Now we use the live query facility to filter tasks. Removed the filter function stuff as well. * gui/e-tasks.c (e_tasks_construct): Use calendar_model_set_cal_client() directly instead of e_calendar_table_set_model(). (setup_widgets): Create a calendar search bar for the tasks component. (search_bar_sexp_changed_cb): Set the query sexp on the table model. (e_tasks_on_filter_selected): Regenerate the query from the selected category and the current sexp. (update_query): New convenience function to recompute the real query sexp. * gui/gnome-cal.c (gnome_calendar_construct): Likewise. * gui/e-calendar-table.c (e_calendar_table_set_cal_client): Removed function; people are now supposed to get the model from the calendar table and operate on it. * gui/calendar-commands.c (verbs): Consistency fixes with the XML file. (pixmaps): Likewise. * gui/Makefile.am (evolution_calendar_SOURCES): Added cal-search-bar.[ch] to the list of sources. 2001-07-20 Federico Mena Quintero <federico@ximian.com> * idl/evolution-calendar.idl (CompEditorFactory): New interface to a centralized factory for calendar component editors. Has editExisting() and editNew() methods to edit an existing component from a URI/UID pair, and to create a new component in a calendar that is in a particular URI, respectively. * gui/comp-editor-factory.[ch]: Implementation files for the component editor factory. * gui/GNOME_Evolution_Calendar.oaf.in: Added the CompEditorFactory stuff. * gui/Makefile.am (evolution_calendar_SOURCES): Added comp-editor-factory.[ch] to the list of sources. svn path=/trunk/; revision=11455
* updated to use new print icon.Damon Chaplin2001-07-201-0/+1
| | | | | | | | | 2001-07-19 Damon Chaplin <damon@ximian.com> * gui/dialogs/comp-editor.c (pixmaps): * gui/calendar-commands.c (pixmaps): updated to use new print icon. svn path=/trunk/; revision=11244
* New function. (calendar_control_activate): Clear the folder bar label; weFederico Mena Quintero2001-07-051-0/+51
| | | | | | | | | | 2001-07-04 Federico Mena Quintero <federico@ximian.com> * gui/calendar-commands.c (clear_folder_bar_label): New function. (calendar_control_activate): Clear the folder bar label; we really don't have anything interesting to display. svn path=/trunk/; revision=10782
* publish free/busy information for the currently viewed time rangeJP Rosevear2001-07-031-0/+22
| | | | | | | | | 2001-07-02 JP Rosevear <jpr@ximian.com> * gui/calendar-commands.c (publish_freebusy_cmd): publish free/busy information for the currently viewed time range svn path=/trunk/; revision=10723
* Fixes bug #1406.Federico Mena Quintero2001-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-30 Federico Mena Quintero <federico@ximian.com> Fixes bug #1406. * gui/calendar-config.c (config_read): Handle the options for the task list colors. (calendar_config_write): Ditto. (calendar_config_get_tasks_due_today_color): New function. (calendar_config_set_tasks_due_today_color): New function. (calendar_config_get_tasks_overdue_color): New function. (calendar_config_set_tasks_overdue_color): New function. (calendar_config_configure_e_calendar_table): Use e_table_model_changed() for the colors. * gui/dialogs/cal-prefs-dialog.glade: Updated the options for the task list and alarms. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): Update the task list settings. (cal_prefs_dialog_update_config): Ditto. * gui/calendar-model.c (get_color): Deal with tasks for today as well as overdue tasks. Make it cleaner, even though we have to duplicate a chunk of is_overdue(). * gui/calendar-commands.c (preferences_cmd): Renamed from properties_cmd(). svn path=/trunk/; revision=10648
* removed not-uses-anymore parameter in call toRodrigo Moya2001-06-281-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-28 Rodrigo Moya <rodrigo@ximian.com> * gui/component-factory.c: removed not-uses-anymore parameter in call to evolution_shell_component_new * gui/gnome-cal.[ch] (gnome_calendar_cut_clipboard), (gnome_calendar_copy_clipboard), (gnome_calendar_paste_clipboard): new functions for allowing execution of clipboard-related commands * gui/e-day-view.[ch] (e_day_view_cut_clipboard), (e_day_view_copy_clipboard), (e_day_view_paste_clipboard): ditto * gui/e-week-view.[ch] (e_week_view_cut_clipboard), (e_week_view_copy_clipboard), (e_week_view_paste_clipboard): ditto 2001-06-27 Rodrigo Moya <rodrigo@ximian.com> * gui/calendar-commands.c (cut_event_cmd), (copy_event_cmd), (paste_event_cmd): added callbacks for the new clipboard-related menu entries svn path=/trunk/; revision=10557
* New function to compare tasks like the Pilot task list.Federico Mena Quintero2001-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 2001-06-23 Federico Mena Quintero <federico@ximian.com> * gui/e-calendar-table.c (task_compare_cb): New function to compare tasks like the Pilot task list. * cal-util/cal-component.h (CalComponentField): Added a semi-hackish CAL_COMPONENT_FIELD_COMPONENT. In the ETable model, it is intended to return a pointer to the component itself. * gui/calendar-model.c (calendar_model_value_at): Return the component itself for CAL_COMPONENT_FIELD_COMPONENT. Be more paranoid about invalid columns. (calendar_model_set_value_at): Be more paranoid about invalid columns. (calendar_model_duplicate_value): Ref the component field. (calendar_model_initialize_value): Deal with the component field. (calendar_model_value_is_empty): Likewise. (calendar_model_value_to_string): Likewise. svn path=/trunk/; revision=10447
* 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
* moved the function to check for a default timezone to calendar-config.c,Damon Chaplin2001-06-201-1/+3
| | | | | | | | | | | | | | | 2001-06-20 Damon Chaplin <damon@ximian.com> * gui/calendar-config.[hc]: * gui/gnome-cal.[hc]: * gui/tasks-control.c (tasks_control_activate): * gui/calendar-commands.c (calendar_control_activate): moved the function to check for a default timezone to calendar-config.c, and also used it in the tasks control. * gui/dialogs/e-timezone-dialog.h: #include <gtk/gtkwidget.h> fix. svn path=/trunk/; revision=10325
* added code to show the timezone dialog if the user hasn't set a defaultDamon Chaplin2001-06-201-0/+2
| | | | | | | | | | | | | | 2001-06-20 Damon Chaplin <damon@ximian.com> * gui/calendar-commands.c (calendar_control_activate): * gui/gnome-cal.[hc]: added code to show the timezone dialog if the user hasn't set a default timezone yet. * gui/dialogs/e-timezone-dialog.c (e_timezone_dialog_add_timezones): set the "None" item string before adding it to the combo, to stop the combo putting "None" in the entry initially. svn path=/trunk/; revision=10324
* Sync - FedericoFederico Mena Quintero2001-06-201-19/+30
| | | | svn path=/trunk/; revision=10293
* #include "evolution-shell-component-utils.h" rather than "e-gui-utils.h"Dan Winship2001-05-281-1/+1
| | | | | | | | | | * gui/calendar-commands.c: #include "evolution-shell-component-utils.h" rather than "e-gui-utils.h" for e_pixmaps_update. * gui/tasks-control.c: Likewise. svn path=/trunk/; revision=10021
* New function to restart a query for the day view. (query_obj_updated_cb):Federico Mena Quintero2001-04-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-12 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (update_query): New function to restart a query for the day view. (query_obj_updated_cb): Renamed from obj_updated_cb(); updated for queries instead of calendar clients. (query_obj_removed_cb): Likewise. (cal_opened_cb): Just update_query() instead of queueing reloading all the events. (e_day_view_set_cal_client): Likewise. (e_day_view_set_query): Likewise. (e_day_view_set_selected_time_range): Likewise. (e_day_view_set_days_shown): Likewise. (e_day_view_recalc_work_week): Likewise. (e_day_view_queue_reload_events): Removed function now that events are updated entirely by the query. (e_day_view_reload_events_idle_cb): Likewise. (e_day_view_reload_events): Likewise. (e_day_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW. * gui/e-week-view.c: Analogous changes to the ones in e-day-view.c. (e_week_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW. * cal-util/timeutil.c (isodate_from_time_t): Return a g_strdup()ed version of the string instead of a pointer to a static buffer. (time_from_isodate): Resurrected function. Polished up to our current standards of paranoia. * pcs/query.c (func_time_now): New function (time-now). (func_make_time): New function (make-time ISODATE). (func_time_add_day): New function (time-add-day TIME N). (func_time_day_begin): New function (time-day-begin TIME). (func_time_day_end): New function (time-day-end TIME). (func_occur_in_time_range): Use time_t values instead of ints. (match_component): Free the stringized component. Free the ESexp result value. * gui/e-day-view.h: Removed a couple of unused prototypes. * pcs/query.c (query_destroy): Oops, disconnect from the backend. * pcs/cal.c (Cal_get_query): Duplicate the query reference before we return it. * gui/calendar-commands.c (pixmaps): Fixed paths to image files. svn path=/trunk/; revision=9266
* Here goes my additional simple include fixes.Gediminas Paulauskas2001-04-051-1/+1
| | | | svn path=/trunk/; revision=9191
* Fix headers. Same here. Same here. Same here. Same here. Same here. SameKjartan Maraas2001-04-051-0/+2
| | | | | | | | | | | | | | | | | | | | | 2001-04-04 Kjartan Maraas <kmaraas@gnome.org> * gui/calendar-commands.c: Fix headers. * gui/calendar-config.c: Same here. * gui/calendar-model.c: Same here. * gui/e-day-view-time-item.c: Same here. * gui/e-day-view-top-item.c: Same here. * gui/e-day-view.c: Same here. * gui/e-meeting-edit.c: Same here. * gui/e-week-view-main-item.c: Same here. * gui/e-week-view.c: Same here. * gui/event-editor.c: Same here. * gui/gnome-cal.c: Same here. * gui/goto.c: Same here. * gui/main.c: Same her. * gui/print.c: Same here. svn path=/trunk/; revision=9180
* Blessed by Ettore.Gediminas Paulauskas2001-04-021-37/+25
| | | | | | | | | | | | | | Guided by Jacub Stener's mail, where he explaned which icons were renamed or added, I added a bunch of new icons to menus, fixed renamed ones. Changed Trash and Executive summary folder type icons. Fixed art/Makefile.am for these changes. Also, pulled icon cache from mailer and moved it to e-util/e-gui-utils.h, made all components and dialogs use cache and not load pixmaps every time. Accidentally got a couple of includes fix in, but they won't break anything. svn path=/trunk/; revision=9092
* Replace includes of <gnome.h>, <bonobo.h> and <gtk/gtk.h> with the neededKjartan Maraas2001-03-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-26 Kjartan Maraas <kmaraas@gnome.org> * cal-client/client-test.c: Replace includes of <gnome.h>, <bonobo.h> and <gtk/gtk.h> with the needed headers to speed up compile. * cal-util/test-recur.c: Same here for <gtk/gtk.h> * gui/calendar-commands.c: Replace <bonobo.h> and remove <libgnorba/gnorba.h> * gui/calendar-summary.c: Replace <gnome.h> and <bonobo.h> * gui/calendar-summary.h: Added <bonobo/bonobo-generic-factory.h> * gui/component-factory.c: Remove <bonobo.h> * gui/control-factory.c: Replace <bonobo.h> * gui/e-calendar-table.c: Remove <gnome.h> * gui/e-itip-control.c: Replace <gnome.h> and <bonobo.h> * gui/e-meeting-edit.c: Replace <bonobo.h> * gui/e-tasks.c: Replace <gnome.h> * gui/e-tasks.h: Replace <bonobo.h> * gui/gnome-cal.h: Remove <bonobo.h> * gui/main.c: Replace <bonobo.h> and <glade/glade.h> * gui/tasks-control-factory.c: Replace <bonobo.h> * gui/tasks-control.c: Replace <gnome.h> and <bonobo.h> * gui/weekday-picker.c: Add <string.h> and <libgnome/gnome-defs.h> * gui/alarm-notify/client-main.c: Remove <gnome.h> and <bonobo.h> * gui/alarm-notify/notify-main.c: Replace <gnome.h> and <bonobo.h> * gui/dialogs/alarm-notify-dialog.c: Replace <gnome.h> * pcs/cal-backend.c: Replace <gtk/gtk.h> svn path=/trunk/; revision=8937
* The model_rows_{inserted,deleted} signals changed names; deal with it.Federico Mena Quintero2001-03-251-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-25 Federico Mena Quintero <federico@ximian.com> * gui/e-calendar-table.c (e_calendar_table_init): The model_rows_{inserted,deleted} signals changed names; deal with it. (e_calendar_table_on_rows_inserted): Updated for new ETable API. (e_calendar_table_on_rows_deleted): Likewise. * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed unused enum. * gui/gnome-cal.c (gnome_calendar_open): Constify. * gui/calendar-commands.c (calendar_set_uri): Removed function, since it was just calling gnome_calendar_open(). * gui/control-factory.c (set_prop): Replace usage of calendar_set_uri() with gnome_calendar_open(). (load_calendar): Likewise. (calendar_persist_init): Made static. * gui/e-tasks.c: #include "calendar-config.h" (e_tasks_update_all_config_settings): We are configuring a table, not a calendar! Use the appropriate function. svn path=/trunk/; revision=8928
* Added ShowWeekView, ShowMonthView, ShowDay, ShowWorkWeek to the View menu.Miguel de Icaza2001-03-181-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Miguel de Icaza <miguel@ximian.com> * evolution-calendar.xml: Added ShowWeekView, ShowMonthView, ShowDay, ShowWorkWeek to the View menu. * evolution.xml, evolution-mail.xml: Provide "Actions" in the toplevel evolution. Fill in Actions/Component in Evolution-mail (no visual changes, just internal changes). * evolution-calendar.xml: Added Actions menu. Added New Verb EditNewEvent. 2001-03-17 Miguel de Icaza <miguel@ximian.com> * gui/e-day-view.c (e_day_view_on_new_event, e_day_view_on_new_appointment): Simplifed this function to use the shared code. * gui/e-week-view.c (e_week_view_on_new_event, e_week_view_on_new_appointment): ditto. * gui/gnome-cal.c (gnome_calendar_new_appointment_for): New function used to launch editor components with a time range. A bunch of functions use this code now instead of duplicating code all over the place svn path=/trunk/; revision=8794
* Moved functionality here from e_day_view_on_new_appointment. AllowsMiguel de Icaza2001-03-171-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Miguel de Icaza <miguel@ximian.com> * gui/e-week-view.c (e_week_view_new_event): Moved functionality here from e_day_view_on_new_appointment. Allows setting for "full day" event. (e_week_view_on_new_full_day): New function for making a full day event. (e_week_view_on_goto_date): Go To support. (e_week_view_on_goto_today): Goto today support. * gui/e-day-view.c (e_day_view_new_event): Moved functionality here from e_day_view_on_new_appointment. Allows setting for "full day" event. (e_day_view_on_new_full_day): New function for making a full day event. (e_day_view_on_goto_date): Go To support. (e_day_view_on_goto_today): Goto today support. * main_items: Add New All Day Event; Go to Today; Go to Date. svn path=/trunk/; revision=8778
* keep list of all Tasks folders so we can update the preference settingsDamon Chaplin2001-03-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-05 Damon Chaplin <damon@ximian.com> * gui/e-tasks.c: keep list of all Tasks folders so we can update the preference settings when necessary. * gui/gnome-cal.c: configure the TaskPad according to the settings. * gui/e-calendar-table.c: use ECellCombo and ECellDateEdit for fields, so the tasks folders is almost usable now. * gui/calendar-model.c: added support for the Status property. * gui/calendar-config.[hc]: added convenience functions to setup ECalendarTable and ECellDateEdit objects. * gui/calendar-commands.c: connected to "destroy" signal of calendars so we can remove them from all_calendars list. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config): call e_tasks_update_all_config_settings() to update all the settings in the Tasks folders as well. * cal-util/cal-component.h: added CAL_COMPONENT_FIELD_STATUS. * cal-util/cal-component.c (cal_component_get_transparency): fixed calls to strcasecmp so they check for '== 0'. Applied patch from Miguel... 2001-02-27 Miguel de Icaza <miguel@ximian.com> * gui/e-day-view.c (e_day_view_on_event_right_click): Reorganize the menus to have entries always in a consistent fashion, as reported to the genepool mailing list. (e_day_view_on_event_right_click): Added a FIXME comment to the FIXME comment without a FIXME. Now we use e_popup_menu. This allows us to hide/show items on demand, and to sensitize/de-sensitize items depending on their state. This will also let us add icon support (when we get nice icons for this) * gui/e-week-view.c (e_week_view_show_popup_menu): Ditto. The files popup-menu.c and popup-menu.h can now be removed. svn path=/trunk/; revision=8549
* Set toolbar new appointment icon (set_pixmap): load files rather thanJP Rosevear2001-02-141-42/+35
| | | | | | | | | | | | | | | | | | 2001-02-13 JP Rosevear <jpr@ximian.com> * gui/calendar-commands.c (update_pixmaps): Set toolbar new appointment icon (set_pixmap): load files rather than create from xpm file * gui/*view.xpm: move to the art directory 2001-02-13 JP Rosevear <jpr@ximian.com> * art/Makefile.am: install new files * art/*view.xpm: add files from calendar/gui svn path=/trunk/; revision=8216
* <gnome.h> trimming to reduce compilation time. Ditto. Ditto. Ditto. Ditto.Federico Mena Quintero2001-01-291-1/+4
| | | | | | | | | | | | | | 2001-01-25 Federico Mena Quintero <federico@ximian.com> * cal-util/timeutil.c: <gnome.h> trimming to reduce compilation time. * gui/dialogs/task-editor.c: Ditto. * gui/dialogs/cal-prefs-dialog.c: Ditto. * gui/dialogs/save-comp.c: Ditto. * gui/dialogs/delete-comp.c: Ditto. * gui/calendar-commands.c: Ditto. * gui/calendar-model.c: Ditto. svn path=/trunk/; revision=7880
* Ximianified email addresses and copyrights.Federico Mena Quintero2001-01-171-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Handle the case where the calendar view cannot be created; present aFederico Mena Quintero2001-01-041-1/+5
| | | | | | | | | | | | | | | | | | | 2001-01-03 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-commands.c (new_calendar): Handle the case where the calendar view cannot be created; present a warning dialog box. (new_calendar): Do not show the widget here, since we already show it in control-factory.c. * gui/control-factory.c (control_factory_new_control): Handle the case where the calendar view cannot be created. * gui/component-factory.c (create_view): Ditto. * gui/calendar-summary.h: Added prototype for calendar_summary_factory_init(). svn path=/trunk/; revision=7233
* Do not compose strings so that they can be localized correctly. Also,Federico Mena Quintero2001-01-031-40/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-02 Federico Mena Quintero <federico@helixcode.com> * gui/dialogs/delete-comp.c (delete_component_dialog): Do not compose strings so that they can be localized correctly. Also, convert from UTF8 into the font's encoding. Fixes bug #1030. * gui/e-calendar-table.c (delete_component): Pass the widget argument to delete_component_dialog(). * gui/e-day-view.c (e_day_view_on_delete_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/event-editor.c (file_delete_cb): Likewise. * gui/calendar-commands.c: Use BONOBO_UI_VERB() instead of BONOBO_UI_UNSAFE_VERB(). Guess what, all of our handler signatures were wrong. * gui/event-editor.c: Likewise. * gui/dialogs/task-editor.c: Likewise. * gui/goto-dialog.glade: Added some spacing between the month/year widgets and the calendar widget. svn path=/trunk/; revision=7211
* Unconditionally remove the client from the alarm notification system.Federico Mena Quintero2001-01-031-208/+7
| | | | | | | | | | | | | | | | | | | | | | | | 2001-01-01 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_destroy): Unconditionally remove the client from the alarm notification system. Removed all the obsolete alarm code. * gui/event-editor.c: Removed some crufty externs left over from Gnomecal. * gui/calendar-commands.c: #include "goto.h" Removed crufty variables left over from Gnomecal. (new_calendar): Do not take a full_name parameter. (init_username): Removed function. (init_calendar): Wheeeeeeee! Removed crufty function. (quit_cmd): Removed function. * gui/print.c (WEEK_STARTS_ON_MONDAY): Made it unconditionally FALSE because we do not use the configuration setting anyways. Sigh, all the printing code needs to be revamped. svn path=/trunk/; revision=7209
* New function to keep the ecal marked properly (create_ecal): move moreJP Rosevear2000-12-231-13/+0
| | | | | | | | | | | | | | | | | | 2000-12-22 JP Rosevear <jpr@helixcode.com> * gui/goto.c (ecal_date_range_changed): New function to keep the ecal marked properly (create_ecal): move more creation code here, update marks (goto_dialog_init_widgets): listen for date_range_changed signal in the ecal * gui/calendar-commands.c (init_calendar): Remove ancient gnomecal cruft * gui/mark.[hc], gui/prop.c: Remove ancient gnomecal code that is no longer needed, last bit of bug 904 svn path=/trunk/; revision=7133
* Removed debugging message. (control_factory_init): Ditto.Federico Mena Quintero2000-12-021-9/+3
| | | | | | | | | | | | | 2000-12-01 Federico Mena Quintero <federico@helixcode.com> * gui/control-factory.c (set_prop): Removed debugging message. (control_factory_init): Ditto. * gui/calendar-commands.c (calendar_set_uri): Ditto. * gui/main.c (main): Ditto. svn path=/trunk/; revision=6762
* The icon column is not editable!Federico Mena Quintero2000-11-221-45/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-21 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-model.c (calendar_model_is_cell_editable): The icon column is not editable! * gui/calendar-commands.c (todo_properties_changed): Removed. (time_format_changed): Removed. (colors_changed): Removed. * gui/calendar-commands.h: * gui/prop.c (prop_apply): * gui/calendar-commands.c (init_calendar): Removed the old to-do list crap. * gui/gncal-todo.[ch]: Removed obsolete files. * gui/Makefile.am (evolution_calendar_SOURCES): Removed gncal-todo.[ch]. * gui/gnome-cal.c (gnome_calendar_todo_properties_changed): Removed. (gnome_calendar_time_format_changed): Removed. (gnome_calendar_colors_changed): Removed. svn path=/trunk/; revision=6635
* Removed the geometry and hidden arguments. This code is ancient.Federico Mena Quintero2000-10-311-48/+10
| | | | | | | | | | | | | | 2000-10-30 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-commands.c (new_calendar): Removed the geometry and hidden arguments. This code is ancient. (all_calendars): Made static. This sucks; configuration should be notification-based instead of "let's iterate through all open calendars". (active_calendars): Removed. Functions can check the length of the all_calendars list if they are interested. svn path=/trunk/; revision=6274
* s/BonoboUIHandler/BonoboUIComponent/Michael Meeks2000-10-211-16/+16
| | | | | | | | | | 2000-10-20 Michael Meeks <michael@helixcode.com> * gui/calendar-commands.h: s/BonoboUIHandler/BonoboUIComponent/ * gui/calendar-commands.c (properties_cmd): ditto. svn path=/trunk/; revision=6084
* remove; redundant.Michael Meeks2000-10-191-10/+0
| | | | | | | | | | | | | 2000-10-19 Michael Meeks <michael@helixcode.com> * gui/calendar-commands.c (tb_print_cb): remove; redundant. * gui/event-editor.c (create_menu, create_toolbar): kill. (event_editor_destroy): upd. (event_editor_construct): update to new UI handler, cast priv->general_summary to a widget not an object. svn path=/trunk/; revision=6009
* die. (debug_xml_cb): add debugging hook.Michael Meeks2000-10-181-5/+1
| | | | | | | | | | | | | 2000-10-18 Michael Meeks <michael@helixcode.com> * gui/dialogs/task-editor.c (create_menu, create_toolbar): die. (debug_xml_cb): add debugging hook. * gui/dialogs/Makefile.am: add EVOLUTION_DATADIR * gui/dialogs/task-editor.c (task_editor_construct): upd for new UI. svn path=/trunk/; revision=5973
* set the pixmaps of the toolbar buttons for the views, and removed a lot ofDamon Chaplin2000-10-121-55/+47
| | | | | | | | | | | | | | | | 2000-10-12 Damon Chaplin <damon@helixcode.com> * gui/calendar-commands.c (calendar_control_activate): (update_pixmaps): (set_pixmap): set the pixmaps of the toolbar buttons for the views, and removed a lot of old unused stuff. We'll use plain buttons for the view buttons for now, until Bonobo toolbars support radio buttons. * gui/gnome-cal.c (gnome_calendar_dayjump): check day_button is not NULL before using it. (gnome_calendar_update_view_buttons): check button is not NULL. svn path=/trunk/; revision=5889
* call calendar_config_write_on_exit() to write out some special configDamon Chaplin2000-10-121-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Disable summary stuff, it appears to be badly broken.Michael Meeks2000-10-051-38/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-05 Michael Meeks <michael@helixcode.com> * component-factory.c (summary_fn, component_factory_init): Disable summary stuff, it appears to be badly broken. * Makefile.am (evolution_mail_SOURCES): add mail-summary.[ch] * subscribe-dialog.c (update_pixmaps): upd. (set_pixmap): upd. (subscribe_dialog_gui_init): upd. remove redundant and annoying forward definitions. * folder-browser-factory.c (control_deactivate): upd. (control_activate_cb): upd. (control_activate): upd. (set_pixmap): upd. (update_pixmaps): upd. (register_ondemand): upd. (create_ondemand_hooks): upd. 2000-10-05 Michael Meeks <michael@helixcode.com> * e-shell-view-menu.c (shortcut_bar_mode_changed_cb): upd. (folder_bar_mode_changed_cb): upd. (command_xml_dump): clobber. (e_shell_view_menu_setup): upd. * e-shell-view.c (shell_view_interface_set_message_cb): upd. (shell_view_interface_unset_message_cb): upd. (e_shell_view_construct): upd. (get_control_for_uri): upd. (e_shell_view_get_bonobo_ui_component): upd. 2000-10-05 Michael Meeks <michael@helixcode.com> * contact-editor/e-contact-editor.c (create_ui): upd. (e_contact_editor_init): upd. * gui/component/addressbook.c (control_activate_cb): upd. (control_deactivate): kill. (control_activate): upd. 2000-10-05 Michael Meeks <michael@helixcode.com> * gui/calendar-commands.c: upd. (calendar_control_activate): upd. (calendar_control_deactivate): upd. 2000-10-05 Michael Meeks <michael@helixcode.com> * component/e-summary-factory.c (control_activate): upd. (set_pixmap): upd. (update_pixmaps): upd. (control_activate_cb): upd. (control_deactivate): upd. svn path=/trunk/; revision=5742
* Updates for the Bonobo changes from Michael who is having someEttore Perazzoli2000-09-231-14/+6
| | | | | | troubles with CVS at home (so I commit this on his behalf). svn path=/trunk/; revision=5560
* Removed the "about calendar" command, since we don't want to have bothFederico Mena Quintero2000-09-221-23/+0
| | | | | | | | | | 2000-09-21 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-commands.c (verbs): Removed the "about calendar" command, since we don't want to have both "About Evolution" and "About Calendar". svn path=/trunk/; revision=5545
* s/Bonobo_UIHandler/Bonobo_UIContainer/Michael Meeks2000-09-211-1/+1
| | | | | | s/include "bonobo-ui-handler.h"/include "bonobo-ui-compat.h"/ svn path=/trunk/; revision=5539
* Everywhere add a -DEVOLUTION_DATADIR=${datadir} in the Makefile.amMichael Meeks2000-09-171-1/+2
| | | | | | | | And use this in grabbing the ui from the xml file. Requires HEAD bonobo. svn path=/trunk/; revision=5474
* The Commit from hell that breaks all UI related stuff;Michael Meeks2000-09-141-104/+51
| | | | | | Anything UI related that breaks is now my fault; apologies in advance. svn path=/trunk/; revision=5415
* Fall equinox cleanup!Federico Mena Quintero2000-09-081-44/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* switched to using new ECalendar widget, and a few other fixes.Damon Chaplin2000-08-311-39/+36
| | | | | | | | | | | | | | 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
* Fixed some warnings.Christopher James Lahey2000-08-251-0/+2
| | | | | | | | | | 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
* New function. Mostly moved over fromFederico Mena Quintero2000-08-111-77/+38
| | | | | | | | | | | | | | | | | 2000-08-10 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_new_appointment): New function. Mostly moved over from calendar-commands.c:display_objedit(). * gui/calendar-commands.c (calendar_iterate): Removed. Wheee! (display_objedit): Removed. (new_appointment_cb): New function. Just call gnome_calendar_new_appointment(). (display_objedit_today): Removed. (calendar_control_activate): Removed the "New appointment for today" option, since it is pretty useless. svn path=/trunk/; revision=4707
* Removed. Wheee!Federico Mena Quintero2000-08-111-78/+18
| | | | | | | | 2000-08-10 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-commands.c (calendar_iterate): Removed. Wheee! svn path=/trunk/; revision=4703
* Made the toolbars conform to the user's gnomecc settings for detachableCody Russell2000-08-101-1/+6
| | | | | | toolbars. svn path=/trunk/; revision=4677
* New function. (cal_component_get_icalcomponent): Ensure that the SEQUENCEFederico Mena Quintero2000-08-081-4/+6
| | | | | | | | | | | | | 2000-08-07 Federico Mena Quintero <federico@helixcode.com> * cal-util/cal-component.c (cal_component_clone): New function. (cal_component_get_icalcomponent): Ensure that the SEQUENCE property does not need incrementing. * gui/dialogs/alarm-notify-dialog.c (alarm_notify_dialog): Use CalComponent. Deal with an empty summary property. svn path=/trunk/; revision=4589
* Everywhere unref the remote_uih having done a set_container.Michael Meeks2000-08-041-0/+1
| | | | svn path=/trunk/; revision=4524
* Remove "Close calendar" command, which does not make much sense.Ettore Perazzoli2000-07-091-8/+0
| | | | svn path=/trunk/; revision=3990
* changed so it keeps the selection range. It just moves it on one day/weekDamon Chaplin2000-06-211-1/+1
| | | | | | | | | | | | | | | | 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
* added little buttons which are shown when there are more events than willDamon Chaplin2000-06-171-2/+5
| | | | | | | | | | | | | | | | | | | | * 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-19/+10
| | | | | | | | | | | | | | | | | | | | | | * 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
* New function to call the print engine. (calendar_toolbar): Added the PrintFederico Mena Quintero2000-06-031-2/+58
| | | | | | | | | | | | | | | | | | | | | | 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
* Make the toolbar look like a standard GNOME toolbar my putting it intoEttore Perazzoli2000-06-011-3/+10
| | | | | | | | a GtkFrame. Also, make sure it cannot be dragged to the left or right of the dock, because with the current non-BonoboUIHandler system we use it causes bad bad things to happen. svn path=/trunk/; revision=3319
* Added a hash table to map calendar objects to their respective eventFederico Mena Quintero2000-06-011-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Commit for if my laptop dies - FedericoFederico Mena Quintero2000-05-241-68/+2
| | | | svn path=/trunk/; revision=3185
* make the toolbars detachable now that we require a new enough versionDan Winship2000-05-121-1/+0
| | | | | | of gnome-libs to avoid the bonobo-toolbar-detaching bug svn path=/trunk/; revision=2997
* Removed unused arguments. Load the initial alarms here. (load_alarms): NewFederico Mena Quintero2000-05-121-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Move "about" menuitem to the help menu.Matthew Loper2000-05-111-1/+1
| | | | | | | * gui/calendar-commands.c (calendar_control_activate): Move "about" menuitem to the help menu. svn path=/trunk/; revision=2970
* added guint ref_count to iCalObject struct, and ical_object_ref/unref()Damon Chaplin2000-05-061-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-45/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-4/+3
| | | | | | | | | | | | | | | | | | | 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-0/+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
* hook for widget destroy -- used to unref the CalClient so wombat knows weSeth Alves2000-04-261-10/+0
| | | | | | | | * gui/gnome-cal.c (gnome_calendar_destroy): hook for widget destroy -- used to unref the CalClient so wombat knows we are gone. (gnome_calendar_class_init): added a class init for this widget. svn path=/trunk/; revision=2613
* added new source files and pixmaps, and removed old source files, whichDamon Chaplin2000-04-241-4/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* moved "About Calendar" into the View menu so it shows up.Seth Alves2000-04-211-1/+1
| | | | | | | * gui/calendar-commands.c (calendar_control_activate): moved "About Calendar" into the View menu so it shows up. svn path=/trunk/; revision=2545
* calls gnome_calendar_open instead of checking on disk and calling load orSeth Alves2000-04-201-10/+7
| | | | | | | | | | | | * gui/calendar-commands.c (calendar_set_uri): calls gnome_calendar_open instead of checking on disk and calling load or create. * gui/gnome-cal.c (gnome_calendar_open): collapsed gnome_calendar_load and gnome_calendar_create into this function. added new type GnomeCalendarOpenMode which has the value CALENDAR_OPEN or CALENDAR_OPEN_OR_CREATE. svn path=/trunk/; revision=2506
* set calendar's uri with a property bagSeth Alves2000-04-191-22/+28
| | | | | | | | | | | | | | | * e-shell-view.c (get_view): set calendar's uri with a property bag * gui/evolution-calendar-control.c (calendar_properties_init): create a property bag for this control (set_prop): callback for property sets (get_prop): callback for proprety gets * gui/calendar-commands.c (calendar_set_uri): new function, called when the "calendar_uri" property is set on the calendar- control's property bag. svn path=/trunk/; revision=2501
* catch cal_loaded signal on the cal client. (gnome_calendar_load_cb):Seth Alves2000-04-101-12/+5
| | | | | | | | | | | | | | | | | | | * gui/gnome-cal.c (gnome_calendar_load): catch cal_loaded signal on the cal client. (gnome_calendar_load_cb): callback for cal_loaded signal. moved gnome_calendar_update_all from gnome_calendar_load to here. * gui/calendar-commands.c: minor cleanups * pcs/cal-backend.c (save_to_vcal): copied code from gnome-pim to write vcal to a file (save): filled it with more gnome-pim code (add_object): call save () after changing (remove_object): same (cal_backend_create): same (cal_backend_remove_object): same svn path=/trunk/; revision=2352
* new function: friendly wrapper for cal_client_create_calendarSeth Alves2000-04-091-51/+56
| | | | | | | | | | | | | | | | | | | | | | | | * gui/gnome-cal.c (gnome_calendar_create): new function: friendly wrapper for cal_client_create_calendar * gui/calendar-commands.c (new_calendar): call gnome_calendar_create if no filename is provided * gui/prop.c (properties): calendar is a frame * gui/calendar-commands.c (calendar_control_activate): sort out the menus a bit, more of them show up now. * gui/Makefile.am: don't build library or test, just the bonobo control * gui/gncal-todo.c (simple_todo_editor): calendar is a frame instead of a window, now. * gui/gnome-cal.c (gnome_calendar_new): same * gui/goto.c (goto_dialog): same svn path=/trunk/; revision=2339
* removed uih from the argument list, added cal. use cal as user_data inSeth Alves2000-04-071-147/+83
| | | | | | | | | * gui/calendar-commands.c (calendar_control_activate): removed uih from the argument list, added cal. use cal as user_data in callbacks rather than the control. (calendar_control_deactivate): removed uih from argument list svn path=/trunk/; revision=2311
* removed (setup_appbar): removed (calendar_control_activate): new functionSeth Alves2000-04-061-8/+87
| | | | | | | | | | | * gui/calendar-commands.c (setup_menu): removed (setup_appbar): removed (calendar_control_activate): new function -- does the work that setup_appbar and setup_menu used to do. (calendar_control_deactivate): undoes what calendar_control_activate does by removing the toolbar items and menu items. svn path=/trunk/; revision=2299
* build test-calendar-widget and evolution-calendar, common stuff is in aSeth Alves2000-04-061-0/+792
* gui/Makefile.am: build test-calendar-widget and evolution-calendar, common stuff is in a library * gui/gnome-cal.c (gnome_calendar_get_type): made the calendar widget based on a gtk_frame rather than a gnome_app * gui/calendar-commands.c: split out some of main.c * gui/evolution-calendar-control.c: bonobo bung so evolution can use the calendar widget svn path=/trunk/; revision=2294