feature: добавлена кнопка для открытия любой папки для единовременной загрузки всех находящихся там файлов
This commit is contained in:
parent
2294869130
commit
d8f7b865b9
Binary file not shown.
Binary file not shown.
@ -8,9 +8,13 @@ class Controller(BaseController):
|
||||
|
||||
signal_widgets = pyqtSignal(list)
|
||||
signal_settings = pyqtSignal(list)
|
||||
signal_monitor = pyqtSignal(str)
|
||||
|
||||
def send_widgets(self, widgets: list[QWidget]) -> None:
|
||||
self.signal_widgets.emit(widgets)
|
||||
|
||||
def push_settings(self, settings: list[dict]) -> None:
|
||||
self.signal_settings.emit(settings)
|
||||
|
||||
def open_custom_file (self, filepath: str) -> None:
|
||||
self.signal_monitor.emit(filepath)
|
||||
@ -47,5 +47,9 @@ class DirectoryMonitor(BaseDirectoryMonitor):
|
||||
else:
|
||||
logger.info(f"Failed pushing {str(all_files)}")
|
||||
|
||||
|
||||
def custom_dir_extract(self, dict_path:str ):
|
||||
files = os.listdir(dict_path)
|
||||
if files is not None:
|
||||
all_files = [os.path.join(dict_path, file) for file in files]
|
||||
self._mediator.notify(self, all_files)
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -14,6 +14,7 @@ class MainWindow(BaseMainWindow):
|
||||
self.initUI()
|
||||
self.set_style(self)
|
||||
self.settings_button.clicked.connect(self._show_settings)
|
||||
self.select_dir_button.clicked.connect(self._select_dir)
|
||||
self.operSettings = settingsWindow("params/operator_params.json", 'Operator', self._updater_trigger)
|
||||
self.sysSettings = settingsWindow("params/system_params.json", 'System', self._updater_trigger)
|
||||
|
||||
@ -23,9 +24,17 @@ class MainWindow(BaseMainWindow):
|
||||
self.tabWidget.tabCloseRequested.connect(self._close_tab)
|
||||
layout = QtWidgets.QVBoxLayout()
|
||||
layout.addWidget(self.tabWidget)
|
||||
|
||||
self.settings_button = QtWidgets.QPushButton("Show settings")
|
||||
self.settings_button.setFixedWidth(160)
|
||||
layout.addWidget(self.settings_button)
|
||||
self.select_dir_button = QtWidgets.QPushButton("Open directory")
|
||||
self.select_dir_button.setFixedWidth(175)
|
||||
button_layout = QtWidgets.QHBoxLayout()
|
||||
button_layout.setSpacing(2)
|
||||
button_layout.addWidget(self.settings_button)
|
||||
button_layout.addWidget(self.select_dir_button)
|
||||
|
||||
layout.addLayout(button_layout)
|
||||
self.setLayout(layout)
|
||||
|
||||
def show_plot_tabs(self, plot_widgets: list[QtWidgets.QWidget]) -> None:
|
||||
@ -63,6 +72,10 @@ class MainWindow(BaseMainWindow):
|
||||
def _close_tab(self, index:int) -> None:
|
||||
self.tabWidget.removeTab(index)
|
||||
|
||||
def _select_dir(self):
|
||||
folder_path = QtWidgets.QFileDialog.getExistingDirectory(self, 'Select directory', "")
|
||||
if folder_path:
|
||||
self._controller.open_custom_file(folder_path)
|
||||
|
||||
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@ def main():
|
||||
|
||||
controller.signal_widgets.connect(window.show_plot_tabs)
|
||||
controller.signal_settings.connect(mediator.push_settings)
|
||||
controller.signal_monitor.connect(monitor.custom_dir_extract)
|
||||
|
||||
window.push_settings()
|
||||
|
||||
|
||||
Binary file not shown.
@ -254,6 +254,9 @@ class BaseController(QObject):
|
||||
|
||||
def push_settings(self, settings: list[dict]) -> None:
|
||||
...
|
||||
|
||||
def open_custom_file (self, filepath: str) -> None:
|
||||
...
|
||||
|
||||
|
||||
class BaseIdealDataBuilder(OptAlgorithm):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user