TableWidgets: change default column width and don't save unchanged widths

Similar change to the dive list. The idea is to not save things that are
the default. This way Subsurface will do the right thing when defaults
change.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-08-26 17:52:05 -07:00
parent 75650bd65f
commit 778d6ea103

View file

@ -29,8 +29,22 @@ TableView::~TableView()
{
QSettings s;
s.beginGroup(objectName());
for (int i = 0; i < ui.tableView->model()->columnCount(); i++) {
s.setValue(QString("colwidth%1").arg(i), ui.tableView->columnWidth(i));
// remove the old default
bool oldDefault = (ui.tableView->columnWidth(0) == 30);
for (int i = 1; oldDefault && i < ui.tableView->model()->columnCount(); i++) {
if (ui.tableView->columnWidth(i) != 80)
oldDefault = false;
}
if (oldDefault) {
s.remove("");
} else {
for (int i = 0; i < ui.tableView->model()->columnCount(); i++) {
if ((i == CylindersModel::REMOVE && ui.tableView->columnWidth(i) == 30) ||
ui.tableView->columnWidth(i) == 70)
s.remove(QString("colwidth%1").arg(i));
else
s.setValue(QString("colwidth%1").arg(i), ui.tableView->columnWidth(i));
}
}
s.endGroup();
}
@ -54,7 +68,7 @@ void TableView::setModel(QAbstractItemModel *model)
s.beginGroup(objectName());
const int columnCount = ui.tableView->model()->columnCount();
for (int i = 0; i < columnCount; i++) {
QVariant width = s.value(QString("colwidth%1").arg(i), i == CylindersModel::REMOVE ? 30 : 80);
QVariant width = s.value(QString("colwidth%1").arg(i), i == CylindersModel::REMOVE ? 30 : 70);
ui.tableView->setColumnWidth(i, width.toInt());
}
s.endGroup();