Style updates.

This commit is contained in:
2026-01-06 19:52:55 +01:00
parent a8a947ff0b
commit 50c82bca43
13 changed files with 240 additions and 1775 deletions

View File

@@ -230,7 +230,7 @@ void BCAnimatedDelegate::paintSliderIndicator(QPainter* painter, const QStyleOpt
{ {
const BCValue& valueX = *(_valueList[ index.row()].get()); const BCValue& valueX = *(_valueList[ index.row()].get());
int value = 50;index.model()->data(index, Qt::DisplayRole).toInt(); int value = 50;//index.model()->data(index, Qt::DisplayRole).toInt();
// Hintergrund // Hintergrund
if (option.state & QStyle::State_Selected) if (option.state & QStyle::State_Selected)

View File

@@ -74,7 +74,6 @@ TransmitResult BCDriverDummy::readRawByte( uint32_t deviceID, uint8_t registerID
{ {
Q_UNUSED(deviceID) Q_UNUSED(deviceID)
Q_UNUSED(registerID) Q_UNUSED(registerID)
qDebug() << " --- Dummy: readRawByte:DriverState: " << getDriverState();
uint8_t myRandomByte = static_cast<uint8_t>(QRandomGenerator::global()->bounded(256)); uint8_t myRandomByte = static_cast<uint8_t>(QRandomGenerator::global()->bounded(256));
return myRandomByte; return myRandomByte;
} }

View File

@@ -150,6 +150,7 @@ void BCMainWindow::initMainWindow()
connect( this, &BCMainWindow::requestValueUpdate, &_transmitter, &BCTransmitter::onUpdateValue); connect( this, &BCMainWindow::requestValueUpdate, &_transmitter, &BCTransmitter::onUpdateValue);
connect( &_worker, &QThread::finished, &_transmitter, &QObject::deleteLater); connect( &_worker, &QThread::finished, &_transmitter, &QObject::deleteLater);
connect( &_transmitter, &BCTransmitter::driverStateChanged, this, &BCMainWindow::onDriverStateChanged ); connect( &_transmitter, &BCTransmitter::driverStateChanged, this, &BCMainWindow::onDriverStateChanged );
connect( &_transmitter, &BCTransmitter::valueQueueEmpty, this, &BCMainWindow::onValueQueueEmpty );
// transmitter starten // transmitter starten
_transmitter.moveToThread(&_worker); _transmitter.moveToThread(&_worker);
@@ -305,6 +306,11 @@ void BCMainWindow::onValueUpdated(BCDevice::ID deviceID, int index, BCValue::Sta
} }
} }
void BCMainWindow::onValueQueueEmpty()
{
qDebug() << " --- END sync";
_syncButton->setEnabled( true );
}
/** /**
* @brief SLOT, der aufgerufen wird, um das akutelle Device (Battery, Motor, ... ) * @brief SLOT, der aufgerufen wird, um das akutelle Device (Battery, Motor, ... )
@@ -316,14 +322,18 @@ void BCMainWindow::onSyncDeviceView()
Q_ASSERT_X(_currentPanel, "onSyncDeviceView()", "_currentpanel ist null!"); Q_ASSERT_X(_currentPanel, "onSyncDeviceView()", "_currentpanel ist null!");
const BCValueList& currentList =_currentPanel->getValueListX(); const BCValueList& currentList =_currentPanel->getValueListX();
_syncButton->setEnabled( false ); // wir schalten den Button hier ab,
// wenn der Autrag bearbeitet wurde, wird der
// Button wieder eingeschaltet.
for( const BCValuePtr& value : currentList ) for( const BCValuePtr& value : currentList )
{ {
qDebug() << " --- begin sync of value: " << QThread::currentThreadId() << " : " << value->label; qDebug() << " --- ### begin sync of value: " << QThread::currentThreadId() << " : " << value->label;
// wir setzen auf 'lesen' // wir setzen auf 'lesen'
value->state.setFlag( BCValue::State::ReadMe ); value->state.setFlag( BCValue::State::ReadMe );
_syncButton->setEnabled( false );
// statt '_transmitter.onUpdateValue( value )' müssen wir hier // statt '_transmitter.onUpdateValue( value )' müssen wir hier
// über emit requestValueUpdate() zur Thread sysnchronisation // über emit requestValueUpdate() zur Thread sysnchronisation
// entkoppeln, // entkoppeln,
@@ -332,6 +342,6 @@ void BCMainWindow::onSyncDeviceView()
} }
//_syncButton->setEnabled( true );
} }

View File

@@ -62,6 +62,7 @@ public slots:
// Slots für Rückmeldungen vom Transmitter // Slots für Rückmeldungen vom Transmitter
void onValueUpdated( BCDevice::ID deviceID, int index, BCValue::State state, const QString& newValue="" ); void onValueUpdated( BCDevice::ID deviceID, int index, BCValue::State state, const QString& newValue="" );
void onValueQueueEmpty();
void onSyncDeviceView(); void onSyncDeviceView();
void onShowMessage( const QString& message, int timeOut=3000); void onShowMessage( const QString& message, int timeOut=3000);

View File

@@ -140,9 +140,40 @@ void BCTransmitter::onUpdateValue( BCValuePtrConst valuePtr)
// Das klappt aber nur in der hier gewählten Konstellation mit einer Parent-Thread // Das klappt aber nur in der hier gewählten Konstellation mit einer Parent-Thread
// und einem Worker. // und einem Worker.
// Wir benutzen doch eine zusätzliche Queue, um erkennen zu können, ob der
// der aktuelle Auftragsblock abgearbeit wurde.
_valueQueue.enqueue( valuePtr );
qDebug() << " # #### ENQ: " <<_valueQueue.size();
// Wir schicken den event gleich wieder weiter ...
QMetaObject::invokeMethod(this, "onProcessValue", Qt::QueuedConnection);
}
void BCTransmitter::onProcessValue()
{
while (true)
{
BCValuePtrConst valuePtr{};
{
//QMutexLocker locker(&_mutex);
if (_valueQueue.isEmpty())
{
//_isBusy = false;
qDebug() << " --- XXXXXXXXXX Warum so oft?";
emit valueQueueEmpty();
break; // Schleife verlassen, warten auf neue Events
}
valuePtr =_valueQueue.dequeue();
qDebug() << " # #### DEQ: " <<_valueQueue.size();
} // Mutex wird hier freigegeben! WICHTIG: Execute ohne Lock!
// Kosmetik // Kosmetik
const BCValue& value = *(valuePtr.get()); const BCValue& value = *(valuePtr.get());
// Kosmetik
//const BCValue& value = *(valuePtr.get());
qDebug() << "------- DE.-.QUEUE: " << QThread::currentThreadId() << ": " << value.label; qDebug() << "------- DE.-.QUEUE: " << QThread::currentThreadId() << ": " << value.label;
// Value ist 'under construction' // Value ist 'under construction'
@@ -184,12 +215,11 @@ void BCTransmitter::onUpdateValue( BCValuePtrConst valuePtr)
// __fix // __fix
//bc::processEventsFor(150); //bc::processEventsFor(150);
bc::delay_millis(150); bc::delay_millis(150);
} // while
} }
void BCTransmitter::onProcessValue()
{}
TransmitResult BCTransmitter::readByteValue( uint32_t deviceID, uint8_t registerID ) TransmitResult BCTransmitter::readByteValue( uint32_t deviceID, uint8_t registerID )
{ {

View File

@@ -69,6 +69,7 @@ public slots:
signals: signals:
void valueQueueEmpty();
void valueUpdated(BCDevice::ID deviceID, int index, BCValue::State state, const QString& newValue="" ); void valueUpdated(BCDevice::ID deviceID, int index, BCValue::State state, const QString& newValue="" );
void driverStateChanged( BCDriver::DriverState state, const QString& message="" ); void driverStateChanged( BCDriver::DriverState state, const QString& message="" );

View File

@@ -2,8 +2,6 @@
<qresource prefix="/"> <qresource prefix="/">
<file alias="bikeinfo.xml">resources/bikeinfo.xml</file> <file alias="bikeinfo.xml">resources/bikeinfo.xml</file>
<file alias="bionxcontrol.qss">resources/bionxcontrol.qss</file> <file alias="bionxcontrol.qss">resources/bionxcontrol.qss</file>
<file alias="claude_dark_mode.qss">resources/claude_dark_mode.qss</file>
<file alias="claude_light_mode.qss">resources/claude_light_mode.qss</file>
<file alias="bionx_akku.png">resources/bionx_akku.png</file> <file alias="bionx_akku.png">resources/bionx_akku.png</file>
<file alias="bionx_console.png">resources/bionx_console.png</file> <file alias="bionx_console.png">resources/bionx_console.png</file>
<file alias="bionx_motor.png">resources/bionx_motor.png</file> <file alias="bionx_motor.png">resources/bionx_motor.png</file>
@@ -12,7 +10,6 @@
<file alias="exit_red.svg">resources/exit_red.svg</file> <file alias="exit_red.svg">resources/exit_red.svg</file>
<file alias="sync_green.svg">resources/sync_green.svg</file> <file alias="sync_green.svg">resources/sync_green.svg</file>
<file alias="sync_yellow.svg">resources/sync_yellow.svg</file> <file alias="sync_yellow.svg">resources/sync_yellow.svg</file>
<file alias="connect_white.svg">resources/connect_white.svg</file>
<file alias="sync.svg">resources/sync.svg</file> <file alias="sync.svg">resources/sync.svg</file>
</qresource> </qresource>
</RCC> </RCC>

16
bionxcontrol.qrc.autosave Normal file
View File

@@ -0,0 +1,16 @@
<RCC>
<qresource prefix="/">
<file alias="bikeinfo.xml">resources/bikeinfo.xml</file>
<file alias="bc_light.qss">resources/bc_light.qss</file>
<file alias="bionx_akku.png">resources/bionx_akku.png</file>
<file alias="bionx_console.png">resources/bionx_console.png</file>
<file alias="bionx_motor.png">resources/bionx_motor.png</file>
<file alias="connect.svg">resources/connect.svg</file>
<file alias="exit.svg">resources/exit.svg</file>
<file alias="exit_red.svg">resources/exit_red.svg</file>
<file alias="sync_green.svg">resources/sync_green.svg</file>
<file alias="sync_yellow.svg">resources/sync_yellow.svg</file>
<file alias="sync.svg">resources/sync.svg</file>
<file alias="bc_dark.qss">resources/bc_dark.qss</file>
</qresource>
</RCC>

173
resources/bc_light.qss Normal file
View File

@@ -0,0 +1,173 @@
/* appqss */
/* Alle QWidgets bekommen diesen Font */
QWidget
{
font-family: "Calibri", "Carlito", "Open Sans", sans-serif;
font-size: 10pt;
margin: 0px;
padding: 0px;
}
QLabel#_headerLabel
{
font-size: 14pt;
font-weight: bold;
}
/*
QToolButton
{
background-color: white;
color: #201F1E;
border: 1px solid #8A8886;
border-radius: 4px;
min-width: 64px;
max-width: 64px;
min-height: 64px;
max-height: 64px;
}
QToolButton:hover
{
background-color: #F3F2F1;
border: 1px solid #323130;
}
QToolButton:pressed
{
background-color: #EDEBE9;
border: 1px solid #201F1E;
}
QToolButton:disabled
{
background-color: #F3F2F1;
color: #A19F9D;
border: 1px solid #EDEBE9;
}
*/
/* === QToolButton === */
QToolButton
{
background-color: transparent;
color: #000000;
border: none;
border-radius: 4px;
padding: 6px;
min-width: 64px;
max-width: 64px;
min-height: 64px;
max-height: 64px;
}
QToolButton:hover
{
background-color: #F9F9F9;
border: 1px solid #DDDDDD;
}
QToolButton:pressed
{
background-color: #E0E0E0;
}
QToolButton:checked
{
background-color: green;/*#0078D4;*/
color: #FFFFFF;
}
QToolButton:disabled
{
color: #A19F9D;
background-color: #666666;
}
/* === QTableView & QTableWidget === */
QTableView, QTableWidget
{
background-color: #FFFFFF;
color: #000000;
gridline-color: #E1DFDD;
border: 1px solid #E1DFDD;
border-radius: 4px;
selection-background-color: #0078D4;
}
QTableView::item:hover
{
background-color: #e8f4f8;
}
QScrollBar::handle:horizontal
{
background-color: #C8C6C4;
min-width: 40px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:horizontal:hover
{
background-color: #A19F9D;
}
QScrollBar::handle:horizontal:pressed
{
background-color: #8A8886;
}
QScrollBar::add-line:horizontal,
QScrollBar::sub-line:horizontal
{
width: 0px;
}
QScrollBar::add-page:horizontal,
QScrollBar::sub-page:horizontal
{
background: none;
}
QScrollBar:vertical {
background-color: transparent;
width: 12px;
margin: 0;
}
QScrollBar::handle:vertical {
background-color: #C8C6C4;
min-height: 40px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:vertical:hover {
background-color: #A19F9D;
}
QScrollBar::handle:vertical:pressed {
background-color: #8A8886;
}
QScrollBar::add-line:vertical,
QScrollBar::sub-line:vertical {
height: 0px;
}
QScrollBar::add-page:vertical,
QScrollBar::sub-page:vertical {
background: none;
}

View File

@@ -1,871 +0,0 @@
/* ===================================================================
Fluent Design Dark Mode Stylesheet for Qt6
Windows 11 inspired dark theme
=================================================================== */
/* === Color Palette ===
Background: #202020
Surface: #2B2B2B
Surface Hover: #3A3A3A
Border: #3F3F3F
Text: #FFFFFF
Text Secondary: #B0B0B0
Accent: #0078D4
Accent Hover: #106EBE
=== */
/* === Global Styles === */
* {
font-family: "Segoe UI", "Noto Sans", Roboto, sans-serif;
font-size: 9pt;
}
QWidget {
background-color: #202020;
color: #FFFFFF;
selection-background-color: #0078D4;
selection-color: #FFFFFF;
}
/* === QMainWindow === */
QMainWindow {
background-color: #202020;
}
QMainWindow::separator {
background-color: #3F3F3F;
width: 1px;
height: 1px;
}
QMainWindow::separator:hover {
background-color: #0078D4;
}
/* === QPushButton === */
QPushButton {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
border-radius: 4px;
padding: 6px 16px;
min-height: 20px;
font-weight: 500;
}
QPushButton:hover {
background-color: #3A3A3A;
border-color: #5A5A5A;
}
QPushButton:pressed {
background-color: #1F1F1F;
border-color: #3F3F3F;
}
QPushButton:disabled {
background-color: #2B2B2B;
color: #5A5A5A;
border-color: #3F3F3F;
}
QPushButton:default {
background-color: #0078D4;
border-color: #0078D4;
color: #FFFFFF;
}
QPushButton:default:hover {
background-color: #106EBE;
border-color: #106EBE;
}
QPushButton:default:pressed {
background-color: #005A9E;
border-color: #005A9E;
}
/* === QLineEdit === */
QLineEdit {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
border-radius: 4px;
padding: 6px 8px;
selection-background-color: #0078D4;
}
QLineEdit:hover {
border-color: #5A5A5A;
}
QLineEdit:focus {
background-color: #1F1F1F;
border: 2px solid #0078D4;
padding: 5px 7px;
}
QLineEdit:disabled {
background-color: #2B2B2B;
color: #5A5A5A;
border-color: #3F3F3F;
}
QLineEdit[readOnly="true"] {
background-color: #2B2B2B;
color: #B0B0B0;
}
/* === QTextEdit & QPlainTextEdit === */
QTextEdit, QPlainTextEdit {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
border-radius: 4px;
padding: 8px;
selection-background-color: #0078D4;
}
QTextEdit:hover, QPlainTextEdit:hover {
border-color: #5A5A5A;
}
QTextEdit:focus, QPlainTextEdit:focus {
border: 2px solid #0078D4;
padding: 7px;
}
QTextEdit:disabled, QPlainTextEdit:disabled {
background-color: #2B2B2B;
color: #5A5A5A;
}
/* === QComboBox === */
QComboBox {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
border-radius: 4px;
padding: 6px 8px;
min-height: 20px;
}
QComboBox:hover {
background-color: #3A3A3A;
border-color: #5A5A5A;
}
QComboBox:focus {
border: 2px solid #0078D4;
}
QComboBox:disabled {
background-color: #2B2B2B;
color: #5A5A5A;
}
QComboBox::drop-down {
border: none;
width: 20px;
}
QComboBox::down-arrow {
image: url(:/icons/down-arrow.png);
width: 12px;
height: 12px;
}
QComboBox QAbstractItemView {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
selection-background-color: #0078D4;
selection-color: #FFFFFF;
outline: none;
}
QComboBox QAbstractItemView::item {
min-height: 28px;
padding-left: 8px;
}
QComboBox QAbstractItemView::item:hover {
background-color: #3A3A3A;
}
/* === QSpinBox & QDoubleSpinBox === */
QSpinBox, QDoubleSpinBox {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
border-radius: 4px;
padding: 6px 8px;
min-height: 20px;
}
QSpinBox:hover, QDoubleSpinBox:hover {
border-color: #5A5A5A;
}
QSpinBox:focus, QDoubleSpinBox:focus {
border: 2px solid #0078D4;
}
QSpinBox:disabled, QDoubleSpinBox:disabled {
background-color: #2B2B2B;
color: #5A5A5A;
}
QSpinBox::up-button, QDoubleSpinBox::up-button {
background-color: transparent;
border: none;
width: 16px;
}
QSpinBox::up-button:hover, QDoubleSpinBox::up-button:hover {
background-color: #3A3A3A;
}
QSpinBox::down-button, QDoubleSpinBox::down-button {
background-color: transparent;
border: none;
width: 16px;
}
QSpinBox::down-button:hover, QDoubleSpinBox::down-button:hover {
background-color: #3A3A3A;
}
/* === QCheckBox === */
QCheckBox {
spacing: 8px;
color: #FFFFFF;
}
QCheckBox::indicator {
width: 18px;
height: 18px;
border-radius: 4px;
border: 1px solid #5A5A5A;
background-color: #2B2B2B;
}
QCheckBox::indicator:hover {
background-color: #3A3A3A;
border-color: #6A6A6A;
}
QCheckBox::indicator:checked {
background-color: #0078D4;
border-color: #0078D4;
image: url(:/icons/checkmark.png);
}
QCheckBox::indicator:checked:hover {
background-color: #106EBE;
border-color: #106EBE;
}
QCheckBox::indicator:disabled {
background-color: #2B2B2B;
border-color: #3F3F3F;
}
QCheckBox:disabled {
color: #5A5A5A;
}
/* === QRadioButton === */
QRadioButton {
spacing: 8px;
color: #FFFFFF;
}
QRadioButton::indicator {
width: 18px;
height: 18px;
border-radius: 9px;
border: 1px solid #5A5A5A;
background-color: #2B2B2B;
}
QRadioButton::indicator:hover {
background-color: #3A3A3A;
border-color: #6A6A6A;
}
QRadioButton::indicator:checked {
background-color: #0078D4;
border-color: #0078D4;
}
QRadioButton::indicator:checked:hover {
background-color: #106EBE;
border-color: #106EBE;
}
QRadioButton::indicator:checked::after {
width: 8px;
height: 8px;
border-radius: 4px;
background-color: #FFFFFF;
}
QRadioButton::indicator:disabled {
background-color: #2B2B2B;
border-color: #3F3F3F;
}
QRadioButton:disabled {
color: #5A5A5A;
}
/* === QSlider === */
QSlider::groove:horizontal {
height: 4px;
background-color: #3F3F3F;
border-radius: 2px;
}
QSlider::handle:horizontal {
background-color: #FFFFFF;
border: 2px solid #0078D4;
width: 16px;
height: 16px;
margin: -7px 0;
border-radius: 8px;
}
QSlider::handle:horizontal:hover {
background-color: #FFFFFF;
border: 2px solid #106EBE;
}
QSlider::handle:horizontal:pressed {
background-color: #E0E0E0;
}
QSlider::sub-page:horizontal {
background-color: #0078D4;
border-radius: 2px;
}
QSlider::groove:vertical {
width: 4px;
background-color: #3F3F3F;
border-radius: 2px;
}
QSlider::handle:vertical {
background-color: #FFFFFF;
border: 2px solid #0078D4;
width: 16px;
height: 16px;
margin: 0 -7px;
border-radius: 8px;
}
QSlider::sub-page:vertical {
background-color: #0078D4;
border-radius: 2px;
}
/* === QProgressBar === */
QProgressBar {
background-color: #3F3F3F;
border: none;
border-radius: 2px;
height: 4px;
text-align: center;
color: transparent;
}
QProgressBar::chunk {
background-color: #0078D4;
border-radius: 2px;
}
QProgressBar:disabled {
background-color: #3F3F3F;
}
/* === QScrollBar === */
QScrollBar:horizontal {
background-color: transparent;
height: 12px;
margin: 0;
}
QScrollBar::handle:horizontal {
background-color: #5A5A5A;
min-width: 40px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:horizontal:hover {
background-color: #6A6A6A;
}
QScrollBar::handle:horizontal:pressed {
background-color: #7A7A7A;
}
QScrollBar::add-line:horizontal,
QScrollBar::sub-line:horizontal {
width: 0px;
}
QScrollBar::add-page:horizontal,
QScrollBar::sub-page:horizontal {
background: none;
}
QScrollBar:vertical {
background-color: transparent;
width: 12px;
margin: 0;
}
QScrollBar::handle:vertical {
background-color: #5A5A5A;
min-height: 40px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:vertical:hover {
background-color: #6A6A6A;
}
QScrollBar::handle:vertical:pressed {
background-color: #7A7A7A;
}
QScrollBar::add-line:vertical,
QScrollBar::sub-line:vertical {
height: 0px;
}
QScrollBar::add-page:vertical,
QScrollBar::sub-page:vertical {
background: none;
}
/* === QTabWidget === */
QTabWidget::pane {
background-color: #2B2B2B;
border: 1px solid #3F3F3F;
border-radius: 4px;
top: -1px;
}
QTabBar::tab {
background-color: transparent;
color: #B0B0B0;
border: none;
border-bottom: 2px solid transparent;
padding: 8px 16px;
margin-right: 4px;
}
QTabBar::tab:hover {
color: #FFFFFF;
background-color: #3A3A3A;
border-bottom: 2px solid #5A5A5A;
}
QTabBar::tab:selected {
color: #FFFFFF;
background-color: #2B2B2B;
border-bottom: 2px solid #0078D4;
}
QTabBar::tab:disabled {
color: #5A5A5A;
}
/* === QGroupBox === */
QGroupBox {
background-color: #2B2B2B;
border: 1px solid #3F3F3F;
border-radius: 6px;
margin-top: 12px;
padding-top: 12px;
font-weight: 600;
}
QGroupBox::title {
subcontrol-origin: margin;
subcontrol-position: top left;
padding: 0 8px;
color: #FFFFFF;
background-color: #2B2B2B;
}
/* === QLabel === */
QLabel {
background-color: transparent;
color: #FFFFFF;
}
QLabel:disabled {
color: #5A5A5A;
}
/* === QToolButton === */
QToolButton {
background-color: transparent;
color: #FFFFFF;
border: none;
border-radius: 4px;
padding: 6px;
}
QToolButton:hover {
background-color: #3A3A3A;
}
QToolButton:pressed {
background-color: #1F1F1F;
}
QToolButton:checked {
background-color: #0078D4;
}
QToolButton:disabled {
color: #5A5A5A;
}
/* === QMenu === */
QMenu {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
padding: 4px;
}
QMenu::item {
background-color: transparent;
padding: 6px 24px 6px 8px;
border-radius: 4px;
}
QMenu::item:selected {
background-color: #3A3A3A;
}
QMenu::item:disabled {
color: #5A5A5A;
}
QMenu::separator {
height: 1px;
background-color: #3F3F3F;
margin: 4px 0;
}
QMenu::icon {
padding-left: 8px;
}
/* === QMenuBar === */
QMenuBar {
background-color: #2B2B2B;
color: #FFFFFF;
border-bottom: 1px solid #3F3F3F;
}
QMenuBar::item {
background-color: transparent;
padding: 6px 12px;
border-radius: 4px;
}
QMenuBar::item:selected {
background-color: #3A3A3A;
}
QMenuBar::item:pressed {
background-color: #1F1F1F;
}
/* === QToolBar === */
QToolBar {
background-color: #2B2B2B;
border: none;
border-bottom: 1px solid #3F3F3F;
spacing: 4px;
padding: 4px;
}
QToolBar::handle {
background-color: #3F3F3F;
width: 1px;
height: 1px;
margin: 4px;
}
QToolBar::separator {
background-color: #3F3F3F;
width: 1px;
height: 1px;
margin: 4px;
}
/* === QStatusBar === */
QStatusBar {
background-color: #2B2B2B;
color: #B0B0B0;
border-top: 1px solid #3F3F3F;
}
QStatusBar::item {
border: none;
}
/* === QDockWidget === */
QDockWidget {
background-color: #2B2B2B;
color: #FFFFFF;
titlebar-close-icon: url(:/icons/close.png);
titlebar-normal-icon: url(:/icons/float.png);
}
QDockWidget::title {
background-color: #2B2B2B;
border: 1px solid #3F3F3F;
padding: 6px;
text-align: left;
}
QDockWidget::close-button,
QDockWidget::float-button {
background-color: transparent;
border: none;
padding: 4px;
}
QDockWidget::close-button:hover,
QDockWidget::float-button:hover {
background-color: #3A3A3A;
border-radius: 4px;
}
/* === QListView & QListWidget === */
QListView, QListWidget {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
border-radius: 4px;
outline: none;
}
QListView::item, QListWidget::item {
padding: 6px;
border-radius: 4px;
}
QListView::item:hover, QListWidget::item:hover {
background-color: #3A3A3A;
}
QListView::item:selected, QListWidget::item:selected {
background-color: #0078D4;
color: #FFFFFF;
}
QListView::item:disabled, QListWidget::item:disabled {
color: #5A5A5A;
}
/* === QTreeView & QTreeWidget === */
QTreeView, QTreeWidget {
background-color: #2B2B2B;
color: #FFFFFF;
border: 1px solid #3F3F3F;
border-radius: 4px;
outline: none;
show-decoration-selected: 1;
}
QTreeView::item, QTreeWidget::item {
padding: 4px;
border-radius: 4px;
}
QTreeView::item:hover, QTreeWidget::item:hover {
background-color: #3A3A3A;
}
QTreeView::item:selected, QTreeWidget::item:selected {
background-color: #0078D4;
color: #FFFFFF;
}
QTreeView::branch, QTreeWidget::branch {
background-color: transparent;
}
QTreeView::branch:closed:has-children, QTreeWidget::branch:closed:has-children {
image: url(:/icons/branch-closed.png);
}
QTreeView::branch:open:has-children, QTreeWidget::branch:open:has-children {
image: url(:/icons/branch-open.png);
}
/* === QTableView & QTableWidget === */
QTableView, QTableWidget {
background-color: #2B2B2B;
color: #FFFFFF;
gridline-color: #3F3F3F;
border: 1px solid #3F3F3F;
border-radius: 4px;
selection-background-color: #0078D4;
}
QTableView::item, QTableWidget::item {
padding: 4px;
}
QTableView::item:hover, QTableWidget::item:hover {
background-color: #3A3A3A;
}
QTableView::item:selected, QTableWidget::item:selected {
background-color: #0078D4;
color: #FFFFFF;
}
QHeaderView::section {
background-color: #2B2B2B;
color: #FFFFFF;
padding: 6px;
border: none;
border-right: 1px solid #3F3F3F;
border-bottom: 1px solid #3F3F3F;
font-weight: 600;
}
QHeaderView::section:hover {
background-color: #3A3A3A;
}
/* === QDialog === */
QDialog {
background-color: #2B2B2B;
}
/* === QMessageBox === */
QMessageBox {
background-color: #2B2B2B;
}
QMessageBox QLabel {
color: #FFFFFF;
}
/* === QToolTip === */
QToolTip {
background-color: #3A3A3A;
color: #FFFFFF;
border: 1px solid #5A5A5A;
border-radius: 4px;
padding: 4px 8px;
}
/* === QCalendarWidget === */
QCalendarWidget {
background-color: #2B2B2B;
}
QCalendarWidget QToolButton {
color: #FFFFFF;
background-color: transparent;
border: none;
border-radius: 4px;
padding: 4px;
}
QCalendarWidget QToolButton:hover {
background-color: #3A3A3A;
}
QCalendarWidget QMenu {
background-color: #2B2B2B;
}
QCalendarWidget QSpinBox {
background-color: #2B2B2B;
color: #FFFFFF;
selection-background-color: #0078D4;
}
QCalendarWidget QAbstractItemView {
background-color: #2B2B2B;
color: #FFFFFF;
selection-background-color: #0078D4;
selection-color: #FFFFFF;
}
/* === QSplitter === */
QSplitter::handle {
background-color: #3F3F3F;
}
QSplitter::handle:hover {
background-color: #0078D4;
}
QSplitter::handle:horizontal {
width: 1px;
}
QSplitter::handle:vertical {
height: 1px;
}
/* === Custom Classes === */
.accent-button {
background-color: #0078D4;
color: #FFFFFF;
border: none;
}
.accent-button:hover {
background-color: #106EBE;
}
.accent-button:pressed {
background-color: #005A9E;
}
.danger-button {
background-color: #C42B1C;
color: #FFFFFF;
border: none;
}
.danger-button:hover {
background-color: #A52314;
}
.card {
background-color: #2B2B2B;
border: 1px solid #3F3F3F;
border-radius: 8px;
padding: 16px;
}
.surface {
background-color: #2B2B2B;
border: 1px solid #3F3F3F;
}
.divider {
background-color: #3F3F3F;
min-height: 1px;
max-height: 1px;
}

View File

@@ -1,890 +0,0 @@
/* ===================================================================
Fluent Design Light Mode Stylesheet for Qt6
Windows 11 inspired light theme
=================================================================== */
/* === Color Palette ===
Background: #F3F3F3
Surface: #FFFFFF
Surface Hover: #F9F9F9
Border: #E1DFDD
Text: #000000
Text Secondary: #605E5C
Accent: #0078D4
Accent Hover: #106EBE
=== */
/* === Global Styles === */
* {
font-family: "Segoe UI", "Noto Sans", Roboto, sans-serif;
font-size: 9pt;
}
QWidget {
background-color: #F3F3F3;
color: #000000;
selection-background-color: #0078D4;
selection-color: #FFFFFF;
}
/* === QMainWindow === */
QMainWindow {
background-color: #F3F3F3;
}
QMainWindow::separator {
background-color: #E1DFDD;
width: 1px;
height: 1px;
}
QMainWindow::separator:hover {
background-color: #0078D4;
}
/* === QPushButton === */
QPushButton {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
padding: 6px 16px;
min-height: 20px;
font-weight: 500;
}
QPushButton:hover {
background-color: #F9F9F9;
border-color: #D1CFCD;
}
QPushButton:pressed {
background-color: #F0F0F0;
border-color: #E1DFDD;
}
QPushButton:disabled {
background-color: #F9F9F9;
color: #A19F9D;
border-color: #E1DFDD;
}
QPushButton:default {
background-color: #0078D4;
border-color: #0078D4;
color: #FFFFFF;
}
QPushButton:default:hover {
background-color: #106EBE;
border-color: #106EBE;
}
QPushButton:default:pressed {
background-color: #005A9E;
border-color: #005A9E;
}
/* === QLineEdit === */
QLineEdit {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
padding: 6px 8px;
selection-background-color: #0078D4;
}
QLineEdit:hover {
border-color: #D1CFCD;
}
QLineEdit:focus {
background-color: #FFFFFF;
border: 2px solid #0078D4;
padding: 5px 7px;
}
QLineEdit:disabled {
background-color: #F9F9F9;
color: #A19F9D;
border-color: #E1DFDD;
}
QLineEdit[readOnly="true"] {
background-color: #F9F9F9;
color: #605E5C;
}
/* === QTextEdit & QPlainTextEdit === */
QTextEdit, QPlainTextEdit {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
padding: 8px;
selection-background-color: #0078D4;
}
QTextEdit:hover, QPlainTextEdit:hover {
border-color: #D1CFCD;
}
QTextEdit:focus, QPlainTextEdit:focus {
border: 2px solid #0078D4;
padding: 7px;
}
QTextEdit:disabled, QPlainTextEdit:disabled {
background-color: #F9F9F9;
color: #A19F9D;
}
/* === QComboBox === */
QComboBox {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
padding: 6px 8px;
min-height: 20px;
}
QComboBox:hover {
background-color: #F9F9F9;
border-color: #D1CFCD;
}
QComboBox:focus {
border: 2px solid #0078D4;
}
QComboBox:disabled {
background-color: #F9F9F9;
color: #A19F9D;
}
QComboBox::drop-down {
border: none;
width: 20px;
}
QComboBox::down-arrow {
image: url(:/icons/down-arrow-light.png);
width: 12px;
height: 12px;
}
QComboBox QAbstractItemView {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
selection-background-color: #0078D4;
selection-color: #FFFFFF;
outline: none;
}
QComboBox QAbstractItemView::item {
min-height: 28px;
padding-left: 8px;
}
QComboBox QAbstractItemView::item:hover {
background-color: #F9F9F9;
}
/* === QSpinBox & QDoubleSpinBox === */
QSpinBox, QDoubleSpinBox {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
padding: 6px 8px;
min-height: 20px;
}
QSpinBox:hover, QDoubleSpinBox:hover {
border-color: #D1CFCD;
}
QSpinBox:focus, QDoubleSpinBox:focus {
border: 2px solid #0078D4;
}
QSpinBox:disabled, QDoubleSpinBox:disabled {
background-color: #F9F9F9;
color: #A19F9D;
}
QSpinBox::up-button, QDoubleSpinBox::up-button {
background-color: transparent;
border: none;
width: 16px;
}
QSpinBox::up-button:hover, QDoubleSpinBox::up-button:hover {
background-color: #F0F0F0;
}
QSpinBox::down-button, QDoubleSpinBox::down-button {
background-color: transparent;
border: none;
width: 16px;
}
QSpinBox::down-button:hover, QDoubleSpinBox::down-button:hover {
background-color: #F0F0F0;
}
/* === QCheckBox === */
QCheckBox {
spacing: 8px;
color: #000000;
}
QCheckBox::indicator {
width: 18px;
height: 18px;
border-radius: 4px;
border: 1px solid #8A8886;
background-color: #FFFFFF;
}
QCheckBox::indicator:hover {
background-color: #F9F9F9;
border-color: #605E5C;
}
QCheckBox::indicator:checked {
background-color: #0078D4;
border-color: #0078D4;
image: url(:/icons/checkmark-white.png);
}
QCheckBox::indicator:checked:hover {
background-color: #106EBE;
border-color: #106EBE;
}
QCheckBox::indicator:disabled {
background-color: #F9F9F9;
border-color: #E1DFDD;
}
QCheckBox:disabled {
color: #A19F9D;
}
/* === QRadioButton === */
QRadioButton {
spacing: 8px;
color: #000000;
}
QRadioButton::indicator {
width: 18px;
height: 18px;
border-radius: 9px;
border: 1px solid #8A8886;
background-color: #FFFFFF;
}
QRadioButton::indicator:hover {
background-color: #F9F9F9;
border-color: #605E5C;
}
QRadioButton::indicator:checked {
background-color: #0078D4;
border-color: #0078D4;
}
QRadioButton::indicator:checked:hover {
background-color: #106EBE;
border-color: #106EBE;
}
QRadioButton::indicator:checked::after {
width: 8px;
height: 8px;
border-radius: 4px;
background-color: #FFFFFF;
}
QRadioButton::indicator:disabled {
background-color: #F9F9F9;
border-color: #E1DFDD;
}
QRadioButton:disabled {
color: #A19F9D;
}
/* === QSlider === */
QSlider::groove:horizontal {
height: 4px;
background-color: #E1DFDD;
border-radius: 2px;
}
QSlider::handle:horizontal {
background-color: #FFFFFF;
border: 2px solid #0078D4;
width: 16px;
height: 16px;
margin: -7px 0;
border-radius: 8px;
}
QSlider::handle:horizontal:hover {
background-color: #FFFFFF;
border: 2px solid #106EBE;
}
QSlider::handle:horizontal:pressed {
background-color: #F0F0F0;
}
QSlider::sub-page:horizontal {
background-color: #0078D4;
border-radius: 2px;
}
QSlider::groove:vertical {
width: 4px;
background-color: #E1DFDD;
border-radius: 2px;
}
QSlider::handle:vertical {
background-color: #FFFFFF;
border: 2px solid #0078D4;
width: 16px;
height: 16px;
margin: 0 -7px;
border-radius: 8px;
}
QSlider::sub-page:vertical {
background-color: #0078D4;
border-radius: 2px;
}
/* === QProgressBar === */
QProgressBar {
background-color: #E1DFDD;
border: none;
border-radius: 2px;
height: 4px;
text-align: center;
color: transparent;
}
QProgressBar::chunk {
background-color: #0078D4;
border-radius: 2px;
}
QProgressBar:disabled {
background-color: #E1DFDD;
}
/* === QScrollBar === */
QScrollBar:horizontal {
background-color: transparent;
height: 12px;
margin: 0;
}
QScrollBar::handle:horizontal {
background-color: #C8C6C4;
min-width: 40px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:horizontal:hover {
background-color: #A19F9D;
}
QScrollBar::handle:horizontal:pressed {
background-color: #8A8886;
}
QScrollBar::add-line:horizontal,
QScrollBar::sub-line:horizontal {
width: 0px;
}
QScrollBar::add-page:horizontal,
QScrollBar::sub-page:horizontal {
background: none;
}
QScrollBar:vertical {
background-color: transparent;
width: 12px;
margin: 0;
}
QScrollBar::handle:vertical {
background-color: #C8C6C4;
min-height: 40px;
border-radius: 6px;
margin: 2px;
}
QScrollBar::handle:vertical:hover {
background-color: #A19F9D;
}
QScrollBar::handle:vertical:pressed {
background-color: #8A8886;
}
QScrollBar::add-line:vertical,
QScrollBar::sub-line:vertical {
height: 0px;
}
QScrollBar::add-page:vertical,
QScrollBar::sub-page:vertical {
background: none;
}
/* === QTabWidget === */
QTabWidget::pane {
background-color: #FFFFFF;
border: 1px solid #E1DFDD;
border-radius: 4px;
top: -1px;
}
QTabBar::tab {
background-color: transparent;
color: #605E5C;
border: none;
border-bottom: 2px solid transparent;
padding: 8px 16px;
margin-right: 4px;
}
QTabBar::tab:hover {
color: #000000;
background-color: #F9F9F9;
border-bottom: 2px solid #C8C6C4;
}
QTabBar::tab:selected {
color: #000000;
background-color: #FFFFFF;
border-bottom: 2px solid #0078D4;
}
QTabBar::tab:disabled {
color: #A19F9D;
}
/* === QGroupBox === */
QGroupBox {
background-color: #FFFFFF;
border: 1px solid #E1DFDD;
border-radius: 6px;
margin-top: 12px;
padding-top: 12px;
font-weight: 600;
}
QGroupBox::title {
subcontrol-origin: margin;
subcontrol-position: top left;
padding: 0 8px;
color: #000000;
background-color: #FFFFFF;
}
/* === QLabel === */
QLabel {
background-color: transparent;
color: #000000;
}
QLabel:disabled {
color: #A19F9D;
}
/* === QToolButton === */
QToolButton {
background-color: transparent;
color: #000000;
border: none;
border-radius: 4px;
padding: 6px;
}
QToolButton:hover {
background-color: #F9F9F9;
}
QToolButton:pressed {
background-color: #F0F0F0;
}
QToolButton:checked {
background-color: #0078D4;
color: #FFFFFF;
}
QToolButton:disabled {
color: #A19F9D;
}
/* === QMenu === */
QMenu {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
padding: 4px;
}
QMenu::item {
background-color: transparent;
padding: 6px 24px 6px 8px;
border-radius: 4px;
}
QMenu::item:selected {
background-color: #F9F9F9;
}
QMenu::item:disabled {
color: #A19F9D;
}
QMenu::separator {
height: 1px;
background-color: #E1DFDD;
margin: 4px 0;
}
QMenu::icon {
padding-left: 8px;
}
/* === QMenuBar === */
QMenuBar {
background-color: #FFFFFF;
color: #000000;
border-bottom: 1px solid #E1DFDD;
}
QMenuBar::item {
background-color: transparent;
padding: 6px 12px;
border-radius: 4px;
}
QMenuBar::item:selected {
background-color: #F9F9F9;
}
QMenuBar::item:pressed {
background-color: #F0F0F0;
}
/* === QToolBar === */
QToolBar {
background-color: #FFFFFF;
border: none;
border-bottom: 1px solid #E1DFDD;
spacing: 4px;
padding: 4px;
}
QToolBar::handle {
background-color: #E1DFDD;
width: 1px;
height: 1px;
margin: 4px;
}
QToolBar::separator {
background-color: #E1DFDD;
width: 1px;
height: 1px;
margin: 4px;
}
/* === QStatusBar === */
QStatusBar {
background-color: #FFFFFF;
color: #605E5C;
border-top: 1px solid #E1DFDD;
}
QStatusBar::item {
border: none;
}
/* === QDockWidget === */
QDockWidget {
background-color: #FFFFFF;
color: #000000;
titlebar-close-icon: url(:/icons/close-light.png);
titlebar-normal-icon: url(:/icons/float-light.png);
}
QDockWidget::title {
background-color: #FFFFFF;
border: 1px solid #E1DFDD;
padding: 6px;
text-align: left;
}
QDockWidget::close-button,
QDockWidget::float-button {
background-color: transparent;
border: none;
padding: 4px;
}
QDockWidget::close-button:hover,
QDockWidget::float-button:hover {
background-color: #F9F9F9;
border-radius: 4px;
}
/* === QListView & QListWidget === */
QListView, QListWidget {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
outline: none;
}
QListView::item, QListWidget::item {
padding: 6px;
border-radius: 4px;
}
QListView::item:hover, QListWidget::item:hover {
background-color: #F9F9F9;
}
QListView::item:selected, QListWidget::item:selected {
background-color: #0078D4;
color: #FFFFFF;
}
QListView::item:disabled, QListWidget::item:disabled {
color: #A19F9D;
}
/* === QTreeView & QTreeWidget === */
QTreeView, QTreeWidget {
background-color: #FFFFFF;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
outline: none;
show-decoration-selected: 1;
}
QTreeView::item, QTreeWidget::item {
padding: 4px;
border-radius: 4px;
}
QTreeView::item:hover, QTreeWidget::item:hover {
background-color: #F9F9F9;
}
QTreeView::item:selected, QTreeWidget::item:selected {
background-color: #0078D4;
color: #FFFFFF;
}
QTreeView::branch, QTreeWidget::branch {
background-color: transparent;
}
QTreeView::branch:closed:has-children, QTreeWidget::branch:closed:has-children {
image: url(:/icons/branch-closed-light.png);
}
QTreeView::branch:open:has-children, QTreeWidget::branch:open:has-children {
image: url(:/icons/branch-open-light.png);
}
/* === QTableView & QTableWidget === */
QTableView, QTableWidget {
background-color: #FFFFFF;
color: #000000;
gridline-color: #E1DFDD;
border: 1px solid #E1DFDD;
border-radius: 4px;
selection-background-color: #0078D4;
}
QTableView::item, QTableWidget::item {
padding: 4px;
}
QTableView::item:hover, QTableWidget::item:hover {
background-color: #F9F9F9;
}
QTableView::item:selected, QTableWidget::item:selected {
background-color: #0078D4;
color: #FFFFFF;
}
QHeaderView::section {
background-color: #FFFFFF;
color: #000000;
padding: 6px;
border: none;
border-right: 1px solid #E1DFDD;
border-bottom: 1px solid #E1DFDD;
font-weight: 600;
}
QHeaderView::section:hover {
background-color: #F9F9F9;
}
/* === QDialog === */
QDialog {
background-color: #FFFFFF;
}
/* === QMessageBox === */
QMessageBox {
background-color: #FFFFFF;
}
QMessageBox QLabel {
color: #000000;
}
/* === QToolTip === */
QToolTip {
background-color: #F9F9F9;
color: #000000;
border: 1px solid #E1DFDD;
border-radius: 4px;
padding: 4px 8px;
}
/* === QCalendarWidget === */
QCalendarWidget {
background-color: #FFFFFF;
}
QCalendarWidget QToolButton {
color: #000000;
background-color: transparent;
border: none;
border-radius: 4px;
padding: 4px;
}
QCalendarWidget QToolButton:hover {
background-color: #F9F9F9;
}
QCalendarWidget QMenu {
background-color: #FFFFFF;
}
QCalendarWidget QSpinBox {
background-color: #FFFFFF;
color: #000000;
selection-background-color: #0078D4;
}
QCalendarWidget QAbstractItemView {
background-color: #FFFFFF;
color: #000000;
selection-background-color: #0078D4;
selection-color: #FFFFFF;
}
/* === QSplitter === */
QSplitter::handle {
background-color: #E1DFDD;
}
QSplitter::handle:hover {
background-color: #0078D4;
}
QSplitter::handle:horizontal {
width: 1px;
}
QSplitter::handle:vertical {
height: 1px;
}
/* === Custom Classes === */
.accent-button {
background-color: #0078D4;
color: #FFFFFF;
border: none;
}
.accent-button:hover {
background-color: #106EBE;
}
.accent-button:pressed {
background-color: #005A9E;
}
.danger-button {
background-color: #C42B1C;
color: #FFFFFF;
border: none;
}
.danger-button:hover {
background-color: #A52314;
}
.success-button {
background-color: #107C10;
color: #FFFFFF;
border: none;
}
.success-button:hover {
background-color: #0E6B0E;
}
.card {
background-color: #FFFFFF;
border: 1px solid #E1DFDD;
border-radius: 8px;
padding: 16px;
}
.surface {
background-color: #FFFFFF;
border: 1px solid #E1DFDD;
}
.divider {
background-color: #E1DFDD;
min-height: 1px;
max-height: 1px;
}
.secondary-text {
color: #605E5C;
}
.disabled-text {
color: #A19F9D;
}

View File

@@ -1 +1 @@
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.25 4a.75.75 0 0 1 .743.648L9 4.75v2.773l1.874 2.815a.75.75 0 0 1 .117.306l.009.11v4.496a.75.75 0 0 1-.649.743L10.25 16H8.996v3.254a.75.75 0 0 1-1.492.101l-.007-.101L7.496 16 5.5 15.999v3.258a.75.75 0 0 1-1.493.101l-.006-.101L4 15.999 2.75 16a.75.75 0 0 1-.742-.648l-.007-.102v-4.496a.75.75 0 0 1 .071-.32l.055-.096 1.874-2.815V4.75a.75.75 0 0 1 1.493-.102l.007.102v3a.75.75 0 0 1-.072.32l-.054.096-1.874 2.815V14.5H9.5v-3.52L7.625 8.167a.75.75 0 0 1-.117-.306L7.5 7.75v-3A.75.75 0 0 1 8.25 4Zm7.004.001h4.496a.75.75 0 0 1 .743.649l.007.101L20.499 8h.75a.75.75 0 0 1 .744.648L22 8.75v4.496c0 .111-.025.22-.072.32l-.054.096L20 16.477v2.773a.75.75 0 0 1-1.494.102l-.006-.102v-3c0-.11.024-.22.071-.32l.054-.096L20.5 13.02V9.5h-5.998v3.52l1.874 2.814a.749.749 0 0 1 .118.306l.008.11v3a.75.75 0 0 1-1.493.102l-.007-.102v-2.773l-1.874-2.815a.75.75 0 0 1-.118-.306l-.008-.11V8.75a.75.75 0 0 1 .648-.743L13.752 8h.752V4.751a.75.75 0 0 1 .649-.743l.101-.007h4.496-4.496ZM19 5.501h-2.996V8h2.995V5.501Z" fill="#000000"/></svg> <svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.25 4a.75.75 0 0 1 .743.648L9 4.75v2.773l1.874 2.815a.75.75 0 0 1 .117.306l.009.11v4.496a.75.75 0 0 1-.649.743L10.25 16H8.996v3.254a.75.75 0 0 1-1.492.101l-.007-.101L7.496 16 5.5 15.999v3.258a.75.75 0 0 1-1.493.101l-.006-.101L4 15.999 2.75 16a.75.75 0 0 1-.742-.648l-.007-.102v-4.496a.75.75 0 0 1 .071-.32l.055-.096 1.874-2.815V4.75a.75.75 0 0 1 1.493-.102l.007.102v3a.75.75 0 0 1-.072.32l-.054.096-1.874 2.815V14.5H9.5v-3.52L7.625 8.167a.75.75 0 0 1-.117-.306L7.5 7.75v-3A.75.75 0 0 1 8.25 4Zm7.004.001h4.496a.75.75 0 0 1 .743.649l.007.101L20.499 8h.75a.75.75 0 0 1 .744.648L22 8.75v4.496c0 .111-.025.22-.072.32l-.054.096L20 16.477v2.773a.75.75 0 0 1-1.494.102l-.006-.102v-3c0-.11.024-.22.071-.32l.054-.096L20.5 13.02V9.5h-5.998v3.52l1.874 2.814a.749.749 0 0 1 .118.306l.008.11v3a.75.75 0 0 1-1.493.102l-.007-.102v-2.773l-1.874-2.815a.75.75 0 0 1-.118-.306l-.008-.11V8.75a.75.75 0 0 1 .648-.743L13.752 8h.752V4.751a.75.75 0 0 1 .649-.743l.101-.007h4.496-4.496ZM19 5.501h-2.996V8h2.995V5.501Z" fill="#888888"/></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1 +0,0 @@
<svg width="48" height="48" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.25 4a.75.75 0 0 1 .743.648L9 4.75v2.773l1.874 2.815a.75.75 0 0 1 .117.306l.009.11v4.496a.75.75 0 0 1-.649.743L10.25 16H8.996v3.254a.75.75 0 0 1-1.492.101l-.007-.101L7.496 16 5.5 15.999v3.258a.75.75 0 0 1-1.493.101l-.006-.101L4 15.999 2.75 16a.75.75 0 0 1-.742-.648l-.007-.102v-4.496a.75.75 0 0 1 .071-.32l.055-.096 1.874-2.815V4.75a.75.75 0 0 1 1.493-.102l.007.102v3a.75.75 0 0 1-.072.32l-.054.096-1.874 2.815V14.5H9.5v-3.52L7.625 8.167a.75.75 0 0 1-.117-.306L7.5 7.75v-3A.75.75 0 0 1 8.25 4Zm7.004.001h4.496a.75.75 0 0 1 .743.649l.007.101L20.499 8h.75a.75.75 0 0 1 .744.648L22 8.75v4.496c0 .111-.025.22-.072.32l-.054.096L20 16.477v2.773a.75.75 0 0 1-1.494.102l-.006-.102v-3c0-.11.024-.22.071-.32l.054-.096L20.5 13.02V9.5h-5.998v3.52l1.874 2.814a.749.749 0 0 1 .118.306l.008.11v3a.75.75 0 0 1-1.493.102l-.007-.102v-2.773l-1.874-2.815a.75.75 0 0 1-.118-.306l-.008-.11V8.75a.75.75 0 0 1 .648-.743L13.752 8h.752V4.751a.75.75 0 0 1 .649-.743l.101-.007h4.496-4.496ZM19 5.501h-2.996V8h2.995V5.501Z" fill="#DDE6E8"/></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB