This commit implements a simpler fix for the problem described in #1209.
The setting's signal is connected to a reset of `completionInProgress_`
so that the completion model is updated on the next word already.
This commit also removes the older approach tackling this issue.
This commit fixes a bug that would occur when changing the completion
mode from prefix-only to substring while mid-completion.
In that case, the suggestion list was not updated until the next
completion attempt.
This is fixed by forcing a suggestion list refresh whenever the
setting's checkbox is updated.
* Make emote tab completion search for substrings
Previously, tab completion only searched for emotes that start
with the current prefix under the cursor. This commit makes tab
completion look for the current prefix as a substring in any position,
not just the start.
Examples:
* In forsen's channel, tabbing on "pls" will cycle through "DonaldPls", "forsenPls",
"GachiPls", "nyanPls" and "SourPls".
* As a forsen subscriber, tabbing on "sen1" will complete to "forsen1".
* As a pajlada subscriber, tabbing on "shrug" will cycle through
"pajaShrugL" and "pajaShrugR". (Unless you are in a channel with
more "shrug" emotes, of course.)
* Add a setting for prefix and substring completion
This commit adds a setting under the "Miscellaneous" section to allow
user to choose whether they want prefix-only or substring emote
completion.
The QCompleter filter mode and `addString` function are now chosen
according to the user's setting.
* Improve description of emote completion setting
Also reintroduce a blank line that went missing.
This commit fixes the unresponsiveness of the "Manage Account" button
(described in #1188).
Apparently, focus was lost when pressing down the mouse button. This is
circumvented by setting the focus policy of the button to `Qt::NoFocus`.
The button then works as expected and opens the "Account" page in the
preferences.
* Move "About" tab in Settings
* Resize Settings window
This prevents from spawning horizontal scroll (which is caused by too long line
in "Attributions" group)
* Fix "show license" link width
If you clicked empty space next to link application assumed you clicked link.
I fixed that by using QLabels instead of SignalLabel (there's something "wrong"
with them, but I couldn't find what)
"Stack" is the default behaviour, it will search 20 messages up and 5
seconds back in time to stack the timeout.
"Stack sparingly" will try to do the same, but only if the user has not
typed a message inbetween the this and the last timeout.
Fixes#1157
Inline whispers will be displayed with highlighted background color.
New Flag needed to differentiate between normal whisper (highlighted) and whisper with mention.
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?
fixes Chatterino#635
prepares for future implementation of Chatterino#79
Was a little bit hard to find the right combination for now. Pasting images from clipboard surpasses the check for dragging images in canInsertFromMimeData OMGScoots
changed setting from String to int.
changed EnumCase
I used createComboBox only has an implementation that handles stringsettings. I implemented my own combobox to handle the ToastsSettings now. Not sure if this is the best way. Won't come up with something smarter for now.
Implemented #710
Added options for opening streams from clicking the toas notficiation: (according to options in splits)
- open in browser
- open player in browser
- open in streamlink (needs to be tested, but should in theory work, since I only use the already existing function)
- don't open the stream (in case someone wants to prevent opening streams "by accident")