mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
Compare commits
14 commits
98bddba9dd
...
e4f024f760
Author | SHA1 | Date | |
---|---|---|---|
|
e4f024f760 | ||
|
74a385dfee | ||
|
439d21d009 | ||
|
8d9617df96 | ||
|
16042e7f8a | ||
|
d4c1ef5f80 | ||
|
5b2341aaa0 | ||
|
2d93ceed67 | ||
|
50b2decd1b | ||
|
2a9b8e15c4 | ||
|
e9bebfe788 | ||
|
5e25722d9a | ||
|
b38bfd4feb | ||
|
cd2ab5e0cd |
8 changed files with 49 additions and 12 deletions
|
@ -62,6 +62,7 @@
|
|||
- Bugfix: Fixed incorrect message being disabled in some cases upon approving or denying an automod caught message. (#5611)
|
||||
- Bugfix: Fixed double-click selection not working when clicking outside a message. (#5617)
|
||||
- Bugfix: Fixed emotes starting with ":" not tab-completing. (#5603)
|
||||
- Bugfix: Fixed 7TV emotes messing with Qt's HTML. (#5677)
|
||||
- Dev: Update Windows build from Qt 6.5.0 to Qt 6.7.1. (#5420)
|
||||
- Dev: Update vcpkg build Qt from 6.5.0 to 6.7.0, boost from 1.83.0 to 1.85.0, openssl from 3.1.3 to 3.3.0. (#5422)
|
||||
- Dev: Unsingletonize `ISoundController`. (#5462)
|
||||
|
|
|
@ -9,6 +9,8 @@ namespace {
|
|||
|
||||
} // namespace
|
||||
|
||||
// change made but removed in merge conflict
|
||||
// QColor HighlightPhrase::FALLBACK_HIGHLIGHT_COLOR = QColor(238, 97, 102, 65);
|
||||
QColor HighlightPhrase::FALLBACK_HIGHLIGHT_COLOR = QColor(127, 63, 73, 127);
|
||||
QColor HighlightPhrase::FALLBACK_SELF_MESSAGE_HIGHLIGHT_COLOR =
|
||||
QColor(0, 118, 221, 115);
|
||||
|
|
|
@ -79,7 +79,8 @@ bool isZeroWidthRecommended(const QJsonObject &emoteData)
|
|||
Tooltip createTooltip(const QString &name, const QString &author, bool isGlobal)
|
||||
{
|
||||
return Tooltip{QString("%1<br>%2 7TV Emote<br>By: %3")
|
||||
.arg(name, isGlobal ? "Global" : "Channel",
|
||||
.arg(name.toHtmlEscaped(),
|
||||
isGlobal ? "Global" : "Channel",
|
||||
author.isEmpty() ? "<deleted>" : author)};
|
||||
}
|
||||
|
||||
|
@ -87,7 +88,8 @@ Tooltip createAliasedTooltip(const QString &name, const QString &baseName,
|
|||
const QString &author, bool isGlobal)
|
||||
{
|
||||
return Tooltip{QString("%1<br>Alias of %2<br>%3 7TV Emote<br>By: %4")
|
||||
.arg(name, baseName, isGlobal ? "Global" : "Channel",
|
||||
.arg(name.toHtmlEscaped(), baseName.toHtmlEscaped(),
|
||||
isGlobal ? "Global" : "Channel",
|
||||
author.isEmpty() ? "<deleted>" : author)};
|
||||
}
|
||||
|
||||
|
|
|
@ -1190,11 +1190,13 @@ void ChannelView::messageAppended(MessagePtr &message,
|
|||
(this->channel_->getType() == Channel::Type::TwitchAutomod &&
|
||||
getSettings()->enableAutomodHighlight))
|
||||
{
|
||||
this->tabHighlightRequested.invoke(HighlightState::Highlighted);
|
||||
this->tabHighlightRequested.invoke(HighlightState::Highlighted,
|
||||
message->highlightColor);
|
||||
}
|
||||
else
|
||||
{
|
||||
this->tabHighlightRequested.invoke(HighlightState::NewMessage);
|
||||
this->tabHighlightRequested.invoke(HighlightState::NewMessage,
|
||||
nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "widgets/TooltipWidget.hpp"
|
||||
|
||||
#include <pajlada/signals/signal.hpp>
|
||||
#include <QColor>
|
||||
#include <QGestureEvent>
|
||||
#include <QMenu>
|
||||
#include <QPaintEvent>
|
||||
|
@ -21,6 +22,7 @@
|
|||
#include <QWheelEvent>
|
||||
#include <QWidget>
|
||||
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
|
||||
|
@ -214,7 +216,8 @@ public:
|
|||
|
||||
pajlada::Signals::Signal<QMouseEvent *> mouseDown;
|
||||
pajlada::Signals::NoArgSignal selectionChanged;
|
||||
pajlada::Signals::Signal<HighlightState> tabHighlightRequested;
|
||||
pajlada::Signals::Signal<HighlightState, std::shared_ptr<QColor>>
|
||||
tabHighlightRequested;
|
||||
pajlada::Signals::NoArgSignal liveStatusChanged;
|
||||
pajlada::Signals::Signal<const Link &> linkClicked;
|
||||
pajlada::Signals::Signal<QString, FromTwitchLinkOpenChannelIn>
|
||||
|
|
|
@ -307,6 +307,7 @@ void NotebookTab::setSelected(bool value)
|
|||
this->selected_ = value;
|
||||
|
||||
this->highlightState_ = HighlightState::None;
|
||||
this->highlightColor_ = nullptr;
|
||||
|
||||
this->update();
|
||||
}
|
||||
|
@ -397,6 +398,15 @@ bool NotebookTab::hasHighlightsEnabled() const
|
|||
return this->highlightEnabled_;
|
||||
}
|
||||
|
||||
void NotebookTab::setHighlightColor(std::shared_ptr<QColor> color)
|
||||
{
|
||||
if (this->highlightColor_ != color)
|
||||
{
|
||||
this->highlightColor_ = color;
|
||||
this->update();
|
||||
}
|
||||
}
|
||||
|
||||
QRect NotebookTab::getDesiredRect() const
|
||||
{
|
||||
return QRect(this->positionAnimationDesiredPoint_, size());
|
||||
|
@ -499,6 +509,14 @@ void NotebookTab::paintEvent(QPaintEvent *)
|
|||
: (windowFocused ? colors.line.regular
|
||||
: colors.line.unfocused);
|
||||
|
||||
if (this->highlightState_ == HighlightState::Highlighted &&
|
||||
this->highlightColor_ != nullptr)
|
||||
{
|
||||
QColor col = *this->highlightColor_;
|
||||
col.setAlpha(255);
|
||||
lineColor = col;
|
||||
}
|
||||
|
||||
QRect lineRect;
|
||||
switch (this->tabLocation_)
|
||||
{
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include <pajlada/settings/setting.hpp>
|
||||
#include <pajlada/signals/signalholder.hpp>
|
||||
#include <QColor>
|
||||
#include <QMenu>
|
||||
#include <QPropertyAnimation>
|
||||
|
||||
|
@ -64,6 +65,7 @@ public:
|
|||
|
||||
void setHighlightsEnabled(const bool &newVal);
|
||||
bool hasHighlightsEnabled() const;
|
||||
void setHighlightColor(std::shared_ptr<QColor> color);
|
||||
|
||||
void moveAnimated(QPoint targetPos, bool animated = true);
|
||||
|
||||
|
@ -127,6 +129,7 @@ private:
|
|||
HighlightState highlightState_ = HighlightState::None;
|
||||
bool highlightEnabled_ = true;
|
||||
QAction *highlightNewMessagesAction_;
|
||||
std::shared_ptr<QColor> highlightColor_;
|
||||
|
||||
bool isLive_{};
|
||||
bool isRerun_{};
|
||||
|
|
|
@ -213,13 +213,19 @@ void SplitContainer::addSplit(Split *split)
|
|||
|
||||
auto &&conns = this->connectionsPerSplit_[split];
|
||||
|
||||
conns.managedConnect(split->getChannelView().tabHighlightRequested,
|
||||
[this](HighlightState state) {
|
||||
if (this->tab_ != nullptr)
|
||||
{
|
||||
this->tab_->setHighlightState(state);
|
||||
}
|
||||
});
|
||||
conns.managedConnect(
|
||||
split->getChannelView().tabHighlightRequested,
|
||||
[this](HighlightState state, std::shared_ptr<QColor> color) {
|
||||
if (this->tab_ != nullptr)
|
||||
{
|
||||
this->tab_->setHighlightState(state);
|
||||
|
||||
if (color != nullptr)
|
||||
{
|
||||
this->tab_->setHighlightColor(color);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
conns.managedConnect(split->getChannelView().liveStatusChanged, [this]() {
|
||||
this->refreshTabLiveStatus();
|
||||
|
|
Loading…
Reference in a new issue