1446 lines
42 KiB
Python
1446 lines
42 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
MetaCore 应用程序样式表定义
|
||
|
||
本文件包含了 MetaCore 项目管理平台的完整 UI 样式定义,采用现代化的深色主题设计。
|
||
样式表使用 Qt StyleSheet (QSS) 语法,类似于 CSS,为应用程序提供统一的视觉风格。
|
||
|
||
主要特色:
|
||
- 深色主题设计,护眼且现代
|
||
- 紫色主色调 (#8b5cf6),体现科技感
|
||
- 丰富的交互效果和动画
|
||
- 响应式设计,支持不同屏幕尺寸
|
||
- 完整的组件样式覆盖
|
||
|
||
作者: MetaCore Team
|
||
版本: 1.0.0
|
||
更新日期: 2024
|
||
"""
|
||
|
||
class StyleSheet:
|
||
"""
|
||
样式表管理类
|
||
|
||
这个类负责管理整个应用程序的样式表,提供统一的样式获取接口。
|
||
采用静态方法设计,方便在应用程序的任何地方调用。
|
||
|
||
主要功能:
|
||
- 提供完整的应用程序样式表
|
||
- 统一管理颜色主题和设计规范
|
||
- 支持未来的主题切换扩展
|
||
"""
|
||
|
||
@staticmethod
|
||
def get_main_style():
|
||
"""
|
||
获取主样式表
|
||
|
||
返回完整的 QSS 样式表字符串,包含所有 UI 组件的样式定义。
|
||
样式表采用分层设计,从全局样式到具体组件样式,确保样式的一致性和可维护性。
|
||
|
||
样式表结构:
|
||
1. 全局样式 - 基础颜色、字体等
|
||
2. 主窗口样式 - 窗口背景等
|
||
3. 侧边栏样式 - 导航、按钮等
|
||
4. 项目区域样式 - 工具栏、搜索等
|
||
5. 项目卡片样式 - 卡片布局和交互
|
||
6. 对话框样式 - 弹窗和表单
|
||
7. 通用组件样式 - 滚动条、菜单等
|
||
|
||
Returns:
|
||
str: 完整的 QSS 样式表字符串
|
||
"""
|
||
return """
|
||
/* ---------- Base Theme ---------- */
|
||
QWidget {
|
||
background-color: #0f1115;
|
||
color: #f3f4f8;
|
||
font-family: "Inter", "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QMainWindow {
|
||
background-color: #0f1115;
|
||
}
|
||
|
||
#sidebar {
|
||
background-color: #000000;
|
||
border-right: 1px solid #1c2029;
|
||
width: 313px;
|
||
}
|
||
|
||
#logoWidget {
|
||
background-color: transparent;
|
||
border-bottom: 1px solid rgba(84, 89, 98, 0.8);
|
||
margin: 0 46px 0 37px;
|
||
}
|
||
|
||
#logoIcon {
|
||
background-color: #2a2f3b;
|
||
border: 1px solid #303543;
|
||
border-radius: 4px;
|
||
min-width: 80px;
|
||
min-height: 80px;
|
||
}
|
||
|
||
#logoText {
|
||
background-color: transparent;
|
||
color: #FFFFFF;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 24px;
|
||
font-weight: 500; /* Medium weight in Qt */
|
||
letter-spacing: 0.4px;
|
||
}
|
||
|
||
#quickActions {
|
||
background-color: transparent;
|
||
}
|
||
|
||
QPushButton#createBtn,
|
||
QPushButton#sidebarImportBtn {
|
||
background-color: rgba(84, 89, 98, 0.2);
|
||
border: 1px solid #979fad;
|
||
border-radius: 6px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-weight: 300;
|
||
font-size: 16px;
|
||
letter-spacing: 0.8px;
|
||
padding: 0px 16px;
|
||
text-align: center;
|
||
min-height: 36px;
|
||
max-height: 36px;
|
||
}
|
||
|
||
QPushButton#createBtn:hover,
|
||
QPushButton#sidebarImportBtn:hover {
|
||
background-color: rgba(84, 89, 98, 0.3);
|
||
border-color: #a5abb8;
|
||
}
|
||
|
||
QPushButton#createBtn:pressed,
|
||
QPushButton#sidebarImportBtn:pressed {
|
||
background-color: #2B56C5;
|
||
border-color: #b0b6c3;
|
||
}
|
||
|
||
#navScrollArea {
|
||
background-color: #000000;
|
||
border: none;
|
||
}
|
||
|
||
#navWidget {
|
||
background-color: #000000;
|
||
}
|
||
|
||
#navSection {
|
||
margin-top: 0px;
|
||
}
|
||
|
||
QPushButton#navSectionTitle {
|
||
border: none;
|
||
background: #000000;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 16px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.8px;
|
||
padding: 0px 37px;
|
||
text-align: left;
|
||
min-height: 20px;
|
||
max-height: 20px;
|
||
}
|
||
|
||
QWidget#navItems {
|
||
background: #000000;
|
||
}
|
||
|
||
QPushButton#navItem {
|
||
border: none;
|
||
border-left: 3px solid transparent;
|
||
border-radius: 4px;
|
||
background: #000000;
|
||
color: #ebebeb;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.7px;
|
||
padding: 0px;
|
||
padding-left: 20px;
|
||
text-align: left;
|
||
min-width: 186px;
|
||
max-width: 186px;
|
||
min-height: 30px;
|
||
max-height: 30px;
|
||
}
|
||
|
||
QPushButton#navItem:hover {
|
||
background-color: rgba(84, 89, 98, 0.3);
|
||
color: #ffffff;
|
||
}
|
||
|
||
QPushButton#navItem:checked {
|
||
background-color: rgba(84, 89, 98, 0.5);
|
||
color: #ffffff;
|
||
border-left: 3px solid transparent;
|
||
font-weight: 300;
|
||
}
|
||
|
||
QPushButton#navItem::icon {
|
||
padding-right: 8px;
|
||
}
|
||
|
||
/* ---------- Content Area ---------- */
|
||
#projectArea {
|
||
background-color: #000000;
|
||
}
|
||
|
||
#contentHeader {
|
||
background: transparent;
|
||
border-bottom: 1px solid #1f2532;
|
||
margin: 0 36px; /* 上下为0,左右为36px */
|
||
}
|
||
|
||
#breadcrumbContainer {
|
||
background: 19191b;
|
||
}
|
||
|
||
#breadcrumbBase {
|
||
background: transparent;
|
||
color: rgba(255, 255, 255, 0.7);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 20px;
|
||
font-weight: 400;
|
||
letter-spacing: 1px;
|
||
}
|
||
|
||
#breadcrumbSeparator {
|
||
background: transparent;
|
||
color: rgba(255, 255, 255, 0.7);
|
||
padding: 0 8px;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 20px;
|
||
font-weight: 400;
|
||
letter-spacing: 1px;
|
||
}
|
||
|
||
#breadcrumbCurrent {
|
||
background: transparent;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 24px;
|
||
font-weight: 500;
|
||
letter-spacing: 1.2px;
|
||
}
|
||
|
||
QLineEdit#searchInput {
|
||
background-color: rgba(84, 89, 98, 0.2);
|
||
border: 1px solid rgba(92, 97, 105, 0.8);
|
||
border-radius: 4px;
|
||
color: #5c6169;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 18px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.9px;
|
||
padding: 0px 16px 0px 10px;
|
||
min-height: 39px;
|
||
max-height: 39px;
|
||
}
|
||
|
||
QLineEdit#searchInput:focus {
|
||
border-color: rgba(92, 97, 105, 1.0);
|
||
background-color: rgba(84, 89, 98, 0.25);
|
||
}
|
||
|
||
QLineEdit#searchInput::placeholder {
|
||
color: #5c6169;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 18px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.9px;
|
||
}
|
||
|
||
QScrollArea#projectScrollArea {
|
||
background: transparent;
|
||
border: none;
|
||
}
|
||
|
||
#projectsContainer {
|
||
background-color: transparent;
|
||
}
|
||
|
||
#projectCard {
|
||
background-color: transparent;
|
||
border: none;
|
||
border-radius: 5px;
|
||
min-width: 276px;
|
||
max-width: 276px;
|
||
min-height: 191px;
|
||
max-height: 191px;
|
||
}
|
||
|
||
#projectCard:hover {
|
||
/* 悬停效果通过子组件实现 */
|
||
}
|
||
|
||
#projectHeader {
|
||
background: transparent;
|
||
border-bottom: none;
|
||
}
|
||
|
||
#projectTitle {
|
||
color: #d4d4d4;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 17.3px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.865px;
|
||
}
|
||
|
||
QPushButton#menuBtn {
|
||
background: #424347;
|
||
border: 1px solid rgba(235, 235, 235, 0.2);
|
||
color: #ebebeb;
|
||
padding: 0px;
|
||
border-radius: 1px;
|
||
}
|
||
|
||
QPushButton#menuBtn:hover {
|
||
background-color: rgba(235, 235, 235, 0.1);
|
||
border-color: rgba(235, 235, 235, 0.3);
|
||
}
|
||
|
||
/* 新的覆盖按钮样式 - 完全去掉外层圈 */
|
||
QPushButton#overlayInfoBtn, QPushButton#overlayDeleteBtn {
|
||
background-color: transparent;
|
||
border: none;
|
||
border-radius: 0px;
|
||
color: #ffffff;
|
||
font-size: 12px;
|
||
font-weight: 400;
|
||
outline: none;
|
||
padding: 0px;
|
||
margin: 0px;
|
||
}
|
||
|
||
QPushButton#overlayInfoBtn:hover, QPushButton#overlayDeleteBtn:hover {
|
||
background-color: transparent;
|
||
border: none;
|
||
outline: none;
|
||
}
|
||
|
||
QPushButton#overlayInfoBtn:pressed, QPushButton#overlayDeleteBtn:pressed {
|
||
background-color: transparent;
|
||
border: none;
|
||
outline: none;
|
||
}
|
||
|
||
QPushButton#overlayInfoBtn:focus, QPushButton#overlayDeleteBtn:focus {
|
||
background-color: transparent;
|
||
border: none;
|
||
outline: none;
|
||
}
|
||
|
||
QPushButton#overlayDeleteBtn {
|
||
color: #ff6b6b;
|
||
}
|
||
|
||
QPushButton#overlayDeleteBtn:hover {
|
||
background-color: rgba(255, 107, 107, 0.1);
|
||
border-color: rgba(255, 107, 107, 0.3);
|
||
}
|
||
|
||
#projectImageContainer {
|
||
padding: 0 20px;
|
||
}
|
||
|
||
#projectImage {
|
||
background-color: #292f3d;
|
||
border-radius: 5px;
|
||
min-height: 140px;
|
||
}
|
||
|
||
#projectIcon {
|
||
font-size: 36px;
|
||
color: #596074;
|
||
}
|
||
|
||
#projectFooter {
|
||
background: #424347;
|
||
border-top: none;
|
||
margin-top: 0px;
|
||
padding: 12px 20px;
|
||
min-height: 53px;
|
||
max-height: 53px;
|
||
}
|
||
|
||
#projectDate {
|
||
color: #d4d4d4;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12.36px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.618px;
|
||
}
|
||
|
||
/* 新的覆盖层样式 */
|
||
#overlayProjectTitle {
|
||
color: #d4d4d4;
|
||
font-family: "Inter", sans-serif;
|
||
font-size: 17px;
|
||
font-weight: 500;
|
||
background: transparent;
|
||
}
|
||
|
||
#overlayProjectDate, #overlayProjectSize {
|
||
color: #d4d4d4;
|
||
font-family: "Inter", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
background: transparent;
|
||
}
|
||
|
||
#bottomOverlay {
|
||
background-color: rgba(66, 67, 71, 0.9);
|
||
border-radius: 0px;
|
||
}
|
||
|
||
/* ---------- Project Settings Page ---------- */
|
||
#settingsPage {
|
||
background-color: #000000;
|
||
}
|
||
|
||
#settingsBody,
|
||
#settingsSection,
|
||
#settingsFieldRow {
|
||
background-color: transparent;
|
||
}
|
||
|
||
#settingsTitle {
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 28px;
|
||
font-weight: 600;
|
||
letter-spacing: 1.1px;
|
||
}
|
||
|
||
#settingsSubtitle {
|
||
color: rgba(236, 239, 246, 0.72);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 15px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.5px;
|
||
}
|
||
|
||
#settingsDivider {
|
||
background-color: #1f2532;
|
||
border: none;
|
||
min-height: 1px;
|
||
max-height: 1px;
|
||
margin: 0 36px;
|
||
}
|
||
|
||
#settingsCard {
|
||
background-color: transparent;
|
||
border: none;
|
||
}
|
||
#settingsRow {
|
||
background-color: transparent;
|
||
}
|
||
|
||
#settingsSectionTitle {
|
||
background-color: transparent;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 20px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.5px;
|
||
}
|
||
|
||
#settingsSectionDesc {
|
||
color: rgba(255, 255, 255, 0.6);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.3px;
|
||
}
|
||
|
||
QWidget#settingsFieldRow {
|
||
background-color: transparent;
|
||
}
|
||
|
||
QLineEdit#settingsPathInput {
|
||
background-color: rgba(89, 100, 113, 0.2);
|
||
border: 1px solid rgba(89, 100, 113, 0.2);
|
||
border-radius: 4px;
|
||
color: #e6e9f2;
|
||
padding: 0 18px;
|
||
min-height: 48px;
|
||
}
|
||
|
||
QLineEdit#settingsPathInput:focus {
|
||
border-color: rgba(110, 118, 134, 0.95);
|
||
background-color: #1f2430;
|
||
}
|
||
|
||
QLineEdit#settingsPathInput::placeholder {
|
||
color: rgba(255, 255, 255, 0.7);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 16px;
|
||
}
|
||
|
||
QPushButton#settingsPrimaryBtn,
|
||
QPushButton#settingsGhostBtn {
|
||
background-color: rgba(76, 92, 110, 0.6);
|
||
border: none;
|
||
border-radius: 4px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 16px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.4px;
|
||
min-height: 48px;
|
||
min-width: 175px;
|
||
}
|
||
|
||
QPushButton#settingsPrimaryBtn:hover,
|
||
QPushButton#settingsGhostBtn:hover {
|
||
background-color: rgba(76, 92, 110, 0.8);
|
||
}
|
||
|
||
QPushButton#settingsPrimaryBtn:pressed,
|
||
QPushButton#settingsGhostBtn:pressed {
|
||
background-color: rgba(45, 94, 221, 0.4);
|
||
}
|
||
|
||
/* ---------- Scrollbars ---------- */
|
||
QScrollBar:vertical {
|
||
background: transparent;
|
||
width: 12px;
|
||
margin: 8px 0;
|
||
}
|
||
|
||
QScrollBar::handle:vertical {
|
||
background: #2b313f;
|
||
border-radius: 6px;
|
||
min-height: 32px;
|
||
}
|
||
|
||
QScrollBar::handle:vertical:hover {
|
||
background: #3a4254;
|
||
}
|
||
|
||
QScrollBar::add-line:vertical,
|
||
QScrollBar::sub-line:vertical {
|
||
height: 0;
|
||
}
|
||
|
||
QScrollBar:horizontal {
|
||
background: transparent;
|
||
height: 12px;
|
||
margin: 0 8px;
|
||
}
|
||
|
||
QScrollBar::handle:horizontal {
|
||
background: #2b313f;
|
||
border-radius: 6px;
|
||
min-width: 32px;
|
||
}
|
||
|
||
QScrollBar::handle:horizontal:hover {
|
||
background: #3a4254;
|
||
}
|
||
|
||
QScrollBar::add-line:horizontal,
|
||
QScrollBar::sub-line:horizontal {
|
||
width: 0;
|
||
}
|
||
|
||
QToolTip {
|
||
background-color: #1c202b;
|
||
color: #f5f6f9;
|
||
border: 1px solid #2a303d;
|
||
padding: 6px 8px;
|
||
}
|
||
|
||
/* ---------- Create Project Dialog ---------- */
|
||
QDialog#CreateProjectDialog {
|
||
background-color: #0c0c0d;
|
||
border-radius: 5px;
|
||
}
|
||
|
||
#createProjectContent{
|
||
background-color: #0c0c0d;
|
||
}
|
||
|
||
#templateSection {
|
||
background-color: #0c0c0d;
|
||
}
|
||
|
||
QDialog#CreateProjectDialog QLabel#templateHeaderLabel {
|
||
background-color: rgba(66, 67, 71, 0.2);
|
||
min-width: 724px;
|
||
max-width: 724px;
|
||
min-height: 33px;
|
||
max-height: 33px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 600;
|
||
letter-spacing: 0.6px;
|
||
padding: 0 20px;
|
||
}
|
||
|
||
QDialog#CreateProjectDialog QLabel#sectionTitle{
|
||
color: #ffffff;
|
||
border: none;
|
||
background-color: transparent;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.7px;
|
||
}
|
||
QDialog#CreateProjectDialog QLabel#templateDescription {
|
||
border: none;
|
||
background-color: transparent;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 10px;
|
||
}
|
||
|
||
QScrollArea#templateScrollArea {
|
||
background-color: transparent;
|
||
border: 0px solid rgba(66, 67, 71, 0.35);
|
||
}
|
||
|
||
#projectInfoSection {
|
||
background-color: #19191B;
|
||
}
|
||
|
||
#projectInfoHeader{
|
||
background-color: #19191B;
|
||
}
|
||
|
||
#templatesContainer {
|
||
background-color: rgba(66, 67, 71, 0.2);
|
||
}
|
||
|
||
QPushButton#templateItem {
|
||
background-color: rgba(66, 67, 71, 0.4);
|
||
border: 1px solid transparent;
|
||
border-radius: 5px;
|
||
color: #ffffff;
|
||
}
|
||
|
||
QPushButton#templateItem:hover {
|
||
background-color: rgba(66, 67, 71, 0.6);
|
||
border-color: rgba(43, 86, 197, 0.3);
|
||
}
|
||
|
||
QPushButton#templateItem:checked {
|
||
background-color: rgba(43, 86, 197, 0.2); /* #2B56C5 20%透明度 */
|
||
border: 1px solid #2b56c5;
|
||
}
|
||
|
||
#templateIcon {
|
||
color: #ffffff;
|
||
font-size: 32px;
|
||
background: transparent;
|
||
}
|
||
|
||
#templateName {
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 400;
|
||
letter-spacing: 0.6px;
|
||
background: transparent;
|
||
}
|
||
|
||
#templateDescription {
|
||
color: rgba(255, 255, 255, 0.7);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 10px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.5px;
|
||
line-height: 1.2;
|
||
background: transparent;
|
||
}
|
||
|
||
#formLabel {
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.7px;
|
||
background: transparent;
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
QLineEdit#formInput {
|
||
background-color: rgba(89, 100, 113, 0.2);
|
||
border: none;
|
||
border-radius: 4px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.6px;
|
||
padding: 0px 10px;
|
||
}
|
||
|
||
QLineEdit#formInput:focus {
|
||
border-color: rgba(76, 92, 110, 1.0);
|
||
background-color: rgba(89, 100, 113, 0.3);
|
||
}
|
||
|
||
QLineEdit#formInput::placeholder {
|
||
color: rgba(235, 235, 235, 0.7);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.6px;
|
||
}
|
||
|
||
QLineEdit#formInput[error="true"] {
|
||
border-color: #ff6b6b;
|
||
background-color: rgba(255, 107, 107, 0.1);
|
||
}
|
||
|
||
QLineEdit#formInput[valid="true"] {
|
||
border-color: #4ade80;
|
||
background-color: rgba(74, 222, 128, 0.1);
|
||
}
|
||
|
||
QTextEdit#formTextArea {
|
||
background-color: rgba(89, 100, 113, 0.2);
|
||
border: 1px solid rgba(76, 92, 110, 0.6);
|
||
border-radius: 4px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.6px;
|
||
padding: 8px 10px;
|
||
}
|
||
|
||
QTextEdit#formTextArea:focus {
|
||
border-color: rgba(76, 92, 110, 1.0);
|
||
background-color: rgba(89, 100, 113, 0.3);
|
||
}
|
||
|
||
QPushButton#browseBtn {
|
||
background-color: rgba(89, 100, 113, 0.2);
|
||
border: 1px solid rgba(76, 92, 110, 0.6);
|
||
padding: 0px 41px;
|
||
border-radius: 6px;
|
||
color: #ffffff;
|
||
font-size: 16px;
|
||
}
|
||
|
||
QPushButton#browseBtn:hover {
|
||
background-color: rgba(89, 100, 113, 0.4);
|
||
border-color: rgba(76, 92, 110, 0.8);
|
||
}
|
||
|
||
QLabel#errorLabel {
|
||
color: #ff6b6b;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 11px;
|
||
font-weight: 300;
|
||
background: transparent;
|
||
}
|
||
|
||
/* Custom Bottom Bar Styles */
|
||
#buttonArea {
|
||
background-color: transparent;
|
||
}
|
||
|
||
QPushButton#secondaryBtn {
|
||
background-color: rgba(84, 89, 98, 0.4);
|
||
border: 1px solid #545962;
|
||
border-radius: 2px;
|
||
color: #ebebeb;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.7px;
|
||
min-width: 95px;
|
||
min-height: 36px;
|
||
max-width: 95px;
|
||
max-height: 36px;
|
||
}
|
||
|
||
QPushButton#secondaryBtn:hover {
|
||
background-color: rgba(84, 89, 98, 0.6);
|
||
border-color: #6a7080;
|
||
}
|
||
|
||
QPushButton#secondaryBtn:pressed {
|
||
background-color: rgba(84, 89, 98, 0.8);
|
||
}
|
||
|
||
QPushButton#primaryBtn {
|
||
background-color: #2b57c5;
|
||
border: none;
|
||
border-radius: 2px;
|
||
color: #ebebeb;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.7px;
|
||
min-width: 95px;
|
||
min-height: 36px;
|
||
max-width: 95px;
|
||
max-height: 36px;
|
||
}
|
||
|
||
QPushButton#primaryBtn:hover {
|
||
background-color: #3d67d5;
|
||
}
|
||
|
||
QPushButton#primaryBtn:pressed {
|
||
background-color: #1e47a5;
|
||
}
|
||
|
||
QPushButton#primaryBtn:disabled {
|
||
background-color: rgba(43, 87, 197, 0.4);
|
||
color: rgba(235, 235, 235, 0.5);
|
||
}
|
||
|
||
/* ---------- Import Project Dialog ---------- */
|
||
|
||
#importGroup {
|
||
background-color: #19191b;
|
||
border: 1px solid rgba(66, 67, 71, 0.3);
|
||
border-radius: 4px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.7px;
|
||
padding: 10px;
|
||
}
|
||
|
||
#importGroup::title {
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.7px;
|
||
background-color: rgba(66, 67, 71, 0.2);
|
||
padding: 8px 15px;
|
||
margin: 0px;
|
||
border-bottom: 1px solid rgba(66, 67, 71, 0.3);
|
||
}
|
||
|
||
#uploadArea {
|
||
background-color: rgba(89, 100, 113, 0.1);
|
||
border: 1px solid rgba(76, 92, 110, 0.6);
|
||
border-radius: 4px;
|
||
min-height: 288px;
|
||
}
|
||
|
||
#uploadArea[dragOver="true"] {
|
||
background-color: rgba(43, 86, 197, 0.1);
|
||
border-color: #2b56c5;
|
||
}
|
||
|
||
QPushButton#uploadBtn {
|
||
background-color: #2b57c5;
|
||
border: none;
|
||
border-radius: 6px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 16px;
|
||
font-weight: 400;
|
||
letter-spacing: 0.8px;
|
||
min-width: 151px;
|
||
min-height: 42px;
|
||
max-width: 151px;
|
||
max-height: 42px;
|
||
}
|
||
|
||
QPushButton#uploadBtn:hover {
|
||
background-color: #3d67d5;
|
||
}
|
||
|
||
QPushButton#uploadBtn:pressed {
|
||
background-color: #1e47a5;
|
||
}
|
||
|
||
QPushButton#selectBtn {
|
||
background-color: rgba(84, 89, 98, 0.4);
|
||
border: 1px solid rgba(84, 89, 98, 0.6);
|
||
border-radius: 4px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 400;
|
||
letter-spacing: 0.7px;
|
||
padding: 8px 16px;
|
||
}
|
||
|
||
QPushButton#selectBtn:hover {
|
||
background-color: rgba(84, 89, 98, 0.6);
|
||
border-color: rgba(84, 89, 98, 0.8);
|
||
}
|
||
|
||
#fileList {
|
||
background-color: rgba(89, 100, 113, 0.2);
|
||
border: 1px solid rgba(76, 92, 110, 0.6);
|
||
border-radius: 4px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.6px;
|
||
padding: 6px;
|
||
}
|
||
|
||
#fileList::item {
|
||
background-color: rgba(84, 89, 98, 0.2);
|
||
border-radius: 4px;
|
||
color: rgba(255, 255, 255, 0.9);
|
||
padding: 6px 8px;
|
||
margin: 1px 0px;
|
||
min-height: 26px;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.6px;
|
||
}
|
||
|
||
#fileList::item:hover {
|
||
background-color: rgba(84, 89, 98, 0.3);
|
||
}
|
||
|
||
#fileList::item:selected {
|
||
background-color: rgba(43, 86, 197, 0.3);
|
||
border: 1px solid #2b56c5;
|
||
}
|
||
|
||
#fileList::item:selected:hover {
|
||
background-color: rgba(43, 86, 197, 0.4);
|
||
}
|
||
|
||
#optionsGroup {
|
||
background-color: transparent;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox {
|
||
background: transparent;
|
||
background-color: transparent;
|
||
background: transparent;
|
||
background-color: transparent;
|
||
background: transparent;
|
||
background-color: transparent;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.6px;
|
||
spacing: 8px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator {
|
||
width: 18px;
|
||
height: 18px;
|
||
border-radius: 2px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:unchecked {
|
||
background-color: rgba(217, 217, 217, 0.1);
|
||
border: 1px solid rgba(77, 116, 189, 0.4);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:unchecked:hover {
|
||
background-color: rgba(217, 217, 217, 0.15);
|
||
border: 1px solid rgba(77, 116, 189, 0.6);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:checked {
|
||
background-color: rgba(40, 126, 255, 0.6);
|
||
border: 1px solid #289eff;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:checked:hover {
|
||
background-color: rgba(40, 126, 255, 0.8);
|
||
}
|
||
|
||
/* Specific styling for the checked checkbox with checkmark */
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:checked {
|
||
background-color: rgba(40, 126, 255, 0.6);
|
||
border: 1px solid #289eff;
|
||
image: none;
|
||
}
|
||
|
||
/* Import dialog specific button styles */
|
||
QDialog#ImportProjectDialog QPushButton#primaryBtn:disabled {
|
||
background-color: rgba(89, 100, 113, 0.2);
|
||
color: rgba(235, 235, 235, 0.5);
|
||
border: none;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#secondaryBtn:hover {
|
||
background-color: rgba(84, 89, 98, 0.6);
|
||
border-color: #6a7080;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#secondaryBtn:pressed {
|
||
background-color: rgba(84, 89, 98, 0.8);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#primaryBtn:hover {
|
||
background-color: #3d67d5;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#primaryBtn:pressed {
|
||
background-color: #1e47a5;
|
||
}
|
||
|
||
/* Enhanced upload area feedback */
|
||
#uploadArea {
|
||
background-color: rgba(89, 100, 113, 0.1);
|
||
border: 1px solid rgba(76, 92, 110, 0.6);
|
||
border-radius: 4px;
|
||
min-height: 288px;
|
||
transition: all 0.2s ease;
|
||
}
|
||
|
||
#uploadArea[dragOver="true"] {
|
||
background-color: rgba(43, 86, 197, 0.15);
|
||
border: 2px solid #2b56c5;
|
||
border-style: dashed;
|
||
}
|
||
|
||
|
||
/* ---------- Import Project Dialog Overrides ---------- */
|
||
QDialog#ImportProjectDialog {
|
||
background-color: #0c0c0d;
|
||
border-radius: 5px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QWidget#importContentArea {
|
||
background-color: #0c0c0d;
|
||
border-radius: 5px;
|
||
}
|
||
|
||
|
||
QDialog#CreateProjectDialog #customTitleBar {
|
||
background-color: #0c0c0d;
|
||
border-bottom: none;
|
||
border-top-left-radius: 5px;
|
||
border-top-right-radius: 5px;
|
||
min-height: 54px;
|
||
}
|
||
|
||
QDialog#CreateProjectDialog #customTitleLabel {
|
||
color: #f4f5f8;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 16px;
|
||
font-weight: 600;
|
||
letter-spacing: 0.6px;
|
||
background: transparent;
|
||
}
|
||
|
||
QDialog#CreateProjectDialog #customCloseBtn {
|
||
background-color: transparent;
|
||
border-radius: 4px;
|
||
color: #f4f5f8;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
min-width: 24px;
|
||
min-height: 24px;
|
||
}
|
||
|
||
QDialog#CreateProjectDialog #customCloseBtn:hover {
|
||
background-color: rgba(235, 235, 235, 0.08);
|
||
border-color: rgba(235, 235, 235, 0.7);
|
||
}
|
||
|
||
QDialog#CreateProjectDialog #customCloseBtn:pressed {
|
||
background-color: rgba(235, 235, 235, 0.18);
|
||
border-color: #ffffff;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #customTitleBar {
|
||
background-color: #0c0c0d;
|
||
border-bottom: none;
|
||
border-top-left-radius: 5px;
|
||
border-top-right-radius: 5px;
|
||
min-height: 54px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #customTitleIcon {
|
||
qproperty-alignment: 'AlignVCenter | AlignLeft';
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #customTitleLabel {
|
||
color: #f4f5f8;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 16px;
|
||
font-weight: 600;
|
||
letter-spacing: 0.6px;
|
||
background: transparent;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #customCloseBtn {
|
||
background-color: transparent;
|
||
border-radius: 4px;
|
||
color: #f4f5f8;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
min-width: 24px;
|
||
min-height: 24px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #customCloseBtn:hover {
|
||
background-color: rgba(235, 235, 235, 0.08);
|
||
border-color: rgba(235, 235, 235, 0.7);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #customCloseBtn:pressed {
|
||
background-color: rgba(235, 235, 235, 0.18);
|
||
border-color: #ffffff;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QFrame#importSectionFrame {
|
||
background-color: #0c0c0d;
|
||
border: none;
|
||
border-radius: 5px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QFrame#importSectionHeader {
|
||
background-color: #19191B;
|
||
border: none;
|
||
min-width: 1157px;
|
||
max-width: 1157px;
|
||
min-height: 33px;
|
||
max-height: 33px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QLabel#importSectionTitle {
|
||
color: #f4f5f8;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 600;
|
||
letter-spacing: 0.6px;
|
||
background: transparent;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QFrame#importSectionBody {
|
||
background-color: #19191B;
|
||
min-width: 1157px;
|
||
max-width: 1157px;
|
||
min-height: 450px;
|
||
max-height: 450px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #importGroup {
|
||
background-color: #16181d;
|
||
border: 1px solid rgba(73, 76, 84, 0.55);
|
||
border-radius: 6px;
|
||
color: #f4f5f8;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.6px;
|
||
padding: 12px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #importGroup::title {
|
||
background-color: rgba(48, 51, 58, 0.45);
|
||
border-bottom: 1px solid rgba(73, 76, 84, 0.45);
|
||
margin: -8px -8px 12px -8px;
|
||
padding: 12px 18px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #uploadArea {
|
||
background: transparent;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #uploadContentFrame {
|
||
background-color: rgba(89, 100, 113, 0.1);
|
||
border-radius: 4px;
|
||
min-width: 1127px;
|
||
max-width: 1127px;
|
||
min-height: 288px;
|
||
max-height: 288px;
|
||
border: none;
|
||
transition: background-color 0.2s ease, border 0.2s ease;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #uploadArea[dragOver="true"] #uploadContentFrame {
|
||
background-color: rgba(43, 86, 197, 0.12);
|
||
border: 2px dashed #2b56c5;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QLabel#uploadIcon {
|
||
qproperty-alignment: 'AlignCenter';
|
||
background: transparent;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QLabel#uploadTitle {
|
||
color: #dfe2ea;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 400;
|
||
letter-spacing: 0.4px;
|
||
background: transparent;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QLabel#uploadHint,
|
||
QDialog#ImportProjectDialog QLabel#uploadHintLabel {
|
||
color: rgba(255, 255, 255, 0.9);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
font-weight: 300;
|
||
letter-spacing: 0.3px;
|
||
background: transparent;
|
||
margin: 0px;
|
||
padding: 4px 0px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#uploadBtn {
|
||
background-color: #2b57c5;
|
||
border: none;
|
||
border-radius: 6px;
|
||
color: #ffffff;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 16px;
|
||
font-weight: 400;
|
||
letter-spacing: 0.8px;
|
||
min-width: 151px;
|
||
max-width: 151px;
|
||
min-height: 42px;
|
||
max-height: 42px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#uploadBtn:hover {
|
||
background-color: #3d67d5;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#uploadBtn:pressed {
|
||
background-color: #1e47a5;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #fileList {
|
||
background-color: rgba(89, 100, 113, 0.2);
|
||
border: none;
|
||
border-radius: 4px;
|
||
padding: 8px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #fileList:focus {
|
||
border-color: rgba(76, 104, 196, 0.6);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #fileList QWidget#fileListItem {
|
||
background-color: rgba(62, 68, 84, 0.3);
|
||
border: 1px solid rgba(74, 80, 96, 0.45);
|
||
border-radius: 6px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #fileList QWidget#fileListItem:hover {
|
||
background-color: rgba(76, 104, 164, 0.28);
|
||
border-color: rgba(63, 104, 196, 0.6);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QLabel#fileListItemTitle {
|
||
color: #f3f4f8;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
letter-spacing: 0.3px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QLabel#fileListItemMeta {
|
||
color: rgba(223, 226, 234, 0.65);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 12px;
|
||
letter-spacing: 0.2px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QWidget#optionsGroup {
|
||
background-color: transparent;
|
||
border: none;
|
||
border-radius: 0;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox {
|
||
background: transparent;
|
||
background-color: transparent;
|
||
color: rgba(239, 240, 244, 0.88);
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
letter-spacing: 0.4px;
|
||
spacing: 8px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator {
|
||
width: 18px;
|
||
height: 18px;
|
||
border-radius: 3px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:unchecked {
|
||
background-color: rgba(217, 217, 217, 0.08);
|
||
border: 1px solid rgba(77, 116, 189, 0.4);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:unchecked:hover {
|
||
background-color: rgba(217, 217, 217, 0.14);
|
||
border: 1px solid rgba(77, 116, 189, 0.6);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:checked {
|
||
background-color: rgba(40, 126, 255, 0.7);
|
||
border: 1px solid #289eff;
|
||
image: none;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QCheckBox::indicator:checked:hover {
|
||
background-color: rgba(40, 126, 255, 0.85);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog #buttonArea {
|
||
background-color: #0c0c0d;
|
||
border-top: 1px solid rgba(58, 63, 76, 0.7);
|
||
margin: 0 10px; /* 上下0px,左右20px */
|
||
min-height: 64px;
|
||
border-bottom-left-radius: 5px;
|
||
border-bottom-right-radius: 5px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#secondaryBtn {
|
||
background-color: rgba(84, 89, 98, 0.35);
|
||
border: 1px solid rgba(104, 110, 122, 0.65);
|
||
border-radius: 4px;
|
||
color: #ebebeb;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
padding: 0px 0px;
|
||
min-height: 36px;
|
||
max-height: 36px;
|
||
max-width: 95px;
|
||
min-width: 95px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#secondaryBtn:hover {
|
||
background-color: rgba(84, 89, 98, 0.55);
|
||
border-color: rgba(136, 144, 160, 0.7);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#secondaryBtn:pressed {
|
||
background-color: rgba(84, 89, 98, 0.75);
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#primaryBtn {
|
||
background-color: #2b57c5;
|
||
border: none;
|
||
border-radius: 4px;
|
||
color: #ebebeb;
|
||
font-family: "Inter" "Microsoft YaHei", "Segoe UI", sans-serif;
|
||
font-size: 14px;
|
||
padding: 0px 0px;
|
||
min-height: 37px;
|
||
max-height: 37px;
|
||
max-width: 125px;
|
||
min-width: 125px;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#primaryBtn:hover {
|
||
background-color: #3d67d5;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#primaryBtn:pressed {
|
||
background-color: #1e47a5;
|
||
}
|
||
|
||
QDialog#ImportProjectDialog QPushButton#primaryBtn:disabled {
|
||
background-color: rgba(89, 100, 113, 0.25);
|
||
color: rgba(235, 235, 235, 0.55);
|
||
}
|
||
"""
|
||
|
||
@staticmethod
|
||
def get_card_style():
|
||
return """
|
||
#projectCard {
|
||
background-color: #1b1f2a;
|
||
border: 1px solid #242a38;
|
||
border-radius: 18px;
|
||
}
|
||
|
||
#projectCard:hover {
|
||
background-color: #212634;
|
||
border-color: #2d3343;
|
||
}
|
||
|
||
#projectHeader {
|
||
background: transparent;
|
||
border-bottom: none;
|
||
}
|
||
|
||
#projectTitle {
|
||
color: #f2f4f9;
|
||
font-size: 15px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
#projectImage {
|
||
background-color: #292f3d;
|
||
border-radius: 5px;
|
||
min-height: 140px;
|
||
}
|
||
|
||
#projectFooter {
|
||
background: transparent;
|
||
border-top: 1px solid #232838;
|
||
margin-top: 12px;
|
||
padding-top: 12px;
|
||
}
|
||
|
||
#projectDate {
|
||
color: #9aa1b3;
|
||
font-size: 12px;
|
||
}
|
||
"""
|
||
|
||
@staticmethod
|
||
def get_context_menu_style():
|
||
return """
|
||
QMenu {
|
||
background-color: #424347;
|
||
border: 1px solid #5a5a6a;
|
||
border-radius: 6px;
|
||
padding: 4px 0px;
|
||
}
|
||
|
||
QMenu::item {
|
||
background-color: transparent;
|
||
border-radius: 4px;
|
||
padding: 6px 12px;
|
||
margin: 1px 6px;
|
||
}
|
||
|
||
QMenu::item:selected {
|
||
background-color: rgba(255, 255, 255, 0.08);
|
||
}
|
||
|
||
QMenu::icon {
|
||
padding-left: 0px;
|
||
padding-right: 10px;
|
||
}
|
||
|
||
QMenu::separator {
|
||
height: 1px;
|
||
background: rgba(84, 89, 98, 0.8);
|
||
margin: 4px 0px;
|
||
margin-left: 0px;
|
||
margin-right: 0px;
|
||
}
|
||
"""
|
||
|