void OnGUI()
    {
        if (browser != null)
        {
            allRemotes = GUILayout.Toggle(allRemotes, "Fetch from all remotes");

            GUI.enabled = !allRemotes;

            currentRemoteIndex = EditorGUILayout.Popup("Fetch from", currentRemoteIndex, BrowserUtility.remoteNames);

            GUI.enabled = true;

            prune      = GUILayout.Toggle(prune, "Prune tracking branches no longer present on remote(s)");
            showOutput = GUILayout.Toggle(showOutput, "Show output");

            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();

            if (GUILayout.Button("OK", GUILayout.Width(100)))
            {
                this.Close();

                if (allRemotes)
                {
                    UVCProcessPopup.Init(VersionControl.Fetch(CommandLine.EmptyHandler, "--all", prune), !showOutput, true, browser.OnProcessStop, true);
                }
                else
                {
                    UVCProcessPopup.Init(VersionControl.Fetch(CommandLine.EmptyHandler, BrowserUtility.remoteNames[currentRemoteIndex], prune), !showOutput, true, browser.OnProcessStop, true);
                }
            }
            GUILayout.Space(10);
            if (GUILayout.Button("Cancel", GUILayout.Width(100)))
            {
                this.Close();
            }
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
        }
        else
        {
            this.Close();
        }
    }