Skip to content
Snippets Groups Projects
Commit b6ac1c96 authored by Emmanuel Lepage Vallee's avatar Emmanuel Lepage Vallee
Browse files

categorizedproxymodel: Add more customization for categories

The current settings were hardcoded and forced unwanted behavior.

Refs #69290
parent 21f70bc6
No related branches found
No related tags found
No related merge requests found
......@@ -87,6 +87,8 @@ public:
QHash<QString,ContactTreeNode*> m_hCategories ;
int m_Role ;
QStringList m_lMimes ;
bool m_SortAlphabetical ;
QString m_DefaultCategory ;
//Helper
ContactTreeNode* getContactTopLevelItem(const QString& category);
......@@ -173,7 +175,7 @@ void ContactTreeNode::slotContactMethodCountAboutToChange(int count, int oldCoun
}
CategorizedContactModelPrivate::CategorizedContactModelPrivate(CategorizedContactModel* parent) : QObject(parent), q_ptr(parent),
m_lCategoryCounter(),m_Role(Qt::DisplayRole)
m_lCategoryCounter(),m_Role(Qt::DisplayRole),m_SortAlphabetical(true)
{
}
......@@ -502,8 +504,10 @@ QString CategorizedContactModelPrivate::category(const Person* ct) const {
QString cat = ct->roleData(m_Role).toString();
if (cat.size())
if (cat.size() && m_SortAlphabetical)
cat = cat[0].toUpper();
else if (!cat.size())
cat = m_DefaultCategory;
return cat;
}
......@@ -516,4 +520,24 @@ void CategorizedContactModel::setRole(int role)
}
}
void CategorizedContactModel::setSortAlphabetical(bool alpha)
{
d_ptr->m_SortAlphabetical = alpha;
}
bool CategorizedContactModel::isSortAlphabetical() const
{
return d_ptr->m_SortAlphabetical;
}
void CategorizedContactModel::setDefaultCategory(const QString& cat)
{
d_ptr->m_DefaultCategory = cat;
}
QString CategorizedContactModel::defaultCategory() const
{
return d_ptr->m_DefaultCategory;
}
#include <categorizedcontactmodel.moc>
......@@ -46,6 +46,8 @@ public:
//Setters
void setRole(int role);
void setSortAlphabetical(bool alpha = true);
void setDefaultCategory(const QString& cat);
//Model implementation
virtual bool setData ( const QModelIndex& index, const QVariant &value, int role ) override;
......@@ -62,7 +64,9 @@ public:
virtual QHash<int,QByteArray> roleNames() const override;
//Getter
static int acceptedPayloadTypes();
static int acceptedPayloadTypes() ;
bool isSortAlphabetical () const;
QString defaultCategory () const;
private:
QScopedPointer<CategorizedContactModelPrivate> d_ptr;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment