started fixing clicking emtoes
This commit is contained in:
@@ -834,6 +834,8 @@ void ChannelView::mouseReleaseEvent(QMouseEvent *event)
|
||||
this->channel->sendMessage(value);
|
||||
}
|
||||
}
|
||||
|
||||
this->linkClicked.invoke(link);
|
||||
}
|
||||
|
||||
bool ChannelView::tryGetMessageAt(QPoint p, std::shared_ptr<messages::MessageLayout> &_message,
|
||||
|
||||
@@ -50,6 +50,7 @@ public:
|
||||
boost::signals2::signal<void(QMouseEvent *)> mouseDown;
|
||||
boost::signals2::signal<void()> selectionChanged;
|
||||
pajlada::Signals::NoArgSignal highlightedMessageReceived;
|
||||
pajlada::Signals::Signal<const messages::Link &> linkClicked;
|
||||
|
||||
protected:
|
||||
virtual void refreshTheme() override;
|
||||
|
||||
@@ -52,8 +52,13 @@ SplitInput::SplitInput(Split *_chatWidget)
|
||||
"/>");
|
||||
|
||||
connect(&this->emotesLabel, &RippleEffectLabel::clicked, [this] {
|
||||
if (this->emotePopup == nullptr) {
|
||||
this->emotePopup = new EmotePopup(this->themeManager);
|
||||
if (!this->emotePopup) {
|
||||
this->emotePopup = std::make_unique<EmotePopup>(this->themeManager);
|
||||
this->emotePopup->linkClicked.connect([this](const messages::Link &link) {
|
||||
if (link.getType() == messages::Link::InsertText) {
|
||||
this->insertText(link.getValue());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
this->emotePopup->resize((int)(300 * this->emotePopup->getDpiMultiplier()),
|
||||
@@ -210,6 +215,11 @@ QString SplitInput::getInputText() const
|
||||
return this->textInput.toPlainText();
|
||||
}
|
||||
|
||||
void SplitInput::insertText(const QString &text)
|
||||
{
|
||||
this->textInput.insertPlainText(text);
|
||||
}
|
||||
|
||||
void SplitInput::refreshTheme()
|
||||
{
|
||||
QPalette palette;
|
||||
|
||||
@@ -27,6 +27,7 @@ public:
|
||||
|
||||
void clearSelection();
|
||||
QString getInputText() const;
|
||||
void insertText(const QString &text);
|
||||
|
||||
pajlada::Signals::Signal<const QString &> textChanged;
|
||||
|
||||
@@ -38,7 +39,7 @@ protected:
|
||||
|
||||
private:
|
||||
Split *const chatWidget;
|
||||
EmotePopup *emotePopup = nullptr;
|
||||
std::unique_ptr<EmotePopup> emotePopup;
|
||||
|
||||
std::vector<pajlada::Signals::ScopedConnection> managedConnections;
|
||||
QHBoxLayout hbox;
|
||||
|
||||
Reference in New Issue
Block a user