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; } } } }