#!/usr/bin/python3

import sys

from PyQt6.QtGui import QIcon
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QTextEdit, QPushButton, QLabel
from PyQt6.QtCore import QSettings
from python3_mos_pyqt_dialogs.pyqt6_dialogs_functions import alert

version = '0.1'


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.settings = QSettings()
        self.text = QTextEdit()
        self.btn_load = QPushButton("Прочитать конфиг")
        self.btn_save = QPushButton("Записать в конфиг")
        self.btn_load.clicked.connect(self.load)
        self.btn_save.clicked.connect(self.save)
        layout = QVBoxLayout()
        layout.addWidget(QLabel('Список сайтов'))
        layout.addWidget(self.text)
        layout.addWidget(self.btn_load)
        layout.addWidget(self.btn_save)
        self.setLayout(layout)
        self.setWindowTitle(f'Настройки для mwts-browser {version}')
        self.setWindowIcon(QIcon.fromTheme('mwts-settings'))
        self.setMinimumWidth(400)

    def load(self):
        try:
            self.text.setText('\n'.join(self.settings.value("urls", "")))
        except Exception as e:
            alert(f'Возникла ошибка: {e}')

    def save(self):
        try:
            self.settings.setValue("urls", self.text.toPlainText().split('\n'))
        except Exception as e:
            alert(f'Возникла ошибка: {e}')
        else:
            alert('Конфиг успешно сохранён.')


app = QApplication(sys.argv)
app.setOrganizationName('MOS')
app.setApplicationName('mwts-browser')
w = Window()
w.show()
sys.exit(app.exec())
