Commit graph

537 commits

Author SHA1 Message Date
pajlada 001dce5da1
Create uploader to i.nuuls.com (#1332)
This commit adds support for uploading images to i.nuuls.com from clipboard or by dragging an image into a split.

Documentation for how to self-host the image uploader is available in ENV.md

By default, you will be asked before an image upload takes place. There's an option in the dialog to not be asked again, if that option is chosen you can revert that choice in the settings dialog.
2020-05-09 07:34:27 -04:00
Daniel Pasch 7719816891
Middle mouse button can now also open links (#1644) 2020-05-02 13:19:58 +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
Leon Richardt b4a2ced180
Scroll Using Click-and-Drag with Middle Mouse Button (#1559)
* ChannelView: Rename mouse event related members

This is more in line with the naming of the other members as well as
future members.

* ChannelView: Add ability to scroll with middle mouse button

* Add scrolling resources

* Use custom icons for scroll cursor

* Slightly refactor scrolling logic

* Respect screen scaling when calculating scroll offset

* Nicer scrolling UX

This change allows scrolling to be feel smoother when close to the
starting point.

* Add scrolling with keeping middle mouse pressed

This mimics the behavior of browsers as well.

* Refactor ChannelView::enableScrolling

* Disable drag-scrolling on left or right click
2020-04-18 11:09:22 +02:00
fourtf 097f4ccb3a refined highlight and added bits highlights 2020-04-15 23:15:45 +02:00
apa420 3138efba25
Fixes #1620 (#1627)
Fixes #1620
2020-04-11 12:13:38 +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 26d3078def removed unused variables 2020-02-29 13:58:26 +01:00
fourtf 1e1a56bb87 fixed position of user icon head 2020-02-28 19:52:15 +01:00
fourtf 269d2ee67f improved user and settings icon 2020-02-28 19:48:04 +01:00
fourtf b887f1c90e fix crash 2020-02-28 19:05:50 +01:00
fourtf 70e5bd1bfd lazily initialize settings pages 2020-02-21 01:59:58 +01:00
fourtf 39d40d6db6 some settings refactorings 2020-02-21 01:17:22 +01:00
fourtf fbbf34878f getSettingsPage -> page 2020-02-21 00:46:19 +01:00
fourtf d6c3c99605 list settings can be reordered now 2020-02-20 23:16:46 +01:00
fourtf da59232913 "Open in player in browser" -> "Open player in browser" 2020-02-10 17:49:45 +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 553e8f2f7b
Delete useless else block 2020-02-08 15:47:27 +01:00
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
Mm2PL a86367f4be
Fix issues pointed out in reviews :)
Fixed PR BabyRage
2020-01-03 14:43:05 +01:00
Mm2PL 20d8da8f2d
Merge branch 'master' into git_is_pepega 2020-01-01 21:06:29 +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
Mm2PL 77af5d54cf
Change more things.
Things changed:
 - make getImageFileFormat case insensitive
 - use QTextEdit::dragEnterEvent instead of QAbstractScrollArea::dragEnterEvent,
 - Make dragEnterEvent() and dropEvent() overrides.
2019-10-11 17:00:26 +02:00
Mm2PL bf434f3ac5
Fix the stupid things.
This includes:
 - NuulsUploader.cpp
   - changing upload delay to a #define
   - moving png conversion code to `boost::optional<QByteArray> convertToPng(QImage image)`
   - in uploadImageToNuuls: moving content type definition to a variable, move things around a bit to eliminate an if
   - in upload: adding a comment about `source->hasUrls()` and `source->urls()`, change `uploadQueue.size()` to `!uploadQueue.empty()`
 - ResizingTextEdit.cpp
   - changing #include order
2019-10-11 15:41:33 +02: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
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
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
rexim 7251a20dfb Get the biggest version of emote from EmoteElement 2019-06-11 23:20:04 +07:00
rexim 959aa4616f pixmap() -> imagePreview() 2019-06-11 23:20:04 +07:00
rexim aa4e7f13e7 Get rid of dynamic_cast 2019-06-11 23:20:04 +07:00
rexim cbb1ec2d7a Remove dead code 2019-06-11 23:20:04 +07:00
rexim f002d44370 If hover over ImageLayoutElement show the preview of image 2019-06-11 23:20:04 +07:00
TranRed 5c350de329 overrides QTextEdit insert methods
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
2019-06-10 12:20:45 +02:00
Rasmus Karlsson 1a7a5409ab do a full reformat according to our current .clang-format 2019-05-10 23:31:10 +02:00
23rd efec76df5b Removed unused local vars. Slightly refactored code. 2019-05-10 22:18:05 +02:00
Alexandr Kondratev 14eb302c3d Close search popup window on Escape pressed 2019-05-06 21:16:40 +02:00
23rd a3f6d2b773 Fixed display of text in Go to Bottom button for Retina screen. 2019-05-04 11:55:41 +02:00
TranRed d749a4771a made CommonTexts.hpp look like other headers 2019-05-02 00:01:18 +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
TranRed b33478d8c6 stored original message text in message 2019-05-01 16:43:52 +02:00
TranRed bbf649bf70
Added {message} parameter for moderation buttons 2019-05-01 16:08:45 +02:00
apa420 4f79d6fc07 Added deleted messages, will also add the disabled tag to denied automod messages 2019-04-19 22:44:02 +02:00
pajlada 97faec15e0
Merge pull request #979 from hemirt/whispers
do not disable whispers on clears and timeouts
2019-04-16 15:06:42 +02:00
Ruben Anders 00d4fbf9ed Add {channel} replacement 2019-04-11 12:21:11 +02:00
hemirt 1a1d0f305c make whispers not disabled on clear 2019-03-20 20:53:24 +01:00
apa420 1434225603 Implemented AutoMod and write pubsub automod messages TODO: implement that the AutoMod message gets deleted if dealt with \nFixes #887 2019-01-21 18:33:57 +01:00
apa420 cc5528ec18 smol commit 2019-01-20 16:07:31 +01:00
apa420 7067b0503d Added more functionality and clickable deny and accept buttons that don't do anything, this also fixes the issue with the background not working properly 2019-01-20 14:45:59 +01:00
fourtf fc93d7b738 added wip effect for (dis/re)connected messages 2018-12-04 21:07:55 +01:00