summary refs log tree commit diff
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-11 19:28:32 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-11 19:30:22 +0200
commit6d08e67abd9c000cc55d85aa1e8808c82e04fffd (patch)
tree581b598e4bfb5fc84754229d977c7c7238005f23
parentRoomList: do not blindly dereference RoomState (#232) (diff)
downloadnheko-6d08e67abd9c000cc55d85aa1e8808c82e04fffd.tar.xz
Simplify variant access with std::visit
-rw-r--r--CMakeLists.txt2
-rw-r--r--src/timeline/TimelineView.cc74
2 files changed, 2 insertions, 74 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt

index 2997f668..691c2171 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -77,7 +77,7 @@ endif(Qt5Widgets_FOUND) # set(CMAKE_C_COMPILER gcc) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) diff --git a/src/timeline/TimelineView.cc b/src/timeline/TimelineView.cc
index 7ec5023b..d32832a4 100644 --- a/src/timeline/TimelineView.cc +++ b/src/timeline/TimelineView.cc
@@ -729,79 +729,7 @@ TimelineView::createDateSeparator(QDateTime datetime) QString TimelineView::getEventSender(const mtx::events::collections::TimelineEvents &event) const { - using Aliases = mtx::events::StateEvent<mtx::events::state::Aliases>; - using Avatar = mtx::events::StateEvent<mtx::events::state::Avatar>; - using CanonicalAlias = mtx::events::StateEvent<mtx::events::state::CanonicalAlias>; - using Create = mtx::events::StateEvent<mtx::events::state::Create>; - using HistoryVisibility = mtx::events::StateEvent<mtx::events::state::HistoryVisibility>; - using JoinRules = mtx::events::StateEvent<mtx::events::state::JoinRules>; - using Member = mtx::events::StateEvent<mtx::events::state::Member>; - using Name = mtx::events::StateEvent<mtx::events::state::Name>; - using PowerLevels = mtx::events::StateEvent<mtx::events::state::PowerLevels>; - using Topic = mtx::events::StateEvent<mtx::events::state::Topic>; - - using Audio = mtx::events::RoomEvent<mtx::events::msg::Audio>; - using Emote = mtx::events::RoomEvent<mtx::events::msg::Emote>; - using File = mtx::events::RoomEvent<mtx::events::msg::File>; - using Image = mtx::events::RoomEvent<mtx::events::msg::Image>; - using Notice = mtx::events::RoomEvent<mtx::events::msg::Notice>; - using Text = mtx::events::RoomEvent<mtx::events::msg::Text>; - using Video = mtx::events::RoomEvent<mtx::events::msg::Video>; - - if (mpark::holds_alternative<Aliases>(event)) { - auto msg = mpark::get<Aliases>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Avatar>(event)) { - auto msg = mpark::get<Avatar>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<CanonicalAlias>(event)) { - auto msg = mpark::get<CanonicalAlias>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Create>(event)) { - auto msg = mpark::get<Create>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<HistoryVisibility>(event)) { - auto msg = mpark::get<HistoryVisibility>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<JoinRules>(event)) { - auto msg = mpark::get<JoinRules>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Name>(event)) { - auto msg = mpark::get<Name>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Member>(event)) { - auto msg = mpark::get<Member>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<PowerLevels>(event)) { - auto msg = mpark::get<PowerLevels>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Topic>(event)) { - auto msg = mpark::get<Topic>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Audio>(event)) { - auto msg = mpark::get<Audio>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Emote>(event)) { - auto msg = mpark::get<Emote>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<File>(event)) { - auto msg = mpark::get<File>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Image>(event)) { - auto msg = mpark::get<Image>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Notice>(event)) { - auto msg = mpark::get<Notice>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Text>(event)) { - auto msg = mpark::get<Text>(event); - return QString::fromStdString(msg.sender); - } else if (mpark::holds_alternative<Video>(event)) { - auto msg = mpark::get<Video>(event); - return QString::fromStdString(msg.sender); - } - - return QString(""); + return mpark::visit([](auto msg) { return QString::fromStdString(msg.sender); }, event); } void