Commit graph

280 commits

Author SHA1 Message Date
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 98762fdfa0
Add viewer list button to twitch channel header (#2042) 2020-10-10 17:24:53 +02:00
Rasmus Karlsson 4f35842473 Only attempt to read thumbnails when we get a 200 response code.
We would have been able to keep doing this if the Network Request code
followed redirects - however, it doesn't, so this is the best we can do.
We also don't have header support in Network Result, so we can't
validate that the response we got is actually an image.

Fixes #1972
2020-09-26 09:30:50 +02:00
fourtf 828fb2c3f5 Fixes #1767 2020-09-26 01:19:47 +02:00
fourtf 3375e58a4f added spacing to the split header title 2020-09-25 23:41:18 +02:00
fourtf 45a1034edf fixed tooltip flickering for SplitHeader 2020-09-25 22:21:30 +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 5d0cb3ada8 Closes #1903 2020-08-23 17:11:41 +02:00
fourtf 28a0e4c63c Closes #1909 2020-08-23 17:04:17 +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 391ba5476f fixed emote input when not in the first char 2020-08-23 09:17:19 +02:00
fourtf ea54b10f1d smol fix 2020-08-22 23:22:00 +02:00
Daniel 184aba1be7
Emote Popup Improvements (#1895)
* Put exact matching emotes first

* Close GenericListView on Escape press
2020-08-22 23:17:56 +02:00
fourtf ebb4ffe36d
fixed SearchWindow memory leak (#1899) 2020-08-22 22:35:07 +02:00
fourtf a8c61980ac removed default image uploader 2020-08-22 18:33:37 +02:00
fourtf 47afca2c71 miscelaneous changes 2020-08-22 16:49:23 +02:00
pajlada b98c0c2a44
Clarify "Custom stream player" functionality (#1889)
* Clarify "Custom stream player" functionality

* Remove idiotic idiot proofing
2020-08-22 15:01:16 +02:00
fourtf f584503673 some fixes for SplitInput 2020-08-22 12:34:19 +02:00
fourtf 758fdc28ee added margin to emote input items 2020-08-22 12:19:20 +02:00
fourtf 048a6f661d enable word wrap in tooltip 2020-08-22 11:54:06 +02:00
fourtf 88f45a2842 animte emotes in colon emote input 2020-08-15 21:34:57 +02:00
fourtf f0b9f8ca59 raised emote limit in colon input to 200 2020-08-15 21:20:23 +02:00
fourtf a23b1c7988 added twitch emotes to colon emote menu 2020-08-15 21:14:07 +02:00
fourtf 235b67f9da smooth pixmap transform in emote input item 2020-08-15 20:25:58 +02:00
fourtf 8818f3df18 added emojis to colon popup 2020-08-15 20:22:46 +02:00
fourtf f7237dccdd added colon emote popup for ffz and bttv 2020-08-15 18:59:17 +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
fourtf b2dab3cf21 xd 2020-08-13 20:59:57 +02:00
fourtf 46361ea859 some more stuff 2020-08-13 20:20:24 +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 215e8b7b71 centered split header tooltip 2020-08-13 19:00:56 +02:00
fourtf 2c74e98023 edited split dropdown 2020-08-13 18:02:23 +02:00
alazymeme 1bd3d10eef
Add an "Open in browser" option to whisper split (#1828) 2020-08-08 15:17: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
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ł 5e0ac814cf
Removed help tooltip for splits (#1728) 2020-06-14 12:39:17 +02:00
23rd 78dab081d8
Added missed line break to header with empty thumbnail. (#1705) 2020-06-14 11:51:54 +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
thekalio 56d09ac198
Show visual feedback when BTTV and FFZ emotes are loaded (#1671)
Upon joining a channel or pressing F5, BTTV and FFZ emotes are
(re)loaded. This change adds visual feedback of the network requests and
their outcome, in the form of a system message in the associated
channel's chat window. 

Non-error messages are suppressed when joining a
channel (which automatically loads emotes).
2020-05-16 12:43:44 +02:00
Mm2PL 2b1c9794b7
Add confirmation box for uploads. 2020-05-09 13:14:41 +02:00
Mm2PL 84007d2edb Merge remote-tracking branch 'main_repo/master' into git_is_pepega
check if works with new changes from master
2020-04-29 00:42:12 +02:00
fourtf 6052846bc3 added checks to mitigate floating point crashes 2020-04-19 21:05:40 +02:00
Mm2PL 3d1950b32e Merge remote-tracking branch 'main_repo/master' into git_is_pepega 2020-04-18 13:39:01 +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 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
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 d0a81f3fe7 refactored TaggedUsers and Ping 2020-02-23 20:34:00 +01:00
tuckerrrrrrrrrrrr 3fd05849a2 ctrl + end scrolls to the bottom of chat 2020-02-10 17:00:33 -08:00
Mm2PL dc9acf1bf3
Sort imports 2020-02-09 11:15:39 +01:00
Mm2PL d7a7df7427
Merge branch 'master' into git_is_pepega 2020-02-08 16:42:47 +01:00
Mm2PL a929053c4b
Dropping images now works on the whole split :) 2020-02-08 16:41:01 +01:00
Mm2PL bfee75ec58 Show the toggle mod mode button when mod buttons are enabled. (#1518)
* Fix #1288

Show the toggle mod mode button when mod buttons are enabled.

* Automatic formatting ain't good enough i guess.
2020-01-26 10:10:40 +01:00
Alexey Kutepov 00414eb779 Synchronize Clipboard with Primary Selection on Linux when copying (#1502)
* Introduce crossPlatformCopy()

It sets the text of the clipboard and also syncs it with the selection
clipboard if it is supported. Such behaviour is pretty common for X11
application on Unix-like Operating Systems.

* Fix clang-format remarks

* Fix weird clang-format config discrepancy between my machine and CI

* Remove clipboard argument from crossPlatformCopy

* Fix clang-format remarks
2020-01-24 21:36:51 +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
Mm2PL 20d8da8f2d
Merge branch 'master' into git_is_pepega 2020-01-01 21:06:29 +01:00
CommName dc1e4d2544 Show the title when offline (#1347)
* Channel text for offline chats

* Title refresh timer

* Fixed typo

* Refresh title when room id is loaded

* removed timer

* Typo

* Loaded on demand when hovered over

* removed the extra api request

* Moved refreshTitle function call

* Added thottling for 10s

* Fixed formating style

* reformat

* make status fetcher safer

* Requested changes from fourtf
2019-10-12 15:09:12 +02:00
fourtf 8153aa7d40 fixed #1362 rightclick on empty split crash 2019-10-12 11:17:40 +02:00
fourtf 6f710823ed renamed getInstance() -> instance() for singletons 2019-10-07 22:42:34 +02:00
fourtf 16b2b2458c Fixes #1331 emote picker out of bounds 2019-10-05 18:17:29 +02:00
fourtf 9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +02:00
Mm2PL b55d08df8e
Renamed the pastedImage signal to imagePasted. 2019-09-25 22:39:02 +02:00
Mm2PL 4e9951371f
Applied a bit of foutf's suggestions. Replace uploadQueue.size() with .empty() and swap if/else bodies, move non empty queue check outside of the timer on line 60, move getImageFileFormat to an anonymous namespace, rename pasteFromClipoard to upload(), removed usesless comment, shortened message on line 83, use QMimeData.hasUrls() and QMimeData.urls(), moved GIF format case in upload() more to the top, call original functions in canInsertFromMimeData and dragEnterEvent which are overriden 2019-09-25 22:21:26 +02:00
Mm2PL 65fab779c5
Redo all changes done before breaking the branch. 2019-09-23 19:36:52 +02:00
fourtf 456065f508 moved resources out of Application 2019-09-22 10:54:32 +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 27d6cf2bfd reconnect for irc + show errors + nickRequired 2019-09-18 08:05:51 +02:00
fourtf 89fd3bfce9 hide tooltip on split::leaveEvent 2019-09-16 11:48:17 +02:00
fourtf 40c1857c90 added additional dropdown for moderation mode 2019-09-16 11:44:03 +02:00
fourtf 63126899ec added pause while key is down 2019-09-16 10:43:20 +02:00
fourtf 22ca20ad2a renamed TwitchServer -> TwitchIrcServer 2019-09-15 13:02:02 +02:00
fourtf 158564d0c2 disabled twitch dropdown items for irc chats 2019-09-11 13:34:59 +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 b14154a811 Fixes #996 can't ctrl+c in search popup 2019-09-08 12:31:27 +02:00
fourtf 5c0f81defd Fixed stuff in user popup 2019-09-01 13:06:56 +02:00
apa420 a624d14a4f Fetch FFZ channel emotes with channel id instead of name 2019-08-27 20:08:17 +02:00
fourtf a64e5b2834 made follow mode text shorter 2019-08-26 13:48:07 +02:00
fourtf 748920e8fd fixed shift+(home/end) 2019-08-26 11:11:02 +02:00
Mm2PL 1a25c5afe8 Add a switch for follower only mode (#1241)
* Add a switch follower only mode

* Format the code
2019-08-25 19:08:04 +02:00
fourtf 7697ec01b4 removed old NetworkRequest api 2019-08-20 22:16:17 +02:00
23rd f9e9ed8ed0 Improved stream header creation. 2019-08-16 23:40:30 +03:00
fourtf 4679fd6753 gcc Pepega 2019-08-13 18:48:22 +02:00
fourtf 7bf5a79f8a Delete emote popup when it is closed. 2019-08-13 16:39:22 +02:00
Rasmus Karlsson cd5972522b reformat 2019-08-11 21:08:18 +02:00
23rd 485715ef30 Moved to one place and simplified hotkeys of switching tabs. 2019-08-04 17:03:58 +03:00
fourtf fff979b3c0 lock SignalVector with shared_lock to allow reading on other threads 2019-07-31 22:50:12 +02:00
Rasmus Karlsson 1ae66f3b7d Run newline replacer before sending message input to command executor
Fixes #1123
2019-07-28 12:19:33 +02:00
Rasmus Karlsson 628c64d138 Move "How to" options to their own sub-menu 2019-07-21 13:01:35 +02:00
TranRed a768515849 Added Subscribe option to channel menu
Added the option to visit the subscription page of a channel from chatterino
2019-07-16 21:59:04 +02:00
TranRed 6c14fca216 Make viewer list float
- makes viewer list float
- changed Vip to VIP
- added myself as contributor
2019-07-14 11:43:57 +02:00