Commit Graph

134 Commits

Author SHA1 Message Date
nerix 0aff6fbe83 feat: show BTTV Pro badges (#6625)
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2025-12-07 14:15:58 +00:00
nerix e4a4d812e3 refactor(splits): Store container nodes as shared pointers (#6435)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2025-11-02 14:26:50 +00:00
nerix 7214c49e79 fix: Get rid of warnings on clang-cl (#6528) 2025-10-25 14:14:20 +00:00
teknsl 8ad6bbc393 fix: do forceLayoutChannelViews on font change (#6536) 2025-10-25 12:12:05 +00:00
nerix 3f05edc071 refactor: merge emote element flags (#6511) 2025-09-30 19:07:25 +02:00
pajlada f7042dc542 fix: better handle Windows shutting down in newer Qt versions (#6368) 2025-08-09 09:43:32 +00:00
pajlada 9e600a8fb8 refactor(WindowManager): remove some getApp uses (#6194) 2025-05-05 22:23:13 +00:00
fourtf edbdcc1d55 feat: allow disabling fading recent messages (#6121) 2025-04-06 12:21:34 +00:00
pajlada fb375e149b refactor: some mini feature changes in BaseWindow (#6074) 2025-03-13 22:20:03 +01:00
nerix 8fefcee847 fix: close known windows on exit (#6054) 2025-03-09 17:55:55 +00:00
pajlada c98267b433 fix: only hide messages from restricted users, not all suspicious users (#6049)
it's probably best to leave this setting solo'd out as restricted users
so monitored users can get their own behaviour in their own setting later
2025-03-09 13:11:06 +01:00
pajlada ee266c35a7 feat: Hide messages from suspicious users in streamer mode (#6042)
This is a setting that's enabled by default and can be disabled under
the "Streamer mode" sub-category in the settings dialog
2025-03-08 14:10:25 +00:00
pajlada 3214e0a80b fix: more force relayout on timeout/clear/delete (#5854) 2025-01-25 11:42:55 +01:00
nerix 35b15c4088 feat: prefer visible/selected channels when joining (#5850) 2025-01-24 11:43:30 +00:00
nerix c8bafbd03e feat: backup window-layout (#5647) 2024-11-24 22:39:20 +00:00
pajlada 46c1f18ae7 feat: add setting to hide blocked term automod messages (#5690) 2024-11-05 21:04:45 +01:00
iProdigy 18c4815ad7 feat: add shared chat badge (#5661) 2024-10-22 18:42:19 +02:00
nerix afa8067a20 Add transparent overlay window (#4746) 2024-10-06 12:54:24 +02:00
pajlada 627c735524 refactor: some Application & style things (#5561) 2024-08-25 15:33:07 +02:00
pajlada ac88730563 fix: remove deprecated Application::getTwitchAbstract (#5560) 2024-08-25 11:38:57 +00:00
pajlada 3e510fd9e9 refactor: some more Application refactors (#5551) 2024-08-25 11:04:48 +00:00
pajlada 998920d244 Remove experimental IRC support (#5547) 2024-08-18 12:04:26 +00:00
pajlada 5deec1f02f chore: remove Singleton & replace getIApp with getApp (#5514) 2024-07-21 13:09:59 +00:00
nerix b3c09b65d8 chore: mini refactorings and dead code removal (#5512) 2024-07-20 11:35:59 +02:00
pajlada b6dc5d9e03 chore: refactor TwitchIrcServer (#5421) 2024-06-01 12:56:40 +00:00
nerix 65bfec963b feat(emote-popup): save size of popup (#5415)
* fix: remove added margins from emote window position

* chore: add changelog entry

* feat: store size of emote window

* chore: update changelog entry

* fix: disable layout save

* fix: PCH moment

* fix: multiply by scale
2024-06-01 10:38:39 +00:00
pajlada 3d5acff907 fix: update color of usernames & boldness of usernames on the fly (#5300) 2024-05-12 12:37:47 +00:00
pajlada e7508332ff refactor: Fonts (#5228) 2024-03-10 13:27:08 +00:00
nerix e130c48f76 refactor: Turn link-info into its own element and class (#5178) 2024-02-18 12:34:00 +00:00
nerix 7604d7ea4a perf: add signal to invalidate buffers without doing layout (#5123) 2024-01-24 18:13:31 +01:00
nerix 7951af6104 feat: add command line argument to select/add tab with a channel (#5111) 2024-01-20 12:20:40 +00:00
pajlada 4380ef8c5f refactor: Remove most raw accesses into Application (#5104) 2024-01-19 17:59:55 +01:00
pajlada 718696db53 refactor: Un-singletonize Paths & Updates (#5092) 2024-01-16 20:56:43 +00:00
pajlada 5b6675abb4 refactor: fix clang-tidy auto*, const&, and curly braces (#5083) 2024-01-14 17:54:52 +01:00
nerix 292f9b9734 fix: ignore save requests after closing all windows (#5081) 2024-01-14 12:37:03 +00:00
pajlada 13ff11ea75 refactor: SplitOverlay (#5082) 2024-01-14 13:09:07 +01:00
pajlada d085ab578f refactor: Make Args less of a singleton (#5041)
This means it's no longer a singleton, and its lifetime is bound to our application.
This felt like a good small experiment to see how its changes would look
if we did this.
As a shortcut, `getApp` that is already a mega singleton keeps a
reference to Args, this means places that are a bit more difficult to
inject into call `getApp()->getArgs()` just like other things are
accessed.
2023-12-29 15:40:31 +01:00
nerix 66f4480371 fix: Fixed some compiler warnings (#5028)
* fix(C4101): unreferenced local variable

* fix(C4189): variable initialized but not referenced

* fix(C4305): narrowing from double to float

* fix(C4457): declaration hiding function parameter

* fix(C4456): shadowing declaration

* fix(C4996): remove deprecations

* chore: add changelog entry

* fix: Remove more unused variables

* fix: removed unused lambda captures

* Update changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-16 11:24:28 +00:00
iProdigy 44abe6b487 feat: add channel for messages caught by AutoMod (#4986)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-03 22:07:30 +00:00
nerix c4c94473ae Do bounds-checking on more windows (#4797)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-12-02 12:56:03 +01:00
nerix 5325c7b826 Fix tooltips appearing too large and/or away from the cursor (#4920) 2023-11-04 18:13:34 +00:00
pajlada fec45889a8 Replace boost::optional with std::optional (#4877) 2023-10-08 16:50:48 +00:00
Mm2PL d752ce86fd Add WindowManager::getLastSelectedWindow() to replace getMainWindow() (#4816)
1. No longer can return a nullptr if no window was ever focused
  2. When closing a window, it will no longer return an invalid pointer
2023-09-16 20:53:44 +00:00
pajlada 8fe3af3522 Fix signal connection nodiscard warnings (#4818) 2023-09-16 11:52:51 +00:00
pajlada 5ca7d387e4 Expand upon test channels (#4655)
Available test channels:

- `$$$` - Fill up scrollback (1000 messages), then add a new message every 500ms
- `$$$:e` - Add a new message every 500ms
- `$$$$` - Fill up scrollback (1000 messages), then add a new message every 250ms
- `$$$$:e` - Add a new message every 250ms
- `$$$$$` - Fill up scrollback (1000 messages), then add a new message every 100ms
- `$$$$$:e` - Add a new message every 100ms
- `$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 50ms
- `$$$$$$:e` - Add a new message every 50ms
- `$$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 25ms
- `$$$$$$$:e` - Add a new message every 25ms
2023-05-27 13:33:01 +02:00
nerix 95b1f82620 Remove Deprecated QDesktopWidget (#4287)
* fix: remove deprecated `QDesktopWidget`

* chore: add changelog entry
2023-01-07 11:41:39 +01:00
pajlada fdb0a1582c SplitContainer refactor (#4261)
* Remove unused include util/Helpers.hpp

* SplitContainer::setTag fix parameter naming

* autofy/constify where possible

* More const auto ptr magicifying

* Make SplitNode::Type an enum class

* Move QuickSwitcherPopup includes from header to source file

* Remove unused DropRegion code

* use empty() instead of size() == 0

* Add curly braces everywhere

* Remove useless reinterpret_cast

It was casting Node* to Node*

* Clarify that the connect is QObject::connect

* SplitContainer::setSelected fix parameter naming

* Rename function variables to remove unneccesary underscore

Also move addSpacing parameter out of the layout function

* emplace_back where possible

* Name parameters

* Remove ineffective const from return type

* Make node getters const

* Flatten Node::releaseSplit

* Rename in-function variable to match code style

* [ACTUAL CODE CHANGE/MOVE] Move clamp logic to its own function

* name params

* applyFromDescriptorRecursively: rename node param to baseNode

* [ACTUAL CODE CHANGE/MOVE] Remove the many overloads for append/insertSplit

This utilizes the C++20 designed initializers aggregate initialization feature

* Remove unused includes

* [ACTUAL CODE CHANGE] Clean up dragging logic

There's no need to keep a pointer around to which split is being
dragged, it's already stored in the QDropEvent source()

* UNRELATED .clang-tidy: Only suggest UPPER_CASE for constant global variables

* Remove unused SplitContainer::getSplitCount function

* Use std::max in Node's clamp function

* Remove test code

* DraggedSplit.hpp: remove unused include

* Split `setDraggingSplit` into two functions, `startDraggingSplit` and `stopDraggingSplit`
2022-12-25 11:09:25 +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
Leon Richardt 9d1b8b0a93 fix: don't parent popup windows on Windows OS (#4181)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
fix https://github.com/Chatterino/chatterino2/issues/3863
fix https://github.com/Chatterino/chatterino2/issues/4180
2022-11-22 01:15:08 +00:00
nerix 3e41b84ed7 feat: Add 7TV Emotes and Badges (#4002)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-16 11:22:17 +00:00