~ubuntu-branches/ubuntu/trusty/unity-greeter/trusty

« back to all changes in this revision

Viewing changes to src/user-list.vala

  • Committer: Package Import Robot
  • Author(s): Michael Terry
  • Date: 2013-03-15 14:04:08 UTC
  • mfrom: (1.1.22)
  • Revision ID: package-import@ubuntu.com-20130315140408-m2kwmrmxtyn0j9hk
Tags: 13.04.2-0ubuntu1
* New upstream release.
  - Fix duplicate entries showing for multiple users on the same remote
    login service.
  - Add custom indicator support for system administrators (LP: #1155157)
* debian/control:
  - Switch Vcs-Bzr to point at Unity Greeter trunk, since we are inlining
    the packaging
  - Use debhelper 9
* debian/rules:
  - Use upstream ./autogen.sh for autoreconf
* debian/patches/do-not-read-password.patch,
  debian/patches/move-nm-applet.patch,
  debian/patches/spawn-gsd-directly.patch:
  - Drop, included upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
172
172
        return "*remote_directory*" + remote_server.url;
173
173
    }
174
174
 
 
175
    private string username_from_remote_server_fields(RemoteServer remote_server)
 
176
    {
 
177
        var username = "";
 
178
        foreach (var f in remote_server.fields)
 
179
        {
 
180
            if (f.type == "username" && f.default_value != null)
 
181
            {
 
182
                username = f.default_value.get_string ();
 
183
                break;
 
184
            }
 
185
        }
 
186
        return username;
 
187
     }
 
188
 
175
189
    private string user_list_name_for_remote_login_server (RemoteServer remote_server)
176
190
    {
177
 
        return "*remote_login*" + remote_server.url;
 
191
        var username = username_from_remote_server_fields (remote_server);
 
192
        return "*remote_login*" + remote_server.url + "*" + username;
178
193
    }
179
194
 
180
195
    private string url_from_remote_loding_server_list_name (string remote_server_list_name)
181
196
    {
182
197
        return remote_server_list_name.split ("*")[2];
183
198
    }
 
199
    
 
200
    private string username_from_remote_loding_server_list_name (string remote_server_list_name)
 
201
    {
 
202
        return remote_server_list_name.split ("*")[3];
 
203
    }
184
204
 
185
205
    private void set_remote_directory_servers (RemoteServer[] server_list)
186
206
    {
398
418
                        login_success = true;
399
419
                        Timeout.add (5000, () => { remote_login_changed (currently_browsing_server_url, currently_browsing_server_email); return false; });
400
420
                    }
 
421
                    else if (password_field.text == "duplicate")
 
422
                    {
 
423
                        test_fill_remote_login_servers_duplicate_entries (out server_list);
 
424
                        login_success = true;                        
 
425
                    }
401
426
                }
402
427
                else
403
428
                {
589
614
    {
590
615
        current_remote_fields = new HashTable<string, Gtk.Widget> (str_hash, str_equal);
591
616
        var url = url_from_remote_loding_server_list_name (selected_entry.id);
 
617
        var username = username_from_remote_loding_server_list_name (selected_entry.id);
 
618
        
592
619
        foreach (var remote_server in server_list)
593
620
        {
594
 
            if (remote_server.url == url)
 
621
            var remote_username = username_from_remote_server_fields (remote_server);
 
622
            if (remote_server.url == url && (username == null || username == remote_username))
595
623
            {
596
624
                if (selected_entry.id.has_prefix ("*remote_login"))
597
625
                {
1236
1264
        server_list[3] = remote_server4;
1237
1265
    }
1238
1266
 
 
1267
    private void test_fill_remote_login_servers_duplicate_entries (out RemoteServer[] server_list)
 
1268
    {
 
1269
        /* Create two remote servers with same url but different username and domain. */
 
1270
        server_list = {};
 
1271
 
 
1272
        RemoteServer remote_server2 = RemoteServer ();
 
1273
        remote_server2.type = "rdp";
 
1274
        remote_server2.name = "RDP server with default username, and editable domain";
 
1275
        remote_server2.url = "http://rdpdefaultusername.com";
 
1276
        remote_server2.last_used_server = false;
 
1277
        remote_server2.fields = {};
 
1278
        RemoteServerField field21 = RemoteServerField ();
 
1279
        field21.type = "username";
 
1280
        field21.default_value = new Variant.string ("alowl1");
 
1281
        RemoteServerField field22 = RemoteServerField ();
 
1282
        field22.type = "password";
 
1283
        field22.default_value = new Variant.string ("duplicate1");
 
1284
        RemoteServerField field23 = RemoteServerField ();
 
1285
        field23.type = "domain";
 
1286
        field23.default_value = new Variant.string ("SCANNERS");
 
1287
        remote_server2.fields = {field21, field22, field23};
 
1288
 
 
1289
        RemoteServer remote_server5 = RemoteServer ();
 
1290
        remote_server5.type = "rdp";
 
1291
        remote_server5.name = "RDP server with default username, and editable domain";
 
1292
        remote_server5.url = "http://rdpdefaultusername.com";
 
1293
        remote_server5.last_used_server = false;
 
1294
        remote_server5.fields = {};
 
1295
        RemoteServerField field51 = RemoteServerField ();
 
1296
        field51.type = "username";
 
1297
        field51.default_value = new Variant.string ("alowl2");
 
1298
        RemoteServerField field52 = RemoteServerField ();
 
1299
        field52.type = "password";
 
1300
        field52.default_value = new Variant.string ("duplicate2");
 
1301
        RemoteServerField field53 = RemoteServerField ();
 
1302
        field53.type = "domain";
 
1303
        field53.default_value = new Variant.string ("PRINTERS");
 
1304
        remote_server5.fields = {field51, field52, field53};
 
1305
 
 
1306
        server_list.resize (2);
 
1307
        server_list[0] = remote_server2;
 
1308
        server_list[1] = remote_server5;
 
1309
    }
 
1310
    
1239
1311
    private bool test_key_press_cb (Gdk.EventKey event)
1240
1312
    {
1241
1313
        if ((event.state & Gdk.CONTROL_MASK) == 0)