Esempio n. 1
0
        private void OnUserSelectorResponse(object o, ResponseArgs args)
        {
            if (UserSelector != null)
            {
                switch (args.ResponseId)
                {
                case Gtk.ResponseType.Ok:
                {
                    foreach (MemberInfo member in UserSelector.SelectedUsers)
                    {
                        if (!curUsers.ContainsKey(member.UserID))
                        {
                            try
                            {
                                /*
                                 * try
                                 * {
                                 *      // Add the member to the domain.  If the member is
                                 *      // already a member of the domain, the call will do
                                 *      // nothing.  This call will facilitate the local
                                 *      // workstation not adding every possible domain user
                                 *      // to the local workstatin until they've actually
                                 *      // been added as an iFolder member.
                                 *      simws.AddMemberToDomain(ifolder.DomainID,
                                 *                                                      member.Name,
                                 *                                                      member.UserID,
                                 *                                                      null,	// FIXME: Where should I get the PublicKey?
                                 *                                                      member.GivenName,
                                 *                                                      member.FamilyName);
                                 * }
                                 * catch {}
                                 */

                                iFolderUser newUser =
                                    ifws.AddAndInviteUser(
                                        ifolder.ID,
                                        member.Name,
                                        member.GivenName,
                                        member.FamilyName,
                                        member.UserID,
                                        null,
                                        "ReadOnly");

                                TreeIter iter =
                                    UserTreeStore.AppendValues(newUser);

                                if (memberFullNames.Contains(newUser.FN))
                                {
                                    // This is a duplicate
                                    duplicateMembers[newUser.FN] = 0;
                                }
                                else
                                {
                                    memberFullNames[newUser.FN] = 0;
                                }

                                curUsers.Add(newUser.UserID, iter);
                            }
                            catch (Exception e)
                            {
                                iFolderExceptionDialog ied =
                                    new iFolderExceptionDialog(
                                        topLevelWindow, e);
                                ied.Run();
                                ied.Hide();
                                ied.Destroy();
                                ied = null;
                                break;
                            }
                        }
                    }
                    UserSelector.Hide();
                    UserSelector.Destroy();
                    UserSelector = null;
                    break;
                }

                case Gtk.ResponseType.Help:
                {
                    Util.ShowHelp("sharewith.html", topLevelWindow);
                    break;
                }

                case Gtk.ResponseType.Cancel:
                {
                    UserSelector.Hide();
                    UserSelector.Destroy();
                    UserSelector = null;
                    break;
                }
                }
            }
        }