Skip to content

Commit 6916d73

Browse files
committed
#187 Working prototype of the File -> Change Directory menu option
1 parent ce1034d commit 6916d73

File tree

5 files changed

+31
-2
lines changed

5 files changed

+31
-2
lines changed

src/personalize/configuration/analysis.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Copyright (c) 2021 dmh23
77
#
88

9-
from src.personalize.reward_functions.private.feb_2023_fumiaki_loop_3 import reward_function
9+
from src.personalize.reward_functions.private.march_2023_hot_rod import reward_function
1010

1111
NEW_REWARD_FUNCTION = reward_function
1212

src/prototype_ui/actions.py

+11
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,31 @@ def __init__(self, style: QStyle):
1212
self._style = style
1313
assert os.path.isdir(ICON_DIRECTORY)
1414

15+
# REAL
16+
self.change_directory = QAction("Directory")
17+
self.change_directory.setShortcut("Ctrl+D")
18+
self.change_directory.setStatusTip("Change log file source directory")
19+
self.change_directory.setIcon(style.standardIcon(QStyle.StandardPixmap.SP_DirIcon))
20+
21+
# TEMPORARY TESTS
1522
self.file_new = QAction("New")
1623
self.file_new.setShortcut("Ctrl+N")
24+
self.file_new.setStatusTip("BLAH BLAH")
1725
self.file_new.setIcon(style.standardIcon(QStyle.StandardPixmap.SP_ArrowBack))
1826

1927
self.file_open = QAction("Open")
2028
self.file_open.setShortcut("Ctrl+O")
29+
self.file_open.setStatusTip("BLAH BLAH")
2130
self.file_open.setIcon(self.get_custom_icon("sample_icon"))
2231

2332
self.file_save = QAction("Save")
2433
self.file_save.setShortcut("Ctrl+S")
34+
self.file_save.setStatusTip("BLAH BLAH")
2535
self.file_save.setIcon(style.standardIcon(QStyle.StandardPixmap.SP_DirHomeIcon))
2636

2737
self.file_save_as = QAction("Save As")
2838
self.file_save_as.setShortcut("Ctrl+A")
39+
self.file_save_as.setStatusTip("BLAH BLAH")
2940
self.file_save_as.setIcon(style.standardIcon(QStyle.StandardPixmap.SP_DialogOpenButton))
3041

3142
self.file_save_as.setCheckable(True)

src/prototype_ui/main.py

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import sys
22

33
from PyQt6.QtCore import Qt
4-
from PyQt6.QtWidgets import QMainWindow, QApplication, QLabel, QProgressBar
4+
from PyQt6.QtWidgets import QMainWindow, QApplication, QLabel, QProgressBar, QFileDialog
55

6+
from configuration.config_manager import ConfigManager
67
from prototype_ui.actions import Actions
78
from prototype_ui.menubar import MenuBarManager
89
from prototype_ui.toolbar import ToolBarManager
@@ -13,6 +14,12 @@
1314
class MainWindow(QMainWindow):
1415
def __init__(self):
1516
super().__init__()
17+
#
18+
# First of all, get config manager up and running so we have access to any settings that it manages for us
19+
#
20+
self._config_manager = ConfigManager()
21+
22+
# PROTOTYPE FROM HERE
1623

1724
self.setMinimumSize(200, 200)
1825
self.resize(1800, 400)
@@ -34,6 +41,7 @@ def __init__(self):
3441
self._tool_bar_manager = ToolBarManager(self.addToolBar("Main"), self._actions)
3542

3643
# Connect actions with callback methods to implement them
44+
self._actions.change_directory.triggered.connect(self._change_directory)
3745
self._actions.file_new.triggered.connect(self._new_file)
3846
self._actions.file_open.triggered.connect(self._open_file)
3947

@@ -58,6 +66,12 @@ def _new_file(self):
5866
def _open_file(self):
5967
self.canvas.setCursor(Qt.CursorShape.CrossCursor)
6068

69+
def _change_directory(self):
70+
new_directory = QFileDialog.getExistingDirectory(self, self._actions.change_directory.statusTip(), self._config_manager.get_log_directory())
71+
if new_directory != "":
72+
self._config_manager.set_log_directory(new_directory)
73+
# self.menu_bar.refresh() # TODO - Equivalent in new UI is to be determined
74+
6175

6276
if __name__ == '__main__':
6377
app = QApplication([])

src/prototype_ui/menubar.py

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ def setup_menu_bar(self):
1414

1515
def _create_file_menu(self):
1616
menu = self._menu_bar.addMenu("File")
17+
menu.addAction(self._actions.change_directory)
18+
menu.addSeparator()
1719
menu.addAction(self._actions.file_new)
1820
menu.addAction(self._actions.file_open)
1921
menu.addSeparator()

src/prototype_ui/toolbar.py

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ def __init__(self, tool_bar: QToolBar, actions: Actions):
1010
self.setup_tool_bar()
1111

1212
def setup_tool_bar(self):
13+
self._toolbar.addAction(self._actions.change_directory)
14+
1315
self._toolbar.addAction(self._actions.file_new)
1416
self._toolbar.addAction(self._actions.file_open)
1517
self._toolbar.addAction(self._actions.file_save)

0 commit comments

Comments
 (0)