2003-12-22 David Moore <davmre@bellsouth.net>
* em-popup.c (emp_part_popup_set_background): Implemented; sets an
image attachment as the GNOME wallpaper.
* em-utils.c (emu_save_part_done): Created a prototype at the top
of the file.
(em_utils_save_part_to_file): Added; save a message part to a
specified file on disk.
svn path=/trunk/; revision=23998
2003-12-19 Hans Petter Jansson <hpj@ximian.com>
* gui/component/addressbook-component.c (find_first_source): Impl.
from calendar.
(save_primary_selection): Implement, similar to calendar.
(load_primary_selection): Implement, similar to calendar.
(primary_source_selection_changed_callback): Save selection.
(impl_createControls): Load selection.
svn path=/trunk/; revision=23991
2003-12-19 JP Rosevear <jpr@ximian.com>
* gui/tasks-control.c (tasks_control_sensitize_commands): make
sure there is a ui container
* gui/calendar-commands.c (calendar_control_sensitize_calendar_commands): ditto
* gui/tasks-component.c (impl_createControls): update after the
signals are connected so that the ecal's are actually loaded
* gui/calendar-component.c: ditto
svn path=/trunk/; revision=23990
2003-12-18 Hans Petter Jansson <hpj@ximian.com>
* gui/contact-editor/e-contact-editor.c (widget_changed):
editable -> target_editable
(e_contact_editor_get_property): Same.
(_email_arrow_pressed): Same.
(enable_writable_fields): Same.
(set_editable): Same.
(contact_added_cb): Make sure source book is editable before trying
to remove contact from there.
(e_contact_editor_init): Set up source/target editability.
(command_state_changed): Allow save only if target editable. Allow
delete only if source editable.
(e_contact_editor_set_property): Set editability flags for
source/target.
* gui/contact-editor/e-contact-editor.h: Add source_editable,
target_editable flags in place of old editable flag.
svn path=/trunk/; revision=23986
2003-12-18 Rodney Dawes <dobey@ximian.com>
* em-message-browser.c (emmb_init): Merge in
evolution-mail-message-display.xml first, since it is the parent UI
XML, really fixes bug #49949
svn path=/trunk/; revision=23984
2003-12-18 Rodrigo Moya <rodrigo@ximian.com>
* gui/tasks-component.c (impl_createControls):
* gui/calendar-component.c (impl_createControls): make sure we
connect to the "changed" signals after setting the initial selections
on the ESourceSelector. Fixes some nasty warnings because of
calendar_control_sensitize_calendar_commands being called with
no container yet for the control.
svn path=/trunk/; revision=23981
2003-12-18 Rodrigo Moya <rodrigo@ximian.com>
* gui/calendar-component.c (impl_createControls): make sure we
connect to the "changed" signals after setting the initial selections
on the ESourceSelector. Fixes some nasty warnings because of
calendar_control_sensitize_calendar_commands being called with
no container yet for the control.
svn path=/trunk/; revision=23979
2003-12-18 Harry Lu <harry.lu@sun.com>
* e-cell-date-edit.c: (e_cell_date_edit_do_popup): call
gdk_window_focus() so that keyboard works correctly.
svn path=/trunk/; revision=23975
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
2003-12-17 Chris Toshok <toshok@ximian.com>
* evolution-addressbook.xml: add ContactsViewPreview command, a
"Preview Pane" menu item, and a keybinding for it - same placement
as the mailer's item.
svn path=/trunk/; revision=23972
2003-12-17 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-addressbook-view.c (eab_view_class_init): install
the "source" property.
(eab_view_init): init eav->source to NULL.
(eab_view_dispose): disconnect the ecml_changed_id and unref
source.
(eab_view_new): create the search bar here.
(view_preview): c&p the mailer's code mostly for this - this is
the toggle listener for the Preview Pane menuitem.
(setup_menus): add a listener for the ContactsViewPreview toggle.
(eab_view_set_property): sensitize the search bar based on whether
or not we have a book set. This makes it so you can't search
until the book is loaded. Also add handling for the "source"
attribute and print a warning when it's set multiple times
(something that's not supported at the moment.)
(eab_view_get_property): add "source" case.
(search_activated, query_changed, compare_subitems, make_subitems,
ecml_changed, get_master_list, connect_master_list_changed): move
this here from addressbook.c
(eab_view_show_contact_preview): implement - just show or hide the
scrolled window.
(eab_view_setup_menus): call e_search_bar_set_ui_component here,
kind of a hack.
* gui/widgets/e-addressbook-view.h: make this inherit from GtkVBox
instead of GtkEventBox since we'll be packing children. Add a
prototype for eab_view_show_contact_preview.
* gui/component/addressbook.c (get_current_view): return the
EABView associated with the active notebook page.
(save_contact_cb): use the current view.
(view_contact_cb): same.
(search_cb): same.
(delete_contact_cb): same.
(print_cb): same.
(print_preview_cb): same.
(stop_loading_cb): same.
(cut_contacts_cb): same.
(copy_contacts_cb): same.
(paste_contacts_cb): same.
(select_all_contacts_cb): same.
(send_contact_cb): same.
(send_contact_to_cb): same.
(copy_contact_to_cb): same.
(move_contact_to_cb): same.
(update_command_state): same.
(change_view_type): nuke, nothing uses this.
(control_activate): use the current view.
(control_activate_cb): same.
(source_list_changed_cb): new function, remove the notebook pages
(and destroy the EABView's) for sources that no longer exist.
(addressbook_view_clear): dispose of the uid_to_view hash.
(book_open_cb): store the ESource on the EABView too. this
function now takes a struct containing both EABView and ESource
since we can't store either in the AddressbookView.
(set_prop): if we have a view already for this uid, bring it up.
otherwise create a new one and start the book loading.
(addressbook_search_activated): nuked - this is being moved to
e-addressbook-view.
(addressbook_query_changed): same.
(compare_subitems, make_subitems, ecml_changed,
connect_master_list_changed): same.
(addressbook_new_control): simplify things a bunch. create a
notebook to store the views in. the search/vbox stuff is gone.
use e_source_list_new_for_gconf_default, and handle the source
list's "changed" signal.
svn path=/trunk/; revision=23971
2003-12-17 Rodrigo Moya <rodrigo@ximian.com>
* gui/tasks-component.c (add_popup_menu_item):
* gui/calendar-component.c (add_popup_menu_item): use g_file_test
to check if the 'pixmap' argument is a file. If so, get the pixmap
from it, or gtk_image_new_from_stock will return an empty pixmap.
svn path=/trunk/; revision=23969
2003-12-17 Rodrigo Moya <rodrigo@ximian.com>
* gui/gnome-cal.c (client_cal_opened_cb): set a correct status
message.
* gui/tasks-component.c (fill_popup_menu_cb):
* gui/calendar-component.c (fill_popup_menu_cb): use the folder*.png
icons for folder operations.
* gui/Makefile.am: removed cal-client directory from $INCLUDES.
svn path=/trunk/; revision=23968
2003-12-17 Harry Lu <harry.lu@sun.com>
Fixes#51665.
* gui/e-week-view.c: (e_week_view_focus): call
e_week_view_check_layout() so that the spans won't be NULL.
svn path=/trunk/; revision=23967
2003-12-17 Rodrigo Moya <rodrigo@ximian.com>
* gui/calendar-commands.c: removed the 'NewCalendar' verb.
(file_new_calendar_cb): removed callback for 'NewCalendar' verb.
(impl__get_userCreatableItems): added 'New Calendar' to the list
of user creatable items.
(impl_requestCreateItem): implemented 'New Calendar'.
* gui/tasks-component.c (impl__get_userCreatableItems): added
'New Task List' to the list of user creatable items.
(impl_requestCreateItem): implemented 'New Task List'.
svn path=/trunk/; revision=23965
2003-12-17 Rodrigo Moya <rodrigo@ximian.com>
* gui/calendar-component.c (update_uri_for_primary_selection): call
calendar_control_sensitize_calendar_commands when the primary selection
changes.
(impl_createControls): keep the view_control in the private structure and
use control_factory_new_control() to create the control.
(control_activate_cb): removed unneeded function.
* gui/tasks-component.c (impl_createControls): use tasks_control_new to
create the tasks view control.
(control_activate_cb): removed unneeded function.
svn path=/trunk/; revision=23962
2003-12-17 Rodrigo Moya <rodrigo@ximian.com>
* gui/alarm-notify/alarm-notify.c (alarm_notify_remove_calendar):
make sure we free the data stored in the hash table.
(alarm_notify_add_calendar): call alarm_queue_add_client, or we wont
have alarms at all.
* gui/alarm-notify/alarm-queue.c: no need to hold a ref count.
(alarm_queue_add_client, alarm_queue_remove_client): don't use the
refcount private member.
(alarm_queue_add_client): don't connect to non-existing ECal signals.
(display_notification, free_client_alarms_cb): fixed warnings.
svn path=/trunk/; revision=23960
2003-12-16 Hans Petter Jansson <hpj@ximian.com>
* gui/contact-editor/e-contact-editor.c (contact_added_cb): Update
the contact's UID after normal add.
svn path=/trunk/; revision=23959
2003-12-16 Hans Petter Jansson <hpj@ximian.com>
* gui/component/addressbook.c (addressbook_show_load_error_dialog):
Make a public function that shows an error dialog, which can be used
when a source fails to load.
(book_open_cb): Call addressbook_show_load_error_dialog () on error.
(set_prop): Don't reuse the book when loading a new source. This was
confusing the contact-editor, which gets the book passed in.
* gui/contact-editor/e-contact-editor.c (e_contact_editor_class_init):
Make "source_book" and "target_book" distinct properties.
(new_target_cb): Implement.
(source_selected): Implement.
(contact_moved_cb): Implement.
(contact_added_cb): Handle the case where source_book != target_book as
a move - if the add was successful, remove contact from source book.
(save_contact): Handle case where source_book != target_book.
(delete_cb): "book" renamed to "source_book".
(e_contact_editor_init): Set up source_selected signal.
(e_contact_editor_dispose): Dispose of both source and target books.
(e_contact_editor_new): "book" renamed to "source_book".
(e_contact_editor_set_property): If a source book is set, and we don't
have a target book, make target_book == source_book. Allow setting
target book, and base editability on that. If we're editing an existing
contact, treat book change as a change, and update command state.
(e_contact_editor_get_property): Allow getting target book.
(set_source_field): Indicate the selected book.
svn path=/trunk/; revision=23958
2003-12-16 Yuedong Du <yuedong.du@sun.com>
Fixed bug 51917, add atk support for ClickToAdd
* gal/a11y/e-table/Makefile.am: add files.
* gal/a11y/e-table/gal-a11y-e-table-click-to-add-factory.c:
(gal_a11y_e_table_click_to_add_factory_get_accessible_type),
(gal_a11y_e_table_click_to_add_factory_create_accessible),
(gal_a11y_e_table_click_to_add_factory_class_init),
(gal_a11y_e_table_click_to_add_factory_init),
(gal_a11y_e_table_click_to_add_factory_get_type): factory
for ClickToAdd
* gal/a11y/e-table/gal-a11y-e-table-click-to-add-factory.h:
ditto
* gal/a11y/e-table/gal-a11y-e-table-click-to-add.c:
(etcta_get_n_actions), (etcta_get_description),
(etcta_action_get_name), (idle_do_action), (etcta_do_action),
(atk_action_interface_init): a "click" action interface.
(etcta_get_name),
(etcta_get_n_children), (etcta_ref_child): create accessible
according to which child is available. Either rect or row.
(etcta_class_init),
(etcta_init), (gal_a11y_e_table_click_to_add_get_type),
(etcta_event): listen to canvas event, emit children-changed signal
when it found rect/row was changed.
(gal_a11y_e_table_click_to_add_new):
* gal/a11y/e-table/gal-a11y-e-table-click-to-add.h:
* gal/a11y/e-table/gal-a11y-e-table-item-factory.c:
(gal_a11y_e_table_item_factory_create_accessible):
* gal/a11y/e-table/gal-a11y-e-table.c: (init_child_item),
(et_get_n_children), (et_ref_child): change the trick way to
create a11y object for a table item. Because ClickToAdd is also
a table item, previous way do not work for clicktoadd.
* gal/e-table/e-table-click-to-add.c: (etcta_class_init):
atk_register the new a11y factory.
svn path=/trunk/; revision=23956
2003-12-16 Hans Petter Jansson <hpj@ximian.com>
* gui/contact-editor/e-contact-editor.c (set_source_field): Implement.
Makes the source menu reflect the source for the current book.
svn path=/trunk/; revision=23955
2003-12-16 Hans Petter Jansson <hpj@ximian.com>
* misc/e-source-option-menu.c (select_source_foreach_menu_item):
Use e_source_equal() instead of comparing pointers. This allows user
to pass in a source that was obtained from somewhere else. Set the
matching internal source as "selected" instead of the one passed in.
(select_source): Emit signal only if we found a match. Don't ref/unref
anything, since the selected source will always be from our internal
list.
svn path=/trunk/; revision=23954
2003-12-16 Rodrigo Moya <rodrigo@ximian.com>
Fixes part of #41237
* gui/e-calendar-table.c: use GtkClipboard instead of GtkInvisible
for cut/copy/paste.
(selection_clear_event, selection_received, selection_get): removed
unneeded functions.
(e_calendar_table_init): don't create the invisible widget.
(e_calendar_table_copy_clipboard): use gtk_clipboard_set_text().
(e_calendar_table_paste_clipboard): use gtk_clipboard_request_text().
(clipboard_get_text_cb): callback for gtk_clipboard_request_text().
* gui/e-cal-view.c (e_calendar_view_init, e_calendar_view_destroy,
e_calendar_view_copy_clipboard): no need anymore to keep the last
clipboard selection, GtkClipboard does it for us.
svn path=/trunk/; revision=23952
2003-12-16 Rodrigo Moya <rodrigo@ximian.com>
* gui/alarm-notify/notify-main.c (alarm_notify_factory_fn): return
a reference to the alarm_notify_service, not NULL and ref the object
before returning it.
svn path=/trunk/; revision=23949
2003-12-16 Rodrigo Moya <rodrigo@ximian.com>
* gui/alarm-notify/notify-main.c (alarm_notify_factory_fn): return
a reference to the alarm_notify_service, not NULL.
svn path=/trunk/; revision=23948
2003-12-15 Hans Petter Jansson <hpj@ximian.com>
* gui/contact-editor/e-contact-editor.c (address_to_text): Implement.
(text_to_address): Implement, using EAddressWestern.
(address_text_changed): Adapt to EContactAddress.
(full_addr_clicked): Ditto. Fix field IDs.
(e_contact_editor_init): Init address_choice.
(_email_arrow_pressed): Fix field IDs.
(_address_arrow_pressed): Adapt to EContactAddress and fix field IDs.
(find_address_mailing): Leave out for now. Addresses don't have flags
anymore...
(set_fields): Adapt to EContactAddress and fix field IDs. Make sure
changes to other widgets don't make us go back to the first listed
address.
(set_address_field): Adapt to EContactAddress and fix field IDs.
(enable_writable_fields): Ditto.
(fill_in_info): Disable find_address_mailing () for now.
svn path=/trunk/; revision=23947
2003-12-15 JP Rosevear <jpr@ximian.com>
* gui/gnome-cal.c (setup_widgets): set the list view config
properly (so we don't blow away the month view config
svn path=/trunk/; revision=23944