Fixed selection of view rows when changing to filtered data

* return values for select functions
* select function must be "public override"
* reselect filtered data as well
This commit is contained in:
Klaus Basan
2019-03-23 19:56:08 +01:00
committed by Mat Sutcliffe
parent 88e82404e2
commit 30b65d6c36
7 changed files with 54 additions and 27 deletions

View File

@@ -52,10 +52,10 @@ namespace BlackGui
ObjectType oldestObject() const;
//! Select given DB key
void selectDbKey(const KeyType &key);
bool selectDbKey(const KeyType &key);
//! Select given DB keys
void selectDbKeys(const QSet<KeyType> &keys);
int selectDbKeys(const QSet<KeyType> &keys);
//! Get selected DB keys
QSet<KeyType> selectedDbKeys() const;
@@ -66,6 +66,9 @@ namespace BlackGui
//! Update or insert data (based on DB key)
int replaceOrAddObjectsByKey(const ContainerType &container);
//! Select by DB keys
virtual void selectObjects(const ContainerType &selectedObjects) override;
protected:
//! Constructor
explicit CViewWithDbObjects(QWidget *parent = nullptr);
@@ -91,6 +94,9 @@ namespace BlackGui
//! Model DB key type
using KeyType = typename T::KeyType;
//! Select by DB keys
virtual void selectObjects(const ContainerType &selectedObjects) override;
protected:
//! Constructor
explicit COrderableViewWithDbObjects(QWidget *parent = nullptr);
@@ -98,9 +104,6 @@ namespace BlackGui
//! \copydoc BlackGui::Views::CViewBaseNonTemplate::customMenu
virtual void customMenu(BlackGui::Menus::CMenuActions &menuActions) override;
//! Reselect by DB keys
virtual void selectObjects(const ContainerType &selectedObjects) override;
//! Move selected items
void moveSelectedItems(int order);
@@ -124,4 +127,7 @@ namespace BlackGui
};
} // namespace
} // namespace
//! \endcond
#endif // guard