1
0
Fork 0
mirror of https://github.com/Chatterino/chatterino2.git synced 2024-11-21 22:24:07 +01:00
Commit graph

363 commits

Author SHA1 Message Date
nerix
6faf63c5c4
refactor: Remove Outcome from network requests () 2023-11-12 14:51:51 +01:00
pajlada
95620e6e10
fix: Split input sometimes not accepting focus () 2023-11-11 10:58:20 +00:00
iProdigy
5209e47df1
Improve reply popup after thread update ()
Co-authored-by: nerix <nero.9@hotmail.de>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-11-05 16:25:26 +00:00
pajlada
56346874e1
ci: Use clang-format 16 () 2023-10-31 17:24:47 +00:00
pajlada
5c0219c245
refactor: Use override instead of virtual where possible () 2023-10-25 18:13:48 +02:00
nerix
783c7530f3
Allow any window to be bounds-checked ()
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-24 13:32:43 +00:00
Daniel Sage
37009e8e6b
Consolidate input completion code in preparation for advanced completion strategies ()
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-24 12:17:17 +00:00
pajlada
8fe3af3522
Fix signal connection nodiscard warnings () 2023-09-16 11:52:51 +00:00
pajlada
d4558b5fe5
Fix all warnings from the cppcoreguidelines-pro-type-member-init clang-tidy check () 2023-09-09 11:11:19 +00:00
nerix
af4233850d
Remove offset logic from BaseWindow::moveTo ()
It's now up to each window to offset its coordinates themselves (which is good 👍 )
2023-08-28 16:38:41 +00:00
Mm2PL
ec0d77643f
Remove USEWEBENGINE ()
This code has been sitting behind a define since 2018 (de3a490). I'm not opposed to this code coming back however in this state, it feels better to remove it.
2023-08-07 18:24:17 +00:00
Mm2PL
59160c5d04
Minor: Add missing hotkey Action for Open Player in Browser. () 2023-08-07 13:41:32 +00:00
pajlada
9e2eb0dd29
Fix tooltip & popup positioning ()
* Fix tooltip & popup positioning

This tries to ensure the tooltip & popups are created on the correct
monitor

* Add changelog entry

* Clean up debug output

* Use the full frame geometry to figure out screen bound movements

* Remove the now-unused `setStayInScreenRect` function

* Change the UserInfoPopup offset to be based on its width & height
instead

* Remove more debug output
2023-08-05 11:22:37 +00:00
Abhinav Neelam
9cb59f753f
focus message input when selecting emotes in emote popup ()
* focus input when selecting emotes in emote popup

* changelog

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-07-29 13:16:19 +00:00
SputNikPlop
7079729591
fix: change viewer list to chatter list ()
* fix: change viewer list to chatter list

* fix: enter changelog entry
2023-07-29 10:47:24 +00:00
pajlada
a440f0261a
Fix crash that could occur when closing a split before its display name was updated ()
This fixes a crash that could occur when closing a split before the
display name had a chance to update

The reason I found this was because the LiveController change I made
updated display names more regularly

Additionally, we now make sure to not send duplicate `displayNameUpdated` signals
upon each request for channels with CJK characters in their display name

* Default-initialize the `actualDisplayName` with the user's login name to not send an initial display name update if the display name is the same casing as the login name
2023-07-23 10:11:57 +00:00
pajlada
76527073cf
Ensure live status requests are always batched () 2023-07-02 13:52:15 +00:00
Daniel Sage
4361790fbd
Add setting to only show tabs with live channels ()
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-11 11:34:28 +02:00
nerix
839ba60fd8
Respect Theme in Input Completion & Quick Switcher () 2023-06-10 12:38:23 +00:00
nerix
335dff53af
Don't add QLayouts to QWidgets that already have one () 2023-06-10 10:55:47 +00:00
Arne
6681ed5bfb
Remove QObjectRef in favor of QPointer ()
* replace usage of QObjectRef with QPointer

* delete QObjectRef class

* inlucde QPointer header

* Add changelog entry

* use isNull() instead of ! data()

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-04 11:24:04 +00:00
Daniel Sage
51f2c4d1c0
Add input completion test suite ()
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-21 10:10:49 +00:00
pajlada
caa0220ce6
Add a Send button that can be used to send messages ()
This button is disabled by default, and can be enabled with the "Show send message button" setting.
2023-05-07 13:18:07 +00:00
Guilherme Espada
7a286480d6
Fix build on latest Fedora ()
gcc (GCC) 13.0.1 20230401 (Red Hat 13.0.1-0)

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-08 08:58:04 +02:00
Colton Clemmer
3d4985c88f
Migrate viewer list to Helix ()
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-27 16:26:08 +00:00
Daniel Sage
0acbc0d2c3
Formalize zero-width emote implementation ()
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 12:30:08 -04:00
nerix
93a9e41d31
Cleanup Theme-related Code () 2023-03-17 19:53:03 +00:00
pajlada
c95a65c153
Fix Qt6 building () 2023-02-19 20:19:18 +01:00
nerix
5179567334
Use QEnterEvent for QWidget::enterEvent on Qt 6 ()
* fix: use concrete QEnterEvent on Qt 6

* chore: add changelog entry
2023-02-11 18:13:29 +01:00
pajlada
56f7c91a64
Fix the split "Search" menu action not opening the correct search window ()
* Fix split menu "Search" action

It now opens a split-specific search instead of a global one

* Add changelog entry
2023-01-21 10:51:29 +00:00
pajlada
18cb4bd6e5
Massage includes some more ()
* Add `<functional>` include to QStringHash.hpp

This ensures the base `std::hash` template is declared before this
specialization

* Add missing includes to `src/providers/twitch/TwitchAccountManager.hpp`

* Move explicit HelixChatters constructor to the source file

* Remove unused includes & add used includes to NicknamesModel.hpp

* NicknamesModel.hpp: Remove `virtual` when `override` is used

* Add missing QStringHash include to TwitchEmotes.cpp

* Add missing includes to various files

* Print Qt version in cmake step

Technically unrelated, but I'm sneaking it in

* Add changelog entry
2023-01-08 12:07:06 +00:00
nerix
95b1f82620
Remove Deprecated QDesktopWidget ()
* fix: remove deprecated `QDesktopWidget`

* chore: add changelog entry
2023-01-07 11:41:39 +01:00
nerix
1043f9f803
Remove Unnecessary Includes in Headers ()
* 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
pajlada
293aa370c5
Fix crash that could occur when closing down splits ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
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 ()
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 () 2022-12-03 13:02:39 +00:00
kornes
db12693a27
Fix red text color persisting from message overflow highlight ()
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 ()
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 ()
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-27 19:39:53 +00:00
pajlada
032f290767
Sort and force grouping of includes ()
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 ()
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 ()
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 ()
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 () 2022-11-10 20:11:40 +01:00