This commit is contained in:
fourtf
2020-02-20 23:37:46 +01:00
parent d6c3c99605
commit 4a69095d5f
4 changed files with 21 additions and 17 deletions
+15 -8
View File
@@ -4,12 +4,20 @@
namespace chatterino {
static auto defaultItemFlags(bool selectable)
{
return Qt::ItemIsEnabled |
(selectable ? Qt::ItemIsSelectable | Qt::ItemIsDragEnabled |
Qt::ItemIsDropEnabled
: Qt::ItemFlag());
}
static void setBoolItem(QStandardItem *item, bool value,
bool userCheckable = true, bool selectable = true)
{
item->setFlags(Qt::ItemFlags(
Qt::ItemIsEnabled | (selectable ? Qt::ItemIsSelectable : 0) |
(userCheckable ? Qt::ItemIsUserCheckable : 0)));
item->setFlags(
Qt::ItemFlags(defaultItemFlags(selectable) |
(userCheckable ? Qt::ItemIsUserCheckable : 0)));
item->setCheckState(value ? Qt::Checked : Qt::Unchecked);
}
@@ -17,8 +25,7 @@ static void setStringItem(QStandardItem *item, const QString &value,
bool editable = true, bool selectable = true)
{
item->setData(value, Qt::EditRole);
item->setFlags(Qt::ItemFlags(Qt::ItemIsEnabled |
(selectable ? Qt::ItemIsSelectable : 0) |
item->setFlags(Qt::ItemFlags(defaultItemFlags(selectable) |
(editable ? (Qt::ItemIsEditable) : 0)));
}
@@ -28,7 +35,7 @@ static void setFilePathItem(QStandardItem *item, const QUrl &value,
item->setData(value, Qt::UserRole);
item->setData(value.fileName(), Qt::DisplayRole);
item->setFlags(
Qt::ItemFlags(Qt::ItemIsEnabled |
Qt::ItemFlags(defaultItemFlags(selectable) |
(selectable ? Qt::ItemIsSelectable : Qt::NoItemFlags)));
}
@@ -37,14 +44,14 @@ static void setColorItem(QStandardItem *item, const QColor &value,
{
item->setData(value, Qt::DecorationRole);
item->setFlags(
Qt::ItemFlags(Qt::ItemIsEnabled |
Qt::ItemFlags(defaultItemFlags(selectable) |
(selectable ? Qt::ItemIsSelectable : Qt::NoItemFlags)));
}
static QStandardItem *emptyItem()
{
auto *item = new QStandardItem();
item->setFlags(Qt::ItemFlags(0));
item->setFlags(Qt::ItemFlags());
return item;
}