mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-18 03:36:16 +00:00
Implements the divelist to behave like linus explained, essentially, it filters the layoutChanges of the model, greps for trips, and for each trip that it finds, it set the 'firstColumnSpanned' property, to make the column to have the size of the whole table. e Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
54 lines
1.2 KiB
C++
54 lines
1.2 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);
|
|
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);
|
|
|
|
public slots:
|
|
void toggleColumnVisibilityByIndex();
|
|
void reloadHeaderActions();
|
|
void headerClicked(int);
|
|
void showSearchEdit();
|
|
void removeFromTrip();
|
|
void deleteDive();
|
|
void testSlot();
|
|
void fixMessyQtModelBehaviour();
|
|
|
|
Q_SIGNALS:
|
|
void currentDiveChanged(int divenr);
|
|
|
|
private:
|
|
bool mouseClickSelection;
|
|
int currentHeaderClicked;
|
|
DiveTripModel::Layout currentLayout;
|
|
QLineEdit *searchBox;
|
|
QModelIndex contextMenuIndex;
|
|
};
|
|
|
|
#endif // DIVELISTVIEW_H
|