Merge pull request #2 from kromskii2/interface
Обновлен интерфейс окон: изменены стили и размеры элементов, улучшена…
This commit was merged in pull request #2.
This commit is contained in:
4 files changed
+194
-63
No files matched your search
+26
-19
@@ -17,36 +17,42 @@ class ConsoleWindow(QDialog):
|
|||||||
def setup_ui(self):
|
def setup_ui(self):
|
||||||
self.setStyleSheet("""
|
self.setStyleSheet("""
|
||||||
QDialog {
|
QDialog {
|
||||||
background-color: #2b2b2b;
|
background-color: #1e1e1e;
|
||||||
min-width: 600px;
|
min-width: 700px;
|
||||||
min-height: 400px;
|
min-height: 500px;
|
||||||
}
|
}
|
||||||
QTextEdit {
|
QTextEdit {
|
||||||
background-color: #1e1e1e;
|
background-color: #252526;
|
||||||
color: #ffffff;
|
color: #d4d4d4;
|
||||||
border: 1px solid #3b3b3b;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 8px;
|
||||||
font-family: 'Consolas', 'Courier New', monospace;
|
font-family: 'JetBrains Mono', 'Consolas', 'Courier New', monospace;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
padding: 8px;
|
padding: 12px;
|
||||||
|
selection-background-color: #264f78;
|
||||||
}
|
}
|
||||||
QPushButton {
|
QPushButton {
|
||||||
background-color: #0d6efd;
|
background-color: #2d2d2d;
|
||||||
color: white;
|
color: #d4d4d4;
|
||||||
border: none;
|
border: 1px solid #3e3e3e;
|
||||||
border-radius: 4px;
|
border-radius: 6px;
|
||||||
padding: 8px 16px;
|
padding: 8px 16px;
|
||||||
font-weight: bold;
|
font-weight: 500;
|
||||||
|
min-width: 100px;
|
||||||
|
margin: 4px;
|
||||||
}
|
}
|
||||||
QPushButton:hover {
|
QPushButton:hover {
|
||||||
background-color: #0b5ed7;
|
background-color: #3e3e3e;
|
||||||
|
border-color: #565656;
|
||||||
}
|
}
|
||||||
QPushButton:pressed {
|
QPushButton:pressed {
|
||||||
background-color: #0a58ca;
|
background-color: #565656;
|
||||||
}
|
}
|
||||||
""")
|
""")
|
||||||
|
|
||||||
layout = QVBoxLayout(self)
|
layout = QVBoxLayout(self)
|
||||||
|
layout.setContentsMargins(16, 16, 16, 16)
|
||||||
|
layout.setSpacing(12)
|
||||||
|
|
||||||
# Область для логов
|
# Область для логов
|
||||||
self.console_output = QTextEdit()
|
self.console_output = QTextEdit()
|
||||||
@@ -55,11 +61,12 @@ class ConsoleWindow(QDialog):
|
|||||||
|
|
||||||
# Кнопки управления
|
# Кнопки управления
|
||||||
buttons_layout = QHBoxLayout()
|
buttons_layout = QHBoxLayout()
|
||||||
|
buttons_layout.setSpacing(8)
|
||||||
|
|
||||||
copy_button = QPushButton("Копировать всё")
|
copy_button = QPushButton("📋 Копировать")
|
||||||
copy_button.clicked.connect(self.copy_all)
|
copy_button.clicked.connect(self.copy_all)
|
||||||
|
|
||||||
clear_button = QPushButton("Очистить")
|
clear_button = QPushButton("🗑️ Очистить")
|
||||||
clear_button.clicked.connect(self.clear_console)
|
clear_button.clicked.connect(self.clear_console)
|
||||||
|
|
||||||
buttons_layout.addWidget(copy_button)
|
buttons_layout.addWidget(copy_button)
|
||||||
|
|||||||
@@ -13,8 +13,65 @@ class ModelManager(QWidget):
|
|||||||
self.load_models()
|
self.load_models()
|
||||||
|
|
||||||
def setup_ui(self):
|
def setup_ui(self):
|
||||||
|
self.setStyleSheet("""
|
||||||
|
QWidget {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
QLabel {
|
||||||
|
color: #d4d4d4;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
QComboBox {
|
||||||
|
background-color: #252526;
|
||||||
|
color: #d4d4d4;
|
||||||
|
border: 1px solid #3e3e3e;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 6px 12px;
|
||||||
|
min-width: 200px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
QComboBox:hover {
|
||||||
|
border-color: #565656;
|
||||||
|
}
|
||||||
|
QComboBox:focus {
|
||||||
|
border-color: #007acc;
|
||||||
|
}
|
||||||
|
QComboBox::drop-down {
|
||||||
|
border: none;
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
QComboBox::down-arrow {
|
||||||
|
image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMTFMNCBTTDEyIDUiIHN0cm9rZT0iI2Q0ZDRkNCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+);
|
||||||
|
}
|
||||||
|
QComboBox QAbstractItemView {
|
||||||
|
background-color: #252526;
|
||||||
|
color: #d4d4d4;
|
||||||
|
border: 1px solid #3e3e3e;
|
||||||
|
selection-background-color: #094771;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
QPushButton {
|
||||||
|
background-color: #2d2d2d;
|
||||||
|
color: #d4d4d4;
|
||||||
|
border: 1px solid #3e3e3e;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 6px 12px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
QPushButton:hover {
|
||||||
|
background-color: #3e3e3e;
|
||||||
|
border-color: #565656;
|
||||||
|
}
|
||||||
|
QPushButton:pressed {
|
||||||
|
background-color: #565656;
|
||||||
|
}
|
||||||
|
""")
|
||||||
|
|
||||||
layout = QHBoxLayout(self)
|
layout = QHBoxLayout(self)
|
||||||
layout.setContentsMargins(0, 0, 0, 0)
|
layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
layout.setSpacing(8)
|
||||||
|
|
||||||
# Метка
|
# Метка
|
||||||
label = QLabel("Модель:")
|
label = QLabel("Модель:")
|
||||||
@@ -22,11 +79,13 @@ class ModelManager(QWidget):
|
|||||||
|
|
||||||
# Выпадающий список моделей
|
# Выпадающий список моделей
|
||||||
self.model_combo = QComboBox()
|
self.model_combo = QComboBox()
|
||||||
|
self.model_combo.setFixedHeight(32)
|
||||||
self.model_combo.currentTextChanged.connect(self.on_model_changed)
|
self.model_combo.currentTextChanged.connect(self.on_model_changed)
|
||||||
layout.addWidget(self.model_combo)
|
layout.addWidget(self.model_combo)
|
||||||
|
|
||||||
# Кнопка обновления
|
# Кнопка обновления
|
||||||
refresh_button = QPushButton("🔄")
|
refresh_button = QPushButton("🔄")
|
||||||
|
refresh_button.setFixedSize(32, 32)
|
||||||
refresh_button.setToolTip("Обновить список моделей")
|
refresh_button.setToolTip("Обновить список моделей")
|
||||||
refresh_button.clicked.connect(self.load_models)
|
refresh_button.clicked.connect(self.load_models)
|
||||||
layout.addWidget(refresh_button)
|
layout.addWidget(refresh_button)
|
||||||
|
|||||||
+66
-44
@@ -18,87 +18,105 @@ class PromptWindow(QDialog):
|
|||||||
def setup_ui(self):
|
def setup_ui(self):
|
||||||
self.setStyleSheet("""
|
self.setStyleSheet("""
|
||||||
QDialog {
|
QDialog {
|
||||||
background-color: #2b2b2b;
|
background-color: #1e1e1e;
|
||||||
min-width: 1500px;
|
min-width: 1200px;
|
||||||
min-height: 700px;
|
min-height: 800px;
|
||||||
}
|
}
|
||||||
QScrollArea {
|
QScrollArea {
|
||||||
background-color: #1e1e1e;
|
background-color: #252526;
|
||||||
border: 1px solid #3b3b3b;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 8px;
|
||||||
padding: 8px;
|
|
||||||
}
|
}
|
||||||
QScrollArea > QWidget > QWidget {
|
QScrollArea > QWidget > QWidget {
|
||||||
background-color: #1e1e1e;
|
background-color: #252526;
|
||||||
}
|
}
|
||||||
QLabel {
|
QLabel {
|
||||||
color: #ffffff;
|
color: #d4d4d4;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: bold;
|
font-weight: 600;
|
||||||
padding: 8px;
|
padding: 12px;
|
||||||
background-color: #3b3b3b;
|
background-color: #2d2d2d;
|
||||||
border-radius: 4px;
|
border-radius: 6px;
|
||||||
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
QCheckBox {
|
QCheckBox {
|
||||||
color: #ffffff;
|
color: #d4d4d4;
|
||||||
font-size: 14px;
|
font-size: 13px;
|
||||||
padding: 4px;
|
padding: 6px;
|
||||||
spacing: 8px;
|
spacing: 8px;
|
||||||
}
|
}
|
||||||
|
QCheckBox:hover {
|
||||||
|
background-color: #2d2d2d;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
QCheckBox::indicator {
|
QCheckBox::indicator {
|
||||||
width: 18px;
|
width: 18px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
QCheckBox::indicator:unchecked {
|
QCheckBox::indicator:unchecked {
|
||||||
border: 2px solid #555555;
|
border: 2px solid #565656;
|
||||||
background-color: #3b3b3b;
|
background-color: #252526;
|
||||||
border-radius: 3px;
|
|
||||||
}
|
}
|
||||||
QCheckBox::indicator:checked {
|
QCheckBox::indicator:checked {
|
||||||
border: 2px solid #0d6efd;
|
border: 2px solid #007acc;
|
||||||
background-color: #0d6efd;
|
background-color: #007acc;
|
||||||
border-radius: 3px;
|
|
||||||
}
|
}
|
||||||
QCheckBox::indicator:hover {
|
QCheckBox::indicator:hover {
|
||||||
border-color: #0b5ed7;
|
border-color: #007acc;
|
||||||
}
|
}
|
||||||
QPushButton {
|
QPushButton {
|
||||||
background-color: #0d6efd;
|
background-color: #2d2d2d;
|
||||||
color: white;
|
color: #d4d4d4;
|
||||||
border: none;
|
border: 1px solid #3e3e3e;
|
||||||
border-radius: 4px;
|
border-radius: 6px;
|
||||||
padding: 8px 16px;
|
padding: 8px 16px;
|
||||||
font-weight: bold;
|
font-weight: 500;
|
||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
QPushButton:hover {
|
QPushButton:hover {
|
||||||
background-color: #0b5ed7;
|
background-color: #3e3e3e;
|
||||||
|
border-color: #565656;
|
||||||
}
|
}
|
||||||
QPushButton:pressed {
|
QPushButton:pressed {
|
||||||
background-color: #0a58ca;
|
background-color: #565656;
|
||||||
}
|
}
|
||||||
QLineEdit {
|
QLineEdit {
|
||||||
background-color: #3b3b3b;
|
background-color: #252526;
|
||||||
color: white;
|
color: #d4d4d4;
|
||||||
border: 1px solid #555555;
|
border: 1px solid #3e3e3e;
|
||||||
border-radius: 4px;
|
border-radius: 6px;
|
||||||
padding: 8px;
|
padding: 8px 12px;
|
||||||
font-size: 14px;
|
font-size: 13px;
|
||||||
min-height: 24px;
|
min-height: 32px;
|
||||||
|
}
|
||||||
|
QLineEdit:focus {
|
||||||
|
border-color: #007acc;
|
||||||
}
|
}
|
||||||
QFrame {
|
QFrame {
|
||||||
background-color: #1e1e1e;
|
background-color: #252526;
|
||||||
border: 1px solid #3b3b3b;
|
border: 1px solid #3e3e3e;
|
||||||
border-radius: 4px;
|
border-radius: 8px;
|
||||||
|
padding: 12px;
|
||||||
|
margin: 4px;
|
||||||
|
}
|
||||||
|
QFrame:hover {
|
||||||
|
border-color: #565656;
|
||||||
}
|
}
|
||||||
""")
|
""")
|
||||||
|
|
||||||
layout = QVBoxLayout(self)
|
layout = QVBoxLayout(self)
|
||||||
|
layout.setContentsMargins(16, 16, 16, 16)
|
||||||
|
layout.setSpacing(12)
|
||||||
|
|
||||||
# Поиск
|
# Поиск
|
||||||
search_layout = QHBoxLayout()
|
search_layout = QHBoxLayout()
|
||||||
search_label = QLabel("Поиск:")
|
search_layout.setSpacing(8)
|
||||||
|
search_label = QLabel("🔍 Поиск:")
|
||||||
|
search_label.setStyleSheet("background: transparent; padding: 0;")
|
||||||
self.search_input = QLineEdit()
|
self.search_input = QLineEdit()
|
||||||
|
self.search_input.setPlaceholderText("Введите текст для поиска...")
|
||||||
self.search_input.textChanged.connect(self.filter_prompts)
|
self.search_input.textChanged.connect(self.filter_prompts)
|
||||||
search_layout.addWidget(search_label)
|
search_layout.addWidget(search_label)
|
||||||
search_layout.addWidget(self.search_input)
|
search_layout.addWidget(self.search_input)
|
||||||
@@ -109,22 +127,26 @@ class PromptWindow(QDialog):
|
|||||||
categories_scroll.setWidgetResizable(True)
|
categories_scroll.setWidgetResizable(True)
|
||||||
categories_scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
|
categories_scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
|
||||||
categories_scroll.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
categories_scroll.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||||
|
categories_scroll.setMinimumHeight(600)
|
||||||
|
|
||||||
categories_widget = QWidget()
|
categories_widget = QWidget()
|
||||||
self.categories_layout = QHBoxLayout(categories_widget)
|
self.categories_layout = QHBoxLayout(categories_widget)
|
||||||
self.categories_layout.setSpacing(10)
|
self.categories_layout.setSpacing(12)
|
||||||
|
self.categories_layout.setContentsMargins(12, 12, 12, 12)
|
||||||
categories_scroll.setWidget(categories_widget)
|
categories_scroll.setWidget(categories_widget)
|
||||||
|
|
||||||
layout.addWidget(categories_scroll)
|
layout.addWidget(categories_scroll)
|
||||||
|
|
||||||
# Кнопки
|
# Кнопки
|
||||||
buttons_layout = QHBoxLayout()
|
buttons_layout = QHBoxLayout()
|
||||||
add_button = QPushButton("Добавить выбранные")
|
buttons_layout.setSpacing(8)
|
||||||
|
add_button = QPushButton("✨ Добавить выбранные")
|
||||||
add_button.clicked.connect(self.add_selected)
|
add_button.clicked.connect(self.add_selected)
|
||||||
close_button = QPushButton("Закрыть")
|
close_button = QPushButton("❌ Закрыть")
|
||||||
close_button.clicked.connect(self.close)
|
close_button.clicked.connect(self.close)
|
||||||
buttons_layout.addWidget(add_button)
|
buttons_layout.addWidget(add_button)
|
||||||
buttons_layout.addWidget(close_button)
|
buttons_layout.addWidget(close_button)
|
||||||
|
buttons_layout.addStretch()
|
||||||
layout.addLayout(buttons_layout)
|
layout.addLayout(buttons_layout)
|
||||||
|
|
||||||
def load_categories(self):
|
def load_categories(self):
|
||||||
|
|||||||
@@ -13,8 +13,50 @@ class SamplerManager(QWidget):
|
|||||||
self.load_samplers()
|
self.load_samplers()
|
||||||
|
|
||||||
def setup_ui(self):
|
def setup_ui(self):
|
||||||
|
self.setStyleSheet("""
|
||||||
|
QWidget {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
QLabel {
|
||||||
|
color: #d4d4d4;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
QComboBox {
|
||||||
|
background-color: #252526;
|
||||||
|
color: #d4d4d4;
|
||||||
|
border: 1px solid #3e3e3e;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 6px 12px;
|
||||||
|
min-width: 180px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
QComboBox:hover {
|
||||||
|
border-color: #565656;
|
||||||
|
}
|
||||||
|
QComboBox:focus {
|
||||||
|
border-color: #007acc;
|
||||||
|
}
|
||||||
|
QComboBox::drop-down {
|
||||||
|
border: none;
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
QComboBox::down-arrow {
|
||||||
|
image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMTFMNCBTTDEyIDUiIHN0cm9rZT0iI2Q0ZDRkNCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+);
|
||||||
|
}
|
||||||
|
QComboBox QAbstractItemView {
|
||||||
|
background-color: #252526;
|
||||||
|
color: #d4d4d4;
|
||||||
|
border: 1px solid #3e3e3e;
|
||||||
|
selection-background-color: #094771;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
""")
|
||||||
|
|
||||||
layout = QHBoxLayout(self)
|
layout = QHBoxLayout(self)
|
||||||
layout.setContentsMargins(0, 0, 0, 0)
|
layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
layout.setSpacing(8)
|
||||||
|
|
||||||
# Метка
|
# Метка
|
||||||
label = QLabel("Сэмплер:")
|
label = QLabel("Сэмплер:")
|
||||||
@@ -22,6 +64,7 @@ class SamplerManager(QWidget):
|
|||||||
|
|
||||||
# Выпадающий список сэмплеров
|
# Выпадающий список сэмплеров
|
||||||
self.sampler_combo = QComboBox()
|
self.sampler_combo = QComboBox()
|
||||||
|
self.sampler_combo.setFixedHeight(32)
|
||||||
self.sampler_combo.currentTextChanged.connect(self.on_sampler_changed)
|
self.sampler_combo.currentTextChanged.connect(self.on_sampler_changed)
|
||||||
layout.addWidget(self.sampler_combo)
|
layout.addWidget(self.sampler_combo)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user