mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Made the TableViews share a bit of code, code cleanup.
Made the tableviews share a bit of code, and code cleanup. The tableviews for Cylinders, Weigth and Dive Planner Points now shares the CSS and I also implemented the save / load methods for the dive planner points, so the functionality is mostly done on the vieualization side. - since we are now using three tables maybe it's a better idea to create one class SubSurfaceTable that knows how to handle saving / loading of the columns... TODO for the future. ;) Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
cfd17116eb
commit
bb59202812
5 changed files with 57 additions and 62 deletions
|
@ -1,8 +1,10 @@
|
|||
#include "diveplanner.h"
|
||||
#include "graphicsview-common.h"
|
||||
#include "models.h"
|
||||
|
||||
#include "../dive.h"
|
||||
#include "../divelist.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <QMouseEvent>
|
||||
#include <QDebug>
|
||||
|
@ -16,7 +18,7 @@
|
|||
#include <QListView>
|
||||
#include <QDesktopWidget>
|
||||
#include <QModelIndex>
|
||||
|
||||
#include <QSettings>
|
||||
#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);
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include <QCompleter>
|
||||
#include <QDebug>
|
||||
#include <QSet>
|
||||
#include <QTextStream>
|
||||
#include <QFile>
|
||||
#include <QSettings>
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<string>TabWidget</string>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="notesTab">
|
||||
<attribute name="title">
|
||||
|
@ -159,35 +159,7 @@
|
|||
<item>
|
||||
<widget class="QTableView" name="cylinders">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"> 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);
|
||||
}
|
||||
|
||||
</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
|
@ -210,35 +182,7 @@
|
|||
<item>
|
||||
<widget class="QTableView" name="weights">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"> 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);
|
||||
}
|
||||
|
||||
</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="showGrid">
|
||||
<bool>false</bool>
|
||||
|
|
|
@ -10,5 +10,6 @@
|
|||
<file alias="minimum">icons/minimum.svg</file>
|
||||
<file alias="maximum">icons/maximum.svg</file>
|
||||
<file alias="average">icons/average.svg</file>
|
||||
<file alias="table-css">qt-ui/css/tableviews.css</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
Loading…
Reference in a new issue