Sunday Patches.
Tomaz Canabrava
tcanabrava at kde.org
Sun Jun 16 13:54:15 PDT 2013
Dirk, Linus:
This fixes a few annoyances that Linus described - Not all of them, but this
should make the app way more usable for editing Cylinders and Weigths.
Test there and tell me what's wrong so I can continue.
There'ss still the 'multi dive edition' missing. But I'm trying to concentrate
on the Dive Plan ( and failing miserably )
Tomaz
The following changes since commit 84d4a2dae069a2e728cea8d7a4506921b558603f:
Partially fix dive downloading (2013-06-15 17:03:23 -0700)
are available in the git repository at:
https://github.com/tcanabrava/subsurface moreLinusFixes
for you to fetch changes up to c917b29701470398b51aa5ad9541275825d912fd:
Save / Restore the sizes of the columns in Cylinders / Weigth widgets
(2013-06-16 14:36:23 -0300)
----------------------------------------------------------------
Tomaz Canabrava (7):
Create a 'ComboBoxDelegate' to concentrate the comboboxness of
delegates.
Made all models have the same font.
Better handling of default sizes on the Cylinder and Weight widgets
Make the columns have a sane default width for 'type'
Remove the Vertical Header on Cylinder and Weigth edit
Removed the grid lines of the table views.
Save / Restore the sizes of the columns in Cylinders / Weigth widgets
qt-ui/maintab.cpp | 53
++++++++++++++++++++++++++++++++++++++++++++++++++---
qt-ui/maintab.h | 4 ++++
qt-ui/maintab.ui | 48
++++++++++++++++++++++++++++++++++++++++++++++--
qt-ui/modeldelegates.cpp | 62
++++++++++++++++++++++++++------------------------------------
qt-ui/modeldelegates.h | 17 ++++++++++++-----
qt-ui/models.cpp | 157
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------
qt-ui/models.h | 7 ++++++-
7 files changed, 246 insertions(+), 102 deletions(-)
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index ea1687a..c6b49da 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -16,6 +16,7 @@
#include <QLabel>
#include <QDebug>
#include <QSet>
+#include <QSettings>
MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
ui(new Ui::MainTab()),
@@ -79,13 +80,17 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
connect(ui->cylinders, SIGNAL(clicked(QModelIndex)), ui->cylinders-
>model(), SLOT(remove(QModelIndex)));
connect(ui->weights, SIGNAL(clicked(QModelIndex)), ui->weights-
>model(), SLOT(remove(QModelIndex)));
- ui->cylinders->setColumnWidth(CylindersModel::REMOVE, 24);
- ui->cylinders->horizontalHeader()-
>setResizeMode(QHeaderView::ResizeToContents);
+ QFontMetrics metrics(defaultModelFont());
+ QFontMetrics metrics2(font());
+
ui->cylinders->horizontalHeader()-
>setResizeMode(CylindersModel::REMOVE, QHeaderView::Fixed);
+ ui->cylinders->verticalHeader()->setDefaultSectionSize(
metrics.height() +8 );
ui->cylinders->setItemDelegateForColumn(CylindersModel::TYPE, new
TankInfoDelegate());
- ui->weights->setColumnWidth(WeightModel::REMOVE, 24);
+
ui->weights->horizontalHeader()->setResizeMode (WeightModel::REMOVE ,
QHeaderView::Fixed);
+ ui->weights->verticalHeader()->setDefaultSectionSize( metrics.height()
+8 );
ui->weights->setItemDelegateForColumn(WeightModel::TYPE, new
WSInfoDelegate());
+ initialUiSetup();
}
// We need to manually position the 'plus' on cylinder and weight.
@@ -474,3 +479,45 @@ void MainTab::on_visibility_valueChanged(int value)
return;
currentDive->visibility = value;
}
+
+void MainTab::hideEvent(QHideEvent* event)
+{
+ QSettings s;
+ s.beginGroup("MainTab");
+ s.beginGroup("Cylinders");
+ for (int i = 0; i < CylindersModel::COLUMNS; i++) {
+ s.setValue(QString("colwidth%1").arg(i), ui->cylinders-
>columnWidth(i));
+ }
+ s.endGroup();
+ s.beginGroup("Weights");
+ for (int i = 0; i < WeightModel::COLUMNS; i++) {
+ s.setValue(QString("colwidth%1").arg(i), ui->weights-
>columnWidth(i));
+ }
+ s.endGroup();
+ s.sync();
+}
+
+void MainTab::initialUiSetup()
+{
+ QSettings s;
+ s.beginGroup("MainTab");
+ s.beginGroup("Cylinders");
+ for (int i = 0; i < CylindersModel::COLUMNS; i++) {
+ QVariant width = s.value(QString("colwidth%1").arg(i));
+ if (width.isValid())
+ ui->cylinders->setColumnWidth(i, width.toInt());
+ else
+ ui->cylinders->resizeColumnToContents(i);
+ }
+ s.endGroup();
+ s.beginGroup("Weights");
+ for (int i = 0; i < WeightModel::COLUMNS; i++) {
+ QVariant width = s.value(QString("colwidth%1").arg(i));
+ if (width.isValid())
+ ui->weights->setColumnWidth(i, width.toInt());
+ else
+ ui->weights->resizeColumnToContents(i);
+ }
+ s.endGroup();
+
+}
diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h
index b92db67..124bcff 100644
--- a/qt-ui/maintab.h
+++ b/qt-ui/maintab.h
@@ -40,6 +40,10 @@ public:
bool eventFilter(QObject* , QEvent*);
virtual void resizeEvent(QResizeEvent*);
virtual void showEvent(QShowEvent*);
+ virtual void hideEvent(QHideEvent* );
+
+ void initialUiSetup();
+
public Q_SLOTS:
void addCylinder_clicked();
diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui
index 733a605..c42dc46 100644
--- a/qt-ui/maintab.ui
+++ b/qt-ui/maintab.ui
@@ -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">
@@ -192,6 +192,12 @@
<property name="alternatingRowColors">
<bool>true</bool>
</property>
+ <property name="showGrid">
+ <bool>false</bool>
+ </property>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
</widget>
</item>
</layout>
@@ -202,7 +208,45 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
- <widget class="QTableView" name="weights"/>
+ <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>
+ </property>
+ <property name="showGrid">
+ <bool>false</bool>
+ </property>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ </widget>
</item>
</layout>
</widget>
diff --git a/qt-ui/modeldelegates.cpp b/qt-ui/modeldelegates.cpp
index c90a1e8..01f5197 100644
--- a/qt-ui/modeldelegates.cpp
+++ b/qt-ui/modeldelegates.cpp
@@ -17,7 +17,6 @@ StarWidgetsDelegate::StarWidgetsDelegate(QWidget* parent):
QStyledItemDelegate(parent),
parentWidget(parent)
{
-
}
void StarWidgetsDelegate::paint(QPainter* painter, const
QStyleOptionViewItem& option, const QModelIndex& index) const
@@ -51,19 +50,11 @@ QSize StarWidgetsDelegate::sizeHint(const
QStyleOptionViewItem& option, const QM
return QSize(IMG_SIZE * TOTALSTARS + SPACING * (TOTALSTARS-1),
IMG_SIZE);
}
-QWidget* TankInfoDelegate::createEditor(QWidget* parent, const
QStyleOptionViewItem& option, const QModelIndex& index) const
+ComboBoxDelegate::ComboBoxDelegate(QAbstractItemModel *model, QObject*
parent): QStyledItemDelegate(parent), model(model)
{
- QComboBox *comboDelegate = new QComboBox(parent);
- TankInfoModel *model = TankInfoModel::instance();
- comboDelegate->setModel(model);
- comboDelegate->setEditable(true);
- comboDelegate->setAutoCompletion(true);
- comboDelegate->setAutoCompletionCaseSensitivity(Qt::CaseInsensitive);
- comboDelegate->completer()-
>setCompletionMode(QCompleter::PopupCompletion);
- return comboDelegate;
}
-void TankInfoDelegate::setEditorData(QWidget* editor, const QModelIndex&
index) const
+void ComboBoxDelegate::setEditorData(QWidget* editor, const QModelIndex&
index) const
{
QComboBox *c = qobject_cast<QComboBox*>(editor);
QString data = index.model()->data(index, Qt::DisplayRole).toString();
@@ -74,6 +65,28 @@ void TankInfoDelegate::setEditorData(QWidget* editor, const
QModelIndex& index)
c->setEditText(data);
}
+QWidget* ComboBoxDelegate::createEditor(QWidget* parent, const
QStyleOptionViewItem& option, const QModelIndex& index) const
+{
+ QComboBox *comboDelegate = new QComboBox(parent);
+ comboDelegate->setModel(model);
+ comboDelegate->setEditable(true);
+ comboDelegate->setAutoCompletion(true);
+ comboDelegate->setAutoCompletionCaseSensitivity(Qt::CaseInsensitive);
+ comboDelegate->completer()-
>setCompletionMode(QCompleter::PopupCompletion);
+ return comboDelegate;
+}
+
+void ComboBoxDelegate::updateEditorGeometry(QWidget* editor, const
QStyleOptionViewItem& option, const QModelIndex& index) const
+{
+ QRect defaultRect = option.rect;
+ defaultRect.setX( defaultRect.x() -1);
+ defaultRect.setY( defaultRect.y() -1);
+ defaultRect.setWidth( defaultRect.width() + 2);
+ defaultRect.setHeight( defaultRect.height() + 2);
+ editor->setGeometry(defaultRect);
+}
+
+
void TankInfoDelegate::setModelData(QWidget* editor, QAbstractItemModel*
model, const QModelIndex& thisindex) const
{
QComboBox *c = qobject_cast<QComboBox*>(editor);
@@ -97,31 +110,8 @@ void TankInfoDelegate::setModelData(QWidget* editor,
QAbstractItemModel* model,
mymodel->passInData(model->index(thisindex.row(),
CylindersModel::SIZE), tankSize);
}
-TankInfoDelegate::TankInfoDelegate(QObject* parent):
QStyledItemDelegate(parent)
-{
-}
-
-QWidget* WSInfoDelegate::createEditor(QWidget* parent, const
QStyleOptionViewItem& option, const QModelIndex& index) const
+TankInfoDelegate::TankInfoDelegate(QObject* parent):
ComboBoxDelegate(TankInfoModel::instance(), parent)
{
- QComboBox *comboDelegate = new QComboBox(parent);
- WSInfoModel *model = WSInfoModel::instance();
- comboDelegate->setModel(model);
- comboDelegate->setEditable(true);
- comboDelegate->setAutoCompletion(true);
- comboDelegate->setAutoCompletionCaseSensitivity(Qt::CaseInsensitive);
- comboDelegate->completer()-
>setCompletionMode(QCompleter::PopupCompletion);
- return comboDelegate;
-}
-
-void WSInfoDelegate::setEditorData(QWidget* editor, const QModelIndex& index)
const
-{
- QComboBox *c = qobject_cast<QComboBox*>(editor);
- QString data = index.model()->data(index, Qt::DisplayRole).toString();
- int i = c->findText(data);
- if (i != -1)
- c->setCurrentIndex(i);
- else
- c->setEditText(data);
}
void WSInfoDelegate::setModelData(QWidget* editor, QAbstractItemModel* model,
const QModelIndex& thisindex) const
@@ -145,6 +135,6 @@ void WSInfoDelegate::setModelData(QWidget* editor,
QAbstractItemModel* model, co
mymodel->passInData(model->index(thisindex.row(),
WeightModel::WEIGHT), grams);
}
-WSInfoDelegate::WSInfoDelegate(QObject* parent): QStyledItemDelegate(parent)
+WSInfoDelegate::WSInfoDelegate(QObject* parent):
ComboBoxDelegate(WSInfoModel::instance(), parent)
{
}
diff --git a/qt-ui/modeldelegates.h b/qt-ui/modeldelegates.h
index 79fbe29..a33fc89 100644
--- a/qt-ui/modeldelegates.h
+++ b/qt-ui/modeldelegates.h
@@ -13,21 +13,28 @@ private:
QWidget *parentWidget;
};
-class TankInfoDelegate : public QStyledItemDelegate{
+class ComboBoxDelegate : public QStyledItemDelegate{
Q_OBJECT
public:
- explicit TankInfoDelegate(QObject* parent = 0);
+ explicit ComboBoxDelegate(QAbstractItemModel *model, QObject* parent =
0);
virtual QWidget* createEditor(QWidget* parent, const
QStyleOptionViewItem& option, const QModelIndex& index) const;
virtual void setEditorData(QWidget* editor, const QModelIndex& index)
const;
+ virtual void updateEditorGeometry(QWidget* editor, const
QStyleOptionViewItem& option, const QModelIndex& index) const;
+protected:
+ QAbstractItemModel *model;
+};
+
+class TankInfoDelegate : public ComboBoxDelegate{
+ Q_OBJECT
+public:
+ explicit TankInfoDelegate(QObject* parent = 0);
virtual void setModelData(QWidget* editor, QAbstractItemModel* model,
const QModelIndex& index) const;
};
-class WSInfoDelegate : public QStyledItemDelegate{
+class WSInfoDelegate : public ComboBoxDelegate{
Q_OBJECT
public:
explicit WSInfoDelegate(QObject* parent = 0);
- virtual QWidget* createEditor(QWidget* parent, const
QStyleOptionViewItem& option, const QModelIndex& index) const;
- virtual void setEditorData(QWidget* editor, const QModelIndex& index)
const;
virtual void setModelData(QWidget* editor, QAbstractItemModel* model,
const QModelIndex& index) const;
};
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
index b85c067..6d64599 100644
--- a/qt-ui/models.cpp
+++ b/qt-ui/models.cpp
@@ -14,6 +14,13 @@
#include <QFont>
#include <QIcon>
+QFont defaultModelFont()
+{
+ QFont font;
+ font.setPointSizeF( font.pointSizeF() * 0.8);
+ return font;
+}
+
CylindersModel::CylindersModel(QObject* parent): QAbstractTableModel(parent),
current(0), rows(0)
{
}
@@ -21,15 +28,14 @@ CylindersModel::CylindersModel(QObject* parent):
QAbstractTableModel(parent), cu
QVariant CylindersModel::headerData(int section, Qt::Orientation orientation,
int role) const
{
QVariant ret;
- QFont font;
if (orientation == Qt::Vertical)
return ret;
switch (role) {
case Qt::FontRole:
- font.setPointSizeF(font.pointSizeF() * 0.8);
- return font;
+ ret = defaultModelFont();
+ break;
case Qt::DisplayRole:
switch(section) {
case TYPE: ret = tr("Type"); break;
@@ -52,7 +58,6 @@ int CylindersModel::columnCount(const QModelIndex& parent)
const
QVariant CylindersModel::data(const QModelIndex& index, int role) const
{
QVariant ret;
- QFont font;
if (!index.isValid() || index.row() >= MAX_CYLINDERS)
return ret;
@@ -60,11 +65,10 @@ QVariant CylindersModel::data(const QModelIndex& index,
int role) const
cylinder_t *cyl = ¤t->cylinder[index.row()];
switch (role) {
case Qt::FontRole:
- font.setPointSizeF(font.pointSizeF() * 0.80);
- ret = font;
+ ret = defaultModelFont();
break;
case Qt::TextAlignmentRole:
- ret = Qt::AlignRight;
+ ret = Qt::AlignHCenter;
break;
case Qt::DisplayRole:
case Qt::EditRole:
@@ -336,7 +340,6 @@ int WeightModel::columnCount(const QModelIndex& parent)
const
QVariant WeightModel::data(const QModelIndex& index, int role) const
{
QVariant ret;
- QFont font;
if (!index.isValid() || index.row() >= MAX_WEIGHTSYSTEMS)
return ret;
@@ -344,8 +347,7 @@ QVariant WeightModel::data(const QModelIndex& index, int
role) const
switch (role) {
case Qt::FontRole:
- font.setPointSizeF(font.pointSizeF() * 0.80);
- ret = font;
+ ret = defaultModelFont();
break;
case Qt::TextAlignmentRole:
ret = Qt::AlignRight;
@@ -429,14 +431,12 @@ int WeightModel::rowCount(const QModelIndex& parent)
const
QVariant WeightModel::headerData(int section, Qt::Orientation orientation,
int role) const
{
QVariant ret;
- QFont font;
if (orientation == Qt::Vertical)
return ret;
switch (role) {
case Qt::FontRole:
- font.setPointSizeF(font.pointSizeF() * 0.8);
- ret = font;
+ ret = defaultModelFont();
break;
case Qt::DisplayRole:
switch(section) {
@@ -534,16 +534,21 @@ QVariant WSInfoModel::data(const QModelIndex& index, int
role) const
struct ws_info *info = &ws_info[index.row()];
int gr = info->grams;
-
- if (role == Qt::DisplayRole || role == Qt::EditRole) {
- switch(index.column()) {
- case GR:
- ret = gr;
- break;
- case DESCRIPTION:
- ret = QString(info->name);
- break;
- }
+ switch(role){
+ case Qt::FontRole :
+ ret = defaultModelFont();
+ break;
+ case Qt::DisplayRole :
+ case Qt::EditRole :
+ switch(index.column()) {
+ case GR:
+ ret = gr;
+ break;
+ case DESCRIPTION:
+ ret = QString(info->name);
+ break;
+ }
+ break;
}
return ret;
}
@@ -555,15 +560,20 @@ QVariant WSInfoModel::headerData(int section,
Qt::Orientation orientation, int r
if (orientation != Qt::Horizontal)
return ret;
- if (role == Qt::DisplayRole) {
- switch(section) {
- case GR:
- ret = tr("kg");
- break;
- case DESCRIPTION:
- ret = tr("Description");
- break;
- }
+ switch(role){
+ case Qt::FontRole :
+ ret = defaultModelFont();
+ break;
+ case Qt::DisplayRole :
+ switch(section) {
+ case GR:
+ ret = tr("kg");
+ break;
+ case DESCRIPTION:
+ ret = tr("Description");
+ break;
+ }
+ break;
}
return ret;
}
@@ -573,10 +583,20 @@ int WSInfoModel::rowCount(const QModelIndex& parent)
const
return rows+1;
}
+const QString& WSInfoModel::biggerString() const
+{
+ return biggerEntry;
+}
+
WSInfoModel::WSInfoModel() : QAbstractTableModel(), rows(-1)
{
struct ws_info *info = ws_info;
- for (info = ws_info; info->name; info++, rows++);
+ for (info = ws_info; info->name; info++, rows++){
+ QString wsInfoName(info->name);
+ if( wsInfoName.count() > biggerEntry.count()){
+ biggerEntry = wsInfoName;
+ }
+ }
if (rows > -1) {
beginInsertRows(QModelIndex(), 0, rows);
@@ -606,6 +626,11 @@ TankInfoModel* TankInfoModel::instance()
return self;
}
+const QString& TankInfoModel::biggerString() const
+{
+ return biggerEntry;
+}
+
bool TankInfoModel::insertRows(int row, int count, const QModelIndex& parent)
{
beginInsertRows(parent, rowCount(), rowCount());
@@ -646,6 +671,10 @@ QVariant TankInfoModel::data(const QModelIndex& index,
int role) const
if (!index.isValid()) {
return ret;
}
+ if (role == Qt::FontRole){
+ return defaultModelFont();
+ }
+
struct tank_info *info = &tank_info[index.row()];
int ml = info->ml;
@@ -680,8 +709,12 @@ QVariant TankInfoModel::headerData(int section,
Qt::Orientation orientation, int
if (orientation != Qt::Horizontal)
return ret;
- if (role == Qt::DisplayRole) {
- switch(section) {
+ switch(role){
+ case Qt::FontRole:
+ ret = defaultModelFont();
+ break;
+ case Qt::DisplayRole:
+ switch(section) {
case BAR:
ret = tr("Bar");
break;
@@ -691,7 +724,8 @@ QVariant TankInfoModel::headerData(int section,
Qt::Orientation orientation, int
case DESCRIPTION:
ret = tr("Description");
break;
- }
+ }
+ break;
}
return ret;
}
@@ -704,7 +738,13 @@ int TankInfoModel::rowCount(const QModelIndex& parent)
const
TankInfoModel::TankInfoModel() : QAbstractTableModel(), rows(-1)
{
struct tank_info *info = tank_info;
- for (info = tank_info; info->name; info++, rows++);
+ for (info = tank_info; info->name; info++, rows++){
+ QString infoName(info->name);
+ if (infoName.count() > biggerEntry.count()){
+ biggerEntry = infoName;
+ }
+ }
+
if (rows > -1) {
beginInsertRows(QModelIndex(), 0, rows);
endInsertRows();
@@ -752,21 +792,25 @@ int TreeItemDT::row() const
QVariant TreeItemDT::data(int column, int role) const
{
QVariant ret;
- switch (column) {
- case NR: ret = tr("#"); break;
- case DATE: ret = tr("Date"); break;
- case RATING: ret = UTF8_BLACKSTAR; break;
- case DEPTH: ret = (get_units()->length == units::METERS) ?
tr("m") : tr("ft"); break;
- case DURATION: ret = tr("min"); break;
- case TEMPERATURE: ret =
QString("%1%2").arg(UTF8_DEGREE).arg((get_units()->temperature ==
units::CELSIUS) ? "C" : "F"); break;
- case TOTALWEIGHT: ret = (get_units()->weight == units::KG) ?
tr("kg") : tr("lbs"); break;
- case SUIT: ret = tr("Suit"); break;
- case CYLINDER: ret = tr("Cyl"); break;
- case NITROX: ret = QString("O%1%").arg(UTF8_SUBSCRIPT_2);
break;
- case SAC: ret = tr("SAC"); break;
- case OTU: ret = tr("OTU"); break;
- case MAXCNS: ret = tr("maxCNS"); break;
- case LOCATION: ret = tr("Location"); break;
+ switch(role){
+ case Qt::DisplayRole :
+ switch (column) {
+ case NR: ret = tr("#"); break;
+ case DATE: ret = tr("Date"); break;
+ case RATING: ret = UTF8_BLACKSTAR; break;
+ case DEPTH: ret = (get_units()->length ==
units::METERS) ? tr("m") : tr("ft"); break;
+ case DURATION: ret = tr("min"); break;
+ case TEMPERATURE: ret =
QString("%1%2").arg(UTF8_DEGREE).arg((get_units()->temperature ==
units::CELSIUS) ? "C" : "F"); break;
+ case TOTALWEIGHT: ret = (get_units()->weight ==
units::KG) ? tr("kg") : tr("lbs"); break;
+ case SUIT: ret = tr("Suit"); break;
+ case CYLINDER: ret = tr("Cyl"); break;
+ case NITROX: ret =
QString("O%1%").arg(UTF8_SUBSCRIPT_2); break;
+ case SAC: ret = tr("SAC"); break;
+ case OTU: ret = tr("OTU"); break;
+ case MAXCNS: ret = tr("maxCNS"); break;
+ case LOCATION: ret = tr("Location"); break;
+ }
+ break;
}
return ret;
}
@@ -981,9 +1025,7 @@ QVariant DiveTripModel::data(const QModelIndex& index,
int role) const
return QVariant();
if (role == Qt::FontRole) {
- QFont font;
- font.setPointSizeF(font.pointSizeF() * 0.7);
- return font;
+ return defaultModelFont();
}
TreeItemDT* item = static_cast<TreeItemDT*>(index.internalPointer());
@@ -1004,6 +1046,11 @@ QVariant DiveTripModel::headerData(int section,
Qt::Orientation orientation,
if (orientation == Qt::Horizontal && role == Qt::DisplayRole)
return rootItem->data(section, role);
+ switch(role){
+ case Qt::FontRole :
+ return defaultModelFont();
+ }
+
return QVariant();
}
diff --git a/qt-ui/models.h b/qt-ui/models.h
index a012ec6..79af13b 100644
--- a/qt-ui/models.h
+++ b/qt-ui/models.h
@@ -14,6 +14,8 @@
#include "../dive.h"
#include "../divelist.h"
+QFont defaultModelFont();
+
/* Encapsulates the tank_info global variable
* to show on Qt's Model View System.*/
class TankInfoModel : public QAbstractTableModel {
@@ -30,10 +32,12 @@ public:
/*reimp*/ int rowCount(const QModelIndex& parent = QModelIndex())
const;
/*reimp*/ bool insertRows(int row, int count, const QModelIndex&
parent = QModelIndex());
/*reimp*/ bool setData(const QModelIndex& index, const QVariant&
value, int role = Qt::EditRole);
+ const QString& biggerString() const;
void clear();
void update();
private:
int rows;
+ QString biggerEntry;
};
/* Encapsulate ws_info */
@@ -51,11 +55,12 @@ public:
/*reimp*/ int rowCount(const QModelIndex& parent = QModelIndex())
const;
/*reimp*/ bool insertRows(int row, int count, const QModelIndex&
parent = QModelIndex());
/*reimp*/ bool setData(const QModelIndex& index, const QVariant&
value, int role = Qt::EditRole);
+ const QString& biggerString() const;
void clear();
void update();
private:
int rows;
-
+ QString biggerEntry;
};
/* Encapsulation of the Cylinder Model, that presents the
More information about the subsurface
mailing list