diff options
-rw-r--r-- | src/memmaps.cpp | 35 |
1 files changed, 13 insertions, 22 deletions
diff --git a/src/memmaps.cpp b/src/memmaps.cpp index b1c0615..352ed45 100644 --- a/src/memmaps.cpp +++ b/src/memmaps.cpp @@ -316,14 +316,15 @@ update_memmaps_dialog (MemMapsData *mmdata) -static gboolean window_delete_event(GtkWidget *, GdkEvent *, gpointer data) +static void +dialog_response (GtkDialog * dialog, gint response_id, gpointer data) { MemMapsData * const mmdata = static_cast<MemMapsData*>(data); g_source_remove (mmdata->timer); delete mmdata; - return FALSE; + gtk_widget_destroy (GTK_WIDGET (dialog)); } @@ -450,7 +451,7 @@ create_single_memmaps_dialog (GtkTreeModel *model, GtkTreePath *path, ProcData * const procdata = static_cast<ProcData*>(data); MemMapsData *mmdata; GtkWidget *memmapsdialog; - GtkWidget *dialog_vbox, *vbox; + GtkWidget *dialog_vbox; GtkWidget *label; GtkWidget *scrolled; ProcInfo *info; @@ -463,26 +464,16 @@ create_single_memmaps_dialog (GtkTreeModel *model, GtkTreePath *path, mmdata = create_memmapsdata (procdata); mmdata->info = info; - memmapsdialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_transient_for(GTK_WINDOW(memmapsdialog), GTK_WINDOW(procdata->app)); - gtk_window_set_destroy_with_parent(GTK_WINDOW(memmapsdialog), TRUE); - // gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); - gtk_window_set_title(GTK_WINDOW(memmapsdialog), _("Memory Maps")); + memmapsdialog = gtk_dialog_new_with_buttons (_("Memory Maps"), GTK_WINDOW (procdata->app), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, + NULL); gtk_window_set_resizable(GTK_WINDOW(memmapsdialog), TRUE); gtk_window_set_default_size(GTK_WINDOW(memmapsdialog), 575, 400); - gtk_container_set_border_width(GTK_CONTAINER(memmapsdialog), 12); - - GtkWidget *mainbox = gtk_vbox_new(FALSE, 12); - gtk_container_add(GTK_CONTAINER(memmapsdialog), mainbox); - - vbox = mainbox; - gtk_box_set_spacing (GTK_BOX (vbox), 2); - gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); + gtk_container_set_border_width(GTK_CONTAINER(memmapsdialog), 5); - dialog_vbox = gtk_vbox_new (FALSE, 6); + dialog_vbox = gtk_dialog_get_content_area (GTK_DIALOG(memmapsdialog)); gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox), 5); - gtk_box_pack_start (GTK_BOX (vbox), dialog_vbox, TRUE, TRUE, 0); - label = procman_make_label_for_mmaps_or_ofiles ( _("_Memory maps for process \"%s\" (PID %u):"), @@ -504,10 +495,10 @@ create_single_memmaps_dialog (GtkTreeModel *model, GtkTreePath *path, gtk_box_pack_start (GTK_BOX (dialog_vbox), scrolled, TRUE, TRUE, 0); - gtk_widget_show_all (memmapsdialog); + g_signal_connect(G_OBJECT(memmapsdialog), "response", + G_CALLBACK(dialog_response), mmdata); - g_signal_connect(G_OBJECT(memmapsdialog), "delete-event", - G_CALLBACK(window_delete_event), mmdata); + gtk_widget_show_all (memmapsdialog); mmdata->timer = g_timeout_add_seconds (5, memmaps_timer, mmdata); |