* ChannelView: Rename mouse event related members
This is more in line with the naming of the other members as well as
future members.
* ChannelView: Add ability to scroll with middle mouse button
* Add scrolling resources
* Use custom icons for scroll cursor
* Slightly refactor scrolling logic
* Respect screen scaling when calculating scroll offset
* Nicer scrolling UX
This change allows scrolling to be feel smoother when close to the
starting point.
* Add scrolling with keeping middle mouse pressed
This mimics the behavior of browsers as well.
* Refactor ChannelView::enableScrolling
* Disable drag-scrolling on left or right click
* Don't require mod rights to listen to moderation actions topic
* Format timeout messages directed at you differently
e.g. "You were banned" or "You were timed out for 4h20m", also including
reason if specified.
* Better Highlights: Fix wrong color for migrated phrases
Prior to this commit, no default color was set when an "old" highlight
phrase (one added prior to #1320 / 5957551) was deserialized. This
commit makes highlight phrases uses the default self-highlight color for
these situations. This approach is reasonably sensible since that color
is also similar to the old highlight color.
Fixes#1565.
* Update default self-highlight color
The new default color was suggested in [1] by @RAnders00. Refer to the
link for further information.
[1]: https://github.com/Chatterino/chatterino2/issues/1565#issuecomment-590441625
* Theme: Remove highlight color
As highlight color is independent of the selected theme now, the member
has been removed from the `Theme` singleton. Instead, the fallback theme
color is defined in `HighlightPhrase` now.
Uses of `themes->messages.backgrounds.highlighted` have been replaced
with `HighlightPhrase::FALLBACK_COLOR` accordingly.
* Update src/controllers/highlights/HighlightPhrase.hpp
attempt to just remove constexpr
Co-Authored-By: Ruben Anders <ruben.anders@robotty.de>
* Initialize FALLBACK_COLOR outside header file
* Rename FALLBACK_COLOR to FALLBACK_HIGHLIGHT_COLOR
In preparation for the next commit introducing a new variable.
* Moved subscription highlight color into HighlightPhrase
* Use actual subscription color as a fallback
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Ruben Anders <ruben.anders@robotty.de>
There's a document in src/providers/twitch/api which describes how we interact with the Twitch API.
Keeping this up to date might be a healthy way for us to ensure we keep using the right APIs for the right job.
Fixes#1546
This change introduces a "window timer" that runs every 100ms that we
use to update the pixmap if necessary, since there is no signal for "let
me know when this image is done loading".
- get rid of `getImageFileFormat`, now uses QMimeDatabase
- now uses a `QMutex` to be thread safe,
- uploading two things at the same time is now impossible
This commit is in response to #1523.
Whispers are now only added to the `/mentions` tab if they also match a
user name or phrase highlight. On a related note, the `highlightVisual_`
member has been removed as it is no longer necessary.
* HighlightPhrase: Fix wrong documentation
* Use right constructor for new HighlightPhrases
* Fix preset highlights changing unintentionally
Prior to this commit, the callback for reacting to user input on the
highlight table (namely, `HighlightingPage::tableCellClicked`) only
checked for the row number in order to determine whether preset
highlights (self highlights, whispers, and subscriptions) need to be
updated. Hence, changing rows 0 through 2 in the "User Highlights" tab
would also update the preset highlights.
This commit adds a check to determine whether the callback was triggered
by the "Messages" highlight tab, or not.
Since #1320, subscription messages are treated as highlights in order to
allow customization. This caused subscription messages to highlight the
split(s) the message was received in. This is not intended behavior.
This commit fixes the issue by additionally checking if the
`Subscription` flag is set on a highlighted message.
* Support for user-defined sounds and colors
* Make color & sound columns selectable
* Add custom row for subscription highlights
* Add subscriptions to custom highlights and centrally manage highlight colors
* Dynamically update message highlight colors
* Introduce crossPlatformCopy()
It sets the text of the clipboard and also syncs it with the selection
clipboard if it is supported. Such behaviour is pretty common for X11
application on Unix-like Operating Systems.
* Fix clang-format remarks
* Fix weird clang-format config discrepancy between my machine and CI
* Remove clipboard argument from crossPlatformCopy
* Fix clang-format remarks
* Channel text for offline chats
* Title refresh timer
* Fixed typo
* Refresh title when room id is loaded
* removed timer
* Typo
* Loaded on demand when hovered over
* removed the extra api request
* Moved refreshTitle function call
* Added thottling for 10s
* Fixed formating style
* reformat
* make status fetcher safer
* Requested changes from fourtf
Things changed:
- make getImageFileFormat case insensitive
- use QTextEdit::dragEnterEvent instead of QAbstractScrollArea::dragEnterEvent,
- Make dragEnterEvent() and dropEvent() overrides.
This includes:
- NuulsUploader.cpp
- changing upload delay to a #define
- moving png conversion code to `boost::optional<QByteArray> convertToPng(QImage image)`
- in uploadImageToNuuls: moving content type definition to a variable, move things around a bit to eliminate an if
- in upload: adding a comment about `source->hasUrls()` and `source->urls()`, change `uploadQueue.size()` to `!uploadQueue.empty()`
- ResizingTextEdit.cpp
- changing #include order