Commit graph

380 commits

Author SHA1 Message Date
pajlada
293aa370c5
Fix crash that could occur when closing down splits (#4277)
* Fix crash that could occur when closing down splits

Specifically, if a split was closed after the request for a thumbnail
had been made, but before the request had finished, we'd run into a
use-after-free issue

* Add changelog entry
2022-12-31 12:39:28 +00:00
pajlada
5fc170ba4b
Refactor SplitHeader class (#4276)
* Flatten static functions in anonymous namespace

* SplitHeader ctor: Rename param

* Header: Remove unnecessary `virtual`s

* auto ptr where possible

* Add curly braces

* Comment twitch room modes

* Treat roomModes->slowMode as an integer

* Remove unused `this` from lambdas

* Add `unsigned int` overload for localizeNumbers

* Move thumbnail max age to a constexpr static & set explicit types

* Explicitly use `QObject::connect`

* Use `empty()` instead of `size()`

* Name unused parameters

* Move moderation action refreshing logic from SplitHeader to Split
2022-12-31 12:56:47 +01:00
kornes
11fdd7ed74
ref: merge TooltipPreviewImage and TooltipWidget (#4268)
* merge TooltipPreviewImage and TooltipWidget

* changelog

* add empty line before return

* fix signalholder include

* add changelog for bugfix

* fix custom scaling issue

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-29 16:07:46 +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
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
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
8830b0e01c
Clean up/refactor InputCompletionPopup (#4242)
Mainly flattening anon namespaces & respecting clang-tidy
2022-12-18 13:25:11 +00:00
kornes
a16d148dfd
Fix selection clearing not working in Reply window (#4218)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-07 18:21:04 +00:00
nerix
8d4ee72478
fix: Copy Shortcut Not Working In Reply Thread Popup (#4209) 2022-12-03 13:02:39 +00:00
kornes
db12693a27
Fix red text color persisting from message overflow highlight (#4204)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-03 11:10:11 +00:00
kornes
188782ddca
fix: prevent unnecessary layout saves (#4201)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-03 10:50:22 +00:00
kornes
cc661d5f42
Fix unnecessary clears of split input selection (#4197)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-27 19:39:53 +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
nerix
254f89f935
fix: don't ignore mousePressEvent in SplitInput (#4177)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Fixes https://github.com/Chatterino/chatterino2/issues/3844
2022-11-21 18:27:56 +00:00
Adam Davies
a9d3c00369
Add setting to prevent or highlight message overflow (#3418)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-13 11:47:46 +00:00
Patrick Geneva
3ed7489e0f
Add settings to increase split and usercard scrollback (#3811)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-12 15:53:42 +00: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
nerix
457c5725da
fix: Invalid/Dangling completion after updating input (#4072) 2022-10-22 11:42:46 +02: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
Mm2PL
e604a36777
Make menus and placeholders display appropriate custom key combos. (#4045)
* Add initial support for finding hotkey display key sequences

* Make neededArguments work

* Implement displaying key combos in SplitHeader main menu

* Make Settings search text dynamic

* Make tab hide notice use a custom hotkeys key sequence

* Make Notebook menus use custom hotkeys key combo lookup for hiding tabs

* shut up changelog ci

* Make NotebookTab menus show custom hotkeys. SCUFFED:
this does not update dynamically!

* Scuffed: Make the show prefs button setting show the key bind

* Scuffed: Make the R9K description refer to hotkeys

* @pajlada, is something like this ok?

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-09 17:20:44 +02:00
nerix
d5b8d89494
fix: Double-space when using replies with an empty input box (#4041) 2022-10-03 18:05:42 +00:00
nerix
54129f76a3
Migrate /emoteonly and /emoteonlyoff commands to the Helix API (#4015)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-02 14:18:10 +00:00
nerix
9554b83c1a
fix: Show Emoji Completion in IRC Channels (#4021) 2022-09-30 22:59:52 +02:00
nerix
6a2c4fc098
fix: retain text from input when replying (#3989)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-09-14 10:55:52 +00: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
Daniel Sage
3b9ac7456a
Fix crash when closing all tabs on macOS (#3860)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-23 15:42:41 +02:00
Leon Richardt
53a625e26e
fix(Split): always refresh tab when channel is set (#3849)
Fixes #3845

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-07-07 18:52:15 +02:00
pajlada
6599009e79
Fix split focusing being broken in certain circumstances when the "Show input when it's empty" setting was disabled (#3838)
Co-authored-by: Kasia <zneix@zneix.eu>
2022-06-26 16:53:09 +00:00
Brian
9583b49653
Added a Scroll to top keyboard shortcut for splits (#3802)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-06-18 11:48:55 +00:00
pajlada
a83c139154
Fix crash that can occur when changing channels (#3799)
The signal that handled the splitinput completer never disconnected, so
if it closed it would access bad memory
2022-06-14 13:46:52 +00:00
pajlada
e9e3e5a25a
Use setPlainText when finishing a completion (#3785) 2022-05-30 11:09:38 +00:00
kornes
143f4ef2ec
Fix viewers list search when used before loading finishes (#3774)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-29 11:06:01 +00:00
badoge
135f914b38
Hide category labels when searching in Viewer list (#3719)
This fixed a bug introduced in #3683

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 11:11:51 +00:00
James Upjohn
57783c7478
feat: add global channel search support (#3694)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-23 00:47:16 +00:00
LosFarmosCTL
0605dabf31
fix: compilation on macOS without precompiled headers (#3741)
Co-authored-by: zneix <zneix@zneix.eu>
2022-05-17 10:16:33 +00:00
xel86
1bf31889f9
Fixed viewer list not being closable with the escape key (#3734) 2022-05-14 11:44:18 +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
LosFarmosCTL
66b9b04401
fix: raise existing emote popups from behind other windows (macOS) (#3713)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-07 14:31:14 +00:00
badoge
7246ab38c7
Add chatter count for each category in viewer list (#3683)
Co-authored-by: Kasia <zneix@zneix.eu>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-04-24 15:54:37 +00:00
kornes
0de4a2160a
Add missing parent pointer to few QMessageBox and QFontDialog (#3679)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-16 08:59:20 +00:00
sando
a53f8d32e1
Adjust large stream thumbnail to 16:9 (#3655)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-07 22:34:52 +00:00
Mm2PL
29117a930e
Add an action to select the word under the cursor (#3633) 2022-03-27 13:33:44 +02: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
qooq69
5a89acbe82
Fixed SplitInput placeholder color (#3606) 2022-03-12 11:40:51 +01:00
LosFarmosCTL
b5b395f975
Colorize entire split input header instead of just the channel name (#3379)
Co-authored-by: Paweł <zneix@zneix.eu>
2022-01-22 16:23:02 +01:00
Mm2PL
79db02aa66
Removed ability to reload emotes really fast (#3450)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-01-03 11:02:55 +00:00
Mm2PL
94f7f09e73
Fixed character counter changing fonts after going over the limit (#3422)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-12-25 23:43:03 +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
mmb L
ec966a1791 Remove local variables that are not referenced 2021-11-28 13:02:07 +01:00
Mm2PL
f0df2fcb28
Fix Split Input hotkeys not being available when input is hidden (#3362) 2021-11-27 13:47:31 +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
Auro
3a5c2b1d33
Middle click split header to open in browser (#3356)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-11-20 13:27:26 +00:00
Felanbird
f58f35292a
Fix comment typo (#3359) 2021-11-20 12:22:30 +01: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
Auro
696979e9a3
Add chatter count to viewer list popout (#3261)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-10-24 17:27:18 +02:00
Mikulex
3f12d5bb3b
Fix "Change channel" popup title (#3273)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-23 11:22:54 +00:00
Felanbird
be3609a927
Capitalize mentions of Twitch, Chatterino, and IRC in comments and text/settings (#3274) 2021-10-17 15:06:58 +02:00
Tal Neoran
e577136395
Fix completion menu completing from wrong position (#3229)
Fixes #3225 https://github.com/Chatterino/chatterino2/issues/3225
2021-09-11 12:09:14 +02:00
Tal Neoran
ad4a0c28d1
Add opening tab in popup (#3082)
Co-authored-by: zneix <zneix@zneix.eu>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-08-21 12:16:00 +00:00
Mm2PL
d46589ca26
Duplicate spaces now count towards the display message length (#3002) 2021-08-14 13:16:16 +00:00
Auro
75458a1a25
Change 3rd party uploader popup text capitalization (#3158) 2021-08-14 12:08:55 +02:00
James Upjohn
6151cd5b05
Show system message when reloading subscriber emotes (#3135)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-08-08 10:59:28 +00:00
nilyt
961803deba
Allow building against Qt 5.11 (#3105)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-08-07 10:37:02 +00:00
Tal Neoran
9d90de6b8c
Handle moderation mode and filters in split popup (#3130) 2021-08-07 00:04:09 +02:00
Paweł
588ed557f0
Fixed comma appended to username completion when not at the beginning of the message (#3060)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-24 12:01:50 +02:00
Paweł
9f2fc90928
Fix crash and completion in other special channels than /whispers (#3033) 2021-07-17 19:33:03 +00:00
Paweł
c8c28d7f55
Remove global third party emotes from TwitchChannel class (#3000)
Those are still accessible under getApp()->twitch2 instance.
2021-07-13 13:23:50 +02:00
SLCH
faafbdaad4
Added "Open in: new tab, browser player, streamlink" in twitch link context menu. (#2988)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-11 11:54:19 +00:00
Paweł
d5add46730
Respect follower emotes context, making them only available in their owner channels (#2951)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-11 09:12:49 +00:00
Tal Neoran
e1895de7f3
Hide completion popup when cursor is at first position (#2929)
Prevents user autocompletion menu from appearing in unwanted scenarios
2021-06-27 12:47:14 +00:00
Tal Neoran
f605221042
Add username autocompletion popup menu (#2866) 2021-06-19 16:29:17 +00:00
Tal Neoran
80fed27b4e
Search in viewer list by contained term (#2861)
Searching for users in the viewer list now searches anywhere in the user's name - instead of just searching at the beginning of the username.
2021-06-04 10:51:35 +00:00
James Upjohn
7c4c797dbc
Fix word backspacing not closing/updating colon emote picker (#2781)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-05-15 14:24:46 +00:00
James Upjohn
d96f4575ba
Fix newlines in stream title causing text in header to go out of bounds (#2755)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-09 09:22:20 +00:00
pajlada
2f49b23875
Add ability to disable precompiled headers with CMake (#2727) 2021-05-08 15:57:00 +02:00
Paweł
f7506d495f
Refactored Rename Tab dialog and its context menu (#2713)
* Added placeholder to tab rename dialog's input

* Always set placeholder to default tab name.

* Renamed context menu entries, updated popup

* Removed TextInputDialog class, slight popup fix

* Forgot to rename variable (no fun allowed 😥)

* forsenT

* Made use of QDialogButtonBox

* Added changelog entry
2021-05-02 12:59:14 +02:00
M4tthewDE
c413a0984e
Adds visual indicator to message length if too long (#2659)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-01 14:42:08 +00:00
Paweł
6c9fd4f204
Made left-clicking splitheader focus split (#2720) 2021-05-01 14:14:05 +00:00
fourtf
2db140d5af
Added x-attach-split-to-window command line arg (#2411)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 14:15:23 +00:00
fourtf
58017a7546
fix size of splits not loading properly (#2554) 2021-04-17 13:16:14 +00:00
pajlada
8641435142
Fix crash that could occur when the user changed the "Custom stream player URI Scheme" setting if the user had closed down and splits in the application runtime (#2592) 2021-04-17 09:55:44 +00:00
fourtf
c50b91d6e9 always update dropdown on split button press 2021-04-03 17:33:51 +02:00
Leon Richardt
3f206d46af
fix: no longer crash on clip creation in "special" channels (#2528) 2021-03-15 17:45:56 +01:00
Paweł
be21e5b52d
Fixed deprecated method QPalette::{Fore,Back}ground (#2510)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 16:03:16 +01:00
Paweł
1eb6aa64db
Localized all relevant numbers visible to end-user (#2488) 2021-03-06 15:03:33 +01:00
Paweł
a9b1af60de
Removed liveStatusChanged signal connection to fix a crash (#2377) 2021-01-18 15:11:50 +01:00
Paweł
cfcac99ae6
Added clip creation support 🎬 (#2271)
You can create clips with `/clip` command, `Alt+X` keybind or `Create a clip` option in split header's context menu. This requires a new authentication scope so re-authentication will be required to use it.

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-17 14:47:34 +01:00
apa420
f19cc60a5b
Setting for disabling /mentions tab highlight (#1994)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-16 14:27:19 +01:00
Lewis Gibson
88e31b12a7
Add 'open in mod view' button to split context menu (#2321) 2021-01-02 17:25:27 +01:00
Paweł
ddcc8545d4
Further placeholder text fixes (#2264) 2020-12-13 12:16:08 +01:00
pajlada
277ef4b2e3
Fix crash when moving splits across windows and closing parent tab (#2259) 2020-12-06 15:34:40 +01:00
fanway
bf4c9cebb1
Use display/localized names in tab and split titles (#2189) 2020-12-06 14:07:33 +01:00
mmb L
44262ee2ec
Add Ctrl+F5 as a shortcut for reconnect() (#2215) 2020-11-22 14:28:07 +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
540870f9fe
[Fix] Make SearchPopup a BasePopup (#2182) 2020-11-15 11:07:20 +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
Paweł
c3ff98da87
Improved textEdit placeholder (#2149)
* Made colors a bit lighter

And also removed the tooltip from non-twitch channels

* Updated the changelog entry

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-05 09:06:34 +01:00
Paweł
a27757e440
Added placeholder for Split's textEdit (#2143) 2020-10-31 18:17:43 +01:00
pajlada
1ee1e8837f
Use Qt's dialog where applicable (#1843) 2020-10-31 16:42:48 +01:00
Paweł
3c1abbd297
Added missing window titles to all popups (#2120) 2020-10-31 15:12:42 +01:00