added add account login back in

This commit is contained in:
fourtf
2018-05-27 03:17:33 +02:00
parent 7e68e662e3
commit 0fed9ca5d2
5 changed files with 22 additions and 15 deletions
+12 -11
View File
@@ -11,6 +11,13 @@
namespace chatterino {
namespace util {
template <typename TVectorItem>
struct SignalVectorItemArgs {
const TVectorItem &item;
int index;
void *caller;
};
template <typename TVectorItem>
class ReadOnlySignalVector : boost::noncopyable
{
@@ -24,14 +31,8 @@ public:
}
virtual ~ReadOnlySignalVector() = default;
struct ItemArgs {
const TVectorItem &item;
int index;
void *caller;
};
pajlada::Signals::Signal<ItemArgs> itemInserted;
pajlada::Signals::Signal<ItemArgs> itemRemoved;
pajlada::Signals::Signal<SignalVectorItemArgs<TVectorItem>> itemInserted;
pajlada::Signals::Signal<SignalVectorItemArgs<TVectorItem>> itemRemoved;
pajlada::Signals::NoArgSignal delayedItemsChanged;
const std::vector<TVectorItem> &getVector() const
@@ -69,7 +70,7 @@ public:
TVectorItem item = this->vector[index];
this->vector.erase(this->vector.begin() + index);
typename ReadOnlySignalVector<TVectorItem>::ItemArgs args{item, index, caller};
SignalVectorItemArgs<TVectorItem> args{item, index, caller};
this->itemRemoved.invoke(args);
this->invokeDelayedItemsChanged();
@@ -96,7 +97,7 @@ public:
this->vector.insert(this->vector.begin() + index, item);
typename ReadOnlySignalVector<TVectorItem>::ItemArgs args{item, index, caller};
SignalVectorItemArgs<TVectorItem> args{item, index, caller};
this->itemInserted.invoke(args);
this->invokeDelayedItemsChanged();
return index;
@@ -115,7 +116,7 @@ public:
int index = it - this->vector.begin();
this->vector.insert(it, item);
typename ReadOnlySignalVector<TVectorItem>::ItemArgs args{item, index, caller};
SignalVectorItemArgs<TVectorItem> args{item, index, caller};
this->itemInserted.invoke(args);
this->invokeDelayedItemsChanged();
return index;
+2 -2
View File
@@ -27,7 +27,7 @@ public:
{
this->vector = vec;
auto insert = [this](const typename BaseSignalVector<TVectorItem>::ItemArgs &args) {
auto insert = [this](const SignalVectorItemArgs<TVectorItem> &args) {
if (args.caller == this) {
return;
}
@@ -50,7 +50,7 @@ public:
int i = 0;
for (const TVectorItem &item : vec->getVector()) {
typename BaseSignalVector<TVectorItem>::ItemArgs args{item, i++, 0};
SignalVectorItemArgs<TVectorItem> args{item, i++, 0};
insert(args);
}