Commit Graph

140 Commits

Author SHA1 Message Date
Rasmus Karlsson 57d6583a2b refactor: add explicit this-> where possible
I have knowingly skipped some files/portions of files where this would
create merge conflicts for other open PRs.
2025-12-30 14:59:12 +01:00
pajlada 36ebb19469 fix: relayout tabs when update button visibility changes (#6447) 2025-09-06 10:48:27 +00:00
pajlada f7042dc542 fix: better handle Windows shutting down in newer Qt versions (#6368) 2025-08-09 09:43:32 +00:00
pajlada 85863f52df fix(clang-tidy): modernize-raw-string-literal (#6274) 2025-06-15 23:10:17 +02:00
nerix 84c0b39fde refactor: buttons and friends (#6102) 2025-05-25 11:17:06 +02:00
teknsl 3e5b4a9d08 Add hotkey action for opening account switcher (#6192) 2025-05-06 17:47:05 +00:00
apa420 3ba25dd33d Feat: (Linux) Themes allow transparency on chat windows background (#6137) 2025-04-13 10:34:25 +00:00
nerix 867e3f3ab0 fix: only invalidate buffers for chat windows (#5666) 2024-10-21 00:57:37 +02:00
maliByatzes 2d818a7657 Remember Popped-up Chat Size (#5635) 2024-10-12 10:35:39 +00:00
nerix f04e7e54e4 fix: only unpause if a selected page exists (#5637)
* fix: only unpause if a selected page exists

* chore: add changelog entry

* nit: reduce changes

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-10-09 09:27:16 +00:00
pajlada ac88730563 fix: remove deprecated Application::getTwitchAbstract (#5560) 2024-08-25 11:38:57 +00:00
pajlada 5170085d7c fix: tristate toggle logic for tab visibilty (#5530)
Co-authored-by: Nerixyz <nerixdev@outlook.de>
2024-08-24 09:42:42 +00:00
nerix aed55ac1ba fix: replace defines with constexpr/const and use more absolute paths for includes (#5527)
bye bye nuuls
2024-08-03 10:00:58 +00:00
pajlada 5deec1f02f chore: remove Singleton & replace getIApp with getApp (#5514) 2024-07-21 13:09:59 +00:00
Mm2PL 49de421bd8 Fixed splits staying paused after unfocusing Chatterino in certain configurations (#5504) 2024-07-13 11:21:27 +02:00
pajlada b6dc5d9e03 chore: refactor TwitchIrcServer (#5421) 2024-06-01 12:56:40 +00:00
nerix 1ca77a1e84 Add context menu entry to toggle offline tabs (#5318)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2024-04-12 23:05:47 +02:00
Maverick b6d75fd867 feat: add more items in macOS menu bar (#5266)
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2024-03-29 19:50:43 +00:00
nerix c1fa51242f refactor: turn StreamerMode into a singleton(-like thing) (#5216) 2024-03-01 21:12:02 +01:00
pajlada 4380ef8c5f refactor: Remove most raw accesses into Application (#5104) 2024-01-19 17:59:55 +01:00
pajlada 5b6675abb4 refactor: fix clang-tidy auto*, const&, and curly braces (#5083) 2024-01-14 17:54:52 +01:00
pajlada 416806bb0a refactor: Twitch PubSub client (#5059)
* Remove unused `setAccountData` function

* Move PubSub out of TwitchIrcServer and into Application

* Add changelog entry

* fix: assert feedback

* Add PubSub::unlistenPrefix as per review suggestion

* Fix tests

* quit pubsub on exit

might conflict with exit removal, so can be reverted but this shows it's possible

* Don't manually call stop on clients, it's called when the connection is closed

* nit: rename `mainThread` to `thread`

* Join in a thread!!!!!!!!
2024-01-06 13:18:37 +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
Mm2PL c3d3903b6f feat: add --safe-mode command line option (#4985)
This ensures the settings button isn't hidden, and disables plugins from being loaded to make sure the user can always recover from messing things up
2023-12-05 17:37:42 +00:00
nerix 2fc7fdd91a Fix empty page added when showing OOB dialog (#4849) 2023-10-01 06:40:34 +00:00
pajlada e6df652a4f fix: QuickSwitcherPopup now pops up in the selected window (#4819) 2023-09-17 21:52:17 +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 af34bf6246 Fix streamer mode button being always visible on Windows (#4690)
Fixes #4682
2023-06-18 12:33:44 +00:00
Daniel Sage 4361790fbd Add setting to only show tabs with live channels (#4358)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-11 11:34:28 +02:00
nerix 335dff53af Don't add QLayouts to QWidgets that already have one (#4672) 2023-06-10 10:55:47 +00:00
Mm2PL c6c884df70 Add an indicator in the title bar if Streamer Mode is active (#4410) 2023-05-27 10:38:25 +00: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
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
kornes bc5a03af26 Fix tab direction change crash (#4248)
* Fix tab direction change crash

* changelog

* Update CHANGELOG.md

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-19 18:19:09 +01:00
pajlada a715b1ffff Clean up TwitchAccount emote stuff (#4243)
* Remove unused TwitchAccount FollowResult enum

* Remove unused TwitchEmoteSetResolverResponse struct

* Remove unused and unimplemented `getEmoteSetBatches` function definition

* Remove unused `loadEmoteSetData` and `staticEmoteSets` from
TwitchAccount

* Remove forward declaration of TwitchAccount in TwitchAccountManager

* Clean up IgnorePhrase includes

* add missing newline in pubsubmanager.cpp
2022-12-18 14:36:39 +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
kornes fbfa5e0f41 Disable use of Qt APIs deprecated in 5.15.0 and earlier versions (#4133) 2022-11-10 20:11:40 +01:00
Felanbird 766a30240d Add debug hotkey for test sub messages (#4037) 2022-10-02 17:17:32 -04:00
Daniel Sage c58552781d Add option to display tabs on the right and bottom (#3847)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-23 14:09:12 +00:00
Daniel Sage 965b06677a Fix crash when closing and quickly opening a split, then running /clearmessages (#3852) 2022-07-10 15:08:20 +02:00
Leon Richardt 881986d86f fix: make popup windows have a parent per default (#3836)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-25 12:45:56 +00:00
Kasia 765a17d374 Simplify code for fake debug messages (#3775) 2022-05-29 12:53:22 +00:00
badoge 57f92f5eaa Added more streaming software to streamer mode binaries list (#3740)
Streamer mode now automatically detects if XSplit, PRISM Live Studio, Twitch Studio, or vMix are running

Co-authored-by: Kasia <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 12:17:42 +00:00
nerix f97780d84e Improve Twitch PubSub connection reliability (#3643)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-07 15:22:39 +00:00
Mm2PL 832e34186b Fix announcement rendering (#3639)
* Fix announcement rendering

* Changelog

* Add test message to Window.cpp
2022-03-31 22:24:19 +00:00
James Upjohn 67c10fafc7 chore: replace usages of obsolete twitch struct with backing field (#3614)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-03-19 11:02:29 +00:00
pajlada b031fc41ef Fix debug hotkeys not showing up in debug builds (#3447) 2022-01-02 14:09:35 +01:00
Mm2PL 703f3717e2 Add custom hotkeys. (#2340)
Co-authored-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-11-21 17:46:21 +00:00
Mm2PL 1ca3dfde7f Fixed splits losing filters when closing and reopening them (#3351)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-11-13 12:07:29 +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