Commit Graph

704 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
6354feb6d7 Small stylistical/aesthetical fix.
svn path=/trunk/; revision=11770
2001-08-08 09:22:31 +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
804c58f8bc yeah, and that last fix to :-)
svn path=/trunk/; revision=11640
2001-08-03 23:42:10 +00:00
5f5f1cce9f oops, should have tested that warning fix.
svn path=/trunk/; revision=11639
2001-08-03 23:41:18 +00:00
459ecd869f warning fix.
svn path=/trunk/; revision=11638
2001-08-03 23:37:56 +00:00
02ead26ac7 build fix
svn path=/trunk/; revision=11637
2001-08-03 23:27:58 +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
92117f6c69 Added some comments about the possible race condition issues with the
invocation of the CORBA call in `evolution_activity_client_update()'
and killed some debugging messages.

svn path=/trunk/; revision=11500
2001-07-31 04:59:54 +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
c2ba0b6c6b fix some warnings.
svn path=/trunk/; revision=11371
2001-07-24 23:31:06 +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