mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile/filter: derive numShown from a new Q_PROPERTY
The number of dives was updated when the model of the list was changed. Since we removed the multi-threading, the model is not disconnected/connected anymore and therefore we don't get the appropriate signal. Instead of introducing a different signal, make the shown-value a Q_PROPERTY. Thus, we can easily send a changed signal if we have to. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
6f2a6fef14
commit
d6114fc37e
3 changed files with 6 additions and 7 deletions
|
@ -17,7 +17,6 @@ Kirigami.ScrollablePage {
|
|||
property color secondaryTextColor: subsurfaceTheme.secondaryTextColor
|
||||
property int horizontalPadding: Kirigami.Units.gridUnit / 2 - Kirigami.Units.smallSpacing + 1
|
||||
property QtObject diveListModel: diveTripModel
|
||||
property string numShownText
|
||||
|
||||
opacity: 0
|
||||
Behavior on opacity {
|
||||
|
@ -481,7 +480,7 @@ Kirigami.ScrollablePage {
|
|||
id: numShown
|
||||
z: 10
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
text: numShownText
|
||||
text: diveModel.shown
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -503,9 +502,6 @@ Kirigami.ScrollablePage {
|
|||
section.criteria: ViewSection.FullString
|
||||
section.delegate: tripHeading
|
||||
section.labelPositioning: ViewSection.CurrentLabelAtStart | ViewSection.InlineLabels
|
||||
onModelChanged: {
|
||||
numShownText = diveModel.shown()
|
||||
}
|
||||
Connections {
|
||||
target: detailsWindow
|
||||
onCurrentIndexChanged: diveListView.currentIndex = detailsWindow.currentIndex
|
||||
|
@ -555,7 +551,6 @@ Kirigami.ScrollablePage {
|
|||
onTriggered: {
|
||||
rootItem.filterToggle = !rootItem.filterToggle
|
||||
manager.setFilter("", 0)
|
||||
numShownText = diveModel.shown()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -195,6 +195,7 @@ DiveListSortModel *DiveListSortModel::instance()
|
|||
void DiveListSortModel::updateFilterState()
|
||||
{
|
||||
DiveFilter::instance()->updateAll();
|
||||
emit shownChanged();
|
||||
}
|
||||
|
||||
void DiveListSortModel::setSourceModel(QAbstractItemModel *sourceModel)
|
||||
|
|
|
@ -47,11 +47,14 @@ public:
|
|||
Q_INVOKABLE void reload();
|
||||
QString filterString;
|
||||
void updateFilterState();
|
||||
Q_PROPERTY(int shown READ shown NOTIFY shownChanged);
|
||||
int shown();
|
||||
public slots:
|
||||
int getIdxForId(int id);
|
||||
void setFilter(QString f, FilterData::Mode mode);
|
||||
void resetFilter();
|
||||
int shown();
|
||||
signals:
|
||||
void shownChanged();
|
||||
protected:
|
||||
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
|
||||
private:
|
||||
|
|
Loading…
Add table
Reference in a new issue