//#pragma once //#include "util/serialize-custom.hpp" //#include //#include //namespace chatterino { //namespace messages { //struct HighlightPhrase { // QString key; // bool alert; // bool sound; // bool regex; // bool operator==(const HighlightPhrase &other) const // { // return std::tie(this->key, this->sound, this->alert, this->regex) == // std::tie(other.key, other.sound, other.alert, other.regex); // } //}; //} // namespace messages //} // namespace chatterino //namespace pajlada { //namespace Settings { //template <> //struct Serialize { // static rapidjson::Value get(const chatterino::messages::HighlightPhrase &value, // rapidjson::Document::AllocatorType &a) // { // rapidjson::Value ret(rapidjson::kObjectType); // AddMember(ret, "key", value.key, a); // AddMember(ret, "alert", value.alert, a); // AddMember(ret, "sound", value.sound, a); // AddMember(ret, "regex", value.regex, a); // return ret; // } //}; //template <> //struct Deserialize { // static chatterino::messages::HighlightPhrase get(const rapidjson::Value &value) // { // chatterino::messages::HighlightPhrase ret; // if (!value.IsObject()) { // return ret; // } // if (value.HasMember("key")) { // const rapidjson::Value &key = value["key"]; // if (key.IsString()) { // ret.key = key.GetString(); // } // } // if (value.HasMember("alert")) { // const rapidjson::Value &alert = value["alert"]; // if (alert.IsBool()) { // ret.alert = alert.GetBool(); // } // } // if (value.HasMember("sound")) { // const rapidjson::Value &sound = value["sound"]; // if (sound.IsBool()) { // ret.sound = sound.GetBool(); // } // } // if (value.HasMember("regex")) { // const rapidjson::Value ®ex = value["regex"]; // if (regex.IsBool()) { // ret.regex = regex.GetBool(); // } // } // return ret; // } //}; //} // namespace Settings //} // namespace pajlada