Skip to content

Commit

Permalink
Refactor layout and size policies in main_window.py
Browse files Browse the repository at this point in the history
Updated the main layout structure to include spacers, set size policies for group boxes, and refactor the status bar addition to enhance the GUI arrangement.
  • Loading branch information
cbusillo committed Jun 28, 2024
1 parent db05373 commit 2d1d71f
Showing 1 changed file with 23 additions and 8 deletions.
31 changes: 23 additions & 8 deletions bd_to_avp/gui/main_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
QStatusBar,
QWidget,
QMessageBox,
QSizePolicy,
)
from babelfish import Language

Expand Down Expand Up @@ -73,9 +74,9 @@ def create_main_layout(self) -> None:
main_layout.addWidget(source_output_group)

self.create_config_layout(main_layout)
self.create_processing_button(main_layout)

self.create_processing_output(main_widget)
self.create_status_bar()
self.create_status_bar(main_layout)

self.toggle_transcode()
self.toggle_read_from_disc()
Expand All @@ -99,6 +100,7 @@ def create_save_load_layout(self, main_layout: QVBoxLayout) -> None:
self.save_config_button.clicked.connect(self.save_config_to_file)
self.save_config_button.setShortcut("Ctrl+S")
save_load_layout.addWidget(self.save_config_button)
save_load_layout.addStretch(1)

main_layout.addLayout(save_load_layout)

Expand All @@ -111,9 +113,10 @@ def create_input_output_layout(self, main_layout: QVBoxLayout) -> None:
self.output_folder_widget = FileFolderPicker("Output Folder")

main_layout.setSpacing(0)
main_layout.setContentsMargins(0, 0, 0, 0)

main_layout.addWidget(self.read_from_disc_checkbox)
spacer_label = QLabel("")
spacer_label.setFixedHeight(10)
main_layout.addWidget(spacer_label)
main_layout.addWidget(self.source_folder_widget)
main_layout.addWidget(self.source_file_widget)
main_layout.addWidget(self.output_folder_widget)
Expand All @@ -124,8 +127,15 @@ def create_config_layout(self, main_layout: QVBoxLayout) -> None:
misc_group = self.create_group_box("Misc Options", self.create_misc_options)
processing_group = self.create_group_box("Processing Options", self.create_processing_options)

size_policy = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Maximum)
quality_group.setSizePolicy(size_policy)
misc_group.setSizePolicy(size_policy)
processing_group.setSizePolicy(size_policy)

config_options_layout.addWidget(quality_group)
config_options_layout.addWidget(misc_group)

config_options_layout.addStretch(1)
config_options_layout.addWidget(processing_group)
main_layout.addLayout(config_options_layout)

Expand Down Expand Up @@ -186,10 +196,14 @@ def create_processing_options(self, config_layout: QVBoxLayout) -> None:
self.language_combobox = LabeledComboBox("Language", get_common_language_options())

config_layout.setSpacing(0)
config_layout.setContentsMargins(0, 0, 0, 0)
config_layout.addWidget(self.keep_awake_checkbox)
config_layout.addWidget(self.start_stage_combobox)
config_layout.addWidget(self.language_combobox)
spacer_label = QLabel("")
spacer_label.setFixedHeight(5)
config_layout.addWidget(spacer_label)
config_layout.addWidget(self.keep_awake_checkbox)
config_layout.addWidget(spacer_label)
self.create_processing_button(config_layout)

def create_processing_button(self, main_layout: QVBoxLayout) -> None:
self.process_button = QPushButton(self.START_PROCESSING_TEXT)
Expand All @@ -209,9 +223,10 @@ def create_processing_output(self, main_widget: QWidget) -> None:

self.setCentralWidget(self.splitter)

def create_status_bar(self) -> None:
self.processing_status_label = QLabel("Processing Status")
def create_status_bar(self, main_layout: QVBoxLayout) -> None:
self.processing_status_label = QLabel("Processing Status:")
self.processing_status_label.hide()
main_layout.addWidget(self.processing_status_label)

self.status_bar = QStatusBar()
self.setStatusBar(self.status_bar)
Expand Down

0 comments on commit 2d1d71f

Please sign in to comment.