Example #1
0
 /// <summary>
 /// Adds an ignored item to this transaction
 /// </summary>
 /// <param name="ignoredItem">The ignored item to add</param>
 public void AddIgnoredItem(TransactionIgnoredItem ignoredItem)
 {
     if (IgnoredItems.All(x => x.Description != ignoredItem.Description))
     {
         IgnoredItems.Add(ignoredItem);
     }
 }
        public async Task MissionDropLv(DragEventArgs dragArgs)
        {
            if (!dragArgs.Data.GetDataPresent(typeof(List <IgnoredModel>)))
            {
                return;
            }

            var droppedItems = dragArgs.Data.GetData(typeof(List <IgnoredModel>)) as List <IgnoredModel>;

            foreach (var droppedItem in droppedItems)
            {
                IgnoredItems.Remove(droppedItem);
            }

            await Update.CheckFilesAsync(Helper.CtsOnStart.Token);
        }
        public MainViewModel()
        {
            WindowState           = WindowState.Normal;
            IsUpdateVisible       = Visibility.Hidden;
            MfRowHeight           = new GridLength(0);
            IsProgressBarVisible  = Visibility.Hidden;
            IsStopDownloadVisible = Visibility.Hidden;

            new Download(this);
            new Notification(this);
            new Update(this);
            _tsViewModel = new TsViewModel(this);

            Directory.CreateDirectory(Properties.GetArma3FolderPath);
            Directory.CreateDirectory(Properties.GetArma3MissionFolderPath);

            Persistence.Tracker.Configure <MainViewModel>()
            .Id(p => p.WindowName, includeType: false)
            .Property(p => p.Height, 430, "Window Height")
            .Property(p => p.Width, 900, "Window Width")

            .Property(p => p.MissionItems, "Saved Mission File(s)")
            .Property(p => p.IsOrdered, false, "Specify if Server 1 mission file should appear first in the list (S1 mf will download first)")

            .Property(p => p.MfColumnWidth, new GridLength(290, GridUnitType.Pixel), "GridSplitter Column Width")
            .Property(p => p.IgnoredItems, "Ignored Item(s)")

            .Property(p => p.TsSelectorUrlText, "https://grandtheftarma.com/", "TeamSpeak Selector URL")
            .Property(p => p.Servers, "Saved Servers")

            .Property(p => p.IsDeleteIgnoredMfChecked, false, "Delete Ignored Mission File Checkbox")
            .Property(p => p.IsRemoveMfsChecked, false, "Remove old files from the Ignored list if they are no longer available on GTA's Google Drive Checkbox")
            .Property(p => p.IsHideExceptionMissionChecked, false, "Hide any exception messages in Mission tab Checkbox")

            .Property(p => p.IsServerChecked, false, "Join Game Server Automatically Checkbox")
            .Property(p => p.DelayJoinValue, 10, "Delay Join Value (Seconds)")
            .Property(p => p.IsTsChecked, false, "Run TS Automatically Checkbox")
            .Property(p => p.IsHideExceptionServerChecked, false, "Hide any exception messages in Servers tab Checkbox")

            .Property(p => p.ThemeToggleSwitch, false, "Theme")
            .Property(p => p.Accents, "Accent Items")
            .Property(p => p.SelectedAccentIndex, 1, "Selected Accent")
            .Property(p => p.IsStartUpChecked, false, "StartUp Checkbox")
            .Property(p => p.IsHiddenChecked, false, "Hide at Startup Checkbox")
            .Property(p => p.IsUpdateNotifyChecked, true, "Notify when Program is outdated Checkbox")

            .PersistOn(nameof(PropertyChanged));

            Persistence.Tracker.Track(this);

            //Temporarily
            Properties.KeyStartUp.DeleteValue("GTADownloader", false);
            foreach (var item in IgnoredItems)
            {
                if (item.Item == "readme.txt")
                {
                    IgnoredItems.Remove(item);
                    break;
                }
            }
        }