aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/control-factory.c
Commit message (Collapse)AuthorAgeFilesLines
* added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, toDamon Chaplin2001-08-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 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
* add auto exit unrefJP Rosevear2001-06-201-2/+3
| | | | | | | | | | | | 2001-06-19 JP Rosevear <jpr@ximian.com> * gui/control-factory.c (control_factory_init): add auto exit unref * gui/component-factory.c (destroy_cb): destroy our selves if we have no more shells (component_factory_init): add auto exit unref svn path=/trunk/; revision=10312
* Sync - FedericoFederico Mena Quintero2001-06-201-5/+7
| | | | svn path=/trunk/; revision=10293
* unref the property bag when we finish with itJP Rosevear2001-05-091-0/+1
| | | | | | | | | | | | | | | 2001-05-08 JP Rosevear <jpr@ximian.com> * gui/e-itip-control.c (e_itip_control_factory): unref the property bag when we finish with it * gui/evolution-calendar-control.c (calendar_properties_init): ditto * gui/control-factory.c (calendar_properties_init): ditto * gui/calendar-summary.c (create_summary_view): ditto svn path=/trunk/; revision=9719
* Replace includes of <gnome.h>, <bonobo.h> and <gtk/gtk.h> with the neededKjartan Maraas2001-03-261-1/+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-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New function: inits the BonoboPersistFile server.Miguel de Icaza2001-03-171-1/+29
| | | | | | | | | | | | | | | 2001-03-07 Miguel de Icaza <miguel@ximian.com> * gui/control-factory.c (calendar_persist_init): New function: inits the BonoboPersistFile server. * gui/GNOME_Evolution_Calendar.oaf.in: Added BonoboPropertyBag to the list of supported interfaces that were supported but not reported. Add the new PersistFile. Add text/calendar mime type attribute. svn path=/trunk/; revision=8771
* <gnome.h> trimming to reduce compilation time. Ditto. Ditto. Ditto. Ditto.Federico Mena Quintero2001-01-291-1/+0
| | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Federico Mena Quintero <federico@ximian.com> * */*: Ximianified email addresses and copyrights. * idl/evolution-calendar.idl (CalFactory::open): Renamed from ::load(), and added an only_if_exists argument. (CalFactory::create): Removed method. (Listener::OpenStatus): Removed the IN_USE error and replaced it with a NOT_FOUND one; renamed the enum from LoadStatus. (Listener::notifyCalOpened): Renamed from notifyCalLoaded(). * pcs/cal-backend.h (CalBackend): Removed the uri field. (CalBackendOpenStatus): Renamed from CalBackendLoadStatus and added a NOT_FOUND value. (CalBackendClass::open): Put in a slot for the open method. * pcs/cal-backend.c (cal_backend_create): Removed function. * pcs/cal-backend-file.c (cal_backend_file_open): Return the appropriate value when only_if_exists is TRUE. (create_cal): We are Ximian now, so set the PRODID property to the appropriate foo. * pcs/cal-factory.c (CalFactory_open): implemented, replacing CalFactory_load() and CalFactory_create(). (CalFactory_open): Moved the queue_load_create_job() stuff to here, since we now only need to contemplate the open case instead of load/create ones. (open_backend): Do everything here; replaces load_backend() and create_backend(). * cal-client/cal-listener.h (CalListenerClass::cal_opened): Renamed from cal_loaded. (CalListenerClass): Replaced the silly signals, which are gratuitous abstraction, by a set of function pointers in the instance structure. * cal-client/cal-listener.c (cal_listener_get_calendar): Removed unused function. (cal_listener_construct): Added the listener notification functions. (cal_listener_new): Ditto. (Listener_notifyCalOpened): Renamed to our new naming convention for servant implementations. (Listener_notifyObjUpdated): Ditto. (Listener_notifyObjRemoved): Ditto. * cal-client/cal-client.h (CalClientOpenStatus): Renamed from CalClientLoadStatus. (CalClientClass::cal_opened): Renamed from ::cal_loaded(). (CalClientLoadState): New enum; basically make LoadState public so that users of this code do not have to maintain their own states. * cal-client/cal-client.c (cal_client_create_calendar): Removed function. (cal_client_open_calendar): Moved the functionality over from load_or_create(); now we do everything here. (*): Use the CalClientLoadState enum values instead of the old LoadState values. (cal_client_get_load_state): Renamed from cal_client_is_loaded(), and return the appropriate value. (CalClientPrivate): Added an uri field. (cal_client_init): Initialize priv->uri. (cal_client_destroy): Free the priv->uri. (cal_opened_cb): Maintain the priv->uri. (cal_client_open_calendar): Fill in the priv->uri. (cal_client_get_uri): New function. * gui/calendar-model.c (calendar_model_set_new_comp_vtype): New function to configure the type of calendar components to create when doing click-to-add. This makes the model usable for something other than task lists. (calendar_model_get_new_comp_vtype): New function. * gui/e-calendar-table.c (e_calendar_table_get_model): New function. (e_calendar_table_destroy): Unref the subset_model. * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum. * gui/gnome-cal.c (LoadState): Removed enum; we now use the CalClientLoadState from the client objects. (GnomeCalendarPrivate): Removed the loading_uri and task_pad_loading_uri fields as well as the load_state and task_pad_load_state fields, as we can now query them directly from the CalClient. (open_error): Renamed from load_error(). (create_error): Removed function. (gnome_calendar_open): Do not take in the mode parameter. (cal_opened_cb): Get rid of our beautifully-crafted state machine and replace it with simple code; all the loading smarts are in the Wombat now. (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. * gui/Makefile.am (evolution_calendar_SOURCES): Removed gnome-month-item.[ch] from the list of sources. * gui/calendar-summary.c (CalSummary): Removed unused cal_loaded field. (create_summary_view): Do not check if the file exists; this is the job of the Wombat. (generate_html_summary): Fixed prototype. (alarm_fn): Fixed prototype. (property_dialog): Fixed prototype. Wonder if/how this ever worked. (create_summary_view): Cast the component and view as appropriate. Removed unused html variable. [Iain dude, are you compiling with -Wall?] * gui/e-itip-control.c (cal_opened_cb): Sigh, this function signature was *very* wrong. It was using CalClientGetStatus instead of CalClientOpenStatus. * gui/e-tasks.h (ETasksOpenMode): Removed enum. * gui/e-tasks.c (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. (LoadState): Removed the state machine foo. (e_tasks_open): Removed the mode parameter. (initial_load): Removed function. (create_error): Removed function. (ETasksPrivate): Removed folder_uri field. (cal_opened_cb): Remove the state machine. * gui/component-factory.c: #include "tasks-control.h" * conduits/calendar/calendar-conduit.h (ECalConduitContext): Removed calendar_load_tried field. * conduits/calendar/calendar-conduit.c (start_calendar_server_cb): Sigh, fixed function prototype. * conduits/todo/todo-conduit.h (EToDoConduitContext): Removed calendar_load_tried field. * conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed function prototype. svn path=/trunk/; revision=7571
* changed the signature of the property_bag get/set functionsDietmar Maurer2001-01-151-0/+2
| | | | svn path=/trunk/; revision=7499
* Handle the case where the calendar view cannot be created; present aFederico Mena Quintero2001-01-041-0/+3
| | | | | | | | | | | | | | | | | | | 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
* Unconditionally remove the client from the alarm notification system.Federico Mena Quintero2001-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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
* return NULL if we can't create a view.Michael Meeks2000-12-051-1/+1
| | | | | | | | | | | | | | 2000-12-04 Michael Meeks <michael@helixcode.com> * e-shell-view.c (get_control_for_uri): return NULL if we can't create a view. (setup_evolution_shell_view_interface): add precondition. + lots of cleans. svn path=/trunk/; revision=6778
* Removed debugging message. (control_factory_init): Ditto.Federico Mena Quintero2000-12-021-3/+0
| | | | | | | | | | | | | 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 big api rename ...Michael Meeks2000-11-021-1/+1
| | | | | | | | 2000-11-02 Michael Meeks <michael@helixcode.com> * The big api rename ... svn path=/trunk/; revision=6346
* Removed the geometry and hidden arguments. This code is ancient.Federico Mena Quintero2000-10-311-1/+1
| | | | | | | | | | | | | | 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
* New function with the loading/creation state machine. It is carefullyFederico Mena Quintero2000-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | 2000-09-08 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (cal_loaded_cb): New function with the loading/creation state machine. It is carefully modelled after the state machine that started the Universe, so bow before it. (gnome_calendar_construct): Do not connect to cal_loaded here. (connect_load): The closure for the cal_loaded callback is a bit tricky, so provide a function to create it and connect to the signal. (disconnect_load): Disconnect from the signal and free the closure. (gnome_calendar_load_cb): Removed obsolete buggy function. (gnome_calendar_open): Use the new mechanism. * gui/control-factory.c (set_prop): The default filename is now calendar.ics. svn path=/trunk/; revision=5280
* Fall equinox cleanup!Federico Mena Quintero2000-09-081-30/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove gnorba stuffJP Rosevear2000-08-261-8/+0
| | | | | | | | | | | | | | | | 2000-08-26 JP Rosevear <jpr@helixcode.com> * gui/Makefile.am: Remove gnorba stuff * gui/main.c: ditto * gui/component-factory.c: ditto * gui/control-factory.c: ditto * gui/*.gnorba: ditto svn path=/trunk/; revision=5048
* Handle the PERCENT-COMPLETE property. (free_icalcomponent): Likewise.Federico Mena Quintero2000-08-121-4/+0
| | | | | | | | | | | | | | | | | | | | | 2000-08-11 Federico Mena Quintero <federico@helixcode.com> * cal-util/cal-component.c (scan_property): Handle the PERCENT-COMPLETE property. (free_icalcomponent): Likewise. (cal_component_get_percent): Likewise. (cal_component_set_percent): Likewise. (cal_component_free_percent): Likewise. (scan_property): Handle the PRIORITY property. (free_icalcomponent): Likewise. (cal_component_get_priority): Likewise. (cal_component_set_priority): Likewise. (cal_component_free_priority): Likewise. * cal-util/cal-component.h (CalComponentField): New enumeration with the list of fields we support for ETable. svn path=/trunk/; revision=4745
* Added a hash table to map calendar objects to their respective eventFederico Mena Quintero2000-06-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Reorganized the shell to allow dynamic registration of storages andEttore Perazzoli2000-05-251-0/+193
folder types, and changed all the components to work with the new setup. svn path=/trunk/; revision=3199