mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 19:53:24 +00:00
Moved the code that handles DiveList column sizes to its correct file.
I got a bit lost trying to find the code that handled DiveList columns today, so I thought it was better to move it to its file, after all we do have a divelistview.h :) Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
ba638cae05
commit
7dbf76384f
3 changed files with 40 additions and 21 deletions
|
@ -47,6 +47,42 @@ DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelec
|
|||
connect(showSearchBox, SIGNAL(triggered(bool)), this, SLOT(showSearchEdit()));
|
||||
connect(searchBox, SIGNAL(textChanged(QString)), model, SLOT(setFilterFixedString(QString)));
|
||||
selectedTrips.clear();
|
||||
|
||||
setupUi();
|
||||
}
|
||||
|
||||
DiveListView::~DiveListView()
|
||||
{
|
||||
QSettings settings;
|
||||
settings.beginGroup("ListWidget");
|
||||
for (int i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++){
|
||||
if (isColumnHidden(i))
|
||||
continue;
|
||||
settings.setValue(QString("colwidth%1").arg(i), columnWidth(i));
|
||||
}
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void DiveListView::setupUi(){
|
||||
QSettings settings;
|
||||
settings.beginGroup("ListWidget");
|
||||
/* if no width are set, use the calculated width for each column;
|
||||
* for that to work we need to temporarily expand all rows */
|
||||
expandAll();
|
||||
for (int i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++) {
|
||||
if(isColumnHidden(i))
|
||||
continue;
|
||||
QVariant width = settings.value(QString("colwidth%1").arg(i));
|
||||
if (width.isValid())
|
||||
setColumnWidth(i, width.toInt());
|
||||
else
|
||||
setColumnWidth(i, 100);
|
||||
|
||||
}
|
||||
settings.endGroup();
|
||||
collapseAll();
|
||||
expand(model()->index(0,0));
|
||||
scrollTo(model()->index(0,0), QAbstractItemView::PositionAtCenter);
|
||||
}
|
||||
|
||||
void DiveListView::fixMessyQtModelBehaviour()
|
||||
|
@ -178,6 +214,7 @@ void DiveListView::reload(DiveTripModel::Layout layout, bool forceSort)
|
|||
setCurrentIndex(firstDiveOrTrip);
|
||||
}
|
||||
}
|
||||
setupUi();
|
||||
}
|
||||
|
||||
void DiveListView::reloadHeaderActions()
|
||||
|
|
|
@ -19,6 +19,7 @@ class DiveListView : public QTreeView
|
|||
Q_OBJECT
|
||||
public:
|
||||
DiveListView(QWidget *parent = 0);
|
||||
~DiveListView();
|
||||
void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
|
||||
void currentChanged(const QModelIndex& current, const QModelIndex& previous);
|
||||
void reload(DiveTripModel::Layout layout, bool forceSort = true);
|
||||
|
@ -54,6 +55,7 @@ private:
|
|||
QLineEdit *searchBox;
|
||||
QModelIndex contextMenuIndex;
|
||||
void merge_trip(const QModelIndex &a, const int offset);
|
||||
void setupUi();
|
||||
};
|
||||
|
||||
#endif // DIVELISTVIEW_H
|
||||
|
|
|
@ -54,9 +54,9 @@ MainWindow::MainWindow() : helpView(0)
|
|||
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.ListWidget, SLOT(reloadHeaderActions()));
|
||||
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.ProfileWidget, SLOT(refresh()));
|
||||
ui.mainErrorMessage->hide();
|
||||
ui.ListWidget->reload(DiveTripModel::TREE);
|
||||
initialUiSetup();
|
||||
readSettings();
|
||||
ui.ListWidget->reload(DiveTripModel::TREE);
|
||||
ui.ListWidget->reloadHeaderActions();
|
||||
ui.ListWidget->setFocus();
|
||||
ui.globe->reload();
|
||||
|
@ -566,21 +566,6 @@ void MainWindow::initialUiSetup()
|
|||
case PROFILE_MAXIMIZED : on_actionViewProfile_triggered(); break;
|
||||
}
|
||||
settings.endGroup();
|
||||
settings.beginGroup("ListWidget");
|
||||
/* if no width are set, use the calculated width for each column;
|
||||
* for that to work we need to temporarily expand all rows */
|
||||
ui.ListWidget->expandAll();
|
||||
for (i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++) {
|
||||
QVariant width = settings.value(QString("colwidth%1").arg(i));
|
||||
if (width.isValid())
|
||||
ui.ListWidget->setColumnWidth(i, width.toInt());
|
||||
else
|
||||
ui.ListWidget->resizeColumnToContents(i);
|
||||
}
|
||||
ui.ListWidget->collapseAll();
|
||||
ui.ListWidget->expand(ui.ListWidget->model()->index(0,0));
|
||||
ui.ListWidget->scrollTo(ui.ListWidget->model()->index(0,0), QAbstractItemView::PositionAtCenter);
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void MainWindow::readSettings()
|
||||
|
@ -652,11 +637,6 @@ void MainWindow::writeSettings()
|
|||
}
|
||||
settings.endGroup();
|
||||
|
||||
settings.beginGroup("ListWidget");
|
||||
for (i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++)
|
||||
if (!ui.ListWidget->isColumnHidden(i))
|
||||
settings.setValue(QString("colwidth%1").arg(i), ui.ListWidget->columnWidth(i));
|
||||
settings.endGroup();
|
||||
settings.beginGroup("Units");
|
||||
SAVE_VALUE("length", units.length);
|
||||
SAVE_VALUE("pressure", units.pressure);
|
||||
|
|
Loading…
Add table
Reference in a new issue