aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-minicard-view-widget.c
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2001-03-18 06:30:06 +0800
committerChris Toshok <toshok@src.gnome.org>2001-03-18 06:30:06 +0800
commitb16a04e98d4d6afd4507fcd8e9bf31358f1b6344 (patch)
tree712f5da2d44ad0655e4356eda3d2e3eed0628265 /addressbook/gui/widgets/e-minicard-view-widget.c
parentc768305c2f2203cf1fb9262a9f22b5a5f2dafebb (diff)
downloadgsoc2013-evolution-b16a04e98d4d6afd4507fcd8e9bf31358f1b6344.tar.gz
gsoc2013-evolution-b16a04e98d4d6afd4507fcd8e9bf31358f1b6344.tar.zst
gsoc2013-evolution-b16a04e98d4d6afd4507fcd8e9bf31358f1b6344.zip
new function. (impl_BookListener_report_writable): new function.
2001-03-17 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-listener.c (e_book_listener_queue_writable_status): new function. (impl_BookListener_report_writable): new function. (e_book_listener_get_epv): fill in epv->notifyWritable. * backend/ebook/e-book-listener.h: add writable status entries. * backend/ebook/e-book.c (e_book_do_writable_event): new function. (e_book_check_listener_queue): add WritableStatusEvent to the switch. (e_book_class_init): register writable_status signal. * backend/ebook/e-book.h: add writable_status signal. * backend/idl/addressbook.idl: add notifyWritable method to BookListener. * gui/widgets/e-minicard.c (e_minicard_class_init): add "editable" arg. (e_minicard_init): init editable. (e_minicard_set_arg): loop over the minicard fields setting their "editable". (e_minicard_get_arg): add editable. (supported_fields_cb): use editable when creating the contact_editor. (add_field): set "editable" when creatin the e_minicard. * gui/widgets/e-minicard.h (struct _EMinicard): add "editable". * gui/widgets/e-minicard-view.c (e_minicard_view_class_init): add editable arg. (e_minicard_view_init): init editable. (create_card): pass editable to e_minicard canvas item. (e_minicard_view_set_arg): bit of a hack - loop over all the canvas items setting their "editable." (e_minicard_view_get_arg): add editable. (supported_fields_cb): use editable when creating the contact editor. * gui/widgets/e-minicard-view.h (struct _EMinicardView): add "editable." * gui/widgets/e-minicard-view-widget.c (e_minicard_view_widget_class_init): add "editable" field. (e_minicard_view_widget_init): init editable to FALSE. (e_minicard_view_widget_set_arg): save editable, and pass it along the e-minicard-view. (e_minicard_view_widget_realize): same. (e_minicard_view_widget_get_arg): add editable. * gui/widgets/e-minicard-view-widget.h (struct _EMinicardViewWidget): add "editable" field. * gui/widgets/e-minicard-label.h (struct _EMinicardLabel): add "editable" field. * gui/widgets/e-minicard-label.c (e_minicard_label_class_init): add "editable" arg. (e_minicard_label_set_arg): editable, set it on the e_text too. (e_minicard_label_get_arg): editable. (e_minicard_label_construct): set the "editable" field when we create the e_text cavas item * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): default editable to FALSE. (book_writable_cb): new function, set our editable field and gtk_object_set it on the active view. (e_addressbook_view_set_arg): set the active view's editable when we set the view's book, and connect the "writable_status" signal to book_writable_cb. (change_view_type): same. (supported_fields_cb): use our "editable" when creating the contact editor. * gui/widgets/e-addressbook-view.h (struct _EAddressbookView): add editable field. * gui/widgets/e-addressbook-model.c (e_addressbook_model_init): change the default of editable to FALSE. * backend/pas/pas-book.c (pas_book_report_writable): new function. * backend/pas/pas-book.h: prototype for pas_book_report_writable. * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): if we open the file O_RDWR (or create it) report it as writable. if we can't open it as O_RDWR, try opening it read-only before we attempt to create it. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_process_authenticate_user): if we authenticate successfully, grant write permissions (this is lacking but there's really nothing we can do to determine the extent of the access afforded a user.) svn path=/trunk/; revision=8787
Diffstat (limited to 'addressbook/gui/widgets/e-minicard-view-widget.c')
-rw-r--r--addressbook/gui/widgets/e-minicard-view-widget.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/addressbook/gui/widgets/e-minicard-view-widget.c b/addressbook/gui/widgets/e-minicard-view-widget.c
index fbbcd6cf00..b3b326397f 100644
--- a/addressbook/gui/widgets/e-minicard-view-widget.c
+++ b/addressbook/gui/widgets/e-minicard-view-widget.c
@@ -39,7 +39,8 @@ static ECanvasClass *parent_class = NULL;
enum {
ARG_0,
ARG_BOOK,
- ARG_QUERY
+ ARG_QUERY,
+ ARG_EDITABLE
};
enum {
@@ -92,6 +93,8 @@ e_minicard_view_widget_class_init (EMinicardViewWidgetClass *klass)
GTK_ARG_READWRITE, ARG_BOOK);
gtk_object_add_arg_type ("EMinicardViewWidget::query", GTK_TYPE_STRING,
GTK_ARG_READWRITE, ARG_QUERY);
+ gtk_object_add_arg_type ("EMinicardViewWidget::editable", GTK_TYPE_BOOL,
+ GTK_ARG_READWRITE, ARG_EDITABLE);
e_minicard_view_widget_signals [STATUS_MESSAGE] =
gtk_signal_new ("status_message",
@@ -121,6 +124,7 @@ e_minicard_view_widget_init (EMinicardViewWidget *view)
view->book = NULL;
view->query = NULL;
+ view->editable = FALSE;
}
GtkWidget *
@@ -158,6 +162,12 @@ e_minicard_view_widget_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
"query", emvw->query,
NULL);
break;
+ case ARG_EDITABLE:
+ emvw->editable = GTK_VALUE_BOOL(*arg);
+ gtk_object_set (GTK_OBJECT(emvw->emv),
+ "editable", emvw->editable,
+ NULL);
+ break;
}
}
@@ -175,6 +185,9 @@ e_minicard_view_widget_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
case ARG_QUERY:
GTK_VALUE_STRING (*arg) = g_strdup(emvw->query);
break;
+ case ARG_EDITABLE:
+ GTK_VALUE_BOOL (*arg) = emvw->editable;
+ break;
default:
arg->type = GTK_TYPE_INVALID;
break;
@@ -233,6 +246,7 @@ e_minicard_view_widget_realize (GtkWidget *widget)
gtk_object_set(GTK_OBJECT(view->emv),
"book", view->book,
"query", view->query,
+ "editable", view->editable,
NULL);
if (GTK_WIDGET_CLASS(parent_class)->realize)