/// <summary> /// Reverts the specified path back to a normal folder. Also remove iFolder / Membership. /// </summary> /// <param name="path">The path to revert back to a normal folder.</param> public void RevertToNormal([MarshalAs(UnmanagedType.LPWStr)] string path) { Cursor.Current = Cursors.WaitCursor; try { connectToWebService(); RevertiFolder revertiFolder = new RevertiFolder(); iFolderWeb ifolder = ifWebService.GetiFolderByLocalPath(path); bool IsMaster = (ifolder.CurrentUserID == ifolder.OwnerID); if (!IsMaster) { revertiFolder.removeFromServer.Text = resourceManager.GetString("AlsoRemoveMembership"); } revertiFolder.removeFromServer.Enabled = simws.GetDomainInformation(ifolder.DomainID).Authenticated; if (revertiFolder.ShowDialog() == DialogResult.Yes) { Cursor.Current = Cursors.WaitCursor; if (ifWebService != null && ifolder != null) { ifWebService.RevertiFolder(ifolder.ID); if (revertiFolder.RemoveFromServer) { if (IsMaster) { ifWebService.DeleteiFolder(ifolder.DomainID, ifolder.ID); } else { ifWebService.DeclineiFolderInvitation(ifolder.DomainID, ifolder.ID); } } } } revertiFolder.Dispose(); } catch (WebException e) { ifWebService = null; if (e.Status == WebExceptionStatus.ProtocolError) { LocalService.ClearCredentials(); } } catch (Exception e) { Cursor.Current = Cursors.Default; Novell.iFolderCom.MyMessageBox mmb = new MyMessageBox(resourceManager.GetString("iFolderRevertError"), resourceManager.GetString("revertErrorTitle"), e.Message, MyMessageBoxButtons.OK, MyMessageBoxIcon.Error); mmb.ShowDialog(); mmb.Dispose(); } Cursor.Current = Cursors.Default; }
private static void RemoveSelectedFolderHandler(string path) { iFolderMsgDialog dialog = new iFolderMsgDialog( null, iFolderMsgDialog.DialogType.Question, iFolderMsgDialog.ButtonSet.YesNo, "", Util.GS("Revert this iFolder back to a normal folder?"), Util.GS("The folder will still be on your computer, but it will no longer synchronize with the iFolder Server.")); CheckButton deleteFromServerCB; iFolderWeb ifolder = ifws.GetiFolderByLocalPath(path); bool IsMaster = (ifolder.CurrentUserID == ifolder.OwnerID); if (IsMaster) { deleteFromServerCB = new CheckButton(Util.GS("Also _delete this iFolder from the server")); } else { deleteFromServerCB = new CheckButton(Util.GS("Also _remove my membership from this iFolder")); } deleteFromServerCB.Sensitive = simws.GetDomainInformation(ifolder.DomainID).Authenticated; dialog.ExtraWidget = deleteFromServerCB; int rc = dialog.Run(); dialog.Hide(); dialog.Destroy(); if (rc == -8) { try { if (ifolder != null) { ifws.RevertiFolder(ifolder.ID); if (deleteFromServerCB.Active) { if (IsMaster) { ifws.DeleteiFolder(ifolder.DomainID, ifolder.ID); } else { ifws.DeclineiFolderInvitation(ifolder.DomainID, ifolder.ID); } } } } catch (Exception e) { iFolderExceptionDialog ied = new iFolderExceptionDialog( null, e); ied.Run(); ied.Hide(); ied.Destroy(); } } }