Commit graph

257 commits

Author SHA1 Message Date
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
Mm2PL f2f5ae9c93 Add a copy button near the username in usercards 2019-08-27 20:10:30 +02:00
TranRed 23c2fa8ee5 made fillLatestMessages into a free standing function 2019-08-25 15:09:30 +02:00
TranRed 288ea5036b did first requested refactors 2019-08-25 14:57:31 +02:00