Commit graph

653 commits

Author SHA1 Message Date
pajlada 34ea303607
Move most Command variables into the CommandController shared variables (#3824) 2022-06-25 12:06:16 +00:00
Daniel Sage 81caf1aae0
Rewrite & optimize LimitedQueue (#3798)
* Use circular buffer for LimitedQueue

* Reduce copying of snapshot

* Small optimizations

* Remove unneeded lock statements

* Add LimitedQueue tests

* Fix includes for limited queue benchmark

* Update CHANGELOG.md

* Use correct boost version iterators

* Use a shared_mutex to clarify reads and writes

* Update `find`/`rfind` to return the result as a boost::optional

* Use `[[nodiscard]]` where applicable

* Update comments

* Add a couple more doc comments

* Replace size with get

get is a safe (locked & checked) version of at

* Use std::vector in LimitedQueueSnapshot

* Update LimitedQueue benchmarks

* Add mutex guard to buffer accessors

We do not know whether T is an atomic type or not
so we can't safely say that we can copy the value
at a certain address of the buffer.

See https://stackoverflow.com/a/2252478

* Update doc comments, add first/last getters

* Make limit_ const

* Omit `else` if the if-case always returns

* Title case category comments

* Remove `at`

* Fix `get` comment

* Privatize/comment/lock property accessors

 - `limit` is now private
 - `space` is now private
 - `full` has been removed
 - `empty` now locks

* Remove `front` function

* Remove `back` method

* Add comment to `first`

* Add comment to `last`

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-18 10:44:48 +00:00
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 5de4e9d9cc
Corrected determination of search popup's title (#3790) 2022-06-01 12:41:16 +00:00
Mm2PL c8f5d35042
Added mod button-like placeholders in right click commands (#3765)
Implemented input.text to return altText when it makes no sense to contain data

Co-authored-by: Kasia <zneix@zneix.eu>
2022-05-29 12:23:29 +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
xel86 4239666934
Feature: execute commands on chat messages using the context menu (#3738) 2022-05-22 14:45:54 +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
kornes b825493d6e
Fix incorrect spacing of settings icons at high DPI (#3698)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-30 10:04:45 +00:00
kornes f170d31ab5
Add missing tooltip hide on ChannelView leave event (#3686) 2022-04-24 17:23:23 +02:00
James Upjohn 04c355f7e9
feat: use message's original channel name when usercard popout is opened (#3623)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-04-09 11:27:21 +00:00
Infinitay 554313d645
Add the ability to lock NotebookTab layout (#3627)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-03-26 14:16:45 +01:00
James Upjohn 495f4b15f4
fix: double right/middle clicking usernames starts text selection mode (#3608)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-03-19 13:22:42 +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
qooq69 82196e3e82
Added incremental search to channel search. (#3544)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-02-13 15:05:38 +00:00
Infinitay 5978ed8b1f
Show context menu anywhere in MessageLayout when applicable (#3566)
Co-authored-by: James Upjohn <jammehcow@jammehcow.co.nz>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-02-13 00:46:39 +00:00
Infinitay 1d272c399b
Added ability to copy message ID with Shift + Right Click (#3481)
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>
2022-01-16 13:35:00 +00:00
qooq69 687adf6b4e
Usercards no longer close when the originating window (e.g. a search popup) is closed (#3518)
Fixed being unable to open a usercard from inside a usercard while "Automatically close user popup when it loses focus" was enabled

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-01-16 12:31:24 +00:00
Paweł 700c9fc4f2
Don't crash upon right-clicking automod badge (#3496) 2022-01-14 02:44:13 +01:00
Felanbird 1ba747efb1
Add login to Context Menu ignoreList (#3471) 2022-01-06 09:12:09 +00:00
Felanbird 4f01ea4ab6
Add signup to Context Menu ignoreList (#3468) 2022-01-05 12:50:49 +00:00
pajlada c26fb01df5
Fixed crash that could occur when the user closes the Settings dialog (#3444) 2022-01-01 13:15:52 +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
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
Felanbird c19fd0d332
Add more ignored channels for context menu twitch links (#3352)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-11-14 12:21:17 +00:00
Mm2PL 7f4b73910a
Added support for opening channels from twitch.tv/popout links. (#3309)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-11-06 13:43:03 +00:00
Felanbird d7337ff69f
Add "drops" as an ignoredUsername for context menu twitch links (#3310) 2021-10-31 12:16:07 +01:00
Ryan e24dffa961
Fix 'First Message' scrollbar highlights not being disabled (#3325)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-30 13:24:38 +02:00
Felanbird be3609a927
Capitalize mentions of Twitch, Chatterino, and IRC in comments and text/settings (#3274) 2021-10-17 15:06:58 +02: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
Paweł 2bd05fd576
Simplify ResizingTextEdit::isFirstWord to avoid invalid QString index warnings (#3285)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-16 11:00:41 +00:00
Tal Neoran d8aa232df9
Add keybindings to tab context menu items (#3265)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-10-09 16:09:11 +00:00
Mm2PL 9b9fd7d403
Add new command placeholders: {channel.name}, {channel.id}, {stream.game}, {stream.title}, {my.id}, {my.name} (#3155)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-09-11 12:35:26 +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
pajlada 54f6e4f9e9
Remove twitchemotes.com-related functionality (#3136)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-08-07 11:13:05 +00:00
pajlada 95044efeed
Fix filter crash introduced in #3092 (#3110) 2021-08-03 07:39:27 +00: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
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ł 670ad90242
Don't trigger middle mouse scrolling if ChannelView is not fully populated (#2933)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-04 10:18:49 +00:00
Mm2PL 9fb5ef60d4
Image uploader mime filter uses urls but doesn't check them (#2855)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-13 14:23:13 +00:00
Paweł 57354283ec
Added ability to toggle visibility of tabs (#2600)
This can be done by right-clicking the tab area or pressing the keyboard shortcut (default: Ctrl+U).

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-30 11:39:34 +00:00
Tal Neoran b42f70e6d8
Add moderation buttons in search popup (#2803) 2021-05-23 15:51:53 +02:00
Tal Neoran 14e8a2bf6c
Add #channel in mentions usercard and search popup (#2802) 2021-05-22 15:11:24 +02:00
Paweł 6732b25f36
Fixed deprecated method Qt::SystemLocaleLongDate (#2784)
Fixes deprecation notices introduced in #2748

Reference: https://doc.qt.io/qt-5/qt.html#DateFormat-enum
Replacement: https://doc.qt.io/qt-5/qlocale.html#FormatType-enum
2021-05-16 00:34:42 +02:00
Paweł e746201c4f
Refactored and Migrated to Helix AutoMod message management (#2779)
This uses new Helix endpoint which requires new scopes and users need to reauthenticate to approve/deny AutoMod messages again.
2021-05-14 13:14:43 +02:00
apa420 d59bb805bb
Added system message on new date (#2748)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-09 18:44:57 +02:00
apa420 dcd65b5978
/live split for channels going live (#1998)
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-09 14:17:04 +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
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
Paweł 9c41adca2e
Fixed deprecated method QWheelEvent::delta (#2647)
Reference: https://doc.qt.io/qt-5/qwheelevent-obsolete.html#delta and https://doc.qt.io/qt-5/qwheelevent-obsolete.html#orientation

Changes in behavior introduced in this commit

Change from `event->delta()` to `event->angleDelta().y()` makes it, so you can no longer scroll horizontally (with trackpad / touchpad) to select next/previous tab (until now, you were able to do it, but I believe this is wrong anyways).

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-26 21:38:16 +02:00
Paweł 675f99e9cc
Added image links to the badge context menu (#2667) 2021-04-25 13:16:32 +00:00
Andrew Opalach 24a2d8a86f
Wait for smooth scrolling animation to add new message (#2084)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-24 15:15:15 +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
Iulian Onofrei 8779303845
Fixed search field not being focused on popup open (#2540)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-11 13:37:53 +00:00
Yoitsu 00ccdbc781
clang-tidy: use std::move where applicable (#2605)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:34:40 +00:00
fourtf 2db7a30ae5
always update dropdown on split button press (#2590) 2021-04-04 15:24:12 +02:00
Paweł d1a10d3c1f
Fixed deprecated method QFlags::Zero (#2508)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 16:27:13 +01:00
Paweł 0e99527e8c
Fixed deprecated method QFontMetrics::width (#2509)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 14:47:02 +01:00
fourtf 81ce8dcc08 moved last message line in settings and changed defaults 2021-03-13 12:33:54 +01:00
Iulian Onofrei 684dbed706
Fixed hidden tooltips when always on top is active (#2384) 2021-01-23 16:49:02 +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
pajlada ddcad4607c
Don't pollute global namespace with boost bind placeholders (#2272) 2020-12-13 13:18:12 +01:00
Mm2PL eb8eecdfed
Improve the "You are banned" message (#2266)
Added reconnect link to the "You are banned" message
2020-12-12 14:19:51 +01:00
Mm2PL c6d55e0d8c
Improve search popup window titles (#2268)
Adds special cases for /whispers, /mentions and empty tabs, and an apostrophe in the titles.

Co-authored-by: Paweł <zneix@zneix.eu>
2020-12-12 13:06:40 +01:00
Paweł 8b2c3c7386
Fixed thumbnails merging with link info without thumbnails (#2244) 2020-12-05 15:03:13 +01:00
Paweł 49fa9bfd72
Made #channel link in /mentions jump to #channel split (#2220) 2020-11-28 17:45:20 +01:00
Paweł 05aab86845
Added links to twitchemotes.com to Twitch emotes' context menus (#2214) 2020-11-22 15:54:58 +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 60d5c5d99f
[Fix] Use copy instead of reference for overriding message flags (#2200)
* fix: use copy instead of reference for overriding message flags

* doc: update changelog

Note: the initial attempt at fixing this issue (#2090) was also included
in order to make the development process more trackable.
2020-11-17 18:47:07 +01:00
pajlada 53c96097c9
Use the main window as the parent to all user cards on macOS (#2185) 2020-11-15 14:40:34 +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
pajlada 9cdddfc65d
Fix various warnings (#2147) 2020-11-01 15:23:58 +01:00
Daniel 2eb01af5e7
Prevent default tab completion from overriding colon menu (#2133)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-01 14:59:43 +01:00
fanway 892e16c533
Fix link preview doesn't update link info for previous messages after setting is enabled (#2108)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-01 14:33:01 +01:00
pajlada 1ee1e8837f
Use Qt's dialog where applicable (#1843) 2020-10-31 16:42:48 +01:00
yodax 466d85c907
Retain channel context for user cards opened from search window (#2088) 2020-10-25 11:10:28 +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
Leon Richardt ec94869480
Allow highlights to be excluded from /mentions (#2036) 2020-10-24 14:33:15 +02:00
fourtf 5f54b1b495 moved navigation to the right 2020-10-23 09:33:44 +02:00
fourtf 0ecea8ad83 added category navigation to general settings 2020-10-22 23:20:07 +02:00
fourtf 4d676b4c51 fix #2106 2020-10-22 20:02:14 +02:00
Daniel e7c2e1bec2
Copy message flags to preserve highlights (#2090) 2020-10-21 16:27:24 +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ł 2232c6d925
Changed Streamer Mode settings (#2001)
There's now a new (yet another, sigh) section in Settings -> General, which lets you set streamer mode to 'enable/disable/detect obs' and there are also separate settings for each of the things that streamer mode covers. I just have to add ping sounds and PR is ready to be merged :)

* Show "Streamer Mode" image as link thumbnails if applicable

* Moved hideViewerCountAndDuration to streamerMode settings

Set it to false by default (just how it used to be under /misc settings, also reworked live tooltip to be a bit prettier and say "<Streamer Mode>" in gray instead of "Live with <hidden> for <hidden> viewers"
2020-10-11 13:52:14 +02:00
fanway df97d609a2
Fix tooltip not showing in EmotePopup (#2046)
* Fix tooltip not showing in `EmotePopup`

* Update CHANGELOG.md
2020-10-09 17:21:04 +02:00
Leon Richardt aff59495df
Improve "Login expired!" message (#2029)
* feat: improve "Login expired!" message

Since this message occurs when the OAuth token becomes invalid, users
have to re-add their account in order to continue using the application.
The previous message did not make this clear enough, often leading to
confusion and questions by users.

This commit changes the system message to more clear about what the user
has to do, and adds a link that opens the "Accounts" page in the
preferences.

* Update changelog

* Update ChannelView.cpp

Co-authored-by: fourtf <tf.four@gmail.com>
2020-10-04 17:36:38 +02:00
fourst4r 2f3accf3cb
fix a crash using middle click scroll on chat window (#1870)
* fix middle click scroll crash

* Update CHANGELOG.md

* get the float dpi, not int
2020-09-26 15:47:20 +02:00
fourtf 06cb88f6c2 downscale images in button 2020-09-26 15:40:43 +02:00
fourtf f4a6b769e5 fixed some potential crashes down the line 2020-09-26 15:17:26 +02:00
tuckerrrrrrrrrr 9d885d951c
Allow reordering elements in list settings (#1595)
* Add move up, down buttons to list settings

Channel notifications, moderation buttons etc. have a move up and move
down button now for reordering.

* Selection follows moved rows, refactor

Also fixed rows past the 2nd one not moving

* Update selection property with more than 1 column

* Fix crash when moving without a row selected

* Move rows with drag and drop

Right now it's a little iffy registering the row to be moved, but I
wanna go to bed :)

* Remove EditableTableView, move to SignalVectorModel

Replace my ghetto drag and drop solution in EditableTableView with small
patches to the stuff already written in SignalVectorModel::dropMimeData
2020-09-26 15:11:45 +02:00
fourtf 828fb2c3f5 Fixes #1767 2020-09-26 01:19:47 +02:00
fourtf b905e0afd1 Fixes #1676 2020-09-26 00:59:16 +02:00
fourtf 5fc495a073 Fixes #1404 2020-09-25 22:59:20 +02:00
fourtf 459e483c62 hide link preview image if in streamer mode 2020-08-22 15:27:42 +02:00
fourtf 5a18a0f040 updated links to go to chatterino.com redirect pages 2020-08-22 14:46:17 +02:00