~ubuntu-branches/ubuntu/precise/gnome-system-monitor/precise-proposed

« back to all changes in this revision

Viewing changes to src/procdialogs.cpp

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2012-02-22 08:09:45 UTC
  • mto: This revision was merged to the branch mainline in revision 86.
  • Revision ID: package-import@ubuntu.com-20120222080945-hkyrrfy4s126v4wd
Tags: upstream-3.3.90
ImportĀ upstreamĀ versionĀ 3.3.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 
25
25
#include <signal.h>
26
26
#include <string.h>
 
27
#include <stdio.h>
27
28
 
28
29
#ifdef HAVE_SYSTEMD
29
30
#include <systemd/sd-daemon.h>
396
397
 
397
398
}
398
399
 
399
 
static GtkWidget *
400
 
create_field_page(GtkWidget *tree, const char* text)
 
400
static void
 
401
create_field_page(GtkBuilder* builder, GtkWidget *tree, gchar *widgetname)
401
402
{
402
 
    GtkWidget *vbox;
403
 
    GtkWidget *scrolled;
404
 
    GtkWidget *label;
405
 
    GtkWidget *treeview;
 
403
    GtkTreeView *treeview;
406
404
    GList *it, *columns;
407
405
    GtkListStore *model;
408
406
    GtkTreeViewColumn *column;
409
407
    GtkCellRenderer *cell;
410
408
 
411
 
    vbox = gtk_vbox_new (FALSE, 6);
412
 
 
413
 
    label = gtk_label_new_with_mnemonic (text);
414
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
415
 
    gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
416
 
 
417
 
    scrolled = gtk_scrolled_window_new (NULL, NULL);
418
 
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
419
 
                                    GTK_POLICY_AUTOMATIC,
420
 
                                    GTK_POLICY_AUTOMATIC);
421
 
    gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_IN);
422
 
    gtk_box_pack_start (GTK_BOX (vbox), scrolled, TRUE, TRUE, 0);
423
 
 
 
409
    treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, widgetname));
424
410
    model = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER);
425
411
 
426
 
    treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
427
 
    gtk_container_add (GTK_CONTAINER (scrolled), treeview);
 
412
    gtk_tree_view_set_model (GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(model));
428
413
    g_object_unref (G_OBJECT (model));
429
 
    gtk_label_set_mnemonic_widget (GTK_LABEL (label), treeview);
430
414
 
431
415
    column = gtk_tree_view_column_new ();
432
416
 
449
433
 
450
434
    gtk_tree_view_column_set_title (column, "Not Shown");
451
435
    gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
452
 
    gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
453
436
 
454
437
    columns = gtk_tree_view_get_columns (GTK_TREE_VIEW (tree));
455
438
 
487
470
 
488
471
    g_list_free(columns);
489
472
 
490
 
    return vbox;
491
473
}
492
474
 
493
475
void
494
476
procdialog_create_preferences_dialog (ProcData *procdata)
495
477
{
496
 
    static GtkWidget *dialog = NULL;
497
 
 
498
478
    typedef SpinButtonUpdater SBU;
499
479
 
500
480
    static SBU interval_updater("update-interval");
502
482
    static SBU disks_interval_updater("disks-interval");
503
483
 
504
484
    GtkWidget *notebook;
505
 
    GtkWidget *proc_box;
506
 
    GtkWidget *sys_box;
507
 
    GtkWidget *main_vbox;
508
 
    GtkWidget *vbox, *vbox2, *vbox3;
509
 
    GtkWidget *hbox, *hbox2, *hbox3;
510
 
    GtkWidget *label;
511
485
    GtkAdjustment *adjustment;
512
486
    GtkWidget *spin_button;
513
487
    GtkWidget *check_button;
514
 
    GtkWidget *tab_label;
515
488
    GtkWidget *smooth_button;
516
 
    GtkSizeGroup *size;
 
489
    GtkBuilder *builder;
517
490
    gfloat update;
518
 
    gchar *tmp;
519
491
 
520
492
    if (prefs_dialog)
521
493
        return;
522
494
 
523
 
    size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
524
 
 
525
 
    dialog = gtk_dialog_new_with_buttons (_("System Monitor Preferences"),
526
 
                                          GTK_WINDOW (procdata->app),
527
 
                                          GTK_DIALOG_DESTROY_WITH_PARENT,
528
 
                                          GTK_STOCK_HELP, GTK_RESPONSE_HELP,
529
 
                                          GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
530
 
                                          NULL);
531
 
    /* FIXME: we should not declare the window size, but let it's   */
532
 
    /* driven by window childs. The problem is that the fields list */
533
 
    /* have to show at least 4 items to respect HIG. I don't know   */
534
 
    /* any function to set list height by contents/items inside it. */
535
 
    gtk_window_set_default_size (GTK_WINDOW (dialog), 400, 420);
536
 
    gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
537
 
    prefs_dialog = dialog;
538
 
 
539
 
    main_vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
540
 
    gtk_box_set_spacing (GTK_BOX (main_vbox), 2);
541
 
 
542
 
    notebook = gtk_notebook_new ();
543
 
    gtk_container_set_border_width (GTK_CONTAINER (notebook), 5);
544
 
    gtk_box_pack_start (GTK_BOX (main_vbox), notebook, TRUE, TRUE, 0);
545
 
 
546
 
    proc_box = gtk_vbox_new (FALSE, 18);
547
 
    gtk_container_set_border_width (GTK_CONTAINER (proc_box), 12);
548
 
    tab_label = gtk_label_new (_("Processes"));
549
 
    gtk_widget_show (tab_label);
550
 
    gtk_notebook_append_page (GTK_NOTEBOOK (notebook), proc_box, tab_label);
551
 
 
552
 
    vbox = gtk_vbox_new (FALSE, 6);
553
 
    gtk_box_pack_start (GTK_BOX (proc_box), vbox, FALSE, FALSE, 0);
554
 
 
555
 
    tmp = g_strdup_printf ("<b>%s</b>", _("Behavior"));
556
 
    label = gtk_label_new (NULL);
557
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
558
 
    gtk_label_set_markup (GTK_LABEL (label), tmp);
559
 
    g_free (tmp);
560
 
    gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
561
 
 
562
 
    hbox = gtk_hbox_new (FALSE, 0);
563
 
    gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
564
 
 
565
 
    label = gtk_label_new ("    ");
566
 
    gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
567
 
 
568
 
    vbox2 = gtk_vbox_new (FALSE, 6);
569
 
    gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
570
 
 
571
 
    hbox2 = gtk_hbox_new (FALSE, 12);
572
 
    gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
573
 
 
574
 
    label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
575
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
576
 
    gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
577
 
 
578
 
    hbox3 = gtk_hbox_new (FALSE, 6);
579
 
    gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
 
495
    gchar* filename = g_build_filename (GSM_DATA_DIR, "preferences.ui", NULL);
 
496
 
 
497
    builder = gtk_builder_new();
 
498
    gtk_builder_add_from_file (builder, filename, NULL);
 
499
 
 
500
    prefs_dialog = GTK_WIDGET (gtk_builder_get_object (builder, "preferences_dialog"));
 
501
 
 
502
    notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook"));
 
503
 
 
504
    spin_button = GTK_WIDGET (gtk_builder_get_object (builder, "processes_interval_spinner"));
580
505
 
581
506
    update = (gfloat) procdata->config.update_interval;
582
507
    adjustment = (GtkAdjustment *) gtk_adjustment_new(update / 1000.0,
586
511
                                                      1.0,
587
512
                                                      0);
588
513
 
589
 
    spin_button = gtk_spin_button_new (adjustment, 1.0, 2);
590
 
    gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
 
514
    gtk_spin_button_set_adjustment (GTK_SPIN_BUTTON(spin_button), adjustment);
591
515
    g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
592
516
                      G_CALLBACK (SBU::callback), &interval_updater);
593
 
    gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
594
 
 
595
 
 
596
 
    hbox2 = gtk_hbox_new(FALSE, 6);
597
 
    gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, 0);
598
 
 
599
 
    smooth_button = gtk_check_button_new_with_mnemonic(_("Enable _smooth refresh"));
 
517
 
 
518
    smooth_button = GTK_WIDGET (gtk_builder_get_object (builder, "smooth_button"));
600
519
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(smooth_button),
601
520
                                 g_settings_get_boolean(procdata->settings,
602
521
                                                        SmoothRefresh::KEY.c_str()));
603
522
    g_signal_connect(G_OBJECT(smooth_button), "toggled",
604
523
                     G_CALLBACK(smooth_refresh_toggled), procdata);
605
 
    gtk_box_pack_start(GTK_BOX(hbox2), smooth_button, TRUE, TRUE, 0);
606
 
 
607
 
 
608
 
 
609
 
    hbox2 = gtk_hbox_new (FALSE, 6);
610
 
    gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
611
 
 
612
 
    check_button = gtk_check_button_new_with_mnemonic (_("Alert before ending or _killing processes"));
 
524
 
 
525
    check_button = GTK_WIDGET (gtk_builder_get_object (builder, "check_button"));
613
526
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
614
527
                                  procdata->config.show_kill_warning);
615
528
    g_signal_connect (G_OBJECT (check_button), "toggled",
616
529
                      G_CALLBACK (show_kill_dialog_toggled), procdata);
617
 
    gtk_box_pack_start (GTK_BOX (hbox2), check_button, TRUE, TRUE, 0);
618
 
 
619
 
 
620
 
 
621
 
 
622
 
    hbox2 = gtk_hbox_new(FALSE, 6);
623
 
    gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, 0);
624
 
 
625
 
    GtkWidget *solaris_button = gtk_check_button_new_with_mnemonic(_("Divide CPU usage by CPU count"));
 
530
 
 
531
    GtkWidget *solaris_button = GTK_WIDGET (gtk_builder_get_object (builder, "solaris_button"));
626
532
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(solaris_button),
627
533
                                 g_settings_get_boolean(procdata->settings,
628
534
                                                        procman::settings::solaris_mode.c_str()));
629
535
    g_signal_connect(G_OBJECT(solaris_button), "toggled",
630
536
                     G_CALLBACK(solaris_mode_toggled), procdata);
631
 
    gtk_box_pack_start(GTK_BOX(hbox2), solaris_button, TRUE, TRUE, 0);
632
 
 
633
 
 
634
 
 
635
 
 
636
 
    hbox2 = gtk_hbox_new (FALSE, 6);
637
 
    gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
638
 
 
639
 
    vbox = gtk_vbox_new (FALSE, 6);
640
 
    gtk_box_pack_start (GTK_BOX (proc_box), vbox, TRUE, TRUE, 0);
641
 
 
642
 
    tmp = g_strdup_printf ("<b>%s</b>", _("Information Fields"));
643
 
    label = gtk_label_new (NULL);
644
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
645
 
    gtk_label_set_markup (GTK_LABEL (label), tmp);
646
 
    g_free (tmp);
647
 
    gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
648
 
 
649
 
    hbox = gtk_hbox_new (FALSE, 0);
650
 
    gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
651
 
 
652
 
    label = gtk_label_new ("    ");
653
 
    gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
654
 
 
655
 
    vbox2 = create_field_page (procdata->tree, _("Process i_nformation shown in list:"));
656
 
    gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
657
 
 
658
 
    sys_box = gtk_vbox_new (FALSE, 12);
659
 
    gtk_container_set_border_width (GTK_CONTAINER (sys_box), 12);
660
 
    tab_label = gtk_label_new (_("Resources"));
661
 
    gtk_widget_show (tab_label);
662
 
    gtk_notebook_append_page (GTK_NOTEBOOK (notebook), sys_box, tab_label);
663
 
 
664
 
    vbox = gtk_vbox_new (FALSE, 6);
665
 
    gtk_box_pack_start (GTK_BOX (sys_box), vbox, FALSE, FALSE, 0);
666
 
 
667
 
    tmp = g_strdup_printf ("<b>%s</b>", _("Graphs"));
668
 
    label = gtk_label_new (NULL);
669
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
670
 
    gtk_label_set_markup (GTK_LABEL (label), tmp);
671
 
    g_free (tmp);
672
 
    gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, FALSE, 0);
673
 
 
674
 
    hbox = gtk_hbox_new (FALSE, 0);
675
 
    gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
676
 
 
677
 
    label = gtk_label_new ("    ");
678
 
    gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
679
 
 
680
 
    vbox2 = gtk_vbox_new (FALSE, 6);
681
 
    gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
682
 
 
683
 
    hbox2 = gtk_hbox_new (FALSE, 12);
684
 
    gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
685
 
 
686
 
    label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
687
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
688
 
    gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
689
 
    gtk_size_group_add_widget (size, label);
690
 
 
691
 
    hbox3 = gtk_hbox_new (FALSE, 6);
692
 
    gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
 
537
 
 
538
    create_field_page (builder, procdata->tree, "processes_columns_treeview");
693
539
 
694
540
    update = (gfloat) procdata->config.graph_update_interval;
695
541
    adjustment = (GtkAdjustment *) gtk_adjustment_new(update / 1000.0, 0.25,
696
542
                                                      100.0, 0.25, 1.0, 0);
697
 
    spin_button = gtk_spin_button_new (adjustment, 1.0, 2);
 
543
    spin_button = GTK_WIDGET (gtk_builder_get_object (builder, "resources_interval_spinner"));
 
544
    gtk_spin_button_set_adjustment (GTK_SPIN_BUTTON(spin_button), adjustment);
698
545
    g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
699
546
                      G_CALLBACK(SBU::callback),
700
547
                      &graph_interval_updater);
701
 
    gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
702
 
    gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
703
 
 
704
 
 
705
 
    GtkWidget *bits_button;
706
 
    bits_button = gtk_check_button_new_with_mnemonic(_("Show network speed in bits"));
 
548
 
 
549
    GtkWidget *bits_button = GTK_WIDGET (gtk_builder_get_object (builder, "bits_button"));
 
550
 
707
551
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bits_button),
708
552
                                 g_settings_get_boolean(procdata->settings,
709
553
                                                        procman::settings::network_in_bits.c_str()));
710
554
    g_signal_connect(G_OBJECT(bits_button), "toggled",
711
555
                     G_CALLBACK(network_in_bits_toggled), procdata);
712
 
    gtk_box_pack_start(GTK_BOX(vbox2), bits_button, TRUE, TRUE, 0);
713
 
 
714
 
 
715
 
 
716
 
    hbox2 = gtk_hbox_new (FALSE, 12);
717
 
    gtk_box_pack_start (GTK_BOX (vbox2), hbox2, TRUE, TRUE, 0);
718
 
 
719
 
    /*
720
 
     * Devices
721
 
     */
722
 
    vbox = gtk_vbox_new (FALSE, 6);
723
 
    gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
724
 
    tab_label = gtk_label_new (_("File Systems"));
725
 
    gtk_widget_show (tab_label);
726
 
    gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, tab_label);
727
 
 
728
 
    tmp = g_strdup_printf ("<b>%s</b>", _("Behavior"));
729
 
    label = gtk_label_new (NULL);
730
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
731
 
    gtk_label_set_markup (GTK_LABEL (label), tmp);
732
 
    g_free (tmp);
733
 
    gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
734
 
 
735
 
    hbox = gtk_hbox_new (FALSE, 0);
736
 
    gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
737
 
 
738
 
    label = gtk_label_new ("    ");
739
 
    gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
740
 
 
741
 
    vbox2 = gtk_vbox_new (FALSE, 6);
742
 
    gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
743
 
 
744
 
    hbox2 = gtk_hbox_new (FALSE, 12);
745
 
    gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
746
 
 
747
 
    label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
748
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
749
 
    gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
750
 
 
751
 
    hbox3 = gtk_hbox_new (FALSE, 6);
752
 
    gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
753
556
 
754
557
    update = (gfloat) procdata->config.disks_update_interval;
755
558
    adjustment = (GtkAdjustment *) gtk_adjustment_new (update / 1000.0, 1.0,
756
559
                                                       100.0, 1.0, 1.0, 0);
757
 
    spin_button = gtk_spin_button_new (adjustment, 1.0, 0);
758
 
    gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
759
 
    gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
 
560
    spin_button = GTK_WIDGET (gtk_builder_get_object (builder, "devices_interval_spinner"));
 
561
    gtk_spin_button_set_adjustment (GTK_SPIN_BUTTON(spin_button), adjustment);
760
562
    g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
761
563
                      G_CALLBACK(SBU::callback),
762
564
                      &disks_interval_updater);
763
565
 
764
566
 
765
 
    hbox2 = gtk_hbox_new (FALSE, 6);
766
 
    gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
767
 
    check_button = gtk_check_button_new_with_mnemonic (_("Show _all file systems"));
 
567
    check_button = GTK_WIDGET (gtk_builder_get_object (builder, "all_devices_check"));
768
568
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
769
569
                                  procdata->config.show_all_fs);
770
570
    g_signal_connect (G_OBJECT (check_button), "toggled",
771
571
                      G_CALLBACK (show_all_fs_toggled), procdata);
772
 
    gtk_box_pack_start (GTK_BOX (hbox2), check_button, FALSE, FALSE, 0);
773
 
 
774
 
 
775
 
    vbox2 = gtk_vbox_new (FALSE, 6);
776
 
    gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
777
 
 
778
 
    label = gtk_label_new ("    ");
779
 
    gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
780
 
 
781
 
    tmp = g_strdup_printf ("<b>%s</b>", _("Information Fields"));
782
 
    label = gtk_label_new (NULL);
783
 
    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
784
 
    gtk_label_set_markup (GTK_LABEL (label), tmp);
785
 
    g_free (tmp);
786
 
    gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
787
 
 
788
 
    hbox = gtk_hbox_new (FALSE, 0);
789
 
    gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
790
 
 
791
 
    label = gtk_label_new ("    ");
792
 
    gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
793
 
 
794
 
    vbox3 = create_field_page (procdata->disk_list, _("File system i_nformation shown in list:"));
795
 
    gtk_box_pack_start (GTK_BOX (hbox), vbox3, TRUE, TRUE, 0);
796
 
 
797
 
    gtk_widget_show_all (dialog);
798
 
    g_signal_connect (G_OBJECT (dialog), "response",
 
572
 
 
573
    create_field_page (builder, procdata->disk_list, "devices_columns_treeview");
 
574
 
 
575
    gtk_widget_show_all (prefs_dialog);
 
576
    g_signal_connect (G_OBJECT (prefs_dialog), "response",
799
577
                      G_CALLBACK (prefs_dialog_button_pressed), procdata);
800
578
 
801
579
    switch (procdata->config.current_tab) {
811
589
            break;
812
590
 
813
591
    }
 
592
    gtk_builder_connect_signals (builder, NULL);
 
593
    g_object_unref (G_OBJECT (builder));
814
594
}
815
595
 
816
596