Merge pull request #2 from kromskii2/interface

Обновлен интерфейс окон: изменены стили и размеры элементов, улучшена…
This commit was merged in pull request #2.
This commit is contained in:
kromskii2 authored and GitHub committed 2025-03-14 20:22:49 +07:00
commit 74dd9824f3
4 files changed
+194 -63

No files matched your search

+26 -19
View File
@@ -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)
+59
View File
@@ -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
View File
@@ -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):
+43
View File
@@ -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)