2004-08-05 Parthasarathi S A <sparthasarathi@novell.com>
Fix for bug #61673.
* calendar/gui/dialogs/save_comp.c(save_component_dialog):
The function takes two arguments now, instead of one. The second
argument is the pointer to the ECalComponent from which the component
type can be determined. Based on the component type the corresponding
error message is displayed.
* calendar/gui/dialogs/save_comp.h:
Function definition updated for save_component_dialog.
* calendar/gui/dialogs/comp_editor.c(prompt_to_save_changes):
passing the ECalComponent pointer to the 'save_component_dialog' function
* calendar/calendar-errors.xml: New error message string for task included
* calendar/calendar-errors.xml.h
svn path=/trunk/; revision=26839
2004-07-14 JP Rosevear <jpr@novell.com>
Fixes#61572
* gui/dialogs/schedule-page.c (times_changed_cb): call notify
changed
* gui/dialogs/comp-editor.c (page_summary_changed_cb): no need to
mark the editor changed here, it doesn't do the right thing anyhow
(page_dates_changed_cb): ditto
svn path=/trunk/; revision=26659
2004-06-23 JP Rosevear <jpr@novell.com>
* gui/dialogs/comp-editor.c (comp_editor_init): set the window
type hint to normal so it can go below the shell window
svn path=/trunk/; revision=26480
2004-06-23 Rodrigo Moya <rodrigo@novell.com>
* gui/dialogs/comp-editor.c (comp_editor_notify_client_changed):
fixed gtk-doc comments and made it enable/disable the dialog's
OK button depending on the selected source.
svn path=/trunk/; revision=26479
2004-06-08 Rodrigo Moya <rodrigo@novell.com>
* gui/dialogs/comp-editor.[ch] (comp_editor_notify_client_changed):
new function for notifying all pages of the client change.
(page_client_changed_cb): no need for this callback.
(comp_editor_append_page): no need to connect to "client_changed"
signal on the pages.
* gui/dialogs/comp-editor-page.c
(comp_editor_page_notify_client_changed): re-added the call to
comp_editor_page_set_e_cal(), the client was not being set anywhere.
* gui/dialogs/event-page.c (source_changed_cb): use
comp_editor_notify_client_changed() so that all pages get informed
of the client change.
* gui/dialogs/task-page.c (source_changed_cb): ditto.
svn path=/trunk/; revision=26255
2004-04-15 JP Rosevear <jpr@ximian.com>
* gui/dialogs/comp-editor.c (save_comp): stop listening to changes
since we are just going to save and close
(save_cmd): remove, its ok since we are toasting menus shortly
anyhow
(obj_modified_cb): no need to look at update flag
(obj_removed_cb): ditto
svn path=/trunk/; revision=25481
2004-03-04 Rodrigo Moya <rodrigo@ximian.com>
* gui/dialogs/comp-editor.c (comp_editor_append_page): always add
the page.
* gui/dialogs/event-page.c (event_page_fill_widgets): continue filling
up all other fields even if there are missing ones, and return the
validation result.
svn path=/trunk/; revision=24965
2004-03-04 Rodrigo Moya <rodrigo@ximian.com>
Fixes#53137
* gui/dialogs/comp-editor-page.[ch]: made fill_widgets virtual
method return a gboolean.
(comp_editor_page_fill_widgets): return value from virtual method
implementation.
* gui/dialogs/event-page.c (event_page_fill_widgets):
* gui/dialogs/meeting-page.c (meeting_page_fill_widgets):
* gui/dialogs/recurrence-page.c (recurrence_page_fill_widgets):
* gui/dialogs/schedule-page.c (schedule_page_fill_widgets):
* gui/dialogs/task-details-page.c (task_details_page_fill_widgets):
* gui/dialogs/task-page.c (task_page_fill_widgets):
* gui/dialogs/alarm-page.c (alarm_page_fill_widgets): return value,
as expected from the virtual method signature.
* gui/dialogs/comp-editor.c (comp_editor_append_page): dont add the
page if there was an error calling the fill_widgets method.
svn path=/trunk/; revision=24960
2004-01-16 JP Rosevear <jpr@ximian.com>
* gui/e-comp-editor-registry.h: convert to GObject
* gui/e-comp-editor-registry.c (registry_data_free): routine to
free the registry data
(dispose): destroy the registry data
(finalize): finalize it
(class_init): setup above
(init): create full hash table
(e_comp_editor_registry_add): weak ref the editor and strdup the
hash table key
(editor_destroy_cb): we get the registry data now, just remove it
* gui/dialogs/comp-editor.c (close_dialog): disconnect the signal
handlers, its a bit of a hack but it is a simple fix
svn path=/trunk/; revision=24277
2004-01-08 Rodrigo Moya <rodrigo@ximian.com>
* gui/dialogs/comp-editor.c (save_comp): moved the line that sets
priv->updating to FALSE up some lines, to avoid getting callbacks
with an incorrect value on it.
(obj_modified_cb): check the UIDs of the objects we get passed to
see if the one being edited is amongst them.
svn path=/trunk/; revision=24108
2004-01-06 JP Rosevear <jpr@ximian.com>
* gui/dialogs/comp-editor.c (comp_editor_finalize): we don't put
any signal handlers on the client or source client now, but we do
on the view
(real_set_e_cal): no signal handlers on the client
(obj_modified_cb): we are guaranteed this is a signal for our
component
(obj_removed_cb): ditto
(listen_for_changes): listen for changes on the object
(save_comp): use above since the source_client changed
(real_edit_comp): use above since the comp changed
svn path=/trunk/; revision=24067
2003-12-17 Hans Petter Jansson <hpj@ximian.com>
* gui/dialogs/comp-editor.c: Add the concept of a source client, where
the object lives currently. The plain client is where it will be
stored.
(comp_editor_finalize): If we have a source client, disconnect from
and unref it.
(save_comp): Check if the object is being moved, and if so, remove it
from the source client, and make the target client the new source.
(comp_editor_append_page): Connect to client_changed signal.
(real_set_e_cal): Change an old gtk_signal_disconnect_by_data() to
the GLib equivalent, and don't cast ECal to GtkObject. If the source
client is not set, make it equivalent to the target client.
(page_client_changed_cb): Implement. Handles a client change.
* gui/dialogs/comp-editor-page.c (comp_editor_page_class_init): Add
a new signal, "client_changed", that notifies that the ECal client
was changed from one of the editor pages.
(comp_editor_page_set_e_cal): Fix two bugs in this function; if the
same client is set twice, its ref count could drop to 0. Additionally,
it was unreffing the new client instead of the old one.
(comp_editor_page_notify_client_changed): Implement.
* gui/dialogs/event-page.c (event_page_fill_widgets): Fill in the
source menu.
(get_widgets): Get the source menu.
(source_changed_cb): Implement. Try to open a client for the new
source, and if successful, notify of the change. Show a dialog on
failure, and revert to last selected source.
(init_widgets): Connect to source menu.
(event_page_create_source_option_menu): Implement Glade helper.
* gui/dialogs/task-page.c (task_page_fill_widgets): Fill in the source
menu.
(get_widgets): Get the source menu.
(source_changed_cb): Implement, similar to the event page, but for
tasks.
(init_widgets): Connect to source menu.
(task_page_construct): Fix a message booboo.
(task_page_create_source_option_menu): Implement Glade helper.
* gui/dialogs/event-page.glade: Add source menu widget.
* gui/dialogs/task-page.glade: Add source menu widget.
svn path=/trunk/; revision=23974
* cal-util/cal-util.h: Add CAL_STATIC_CAPABILITY_NO_THISANDFUTURE
and CAL_STATIC_CAPABILITY_NO_THISANDPRIOR
* gui/dialogs/recur-comp.c (recur_component_dialog): Add a
CalClient argument. Use cal_client_get_static_capability to decide
whether or not to offer THISANDFUTURE and THISANDPRIOR options
* gui/dialogs/comp-editor.c (prompt_to_save_changes, save_cmd,
save_close_cmd): Pass a CalClient to recur_component_dialog.
* gui/e-day-view.c (e_day_view_finish_long_event_resize,
e_day_view_finish_resize, e_day_view_on_editing_stopped,
e_day_view_on_top_canvas_drag_data_received,
e_day_view_on_main_canvas_drag_data_received): Likewise
* gui/e-week-view.c (e_week_view_on_editing_stopped): Likewise
* gui/calendar-component.c (impl_createControls): set an exception
if we fail, so evo won't crash.
svn path=/trunk/; revision=23152
2003-06-23 Rodrigo Moya <rodrigo@ximian.com>
* gui/dialogs/comp-editor.c (make_title_from_string, set_title_from_string):
new functions.
(page_summary_changed_cb): change the window title when the object's
summary changes.
svn path=/trunk/; revision=21523
2003-05-16 JP Rosevear <jpr@ximian.com>
* gui/dialogs/comp-editor.c (make_title_from_comp): the title is
already in UTF-8
svn path=/trunk/; revision=21235
* gui/itip-utils.c: Update for e_notice move
* gui/tasks-control.c (confirm_expunge): Move the code that used
to be e_gnome_dialog_set_parent here, since it was marked
deprecated and this was the only place using it.
* gui/dialogs/comp-editor.c: Update for e_notice move
(page_changed_cb, page_summary_changed_cb, page_dates_changed_cb):
Pass a parent_window to e_notice.
* gui/dialogs/meeting-page.c: Update for e_notice move.
(meeting_page_fill_component, meeting_page_fill_component,
popup_delegate_cb): Pass a parent_window to e_notice
svn path=/trunk/; revision=20503
2003-03-12 Rodrigo Moya <rodrigo@ximian.com>
* gui/dialogs/save-comp.[ch] (save_component_dialog): corrected
button ordering and changed the return type to be a GtkResponseType.
* gui/dialogs/comp-editor.c (prompt_to_save_changes): adapted to
changes in save_component_dialog.
svn path=/trunk/; revision=20261
2003-01-25 Hans Petter Jansson <hpj@ximian.com>
Mainly making all views use PangoLayouts for text. When drawing a
PangoLayout, the draw offset is the top left corner of the layout,
not the text's baseline. Keep this in mind when viewing the
changes. I'll be brief about the exact changes, since they speak
better for themselves.
* gui/e-day-view-time-item.c (e_day_view_time_item_get_column_width):
Use Pango.
(e_day_view_time_item_draw): Use Pango.
* gui/e-day-view-top-item.c (e_day_view_top_item_draw): Use Pango.
(e_day_view_top_item_draw_long_event): Add some FIXME text so we can
see when this is being used. Is it in use at all?
* gui/e-day-view.c: No longer specify an explicit X font string for
the large font. Use the main font, and change the point size.
(e_day_view_init): Use Pango.
(e_day_view_style_set): Use Pango. Comment out the gdk_font setting
for the drag text items for now.
* gui/e-day-view.h: Use Pango.
* gui/e-week-view-event-item.c (e_week_view_draw_time): Use Pango.
* gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
Use Pango.
* gui/e-week-view-titles-item.c (e_week_view_titles_item_draw):
Use Pango.
* gui/e-week-view.c: No longer specify an explicit X font string for
the small font. Use the main font, and change the point size.
(e_week_view_init): Use Pango.
(e_week_view_destroy): Use Pango.
(get_string_width): Implemented for convenience.
(get_digit_width): Implemented for convenience.
(e_week_view_style_set): Use Pango.
(e_week_view_recalc_cell_sizes): Use Pango.
(e_week_view_get_time_string_width): Use Pango.
* gui/e-week-view.h: Use Pango.
Following are some random UTF-8 fixes and a crash fix.
* gui/itip-utils.c (comp_description): Use g_locale_to_utf8 ().
* gui/dialogs/comp-editor.c (make_title_from_comp): Return a
UTF-8 string.
* gui/dialogs/alarm-page.c (alarm_page_set_summary): Pass UTF-8
directly to GTK.
* gui/dialogs/delete-comp.c (delete_component_dialog): Ditto.
* gui/dialogs/meeting-page.c (meeting_page_fill_widgets): Ditto.
(meeting_page_construct): Ditto.
* gui/dialogs/recurrence-page.c (recurrence_page_set_summary): Ditto.
* gui/dialogs/event-editor.c (event_editor_finalize): Fix crash caused
by gtk_object_destroy()-ing a non-GtkObject.
svn path=/trunk/; revision=19628
2003-01-23 Hans Petter Jansson <hpj@ximian.com>
* gui/dialogs/comp-editor.c (comp_editor_merge_ui): Add a terminating
NULL to the concatenation.
svn path=/trunk/; revision=19612
* gui/gnome-cal.c (gnome_calendar_setup_view_menus): Use
EVOLUTION_GALVIEWSDIR.
* gui/e-tasks.c (e_tasks_setup_view_menus): Use
EVOLUTION_GALVIEWSDIR.
* cal-util/Makefile.am: Install libcal-util.la in $(privlibdir)
instead of $(libdir).
* gui/dialogs/comp-editor.c (setup_widgets): Get
evolution-comp-editor.xml from EVOLUTION_UIDIR.
(comp_editor_merge_ui): Get the file in EVOLUTION_UIDIR.
* gui/tasks-control.c (tasks_control_activate): Get
evolution-tasks.xml from EVOLUTION_UI_DIRECTORY.
* gui/calendar-commands.c (calendar_control_activate): Get
evolution-calendar.xml from EVOLUTION_UI_DIRECTORY.
* pcs/Makefile.am (pcsincludedir): Version using $(BASE_VERSION).
* importers/Makefile.am: Install evolution-calendar-importer in
$(libexecdir)/evolution/$(BASE_VERSION).
(sounddir): Remove.
* gui/dialogs/Makefile.am (iconsdir): Version using
$(BASE_VERSION).
(gladedir): Likewise.
(etspecdir): Likewise.
* gui/Makefile.am (help_base): Remove.
(install-data-local): Do not make the $(help_base)/C directory.
(etspecdir): Version using $(BASE_VERSION).
(gladedir): Likewise.
(iconsdir): Likewise.
(INCLUDES): Update the EVOLUTION_IMAGESDIR define to be versioned,
and add a -DEVOLUTION_GALVIEWSDIR.
* cal-util/Makefile.am: Install evolution-alarm-notify in
$(libexecdir)/evolution/$(BASE_VERSION).
* cal-util/Makefile.am (libcal_utilincludedir): Version using
$(BASE_VERSION).
* gui/alarm-notify/Makefile.am (iconsdir): Likewise.
(gladedir): Likewise.
* cal-client/Makefile.am: Install libcal-client.la in privlibdir
instead of libdir.
(libcal_clientincludedir): Version using $(BASE_VERSION).
svn path=/trunk/; revision=19553
2002-12-19 Hans Petter Jansson <hpj@ximian.com>
* gui/calendar-commands.c (calendar_control_deactivate):
Replace gtk_signal_disconnect_by_data() with
g_signal_handlers_disconnect_matched(). Former takes GtkObject,
latter takes GObject.
* gui/calendar-model.c (calendar_model_destroy): Ditto.
(update_query): Ditto.
(calendar_model_set_cal_client): Ditto.
* gui/e-day-view.c (e_day_view_destroy): Ditto.
(update_query): Ditto.
(e_day_view_set_cal_client): Ditto.
* gui/e-tasks.c (query_eval_error_cb): Ditto.
(query_query_done_cb): Ditto.
* gui/e-week-view.c (e_week_view_destroy): Ditto.
(update_query): Ditto.
(e_week_view_set_cal_client): Ditto.
* gui/gnome-cal.c (update_query): Ditto.
(gnome_calendar_destroy): Ditto.
* gui/tasks-control.c (tasks_control_deactivate): Ditto.
* gui/e-comp-editor-registry.c (foreach_close_cb): Replace
gtk_signal_handler_(un)block_by_data() with
g_signal_handlers_(un)block_matched(). Former takes GtkObject, latter
takes GObject.
* gui/dialogs/alarm-page.c (alarm_page_get_type): Replace with
E_MAKE_TYPE().
(alarm_page_class_init): Use GObject as base class instead of
GtkObject, and set up finalization instead of destroy handler.
(alarm_page_destroy): Change to alarm_page_finalize() and assume
parent is GObject, not GtkObject.
(alarm_page_new): Use g_object_new(), not gtk_type_new().
* gui/dialogs/event-page.c: Same general changes as above file.
(update_time): Replace gtk_signal_handler_(un)block_by_data()
with g_signal_handlers_(un)block_matched().
(clear_widgets): Ditto.
(times_updated): Ditto.
* gui/dialogs/recurrence-page.c: Same general changes as above file.
(clear_widgets): Replace gtk_signal_handler_(un)block_by_data()
with g_signal_handlers_(un)block_matched().
(append_exception): Ditto.
(fill_ending_date): Ditto.
(recurrence_page_fill_widgets): Ditto.
* gui/dialogs/comp-editor.c: Same general changes as above file.
(comp_editor_finalize): Replace gtk_signal_disconnect_by_data()
with g_signal_handlers_disconnect_matched().
(comp_editor_remove_page): Ditto.
* gui/dialogs/event-editor.c: Same general changes as above file.
* gui/dialogs/meeting-page.c: Same general changes as above file.
* gui/dialogs/schedule-page.c: Same general changes as above file.
* gui/dialogs/task-details-page.c: Same general changes.
* gui/dialogs/task-editor.c: Same general changes as above file.
* gui/dialogs/task-page.c: Same general changes as above file.
* gui/dialogs/e-delegate-dialog.c: Same general changes.
svn path=/trunk/; revision=19167
2002-11-27 Not Zed <NotZed@Ximian.com>
* gui/itip-utils.[ch]: run fix.sh over this.
* gui/dialogs/*.[ch]: run fix.sh over all of this.
2002-11-26 Richard Li <Richard.Li@Sun.COM>
* cal-client/cal-client.c (cal_client_construct): removed extra call
to CORBA_exception_init.
2002-11-22 Not Zed <NotZed@Ximian.com>
* gui/dialogs/delete-comp.c (delete_component_dialog): Changed
e_messagebox -> gtk_messagedialog.
svn path=/trunk/; revision=18972
2002-10-08 Rodrigo Moya <rodrigo@ximian.com>
Fixes#11434
* gui/dialogs/comp-editor-page.[ch]
(comp_editor_page_display_validation_error): new function.
* gui/dialogs/event-page.c (event_page_fill_component):
* gui/dialogs/recurrence-page.c (fill_component):
* gui/dialogs/task-details-page.c (task_details_page_fill_component):
* gui/dialogs/task-page.c (task_page_fill_component): added
checks for all date values, and return FALSE if we find
some invalid date/times.
* gui/dialogs/comp-editor.c (save_comp): activate the page that
returns error in fill_component.
svn path=/trunk/; revision=18352
2002-09-04 JP Rosevear <jpr@ximian.com>
* gui/dialogs/event-editor.c (event_editor_send_comp): bail out if
we couldn't send the cancel
* gui/dialogs/task-editor.c (task_editor_send_comp): ditto
* gui/dialogs/comp-editor.c (save_comp_with_send): indicate send
status
(real_send_comp): return success/fail, only resave the component a
if we successfully sent
(comp_editor_send_comp): return success/fail
* gui/itip-utils.h: update proto
* gui/itip-utils.c (itip_send_comp): return true if we sent the
message
svn path=/trunk/; revision=17966
2002-08-09 JP Rosevear <jpr@ximian.com>
* gui/dialogs/comp-editor.c (real_send_comp): set the editor to
changed so the item actually gets saved
svn path=/trunk/; revision=17753
2002-08-08 JP Rosevear <jpr@ximian.com>
* gui/itip-utils.c (users_has_attendee): check for an attendee in
the list
(comp_to_list): only add the user if they aren't on the list
(comp_server_send): don't remove the users, pass back the list
(itip_send_comp): send to server before doing comp_minimal
* gui/dialogs/comp-editor.c (real_send_comp): edit and save the
updated comp
* pcs/cal.c (impl_Cal_send_object): copy the correct item to pass
back
svn path=/trunk/; revision=17747