private void setProjectRelatedValues()
        {
            if (listViewProjects.SelectedItems.Count == 1)
            {
                setAllEnabled(false);
                JiraProjectListViewItem project = listViewProjects.SelectedItems[0] as JiraProjectListViewItem;
                if (project != lastSelected)
                {
                    lastSelected = project;
                    Thread runner = PlvsUtils.createThread(() => setProjectRelatedValuesRunner(project != null ? project.Project : null));
                    runner.Start();
                }
            }
            else
            {
                lastSelected = null;
                refillIssueTypes(null);
                refillComponents(null);
                refillFixFor(null);
                refillAffectsVersions(null);

                setProjectRelatedSelections();
            }
        }
        private void buttonOk_Click(object sender, EventArgs e)
        {
            clearFilterValues();

            filter.Name = textBoxFilterName.Text.Trim();

            foreach (var item in listViewProjects.SelectedItems)
            {
                JiraProjectListViewItem proj = item as JiraProjectListViewItem;
                if (proj != null)
                {
                    filter.Projects.Add(proj.Project);
                }
            }
            foreach (var item in listViewIssueTypes.SelectedItems)
            {
                JiraNamedEntityListViewItem itlvi = item as JiraNamedEntityListViewItem;
                if (itlvi != null)
                {
                    filter.IssueTypes.Add(itlvi.Entity);
                }
            }
            foreach (var item in listViewFixForVersions.SelectedItems)
            {
                JiraNamedEntityListViewItem version = item as JiraNamedEntityListViewItem;
                if (version != null)
                {
                    filter.FixForVersions.Add(version.Entity);
                }
            }
            foreach (var item in listViewAffectsVersions.SelectedItems)
            {
                JiraNamedEntityListViewItem version = item as JiraNamedEntityListViewItem;
                if (version != null)
                {
                    filter.AffectsVersions.Add(version.Entity);
                }
            }
            foreach (var item in listViewComponents.SelectedItems)
            {
                JiraNamedEntityListViewItem comp = item as JiraNamedEntityListViewItem;
                if (comp != null)
                {
                    filter.Components.Add(comp.Entity);
                }
            }
            foreach (var item in listViewPriorities.SelectedItems)
            {
                JiraNamedEntityListViewItem itlvi = item as JiraNamedEntityListViewItem;
                if (itlvi != null)
                {
                    filter.Priorities.Add(itlvi.Entity);
                }
            }
            foreach (var item in listViewStatuses.SelectedItems)
            {
                JiraNamedEntityListViewItem itlvi = item as JiraNamedEntityListViewItem;
                if (itlvi != null)
                {
                    filter.Statuses.Add(itlvi.Entity);
                }
            }
            foreach (var item in listViewResolutions.SelectedItems)
            {
                JiraNamedEntityListViewItem resolution = item as JiraNamedEntityListViewItem;
                if (resolution != null)
                {
                    filter.Resolutions.Add(resolution.Entity);
                }
            }
            var reporter = comboBoxReporter.SelectedItem;

            if (reporter != null)
            {
                UserTypeComboBoxItem item = reporter as UserTypeComboBoxItem;
                if (item != null)
                {
                    filter.Reporter = item.Type;
                }
            }
            else
            {
                filter.Reporter = JiraCustomFilter.UserType.UNDEFINED;
            }
            var assignee = comboBoxAssignee.SelectedItem;

            if (assignee != null)
            {
                UserTypeComboBoxItem item = assignee as UserTypeComboBoxItem;
                if (item != null)
                {
                    filter.Assignee = item.Type;
                }
            }
            else
            {
                filter.Assignee = JiraCustomFilter.UserType.UNDEFINED;
            }

            Changed = true;
            Close();
        }