Merge remote-tracking branch 'main_repo/master' into git_is_pepega
This commit is contained in:
@@ -61,8 +61,6 @@ namespace {
|
||||
if (command.isNull())
|
||||
return QString();
|
||||
|
||||
qDebug() << command;
|
||||
|
||||
// inject switch to enable private browsing
|
||||
command = injectPrivateSwitch(command);
|
||||
if (command.isNull())
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include "common/ChatterinoSetting.hpp"
|
||||
#include "common/SignalVector.hpp"
|
||||
|
||||
namespace chatterino {
|
||||
|
||||
template <typename T>
|
||||
inline void persist(SignalVector<T> &vec, const std::string &name)
|
||||
{
|
||||
auto setting = std::make_unique<ChatterinoSetting<std::vector<T>>>(name);
|
||||
|
||||
for (auto &&item : setting->getValue())
|
||||
vec.append(item);
|
||||
|
||||
vec.delayedItemsChanged.connect([setting = setting.get(), vec = &vec] {
|
||||
setting->setValue(vec->raw());
|
||||
});
|
||||
|
||||
// TODO: Delete when appropriate.
|
||||
setting.release();
|
||||
}
|
||||
|
||||
} // namespace chatterino
|
||||
@@ -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,28 +25,33 @@ 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)));
|
||||
}
|
||||
|
||||
static void setFilePathItem(QStandardItem *item, const QUrl &value)
|
||||
static void setFilePathItem(QStandardItem *item, const QUrl &value,
|
||||
bool selectable = true)
|
||||
{
|
||||
item->setData(value, Qt::UserRole);
|
||||
item->setData(value.fileName(), Qt::DisplayRole);
|
||||
item->setFlags(Qt::ItemFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable));
|
||||
item->setFlags(
|
||||
Qt::ItemFlags(defaultItemFlags(selectable) |
|
||||
(selectable ? Qt::ItemIsSelectable : Qt::NoItemFlags)));
|
||||
}
|
||||
|
||||
static void setColorItem(QStandardItem *item, const QColor &value)
|
||||
static void setColorItem(QStandardItem *item, const QColor &value,
|
||||
bool selectable = true)
|
||||
{
|
||||
item->setData(value, Qt::DecorationRole);
|
||||
item->setFlags(Qt::ItemFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable));
|
||||
item->setFlags(
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user