public FileListView()
		{
			if (!Program.Running) return;

			InitializeComponent();
			_versions = new Dictionary<string, Version>(StringComparer.OrdinalIgnoreCase);

			var sorter = new FileListViewSorter()
			{
				Order = SortOrder.Ascending,
				SortColumn = 0,
				View = this
			};
			ColumnClick += (s, e) =>
			{
				if (e.Column == sorter.SortColumn)
				{
					if (sorter.Order == SortOrder.None) sorter.Order = SortOrder.Ascending;
					else sorter.Order = sorter.Order == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending;
				}
				else
				{
					sorter.SortColumn = e.Column;
				}
				Sort();
			};
			ListViewItemSorter = sorter;
		}
Ejemplo n.º 2
0
        public FileListView()
        {
            if (!Program.Running)
            {
                return;
            }

            InitializeComponent();
            _versions = new Dictionary <string, Version>(StringComparer.OrdinalIgnoreCase);

            var sorter = new FileListViewSorter()
            {
                Order      = SortOrder.Ascending,
                SortColumn = 0,
                View       = this
            };

            ColumnClick += (s, e) =>
            {
                if (e.Column == sorter.SortColumn)
                {
                    if (sorter.Order == SortOrder.None)
                    {
                        sorter.Order = SortOrder.Ascending;
                    }
                    else
                    {
                        sorter.Order = sorter.Order == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending;
                    }
                }
                else
                {
                    sorter.SortColumn = e.Column;
                }
                Sort();
            };
            ListViewItemSorter = sorter;
        }
		public FileListView()
		{
			if (!Program.Running) return;

			InitializeComponent();
			_versions = new Dictionary<string, Version>(StringComparer.OrdinalIgnoreCase);
			_verifyLevels = new Dictionary<string, FileVerificationLevel>(StringComparer.OrdinalIgnoreCase);
			_updateMethods = new Dictionary<string, UpdateMethod>(StringComparer.OrdinalIgnoreCase);

			var sorter = new FileListViewSorter()
			{
				Order = SortOrder.Ascending,
				SortColumn = 0,
				View = this
			};
			ColumnClick += (s, e) =>
			{
				if (e.Column == sorter.SortColumn)
				{
					if (sorter.Order == SortOrder.None) sorter.Order = SortOrder.Ascending;
					else sorter.Order = sorter.Order == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending;
				}
				else
				{
					sorter.SortColumn = e.Column;
				}
				Sort();
			};
			ListViewItemSorter = sorter;
			itemCtxMenu.Opening += (s, e) =>
			{
				if (this.SelectedItems.Count == 0)
				{
					e.Cancel = true;
					return;
				};

				//取同一个组
				tsUpdateMethodIgnore.Checked = tsUpdateMethodAlways.Checked = tsUpdateMethodCompare.Checked = tsUpdateMethodOnlyNotExist.Checked = false;

				var groups = SelectedItems.Cast<ListViewItem>().Select(m => m.Group).Distinct().ToArray();
				if (groups.Length > 1)
				{
					var group = groups[0];
					if (group == Groups[0]) tsUpdateMethodAlways.Checked = true;
					else if (group == Groups[1]) tsUpdateMethodCompare.Checked = true;
					else if (group == Groups[2]) tsUpdateMethodCompare.Checked = true;
					else tsUpdateMethodIgnore.Checked = true;
				}
			};
			tsUpdateMethodOnlyNotExist.Click += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.SkipIfExists);
			tsUpdateMethodCompare.Click += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.VersionCompare);
			tsUpdateMethodAlways.Click += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.Always);
			tsUpdateMethodIgnore.Click += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.Ignore);

			UpdatePackageBuilder.Instance.ProjectLoaded += (s, e) =>
			{
				RefreshUpdateInfo();
			};
			RefreshUpdateInfo();
		}
Ejemplo n.º 4
0
        public FileListView()
        {
            if (!Program.Running)
            {
                return;
            }

            InitializeComponent();
            _versions      = new Dictionary <string, Version>(StringComparer.OrdinalIgnoreCase);
            _verifyLevels  = new Dictionary <string, FileVerificationLevel>(StringComparer.OrdinalIgnoreCase);
            _updateMethods = new Dictionary <string, UpdateMethod>(StringComparer.OrdinalIgnoreCase);

            var sorter = new FileListViewSorter()
            {
                Order      = SortOrder.Ascending,
                SortColumn = 0,
                View       = this
            };

            ColumnClick += (s, e) =>
            {
                if (e.Column == sorter.SortColumn)
                {
                    if (sorter.Order == SortOrder.None)
                    {
                        sorter.Order = SortOrder.Ascending;
                    }
                    else
                    {
                        sorter.Order = sorter.Order == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending;
                    }
                }
                else
                {
                    sorter.SortColumn = e.Column;
                }
                Sort();
            };
            ListViewItemSorter   = sorter;
            itemCtxMenu.Opening += (s, e) =>
            {
                if (this.SelectedItems.Count == 0)
                {
                    e.Cancel = true;
                    return;
                }
                ;

                //取同一个组
                tsUpdateMethodIgnore.Checked = tsUpdateMethodAlways.Checked = tsUpdateMethodCompare.Checked = tsUpdateMethodOnlyNotExist.Checked = false;

                var groups = SelectedItems.Cast <ListViewItem>().Select(m => m.Group).Distinct().ToArray();
                if (groups.Length > 1)
                {
                    var group = groups[0];
                    if (group == Groups[0])
                    {
                        tsUpdateMethodAlways.Checked = true;
                    }
                    else if (group == Groups[1])
                    {
                        tsUpdateMethodCompare.Checked = true;
                    }
                    else if (group == Groups[2])
                    {
                        tsUpdateMethodCompare.Checked = true;
                    }
                    else
                    {
                        tsUpdateMethodIgnore.Checked = true;
                    }
                }
            };
            tsUpdateMethodOnlyNotExist.Click += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.SkipIfExists);
            tsUpdateMethodCompare.Click      += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.VersionCompare);
            tsUpdateMethodAlways.Click       += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.Always);
            tsUpdateMethodIgnore.Click       += (s, e) => SetSelectedItemUpdateMethod(UpdateMethod.Ignore);

            UpdatePackageBuilder.Instance.ProjectLoaded += (s, e) =>
            {
                RefreshUpdateInfo();
            };
            RefreshUpdateInfo();
        }