CmisSync.SetupSubRepoSelectController.OutlineSelected C# (CSharp) Method

OutlineSelected() public method

public OutlineSelected ( NSCmisTree cmis, int selected ) : void
cmis CmisSync.CmisTree.NSCmisTree
selected int
return void
        void OutlineSelected(NSCmisTree cmis, int selected) {
            InvokeOnMainThread(delegate {
                RootFolder selectedRoot = null;
                foreach (RootFolder root in Repositories) {
                    Node node = cmis.GetNode(root);
                    if (node != null) {
                        if (node.Parent == null && node.Selected == false) {
                            selectedRoot = root;
                        }

                        node.Selected = selected != 0;
                        DataSource.UpdateCmisTree(root);
                    }
                }

                if (selectedRoot != null) {
                    foreach (RootFolder root in Repositories) {
                        if (root != selectedRoot) {
                            root.Selected = false;
                            DataSource.UpdateCmisTree(root);
                        }
                    }

                    Outline.ReloadData();
                } else {
                    for (int i = 0; i < Outline.RowCount; ++i) {
                        Outline.ReloadItem(Outline.ItemAtRow(i));
                    }
                }
            });
        }