Made the main directory the working directory, some refactoring, added open folder function to the dir widget
parent
66cda77233
commit
73ae09c438
|
@ -113,13 +113,13 @@ class OptionsWidget(QWidget):
|
||||||
# TODO: implement random local mod name
|
# TODO: implement random local mod name
|
||||||
|
|
||||||
|
|
||||||
class EditorWidget(QWidget):
|
class CodeEditorWidget(QWidget):
|
||||||
def __init__(self, parent: QWidget):
|
def __init__(self, parent: QWidget):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
|
|
||||||
self.tapes_yaml = Path("../source/tapes.yaml")
|
self.tapes_yaml = Path("./source/tapes.yaml")
|
||||||
self.filename_string = f"<tt style=\"font-family: consolas;\"><b>{self.tapes_yaml.name}</b></tt>"
|
self.filename_string = f"<tt style=\"font-family: consolas;\"><b>{self.tapes_yaml.name}</b></tt>"
|
||||||
|
|
||||||
self.tapes_file_watcher = QFileSystemWatcher()
|
self.tapes_file_watcher = QFileSystemWatcher()
|
||||||
|
@ -127,19 +127,19 @@ class EditorWidget(QWidget):
|
||||||
self.tapes_file_watcher.fileChanged.connect(self.external_file_changed)
|
self.tapes_file_watcher.fileChanged.connect(self.external_file_changed)
|
||||||
|
|
||||||
self.external_editor_pushbutton = QPushButton()
|
self.external_editor_pushbutton = QPushButton()
|
||||||
self.external_editor_pushbutton.setIcon(QIcon("./icons/ic_open_in_new_24px.svg"))
|
self.external_editor_pushbutton.setIcon(QIcon("./gui/icons/ic_open_in_new_24px.svg"))
|
||||||
self.external_editor_pushbutton.setToolTip("Edit in external editor")
|
self.external_editor_pushbutton.setToolTip("Edit in external editor")
|
||||||
self.external_editor_pushbutton.clicked.connect(self.open_file)
|
self.external_editor_pushbutton.clicked.connect(self.open_file)
|
||||||
self.reload_code_pushbutton = QPushButton()
|
self.reload_code_pushbutton = QPushButton()
|
||||||
self.reload_code_pushbutton.setIcon(QIcon("./icons/ic_refresh_24px.svg"))
|
self.reload_code_pushbutton.setIcon(QIcon("./gui/icons/ic_refresh_24px.svg"))
|
||||||
self.reload_code_pushbutton.setToolTip("Reload the external file")
|
self.reload_code_pushbutton.setToolTip("Reload the external file")
|
||||||
self.reload_code_pushbutton.clicked.connect(self.load_file)
|
self.reload_code_pushbutton.clicked.connect(self.load_file)
|
||||||
self.save_code_pushbutton = QPushButton()
|
self.save_code_pushbutton = QPushButton()
|
||||||
self.save_code_pushbutton.setIcon(QIcon("./icons/ic_save_24px.svg"))
|
self.save_code_pushbutton.setIcon(QIcon("./gui/icons/ic_save_24px.svg"))
|
||||||
self.save_code_pushbutton.setToolTip("Save setup")
|
self.save_code_pushbutton.setToolTip("Save setup")
|
||||||
self.save_code_pushbutton.clicked.connect(self.save_file)
|
self.save_code_pushbutton.clicked.connect(self.save_file)
|
||||||
self.transfer_to_validator_pushbutton = QPushButton()
|
self.transfer_to_validator_pushbutton = QPushButton()
|
||||||
self.transfer_to_validator_pushbutton.setIcon(QIcon("./icons/ic_keyboard_double_arrow_right_24px.svg"))
|
self.transfer_to_validator_pushbutton.setIcon(QIcon("./gui/icons/ic_keyboard_double_arrow_right_24px.svg"))
|
||||||
self.transfer_to_validator_pushbutton.setToolTip("Apply the code.")
|
self.transfer_to_validator_pushbutton.setToolTip("Apply the code.")
|
||||||
self.transfer_to_validator_pushbutton.clicked.connect(self.apply_code)
|
self.transfer_to_validator_pushbutton.clicked.connect(self.apply_code)
|
||||||
|
|
||||||
|
@ -281,7 +281,7 @@ class ValidationWidget(QWidget):
|
||||||
|
|
||||||
self.tapes = self.load_tapes()
|
self.tapes = self.load_tapes()
|
||||||
self.transfer_to_code_pushbutton = QPushButton()
|
self.transfer_to_code_pushbutton = QPushButton()
|
||||||
self.transfer_to_code_pushbutton.setIcon(QIcon("./icons/ic_keyboard_double_arrow_left_24px.svg"))
|
self.transfer_to_code_pushbutton.setIcon(QIcon("./gui/icons/ic_keyboard_double_arrow_left_24px.svg"))
|
||||||
self.transfer_to_code_pushbutton.setToolTip("Update the code")
|
self.transfer_to_code_pushbutton.setToolTip("Update the code")
|
||||||
self.transfer_to_code_pushbutton.clicked.connect(self.save_tapes)
|
self.transfer_to_code_pushbutton.clicked.connect(self.save_tapes)
|
||||||
self.jump_spinbox = QSpinBox()
|
self.jump_spinbox = QSpinBox()
|
||||||
|
@ -324,7 +324,7 @@ class ValidationWidget(QWidget):
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
def load_tapes(self):
|
def load_tapes(self):
|
||||||
with open("../source/tapes.yaml", encoding="utf-8") as fp:
|
with open("./source/tapes.yaml", encoding="utf-8") as fp:
|
||||||
tapes = yaml.safe_load(fp)
|
tapes = yaml.safe_load(fp)
|
||||||
|
|
||||||
return tapes
|
return tapes
|
||||||
|
@ -430,7 +430,6 @@ class InstallWidget(QWidget):
|
||||||
self.does_ffmpeg_exists()
|
self.does_ffmpeg_exists()
|
||||||
|
|
||||||
def does_ffmpeg_exists(self):
|
def does_ffmpeg_exists(self):
|
||||||
os.chdir("..")
|
|
||||||
if Path("./utils/ffmpeg-" + get_ffmpeg_version() + "-full_build/bin/ffmpeg.exe").exists():
|
if Path("./utils/ffmpeg-" + get_ffmpeg_version() + "-full_build/bin/ffmpeg.exe").exists():
|
||||||
self.install_grid.addWidget(self.ffmpeg_info_label, 3, 0, 1, 3)
|
self.install_grid.addWidget(self.ffmpeg_info_label, 3, 0, 1, 3)
|
||||||
self.ffmpeg_info_label.show()
|
self.ffmpeg_info_label.show()
|
||||||
|
@ -443,13 +442,11 @@ class InstallWidget(QWidget):
|
||||||
self.ffmpeg_pushbutton.setEnabled(not exists)
|
self.ffmpeg_pushbutton.setEnabled(not exists)
|
||||||
self.ffmpeg_checkbox.setChecked(exists)
|
self.ffmpeg_checkbox.setChecked(exists)
|
||||||
self.songs_download_pushbutton.setEnabled(exists)
|
self.songs_download_pushbutton.setEnabled(exists)
|
||||||
os.chdir("./gui")
|
|
||||||
return exists
|
return exists
|
||||||
|
|
||||||
def download_ffmpeg_action(self):
|
def download_ffmpeg_action(self):
|
||||||
os.chdir("..")
|
|
||||||
download_ffmpeg()
|
download_ffmpeg()
|
||||||
os.chdir("./gui")
|
self.does_ffmpeg_exists()
|
||||||
|
|
||||||
|
|
||||||
class MainWidget(QWidget):
|
class MainWidget(QWidget):
|
||||||
|
@ -459,7 +456,7 @@ class MainWidget(QWidget):
|
||||||
layout = QHBoxLayout()
|
layout = QHBoxLayout()
|
||||||
|
|
||||||
self.options_widget = OptionsWidget(self)
|
self.options_widget = OptionsWidget(self)
|
||||||
self.editor_widget = EditorWidget(self)
|
self.editor_widget = CodeEditorWidget(self)
|
||||||
self.validation_widget = ValidationWidget(self)
|
self.validation_widget = ValidationWidget(self)
|
||||||
# install = InstallWidget()
|
# install = InstallWidget()
|
||||||
layout.addWidget(self.options_widget)
|
layout.addWidget(self.options_widget)
|
||||||
|
@ -483,6 +480,7 @@ class MainWindow(QMainWindow):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
os.chdir("..")
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
window = MainWindow()
|
window = MainWindow()
|
||||||
window.show()
|
window.show()
|
||||||
|
|
|
@ -35,7 +35,7 @@ class CoverEditWidget(QLabel):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.tape = tape
|
self.tape = tape
|
||||||
|
|
||||||
pix = QPixmap(f"../source/images/{self.tape['identifier']}.png")
|
pix = QPixmap(f"./source/images/{self.tape['identifier']}.png")
|
||||||
self.pixmap = pix.scaled(350, 350,
|
self.pixmap = pix.scaled(350, 350,
|
||||||
Qt.AspectRatioMode.KeepAspectRatio,
|
Qt.AspectRatioMode.KeepAspectRatio,
|
||||||
Qt.TransformationMode.SmoothTransformation)
|
Qt.TransformationMode.SmoothTransformation)
|
||||||
|
|
|
@ -7,6 +7,7 @@ from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QWidget, Q
|
||||||
import webbrowser
|
import webbrowser
|
||||||
import validators
|
import validators
|
||||||
import datetime
|
import datetime
|
||||||
|
import os
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
@ -133,23 +134,26 @@ class DirWidget(QWidget):
|
||||||
def __init__(self, default_dir: Path | str | None = None):
|
def __init__(self, default_dir: Path | str | None = None):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
|
self.directory = default_dir
|
||||||
|
|
||||||
layout = QHBoxLayout()
|
layout = QHBoxLayout()
|
||||||
layout.setSpacing(2)
|
layout.setSpacing(2)
|
||||||
layout.setContentsMargins(0, 0, 0, 0)
|
layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
|
||||||
self.dir_lineedit = QLineEdit()
|
self.dir_lineedit = QLineEdit()
|
||||||
self.dir_lineedit.setFont("Consolas")
|
self.dir_lineedit.setFont("Consolas")
|
||||||
self.dir_lineedit.setText(default_dir)
|
self.dir_lineedit.setText(self.directory)
|
||||||
|
|
||||||
self.dir_set_btn = QPushButton()
|
self.dir_set_btn = QPushButton()
|
||||||
self.dir_set_btn.setIcon(QIcon("./icons/ic_folder_open_48px.svg"))
|
self.dir_set_btn.setIcon(QIcon("./gui/icons/ic_folder_open_48px.svg"))
|
||||||
self.dir_set_btn.setIconSize(QSize(16, 16))
|
self.dir_set_btn.setIconSize(QSize(16, 16))
|
||||||
self.dir_set_btn.setToolTip("Set directory with selection dialog")
|
self.dir_set_btn.setToolTip("Set directory with selection dialog")
|
||||||
|
|
||||||
self.dir_open_btn = QPushButton()
|
self.dir_open_btn = QPushButton()
|
||||||
self.dir_open_btn.setIcon(QIcon("./icons/ic_open_in_new_24px.svg"))
|
self.dir_open_btn.setIcon(QIcon("./gui/icons/ic_open_in_new_24px.svg"))
|
||||||
self.dir_open_btn.setIconSize(QSize(16, 16))
|
self.dir_open_btn.setIconSize(QSize(16, 16))
|
||||||
self.dir_open_btn.setToolTip("Open directory")
|
self.dir_open_btn.setToolTip("Open directory")
|
||||||
|
self.dir_open_btn.clicked.connect(self.open_dir)
|
||||||
|
|
||||||
layout.addWidget(self.dir_set_btn)
|
layout.addWidget(self.dir_set_btn)
|
||||||
layout.addWidget(self.dir_lineedit)
|
layout.addWidget(self.dir_lineedit)
|
||||||
|
@ -157,6 +161,10 @@ class DirWidget(QWidget):
|
||||||
|
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
|
|
||||||
|
def open_dir(self):
|
||||||
|
directory = Path(self.directory)
|
||||||
|
os.startfile(directory)
|
||||||
|
|
||||||
|
|
||||||
class UrlLineEdit(QLineEdit):
|
class UrlLineEdit(QLineEdit):
|
||||||
|
|
||||||
|
@ -194,7 +202,7 @@ class UrlWidget(QWidget):
|
||||||
self.url_lineedit.textChanged.connect(self.toggle_url_open_btn)
|
self.url_lineedit.textChanged.connect(self.toggle_url_open_btn)
|
||||||
|
|
||||||
self.url_open_btn = QPushButton()
|
self.url_open_btn = QPushButton()
|
||||||
self.url_open_btn.setIcon(QIcon("./icons/ic_open_in_new_24px.svg"))
|
self.url_open_btn.setIcon(QIcon("./gui/icons/ic_open_in_new_24px.svg"))
|
||||||
self.url_open_btn.setIconSize(QSize(16, 16))
|
self.url_open_btn.setIconSize(QSize(16, 16))
|
||||||
self.url_open_btn.setToolTip("Open in browser")
|
self.url_open_btn.setToolTip("Open in browser")
|
||||||
self.url_open_btn.clicked.connect(self.url_lineedit.open_url)
|
self.url_open_btn.clicked.connect(self.url_lineedit.open_url)
|
||||||
|
|
Loading…
Reference in New Issue