subsurface/qt-ui/divelistview.h
Tomaz Canabrava d3fe3494fe Save / Restore the Tree after organizing by other columns.
This patch saves and restores the state of the TreeView after the user
clicks on another columns that will make the tree disappear. All of the
branche states are saved, this way the expanded nodes will be restored
when the user gets back to tree mode.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09 15:33:55 +09:00

64 lines
1.6 KiB
C++

/*
* divelistview.h
*
* header file for the dive list of Subsurface
*
*/
#ifndef DIVELISTVIEW_H
#define DIVELISTVIEW_H
/*! A view subclass for use with dives
Note: calling this a list view might be misleading?
*/
#include <QTreeView>
#include "models.h"
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);
bool eventFilter(QObject* , QEvent* );
void unselectDives();
void selectDive(struct dive *, bool scrollto = false, bool toggle = false);
void contextMenuEvent(QContextMenuEvent *event);
QSet<dive_trip_t *> selectedTrips;
public slots:
void toggleColumnVisibilityByIndex();
void reloadHeaderActions();
void headerClicked(int);
void showSearchEdit();
void removeFromTrip();
void deleteDive();
void testSlot();
void fixMessyQtModelBehaviour();
void mergeTripAbove();
void mergeTripBelow();
void mergeDives();
void saveSelectedDivesAs();
void exportSelectedDivesAsUDDF();
signals:
void currentDiveChanged(int divenr);
private:
bool mouseClickSelection;
QList<int> expandedRows;
int sortColumn;
Qt::SortOrder currentOrder;
DiveTripModel::Layout currentLayout;
QLineEdit *searchBox;
QModelIndex contextMenuIndex;
void merge_trip(const QModelIndex &a, const int offset);
void setupUi();
void backupExpandedRows();
void restoreExpandedRows();
};
#endif // DIVELISTVIEW_H