Example #1
0
        private void PopulateLastSessions()
        {
            popupLastSessions.ClearLinks();

            var store        = new TemporaryLogStore();
            var topLevelPath = store.TopLevelPath;

            if (!Directory.Exists(topLevelPath))
            {
                return;
            }

            foreach (var sessionPath in Directory.GetDirectories(topLevelPath).OrderByDescending(dir => dir))
            {
                var button = new BarButtonItem();
                button.Caption    = store.GetLogName(sessionPath);
                button.ItemClick += async(s, e) => await ImportFromDirectoryAsync(sessionPath);

                popupLastSessions.AddItem(button);
            }

            if (popupLastSessions.ItemLinks.Count > 0)
            {
                var topLevelButton = new BarButtonItem();
                topLevelButton.Caption    = "Locate logs";
                topLevelButton.ItemClick += (s, e) => Process.Start(topLevelPath);
                popupLastSessions.AddItem(topLevelButton).BeginGroup = true;
            }
        }
Example #2
0
        private void PopulateLastSessions()
        {
            popupLastSessions.ClearLinks();

            var store        = new TemporaryLogStore();
            var topLevelPath = store.TopLevelPath;

            string[] sessionPaths = null;

            if (Directory.Exists(topLevelPath))
            {
                sessionPaths = Directory
                               .GetDirectories(topLevelPath)
                               .OrderByDescending(dir => dir)
                               .Take(20)          // limit to max to keep the menu fast
                               .ToArray();
            }

            if ((sessionPaths?.Length ?? 0) == 0)
            {
                var button = new BarButtonItem();
                button.Caption = "(no sessions yet)";
                button.Enabled = false;
                popupLastSessions.AddItem(button);
                return;
            }

            foreach (var sessionPath in sessionPaths)
            {
                var button = new BarButtonItem();
                button.Caption    = store.GetLogName(sessionPath);
                button.ItemClick += async(s, e) => await ImportFromDirectoryAsync(sessionPath);

                popupLastSessions.AddItem(button);
            }

            if (popupLastSessions.ItemLinks.Count > 0)
            {
                var topLevelButton = new BarButtonItem();
                topLevelButton.Caption    = "Show in Windows Explorer";
                topLevelButton.ItemClick += (s, e) => Process.Start(topLevelPath);
                popupLastSessions.AddItem(topLevelButton).BeginGroup = true;
            }

            var importButton = new BarButtonItem();

            importButton.Caption    = "Import from folder";
            importButton.ItemClick += async(s, e) => await ImportWithDirectoryDialogAsync();

            popupLastSessions.AddItem(importButton).BeginGroup = true;
        }