diff --git a/bcanimateddelegate.cpp b/bcanimateddelegate.cpp index 11028ce..b04aa8a 100644 --- a/bcanimateddelegate.cpp +++ b/bcanimateddelegate.cpp @@ -210,14 +210,10 @@ void BCAnimatedDelegate::paint(QPainter *painter, const QStyleOptionViewItem& op */ int row = index.row(); - if (index.column() == 1 ) { - qDebug() << " --- is highlight: " << row << " : " << index.column(); - //if( m_rowOpacities.contains(row)) - { - qDebug() << " --- PAINT highlight:"; - //if ( m_rowOpacities.contains(row)) + if( m_rowOpacities.contains(row)) + { paintHighlightRow(painter,option,index); } } @@ -247,7 +243,7 @@ void BCAnimatedDelegate::paintHighlightRow(QPainter* painter, const QStyleOption QRect itemRect = option.rect.adjusted(3, 3, -3, -3); // Border von 2px berücksichtigen (nach innen) - QRect contentRect = itemRect.adjusted(2, 2, -2, -2); + //QRect contentRect = itemRect.adjusted(2, 2, -2, -2); // painter->fillRect(contentRect,Qt::green); /* // Hintergrund (weiß) diff --git a/bcmainwindow.ui b/bcmainwindow.ui index 963478b..f7d5685 100644 --- a/bcmainwindow.ui +++ b/bcmainwindow.ui @@ -29,13 +29,13 @@ - + - background-color: grey; + - + @@ -53,6 +53,9 @@ 64 + + true + @@ -72,6 +75,9 @@ 64 + + true + @@ -91,6 +97,9 @@ 64 + + true + @@ -110,6 +119,9 @@ 48 + + true + @@ -160,9 +172,18 @@ 0 - 3 + 1 + + QFrame::Shape::NoFrame + + + QFrame::Shadow::Plain + + + 0 + false @@ -174,6 +195,15 @@ + + QFrame::Shape::NoFrame + + + QFrame::Shadow::Plain + + + 0 + false @@ -185,6 +215,15 @@ + + QFrame::Shape::NoFrame + + + QFrame::Shadow::Plain + + + 0 + false @@ -196,6 +235,15 @@ + + QFrame::Shape::NoFrame + + + QFrame::Shadow::Plain + + + 0 + false diff --git a/main.cpp b/main.cpp index cd84964..b1b987a 100644 --- a/main.cpp +++ b/main.cpp @@ -31,27 +31,10 @@ #include -#include #include -#include -#include - -// main.cpp -#include -#include #include #include -#include -#include - -#include -#include - - - - -#include bool setApplicationStyleSheet( QAnyStringView path ) { @@ -63,98 +46,14 @@ bool setApplicationStyleSheet( QAnyStringView path ) styleFile.close(); return true; } - qWarning() << "Konnte Stylesheet nicht laden:" << styleFile.errorString(); return true; } - -struct moo -{ - QString moo_str {"irgendwas"}; -}; - -// Verschiedene Datentypen für die Sensoren -struct Temperature : public moo{ float celsius; }; -struct CpuLoad : public moo{ int percentage; }; -struct Status : public moo{ std::string message; }; - -// Die Variant als universeller Datencontainer -using SensorReadingPtr = std::variant; - - - -struct UIUpdateVisitor -{ - QLabel* tempLabel; - QProgressBar* cpuBar; - QLabel* statusLabel; - - // Überladene operator() für jeden Typ in der Variant - double operator()(Temperature* t) const - { - //tempLabel->setText(QString("Temp: %1°C").arg(t.celsius, 0, 'f', 1)); - //tempLabel->setStyleSheet(t.celsius > 40 ? "color: red;" : "color: black;"); - return -1; - } - - double operator()(CpuLoad* c) const - { - cpuBar->setValue(c->percentage); - qDebug() << c->moo_str; - return -42.0; - } - - double operator()(const Status* s) const - { - //statusLabel->setText(QString::fromStdString(s.message)); - return -1; - } -}; - -void onNewDataReceived(const SensorReadingPtr& data) -{ - QLabel* labelTemp = nullptr; - QProgressBar* progressCpu = nullptr; - QLabel* labelStatus = nullptr; - - // Wir erstellen den Visitor mit Referenzen auf unsere UI-Elemente - UIUpdateVisitor visitor { labelTemp, progressCpu, labelStatus }; - - // Die Magie: std::visit wählt zur Kompilierzeit die richtige Methode - double result = std::visit(visitor, data); - Q_UNUSED(result) - - - Temperature myTemp{}; - SensorReadingPtr xxx{&myTemp}; - double result2 = std::visit(visitor, SensorReadingPtr{&myTemp} ); -} - -struct mookoo -{ - QString a="firz"; - int b=2; - double c=1.0; - QString hidden{"Fatz!"}; -}; - -struct mookoo2 : public mookoo -{ - int another; -}; - int main(int argc, char *argv[]) { QApplication app(argc, argv); - //setApplicationStyleSheet( ":/bionxcontrol.qss"_L1 ); - - - mookoo myMookoo{"",1,1.0}; - mookoo myMooko2{"",1}; - mookoo2* myMooko3 = new mookoo2{{"superfitze",1},8}; - - qDebug() << " --- haha: " << myMooko3->a << ": " << myMooko3->hidden; + setApplicationStyleSheet( ":/bionxcontrol.qss"_L1 ); BCMainWindow w; w.show(); diff --git a/resources/bionxcontrol.qss b/resources/bionxcontrol.qss index 4d8b3cf..490dfd4 100644 --- a/resources/bionxcontrol.qss +++ b/resources/bionxcontrol.qss @@ -6,17 +6,13 @@ QWidget font-size: 14px; font-family: Segoe UI, sans-serif; } - +/* QMainWindow { background-color: #272727; } +*/ -QSplitter -{ -color: red; - background-color: #272727; -} /* Spezifisches Styling für Buttons */ QPushButton { @@ -72,14 +68,8 @@ QToolButton:disabled { background-color: transparent; } -/* Styling anhand von Objektnamen (ID) */ -#loginButton -{ - font-weight: bold; - background-color: green; -} - -QListView +/* +QTableView { background-color: #404142; border-radius: 8px; @@ -87,7 +77,7 @@ QListView show-decoration-selected: 0; } -QListView::item +QTableView::item { border: 2px solid #2196F3; border-radius: 8px; @@ -95,26 +85,28 @@ QListView::item margin: 4px; background-color: white; } +*/ -QListView::item:hover +QTableView::item:hover { border-color: #FF9800; background-color: #fff8f0; } -QListView::item:selected +QTableView::item:selected { border-color: #F44336; /* Roter Rahmen */ background-color: #ffebee; } -QListView::item:selected:hover +QTableView::item:selected:hover { border-color: #FF9800; background-color: #ffe0b2; } +*/ -QListView::item:focus +QTableView::item:focus { /* // outline: none; Entfernt das Focus-Rectangle