Commit Graph

191 Commits

Author SHA1 Message Date
nerix 3265df7661 Fixed too much text being copied when copying chat messages (#4812)
* fix: selection copying too much

* chore: add changelog entry

* Update changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-17 12:37:02 +00:00
nerix 515c40f857 Use QFontMetrics::elidedText over manual implementation (#4807) 2023-09-09 12:09:25 +00:00
pajlada d4558b5fe5 Fix all warnings from the cppcoreguidelines-pro-type-member-init clang-tidy check (#4426) 2023-09-09 11:11:19 +00:00
pajlada 877a4e05fa Remove boost::noncopyable use & boost::random dependency (#4776)
The use has been removed from the following files:
* Atomic.hpp
* SignalVector.hpp
* Benchmark.hpp
* IvrApi
* LoggingChannel.hpp
* Singleton.hpp
* Image.hpp
* PrecompiledHeader.hpp
* Message.hpp
* MessageElement.hpp
* MessageLayout.hpp
* MessageLayoutElement.hpp
* Fonts.hpp (just include)
2023-09-09 10:23:20 +00:00
nerix 71594ad0d8 Remove getApp and getSettings calls from Message-Rendering (#4535)
* refactor: remove singletons from message rendering

* chore: add changelog entry

* Disable the `cppcoreguidelines-avoid-const-or-ref-data-members` clang-tidy check

* auto *app

* Selection is a struct, not a class

* Use ChannelView's `signalHolder_` instead of `channelConnections_`

* Remove `applySettings` step, instead just connect & set each setting individually

* rename & constify some context values

* Handle empty "last message color" setting value better (as it was
        originally in this pr before I removed that change :-)

* unrelated mini refactor cleanup

* let painSelection handle size_t instead of int

* Add some more comments to the MessageLayoutContext structs

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-30 12:52:39 +00:00
mohad12211 c907f2b170 Fix spacing issue with mentions inside RTL text (#4677)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-10 13:44:45 +00:00
Daniel Sage 73435b4cf4 Remove unused variables, Refactor in MessageLayout (#4520)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-08 10:25:43 +00:00
Daniel Sage 0acbc0d2c3 Formalize zero-width emote implementation (#4314)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 12:30:08 -04:00
nerix 93a9e41d31 Cleanup Theme-related Code (#4450) 2023-03-17 19:53:03 +00:00
nerix 1043f9f803 Remove Unnecessary Includes in Headers (#4275)
* refactor: remove unnecessary includes in headers

* fix: formatting

* chore: changelog

* fix: scrollbar

* fix: suggestions and old appbase remains

* fix: suggestion

* fix: missing Qt forward declarations

* fix: another qt include

* fix: includes for precompiled-headers=off

* Add missing `<memory>` includes

* Add missing `#pragma once`

* Fix tests

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-31 14:41:01 +00:00
nerix 86e71c8bd9 Migrate to C++ 20 & switch to websocketpp develop branch (#4252)
* feat: c++ 20

* fix: c++ 20 deprecations

* fix(msvc): warnings

* chore: add changelog entry

* fix: formatting

* Update websocketpp to the `develop` branch

* Specify other template type in FlagsEnum != operator

* Remove the user of simple template ids in our websocketpp template class

Also standardizes the file a bit by using nested namespaces, using
pragma once

* fix: turn `MAGIC_MESSAGE_SUFFIX` into a `QString`

* hacky unhacky hacky const char hack

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-24 11:56:11 +00:00
pajlada 032f290767 Sort and force grouping of includes (#4172)
This change enforces strict include grouping using IncludeCategories

In addition to adding this to the .clang-format file and applying it in the tests/src and src directories, I also did the following small changes:

    In ChatterSet.hpp, I changed lrucache to a <>include
    In Irc2.hpp, I change common/SignalVector.hpp to a "project-include"
    In AttachedWindow.cpp, NativeMessaging.cpp, WindowsHelper.hpp, BaseWindow.cpp, and StreamerMode.cpp, I disabled clang-format for the windows-includes
    In WindowDescriptors.hpp, I added the missing vector include. It was previously not needed because the include was handled by another file that was previously included first.
    clang-format minimum version has been bumped, so Ubuntu version used in the check-formatting job has been bumped to 22.04 (which is the latest LTS)
2022-11-27 19:32:53 +01:00
mohad12211 fe2a9ccbff fix neutral elements order in multiple lines (#4173)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-25 11:24:28 +01:00
nerix 82d345bc76 fix: Limiting the height of a message that contains some RTL text causes a crash (#4168)
Co-authored-by: mohad12211 <51754973+mohad12211@users.noreply.github.com>
Fixes https://github.com/Chatterino/chatterino2/issues/4166
2022-11-20 15:30:51 +00:00
pajlada 011facc13a Fix crashes that can occur when selecting/copying text (#4153) 2022-11-15 23:32:15 +00:00
kornes d409e3f17d Improved text selection (#4127)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-13 11:26:33 +00:00
kornes 2a9c15b2de Fix triple click selection on message containing reply (#4131)
closes https://github.com/Chatterino/chatterino2/issues/4128
2022-11-12 12:44:03 +00:00
Salman Abuhaimed 070151fbc8 change unicode for better font support and fix some cases (#4139)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-12 08:30:44 +00:00
mohad12211 3fcb7e1702 Implement initial support for RTL languages (#3958)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
fix https://github.com/Chatterino/chatterino2/issues/720
2022-11-10 20:36:19 +00:00
Mm2PL df4c294875 Allow hiding moderation actions in streamer mode (#3926)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-06 16:30:53 +00:00
Daniel Sage 36402a2faf Fix Reply Text Showing In Reply Thread Popup (#4101) 2022-11-02 23:20:37 +00:00
Daniel Sage 7640677a43 Improve Appearance of Reply Curve (#4077) 2022-11-02 09:19:44 +01:00
pajlada e6e9b98f66 Remove unused values from MessageLayoutContainer (#4081) 2022-10-23 08:31:38 +00:00
pajlada 03051bf0bd Bump MessageFlag underlying type to be 64-bit (#4042) 2022-10-03 14:55:46 -04:00
Felanbird 0ab59d44f0 Add Basic Elevated Message support (#4016) 2022-09-30 23:23:31 +00:00
nerix be72d73c3d feat: add Go to message action in various places (#3953)
* feat: add `Go to message` action in search popup

* chore: add changelog entry

* fix: only scroll if the scrollbar is shown

* fix: go to message when view isn't focused

* feat: animate highlighted message

* fix: missing includes

* fix: order of initialization

* fix: add `ChannelView::mayContainMessage` to filter messages

* feat: add `Go to message` action in `/mentions`

* fix: ignore any mentions channel when searching for split

* feat: add `Go to message` action in reply-threads

* fix: remove redundant `source` parameter

* feat: add `Go to message` action in user-cards

* feat: add link to deleted message

* fix: set current time to 0 when starting animation

* chore: update changelog

* fix: add default case (unreachable)

* chore: removed unused variable

* fix: search in mentions

* fix: always attempt to focus split

* fix: rename `Link::MessageId` to `Link::JumpToMessage`

* fix: rename `selectAndScrollToMessage` to `scrollToMessage`

* fix: rename internal `scrollToMessage` to `scrollToMessageLayout`

* fix: deleted message link in search popup

* chore: reword explanation

* fix: use for-loop instead of `std::find_if`

* refactor: define highlight colors in `BaseTheme`

* core: replace `iff` with `if`

* fix: only return if the message found

* Reword/phrase/dot changelog entries

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-09-11 16:37:13 +02:00
Daniel Sage 20c974fdab Added support for Twitch's Chat Replies (#3722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-31 10:45:25 +00:00
Mm2PL ddbeb356a5 Fixed automod and unban messages showing when moderation actions were disabled (#3548) 2022-01-28 22:30:32 +00:00
pajlada 51ece94f58 Update Settings and Signals version (#3398)
Co-authored-by: zneix <zneix@zneix.eu>
2021-12-19 14:57:56 +00:00
Adam Davies 937e33a2fd Fix zero-width emotes sometimes wrapping lines incorrectly (#3389)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-12-06 22:49:08 +00:00
pajlada 3c4331b8cb Fix link parsing in IRC (#3334) 2021-11-07 13:55:43 +00:00
Tal Neoran 5112ec73b0 Fix zero-width emotes alignment with removeSpacesBetweenEmotes setting (#3249)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-10-24 12:30:28 +00:00
gempir 0ba7c0f3c5 Add highlights for first messages (#3267)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-02 12:17:24 +00:00
Paweł 89b86b94e7 Cleanup debug logging (#3015) 2021-07-17 16:45:02 +00:00
Paweł a509c7514c Fixed degraded dirty emote code escaping (#3010) 2021-07-17 10:35:43 +00:00
pajlada d1f81ab50b Add an option to remove spaces between emotes (#2684)
This feature is disabled by default and can be enabled in the settings.

Co-authored-by: Mm2PL <jakis128@gmail.com>
2021-04-25 22:25:23 +00:00
Yoitsu 00ccdbc781 clang-tidy: use std::move where applicable (#2605)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:34:40 +00:00
Paweł 0e99527e8c Fixed deprecated method QFontMetrics::width (#2509)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 14:47:02 +01:00
Steve Wills df722a72c1 Switch to QT Category logging (#2206)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-11-21 16:20:10 +01:00
Leon Richardt 0eed45ae67 Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01:00
Mm2PL 3ee08b9ffd Add support FrankerFaceZ badges. (#2101)
On startup, we poll https://api.frankerfacez.com/v1/badges/ids and store the mappings of user IDs to badges for the remainder of the applications lifetime.
2020-10-25 10:36:00 +01:00
dnsge 4199a01b96 Advanced channel filters (#1748)
Adds custom channel filters complete with their own mini-language. Filters can be created in settings, and applied by clicking the three dots to open the Split menu and selecting "Set filters".
2020-10-18 15:18:20 +02:00
fourtf b7e86a8de6 reduced COMPACT_EMOTES_OFFSET to fix a graphical glich in timed out
messages
2020-08-23 17:24:35 +02:00
fourtf f3225275ea changed channel point messages color 2020-08-22 16:48:40 +02:00
fourtf 2cc23eaae6 make highlighted messages and redeemed thingies look the same 2020-08-22 16:02:38 +02:00
Jonas Schmitt 58725efbd5 Fix styling of channel point reward message text. (#1845)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-08-09 11:50:53 +02:00
Jonas Schmitt 11b8948290 Add support for non-highlight channel point rewards (#1809) 2020-08-08 15:37:22 +02:00
pajlada e4af009fda [irc] Partially fix IRC colors (#1594)
Doesn't fix #1379 but it is a big step forward.

Needs some "real life" testing, but should be good.
2020-07-04 15:15:59 +02:00
fourtf 097f4ccb3a refined highlight and added bits highlights 2020-04-15 23:15:45 +02:00
hemirt 1fd64be7f5 Makes it possible to hide one man spam (#1496) 2020-02-02 08:31:37 -05:00