Files
KotoPad/gui/modules/explorer/handlers.py
2022-12-18 16:37:20 +02:00

62 lines
2.0 KiB
Python

from gui.gui import Ui_MainWindow
from modules.config import PathsConfig
from modules.player.player import Player
from PyQt5.QtWidgets import QFileDialog
import os
def register_handlers(ui: Ui_MainWindow, p: Player):
ui.first_browser_parent_dir_box.textChanged.connect(
lambda: (
ui.folders_browser_treeview_first.setRootIndex(
ui.dir_model_first.index(ui.first_browser_parent_dir_box.text())
),
PathsConfig.update("first_browser_path", ui.first_browser_parent_dir_box.text())
)
)
ui.second_browser_parent_dir_box.textChanged.connect(
lambda: (
ui.folders_browser_treeview_second.setRootIndex(
ui.dir_model_second.index(ui.second_browser_parent_dir_box.text())
),
PathsConfig.update("second_browser_path", ui.second_browser_parent_dir_box.text())
)
)
ui.files_browser_listwidget_first.itemDoubleClicked.connect(
lambda: (
p.set_media(
os.path.join(
ui.dir_model_first.filePath(ui.first_index),
ui.files_browser_listwidget_first.currentItem().text()
)
),
p.play(ui)
)
)
ui.files_browser_listwidget_second.itemDoubleClicked.connect(
lambda: (
p.set_media(
os.path.join(
ui.dir_model_second.filePath(ui.second_index),
ui.files_browser_listwidget_second.currentItem().text()
)
),
p.play(ui)
)
)
ui.first_browser_parent_dir_button.clicked.connect(
lambda: ui.first_browser_parent_dir_box.setText(
QFileDialog.getExistingDirectory(caption="Select root directory for first browser")
)
)
ui.second_browser_parent_dir_button.clicked.connect(
lambda: ui.second_browser_parent_dir_box.setText(
QFileDialog.getExistingDirectory(caption="Select root directory for second browser")
)
)