Commit graph

529 commits

Author SHA1 Message Date
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 d13b7d9768 fixed formatting in Settings.hpp 2020-09-26 15:18:48 +02:00
fourtf db3402a18e Merge branch 'Ch2Usercard' 2020-09-26 14:54:44 +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
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
fourtf 1501da7e72 reverted update code to old state 2020-08-24 09:52:24 +02:00
fourtf df2cfa73f0 maybe fixed updates on macos 2020-08-24 09:42:59 +02:00
fourtf 50da694fff
Stable (#1905)
* fixed SearchWindow memory leak

* Update CHANGELOG.md

* added DebugCount for BaseWindow

* [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

* Emote Popup Improvements (#1895)

* Put exact matching emotes first

* Close GenericListView on Escape press

* smol fix

* fixed emote input when not in the first char

* fixes #1902

* closes #1904

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Daniel <24928223+dnsge@users.noreply.github.com>
2020-08-23 11:28:22 +02:00
fourtf a8c61980ac removed default image uploader 2020-08-22 18:33:37 +02:00
fourtf 83b6fad8e6 fixed some concurrency issues 2020-08-22 11:45:18 +02:00
fourtf 1d1fd4d7c0 reordered settings 2020-08-13 18:56:40 +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
Jonas Schmitt 11b8948290
Add support for non-highlight channel point rewards (#1809) 2020-08-08 15:37:22 +02:00
mmb L 208f9b093c
Added setting to auto close user popup (#1833)
* Set autoclose as true by default to match stable version (2.1.7) behavior
2020-08-08 14:43:26 +02:00
Matthew Marlow e5f3bc9f3f
Improve Chatterino extension positioning (#1825)
This adds support for left-side chat
2020-08-01 15:42:56 +02:00
Daniel ba06b10135
Open usercard on mention click (#1674) 2020-07-18 16:03:51 +02:00
Paweł 682caf6b69
Add support for more image uploader services (#1741)
The list of links that have been uploaded is now also stored in the json format instead of csv
2020-07-05 14:32:10 +02:00
alazymeme f3f8b2d024
Fix popout player url (#1730)
* Update TwitchChannel.cpp

* Reformatting forsenY

* fixed other things

* xd

* Update TwitchChannel.cpp
2020-06-12 19:44:05 +02:00
apa420 6d5ba0c442
Show thumbnails for live streams inside of the split header tooltip (#1702)
This feature is enabled by default and can be disabled in the Settings dialog with the "Show stream thumbnail" setting
2020-05-24 11:57:15 +02:00
Daniel 680b500993
Fix update checker not working on macOS (#1642)
* Prevent update dialog from going off screen

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-05-10 13:13:47 +02:00
Daniel Pasch 8532c6d3bc
Add thumbnails to link tooltips if available (#1664)
This feature is off by default and can be enabled in the settings with the "Show link thumbnail" setting. This feature also requires the "Show link info when hovering" setting to be enabled.

thumbnails support is only there for direct image links, twitch clips, and youtube links. can be expanded in the future in the /api repo

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-05-10 12:11:10 +02:00
Mm2PL 2b1c9794b7
Add confirmation box for uploads. 2020-05-09 13:14:41 +02:00
fourtf 120f73db13 added additional checkbox for highlighted bits messages, fixes #1637 2020-04-18 20:05:05 +02:00
fourtf 097f4ccb3a refined highlight and added bits highlights 2020-04-15 23:15:45 +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
apa420 2ac0b60952
option to hide viewer count and duration of the stream when you hover on the split (#1626)
Fixes #1621
2020-04-13 12:24:27 +02:00
23rd f489d23a8d
Added ability to open stream in external video player via URI scheme. (#1623) 2020-04-11 11:43:35 +02:00
Leon Richardt 95c909b337
Better Highlights: Fix Wrong Color for Migrated Phrases (#1568)
* Better Highlights: Fix wrong color for migrated phrases

Prior to this commit, no default color was set when an "old" highlight
phrase (one added prior to #1320 / 5957551) was deserialized. This
commit makes highlight phrases uses the default self-highlight color for
these situations. This approach is reasonably sensible since that color
is also similar to the old highlight color.

Fixes #1565.

* Update default self-highlight color

The new default color was suggested in [1] by @RAnders00. Refer to the
link for further information.

[1]: https://github.com/Chatterino/chatterino2/issues/1565#issuecomment-590441625

* Theme: Remove highlight color

As highlight color is independent of the selected theme now, the member
has been removed from the `Theme` singleton. Instead, the fallback theme
color is defined in `HighlightPhrase` now.

Uses of `themes->messages.backgrounds.highlighted` have been replaced
with `HighlightPhrase::FALLBACK_COLOR` accordingly.

* Update src/controllers/highlights/HighlightPhrase.hpp

attempt to just remove constexpr

Co-Authored-By: Ruben Anders <ruben.anders@robotty.de>

* Initialize FALLBACK_COLOR outside header file

* Rename FALLBACK_COLOR to FALLBACK_HIGHLIGHT_COLOR

In preparation for the next commit introducing a new variable.

* Moved subscription highlight color into HighlightPhrase

* Use actual subscription color as a fallback

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Ruben Anders <ruben.anders@robotty.de>
2020-03-22 13:14:07 +01: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
mmb L 82354327e5
Add option for username tab completion only with an @ prefix (#1573)
* add an additional check for username completion without an @ prefix

* Changed setting name

* default userCompletionOnlyWithAt to false
2020-02-29 11:52:49 +01:00
fourtf ba5d842767 removed MutedChannelController 2020-02-28 19:04:25 +01:00
fourtf e537277fa8 did some more things and stuff 2020-02-23 23:07:28 +01:00
fourtf 5ad427bd61 moved some Settings from Application to Settings 2020-02-23 22:15:13 +01:00
fourtf 6229b2f434 sync gif emotes of same length 2020-02-16 14:24:11 +01:00
Rasmus Karlsson 7a08d73434 Fix preview on hover not working when Animated emotes options was disabled.
Fixes #1546

This change introduces a "window timer" that runs every 100ms that we
use to update the pixmap if necessary, since there is no signal for "let
me know when this image is done loading".
2020-02-15 17:16:10 +01:00
hemirt 1fd64be7f5
Makes it possible to hide one man spam (#1496) 2020-02-02 08:31:37 -05:00
Leon Richardt 5957551d06 Better Highlights (#1320)
* Support for user-defined sounds and colors

* Make color & sound columns selectable

* Add custom row for subscription highlights

* Add subscriptions to custom highlights and centrally manage highlight colors

* Dynamically update message highlight colors
2020-01-25 11:03:10 +01:00
pajlada 3c8992cac1
Remove FMT dependency (#1472)
All occurrences of log() have been replaced with qDebug()

bonus meme: remove a bunch of std::string usages in the pubsub client

Fixes #1467
2020-01-03 20:51:37 +01:00
apa420 be898e88dd Add setting to stack bits (#1452) 2019-12-21 10:36:46 +01:00
Ian e3d3f12425 Fixes C1001 compiler error on release builds with MSVC (#1417) 2019-11-16 02:58:13 -08:00
Rasmus Karlsson 0e1f1196d6 reformat 2019-11-02 12:36:42 +01:00
fourtf 6f710823ed renamed getInstance() -> instance() for singletons 2019-10-07 22:42:34 +02:00
fourtf f25e52b218 attach extension to opera/vivaldi or all windows 2019-10-07 20:23:28 +02:00
fourtf 0ada53a3c1 tell user they might downgrade in update popup 2019-10-07 19:53:46 +02:00
fourtf b1cbf09427 removed appbase directory 2019-10-07 15:46:41 +02:00
fourtf b64e2e9b70 Revert "Revert "added error message if settings initalizion failed""
This reverts commit f3ff40385d.
2019-10-05 16:40:04 +02:00
fourtf 50a68e380c Revert "test #7"
This reverts commit 645272718e.
2019-10-05 16:13:15 +02:00
fourtf 96a6d94699 Revert "Test #6"
This reverts commit 533516a9ed.
2019-10-05 16:13:11 +02:00
fourtf 645272718e test #7 2019-10-05 15:12:02 +02:00
fourtf 533516a9ed Test #6 2019-10-05 14:40:42 +02:00
fourtf c46a65d173 Revert "disabled updates as a test"
This reverts commit f8c4ac8c17.
2019-10-03 22:18:03 +02:00
fourtf 245001c2f0 Revert "test #2"
This reverts commit 30587e18c9.
2019-10-03 22:18:01 +02:00
fourtf 44551b4009 Revert "test #3"
This reverts commit 08004b9181.
2019-10-03 22:17:59 +02:00
fourtf f3ff40385d Revert "added error message if settings initalizion failed"
This reverts commit 2b9b96abb5.
2019-10-03 22:12:22 +02:00
fourtf 08004b9181 test #3 2019-10-03 21:29:18 +02:00
fourtf 30587e18c9 test #2 2019-10-03 20:36:22 +02:00
fourtf f8c4ac8c17 disabled updates as a test 2019-10-03 20:09:58 +02:00
fourtf 2b9b96abb5 added error message if settings initalizion failed 2019-10-03 18:05:56 +02:00
fourtf 7fa2c7b4a5 init irc and restart on crash is false by default 2019-10-03 17:37:09 +02:00
TranRed 1d306c1dd9 Revert "broke everything (revert if needed)"
This reverts commit f9d50954d9.
2019-09-27 14:05:03 +02:00
TranRed f9d50954d9 broke everything (revert if needed) 2019-09-27 13:51:12 +02:00
fourtf 9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +02:00
fourtf ca0db97d09 ammend 2.1.5 added setting for experimental irc support 2019-09-22 17:12:09 +02:00
fourtf 431d35e528 added setting to restart on SIGSEGV 2019-09-22 15:32:36 +02:00
fourtf 456065f508 moved resources out of Application 2019-09-22 10:54:32 +02:00
fourtf 758a6bb41c NetworkRequest onError now uses NetworkResult 2019-09-19 19:03:50 +02:00
fourtf 5ca0fc0c8f
Merge branch 'master' into moderation 2019-09-18 16:14:45 +02:00
fourtf 3ab7362304 Merge branch 'master' into irc-support 2019-09-18 13:03:16 +02:00
fourtf 07133166d9 added setting to show unhandled irc commands 2019-09-18 11:11:50 +02:00
fourtf 3a9f9fa17b added setting for pause on hover length 2019-09-16 11:36:19 +02:00
fourtf 63126899ec added pause while key is down 2019-09-16 10:43:20 +02:00
fourtf 7cbbd72e7f disable updates on windows nightlies 2019-09-15 15:45:04 +02:00
fourtf 22ca20ad2a renamed TwitchServer -> TwitchIrcServer 2019-09-15 13:02:02 +02:00
fourtf d33a8b1b3a now loads passwords for irc 2019-09-14 18:38:09 +02:00
fourtf 7c6f744e73 added insecure credential store 2019-09-13 19:26:52 +02:00
fourtf b20fdc0da6 smol irc fixes 2019-09-11 13:17:36 +02:00
fourtf 2a8c5e654f saving irc splits now 2019-09-11 00:10:49 +02:00
fourtf c4d0efacff added loading and saving of irc servers 2019-09-10 23:55:43 +02:00
Leon Richardt 720e5aa25f Improvements to Message Search (#1237)
* Ran clang-format

* Implement user-specific search in message history

This functionality was originally requested in #1236.

This commit changes the SearchPopup::performSearch method so that only
messages from specific users can be shown.

In order to filter for a specific user, enter their username with a
leading '@' in the search popup. You can also add an additional search
phrase which will also be considered in the search.

* Naive implementation for "from:" tags

Rebase later?

* Cleverer (?) version using Predicates

Commit adds two POC predicates: one for the author of messages, and one
for substring search in messages.

Problems/TODOs:
* Best way to register new predicates?
* Clean up tags (e.g. "from:") or not?
* Test combinations of different predicates

* Add a predicate to check for links in messages

* Remove a dumb TODO

* Rewrite SearchPopup::performSearch to be cleaner

* Ran clang-format on all files

* Remove TODO I missed earlier

* Forgot to run clang-format

peepoSadDank

* Re-use {}-initialization

Was accidentally removed when fixing earlier merge conflict.

* Does this fix line endings?

No diffs are shown locally, hopefully Git doesn't lie to me.

* Rename "predicates" directory to "search"

Resolving one conversation in the review of #1237.

* Use LinkParser in LinkPredicate

Resolving a conversation in the review of #1237.

* Predicates: Use unique_ptr instead of shared_ptr

Resolves a conversation in the review of #1237.

* Refactor of SearchPopup and AuthorPredicate

Resolving some points from the review in #1237.

* Moved parsing of comma-seperated values into AuthorPredicate
  constructor.
* Rewrite SearchPopup::parsePredicates as suggested.
* Deleted now redundant methods in SearchPopup.

* MessagePredicate::appliesTo now takes a Message&

... instead of a MessagePtr.

This resolves a conversation in the review of #1237.

* Run clang-format on two files I missed

* AuthorPredicate: Check for displayName & loginName

Resolving conversation on #1237.
2019-09-09 15:21:49 +02:00
Leon Richardt b6f632701f Fix merge conflicts 2019-09-08 22:58:17 +02:00
Leon Richardt b06eb9df83 Normalize line endings in already existing files 2019-09-08 22:27:57 +02:00
fourtf 4f356f80cf BaseWindow smol refactor 2019-09-08 21:45:46 +02:00
fourtf 87c0ff76e7 added setting to open links in incognito by default 2019-09-08 14:59:51 +02:00
fourtf 4ec10e720c adjusted size of user switch popup 2019-09-08 12:43:12 +02:00
fourtf 42581598e1 added "beta update" settings 2019-09-02 10:55:17 +02:00
fourtf ae20acb7ea renamed AccountSwitchPopupWidget -> AccountSwitchPopup
This has been triggering me forever
2019-09-01 14:13:44 +02:00
fourtf 19960b5d8f Fixes #1261 size on startup 2019-09-01 14:06:30 +02:00
fourtf 810acbcfcc fixed window frame for minimized and maximized windows on startup 2019-08-26 22:32:17 +02:00
fourtf e095db87bc changed screen out of bounds detection from contains() to intersects() 2019-08-26 13:18:40 +02:00
fourtf ea28269951 attempt to fix the tabs that sometimes get added 2019-08-26 11:26:58 +02:00
fourtf 6cb82307e6 switched std::optional to boost::optional 2019-08-25 22:58:19 +02:00
fourtf 84c7c40e86 added some flush() calls just to be sure 2019-08-25 21:26:14 +02:00
fourtf 68a96e3be8 added prompt to move windows into bounds 2019-08-25 21:24:43 +02:00
23rd cdc7051e56 Considerably refactored code of Usercard. 2019-08-25 09:47:00 +02:00
fourtf b513caf572 added settings to mention users with , 2019-08-21 01:08:15 +02:00
fourtf 7643c0d20d fixed deleting QTimer on wrong thread 2019-08-20 23:46:27 +02:00
fourtf 7697ec01b4 removed old NetworkRequest api 2019-08-20 22:16:17 +02:00
fourtf 1b0102c948 Added fullscreen support to browser extension 2019-08-20 03:13:42 +02:00
fourtf 0a81a358b5 fixed manual updates for portable mode on windows 2019-08-18 23:51:10 +02:00