Commit graph

329 commits

Author SHA1 Message Date
1xelerate a40677f4cd
feat: Add copy button for both login & display name inside the user info popout (#3335)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-11-06 12:44:27 +00:00
Mm2PL c33efab751
Add includes so Chatterino compiles without PCH (#3308) 2021-10-26 17:20:28 +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
Tal Neoran fa5a9fe831
Add missing arg to string format in user unblock error (#3279)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-10-09 15:00:30 +00:00
LosFarmosCTL 773c4bb9e7
Add optional parameter to /usercard command for opening a usercard in a different channel context. (#3172)
Co-authored-by: apa420 <17131426+apa420@users.noreply.github.com>
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
2021-08-21 11:37:57 +00:00
pajlada 1d664f88e5
Keyboard integration for Streamlink quality confirmation (#3169)
Co-authored-by: zneix <zneix@zneix.eu>
2021-08-15 15:59:52 +02:00
Paweł 0c5abb8149
Deprecated /(un)follow commands and respective usercard action (#3078)
/(un)follow commands are marked as deprecated and link to the issue this PR is closing.
follow button on the usercard is removed completely

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2021-08-04 20:41:27 +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
Mm2PL b352dea2dc
Make the copy button switch light/dark theme (#3057)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-07-25 11:15:38 +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
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 cc9d44a0bb
Fix text mistakes in advanced login dialog (#2966) 2021-07-05 16:52:59 +00:00
Leon Richardt 0dd545fa15
fix: provide better UX for HTML color picker edit (#2942) 2021-07-02 21:53:24 +02:00
Paweł 002129009d
Fix emotesets not loading properly (#2905)
* Initial work

fk I'm so tired...

* Updated Twitch API documentation

* Futher changes

* Removed debug output

* Added changelog entry

* Advice: don't code at 4am

removed all silly debug stuff

* Add missing lambda capture
2021-06-24 21:23:31 +00:00
fourtf 1efc547aa5
removed access to theme from TMB + misc fixes (#2694)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-20 13:55:35 +00: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
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
fourtf 8b3f301c50
some concurrency additions (#2698) 2021-05-01 11:38:58 +00:00
Paweł 1ef2f17cd4
Added missing context menu entries to emote popup (#2670) 2021-04-24 15:43:15 +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
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
Tal Neoran b0fee78f2b
Add PgUp / PgDown for scrolling in the emote popup (#2607)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:11:26 +00:00
James Upjohn 093a088363
Fix quick switcher not ordering based on tab order (#2561) 2021-03-27 12:32:14 +01:00
pajlada fd3efe0e15
Fix windows build not compiling (#2523) 2021-03-14 17:25:32 +01:00
Paweł 382462f465
Added avatar context menu to usercard (#2517) 2021-03-14 15:09:16 +01:00
Paweł 1090524dec
Removed refresh label from usercard (#2514)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 15:09:26 +01:00
Paweł 1eb6aa64db
Localized all relevant numbers visible to end-user (#2488) 2021-03-06 15:03:33 +01:00
M4tthewDE 798384c931
Fix filter inconsistency (#2480) 2021-02-27 13:25:54 +01:00
Paweł 7d9f4c2b0c
Migrated block, unblock and get user block list methods to Helix (#2370)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-14 14:01:13 +01:00
Paweł 3023a44a21
Some fixes related to clipboard (#2405)
Also:
- Fixed capitalization of one method in `LoginDialog.cpp`
- Visually improved some strings in `LoginDialog.cpp`
- Added utility function getting clipboard content to `Clipboard.cpp`
- Made sure to use `crossPlatformCopy` in `UserInfoPopup.cpp`
2021-02-06 15:47:09 +01:00
Paweł e48937e0aa
Fixed some spelling mistakes across files (#2367)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-17 20:19:10 +01:00
Paweł 2f5df3db4a
Migrated follow and unfollow methods to Helix API (#2306) 2020-12-22 09:55:58 +01:00
Leon Richardt 89c74e03d6
chore: remove a redundant using namespace declaration (#2303) 2020-12-21 00:42:20 +01:00
Paweł dcebcd4456
Added Ctrl+1/2/3/... shortcuts to Emote Popup (#2263) 2020-12-12 14:58:59 +01:00
Paweł cfa9e5903e
Migrated Kraken's getUser to Helix (#2260) 2020-12-06 19:41:52 +01:00
Leon Richardt 0a0cfb8e48
fix: make LoginWidget child of AccountsPage (#2234) 2020-11-29 10:48:23 +01:00
pajlada 5258ddd84f
Add parent to ChannelFilterEditorDialog (#2232) 2020-11-28 18:04:33 +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
Daniel d206ed4bcc
Fixes the dropdown order in channel filter dialog (#2168) 2020-11-21 13:47:09 +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ł fbd5df53d8
Ensure Twitch username in UserCard uses display name from API (#2160) 2020-11-08 11:39:10 +01:00
Paweł 86feef6be8
Fixed settings dialog size (#2145) 2020-11-01 14:11:45 +01:00
pajlada 1ee1e8837f
Use Qt's dialog where applicable (#1843) 2020-10-31 16:42:48 +01:00
Paweł 523874dc21
Added tab navigation shortcut to SelectChannelDialog (#2142)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-10-31 16:17:09 +01:00
Paweł 3c1abbd297
Added missing window titles to all popups (#2120) 2020-10-31 15:12:42 +01:00
Leon Richardt 0049a5ebb2
Fix tabbing in Quick Switcher (#2065)
It was broken in f7237dc due to the migration to the GenericListView approach
2020-10-24 10:50:14 +02:00
fourtf 8bc3025a77 Merge branch 'master' of https://github.com/Chatterino/chatterino2 into master 2020-10-22 20:00:14 +02:00
fourtf aa4326f051 renamed filter dropdown items 2020-10-21 17:11:44 +02:00
Paweł 406e00df43
Fixed some stuff regarding usercard (#2100)
- split everything into 2 separate labels, so we won't have any issues with dank dpi (like pajlada had) and no resizing to minimum size is required (which was apparently broken on Windows xd)
- decided to remove line, which is rather not visible / very small and can't be seen anyway
- added nice unicode characters for follow and sub label
- removed unnecessary QLabel include (which I believe was also introduced by me by an accident)
2020-10-21 17:02:24 +02:00
pajlada 72f44ccdc3
Fix "variables" documentation help in the Filter creation dialog (#2083) 2020-10-18 16:14:59 +02:00
pajlada f191de2514
Add CI workflow to check line endings of all source files (#2082)
In addition, all found errors (formatting & line ending) have been fixed in this PR.
2020-10-18 15:54:48 +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
Rasmus Karlsson dfe1af248c define accent color in theme 2020-10-11 14:36:28 +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
Dave 56828f2d81
Made the current channels emotes appear at the top of the emote picker (#2057) 2020-10-11 12:31:00 +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
gempir 80e84b1d8a
Commands are now saved upon pressing Ok in the settings window (#2016)
Commands are now saved upon pressing the Ok Button in the settings window, similar to the rest of the settings.
2020-10-04 13:02:29 +02:00
Vilgot Fredenberg de04ff82a7
Clean up compiler warnings (#2027)
Fix the following compiler warning
../src/common/NetworkResult.hpp: In constructor ‘chatterino::NetworkResult::NetworkResult(const QByteArray&, int)’:
../src/common/NetworkResult.hpp:28:16: warning: ‘chatterino::NetworkResult::data_’ will be initialized after [-Wreorder]
   28 |     QByteArray data_;
      |                ^~~~~
../src/common/NetworkResult.hpp:27:9: warning:   ‘int chatterino::NetworkResult::status_’ [-Wreorder]
   27 |     int status_;
      |         ^~~~~~~
../src/common/NetworkResult.cpp:9:1: warning:   when initialized here [-Wreorder]
    9 | NetworkResult::NetworkResult(const QByteArray &data, int status)

* Clang compiler warnings

Fixes every instance of the following error:

In file included from ../src/widgets/settingspages/CommandPage.cpp:12:
In file included from ../src/controllers/commands/CommandModel.hpp:5:
../src/common/SignalVectorModel.hpp:242:10: warning: 'moveRows' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
    bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count,
         ^
../src/controllers/commands/CommandModel.hpp:12:29: note: in instantiation of template class 'chatterino::SignalVectorModel<chatterino::Command>' requested here
class CommandModel : public SignalVectorModel<Command>
2020-10-04 12:47:23 +02:00
Daniel b67e20d962
Only show VIP buttons if broadcaster (#1999) 2020-09-27 10:34:20 +02:00
apa420 3450b1cc9d
Added image to streamermode user popup (#1995)
* Added image to streamermode user popup

* Update CHANGELOG.md

* swapparoo

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-27 00:22:06 +02:00
apa420 b4ef4fe54d
Added vip and unvip buttons (#1996)
Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-27 00:20:15 +02:00
fourtf 53b18d03c6 fixed a memory leak 2020-09-26 18:07:13 +02:00
Daniel f7f858a4fc
Auto-refresh UserInfoPopup recent messages (#1982)
* Auto-refresh UserInfoPopup recent messages

* Update CHANGELOG.md

* Clean up code

* changed something about the connection

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 16:59:40 +02:00
Paweł d314566ab6
Argument parsing rework (#1940)
* Experimental argument handling

* Restored browser extension launch functionality

Also moved check from BrowerExtension.cpp to Args.cpp as it is more relevant there and doesn't require passing arguments to a function in another file

* Fixed formatting

* Simplified Args.cpp code, added changelog entry

* Hid crash-recovery from help

* Dont save settings if launched with --channels

* Changed parsing method to t:channel

* Code cleanup

* Changed plaform delimeter to :, platform defaults to Twitch

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 16:03:51 +02:00
fourtf db3402a18e Merge branch 'Ch2Usercard' 2020-09-26 14:54:44 +02:00
fourtf d5855ba7d6 removed latest messages 2020-09-26 14:02:18 +02:00
Rasmus Karlsson 470fe5a58a Add label that shows up if the log in link didn't open properly
This basically takes the official advice from https://github.com/Chatterino/chatterino2/issues/1779#issuecomment-699235396 and tells the user what they can do as a workaround.

Relevant issue: #1779
2020-09-26 10:24:29 +02:00
pajlada c7a2f4cc92
Don't make follow requests based on the check follow response (#1906)
This is done by deliberately setting and reading the enabled state of
the widget whenever the stateChanged event happens.

If the stateChanged event happens while the widget is not enabled, we
know the event must have been triggered by our "check user follow state"
event, and then we don't act upon that event
2020-09-06 12:46:35 +02:00
fourtf 63c167f1db 2.2.1 2020-08-24 20:24:00 +02:00
fourtf 95f975996d added tip for search shortcut to settings 2020-08-22 12:17:20 +02:00
fourtf f7237dccdd added colon emote popup for ffz and bttv 2020-08-15 18:59:17 +02:00
Leon Richardt 6781482485
Quick Switch: Add support for light themes (#1858) 2020-08-15 10:17:15 +02:00
fourtf 46361ea859 some more stuff 2020-08-13 20:20:24 +02:00
fourtf a566a74ef0 removed some more pointers 2020-08-13 20:10:52 +02:00
fourtf c83fc043e0 replaced raw pointers with unique_ptr 2020-08-13 20:05:54 +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
fourtf 8661c83312 updated descriptions in notification settings 2020-08-13 17:36:45 +02:00
fourtf 6f4f66b9d0 use different window frame for user popup based on the setting 2020-08-13 17:17:53 +02:00
pajlada 276f3e1d98
[SettingDialog] CTRL+F now selects the Find input (#1811)
* Sneakily make SettingsDialog constructor private at the same time 🕵
2020-07-18 15:56:33 +02:00
fourtf 9739d8d9c3 hide user profile avatar if obs is running 2020-07-12 22:44:33 +02:00
mmb L 0b0fdb4ba2
Fix emote popup remember last position by moving setStayInScreenRect into EmotePopup constructor (#1752) 2020-07-05 14:07:03 +02:00
Paweł 205d658f80
Fixed /usercard on linux (#1755)
- /usercard command doesn't close imidiatelly
- removed "Dialog" window flag. It seems to be unnecessary and causes issues (on left-clicking user name it sometimes didnt render unless you clicked 2-3 times.
2020-06-27 12:58:44 +02:00
0xRainy 0e564065ba
Added recent messages to UserInfoPopup (#1729)
There's a Refresh button added to the popup to refresh the users messages in the popup. Not automatic now while we figure out how fast/slow it would be.

Co-authored-by: dnsge <sagedanielr@gmail.com>
2020-06-21 14:15:14 +02:00
Rasmus Karlsson 666b577bd5 Close UserInfoPopup when Escape is pressed 2020-06-14 12:26:50 +02: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
fourtf 6052846bc3 added checks to mitigate floating point crashes 2020-04-19 21:05:40 +02:00
mmb L 2076715e23
prevent moveTo from changing popup position on every launch (#1630) 2020-04-18 10:59:27 +02:00
mmb L ebfcb49e8c
Make emote popup remember last position (#1580)
* Use existing moveTo to ensure window stay within desktop geometry
2020-04-13 13:15:51 +02:00
Rasmus Karlsson 5afb2800c9 Make the "user info popup" crash less likely (hack v2) 2020-04-05 13:00:16 +02:00
Leon Richardt 17aa3f71cd
Remove Debug Output In Many Different Places (#1607)
* Application.cpp: Remove whisper debug output

* TwitchAccount.cpp: Remove AutoMod debug output

* BaseWindow.cpp: Remove mouse tracking debug output

* RunGui.cpp: Remove debug output for cleared cache items

* Notebook.cpp: Remove debug output for selected widgets

* LimitedQueue.hpp: Remove commented debug output

* IrcMessageHandler.cpp: Remove debug output when receiving whispers

* UserInfoPopup.cpp: Remove user name debug output

* ChannelView.cpp: Remove debug output when clicking a message

* Image.cpp: Remove commented debug output

* AttachedWindow.cpp: Remove commented debug output

* SplitOverlay.cpp: Remove commented debug output

* TwitchMessageBuilder.cpp: Remove debug output for highlights

* TwitchMessageBuilder.cpp: Remove debug output for blocked messages

* PubsubClient.cpp: Remove debug output on PubSub::listen

* PubsubClient.cpp: Remove debug output on PubSub::tryListen

* IncognitoBrowser.cpp: Remove debug output of browser command

* NativeMessaging.cpp: Remove debug output of message
2020-03-19 18:06:21 +01: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
fourtf d83b597c75 removed unused function in SettingsDialog 2020-02-28 19:12:22 +01:00
fourtf b887f1c90e fix crash 2020-02-28 19:05:50 +01:00
fourtf 5ad427bd61 moved some Settings from Application to Settings 2020-02-23 22:15:13 +01:00
fourtf f8a9850151 absorbed HighlightController into Application 2020-02-23 21:18:40 +01:00
fourtf 2ebe07bace removed compat functions in SignalVector 2020-02-23 19:44:13 +01:00
fourtf 4a5dc80bc6 some more refactoring 2020-02-23 17:45:59 +01:00
fourtf 03cf6e81ff fixed spaces and margins in general settings 2020-02-21 03:01:48 +01:00