diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-05-02 19:27:36 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-05-02 16:56:13 -0700 |
commit | 82b1b04920fdd5882e0cbf28c9871c2ddd404af8 (patch) | |
tree | 964af6d2961b8fb2dc05ee68aeeea7d79fe53150 | |
parent | f9c97ff97d072d6a4cb934a50427dc69382281e0 (diff) | |
download | subsurface-82b1b04920fdd5882e0cbf28c9871c2ddd404af8.tar.gz |
Test the CSS for styling the TableView
This is a test and I shouldn't be taken seriously.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/divelistview.cpp | 2 | ||||
-rw-r--r-- | qt-ui/mainwindow.ui | 79 | ||||
-rw-r--r-- | qt-ui/modeldelegates.cpp | 14 | ||||
-rw-r--r-- | qt-ui/modeldelegates.h | 7 | ||||
-rw-r--r-- | qt-ui/models.cpp | 5 |
5 files changed, 99 insertions, 8 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index 45b6cf4d7..0bf0b35ba 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -7,6 +7,8 @@ #include "divelistview.h" #include "models.h" #include "modeldelegates.h" +#include <QApplication> +#include <QHeaderView> DiveListView::DiveListView(QWidget *parent) : QTreeView(parent) { diff --git a/qt-ui/mainwindow.ui b/qt-ui/mainwindow.ui index 073476918..1d31f1cd3 100644 --- a/qt-ui/mainwindow.ui +++ b/qt-ui/mainwindow.ui @@ -28,9 +28,86 @@ <widget class="QGraphicsView" name="ProfileWidget"/> </widget> <widget class="DiveListView" name="ListWidget"> + <property name="styleSheet"> + <string notr="true"> QTreeView { + show-decoration-selected: 1; + } + + QTreeView::item { + border: 1px solid #d9d9d9; + border-top-color: transparent; + border-bottom-color: transparent; + padding: 2px; + } + + QTreeView::item:hover { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #e7effd, stop: 1 #cbdaf1); + border: 1px solid #bfcde4; + } + + QTreeView::item:selected { + border: 1px solid #567dbc; + } + + QTreeView::item:selected:active{ + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc); + } + + QTreeView::item:selected:!active { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6b9be8, stop: 1 #577fbf); + } + + +/* + QTreeView::branch { + background: palette(base); + } + + QTreeView::branch:has-siblings:!adjoins-item { + background: cyan; + } + + QTreeView::branch:has-siblings:adjoins-item { + background: red; + } + + QTreeView::branch:!has-children:!has-siblings:adjoins-item { + background: blue; + } + + QTreeView::branch:closed:has-children:has-siblings { + background: pink; + } + + QTreeView::branch:has-children:!has-siblings:closed { + background: gray; + } + + QTreeView::branch:open:has-children:has-siblings { + background: magenta; + } + + QTreeView::branch:open:has-children:!has-siblings { + background: green; + } +*/ +</string> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="rootIsDecorated"> + <bool>true</bool> + </property> <property name="sortingEnabled"> <bool>true</bool> </property> + <property name="animated"> + <bool>true</bool> + </property> + <property name="allColumnsShowFocus"> + <bool>true</bool> + </property> </widget> </widget> </item> @@ -42,7 +119,7 @@ <x>0</x> <y>0</y> <width>763</width> - <height>20</height> + <height>19</height> </rect> </property> <widget class="QMenu" name="menuFile"> diff --git a/qt-ui/modeldelegates.cpp b/qt-ui/modeldelegates.cpp index 87629bd1b..0b3231583 100644 --- a/qt-ui/modeldelegates.cpp +++ b/qt-ui/modeldelegates.cpp @@ -7,9 +7,21 @@ #include <QtDebug> #include <QPainter> #include <QSortFilterProxyModel> +#include <QColor> +#include <QBrush> +#include <QStyle> +#include <QStyleOption> + +StarWidgetsDelegate::StarWidgetsDelegate(QWidget* parent): + QStyledItemDelegate(parent), + parentWidget(parent) +{ + +} void StarWidgetsDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { + QStyledItemDelegate::paint(painter, option, index); if (!index.isValid()) return; @@ -20,8 +32,6 @@ void StarWidgetsDelegate::paint(QPainter* painter, const QStyleOptionViewItem& o int rating = value.toInt(); - if(option.state & QStyle::State_Selected) - painter->fillRect(option.rect, option.palette.highlight()); painter->save(); painter->setRenderHint(QPainter::Antialiasing, true); diff --git a/qt-ui/modeldelegates.h b/qt-ui/modeldelegates.h index eacbb5a1e..5f90a3061 100644 --- a/qt-ui/modeldelegates.h +++ b/qt-ui/modeldelegates.h @@ -1,12 +1,15 @@ #ifndef MODELDELEGATES_H #define MODELDELEGATES_H -#include <QAbstractItemDelegate> +#include <QStyledItemDelegate> -class StarWidgetsDelegate : public QAbstractItemDelegate { +class StarWidgetsDelegate : public QStyledItemDelegate { Q_OBJECT public: + explicit StarWidgetsDelegate(QWidget* parent = 0); virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const; virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const; +private: + QWidget *parentWidget; }; #endif diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp index 68f575ec8..061ffe418 100644 --- a/qt-ui/models.cpp +++ b/qt-ui/models.cpp @@ -7,6 +7,8 @@ #include "models.h" #include <QCoreApplication> #include <QDebug> +#include <QColor> +#include <QBrush> extern struct tank_info tank_info[100]; @@ -598,9 +600,6 @@ QVariant DiveTripModel::data(const QModelIndex& index, int role) const if (!index.isValid()) return QVariant(); - if (role != Qt::DisplayRole) - return QVariant(); - TreeItemDT* item = static_cast<TreeItemDT*>(index.internalPointer()); return item->data(index.column(), role); |