Commit graph

459 commits

Author SHA1 Message Date
Leon Richardt 93a6c55ed3 Fix subscription messages triggering split highlights (#1519)
Since #1320, subscription messages are treated as highlights in order to
allow customization. This caused subscription messages to highlight the
split(s) the message was received in. This is not intended behavior.

This commit fixes the issue by additionally checking if the
`Subscription` flag is set on a highlighted message.
2020-01-26 10:08:25 +01: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
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
Rasmus Karlsson 55080bd354 Add a "BasePopup" class, which helps add default functionality to any popups (like the search popup) 2019-12-14 12:58:15 +01:00
23rd d99102cd23 Fixed closing tab with middle button when tab management is not allowed. (#1426) 2019-12-01 02:00:06 -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 b1cbf09427 removed appbase directory 2019-10-07 15:46:41 +02:00
fourtf 9f52564b9c fixes tab and split header title text size 2019-10-06 21:31:59 +02:00
Cranken 252e2e8bae Fix tooltips in chat not showing on ctrl hover. 2019-10-05 17:36:03 +02:00
Leon Richardt d6bcd61289
Fix bug regarding mentions with comma
While tab-completing user names already respected the setting for
mentions with commas, right-clicking user names did not.

This commit adds the missing check in ChannelView::handleMouseClick.
2019-10-03 15:30:51 +02:00
fourtf 9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +02:00
fourtf 848d5c8789 Fixes #1336 Pause on hover breaks moves selection 2019-09-25 23:49:30 +02:00
pajlada 1256a7b631
Fix formatting 2019-09-22 10:42:22 +02:00
CommName 5078ecbef1 Highlight bug fix 2019-09-21 22:19:03 +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 cadff4c430 Fixes #1259 highlight not added when changing channel 2019-09-16 11:54:34 +02:00
fourtf 3a9f9fa17b added setting for pause on hover length 2019-09-16 11:36:19 +02:00
fourtf 602a66f5bc Fixes #963 Highlights move while paused 2019-09-16 10:55:54 +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
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 b06eb9df83 Normalize line endings in already existing files 2019-09-08 22:27:57 +02:00
fourtf 87c0ff76e7 added setting to open links in incognito by default 2019-09-08 14:59:51 +02:00
fourtf b14154a811 Fixes #996 can't ctrl+c in search popup 2019-09-08 12:31:27 +02:00
fourtf a268abfd4c Allow searching in LogsPopup 2019-09-04 00:29:58 +02:00
fourtf 125426dbf1 added header for search 2019-09-02 18:59:37 +02:00
fourtf e7b4527a0f added regex help link 2019-08-26 14:07:21 +02:00
fourtf 6d9545157e Fixes #1215 Allow previewing badges 2019-08-21 01:52:01 +02:00
fourtf 67aadfe61f Fixes #1218 Usercard link from search popup 2019-08-21 01:19:41 +02:00
fourtf b513caf572 added settings to mention users with , 2019-08-21 01:08:15 +02:00
fourtf 7697ec01b4 removed old NetworkRequest api 2019-08-20 22:16:17 +02:00
Leon Richardt f2b2e3142f Implement simpler fix for emote completion bug
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.
2019-08-18 21:37:20 +02:00
Leon Richardt be5318f275 Fix emote completion bug
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.
2019-08-17 21:31:31 +02:00
Leon Richardt 58d892a8c2 Make Emote Tab Completion Search for Substrings (#1204)
* 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.
2019-08-17 17:17:38 +02:00
Rasmus Karlsson cd5972522b reformat 2019-08-11 21:08:18 +02:00
23rd fdb0b62dee Fixed switching tabs using trackpad scroll. 2019-08-10 13:34:59 +02:00
Rasmus Karlsson 9cb5e3abb3 Fix a bug where tabbing too early would break any future tab completions
Fixes #1107
2019-06-22 13:16:16 +02:00
apa420 70bb63d20f Added option for shift, used clang and made setting uneditable 2019-06-11 22:54:20 +02:00
rexim 244252f610 (#976) Make TooltipPreviewImage non-copyable 2019-06-12 02:04:57 +07:00
rexim 483e177a39 (#976) Fix compilation errors
Which were not visible because of incremental build or something
2019-06-12 01:16:56 +07:00
rexim 3838157d82 Extract TooltipWidget updating into a separate class 2019-06-12 01:03:04 +07:00
rexim 3f4d3ce14a (#976) Make currentPreviewImage shareable between ChannelView-s 2019-06-12 00:22:26 +07:00
rexim e1a901aa98 Adjust tooltip size after setting the text 2019-06-11 23:20:04 +07:00
rexim 0fb16d150b Preview images instead of emotes 2019-06-11 23:20:04 +07:00
rexim a84716547b Animate gifs in the tooltip preview 2019-06-11 23:20:04 +07:00
rexim 94e705ec1b Inject Emotes into TooltipWidget directly 2019-06-11 23:20:04 +07:00
rexim 8b79faf958 Make Emotes Tooltip Preview disablable in the Settings 2019-06-11 23:20:04 +07:00