Commit graph

67 commits

Author SHA1 Message Date
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
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 11525e626a
edited general settings categories (#2117)
* edited general settings categories

* Update CHANGELOG.md
2020-10-23 14:26:04 +02:00
pajlada 72f44ccdc3
Fix "variables" documentation help in the Filter creation dialog (#2083) 2020-10-18 16:14:59 +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
pajlada 812cbdf4f9
Scroll in selected split with PageUp and PageDown (#2081) 2020-10-18 13:15:47 +02:00
pajlada 39a0e69a3b
Reset the timer & refresh thumbnail when changing split channel (#2080) 2020-10-18 12:19:30 +02:00
yodax 55b98f93db
Added emote completion with : to the whispers channel (#2076) 2020-10-17 15:59:15 +02:00
yodax 2352c31dd6
Viewer list usability improvements (#2059)
* Updated to use accent color and added spaces between categories

* Switched order of Moderators and VIPs
2020-10-17 15:00:10 +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
Dave 98762fdfa0
Add viewer list button to twitch channel header (#2042) 2020-10-10 17:24:53 +02:00
Dave 84613187e1
Fixed missing timestamps on point redemption messages (#2043)
* Added timestamps to point redemption messages

* updated change log

Co-authored-by: fourtf <tf.four@gmail.com>
2020-10-09 17:26:45 +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
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
apa420 35816c5d8a
Add settings for last message line style (#2019) 2020-10-04 18:26:46 +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
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
apa420 a2e12a56e3
Changed some default settings (#2024)
Colorized nicknames now enabled by default
Show channels live now enabled by default
Bold usernames enabled by default
2020-10-04 12:59:31 +02:00
Daniel 58a6983796
Fix timestamps on some messages loaded from the recent-messages service on startup (#2020) 2020-10-03 13:37:07 +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
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
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 affef2c5a2 Merge remote-tracking branch 'refs/remotes/origin/master' 2020-09-26 14:56:56 +02:00
fourtf db3402a18e Merge branch 'Ch2Usercard' 2020-09-26 14:54:44 +02:00
pajlada 20e4d6b3d2
Update emote parsing (#1714)
Fixes #1707
2020-09-26 14:21:46 +02:00
apa420 d9e6488be3
Update CHANGELOG.md (#1990) 2020-09-26 13:38:15 +02:00
Auro cc5eb7000f
Fixed the english of a system message (#1878)
* Update TwitchIrcServer.cpp

* made english better

changed "sending messages too fast" to "You are sending messages too fast"

* changed english

* Changed English

Changed the English in 2 system messages

* Update CHANGELOG.md

* Changed too fast to too quickly

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 13:06:37 +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
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
Daniel b024b47afd
Changelog crash fix (macOS) (#1935)
On macOS, trying to display a dialog before showing the main window
(like when starting minimized) leads to a crash. The dialog will now
show before the main window is opened, preventing this issue.
2020-09-06 12:02:15 +02:00
pajlada 9ae79e650d
Update version of settings library (#1908)
This version handles symlinks properly

Relevant for commands saving and settings saving
2020-08-30 15:31:47 +02:00
Daniel 0814fca7d4
Usercard command fix (#1918)
* Add myself to contributors list
2020-08-30 11:57:46 +02:00
Nico Sonack 930351779c
(#1874) Disable updates on non-Windows, Linux or macOS platforms (#1914)
* (#1874) Disable update checking for unsupported platforms

As described #1874, only Windows, macOS and GNU/Linux are officially
supplied with builds. Thus checking for updates is unnecessary if we
are e.g. on FreeBSD, OpenBSD, illumos distros and possibly other
Operating Systems.

This fixes #1874 by ifdef-ing the 3 officially supported platforms
when checking for updates. Otherwise a debug warning will be emitted
and in the settings the checkbox for beta-updates is hidden and
replaced by a message, explaining the reason for why there are no beta
updates.

* Update CHANGELOG

In accordance with #1874

* (#1874) Move platform check into checkForUpdates

As discussed in #1914

* (#1874) Move check for supported OS to a seperate function.

As requested in #1914
2020-08-24 12:02:56 +02:00
Leon Richardt 505581ca65
[Bug Fix] Color of second user highlight cannot be set (#1898)
* Highlighting: Fix bug preventing user highlight from being set

Before this commit, only the row of a clicked cell was checked, but not
the tab it was clicked in.

Since the "Whispers" row is the second row in the "Messages" tab on the
highlighting page, the color picker was not opened for the second entry
in the "Users" tab either. This commit fixes the bug by also checking
tab the cell was clicked in.

* Update CHANGELOG.md
2020-08-22 23:10:10 +02:00
fourtf 359adbce15
Update CHANGELOG.md 2020-08-22 19:30:27 +02:00
fourtf 106923549d
Update CHANGELOG.md 2020-08-22 16:58:35 +02:00
pajlada 0cbddf7e9b
Fix/be respectful of special characters like exclamation marks in highlight phrases since they are also word boundaries (#1890)
* Add missing includes

We would normally have these included in another file already, or even
the precompiled headers, but having the files included here too makes
testing single parts easier.

* Modify the regex building of highlight phrases for non-regex phrases

For phrases like !test, the word boundary checking we did before was not
enough, so we now check for either a word boundary, a whitespace
character, or the line start/end.

* Add tests for ensuring I haven't fully broken the highlight system

* Add changelog entry
2020-08-22 15:37:03 +02:00
alazymeme 0b0f1c9c5c
Add microsoft edge support for incognito (#1875)
* Fix incognito button missing

* Update CHANGELOG.md
2020-08-21 15:33:56 +02:00
alazymeme fba049dbfb
Fix open in browser button for whisper split (#1860)
* Fix open in browser button for whisper split

* Update CHANGELOG.md
2020-08-15 10:15:57 +02:00
Matthew Marlow 8530ffb7e3
added brave browser to supported NM list (#1862)
* added brave browser to supported NM list

* updated CHANGELOG.md
2020-08-15 10:14:59 +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
Daniel 0e6ca6b097
Vertical tabs (#1815)
* Vertical tabs

* Vertical tab wrapping

* Fix formatting

* Cleanup code

* Updated changelog

* Hide button row if no buttons exist

* Fix tab width expansion

Co-authored-by: fourtf <tf.four@gmail.com>
2020-08-13 15:43:08 +02:00
alazymeme 1bd3d10eef
Add an "Open in browser" option to whisper split (#1828) 2020-08-08 15:17:51 +02:00
pajlada 382dfbc2fa
[SearchPopup] CTRL+F now focuses the search input (#1812) 2020-07-18 17:52:12 +02:00