Example #1
0
        public void Save_WritesToDiskWhenDialogReturns_True()
        {
            Given_ShimSaveFileDialog_ShowDialog_Returns(true);
            Given_ShimSaveFileDialog_FileName_Gets("fileName");
            Given_Shim_File_WriteAllText_DoesNothing();

            bool?result = null;

            PoseContext.Isolate(() =>
            {
                result = subject.Save("content");
            }, shimSaveFileDialog_ShowDialog_Returns, shimSaveFileDialog_FileName_Gets, shim_File_WriteAllText_DoesNothing);

            Assert.IsTrue(result);
            Assert.AreEqual("Saving content to fileName\r\n", consoleOutput.ToString());
        }
Example #2
0
        static void Main(string[] args)
        {
            var openDialog = new OpenFileDialog("This is a test dialog");
            var filter     = "Text files(*.txt) | *.txt | Png files(*.png) | *.png | All files(*.*) | *.*";

            openDialog.Open(filter, result => OpenFile(result.FileName));

            Console.ReadKey();

            var saveDialog = new SaveFileDialog("Another test for saving");

            filter = "Text files(*.txt) | *.txt | Png files(*.png) | *.png | All files(*.*) | *.*";
            saveDialog.Save(filter, result => SaveFile(result.FileName));

            Console.ReadKey();
        }
Example #3
0
        static void Main(string[] args)
        {
            var dirDialog = new DirectoryDialog("Select a directory");

            dirDialog.Open(result => OpenDirectory(result.FileName));

            Console.ReadKey();

            var openDialog = new OpenFileDialog("This is a test dialog");
            var filter     = "Text files(*.txt) | *.txt | Png files(*.png) | *.png | All files(*.*) | *.*";

            openDialog.Open(result => OpenFile(result.FileName), filter);

            Console.ReadKey();

            var saveDialog = new SaveFileDialog("Another test for saving");

            filter = "Text files(*.txt) | *.txt | Png files(*.png) | *.png | All files(*.*) | *.*";
            saveDialog.DefaultFileName = "filename.txt";
            saveDialog.Save(result => SaveFile(result.FileName), filter);

            Console.ReadKey();
        }
Example #4
0
        private void DrawFilesList(Vector2 windowSize)
        {
            ImGui.BeginChild("sidebar", new Vector2(350, 0), true, 0);

            ImGui.PushItemWidth(-1);
            ImGuiUtility.InputText("##search", _searchTextBuffer, out var searchText);
            UpdateSearch(searchText);
            ImGui.PopItemWidth();

            ImGui.BeginChild("files list", Vector2.Zero, true);

            ImGui.Columns(2, "Files", false);

            ImGui.SetColumnWidth(0, 250);

            ImGui.Separator();
            ImGui.Text("Name"); ImGui.NextColumn();
            ImGui.Text("Size"); ImGui.NextColumn();
            ImGui.Separator();

            if (ImGui.IsKeyPressed(ImGui.GetKeyIndex(ImGuiKey.DownArrow)) && _currentFile != _files.Count - 1)
            {
                _currentFile++;
                _scrollY += ImGui.GetIO().DeltaTime * 1000.0f;
                ImGui.SetScrollY(_scrollY);
            }
            if (ImGui.IsKeyPressed(ImGui.GetKeyIndex(ImGuiKey.UpArrow)) && _currentFile != 0)
            {
                _currentFile--;
                _scrollY -= ImGui.GetIO().DeltaTime * 1000.0f;
                ImGui.SetScrollY(_scrollY);
            }
            if (ImGui.IsMouseClicked(0))
            {
                _scrollY = ImGui.GetScrollY();
            }

            for (var i = 0; i < _files.Count; i++)
            {
                var entry = _files[i];

                if (ImGui.Selectable(entry.FullName, i == _currentFile, ImGuiSelectableFlags.SpanAllColumns) || i == _currentFile)
                {
                    _currentFile     = i;
                    _currentFileName = entry.FullName;

                    switch (Path.GetExtension(entry.FullName).ToLowerInvariant())
                    {
                    case ".ini":
                    case ".txt":
                    case ".wnd":
                        using (var stream = entry.Open())
                            using (var reader = new StreamReader(stream))
                            {
                                _currentFileText = reader.ReadToEnd();
                            }
                        break;

                    default:
                        _currentFileText = null;
                        break;
                    }
                }

                var shouldOpenSaveDialog = false;

                if (ImGui.BeginPopupContextItem("context" + i))
                {
                    _currentFile     = i;
                    _currentFileName = entry.FullName;

                    if (ImGui.Selectable("Export..."))
                    {
                        shouldOpenSaveDialog = true;
                    }

                    ImGui.EndPopup();
                }

                ImGui.NextColumn();

                ImGui.Text(ImGuiUtility.GetFormatedSize(entry.Length));
                ImGui.NextColumn();

                if (shouldOpenSaveDialog)
                {
                    var saveDialog = new SaveFileDialog("Export file");
                    saveDialog.DefaultFileName = entry.Name;
                    saveDialog.Save(result => ExportFile(entry, result.FileName));
                }
            }

            ImGui.Columns(1, null, false);

            ImGui.EndChild();

            ImGui.EndChild();
        }