Verified Commit 8f0bbf4a authored by Bruno Petrus's avatar Bruno Petrus
Browse files

feat: Remember the last file's parent directory.

parent d9f0d2cf
Loading
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
import sys
from os.path import dirname
from typing import Optional, Union

import numpy as np
@@ -28,6 +29,9 @@ class MainWindow(QtWidgets.QMainWindow):
        super(MainWindow, self).__init__()
        # TODO: rework

        self.last_accessed_file_path = "."
        self.last_accessed_folder_path = "."

        if data is not None:
            data = np.asanyarray(data)

@@ -254,22 +258,31 @@ class MainWindow(QtWidgets.QMainWindow):
        event.accept()

    def open_file(self) -> None:
        file_name, _ = QFileDialog.getOpenFileName(self, "Open file", ".",
        file_name, _ = QFileDialog. \
            getOpenFileName(self, "Open file",
                            self.last_accessed_file_path,
                            "Image file (*.jpg *.png"
                            " *.h5 *.tif *.tiff)")
        if file_name == "":
            # User did not select a file
            return

        parent_path = dirname(file_name)  # path to the parent directory
        if file_name != "":
            self.last_accessed_file_path = parent_path

        self._open(file_name)

    def open_folder(self) -> None:
        folder_name = QFileDialog.getExistingDirectory(self, "Open folder",
                                                       ".",
        folder_name = QFileDialog. \
            getExistingDirectory(self, "Open folder",
                                 self.last_accessed_folder_path,
                                 QFileDialog.ShowDirsOnly
                                 )
        if folder_name == "":
            # No folder was selected
            return
        self.last_accessed_folder_path = folder_name
        self._open(folder_name)

    def _open(self, path: str) -> None: