aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-addressbook-reflow-adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-reflow-adapter.c')
-rw-r--r--addressbook/gui/widgets/e-addressbook-reflow-adapter.c303
1 files changed, 0 insertions, 303 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-reflow-adapter.c b/addressbook/gui/widgets/e-addressbook-reflow-adapter.c
index 793a9a4bc5..16e61a2d89 100644
--- a/addressbook/gui/widgets/e-addressbook-reflow-adapter.c
+++ b/addressbook/gui/widgets/e-addressbook-reflow-adapter.c
@@ -94,309 +94,6 @@ text_height (GnomeCanvas *canvas, const gchar *text)
return height;
}
-typedef struct {
- EAddressbookReflowAdapter *adapter;
- ESelectionModel *selection;
- GtkWidget *widget;
-} ModelAndSelection;
-
-static void
-model_and_selection_free (ModelAndSelection *mns)
-{
- if (mns->adapter)
- gtk_object_unref(GTK_OBJECT(mns->adapter));
- if (mns->selection) {
- e_selection_model_right_click_up(mns->selection);
- gtk_object_unref(GTK_OBJECT(mns->selection));
- }
- if (mns->widget)
- gtk_object_unref(GTK_OBJECT(mns->widget));
- g_free(mns);
-}
-
-static void
-add_to_list (int model_row, gpointer closure)
-{
- GList **list = closure;
- *list = g_list_prepend (*list, GINT_TO_POINTER (model_row));
-}
-
-static GList *
-get_card_list (ModelAndSelection *mns)
-{
- EAddressbookReflowAdapterPrivate *priv = mns->adapter->priv;
- GList *list;
- GList *iterator;
-
- list = NULL;
- e_selection_model_foreach (mns->selection, add_to_list, &list);
-
- for (iterator = list; iterator; iterator = iterator->next) {
- iterator->data = e_addressbook_model_card_at (priv->model, GPOINTER_TO_INT (iterator->data));
- gtk_object_ref (GTK_OBJECT (iterator->data));
- }
- list = g_list_reverse (list);
- return list;
-}
-
-static void
-save_as (GtkWidget *widget, ModelAndSelection *mns)
-{
- GList *list;
-
- list = get_card_list (mns);
- if (list)
- e_contact_list_save_as (_("Save as VCard"), list);
- e_free_object_list (list);
-}
-
-static void
-send_as (GtkWidget *widget, ModelAndSelection *mns)
-{
- GList *list;
-
- list = get_card_list (mns);
- if (list)
- e_card_list_send (list, E_CARD_DISPOSITION_AS_ATTACHMENT);
- e_free_object_list (list);
-}
-
-static void
-send_to (GtkWidget *widget, ModelAndSelection *mns)
-{
- GList *list;
-
- list = get_card_list (mns);
- if (list)
- e_card_list_send (list, E_CARD_DISPOSITION_AS_TO);
- e_free_object_list (list);
-}
-
-static void
-print (GtkWidget *widget, ModelAndSelection *mns)
-{
- GList *list;
-
- list = get_card_list (mns);
- if (list)
- gtk_widget_show (e_contact_print_card_list_dialog_new (list));
- e_free_object_list (list);
-}
-
-#if 0 /* Envelope printing is disabled for Evolution 1.0. */
-static void
-print_envelope (GtkWidget *widget, ModelAndSelection *mns)
-{
- GList *list;
-
- list = get_card_list (mns);
- if (list)
- gtk_widget_show (e_contact_print_envelope_list_dialog_new (list));
- e_free_object_list (list);
-}
-#endif
-
-static void
-card_changed_cb (EBook* book, EBookStatus status, gpointer user_data)
-{
- d(g_print ("%s: %s(): a card was changed with status %d\n", __FILE__, __FUNCTION__, status));
-}
-
-static void
-copy (GtkWidget *widget, ModelAndSelection *mns)
-{
- EAddressbookView *view = gtk_object_get_data (GTK_OBJECT (mns->adapter), "view");
- e_addressbook_view_copy (view);
-}
-
-static void
-cut (GtkWidget *widget, ModelAndSelection *mns)
-{
- EAddressbookView *view = gtk_object_get_data (GTK_OBJECT (mns->adapter), "view");
- e_addressbook_view_copy (view);
- e_addressbook_view_delete_selection (view);
-}
-
-static void
-paste (GtkWidget *widget, ModelAndSelection *mns)
-{
- EAddressbookView *view = gtk_object_get_data (GTK_OBJECT (mns->adapter), "view");
- e_addressbook_view_paste (view);
-}
-
-static void
-delete (GtkWidget *widget, ModelAndSelection *mns)
-{
- EAddressbookReflowAdapterPrivate *priv = mns->adapter->priv;
- GList *list;
-
- list = get_card_list (mns);
- if (list) {
-
- if (e_contact_editor_confirm_delete(NULL)) { /*FIXME: Give a GtkWindow here. */
- GList *iterator;
- EBook *book = e_addressbook_model_get_ebook(priv->model);
-
- for (iterator = list; iterator; iterator = iterator->next) {
- ECard *card = iterator->data;
-
- gtk_object_ref(GTK_OBJECT(card));
-
- e_book_remove_card (book,
- card,
- card_changed_cb,
- NULL);
-
- gtk_object_unref(GTK_OBJECT(card));
- }
- }
- }
-
- e_free_object_list (list);
-}
-
-static void
-open_card (GtkWidget *widget, ModelAndSelection *mns)
-{
- EAddressbookReflowAdapterPrivate *priv = mns->adapter->priv;
- GList *list;
- EBook *book = e_addressbook_model_get_ebook(priv->model);
-
- list = get_card_list (mns);
-
- e_addressbook_show_multiple_cards (book, list, e_addressbook_model_editable (priv->model));
- e_free_object_list (list);
-}
-
-static void
-transfer_cards (ModelAndSelection *mns, gboolean delete_from_source)
-{
- EBook *book;
- GList *cards;
- GtkWindow *parent_window;
-
- book = e_addressbook_model_get_ebook(mns->adapter->priv->model);
- cards = get_card_list (mns);
- if (mns->widget)
- parent_window = GTK_WINDOW (gtk_widget_get_toplevel (mns->widget));
- else
- parent_window = NULL;
-
- e_addressbook_transfer_cards (book, cards, delete_from_source, parent_window);
-}
-
-static void
-copy_to_folder (GtkWidget *widget, ModelAndSelection *mns)
-{
- transfer_cards (mns, FALSE);
-}
-
-static void
-move_to_folder (GtkWidget *widget, ModelAndSelection *mns)
-{
- transfer_cards (mns, TRUE);
-}
-
-static void
-free_popup_info (GtkWidget *w, ModelAndSelection *mns)
-{
- model_and_selection_free (mns);
-}
-
-#define POPUP_READONLY_MASK 0x01
-gint
-e_addressbook_reflow_adapter_right_click (EAddressbookReflowAdapter *adapter, GdkEvent *event, ESelectionModel *selection)
-{
- EAddressbookReflowAdapterPrivate *priv = adapter->priv;
- ModelAndSelection *mns = g_new(ModelAndSelection, 1);
- GtkMenu *popup;
- EPopupMenu menu[] = {
- E_POPUP_ITEM (N_("Open"), GTK_SIGNAL_FUNC(open_card), 0),
- E_POPUP_ITEM (N_("Save as VCard"), GTK_SIGNAL_FUNC(save_as), 0),
- E_POPUP_ITEM (N_("Forward Contact"), GTK_SIGNAL_FUNC(send_as), 0),
- E_POPUP_ITEM (N_("Send Message to Contact"), GTK_SIGNAL_FUNC(send_to), 0),
- E_POPUP_ITEM (N_("Print"), GTK_SIGNAL_FUNC(print), 0),
-#if 0 /* Envelope printing is disabled for Evolution 1.0. */
- E_POPUP_ITEM (N_("Print Envelope"), GTK_SIGNAL_FUNC(print_envelope), 0),
-#endif
- E_POPUP_SEPARATOR,
-
- E_POPUP_ITEM (N_("Copy to folder..."), GTK_SIGNAL_FUNC(copy_to_folder), 0),
- E_POPUP_ITEM (N_("Move to folder..."), GTK_SIGNAL_FUNC(move_to_folder), POPUP_READONLY_MASK),
- E_POPUP_SEPARATOR,
-
- E_POPUP_ITEM (N_("Cut"), GTK_SIGNAL_FUNC (cut), POPUP_READONLY_MASK),
- E_POPUP_ITEM (N_("Copy"), GTK_SIGNAL_FUNC (copy), 0),
- E_POPUP_ITEM (N_("Paste"), GTK_SIGNAL_FUNC (paste), POPUP_READONLY_MASK),
- E_POPUP_ITEM (N_("Delete"), GTK_SIGNAL_FUNC (delete), POPUP_READONLY_MASK),
- E_POPUP_TERMINATOR
- };
-
- mns->adapter = adapter;
- mns->selection = selection;
- mns->widget = gtk_get_event_widget (event);
- gtk_object_ref(GTK_OBJECT(mns->adapter));
- gtk_object_ref(GTK_OBJECT(mns->selection));
- if (mns->widget)
- gtk_object_ref(GTK_OBJECT(mns->widget));
- popup = e_popup_menu_create (menu, e_addressbook_model_editable(priv->model) ? 0 : POPUP_READONLY_MASK, 0, mns);
-
- gtk_signal_connect (GTK_OBJECT (popup), "selection-done",
- GTK_SIGNAL_FUNC (free_popup_info), mns);
- e_popup_menu (popup, event);
-
- return TRUE;
-}
-
-static void
-new_card (GtkWidget *widget, ModelAndSelection *mns)
-{
- EBook *book;
-
- book = e_addressbook_model_get_ebook(mns->adapter->priv->model);
-
- e_addressbook_show_contact_editor (book, e_card_new(""), TRUE, TRUE);
-}
-
-static void
-new_list (GtkWidget *widget, ModelAndSelection *mns)
-{
- EBook *book;
-
- book = e_addressbook_model_get_ebook(mns->adapter->priv->model);
-
- e_addressbook_show_contact_list_editor (book, e_card_new(""), TRUE, TRUE);
-}
-
-gint
-e_addressbook_reflow_adapter_base_right_click (EAddressbookReflowAdapter *adapter, GdkEvent *event)
-{
- EAddressbookReflowAdapterPrivate *priv = adapter->priv;
- ModelAndSelection *mns = g_new(ModelAndSelection, 1);
- GtkMenu *popup;
- EPopupMenu menu[] = {
- E_POPUP_ITEM (N_("New Contact..."), GTK_SIGNAL_FUNC(new_card), POPUP_READONLY_MASK),
- E_POPUP_ITEM (N_("New Contact List..."), GTK_SIGNAL_FUNC(new_list), POPUP_READONLY_MASK),
- E_POPUP_SEPARATOR,
- E_POPUP_ITEM (N_("Paste"), GTK_SIGNAL_FUNC (paste), POPUP_READONLY_MASK),
- E_POPUP_TERMINATOR
- };
-
- mns->adapter = adapter;
- mns->selection = NULL;
- mns->widget = gtk_get_event_widget (event);
- gtk_object_ref(GTK_OBJECT(mns->adapter));
- if (mns->widget)
- gtk_object_ref(GTK_OBJECT(mns->widget));
- popup = e_popup_menu_create (menu, e_addressbook_model_editable(priv->model) ? 0 : POPUP_READONLY_MASK, 0, mns);
-
- gtk_signal_connect (GTK_OBJECT (popup), "selection-done",
- GTK_SIGNAL_FUNC (free_popup_info), mns);
- e_popup_menu (popup, event);
-
- return TRUE;
-}
-
static void
addressbook_finalize(GtkObject *object)
{