~ubuntu-branches/ubuntu/oneiric/gnome-control-center/oneiric

« back to all changes in this revision

Viewing changes to panels/user-accounts/um-user-panel.c

  • Committer: Package Import Robot
  • Author(s): Rodrigo Moya, Rodrigo Moya, Gunnar Hjalmarsson
  • Date: 2011-08-30 12:24:44 UTC
  • mfrom: (1.1.50 upstream)
  • Revision ID: package-import@ubuntu.com-20110830122444-bmvakubeof8hgbhe
Tags: 1:3.1.90-0ubuntu1
[ Rodrigo Moya ]
* New upstream release
* debian/patches/03_dont_show_region_panel_in_unity.patch:
  - Remove upstreamed patch
* debian/patches/04_add_theme_selection.patch:
  - Set the metacity theme also

[ Gunnar Hjalmarsson ]
* debian/patches/52_ubuntu_language_list_mods.patch:
  - Change the list of options, when setting language from User
    Accounts, to items representing available translations, and with
    that make it similar to the language list in language-selector.
  - Make items representing language @variants be displayed as such.
* debian/control.in:
  - accountsservice (>= 0.6.13-1ubuntu2) added to dependency list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
#include "um-editable-combo.h"
50
50
 
51
51
#include "um-account-dialog.h"
52
 
#include "um-language-dialog.h"
 
52
#include "cc-language-chooser.h"
53
53
#include "um-password-dialog.h"
54
54
#include "um-photo-dialog.h"
55
55
#include "um-fingerprint-dialog.h"
322
322
                        gtk_tree_view_scroll_to_cell (tv, path, NULL, FALSE, 0.0, 0.0);
323
323
                        gtk_tree_selection_select_path (selection, path);
324
324
                        gtk_tree_path_free (path);
 
325
                        g_object_unref (current);
325
326
                        break;
326
327
                }
 
328
                if (current)
 
329
                        g_object_unref (current);
327
330
        } while (gtk_tree_model_iter_next (model, &iter));
328
331
}
329
332
 
458
461
 
459
462
        gtk_window_present (GTK_WINDOW (dialog));
460
463
 
 
464
        g_object_unref (user);
461
465
}
462
466
 
463
467
static const gchar *
580
584
        gtk_switch_set_active (GTK_SWITCH (widget), um_user_get_automatic_login (user));
581
585
        g_signal_handlers_unblock_by_func (widget, autologin_changed, d);
582
586
 
 
587
        gtk_widget_set_sensitive (widget, !um_user_get_locked (user));
 
588
 
583
589
        widget = get_widget (d, "account-language-combo");
584
590
        model = um_editable_combo_get_model (UM_EDITABLE_COMBO (widget));
585
 
        um_add_user_languages (model);
 
591
        cc_add_user_languages (model);
586
592
 
587
593
        lang = g_strdup (um_user_get_language (user));
588
594
        if (!lang)
632
638
        user = get_selected_user (d);
633
639
 
634
640
        text = cc_editable_entry_get_text (CC_EDITABLE_ENTRY (entry));
635
 
 
636
641
        if (g_strcmp0 (text, um_user_get_real_name (user)) != 0) {
637
642
                um_user_set_real_name (user, text);
638
643
        }
 
644
 
 
645
        g_object_unref (user);
639
646
}
640
647
 
641
648
static void
648
655
        gint account_type;
649
656
 
650
657
        user = get_selected_user (d);
 
658
 
651
659
        model = um_editable_combo_get_model (combo);
652
660
        um_editable_combo_get_active_iter (combo, &iter);
653
661
        gtk_tree_model_get (model, &iter, 1, &account_type, -1);
655
663
        if (account_type != um_user_get_account_type (user)) {
656
664
                um_user_set_account_type (user, account_type);
657
665
        }
 
666
 
 
667
        g_object_unref (user);
658
668
}
659
669
 
660
670
static void
669
679
        GtkTreeIter iter;
670
680
 
671
681
        user = get_selected_user (d);
 
682
 
672
683
        combo = get_widget (d, "account-language-combo");
673
684
        model = um_editable_combo_get_model (UM_EDITABLE_COMBO (combo));
674
685
 
675
686
        if (response_id == GTK_RESPONSE_OK) {
676
 
                lang = um_language_chooser_get_language (GTK_WIDGET (dialog));
 
687
                lang = cc_language_chooser_get_language (GTK_WIDGET (dialog));
677
688
                um_user_set_language (user, lang);
678
689
        }
679
690
        else {
687
698
 
688
699
        gtk_widget_hide (GTK_WIDGET (dialog));
689
700
        gtk_widget_set_sensitive (combo, TRUE);
 
701
 
 
702
        g_object_unref (user);
690
703
}
691
704
 
692
705
static void
702
715
                 return;
703
716
 
704
717
        user = get_selected_user (d);
 
718
 
705
719
        model = um_editable_combo_get_model (combo);
706
720
 
707
721
        gtk_tree_model_get (model, &iter, 0, &lang, -1);
710
724
                        um_user_set_language (user, lang);
711
725
                }
712
726
                g_free (lang);
713
 
                return;
 
727
                goto out;
714
728
        }
715
729
 
716
730
        if (d->language_chooser) {
 
731
                cc_language_chooser_clear_filter (d->language_chooser);
717
732
                gtk_window_present (GTK_WINDOW (d->language_chooser));
718
733
                gtk_widget_set_sensitive (GTK_WIDGET (combo), FALSE);
719
 
                return;
 
734
                goto out;
720
735
        }
721
736
 
722
 
        d->language_chooser = um_language_chooser_new (gtk_widget_get_toplevel (d->main_box));
723
 
        gtk_window_set_transient_for (GTK_WINDOW (d->language_chooser),
724
 
                                      GTK_WINDOW (gtk_widget_get_toplevel (d->main_box)));
 
737
        d->language_chooser = cc_language_chooser_new (gtk_widget_get_toplevel (d->main_box), FALSE);
 
738
 
725
739
        g_signal_connect (d->language_chooser, "response",
726
740
                          G_CALLBACK (language_response), d);
727
741
        g_signal_connect (d->language_chooser, "delete-event",
730
744
        gdk_window_set_cursor (gtk_widget_get_window (gtk_widget_get_toplevel (d->main_box)), NULL);
731
745
        gtk_window_present (GTK_WINDOW (d->language_chooser));
732
746
        gtk_widget_set_sensitive (GTK_WIDGET (combo), FALSE);
 
747
 
 
748
out:
 
749
        g_object_unref (user);
733
750
}
734
751
 
735
752
static void
753
770
        UmUser *user;
754
771
 
755
772
        user = get_selected_user (d);
 
773
 
756
774
        g_assert (g_strcmp0 (g_get_user_name (), um_user_get_user_name (user)) == 0);
757
775
 
758
776
        label = get_widget (d, "account-fingerprint-value-label");
759
777
        label2 = get_widget (d, "account-fingerprint-button-label");
760
778
        fingerprint_button_clicked (GTK_WINDOW (gtk_widget_get_toplevel (d->main_box)), label, label2, user);
 
779
 
761
780
        g_object_unref (user);
762
781
}
763
782
 
860
879
        names[1] = "changes-prevent";
861
880
        names[2] = NULL;
862
881
        icon = (GIcon *)g_themed_icon_new_from_names (names, -1);
 
882
        /* Translator comments:
 
883
         * We split the line in 2 here to "make it look good", as there's
 
884
         * no good way to do this in GTK+ for tooltips. See:
 
885
         * https://bugzilla.gnome.org/show_bug.cgi?id=657168 */
863
886
        setup_tooltip_with_embedded_icon (button,
864
887
                                          _("To make changes,\nclick the * icon first"),
865
888
                                          "*",
982
1005
        }
983
1006
 
984
1007
        um_password_dialog_set_privileged (d->password_dialog, is_authorized);
 
1008
 
 
1009
        g_object_unref (user);
985
1010
}
986
1011
 
987
1012
static gboolean
1057
1082
{
1058
1083
        gboolean is_autologin;
1059
1084
 
1060
 
        gtk_tree_model_get (model,
1061
 
                            iter,
1062
 
                            AUTOLOGIN_COL, &is_autologin,
1063
 
                            -1);
 
1085
        gtk_tree_model_get (model, iter, AUTOLOGIN_COL, &is_autologin, -1);
1064
1086
 
1065
1087
        if (is_autologin) {
1066
1088
                g_object_set (cell, "icon-name", "emblem-default-symbolic", NULL);
1102
1124
        gtk_tree_view_set_search_column (GTK_TREE_VIEW (userlist), USER_COL);
1103
1125
        gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW (userlist),
1104
1126
                                             match_user, NULL, NULL);
 
1127
        g_object_unref (model);
1105
1128
 
1106
1129
        g_signal_connect (d->um, "users-loaded", G_CALLBACK (users_loaded), d);
1107
1130
 
1294
1317
                g_object_unref (priv->permission);
1295
1318
                priv->permission = NULL;
1296
1319
        }
1297
 
 
1298
1320
        G_OBJECT_CLASS (um_user_panel_parent_class)->dispose (object);
1299
1321
}
1300
1322