Commit graph

67 commits

Author SHA1 Message Date
pajlada
998920d244
Remove experimental IRC support (#5547) 2024-08-18 12:04:26 +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
KleberPF
d161036b18
Add feature to duplicate tabs (#5277)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-05-25 12:39:19 +00:00
Mm2PL
5c51ec8382
Live streams that are marked as reruns now mark a tab as yellow instead of red (#5176) 2024-02-18 16:22:53 +00:00
nerix
954e19817c
fix: more MSVC warnings (#5137) 2024-01-30 17:28:36 +01:00
pajlada
4380ef8c5f
refactor: Remove most raw accesses into Application (#5104) 2024-01-19 17:59:55 +01:00
pajlada
13ff11ea75
refactor: SplitOverlay (#5082) 2024-01-14 13:09:07 +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
pajlada
56346874e1
ci: Use clang-format 16 (#4929) 2023-10-31 17:24:47 +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
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
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
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
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
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
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
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
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
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
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
Leon Richardt
0eed45ae67
Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +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
pajlada
913193f8b5
Split up Window Layout loading into a loading and application stage (#1964)
* Split up Window Layout loading into a loading and application stage

Previously, we were creating UI elements at while we were reading the window-layout.json file.
We now read the window-layout.json file fully first, which results in a
WindowLayout struct which is built up of a list of windows with a list
of tabs with a root node which contains containers and splits.
This WindowLayout can then be applied.

This will enable PRs like #1940 to start Chatterino with Window Layouts
that aren't defined in a json file.

This commit has deprecated loading of v1 window layouts (we're now on v2). If a v1 window layout is there, it will just be ignored and Chatterino will boot up as if it did not have a window layout at all, and on save that old window layout will be gone.

* Fix compile error for mac
2020-09-19 17:14:10 +02:00
fourtf
28a0e4c63c Closes #1909 2020-08-23 17:04:17 +02:00
fourtf
46361ea859 some more stuff 2020-08-13 20:20:24 +02:00
fourtf
2c74e98023 edited split dropdown 2020-08-13 18:02:23 +02:00
fourtf
6052846bc3 added checks to mitigate floating point crashes 2020-04-19 21:05:40 +02:00
fourtf
9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +02:00
23rd
53640a9097 Fixed display of text message in empty tabs for Retina screen. 2019-04-27 14:19:03 +03:00
ckath
9ca4befd9b Save chat moderation state in splits 2019-03-24 15:38:09 +01:00
fourtf
cf26f10b80 initial appbase integration 2018-11-21 21:37:41 +01:00
fourtf
e259b9e39f added brace wrapping after if and for 2018-10-21 13:43:02 +02:00
hemirt
54c1efe531 correct getSplitCount 2018-10-20 11:07:15 +02:00
fourtf
d14a4df9e3 opening links in private browsing mode (windows)
tested on firefox, chrome and internet explorer
2018-10-16 16:07:59 +02:00
Rasmus Karlsson
49449379da Added a Live status indicator to tabs 2018-10-13 14:20:06 +02:00
Rasmus Karlsson
a947bf74c8 Occasionally save window/split/tab layout
The window layout is only saved if something has been changed.
When something relevant to the window layout is changed, a save is
queued to run after 10 seconds.
If within those 10 seconds, another thing is changed, that timer is
reset and will run after 10 seconds again.

Events that cause the save to be queued up:
 - Tab created
 - Tab removed
 - Tab moved
 - Tab name changed
 - Split created
 - Split removed
 - Split moved
 - Split channel changed
 - Split resized
 - Window moved
 - Window resized

What currently does not trigger the save to be queued up:
 - Active tab changed
2018-10-07 16:27:40 +00:00
Rasmus Karlsson
a2fb4ca104 reformat 2018-09-30 16:55:41 +00:00
23rd
9a6650b56c Added button in menu to join to channel. (#724) 2018-09-21 20:35:14 +02:00
fourtf
1d16c0cf77 fixed crasherino 2018-09-04 22:05:27 +02:00
fourtf
1d682c4a93 added add split button 2018-09-04 21:39:54 +02:00
fourtf
44f5a15da3 turning a lot of includes into forward declares 2018-08-11 22:23:06 +02:00
fourtf
878daf6eee added link to license 2018-08-09 16:44:04 +02:00
fourtf
cb235ef532 fixed ocd inducing 1 pixel offsets 2018-08-09 16:20:09 +02:00
fourtf
bdfe24035b fixed rectangle being off by 1 pixel in split container 2018-08-08 19:42:14 +02:00