aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2002-11-12 12:01:10 +0800
committerChris Toshok <toshok@src.gnome.org>2002-11-12 12:01:10 +0800
commitd7aee7e7edfe1d76beba4246f50510479af955a7 (patch)
treedb6f952d40cf95964810b1467d15ebcb8fc1460e /addressbook/gui/widgets
parentb5d027f4285267d769975ab7fc4ec95959375b26 (diff)
downloadgsoc2013-evolution-d7aee7e7edfe1d76beba4246f50510479af955a7.tar
gsoc2013-evolution-d7aee7e7edfe1d76beba4246f50510479af955a7.tar.gz
gsoc2013-evolution-d7aee7e7edfe1d76beba4246f50510479af955a7.tar.bz2
gsoc2013-evolution-d7aee7e7edfe1d76beba4246f50510479af955a7.tar.lz
gsoc2013-evolution-d7aee7e7edfe1d76beba4246f50510479af955a7.tar.xz
gsoc2013-evolution-d7aee7e7edfe1d76beba4246f50510479af955a7.tar.zst
gsoc2013-evolution-d7aee7e7edfe1d76beba4246f50510479af955a7.zip
change signature to that of a weak ref notify function. (main): ::destroy
2002-11-11 Chris Toshok <toshok@ximian.com> * gui/widgets/test-reflow.c (destroy_callback): change signature to that of a weak ref notify function. (main): ::destroy -> weak_ref. * gui/widgets/test-minicard.c (destroy_callback): change signature to that of a weak ref notify function. (main): ::destroy -> weak_ref. * gui/widgets/test-minicard-view.c (destroy_callback): change signature to that of a weak ref notify function. (main): ::destroy -> weak_ref. * gui/widgets/test-minicard-label.c (destroy_callback): change signature to that of a weak ref notify function. (main): ::destroy -> weak_ref. * gui/widgets/e-minicard-widget.c (e_minicard_widget_init): ifdef out the call to gnome_canvas_set_scroll_region. It doesn't seem necessary judging from the rest of the code, and it also crashes the addressbook if it's in. * gui/widgets/e-minicard-widget-test.c (destroy_callback): change signature to that of a weak ref notify function. (main): ::destroy -> weak_ref. * gui/widgets/e-minicard-control.c (free_struct): change signature to that of a weak ref notify function. (e_minicard_control_factory): ::destroy -> weak_ref. * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): ::destroy -> weak_ref. (e_addressbook_view_print): same. (free_closure): change signature to that of a weak ref notify function. (e_contact_print_destroy): same. (invisible_destroyed): same. * gui/widgets/e-addressbook-util.c (e_addressbook_prompt_save_dialog): convert from GnomeDialog to GtkDialog. (e_addressbook_show_multiple_cards): same. * gui/contact-list-editor/e-contact-list-editor.c (prompt_to_save_changes): change response ids to use GTK_RESPONSE_. * gui/component/select-names/e-select-names-manager.c (clear_widget): new function. (e_select_names_manager_activate_dialog): ::destroy -> weak_ref. * gui/component/select-names/e-select-names.c (clear_widget): change signature to that of a weak ref notify function. (e_select_names_init): ::destroy -> weak_ref. * gui/component/e-address-popup.c (mini_wizard_destroy_cb): change signature to that of a weak ref notify function. (mini_wizard_new): ::destroy -> weak_ref. * gui/component/addressbook-config.c (addressbook_source_dialog_destroy): change signature to that of a weak ref notify function. (ldap_config_control_destroy_callback): same. (addressbook_add_server_druid): ::destroy -> weak_ref. (addressbook_edit_server_dialog): same. (ldap_config_control_new): same. * gui/component/addressbook.c (destroy_callback): change signature to that of a a weak ref notify function. (addressbook_factory_new_control): ::destroy -> weak_ref. * gui/merging/e-card-merging.c (response): rename clicked to this, and destroy the dialog here. (match_query_callback): ::clicked -> ::response * gui/merging/e-card-merging-book-commit-duplicate-detected.glade: convert. * gui/merging/e-card-duplicate-detected.glade: same. svn path=/trunk/; revision=18719
Diffstat (limited to 'addressbook/gui/widgets')
-rw-r--r--addressbook/gui/widgets/e-addressbook-util.c91
-rw-r--r--addressbook/gui/widgets/e-addressbook-view.c42
-rw-r--r--addressbook/gui/widgets/e-minicard-control.c5
-rw-r--r--addressbook/gui/widgets/e-minicard-widget-test.c6
-rw-r--r--addressbook/gui/widgets/e-minicard-widget.c4
-rw-r--r--addressbook/gui/widgets/test-minicard-label.c6
-rw-r--r--addressbook/gui/widgets/test-minicard-view.c6
-rw-r--r--addressbook/gui/widgets/test-minicard.c6
-rw-r--r--addressbook/gui/widgets/test-reflow.c6
9 files changed, 74 insertions, 98 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-util.c b/addressbook/gui/widgets/e-addressbook-util.c
index 93727b7e1b..76453d5616 100644
--- a/addressbook/gui/widgets/e-addressbook-util.c
+++ b/addressbook/gui/widgets/e-addressbook-util.c
@@ -60,19 +60,26 @@ gint
e_addressbook_prompt_save_dialog (GtkWindow *parent)
{
GtkWidget *dialog;
+ gint response;
- dialog = gnome_message_box_new (_("Do you want to save changes?"),
- GNOME_MESSAGE_BOX_QUESTION,
- GNOME_STOCK_BUTTON_YES,
- GNOME_STOCK_BUTTON_NO,
- GNOME_STOCK_BUTTON_CANCEL,
- NULL);
+ dialog = gtk_message_dialog_new (parent,
+ (GtkDialogFlags)0,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_NONE,
+ _("Do you want to save changes?"));
+ gtk_dialog_add_buttons (GTK_DIALOG (dialog),
+ GTK_STOCK_YES, GTK_RESPONSE_YES,
+ GTK_STOCK_NO, GTK_RESPONSE_NO,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ NULL);
- gnome_dialog_set_default (GNOME_DIALOG (dialog), 0);
- gnome_dialog_grab_focus (GNOME_DIALOG (dialog), 0);
- gnome_dialog_set_parent (GNOME_DIALOG (dialog), parent);
+ gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
- return gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+
+ gtk_widget_destroy (dialog);
+
+ return response;
}
static void
@@ -154,12 +161,6 @@ e_addressbook_show_contact_list_editor (EBook *book, ECard *card,
return ce;
}
-typedef struct {
- EBook *book;
- GList *list;
- gboolean editable;
-} BookAndList;
-
static void
view_cards (EBook *book, GList *list, gboolean editable)
{
@@ -172,24 +173,6 @@ view_cards (EBook *book, GList *list, gboolean editable)
}
}
-static void
-view_question_clicked (GtkObject *object, int button, BookAndList *bnl)
-{
- GnomeDialog *dialog = GNOME_DIALOG (object);
- switch (button) {
- case 0:
- view_cards (bnl->book, bnl->list, bnl->editable);
- break;
- }
- gnome_dialog_close(dialog);
-}
-
-static void
-view_question_destroyed (GtkObject *object, GList *list)
-{
- gtk_main_quit();
-}
-
void
e_addressbook_show_multiple_cards (EBook *book,
GList *list,
@@ -198,32 +181,22 @@ e_addressbook_show_multiple_cards (EBook *book,
if (list) {
int length = g_list_length (list);
if (length > 5) {
- char *string;
GtkWidget *dialog;
- BookAndList bnl;
-
- bnl.book = book;
- bnl.list = list;
- bnl.editable = editable;
-
- dialog = gnome_dialog_new (_("Display Cards?"),
- _("Display Cards"),
- GNOME_STOCK_BUTTON_CANCEL,
- NULL);
-
- string = g_strdup_printf (_("Opening %d cards will open %d new windows as well.\n"
- "Do you really want to display all of these cards?"), length, length);
- gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), gtk_label_new (string), FALSE, FALSE, 0);
- g_free (string);
-
- g_signal_connect (dialog, "destroy",
- G_CALLBACK (view_question_destroyed), &bnl);
- g_signal_connect (dialog, "clicked",
- G_CALLBACK (view_question_clicked), &bnl);
-
- gtk_widget_show_all (dialog);
-
- gtk_main();
+ gint response;
+
+ dialog = gtk_message_dialog_new (NULL,
+ 0,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_YES_NO,
+ _("Opening %d cards will open %d new windows as well.\n"
+ "Do you really want to display all of these cards?"),
+ length,
+ length);
+
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
+ if (response == GTK_RESPONSE_YES)
+ view_cards (book, list, editable);
} else {
view_cards (book, list, editable);
}
diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c
index 1c74a1b636..5c4cd58ac3 100644
--- a/addressbook/gui/widgets/e-addressbook-view.c
+++ b/addressbook/gui/widgets/e-addressbook-view.c
@@ -92,7 +92,7 @@ static void selection_received (GtkWidget *invisible, GtkSelectionData *selectio
guint time, EAddressbookView *view);
static void selection_get (GtkWidget *invisible, GtkSelectionData *selection_data,
guint info, guint time_stamp, EAddressbookView *view);
-static void invisible_destroyed (GtkWidget *invisible, EAddressbookView *view);
+static void invisible_destroyed (gpointer data, GObject *where_object_was);
static GtkTableClass *parent_class = NULL;
@@ -303,9 +303,7 @@ e_addressbook_view_init (EAddressbookView *eav)
g_signal_connect (eav->invisible, "selection_received",
G_CALLBACK (selection_received),
eav);
- g_signal_connect (eav->invisible, "destroy",
- G_CALLBACK (invisible_destroyed),
- eav);
+ g_object_weak_ref (G_OBJECT (eav->invisible), invisible_destroyed, eav);
}
static void
@@ -1018,8 +1016,10 @@ button_toggled(GtkWidget *button, LetterClosure *closure)
}
static void
-free_closure(GtkWidget *button, LetterClosure *closure)
+free_closure(gpointer data, GObject *where_object_was)
{
+ GtkWidget *button = GTK_WIDGET (where_object_was);
+ LetterClosure *closure = data;
if (button != NULL &&
button == closure->view->current_alphabet_widget) {
closure->view->current_alphabet_widget = NULL;
@@ -1074,8 +1074,7 @@ create_alphabet (EAddressbookView *view)
closure->vbox = vbox;
g_signal_connect(button, "toggled",
G_CALLBACK (button_toggled), closure);
- g_signal_connect(button, "destroy",
- G_CALLBACK (free_closure), closure);
+ g_object_weak_ref (G_OBJECT (button), free_closure, closure);
}
g_strfreev (label_v);
@@ -1397,13 +1396,18 @@ change_view_type (EAddressbookView *view, EAddressbookViewType view_type)
command_state_change (view);
}
+typedef struct {
+ GtkWidget *table;
+ GObject *printable;
+} EContactPrintDialogWeakData;
+
static void
-e_contact_print_destroy(GnomeDialog *dialog, gpointer data)
+e_contact_print_destroy(gpointer data, GObject *where_object_was)
{
- ETableScrolled *table = g_object_get_data(G_OBJECT(dialog), "table");
- EPrintable *printable = g_object_get_data(G_OBJECT(dialog), "printable");
- g_object_unref (printable);
- g_object_unref (table);
+ EContactPrintDialogWeakData *weak_data = data;
+ g_object_unref (weak_data->printable);
+ g_object_unref (weak_data->table);
+ g_free (weak_data);
}
static void
@@ -1534,6 +1538,7 @@ e_addressbook_view_print(EAddressbookView *view)
GtkWidget *dialog;
EPrintable *printable;
ETable *etable;
+ EContactPrintDialogWeakData *weak_data;
dialog = gnome_print_dialog_new("Print cards", GNOME_PRINT_DIALOG_RANGE | GNOME_PRINT_DIALOG_COPIES);
gnome_print_dialog_construct_range_any(GNOME_PRINT_DIALOG(dialog), GNOME_PRINT_RANGE_ALL | GNOME_PRINT_RANGE_SELECTION,
@@ -1549,8 +1554,14 @@ e_addressbook_view_print(EAddressbookView *view)
g_signal_connect(dialog,
"clicked", G_CALLBACK(e_contact_print_button), NULL);
- g_signal_connect(dialog,
- "destroy", G_CALLBACK(e_contact_print_destroy), NULL);
+
+ weak_data = g_new (EContactPrintDialogWeakData, 1);
+
+ weak_data->table = view->widget;
+ weak_data->printable = G_OBJECT (printable);
+
+ g_object_weak_ref (G_OBJECT (dialog), e_contact_print_destroy, weak_data);
+
gtk_widget_show(dialog);
}
}
@@ -1646,8 +1657,9 @@ e_addressbook_view_delete_selection(EAddressbookView *view)
}
static void
-invisible_destroyed (GtkWidget *invisible, EAddressbookView *view)
+invisible_destroyed (gpointer data, GObject *where_object_was)
{
+ EAddressbookView *view = data;
view->invisible = NULL;
}
diff --git a/addressbook/gui/widgets/e-minicard-control.c b/addressbook/gui/widgets/e-minicard-control.c
index c5256f6c3e..278cfa0120 100644
--- a/addressbook/gui/widgets/e-minicard-control.c
+++ b/addressbook/gui/widgets/e-minicard-control.c
@@ -265,7 +265,7 @@ save_in_addressbook(GtkWidget *button, gpointer data)
}
static void
-free_struct (GtkWidget *control, gpointer data)
+free_struct (gpointer data, GObject *where_object_was)
{
EMinicardControl *minicard_control = data;
e_free_object_list (minicard_control->card_list);
@@ -317,8 +317,7 @@ e_minicard_control_factory (BonoboGenericFactory *Factory,
control = bonobo_control_new (vbox);
- g_signal_connect (control, "destroy",
- G_CALLBACK (free_struct), minicard_control);
+ g_object_weak_ref (G_OBJECT (control), free_struct, minicard_control);
stream = bonobo_persist_stream_new (pstream_load, pstream_save,
pstream_get_content_types,
diff --git a/addressbook/gui/widgets/e-minicard-widget-test.c b/addressbook/gui/widgets/e-minicard-widget-test.c
index b768ff9e74..9a8d27d21c 100644
--- a/addressbook/gui/widgets/e-minicard-widget-test.c
+++ b/addressbook/gui/widgets/e-minicard-widget-test.c
@@ -60,7 +60,7 @@
/* This is a horrible thing to do, but it is just a test. */
-static void destroy_callback(GtkWidget *app, gpointer data)
+static void destroy_callback(gpointer data, GObject *where_object_was)
{
exit(0);
}
@@ -106,9 +106,7 @@ int main( int argc, char *argv[] )
gnome_app_set_contents( GNOME_APP( app ), minicard );
/* Connect the signals */
- g_signal_connect( app, "destroy",
- G_CALLBACK( destroy_callback ),
- ( gpointer ) app );
+ g_object_weak_ref (app, destroy_callback, app);
gtk_widget_show_all( app );
diff --git a/addressbook/gui/widgets/e-minicard-widget.c b/addressbook/gui/widgets/e-minicard-widget.c
index 5c8483ac88..e8f33673c3 100644
--- a/addressbook/gui/widgets/e-minicard-widget.c
+++ b/addressbook/gui/widgets/e-minicard-widget.c
@@ -169,10 +169,12 @@ e_minicard_widget_init (EMinicardWidget *emw)
"width", (double) 100,
NULL );
+#if PENDING_PORT_WORK
+ /* XXX this crashes since the canvas has no h/v adjustments. */
gnome_canvas_set_scroll_region ( GNOME_CANVAS( emw ),
0, 0,
100, 100 );
-
+#endif
emw->card = NULL;
}
diff --git a/addressbook/gui/widgets/test-minicard-label.c b/addressbook/gui/widgets/test-minicard-label.c
index cdbebe3160..c109497628 100644
--- a/addressbook/gui/widgets/test-minicard-label.c
+++ b/addressbook/gui/widgets/test-minicard-label.c
@@ -32,7 +32,7 @@
GnomeCanvasItem *label;
GnomeCanvasItem *rect;
-static void destroy_callback(GtkWidget *app, gpointer data)
+static void destroy_callback(gpointer data, GObject *where_object_was)
{
exit(0);
}
@@ -110,9 +110,7 @@ int main( int argc, char *argv[] )
/* Connect the signals */
- g_signal_connect( app, "destroy",
- G_CALLBACK( destroy_callback ),
- ( gpointer ) app );
+ g_object_weak_ref (app, destroy_callback, app);
g_signal_connect( canvas , "size_allocate",
G_CALLBACK ( allocate_callback ),
diff --git a/addressbook/gui/widgets/test-minicard-view.c b/addressbook/gui/widgets/test-minicard-view.c
index e14443b01e..7abe611711 100644
--- a/addressbook/gui/widgets/test-minicard-view.c
+++ b/addressbook/gui/widgets/test-minicard-view.c
@@ -48,7 +48,7 @@ init_bonobo (int argc, char **argv)
}
-static void destroy_callback(GtkWidget *app, gpointer data)
+static void destroy_callback(gpointer data, GObject *where_object_was)
{
exit(0);
}
@@ -188,9 +188,7 @@ int main( int argc, char *argv[] )
gnome_app_set_contents( GNOME_APP( app ), vbox );
/* Connect the signals */
- g_signal_connect( app, "destroy",
- G_CALLBACK ( destroy_callback ),
- ( gpointer ) app );
+ g_object_weak_ref (app, destroy_callback, app);
g_signal_connect( canvas, "size_allocate",
G_CALLBACK ( allocate_callback ),
diff --git a/addressbook/gui/widgets/test-minicard.c b/addressbook/gui/widgets/test-minicard.c
index 77cc2975cb..822362d972 100644
--- a/addressbook/gui/widgets/test-minicard.c
+++ b/addressbook/gui/widgets/test-minicard.c
@@ -33,7 +33,7 @@
GnomeCanvasItem *card;
GnomeCanvasItem *rect;
-static void destroy_callback(GtkWidget *app, gpointer data)
+static void destroy_callback(gpointer data, GObject *where_object_was)
{
exit(0);
}
@@ -105,9 +105,7 @@ int main( int argc, char *argv[] )
gnome_app_set_contents( GNOME_APP( app ), canvas );
/* Connect the signals */
- g_signal_connect( app, "destroy",
- G_CALLBACK( destroy_callback ),
- ( gpointer ) app );
+ g_object_weak_ref (app, destroy_callback, app);
g_signal_connect( canvas, "size_allocate",
G_CALLBACK( allocate_callback ),
diff --git a/addressbook/gui/widgets/test-reflow.c b/addressbook/gui/widgets/test-reflow.c
index 7f4325f130..66f003fe2c 100644
--- a/addressbook/gui/widgets/test-reflow.c
+++ b/addressbook/gui/widgets/test-reflow.c
@@ -65,7 +65,7 @@ GnomeCanvasItem *reflow;
GnomeCanvasItem *rect;
GtkAllocation last_alloc;
-static void destroy_callback(GtkWidget *app, gpointer data)
+static void destroy_callback(gpointer data, GObject *where_object_was)
{
exit(0);
}
@@ -183,9 +183,7 @@ int main( int argc, char *argv[] )
gnome_app_set_contents( GNOME_APP( app ), scrollframe );
/* Connect the signals */
- g_signal_connect( app, "destroy",
- G_CALLBACK ( destroy_callback ),
- ( gpointer ) app );
+ g_object_weak_ref (app, destroy_callback, app);
g_signal_connect( canvas, "size_allocate",
G_CALLBACK ( allocate_callback ),