protected AbstractNavigableTreeNodeWithServer(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, string name, int imageIdx)
     : base(name, imageIdx)
 {
     Model  = model;
     Facade = facade;
     Server = server;
 }
        public FieldEditor(string title, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraIssue issue, string fieldId, Point location)
        {
            PlvsLogger.log("FieldEditor - ctor");

            this.model   = model;
            this.facade  = facade;
            this.issue   = issue;
            this.fieldId = fieldId;

            InitializeComponent();

            buttonOk.Enabled     = false;
            buttonCancel.Enabled = false;

            StartPosition = FormStartPosition.Manual;
            Location      = location;

            Text = title;

            field = new JiraField(fieldId, null);

            Thread t = PlvsUtils.createThread(fillFieldWrap);

            t.Start();
        }
예제 #3
0
 private void loadPriorities(AbstractJiraServerFacade facade, StatusLabel status)
 {
     try {
         List <JiraNamedEntity> priorities = facade.getPriorities(Server);
         parent.Invoke(new MethodInvoker(() => populatePriorities(priorities)));
     } catch (Exception e) {
         status.setError("Unable to retrieve priorities", e);
     }
 }
예제 #4
0
 private void loadComponents(AbstractJiraServerFacade facade, StatusLabel status)
 {
     try {
         List <JiraNamedEntity> components = facade.getComponents(Server, project);
         parent.Invoke(new MethodInvoker(() => populateComponents(components)));
     } catch (Exception e) {
         status.setError("Unable to retrieve component list", e);
     }
 }
        public NewIssueComment(JiraIssue issue, AbstractJiraServerFacade facade)
        {
            InitializeComponent();
            buttonOk.Enabled = false;

            textComment.Facade = facade;
            textComment.Issue  = issue;

            StartPosition = FormStartPosition.CenterParent;
        }
        public ProjectConfiguration(
            Guid?serverTypeToCreate, JiraServerModel jiraServerModel, BambooServerModel bambooServerModel,
            AbstractJiraServerFacade jiraFacade, BambooServerFacade bambooFacade)
        {
            InitializeComponent();

            this.jiraServerModel   = jiraServerModel;
            this.bambooServerModel = bambooServerModel;
            this.jiraFacade        = jiraFacade;
            this.bambooFacade      = bambooFacade;

            var jiraServers   = jiraServerModel.getAllServers();
            var bambooServers = bambooServerModel.getAllServers();

            imageList = new ImageList();
            imageList.Images.Add(Resources.folder_jira);
            imageList.Images.Add(Resources.folder_bamboo);
            imageList.Images.Add(Resources.tab_jira);
            imageList.Images.Add(Resources.tab_jira_grey);
            imageList.Images.Add(Resources.tab_bamboo);
            imageList.Images.Add(Resources.tab_bamboo_grey);

            serverTree.ImageList = imageList;

            serverTree.Nodes.Add(jiraRoot);
            serverTree.Nodes.Add(bambooRoot);
//            serverTree.Nodes.Add(crucibleRoot);
//            serverTree.Nodes.Add(fisheyeRoot);

            foreach (var server in jiraServers)
            {
                jiraRoot.Nodes.Add(new JiraServerTreeNode(jiraServerModel, server, server.Enabled ? JIRA_ENABLED : JIRA_DISABLED));
            }

            foreach (var server in bambooServers)
            {
                bambooRoot.Nodes.Add(new BambooServerTreeNode(bambooServerModel, server, server.Enabled ? BAMBOO_ENABLED : BAMBOO_DISABLED));
            }

            StartPosition = FormStartPosition.CenterParent;

            serverTree.ExpandAll();

            if (serverTypeToCreate != null)
            {
                if (serverTypeToCreate.Value.Equals(Server.JiraServerTypeGuid))
                {
                    serverTree.SelectedNode = jiraRoot;
                }
                else if (serverTypeToCreate.Value.Equals(Server.BambooServerTypeGuid))
                {
                    serverTree.SelectedNode = bambooRoot;
                }
            }
        }
        public UsersNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server)
            : base(model, facade, server, "Users", 0)
        {
            ContextMenuStrip = new ContextMenuStrip();

            menuItems.Add(new ToolStripMenuItem("Add new user...", null, addUser));

            ContextMenuStrip.Items.Add("dummy");

            ContextMenuStrip.Items.AddRange(MenuItems.ToArray());

            ContextMenuStrip.Opening += contextMenuStripOpening;
            ContextMenuStrip.Opened  += contextMenuStripOpened;
        }
예제 #8
0
        private DropZone(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade, DropZoneWorker worker)
        {
            this.model  = model;
            this.server = server;
            this.facade = facade;
            this.worker = worker;

            InitializeComponent();

            StartPosition = FormStartPosition.CenterParent;

            Text = worker.ZoneName;

            updateModelAndResetToInitialState(null, false);
        }
        public TextAreaFieldEditorProvider(
            AbstractJiraServerFacade facade, JiraIssue issue, JiraField field, string value, FieldValidListener validListener)
            : base(field, validListener)
        {
            editor.Issue  = issue;
            editor.Facade = facade;

            if (value == null)
            {
                return;
            }

            string fixedValue = value.Replace("\r\n", "\n").Replace("\n", "\r\n");

            editor.Text = fixedValue;
        }
        public ComponentNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraProject project, JiraNamedEntity comp)
            : base(model, facade, server, comp.Name, 0)
        {
            this.project = project;
            this.comp    = comp;

            ContextMenuStrip = new ContextMenuStrip();

            menuItems.Add(new ToolStripMenuItem("Open \"Set Component to " + comp.Name + "\" Drop Zone", null, createDropZone));

            ContextMenuStrip.Items.Add("dummy");

            ContextMenuStrip.Items.AddRange(MenuItems.ToArray());

            ContextMenuStrip.Opening += contextMenuStripOpening;
            ContextMenuStrip.Opened  += contextMenuStripOpened;
        }
        public PriorityNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraNamedEntity priority)
            : base(model, facade, server, priority.Name, 0)
        {
            this.priority = priority;

            ContextMenuStrip = new ContextMenuStrip();

            menuItems.Add(new ToolStripMenuItem(
                              "Open \"Set Priority to " + priority.Name + "\" Drop Zone",
                              ImageCache.Instance.getImage(server, priority.IconUrl).Img, createDropZone));

            ContextMenuStrip.Items.Add("dummy");

            ContextMenuStrip.Items.AddRange(MenuItems.ToArray());

            ContextMenuStrip.Opening += contextMenuStripOpening;
            ContextMenuStrip.Opened  += contextMenuStripOpened;
        }
예제 #12
0
        public UserNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraUser user)
            : base(model, facade, server, user.ToString(), 0)
        {
            this.user = user;

            ContextMenuStrip = new ContextMenuStrip();

            worker = new AssigneeDropZoneWorker(Facade, Server, user);

            menuItems.Add(new ToolStripMenuItem("Open \"Assign to " + user + "\" Drop Zone", null, createDropZone));

            ContextMenuStrip.Items.Add("dummy");

            ContextMenuStrip.Items.AddRange(MenuItems.ToArray());

            ContextMenuStrip.Opening += contextMenuStripOpening;
            ContextMenuStrip.Opened  += contextMenuStripOpened;
        }
예제 #13
0
        public VersionNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraProject project, JiraNamedEntity version)
            : base(model, facade, server, version.Name, 0)
        {
            this.project = project;
            this.version = version;

            ContextMenuStrip = new ContextMenuStrip();

            menuItems.Add(new ToolStripMenuItem("Open \"Set Fix For " + version.Name + "\" Drop Zone", null, createFixForDropZone));
            menuItems.Add(new ToolStripMenuItem("Open \"Set Affects " + version.Name + "\" Drop Zone", null, createAffectsDropZone));

            ContextMenuStrip.Items.Add("dummy");

            ContextMenuStrip.Items.AddRange(MenuItems.ToArray());

            ContextMenuStrip.Opening += contextMenuStripOpening;
            ContextMenuStrip.Opened  += contextMenuStripOpened;
        }
예제 #14
0
        private JiraServerExplorer(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade)
        {
            this.model  = model;
            this.server = server;
            this.facade = facade;

            InitializeComponent();

            status = new StatusLabel(statusStrip, labelPath);

            Text = "JIRA Server Explorer: " + server.Name + " (" + server.Url + ")";

            StartPosition = FormStartPosition.CenterParent;

            dropDownActions.Enabled = false;

            dropDownActions.DropDownItems.Add("phony");

            webJira.Title       = "";
            webJira.ErrorString = Resources.explorer_navigator_error_html;
        }
        public AddOrEditJiraServer(JiraServer server, AbstractJiraServerFacade facade)
        {
            this.facade = facade;
            InitializeComponent();

            editing = server != null;

            this.server = new JiraServer(server);

            Text = editing ? "Edit JIRA Server" : "Add JIRA Server";
            buttonAddOrEdit.Text = editing ? "Apply Changes" : "Add Server";

            if (editing)
            {
                if (server != null)
                {
                    name.Text                    = server.Name;
                    url.Text                     = server.Url;
                    user.Text                    = server.UserName;
                    password.Text                = server.Password;
                    checkEnabled.Checked         = server.Enabled;
                    checkShared.Checked          = server.IsShared;
                    checkDontUseProxy.Checked    = server.NoProxy;
                    checkUseOldskoolAuth.Checked = server.OldSkoolAuth;
                }
            }
            else
            {
                ++invocations;
                name.Text = "JIRA Server #" + invocations;
                buttonAddOrEdit.Enabled      = false;
                checkEnabled.Checked         = true;
                checkShared.Checked          = false;
                checkDontUseProxy.Checked    = false;
                checkUseOldskoolAuth.Checked = false;
            }

            StartPosition = FormStartPosition.CenterParent;
        }
        public LogWork(
            Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraIssue issue,
            StatusLabel status, JiraActiveIssueManager activeIssueManager)
        {
            this.parent             = parent;
            this.model              = model;
            this.facade             = facade;
            this.issue              = issue;
            this.status             = status;
            this.activeIssueManager = activeIssueManager;
            InitializeComponent();

            endTime = DateTime.Now;

            setEndTimeLabelText();

            textRemainingEstimate.Enabled = false;
            radioAutoUpdate.Checked       = true;
            textExplanation.Font          = new Font(textExplanation.Font.FontFamily, textExplanation.Font.Size - 1);

            StartPosition = FormStartPosition.CenterParent;
        }
 public ProjectNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraProject project)
     : base(model, facade, server, project.ToString(), 0)
 {
     this.project = project;
     Server       = server;
 }
예제 #18
0
 public ComponentsNode(Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraProject project)
     : base(model, facade, server, "Components", 0)
 {
     this.parent  = parent;
     this.project = project;
 }
예제 #19
0
 public static void showDropZoneFor(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade, DropZoneWorker worker)
 {
     if (activeDropZones.ContainsKey(worker.ZoneKey))
     {
         activeDropZones[worker.ZoneKey].BringToFront();
     }
     else
     {
         new DropZone(model, server, facade, worker).Show();
     }
 }
예제 #20
0
 public static void showJiraServerExplorerFor(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade)
 {
     if (activeExplorers.ContainsKey(server.GUID.ToString()))
     {
         activeExplorers[server.GUID.ToString()].BringToFront();
     }
     else
     {
         new JiraServerExplorer(model, server, facade).Show();
     }
 }
예제 #21
0
 public AssigneeDropZoneWorker(AbstractJiraServerFacade facade, JiraServer server, JiraUser user)
 {
     this.facade = facade;
     this.server = server;
     this.user   = user;
 }
 public JiraIssueListModelBuilder(AbstractJiraServerFacade facade)
 {
     this.facade = facade;
 }
 public ProjectsNode(Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server)
     : base(model, facade, server, "Projects", 0)
 {
     this.parent = parent;
 }
예제 #24
0
 public TestJiraConnection(AbstractJiraServerFacade facade, JiraServer server) : base(server)
 {
     this.facade = facade;
     this.server = server;
 }
예제 #25
0
        public DeactivateIssue(
            string explanationText, Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, ParameterStore store,
            JiraIssue issue, StatusLabel status, JiraActiveIssueManager activeIssueManager,
            IEnumerable <JiraNamedEntity> actions, Action onFinished)
            : base(parent, model, facade, issue, status, activeIssueManager)
        {
            this.store      = store;
            this.onFinished = onFinished;

            setOkButtonName("Stop Work");

            SuspendLayout();

            Controls.Remove(LogWorkPanel);

            int explanationY = 0;

            if (explanationText != null)
            {
                Label l = new Label
                {
                    Text      = explanationText,
                    Location  = new Point(10, 10),
                    AutoSize  = false,
                    Width     = LogWorkPanel.Width,
                    Height    = 40,
                    TextAlign = ContentAlignment.MiddleCenter
                };
                Controls.Add(l);
                explanationY = 50;
            }
            checkBoxLogWork = new CheckBox {
                AutoSize = true, Text = "Log Work", Location = new Point(10, 10 + explanationY)
            };
            checkBoxLogWork.CheckedChanged += (s, e) => {
                LogWorkPanel.Enabled = checkBoxLogWork.Checked;
                updateOkButtonState();
            };
            GroupBox group = new GroupBox {
                Size     = new Size(LogWorkPanel.Width + 20, LogWorkPanel.Height + 20),
                Location = new Point(10, checkBoxLogWork.Location.Y + checkBoxLogWork.Height - 3)
            };

            group.Controls.Add(LogWorkPanel);

            LogWorkPanel.Location = new Point(5, 15);
            LogWorkPanel.Enabled  = checkBoxLogWork.Checked;

            checkBoxRunAction = new CheckBox {
                AutoSize = true,
                Text     = "Run Issue Action",
                Location = new Point(10, group.Location.Y + group.Height + 20)
            };
            cbActions = new ComboBox {
                DropDownStyle = ComboBoxStyle.DropDownList,
                Location      = new Point(150, group.Location.Y + group.Height + 17)
            };
            checkBoxRunAction.CheckedChanged += (s, e) => {
                cbActions.Enabled = checkBoxRunAction.Checked;
                updateOkButtonState();
            };

            foreach (var action in actions)
            {
                cbActions.Items.Add(action);
            }
            cbActions.SelectedValueChanged += (s, e) => updateOkButtonState();
            cbActions.Enabled = checkBoxRunAction.Checked;

            Size = new Size(Size.Width + 40, Size.Height + 100 + explanationY);

            Controls.Add(checkBoxLogWork);
            Controls.Add(group);
            Controls.Add(checkBoxRunAction);
            Controls.Add(cbActions);

            ButtonOk.Location     = new Point(ButtonOk.Location.X + 40, ButtonOk.Location.Y + 100 + explanationY);
            ButtonCancel.Location = new Point(ButtonCancel.Location.X + 40, ButtonCancel.Location.Y + 100 + explanationY);
            ResumeLayout(true);

            checkBoxLogWork.Checked   = store.loadParameter(DEACTIVATE_ISSUE_LOG_WORK_CHECKED, 0) > 0;
            checkBoxRunAction.Checked = store.loadParameter(DEACTIVATE_ISSUE_RUN_ACTION_CHECKED, 0) > 0;
            int actionId = store.loadParameter(DEACTIVATE_ISSUE_LAST_ACTION, 0);

            foreach (var item in
                     from object item in cbActions.Items
                     let i = item as JiraNamedEntity
                             where i != null && i.Id == actionId
                             select item)
            {
                cbActions.SelectedItem = item;
                break;
            }
        }