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 color secondaryTextColor: subsurfaceTheme.secondaryTextColor
|
||||||
property int horizontalPadding: Kirigami.Units.gridUnit / 2 - Kirigami.Units.smallSpacing + 1
|
property int horizontalPadding: Kirigami.Units.gridUnit / 2 - Kirigami.Units.smallSpacing + 1
|
||||||
property QtObject diveListModel: diveTripModel
|
property QtObject diveListModel: diveTripModel
|
||||||
property string numShownText
|
|
||||||
|
|
||||||
opacity: 0
|
opacity: 0
|
||||||
Behavior on opacity {
|
Behavior on opacity {
|
||||||
|
@ -481,7 +480,7 @@ Kirigami.ScrollablePage {
|
||||||
id: numShown
|
id: numShown
|
||||||
z: 10
|
z: 10
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
text: numShownText
|
text: diveModel.shown
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -503,9 +502,6 @@ Kirigami.ScrollablePage {
|
||||||
section.criteria: ViewSection.FullString
|
section.criteria: ViewSection.FullString
|
||||||
section.delegate: tripHeading
|
section.delegate: tripHeading
|
||||||
section.labelPositioning: ViewSection.CurrentLabelAtStart | ViewSection.InlineLabels
|
section.labelPositioning: ViewSection.CurrentLabelAtStart | ViewSection.InlineLabels
|
||||||
onModelChanged: {
|
|
||||||
numShownText = diveModel.shown()
|
|
||||||
}
|
|
||||||
Connections {
|
Connections {
|
||||||
target: detailsWindow
|
target: detailsWindow
|
||||||
onCurrentIndexChanged: diveListView.currentIndex = detailsWindow.currentIndex
|
onCurrentIndexChanged: diveListView.currentIndex = detailsWindow.currentIndex
|
||||||
|
@ -555,7 +551,6 @@ Kirigami.ScrollablePage {
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
rootItem.filterToggle = !rootItem.filterToggle
|
rootItem.filterToggle = !rootItem.filterToggle
|
||||||
manager.setFilter("", 0)
|
manager.setFilter("", 0)
|
||||||
numShownText = diveModel.shown()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -195,6 +195,7 @@ DiveListSortModel *DiveListSortModel::instance()
|
||||||
void DiveListSortModel::updateFilterState()
|
void DiveListSortModel::updateFilterState()
|
||||||
{
|
{
|
||||||
DiveFilter::instance()->updateAll();
|
DiveFilter::instance()->updateAll();
|
||||||
|
emit shownChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiveListSortModel::setSourceModel(QAbstractItemModel *sourceModel)
|
void DiveListSortModel::setSourceModel(QAbstractItemModel *sourceModel)
|
||||||
|
|
|
@ -47,11 +47,14 @@ public:
|
||||||
Q_INVOKABLE void reload();
|
Q_INVOKABLE void reload();
|
||||||
QString filterString;
|
QString filterString;
|
||||||
void updateFilterState();
|
void updateFilterState();
|
||||||
|
Q_PROPERTY(int shown READ shown NOTIFY shownChanged);
|
||||||
|
int shown();
|
||||||
public slots:
|
public slots:
|
||||||
int getIdxForId(int id);
|
int getIdxForId(int id);
|
||||||
void setFilter(QString f, FilterData::Mode mode);
|
void setFilter(QString f, FilterData::Mode mode);
|
||||||
void resetFilter();
|
void resetFilter();
|
||||||
int shown();
|
signals:
|
||||||
|
void shownChanged();
|
||||||
protected:
|
protected:
|
||||||
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
|
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Add table
Reference in a new issue