Commit graph

392 commits

Author SHA1 Message Date
pajlada 7ccf60111d
Overhaul highlight system (#3399)
Checks have been moved into a Controller allowing for easier tests.
2022-06-05 15:40:57 +00:00
Kasia a7939b727f
Organized version information (#3781)
added new `GIT_MODIFIED` variable - used to determine whether the vcs tree was compiled or not at the time of building the app
added information about running in DEBUG mode which might be very helpful to determine whether one is running a DEBUG build, e.g. in the process of troubleshooting/determining crash causes

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-04 19:00:42 +00:00
Kasia 765a17d374
Simplify code for fake debug messages (#3775) 2022-05-29 12:53:22 +00:00
Kasia 8b98f0e142
Removed unused files IsBigEndian.hpp and rangealgorithm.hpp (#3776)
util/IsBigEndian.hpp and util/rangealgorithm.hpp have been unused for a long time, removing them from the codebase because git keeps the history forever anyway!
2022-05-29 10:19:26 +00:00
kornes 3bf1756579
Fix: ignore whitespaces pasted in EmotePopup search (#3730)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-16 09:42:17 +00:00
kornes 07dd8c560b
Prevent user from entering incorrect characters in Live Notifications channels list (#3715)
Co-authored-by: Sidd <iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-08 10:27:25 +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
Paweł df70ca59e3
Purged kraken (#3578)
* Purged kraken code

* Remove kraken documentation

* Update Helix documentation

* Ran prettier

* Removed kraken files from qmake build file

* Remove now unnecessary .finally() callback
2022-02-28 14:59:10 +00: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
LosFarmosCTL 06245f3713
Add new search predicate to enable searching for messages matching a regex (#3282)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-10-17 12:36:44 +00:00
Mm2PL d99fafaa99
Remove unused code for Tagged Users (#3208)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-09-04 11:11:20 +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
Paweł de4f6a9d51
Rate limit outgoing JOIN messages (#3115)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: Tal Neoran <talneoran@gmail.com>
2021-08-04 21:18:34 +00:00
pajlada 784fdd28b2
Check for ignored phrases/users in channel point redemptions (#3102) 2021-08-01 13:44:04 +00:00
apa420 3cb1e5158a
Added the ability to add nicknames for users (#2981)
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-07-31 16:15:43 +02:00
Paweł 6022cd86eb
Remove unused class JsonQuery (#3017)
Introduced 3 years ago in c2e2dfb, not used ever since. Safe to remove.
2021-07-15 20:37:34 +00:00
Paweł 6355742b6e
Updated filelist in chatterino.pro (#2932) 2021-06-28 00:22:34 +02:00
Tal Neoran f605221042
Add username autocompletion popup menu (#2866) 2021-06-19 16:29:17 +00:00
fourtf 3fddafb867
optimize chatter list (#2814)
* optimize chatter list

* changelog

* Fix tests

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-24 10:13:59 +00:00
Paweł 519855d852
Migrated cheermotes to Helix API (#2440)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-15 17:02:47 +00:00
Daniel f6d9fb2aac
Add ability to highlight messages based on user badges (#1704)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-02 22:08:08 +00: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
Tal Neoran 77fa1322de
Added is:<flags> search predicate (#2671)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-01 12:21:45 +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
pajlada 2f906c5504
Add a function in NetworkCommon parseHeaderList which parses a header list as a string into a vector of header pairs (#2623) 2021-04-17 11:49:19 +00:00
Tal Neoran cceadf473a
Added in:<channels> search predicate (#2634)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 11:18:22 +00:00
fourtf 8a4ffc5f5b
added limit to cached username colors (#2515) 2021-03-13 15:34:11 +01:00
fourtf 4ff2de0567 now attaches to parent console on windows 2021-03-13 12:14:40 +01:00
Emil Gedda f53b0a9e0f
Fix quotation and handling of additional streamlink options (#2495) 2021-03-06 19:56:36 +01:00
pajlada 5fa829202d
Remove humanize submodule (#2422) 2021-01-30 14:14:11 +01:00
fanway d7b42716a3
Bump macOS minimum version to 10.14 (#2386)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-23 16:27:05 +01:00
Steve Wills 98035c5c83
Add ccache to the build where possible (#2201) 2020-11-21 18:07:44 +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
Paweł 3ffb28427d
Updated minimum required Qt versions (#2210)
This updates both the build instructions and enforces qt version when running qmake
2020-11-21 11:24:32 +01:00
fourtf cc42e6f6ba disabled assert on release mode 2020-11-17 10:24:41 +01:00
Mm2PL 3ee08b9ffd
Add support FrankerFaceZ badges. (#2101)
On startup, we poll https://api.frankerfacez.com/v1/badges/ids and store the mappings of user IDs to badges for the remainder of the applications lifetime.
2020-10-25 10:36:00 +01:00
fourtf 0ecea8ad83 added category navigation to general settings 2020-10-22 23:20:07 +02: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
Paweł 776ce8bdbc
Added subage and followage to usercard (#2023)
* Added subage and followage information to usercard

We are using Leppunen's API here to determine user's subage to the current channel and since that API call also returns followage information I decided to utilize that and save ourselves an extra Helix API call.
I also added new files specifying new class and methods for Ivr API, which can be very easily expanded with new methods in the future if we ever have to do that.
When I was coding I also saw couple unnecessary nitpicks which I fixed :)

* Added changelog entry

* remove empty lambda

* Update UserInfoPopup.cpp

* xd

Co-authored-by: fourtf <tf.four@gmail.com>
2020-10-04 18:32:52 +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 f7237dccdd added colon emote popup for ffz and bttv 2020-08-15 18:59:17 +02:00
Leon Richardt a9080ceb3c
Discord-like Quick Switcher (#1588)
* Proof of Concept for Quick Switcher

* Fix crash when suggestions are empty

* QuickSwitcher: Use tab name instead of a single channel

* Rebase later

* Add missing include for <functional>

* Move QuickSwitcher related classes into own subfolder

* Refactor switcher list items

Now, items are responsible for taking the right action when selected in
the switcher list. This should allow for more focused code and
responsibilities.

* Add note about memory management

* Add option to open channel in a new tab

* Add support for using the mouse

* Spawn switcher popup in the middle of the window

Works reliably on i3 at least. Might need some additional testing on
other WMs (and especially on Windows!).

* Add some icons for switcher items

Note that the final design of the list is not final but I do plan to
incorporate these in the future.

* Set Qt::Dialog window flag on switcher popup

Prevents tiling window managers like i3 from trying to tile the window.

* Rename "SwitcherItem" to "AbstractSwitcherItem"

* Add comments about what items are inserted

* Use custom model and view

Still missing: Currently selected item is not highlighted yet. You can
move between selected items with tab and arrow keys though.

* Add helper function to convert QVariant to AbstractSwitcherItem *

* Remove useless constant

* Highlight currently selected switcher item

* Use a different method for centering QuickSwitcherPopup window

* QuickSwitcherModel: Add documentation

* Add default parameter to QuickSwitcherModel::rowCount

* QuickSwitcherPopup: Add comments

* Remove outdated TODO

* QuickSwitcherModel: Init vector with default capacity

* Remove outdated comment

* Add comment about 0 ms timeout interval

* NewTabItem: Simplify interface

* Only fetch opened splits once

This is better than the prior approach since opened splits cannot change
anyways while the switcher is open.

* Use SplitContainer to pass information instead of custom type

* Allow searching for tab titles as well

Before this commit, only channel names could be searched.

* Refactor switcher item interface to be more flexible

Also show tab name and channel name in the switcher list.

* Add documentation for AbstractSwitcherItem

* Add documentation for NewTabItem

* Add comments about {begin,end}{Insert,Remove}Rows

* Remove unused method

* Replace magic size with named constant

* Add change log entry

Co-authored-by: fourtf <tf.four@gmail.com>
2020-08-13 19:25:51 +02:00
Jonas Schmitt 11b8948290
Add support for non-highlight channel point rewards (#1809) 2020-08-08 15:37:22 +02:00
fourtf 9739d8d9c3 hide user profile avatar if obs is running 2020-07-12 22:44:33 +02:00
pajlada e4af009fda
[irc] Partially fix IRC colors (#1594)
Doesn't fix #1379 but it is a big step forward.

Needs some "real life" testing, but should be good.
2020-07-04 15:15:59 +02:00
Daniel Pasch be6ef6dcd5
open twitch usercard on middle mouse (#1669)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-05-10 12:45:19 +02:00
pajlada 001dce5da1
Create uploader to i.nuuls.com (#1332)
This commit adds support for uploading images to i.nuuls.com from clipboard or by dragging an image into a split.

Documentation for how to self-host the image uploader is available in ENV.md

By default, you will be asked before an image upload takes place. There's an option in the dialog to not be asked again, if that option is chosen you can revert that choice in the settings dialog.
2020-05-09 07:34:27 -04:00
pajlada b4eb56f362
Remove "Online Logs" functionality (#1649)
The /logs command will direct users to the /user command instead

Changelog has been updated to reflect this change
2020-05-02 12:18:35 +02:00
Mm2PL 3d1950b32e Merge remote-tracking branch 'main_repo/master' into git_is_pepega 2020-04-18 13:39:01 +02:00
pajlada 9a8b85e338
Twitch API: v5 to Helix migration (#1560)
There's a document in src/providers/twitch/api which describes how we interact with the Twitch API.
Keeping this up to date might be a healthy way for us to ensure we keep using the right APIs for the right job.
2020-03-14 12:13:57 +01:00