Files
evolution/shell/Evolution-Shell.idl
Jason Leach 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

109 lines
3.0 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Interface for the Evolution shell.
*
* Authors:
* Ettore Perazzoli <ettore@ximian.com>
*
* Copyright (C) 2000, 2001 Ximian, Inc.
*/
#include <Bonobo.idl>
module GNOME {
module Evolution {
interface ShellComponent;
interface FolderSelectionListener;
interface Shell : Bonobo::Unknown {
exception NotFound {};
exception UnsupportedSchema {};
exception InvalidURI {};
exception InternalError {};
exception Busy {};
typedef sequence<string> FolderTypeNameList;
/**
* getComponentByType:
* @type: name of a valid folder type
*
* Get the shell component associated with a specific folder type.
*
* Return value: the Evolution::ShellComponent interface for the component that
* handles @type.
*/
ShellComponent getComponentByType (in string type)
raises (NotFound);
/**
* createNewView:
* @uri: URI for the view to open
*
* Return value: the new view.
*/
ShellView createNewView (in string uri)
raises (NotFound, UnsupportedSchema, InvalidURI, InternalError);
/**
* handleURI:
* @uri: URI to handle
*
* This handles the specified URI. It is different from
* `::createNewView' as it doesn't necessarily imply creating a
* new ShellView. (For example, a `mailto:' URI will invoke
* the message composer.)
*/
void handleURI (in string uri)
raises (NotFound, UnsupportedSchema, InvalidURI, InternalError);
/**
* selectUserFolder:
* @listener: a listener interface to report the answer of the user.
* @title: title for the folder selector dialog
* @default_folder: physical or `evolution:' URI for the folder that must be
* selected by default, when the dialog is popped up
* @possible_types: list of the names of the types of folders that are allowed
*
* Pop up a folder selection dialog from which the user can select a folder.
* Initially, the @default_folder is selected. The user can also create a new
* folder by using the "New..." button. The dialog only lets the user choose
* a folder whose type is listed in @possible_types.
*/
void selectUserFolder (in FolderSelectionListener listener,
in string title,
in string default_folder,
in FolderTypeNameList possible_types)
raises (Busy);
/**
* getLocalStorage:
*
* Get the interface to the local storage.
*
* FIXME: Probably we just want to be able to request this to
* the StorageRegistry. This is an ugly kludge.
*
* Return value: the `Evolution::LocalStorage' interface for
* the local storage. */
Storage getLocalStorage ();
/**
* createStorageSetView:
*
* Create a control for the storage set view. This control
* will also implement the `Evolution::StorageSetView' interface.
*
* Return value: the newly created control.
*/
Bonobo::Control createStorageSetView ();
};
interface FolderSelectionListener {
void notifySelected (in string uri, in string physical_uri);
void notifyCanceled ();
};
};
};