From a27757e440930343a5345ce5958eb946c754477f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= <44851575+zneix@users.noreply.github.com> Date: Sat, 31 Oct 2020 18:17:43 +0100 Subject: [PATCH] Added placeholder for Split's textEdit (#2143) --- CHANGELOG.md | 1 + src/widgets/splits/Split.cpp | 25 +++++++++++++++++++++++++ src/widgets/splits/Split.hpp | 3 +++ 3 files changed, 29 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f38ed1788..2a1d5254f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unversioned +- Minor: Added placeholder text for message text input box. (#2143) - Minor: Added support for FrankerFaceZ badges. (#2101, part of #1658) - Minor: Added a navigation list to the settings and reordered them. - Major: Added "Channel Filters". See https://wiki.chatterino.com/Filters/ for how they work or how to configure them. (#1748, #2083) diff --git a/src/widgets/splits/Split.cpp b/src/widgets/splits/Split.cpp index 30f4d75a7..62323d1a3 100644 --- a/src/widgets/splits/Split.cpp +++ b/src/widgets/splits/Split.cpp @@ -1,5 +1,6 @@ #include "widgets/splits/Split.hpp" +#include "Application.hpp" #include "common/Common.hpp" #include "common/Env.hpp" #include "common/NetworkRequest.hpp" @@ -132,6 +133,11 @@ Split::Split(QWidget *parent) this->input_->ui_.textEdit->installEventFilter(parent); + this->signalHolder_.managedConnect( + getApp()->accounts->twitch.currentUserChanged, + [this] { this->onAccountSelected(); }); + this->onAccountSelected(); + this->view_->mouseDown.connect([this](QMouseEvent *) { // this->giveFocus(Qt::MouseFocusReason); }); @@ -275,6 +281,25 @@ void Split::setContainer(SplitContainer *container) this->container_ = container; } +void Split::onAccountSelected() +{ + auto user = getApp()->accounts->twitch.getCurrent(); + QString placeholderText; + + if (user->isAnon()) + { + placeholderText = "Log in to send messages..."; + } + else + { + placeholderText = + QString("Send message as %1...") + .arg(getApp()->accounts->twitch.getCurrent()->getUserName()); + } + + this->input_->ui_.textEdit->setPlaceholderText(placeholderText); +} + IndirectChannel Split::getIndirectChannel() { return this->channel_; diff --git a/src/widgets/splits/Split.hpp b/src/widgets/splits/Split.hpp index de03fb2c8..491a8eee2 100644 --- a/src/widgets/splits/Split.hpp +++ b/src/widgets/splits/Split.hpp @@ -3,6 +3,7 @@ #include "common/Aliases.hpp" #include "common/Channel.hpp" #include "common/NullablePtr.hpp" +#include "pajlada/signals/signalholder.hpp" #include "widgets/BaseWidget.hpp" #include @@ -95,6 +96,7 @@ protected: private: void channelNameUpdated(const QString &newChannelName); void handleModifiers(Qt::KeyboardModifiers modifiers); + void onAccountSelected(); SplitContainer *container_; IndirectChannel channel_; @@ -118,6 +120,7 @@ private: pajlada::Signals::Connection roomModeChangedConnection_; pajlada::Signals::Connection indirectChannelChangedConnection_; + pajlada::Signals::SignalHolder signalHolder_; std::vector managedConnections_;