diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index b6ddf518f..7b7f1af69 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -1,8 +1,10 @@ #include "diveplanner.h" #include "graphicsview-common.h" +#include "models.h" #include "../dive.h" #include "../divelist.h" + #include #include #include @@ -16,7 +18,7 @@ #include #include #include - +#include #include "ui_diveplanner.h" #include "mainwindow.h" @@ -833,8 +835,46 @@ DivePlannerWidget::DivePlannerWidget(QWidget* parent, Qt::WindowFlags f): QWidge connect(ui->lowGF, SIGNAL(textChanged(QString)), this, SLOT(gflowChanged(QString))); connect(ui->highGF, SIGNAL(textChanged(QString)), this, SLOT(gfhighChanged(QString))); connect(ui->lastStop, SIGNAL(toggled(bool)), this, SLOT(lastStopChanged(bool))); + + QFile cssFile(":table-css"); + cssFile.open(QIODevice::ReadOnly); + QTextStream reader(&cssFile); + QString css = reader.readAll(); + + ui->tablePoints->setStyleSheet(css); + QFontMetrics metrics(defaultModelFont()); + + ui->tablePoints->horizontalHeader()->setResizeMode(DivePlannerPointsModel::REMOVE, QHeaderView::Fixed); + ui->tablePoints->verticalHeader()->setDefaultSectionSize( metrics.height() +8 ); + initialUiSetup(); } +void DivePlannerWidget::hideEvent(QHideEvent* event) +{ + QSettings s; + s.beginGroup("DivePlanner"); + s.beginGroup("PointTables"); + for (int i = 0; i < CylindersModel::COLUMNS; i++) { + s.setValue(QString("colwidth%1").arg(i), ui->tablePoints->columnWidth(i)); + } + s.endGroup(); + s.sync(); +} + +void DivePlannerWidget::initialUiSetup() +{ + QSettings s; + s.beginGroup("DivePlanner"); + s.beginGroup("PointTables"); + for (int i = 0; i < CylindersModel::COLUMNS; i++) { + QVariant width = s.value(QString("colwidth%1").arg(i)); + if (width.isValid()) + ui->tablePoints->setColumnWidth(i, width.toInt()); + else + ui->tablePoints->resizeColumnToContents(i); + } + s.endGroup(); +} void DivePlannerWidget::startTimeChanged(const QTime& time) { plannerModel->setStartTime(time); diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h index 3cb3c7014..719aca853 100644 --- a/qt-ui/diveplanner.h +++ b/qt-ui/diveplanner.h @@ -183,6 +183,7 @@ private: class DivePlannerWidget : public QWidget { Q_OBJECT + void initialUiSetup(); public: explicit DivePlannerWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); @@ -194,7 +195,8 @@ public slots: void gflowChanged(const QString& gflow); void gfhighChanged(const QString& gfhigh); void lastStopChanged(bool checked); - +protected: + virtual void hideEvent(QHideEvent* ); private: Ui::DivePlanner *ui; }; diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 13709ba23..8a0e2f93c 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -18,6 +18,8 @@ #include #include #include +#include +#include #include MainTab::MainTab(QWidget *parent) : QTabWidget(parent), @@ -85,7 +87,6 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent), connect(ui->weights, SIGNAL(clicked(QModelIndex)), this, SLOT(editWeigthWidget(QModelIndex))); QFontMetrics metrics(defaultModelFont()); - QFontMetrics metrics2(font()); ui->cylinders->horizontalHeader()->setResizeMode(CylindersModel::REMOVE, QHeaderView::Fixed); ui->cylinders->verticalHeader()->setDefaultSectionSize( metrics.height() +8 ); @@ -106,6 +107,13 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent), ui->location->setCompleter(completers.location); ui->suit->setCompleter(completers.suit); + QFile cssFile(":table-css"); + cssFile.open(QIODevice::ReadOnly); + QTextStream reader(&cssFile); + QString css = reader.readAll(); + + ui->cylinders->setStyleSheet(css); + ui->weights->setStyleSheet(css); initialUiSetup(); } diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui index cdddc4cf9..ba3f6a73d 100644 --- a/qt-ui/maintab.ui +++ b/qt-ui/maintab.ui @@ -14,7 +14,7 @@ TabWidget - 0 + 1 @@ -159,35 +159,7 @@ - QTableView { - show-decoration-selected: 1; - } - - QTableView::item { - border: 1px solid #d9d9d9; - border-top-color: transparent; - border-bottom-color: transparent; - padding: 2px; - } - - QTableView::item:hover { - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #e7effd, stop: 1 #cbdaf1); - border: 1px solid #bfcde4; - } - - QTableView::item:selected { - border: 1px solid #567dbc; - } - - QTableView::item:selected:active{ - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc); - } - - QTableView::item:selected:!active { - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6b9be8, stop: 1 #577fbf); - } - - + true @@ -210,35 +182,7 @@ - QTableView { - show-decoration-selected: 1; - } - - QTableView::item { - border: 1px solid #d9d9d9; - border-top-color: transparent; - border-bottom-color: transparent; - padding: 2px; - } - - QTableView::item:hover { - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #e7effd, stop: 1 #cbdaf1); - border: 1px solid #bfcde4; - } - - QTableView::item:selected { - border: 1px solid #567dbc; - } - - QTableView::item:selected:active{ - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc); - } - - QTableView::item:selected:!active { - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6b9be8, stop: 1 #577fbf); - } - - + false diff --git a/subsurface.qrc b/subsurface.qrc index e94505cea..cf7864b27 100644 --- a/subsurface.qrc +++ b/subsurface.qrc @@ -10,5 +10,6 @@ icons/minimum.svg icons/maximum.svg icons/average.svg + qt-ui/css/tableviews.css