Commit graph

246 commits

Author SHA1 Message Date
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
Rasmus Karlsson c483a87605 Right-clicking split header now opens the same menu as the hamburger icon
Fixes #1131
2019-07-13 12:17:42 +02:00
rexim 4cde28f29b (#1100) Clean TooltipPreviewImage on SplitHeader enterEvent
Supa quick fix for #1100

Looks like this bug may come back in other places where we use
`TooltipWidget`. For a permanent fix we have to go through all of the
places that touch `TooltipWidget` and check if they clean the preview
image correctly.

It would be better to merge TooltipPreviewImage and TooltipWidget
together and change `TooltipWidget::setText` to be

```c++
void TooltipWidget::setText(const QString &text, ImagePtr image = ptrnull);
```

But it's impossible right now, because TooltipWidget is located in
appbase and `ImagePtr` is not visible there (it's located in the main
chatterino repo). Plus we also need an access to
`getApp()->windows->gifRepaintRequested`.

First step in implementing the permanent fix would be moving
TooltipWidget to chatterino from appbase.

Any thoughts on the situation?
2019-06-22 21:39:59 +07:00
Rasmus Karlsson 8d85b9c071 Override Home and End behaviour.
Home now brings you to the beginning of the message (previously of the line)
End now brings you to the end of the message (previously of the line)
2019-06-21 22:22:43 +02:00
Rasmus Karlsson 406c0b9af8 Stop "up arrow" keyboard event from propagating furthern when we're going through message history
Fixes #1102
2019-06-21 22:15:17 +02:00
hemirt c43c1dc207 Adds option to mute ping sound for specific channels (#990)
Co-Authored-By: hemirt <hemirt@hemirt.com>
2019-05-10 22:36:37 +02:00
TranRed f76df80575 creates common texts for opening streams
Texts for opening streams were used in multiple locations. Created a file to store GUI texts like this and replaced were applicable
2019-05-02 00:01:18 +02:00
23rd 53640a9097 Fixed display of text message in empty tabs for Retina screen. 2019-04-27 14:19:03 +03:00
pajlada d846b723c7
Merge pull request #983 from Ckath/savemoderation
Save chat moderation state in splits
2019-04-16 14:57:45 +02:00
hemirt da1b2f91d9 add broadcaster and vips to viewers list and chatters list (#991) 2019-04-04 11:30:50 +02:00
ckath 9ca4befd9b Save chat moderation state in splits 2019-03-24 15:38:09 +01:00
Rasmus Karlsson 777ac017df add vim bindings to split input movement 2019-03-02 09:37:43 +01:00
apa420 2948f3cc8b Added the broadcaster to the viewerlist close #967 2019-03-01 18:08:21 +01:00
Chronophylos 65cae23957 made highlights not black anymore 2019-01-01 21:58:08 +01:00
Rasmus Karlsson 8bcd27cedf fix rich text being accidentally parsed through message history in split text input 2018-12-09 00:26:37 +01:00
Rasmus Karlsson 10325518f7 escape title and game in tooltip 2018-12-09 00:21:24 +01:00
fourtf 0d4d301aa0 added pausable property to ChannelView 2018-12-02 18:37:51 +01:00
fourtf 0e242202a4 minor improvements 2018-12-02 17:49:15 +01:00
fourtf 38b23d77ce moved BaseWindow and related files into appbase 2018-11-22 22:10:29 +01:00
fourtf cf26f10b80 initial appbase integration 2018-11-21 21:37:41 +01:00
fourtf d8fcc1a3ed small refactor 2018-11-14 17:27:08 +01:00
fourtf 5453c65f0f implemented pausing on hover 2018-11-03 21:26:57 +01:00
fourtf 9ced50e94e improved alternate bg and seperator line 2018-11-01 18:04:14 +01:00
fourtf 3c3be99177 new settings page 2018-10-31 19:49:15 +01:00
Ckat dd8e8ad960 fix ctrl not registering with numlock enter (#834) 2018-10-29 21:16:17 +01:00
TranRed 6ee7b1ef1f fixed broken "show message length" (#820)
* fixed broken "show message length"

This should fix #818. Didn't build and don't really know c++ #yolo #pleasereview #kappa

* Update SplitInput.cpp

removed a useless space that was created by copy pasting
2018-10-24 10:33:35 +02:00
Marco Schmid 0f85999b4c changed debug keybing to f6, f5 is now for refreshing 2018-10-23 20:08:00 +02:00
Marco Schmid 077e2e089d reload working fine with f6, f5 seems to be special 2018-10-23 20:08:00 +02:00
fourtf 3db0b5f95c open settings when right clicking moderation button 2018-10-21 16:13:26 +02:00
fourtf 1872163ec4 Open settings when clicking moderation button and no moderation actions are found 2018-10-21 15:32:28 +02:00
fourtf 27ac236115 grey out historic messages 2018-10-21 14:45:42 +02:00
ckath e900b10e0c save messages sent with ctrl enter to history as well 2018-10-21 14:36:33 +02:00
fourtf e259b9e39f added brace wrapping after if and for 2018-10-21 13:43:02 +02:00
fourtf 4f4d717a52 minor changes 2018-10-20 19:15:28 +02:00
hemirt 54c1efe531 correct getSplitCount 2018-10-20 11:07:15 +02:00