2026-09-09 16:46:15 +00:00
committed by gitea-admin
co-authored by duylh19
parent 13e2c22067
commit 1b8429e33a
147 changed files with 20993 additions and 461 deletions
+12 -4
View File
@@ -24,6 +24,10 @@ QSplitter::handle:horizontal { width: 1px; }
QSplitter::handle:vertical { height: 1px; }
QSplitter::handle:hover { background: $border_strong; }
QStatusBar { background: $bg; color: $text_faint; border-top: 1px solid $border; }
/* Dòng phiên bản ở góc phải: đẩy chữ ra khỏi mép cửa sổ. Đặt padding ở nhãn
chứ không ở QStatusBar — margin/padding của thanh không dịch được widget mà
layout nội bộ của nó ghim vào sát mép phải. */
QStatusBar QLabel { padding-right: 10px; }
QToolTip {
background: $overlay; color: $text; border: 1px solid $border_strong;
border-radius: ${radius}px; padding: 5px 9px;
@@ -183,10 +187,14 @@ QPushButton#navSettingsBtn {
/* Padding stays at 0: the row lays its own icon and label out, so that
the spacing does not change with the platform's button style. */
padding: 0; text-align: left; border-radius: ${radius}px;
/* No side margin: Settings reads as one more row under Dashboard/Giám sát,
so its icon has to start on their x. A 6px margin put it at 14 — near
enough the middle of the collapsed 54px rail to look centred. */
margin: 2px 0px 6px 0px;
/* No margin at all. A vertical one here was doing the opposite of what it
read as: QVBoxLayout gave this button its geometry with the margin
ignored (nav_bottom's bottom edge and this button's top edge measured
the same y), while the PAINTER honoured it — so the only thing 10px/14px
actually did was inset the hover fill, leaving Settings with a visibly
shorter hover pill than the rows above. Spacing above/below the row is
nav_rail's, which pins this button to the rows' own height. */
margin: 0;
}
QPushButton#navSettingsBtn:hover { background: $nav_hover; color: $text; }
QPushButton#navSettingsBtn:pressed { background: $active; }
+52
View File
@@ -141,6 +141,25 @@ QPushButton#danger {
QPushButton#danger:hover { background: $danger_solid_hover; }
QPushButton#danger:disabled { background: $surface; color: $text_disabled; border-color: $border; }
/* Tinted, not filled. `warning` and `success` are tuned as TEXT colours — the
same reason `accent` and `accent_solid` are separate tokens: a hue readable
as ink on a surface is too light to carry white as a fill (dark `warning` is
#CCA700, which white fails AA against). A soft ground with the token as ink
keeps the contrast that was already verified, in both themes. */
QPushButton#warning {
background: $warning_soft; color: $warning; border: 1px solid $warning; font-weight: 600;
}
QPushButton#warning:hover { background: $hover; }
QPushButton#warning:pressed { background: $active; }
QPushButton#warning:disabled { background: $surface; color: $text_disabled; border-color: $border; }
QPushButton#success {
background: $success_soft; color: $success; border: 1px solid $success; font-weight: 600;
}
QPushButton#success:hover { background: $hover; }
QPushButton#success:pressed { background: $active; }
QPushButton#success:disabled { background: $surface; color: $text_disabled; border-color: $border; }
/* Ghost buttons: nav section headers and icon-only chrome. */
QPushButton#navMenuBtn {
background: transparent; border: none; border-radius: ${radius}px; padding: 5px 6px;
@@ -283,6 +302,39 @@ QPushButton#detailCopyBtn:hover { background: rgba(255,255,255,0.25); }
QLabel { background: transparent; }
QLabel#hint { color: $text_muted; }
/* Man gioi thieu cua khung chat (trang thai rong). */
QWidget#chatWelcome { background: $bg; }
QLabel#welcomeGreeting { color: $text; font-size: 19px; font-weight: 600; }
QLabel#welcomeMark {
background: $accent_soft; border: 1px solid $border_strong;
border-radius: ${radius}px;
}
QPushButton#welcomeCard {
background: $surface; border: 1px solid $border; border-radius: ${radius}px;
text-align: left; padding: 0px;
}
QPushButton#welcomeCard:hover { background: $hover; border-color: $border_strong; }
QPushButton#welcomeCard:focus { border: 1px solid $focus_ring; }
QLabel#welcomeCardTitle { color: $text; font-weight: 600; }
/* Panel "dang tai" phu len khung do thi GraphRAG. Dung khung QWebEngineView la
viec DONG BO tren GUI thread (~1-2s), nen thanh tien trinh o day khong chay
duoc trong giai doan do — panel van phai nhin thay duoc, va do la ly do no co
nen dac cua rieng minh thay vi chi la mot dong chu. */
QWidget#graphBusy { background: $overlay; border: 1px solid $border_strong; border-radius: ${radius}px; }
QWidget#graphBusy QLabel { color: $text; font-weight: 600; }
/* Lop phu ca cua so trong luc doi ngon ngu — cung ly do voi #graphBusy o tren:
viec chan chay DONG BO tren GUI thread. Nen mo chu khong dac: nguoi dung con
thay man hinh cu mo di, nen hieu la app dang lam viec chu khong phai da nhay
sang mot man hinh khac. */
QWidget#busyOverlay { background: rgba(0, 0, 0, 0.45); }
QWidget#busyOverlayPanel {
background: $overlay; border: 1px solid $border_strong;
border-radius: ${radius}px;
}
QWidget#busyOverlayPanel QLabel { color: $text; font-weight: 600; }
QLabel#faint { color: $text_faint; }
QLabel#warning { color: $warning; font-weight: 600; }
QLabel#error { color: $danger; font-weight: 600; }