Commit graph

360 commits

Author SHA1 Message Date
fourtf 8b3f301c50
some concurrency additions (#2698) 2021-05-01 11:38:58 +00:00
Paweł 1ef2f17cd4
Added missing context menu entries to emote popup (#2670) 2021-04-24 15:43:15 +00:00
fourtf 2db140d5af
Added x-attach-split-to-window command line arg (#2411)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 14:15:23 +00:00
Yoitsu 00ccdbc781
clang-tidy: use std::move where applicable (#2605)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:34:40 +00:00
Tal Neoran b0fee78f2b
Add PgUp / PgDown for scrolling in the emote popup (#2607)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:11:26 +00:00
James Upjohn 093a088363
Fix quick switcher not ordering based on tab order (#2561) 2021-03-27 12:32:14 +01:00
pajlada fd3efe0e15
Fix windows build not compiling (#2523) 2021-03-14 17:25:32 +01:00
Paweł 382462f465
Added avatar context menu to usercard (#2517) 2021-03-14 15:09:16 +01:00
Paweł 1090524dec
Removed refresh label from usercard (#2514)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 15:09:26 +01:00
Paweł 1eb6aa64db
Localized all relevant numbers visible to end-user (#2488) 2021-03-06 15:03:33 +01:00
M4tthewDE 798384c931
Fix filter inconsistency (#2480) 2021-02-27 13:25:54 +01:00
Paweł 7d9f4c2b0c
Migrated block, unblock and get user block list methods to Helix (#2370)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-14 14:01:13 +01:00
Paweł 3023a44a21
Some fixes related to clipboard (#2405)
Also:
- Fixed capitalization of one method in `LoginDialog.cpp`
- Visually improved some strings in `LoginDialog.cpp`
- Added utility function getting clipboard content to `Clipboard.cpp`
- Made sure to use `crossPlatformCopy` in `UserInfoPopup.cpp`
2021-02-06 15:47:09 +01:00
Paweł e48937e0aa
Fixed some spelling mistakes across files (#2367)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-17 20:19:10 +01:00
Paweł 2f5df3db4a
Migrated follow and unfollow methods to Helix API (#2306) 2020-12-22 09:55:58 +01:00
Leon Richardt 89c74e03d6
chore: remove a redundant using namespace declaration (#2303) 2020-12-21 00:42:20 +01:00
Paweł dcebcd4456
Added Ctrl+1/2/3/... shortcuts to Emote Popup (#2263) 2020-12-12 14:58:59 +01:00
Paweł cfa9e5903e
Migrated Kraken's getUser to Helix (#2260) 2020-12-06 19:41:52 +01:00
Leon Richardt 0a0cfb8e48
fix: make LoginWidget child of AccountsPage (#2234) 2020-11-29 10:48:23 +01:00
pajlada 5258ddd84f
Add parent to ChannelFilterEditorDialog (#2232) 2020-11-28 18:04:33 +01:00
Steve Wills df722a72c1
Switch to QT Category logging (#2206)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-11-21 16:20:10 +01:00
Daniel d206ed4bcc
Fixes the dropdown order in channel filter dialog (#2168) 2020-11-21 13:47:09 +01:00
Leon Richardt 0eed45ae67
Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01:00
Paweł fbd5df53d8
Ensure Twitch username in UserCard uses display name from API (#2160) 2020-11-08 11:39:10 +01:00
Paweł 86feef6be8
Fixed settings dialog size (#2145) 2020-11-01 14:11:45 +01:00
pajlada 1ee1e8837f
Use Qt's dialog where applicable (#1843) 2020-10-31 16:42:48 +01:00
Paweł 523874dc21
Added tab navigation shortcut to SelectChannelDialog (#2142)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-10-31 16:17:09 +01:00
Paweł 3c1abbd297
Added missing window titles to all popups (#2120) 2020-10-31 15:12:42 +01:00
Leon Richardt 0049a5ebb2
Fix tabbing in Quick Switcher (#2065)
It was broken in f7237dc due to the migration to the GenericListView approach
2020-10-24 10:50:14 +02:00
fourtf 8bc3025a77 Merge branch 'master' of https://github.com/Chatterino/chatterino2 into master 2020-10-22 20:00:14 +02:00
fourtf aa4326f051 renamed filter dropdown items 2020-10-21 17:11:44 +02:00
Paweł 406e00df43
Fixed some stuff regarding usercard (#2100)
- split everything into 2 separate labels, so we won't have any issues with dank dpi (like pajlada had) and no resizing to minimum size is required (which was apparently broken on Windows xd)
- decided to remove line, which is rather not visible / very small and can't be seen anyway
- added nice unicode characters for follow and sub label
- removed unnecessary QLabel include (which I believe was also introduced by me by an accident)
2020-10-21 17:02:24 +02:00
pajlada 72f44ccdc3
Fix "variables" documentation help in the Filter creation dialog (#2083) 2020-10-18 16:14:59 +02:00
pajlada f191de2514
Add CI workflow to check line endings of all source files (#2082)
In addition, all found errors (formatting & line ending) have been fixed in this PR.
2020-10-18 15:54:48 +02:00
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
Rasmus Karlsson dfe1af248c define accent color in theme 2020-10-11 14:36:28 +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 56828f2d81
Made the current channels emotes appear at the top of the emote picker (#2057) 2020-10-11 12:31:00 +02:00
Paweł 776ce8bdbc
Added subage and followage to usercard (#2023)
* Added subage and followage information to usercard

We are using Leppunen's API here to determine user's subage to the current channel and since that API call also returns followage information I decided to utilize that and save ourselves an extra Helix API call.
I also added new files specifying new class and methods for Ivr API, which can be very easily expanded with new methods in the future if we ever have to do that.
When I was coding I also saw couple unnecessary nitpicks which I fixed :)

* Added changelog entry

* remove empty lambda

* Update UserInfoPopup.cpp

* xd

Co-authored-by: fourtf <tf.four@gmail.com>
2020-10-04 18:32:52 +02:00
gempir 80e84b1d8a
Commands are now saved upon pressing Ok in the settings window (#2016)
Commands are now saved upon pressing the Ok Button in the settings window, similar to the rest of the settings.
2020-10-04 13:02:29 +02:00
Vilgot Fredenberg de04ff82a7
Clean up compiler warnings (#2027)
Fix the following compiler warning
../src/common/NetworkResult.hpp: In constructor ‘chatterino::NetworkResult::NetworkResult(const QByteArray&, int)’:
../src/common/NetworkResult.hpp:28:16: warning: ‘chatterino::NetworkResult::data_’ will be initialized after [-Wreorder]
   28 |     QByteArray data_;
      |                ^~~~~
../src/common/NetworkResult.hpp:27:9: warning:   ‘int chatterino::NetworkResult::status_’ [-Wreorder]
   27 |     int status_;
      |         ^~~~~~~
../src/common/NetworkResult.cpp:9:1: warning:   when initialized here [-Wreorder]
    9 | NetworkResult::NetworkResult(const QByteArray &data, int status)

* Clang compiler warnings

Fixes every instance of the following error:

In file included from ../src/widgets/settingspages/CommandPage.cpp:12:
In file included from ../src/controllers/commands/CommandModel.hpp:5:
../src/common/SignalVectorModel.hpp:242:10: warning: 'moveRows' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
    bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count,
         ^
../src/controllers/commands/CommandModel.hpp:12:29: note: in instantiation of template class 'chatterino::SignalVectorModel<chatterino::Command>' requested here
class CommandModel : public SignalVectorModel<Command>
2020-10-04 12:47:23 +02:00
Daniel b67e20d962
Only show VIP buttons if broadcaster (#1999) 2020-09-27 10:34:20 +02:00
apa420 3450b1cc9d
Added image to streamermode user popup (#1995)
* Added image to streamermode user popup

* Update CHANGELOG.md

* swapparoo

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-27 00:22:06 +02:00
apa420 b4ef4fe54d
Added vip and unvip buttons (#1996)
Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-27 00:20:15 +02:00
fourtf 53b18d03c6 fixed a memory leak 2020-09-26 18:07:13 +02:00
Daniel f7f858a4fc
Auto-refresh UserInfoPopup recent messages (#1982)
* Auto-refresh UserInfoPopup recent messages

* Update CHANGELOG.md

* Clean up code

* changed something about the connection

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 16:59:40 +02:00
Paweł d314566ab6
Argument parsing rework (#1940)
* Experimental argument handling

* Restored browser extension launch functionality

Also moved check from BrowerExtension.cpp to Args.cpp as it is more relevant there and doesn't require passing arguments to a function in another file

* Fixed formatting

* Simplified Args.cpp code, added changelog entry

* Hid crash-recovery from help

* Dont save settings if launched with --channels

* Changed parsing method to t:channel

* Code cleanup

* Changed plaform delimeter to :, platform defaults to Twitch

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 16:03:51 +02:00
fourtf db3402a18e Merge branch 'Ch2Usercard' 2020-09-26 14:54:44 +02:00
fourtf d5855ba7d6 removed latest messages 2020-09-26 14:02:18 +02:00
Rasmus Karlsson 470fe5a58a Add label that shows up if the log in link didn't open properly
This basically takes the official advice from https://github.com/Chatterino/chatterino2/issues/1779#issuecomment-699235396 and tells the user what they can do as a workaround.

Relevant issue: #1779
2020-09-26 10:24:29 +02:00
pajlada c7a2f4cc92
Don't make follow requests based on the check follow response (#1906)
This is done by deliberately setting and reading the enabled state of
the widget whenever the stateChanged event happens.

If the stateChanged event happens while the widget is not enabled, we
know the event must have been triggered by our "check user follow state"
event, and then we don't act upon that event
2020-09-06 12:46:35 +02:00
fourtf 63c167f1db 2.2.1 2020-08-24 20:24:00 +02:00
fourtf 95f975996d added tip for search shortcut to settings 2020-08-22 12:17:20 +02:00
fourtf f7237dccdd added colon emote popup for ffz and bttv 2020-08-15 18:59:17 +02:00
Leon Richardt 6781482485
Quick Switch: Add support for light themes (#1858) 2020-08-15 10:17:15 +02:00
fourtf 46361ea859 some more stuff 2020-08-13 20:20:24 +02:00
fourtf a566a74ef0 removed some more pointers 2020-08-13 20:10:52 +02:00
fourtf c83fc043e0 replaced raw pointers with unique_ptr 2020-08-13 20:05:54 +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 8661c83312 updated descriptions in notification settings 2020-08-13 17:36:45 +02:00
fourtf 6f4f66b9d0 use different window frame for user popup based on the setting 2020-08-13 17:17:53 +02:00
pajlada 276f3e1d98
[SettingDialog] CTRL+F now selects the Find input (#1811)
* Sneakily make SettingsDialog constructor private at the same time 🕵
2020-07-18 15:56:33 +02:00
fourtf 9739d8d9c3 hide user profile avatar if obs is running 2020-07-12 22:44:33 +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ł 205d658f80
Fixed /usercard on linux (#1755)
- /usercard command doesn't close imidiatelly
- removed "Dialog" window flag. It seems to be unnecessary and causes issues (on left-clicking user name it sometimes didnt render unless you clicked 2-3 times.
2020-06-27 12:58:44 +02:00
0xRainy 0e564065ba
Added recent messages to UserInfoPopup (#1729)
There's a Refresh button added to the popup to refresh the users messages in the popup. Not automatic now while we figure out how fast/slow it would be.

Co-authored-by: dnsge <sagedanielr@gmail.com>
2020-06-21 14:15:14 +02:00
Rasmus Karlsson 666b577bd5 Close UserInfoPopup when Escape is pressed 2020-06-14 12:26:50 +02:00
pajlada b4eb56f362
Remove "Online Logs" functionality (#1649)
The /logs command will direct users to the /user command instead

Changelog has been updated to reflect this change
2020-05-02 12:18:35 +02:00
fourtf 6052846bc3 added checks to mitigate floating point crashes 2020-04-19 21:05:40 +02:00
mmb L 2076715e23
prevent moveTo from changing popup position on every launch (#1630) 2020-04-18 10:59:27 +02:00
mmb L ebfcb49e8c
Make emote popup remember last position (#1580)
* Use existing moveTo to ensure window stay within desktop geometry
2020-04-13 13:15:51 +02:00
Rasmus Karlsson 5afb2800c9 Make the "user info popup" crash less likely (hack v2) 2020-04-05 13:00:16 +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
pajlada 9a8b85e338
Twitch API: v5 to Helix migration (#1560)
There's a document in src/providers/twitch/api which describes how we interact with the Twitch API.
Keeping this up to date might be a healthy way for us to ensure we keep using the right APIs for the right job.
2020-03-14 12:13:57 +01:00
fourtf d83b597c75 removed unused function in SettingsDialog 2020-02-28 19:12:22 +01:00
fourtf b887f1c90e fix crash 2020-02-28 19:05:50 +01:00
fourtf 5ad427bd61 moved some Settings from Application to Settings 2020-02-23 22:15:13 +01:00
fourtf f8a9850151 absorbed HighlightController into Application 2020-02-23 21:18:40 +01:00
fourtf 2ebe07bace removed compat functions in SignalVector 2020-02-23 19:44:13 +01:00
fourtf 4a5dc80bc6 some more refactoring 2020-02-23 17:45:59 +01:00
fourtf 03cf6e81ff fixed spaces and margins in general settings 2020-02-21 03:01:48 +01:00
fourtf 5a2633ef5c fixed bug 2020-02-21 02:16:35 +01:00
fourtf 927ee09221 reordered resize call 2020-02-21 02:07:34 +01:00
fourtf 70e5bd1bfd lazily initialize settings pages 2020-02-21 01:59:58 +01:00
fourtf 78ca0cb84f moved settings tab icons to SettingsDialog 2020-02-21 01:22:50 +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 0bb112a3c2 improved performance of opening the settings dialog 2020-02-20 23:47:25 +01:00
Rasmus Karlsson 64c58e724a Use same sorting method in emote popup as in the completion model
Fixes #1549
2020-02-15 15:52:42 +01:00
apa420 4b1202437b Sort emotes alphabetically in emote picker (#1499) 2020-01-25 13:05:59 +01:00
Mm2PL 410de82261 Make a command that shows the Chatterino user card (/usercard) (#1375)
* Make UserInfoPopup be able to show that fetching the information failed.
2020-01-25 12:59:31 +01:00
Rasmus Karlsson 71337c4dbe Add missing include in ColorPickerDialog.hpp for MSVC2017 2020-01-25 11:28:10 +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
pajlada 265bab1ce6
Add the ability to tab through the emote menu (#1483)
Fixes #1478
2020-01-05 09:45:10 +01:00
DatGuy1 a6c91afde4 Remove support for CBenni's Logviewer (#1458) 2020-01-03 21:11:00 +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 62cf7cbea2 Remove unmod button for moderators (#1439)
Fixes #1419
2019-12-14 13:22:49 +01:00
Rasmus Karlsson 58e909067e the EmotePopup now inherits from the BasePopup instead of BaseWindow
Fixes #1437
2019-12-14 12:58:15 +01: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 0ada53a3c1 tell user they might downgrade in update popup 2019-10-07 19:53:46 +02:00
fourtf 05bcf22af4 clear search field when reopening settings 2019-10-07 17:30:47 +02:00
fourtf 16b2b2458c Fixes #1331 emote picker out of bounds 2019-10-05 18:17:29 +02:00
fourtf e31371fdf5 Fixes #1344 Copying user id adds "ID: " 2019-10-01 22:38:21 +02:00
TranRed 1d306c1dd9 Revert "broke everything (revert if needed)"
This reverts commit f9d50954d9.
2019-09-27 14:05:03 +02:00
TranRed f9d50954d9 broke everything (revert if needed) 2019-09-27 13:51:12 +02:00
fourtf 9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +02:00
fourtf ca0db97d09 ammend 2.1.5 added setting for experimental irc support 2019-09-22 17:12:09 +02:00
fourtf fc049d8f45 disabled irc and fixed notice messages in write conn not showing 2019-09-22 16:16:08 +02:00
fourtf 456065f508 moved resources out of Application 2019-09-22 10:54:32 +02:00
fourtf 758a6bb41c NetworkRequest onError now uses NetworkResult 2019-09-19 19:03:50 +02:00
fourtf 99f99f0cff smol fixes 2019-09-18 14:20:21 +02:00
fourtf 3ab7362304 Merge branch 'master' into irc-support 2019-09-18 13:03:16 +02:00
fourtf 997a0598cd changed tab title to "Irc (beta)" 2019-09-18 11:16:07 +02:00
fourtf 765a75f158 added irc commands 2019-09-18 10:59:28 +02:00
fourtf a390649d0f added sasl auth 2019-09-15 13:15:29 +02:00
fourtf 22ca20ad2a renamed TwitchServer -> TwitchIrcServer 2019-09-15 13:02:02 +02:00
fourtf c3b65b4db0 select the right server in the dialog 2019-09-15 11:42:22 +02:00
fourtf 2a56cef848 added irc authentificate type 2019-09-15 11:35:17 +02:00
fourtf 9bbc4f8a5e queue for erase/set credentials 2019-09-14 22:58:53 +02:00
fourtf 13d1fab303 credentials are now loaded when needed 2019-09-14 20:45:01 +02:00
fourtf d33a8b1b3a now loads passwords for irc 2019-09-14 18:38:09 +02:00
fourtf 7c6f744e73 added insecure credential store 2019-09-13 19:26:52 +02:00
fourtf eadf5355ee renamed IrcConnection_ to IrcServerData 2019-09-11 13:51:48 +02:00
fourtf b20fdc0da6 smol irc fixes 2019-09-11 13:17:36 +02:00
fourtf c4d0efacff added loading and saving of irc servers 2019-09-10 23:55:43 +02:00
fourtf 82f63d2f7e added send and receive for irc messages 2019-09-10 14:46:43 +02:00
fourtf 5974438edf added irc tab in SelectChannelView 2019-09-09 22:26:56 +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 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 3158ed4085 fixed user popup size issues 2019-09-08 20:05:40 +02:00
fourtf cf23838099 added irc support 2019-09-08 18:06:43 +02:00
TranRed d3c4d4b8cf moved anonymous namespace into chatterino namespace 2019-09-08 12:05:41 +02:00
fourtf a268abfd4c Allow searching in LogsPopup 2019-09-04 00:29:58 +02:00
fourtf 577e2e0a21 moved cache into general page 2019-09-03 12:46:22 +02:00
fourtf 299cc84e04 fixed compilation 2019-09-03 12:02:58 +02:00
fourtf f7ee778af6 some style changes to settings 2019-09-03 11:15:38 +02:00
fourtf 0ada2e51c6 fixed spacing 2019-09-02 19:14:19 +02:00
fourtf 125426dbf1 added header for search 2019-09-02 18:59:37 +02:00
fourtf 661a36c2e4 prefere user selected tab in settings search 2019-09-02 17:22:14 +02:00
fourtf a6fd6300c9 hide duplicate spaces in settings tab list 2019-09-02 17:21:17 +02:00
fourtf b0459ba646 add basic hiding of SettingsTabs 2019-09-02 16:39:21 +02:00
fourtf 0b49f696ce added filtering to general page and greying out some items to the other
pages
2019-09-01 23:23:20 +02:00
fourtf 5c0f81defd Fixed stuff in user popup 2019-09-01 13:06:56 +02:00
Mm2PL b441e3e159 Add copy button for user ids 2019-09-01 11:06:07 +02:00
Mm2PL 6732aab323 Add user IDs to user cards (#1247)
* Add user ids to user cards and a setting to the misc section of the settings

* Fix letter casing

* Forgot to run clang-format, now it's fixed

* Fix crash in UserInfoPopup::updateUserData()

* Removed setting as per Apa420's and fourtf's advice

* Removed remnants of the setting
2019-08-31 17:58:28 +02:00
Mm2PL 7aa2bf4fec Fix build and rename variables to be camelCase 2019-08-27 20:10:30 +02:00
Mm2PL 1c242a51dd Create a copy icon. Change the copy button text to be an icon 2019-08-27 20:10:30 +02:00