Commit Graph

586 Commits

Author SHA1 Message Date
31047e36fe [Fixes, among other things, #5705, "Ampersands not handled
correctly in drag + drop".  Thanks to Nat for actually discovering
the problem.]

* e-shortcuts.c (save_shortcuts): Use `xmlNewTextChild()' instead
of `xmlNewChild()'.

* e-local-folder.c (save_metadata): Use `xmlNewTextChild' instead
of `xmlNewChild()'.

svn path=/trunk/; revision=11783
2001-08-08 11:54:51 +00:00
8a3a5c7b9a Set the release flag on the sequence, and CORBA_string_dup() the strings
* evolution-shell-component.c
(fill_corba_sequence_from_null_terminated_string_array): Set the
release flag on the sequence, and CORBA_string_dup() the strings
anyway.

svn path=/trunk/; revision=11781
2001-08-08 10:47:48 +00:00
588f0d537f Set the release flag on the returned folder type list too.
* evolution-shell-component.c
(impl_ShellComponent__get_supported_types): Set the release flag
on the returned folder type list too.

* evolution-activity-client.c (create_icon_from_pixbuf): Set the
release flag on the sequence, not the struct that contains it.

svn path=/trunk/; revision=11779
2001-08-08 10:18:41 +00:00
bb74dae1ce Set the release flag for the newly allocated sequence.
* e-corba-shortcuts.c (shortcut_list_to_corba): Set the release
flag for the newly allocated sequence.

* e-activity-handler.c (impl_operationStarted): Unref the
icon_pixbuf.

* e-task-widget.c (impl_destroy): g_free the private struct.

svn path=/trunk/; revision=11778
2001-08-08 09:56:34 +00:00
119cea086d clarify last entry
svn path=/trunk/; revision=11776
2001-08-08 09:40:32 +00:00
98bb9f7348 Set the icon for the folder tree correctly.
2001-08-08  Jason Leach  <jleach@ximian.com>

	* e-storage-set-view.c (etree_icon_at): Set the icon for the
	folder tree correctly.

svn path=/trunk/; revision=11775
2001-08-08 09:40:02 +00:00
e835aa2faf Fill the CORBA sequence once.
* evolution-shell-component.c
(impl_ShellComponent__get_supported_types): Fill the CORBA
sequence once.

* e-activity-handler.c (activity_info_free): Unref the icon.

svn path=/trunk/; revision=11773
2001-08-08 09:38:46 +00:00
3f704068b6 Sigh. If the function says "prepend", of course the function to call is
* e-task-bar.c (e_task_bar_prepend_task): Sigh.  If the function
says "prepend", of course the function to call is
`g_list_prepend()', not `g_list_append()'.  You dumbass.

svn path=/trunk/; revision=11771
2001-08-08 09:23:34 +00:00
91fe573ce4 Set the sensitivity for the OK button when a storage is selected too. Bug
2001-08-08  Jason Leach  <jleach@ximian.com>

	* e-shell-folder-creation-dialog.c
	(storage_set_view_storage_selected_cb): Set the sensitivity for
	the OK button when a storage is selected too.  Bug #6473.

svn path=/trunk/; revision=11765
2001-08-08 06:56:22 +00:00
da776b9652 Set the release flag on the returned icon to %TRUE.
* evolution-activity-client.c (create_icon_from_pixbuf): Set the
release flag on the returned icon to %TRUE.

svn path=/trunk/; revision=11764
2001-08-08 06:43:19 +00:00
a3075377cc If the shortcut points to some folder in the storage set, get the type
* e-shortcuts.c (load_shortcuts): If the shortcut points to some
folder in the storage set, get the type from it.

* e-storage-set.c (signal_new_folder_for_all_folders_under_paths):
New helper function.
(signal_new_folder_for_all_folders_in_storage): New helper
function.
(e_storage_set_add_storage): Call the latter to emit a
"new_folder" signal for all the folders contained in the newly
added storage.

svn path=/trunk/; revision=11750
2001-08-07 23:16:30 +00:00
3bc73b6a38 [This should fix #5407, application crash on re-opening.]
* e-shell.c (e_shell_construct): Call
`gtk_widget_hide_on_delete()' on the splash.

* e-splash.c (e_splash_add_icon): Don't check for destruction
here.
(e_splash_set_icon_highlight): Not even here.
(button_press_event): Use a GTK+ cast.

svn path=/trunk/; revision=11743
2001-08-07 21:47:25 +00:00
6feb0b5e5c [Updated the shortcuts view implementation to set the icons on a
per-shortcut basis (instead of a per-URL basis) according to the
changes in the EShortcutBar API.]

* e-shortcuts-view-model.c (load_group_into_model): Get the icon
from the folder type registry.
(shortcuts_new_shortcut_cb): Likewise.
(shortcuts_update_shortcut_cb): Likewise.

* e-shortcuts-view.c (icon_callback): Removed.
(e_shortcuts_view_construct): Don't set the icon callback anymore.

svn path=/trunk/; revision=11741
2001-08-07 21:13:52 +00:00
d4b5090830 Don't use a leaky hash to get folder names with unread count, use
2001-08-07  Jason Leach  <jleach@ximian.com>

	* e-storage-set-view.c (etree_value_at): Don't use a leaky hash to
	get folder names with unread count, use gtk_object_set_data_full
	and gtk_object_get_data on the EFolder.
	(etree_icon_at): Give the "My Evolution" storage an icon through a
	non-generic way.  Will be replaced by a generic method when other
	storages get icons too.

svn path=/trunk/; revision=11735
2001-08-07 18:33:57 +00:00
db2a3227a2 Free the CORBA version of the animated icon.
* evolution-activity-client.c
(evolution_activity_client_construct): Free the CORBA version of
the animated icon.

svn path=/trunk/; revision=11731
2001-08-07 17:28:08 +00:00
40e6b9ec16 Unref the listener when done.
2001-08-07  Not Zed  <NotZed@Ximian.com>

        * evolution-activity-client.c (impl_destroy): Unref the listener
        when done.

svn path=/trunk/; revision=11725
2001-08-07 07:58:36 +00:00
fbf4f214b5 Remove member hbox' from struct _EShellFolderTitleBarPrivate'.
* e-shell-folder-title-bar.c: Remove member `hbox' from `struct
_EShellFolderTitleBarPrivate'.
(make_icon_pixmap): Removed.
(rgb_from_gdk_color): Removed.
(endarken_style): Removed.
(set_style_cb): Removed.
(create_arrow_pixmap): Renamed from `create_icon_pixmap'.
(get_max_clipped_label_width): New helper function.
(size_allocate_icon): New helper function.
(size_allocate_button): New helper function.
(size_allocate_label): New helper function.
(add_icon_widget): New helper function.
(realize): Changed to use `add_icon_widget()'.
(size_allocate): New function, handler for the ::size_allocate
method.
(class_init): Install it.
(e_shell_folder_title_bar_construct): Changed so that the widget
get added to this widget instead of adding an hbox to it and
adding the widgets to the hbox.
(e_shell_folder_title_bar_set_icon): Changed to use
`add_icon_widget()'.

* e-shell-folder-title-bar.h, e-shell-folder-title-bar.c: Changed
to derive from GtkHBox, not GtkEventBox.

svn path=/trunk/; revision=11718
2001-08-07 01:08:12 +00:00
f479e873a4 Turn on highlighting on a row by row basis.
2001-08-06  Christopher James Lahey  <clahey@ximian.com>

	* e-storage-set-view.c (tree_drag_motion): Turn on highlighting on
	a row by row basis.

svn path=/trunk/; revision=11715
2001-08-06 22:20:35 +00:00
bd2f1603e5 Add some padding to the label so that the title doesn't move around when
* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
Add some padding to the label so that the title doesn't move
around when you switch between pop-up and non-pop-up folder bar.
Also, change all the GtkLabels to be GtkClippedLabels instead.
(e_shell_folder_title_bar_set_title): Updated to use
EClippedLabels instead of GtkLabels.
(e_shell_folder_title_bar_set_folder_bar_label): Likewise.

* e-shell.c (impl_Shell__get_displayName): New, implementation for
the `displayName' attribute.

* Evolution-Shell.idl: Added readonly attribute `displayName' to
get the canonicalized X11 display name for the shell.

* e-shell.c (e_shell_construct): Ooops.  Return
`E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER' if the OAF registration
fails, not `E_SHELL_CONSTRUCT_RESULT_GENERICERROR'.

* e-shortcuts-view.c (rename_group_cb): Get the toplevel from the
shortcuts view, not the widget.
(rename_shortcut_cb): Likewise.
(show_new_group_dialog): Changed to use `e_request_string()'.

* evolution-test-component.c: Add the %FALSE value for the
`user_creatable' field in the `folder_types' entry.

* evolution-shell-client.c: New member `shortcuts_interface' in
`EvolutionShellClientPrivate'.
(destroy): Unref it if not CORBA_OBJECT_NIL.
(init): Init to CORBA_OBJECT_NIL.
(query_shell_interface): New helper function to query an interface
on the shell and spit out warnings if it fails.
(evolution_shell_client_construct): Use it to query the ::Activity
interface.  Also query the ::Shortcuts interface and set the
`shortcuts_interface' member to point to it.

* e-shell.c: New member `corba_shortcuts' in `EShellPrivate'.
(init): Init to NULL.
(setup_shortcuts_interface): Helper function to add the
::Shortcuts CORBA interface to the shell.
(e_shell_construct): Call it.

* e-corba-shortcuts.c, e-corba-shortcuts.h: New objects
implementing the `Evolution::Shortcuts' CORBA interface.

* Evolution-Shortcuts.idl: New interface for accessing the
shortcuts in the shell.

* e-shell.c (e_shell_get_config_db): Moved down.

svn path=/trunk/; revision=11689
2001-08-05 04:33:57 +00:00
f35d325f79 Some paths here don't set handled properly so lets initialize it to FALSE.
2001-08-03  Christopher James Lahey  <clahey@ximian.com>

	* e-storage-set-view.c (tree_drag_data_received): Some paths here
	don't set handled properly so lets initialize it to FALSE.
	(update_folder_with_unread_hash, etree_value_at): constified
	folder_name here.
	(init): Initialize priv->drag_path here to NULL.

svn path=/trunk/; revision=11648
2001-08-04 03:35:29 +00:00
385ba85d42 [Removing Evolution::LocalStorage interface, abstracting the unread counts
2001-08-03  Jason Leach  <jleach@ximian.com>

        [Removing Evolution::LocalStorage interface, abstracting the
        unread counts from a folder's name, also abstract unread counts
        from a shortcut's name.  Fixes #4489 and #5497]

        * e-shortcuts.c (shortcut_item_new): Take an unread_count argument
        now.
        (shortcut_item_update): Ditto.

        * e-shortcuts-view-model.c (get_name_with_unread): Get a string
        containing a shortcut name and it's unread, because these are
        abstracted now.
        (load_group_into_model): Use the above function to make shortcuts
        that have unread counts.

        * e-storage-set-view.c (update_folder_with_unread_hash): Keep a
        hash of folder names with unread counts, because the folder name
        and it's unread count are to be separated, only the ETree is
        supposed to present it as one string.

        * e-shell-view.c: Renamed EShellView::view_title_bar to
        folder_title_bar, to closer match the

        * e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb):
        Make a shortcut with the unread count.

        * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
        Make a shortcut with the unread count.

        * e-local-storage.c: Updated for API changes.

        * e-folder.c (e_folder_get_unread_count): New function, does what
        it says.
        (e_folder_set_unread_count): Ditto.

        * e-corba-storage.c (impl_StorageListener_new_folder): Renamed to
        match the IDL function name.
        (impl_StorageListener_update_folder): Ditto.
        (impl_StorageListener_removed_folder): Ditto.

        * Evolution-Storage.idl (struct Folder): Replace the boolean
        highlighted with a long unread_count.
        (updateFolder): Brought in from the now dead
        Evolution::LocalStorage.

        * Evolution-Shell.idl (getLocalStorage): Return a Storage instead
        of a LocalStorage.

        * Evolution-LocalStorage.idl: Removed, no longer needed, only used
        function, updateFolder, has been moved into Evolution::Storage
        interface.

        * evolution-local-storage.[ch]: Ditto.

        * evolution-storage.c (impl_Storage_updateFolder): Implementation
        of the updateFolder taken from ::LocalStorage.
        (class_init): New "update_folder" signal, taken from
        evolution-local-storage.c too.
        (evolution_storage_update_folder): Take an @unread_count int
        instead of a @highlighted boolean.
        (evolution_storage_new_folder): Same for here.
        (evolution_storage_update_folder_by_uri): And here.

        * evolution-storage-listener.h: "update_folder" signal no longer
        sends a @highlighted boolean.

2001-08-03  Jason Leach  <jleach@ximian.com>

        * e-shell-view-menu.c (update_offline_menu_item): Use Jakub's new
        "Work Online" icon and fix a typo.

svn path=/trunk/; revision=11633
2001-08-03 23:08:38 +00:00
0039ef5422 [Fix #6232, the thirty-four-splash-screens-at-startup bug.]
* e-shell.c (setup_local_storage): Add an E_STORAGE() cast to
prevent a warning.

* main.c (idle_cb): Only try to activate from the shell ID if the
result is `E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER'; if there is a
different error, spit out a dialog box with a description of it
and exit instead.

* e-shell.c (e_shell_construct): Return an `EShellConstructResult'
describing what kind of result we had.  Show the splash after the
DB has been reached, not before.
(e_shell_construct_result_to_string): New function to get a
descriptive string out of an `EShellConstructResult'.
(e_shell_new): New arg @construct_result_return to return a
description of the result of the operation.

* e-shell.h: New enum `EShellConstructResult'.

* e-shell.c (impl_Shell_createNewView): Raise `InternalError'
instead of crashing if the shell_view returns a CORBA_OBJECT_NIL.

* Evolution-Shell.idl: New exception `InternalError'.
`createNewView' and `handleURI' can raise it.

svn path=/trunk/; revision=11611
2001-08-03 14:27:44 +00:00
b5c3ca3079 Make "My Evolution" a normal storage instead of being the toplevel
node that contains everything else.

svn path=/trunk/; revision=11610
2001-08-03 13:18:08 +00:00
d47f4318ee Call `gtk_drag_finish()' here.
* e-storage-set-view.c (tree_drag_data_received): Call
`gtk_drag_finish()' here.

svn path=/trunk/; revision=11608
2001-08-03 10:05:42 +00:00
92ef30b420 Actually __fini the servant and deactivate the object too.
* e-shell-offline-handler.c (progress_listener_servant_free):
Actually __fini the servant and deactivate the object too.
(component_info_free): Updated accordingly [i.e. don't do the
deactivation stuff here].

svn path=/trunk/; revision=11607
2001-08-03 08:50:33 +00:00
bb98a04df3 [Fixes #4663, startup crash.]
* e-shell.c (e_shell_construct): Make sure the pointer to the db
object is CORBA_OBJECT_NIL if `bonobo_get_object()' raises an
exception.

svn path=/trunk/; revision=11606
2001-08-03 07:16:08 +00:00
384fbf44ff Also call `PortableServer_POA_deactivate_object()' on the progress
* e-shell-offline-handler.c (component_info_free): Also call
`PortableServer_POA_deactivate_object()' on the progress listener
object so it gets deactivated.

svn path=/trunk/; revision=11605
2001-08-03 06:21:07 +00:00
b6b0c36a3b Spit out a warning if we cannot resolve "Bonobo/ConfigDatabase" on
* e-shell.c (e_shell_construct): Spit out a warning if we cannot
resolve "Bonobo/ConfigDatabase" on "wombat:".  Also, register on
OAF only after we are sure we are not going to return FALSE.

svn path=/trunk/; revision=11603
2001-08-03 03:17:14 +00:00
bc6c3e5084 Set the `set_folder_uri' to NULL when freeing it.
* e-shell-view.c (switch_on_folder_tree_click): Set the
`set_folder_uri' to NULL when freeing it.

* e-task-bar.c (e_task_bar_remove_task): Just destroy the widget.
No need to `gtk_container_remove()' it.

svn path=/trunk/; revision=11597
2001-08-02 20:08:48 +00:00
6b4e29c7e6 Do a NULL-check on current_uri - socket is being closed? (as per the
2001-08-01  Jeffrey Stedfast  <fejj@ximian.com>

	* e-shell-view-menu.c (command_new_folder): Do a NULL-check on
	current_uri - socket is being closed? (as per the comments for the
	NULL-check in e-shell-view.c:socket_destroy_cb).

svn path=/trunk/; revision=11557
2001-08-01 17:22:18 +00:00
51495d2ce7 Removed debugging messages.
* evolution-activity-client.c: Removed debugging messages.

svn path=/trunk/; revision=11501
2001-07-31 05:00:57 +00:00
7076a58a3e Also update have_pending_update before calling corba, as below.
2001-07-31  Not Zed  <NotZed@Ximian.com>

	* evolution-activity-client.c (evolution_activity_client_update):
	Also update have_pending_update before calling corba, as below.

svn path=/trunk/; revision=11499
2001-07-31 02:55:20 +00:00
360b921ac3 [This should fix #5110, shell crash when switching folders.]
* evolution-activity-client.c (update_timeout_callback): Set the
`have_pending_update' flag before doing the CORBA call.
(evolution_activity_client_update): Set the timeout before doing
the CORBA call.

svn path=/trunk/; revision=11498
2001-07-31 02:39:38 +00:00
c7fa1e7eb5 Remember the current group so after renaming a group it doesn't flip to
2001-07-30  Jason Leach  <jleach@ximian.com>

	* e-shortcuts-view.c (rename_group_cb): Remember the current group
	so after renaming a group it doesn't flip to the next group.  Bug
	#3857.

	* e-shortcuts.c (e_shortcuts_rename_group): Comparing two
	separately allocated strings, use strcmp() instead of !=.

svn path=/trunk/; revision=11483
2001-07-30 19:24:22 +00:00
116e504828 If we can't create a folder because it already exists, select that folder
2001-07-30  Jason Leach  <jleach@ximian.com>

	* e-shell-folder-creation-dialog.c (async_create_cb): If we can't
	create a folder because it already exists, select that folder that
	exists.  Bug #1716.

svn path=/trunk/; revision=11482
2001-07-30 19:21:01 +00:00
9b4b5c6598 Fix support for gtkhtml when compiled with gconf support
svn path=/trunk/; revision=11473
2001-07-30 14:22:50 +00:00
c3ccc6c547 Remove the source for the timeout *before* invoking the CORBA method, as
* evolution-activity-client.c (impl_destroy): Remove the source
for the timeout *before* invoking the CORBA method, as we might
get the timeout callback while invoking the CORBA method, thus
screwing things up.

* evolution-shell-component-client.c (destroy_listener_interface):
New helper function.
(dispatch_callback): Use it.
(impl_destroy): Call it when destroying the listener interface
instead of just freeing the servant.

svn path=/trunk/; revision=11452
2001-07-27 17:47:19 +00:00
f98da84ec3 Little UI nit: capitalize the words Offline/Online for the File menu.
2001-07-26  Jason Leach  <jleach@ximian.com>

	* e-shell-view-menu.c (update_offline_menu_item): Little UI nit:
	capitalize the words Offline/Online for the File menu.

svn path=/trunk/; revision=11428
2001-07-26 16:56:33 +00:00
38a2779f97 New function. When a folder is selected set the OK button to be sensitive
2001-07-25  Jason Leach  <jleach@ximian.com>

	* e-shell-folder-selection-dialog.c (folder_selected_cb): New
	function.  When a folder is selected set the OK button to be
	sensitive (but before that have it desensitized).  Bug #5483.

svn path=/trunk/; revision=11414
2001-07-25 22:04:44 +00:00
ee16607d42 A warning fix from Jacob. Bug #5057.
2001-07-25  Jason Leach  <jleach@ximian.com>

	* e-shortcuts-view.c (icon_callback): A warning fix from Jacob.
	Bug #5057.

svn path=/trunk/; revision=11403
2001-07-25 17:45:57 +00:00
fcfda658fd $(BONOBO_CONF_CFLAGS) was here twice, took out one of them.
2001-07-25  Jason Leach  <jleach@ximian.com>

	* Makefile.am (INCLUDES): $(BONOBO_CONF_CFLAGS) was here twice,
	took out one of them.

	* e-shell-view.c (socket_destroy_cb): Mem leak fix.  Thanks to the
	amazing Jacob B. Bug #5054.

svn path=/trunk/; revision=11402
2001-07-25 16:55:28 +00:00
4de97d0b5b #include <libgnome/gnome-defs.h> and <libgnome/gnome-i18n.h> instead of
2001-07-25  Jason Leach  <jleach@ximian.com>

	* e-task-widget.c: #include <libgnome/gnome-defs.h> and
	<libgnome/gnome-i18n.h> instead of the full <libgnome/libgnome.h>,
	as noted by a comment here.

svn path=/trunk/; revision=11397
2001-07-25 15:08:11 +00:00
3c69c8b3cc Add the "/My Evolution" path to the path_to_etree_node hash so that
2001-07-24  Jason Leach  <jleach@ximian.com>

	* e-storage-set-view.c (e_storage_set_view_construct): Add the
	"/My Evolution" path to the path_to_etree_node hash so that
	storage_set_view_set_current_folder() can select the My Evolution
	node when it's the current one. Fixes #5114 and #3956.

svn path=/trunk/; revision=11348
2001-07-24 18:59:46 +00:00
8dd7c75d29 Only show the warning dialog instead of using `gnome_dialog_run()' so it
* main.c (development_warning): Only show the warning dialog
instead of using `gnome_dialog_run()' so it is not modal.  Modal
would be nice, but unfortunately it works bad with Bonobo.  Plus
Sawfish doesn't like to keep the modal dialog on top, so it gets
very confusing for users.

svn path=/trunk/; revision=11331
2001-07-24 01:33:43 +00:00
ce1e7cbcf1 Uhm, set the usize to `1, -1' instead.
* e-task-widget.c (e_task_widget_construct): Uhm, set the usize to
`1, -1' instead.

svn path=/trunk/; revision=11318
2001-07-23 19:52:38 +00:00
adbf1e2b83 Set the usize for the contained hbox to 0x0.
* e-task-widget.c (e_task_widget_construct): Set the usize for the
contained hbox to 0x0.

svn path=/trunk/; revision=11311
2001-07-23 18:55:26 +00:00
51a223f8ac Get the manuals from the `evolution-guide' dir as that's where they get
* e-shell-view-menu.c: Get the manuals from the `evolution-guide'
dir as that's where they get installed.

svn path=/trunk/; revision=11309
2001-07-23 18:21:42 +00:00
d5a23e6131 Don't handle button events whose button number is not 1.
* e-shell-view.c (storage_set_view_box_button_release_event_cb):
Don't handle button events whose button number is not 1.

svn path=/trunk/; revision=11305
2001-07-23 17:49:55 +00:00
97cc1d57ad Add an extra @type arg to the xferFolder and removeFolder methods in
the ShellComponent interface.  Updated the EvolutionShellComponent
GTK+ wrapper and all the component accordingly.  Get the calendar to
use this so it can delete both tasks and calendar folders.

svn path=/trunk/; revision=11300
2001-07-23 02:04:14 +00:00
ced2af3321 Add a `user_creatable' property to folder types and make components
use it, so that e.g. you cannot create a folder of type "mailstorage"
or "vtrash".

svn path=/trunk/; revision=11298
2001-07-22 03:50:07 +00:00