Commit graph

1264 commits

Author SHA1 Message Date
Rasmus Karlsson
ad8ee97de9 Fall back to default subscriber badge if there's no other badge available 2017-11-04 17:22:53 +01:00
Rasmus Karlsson
49c2f442cb fix mingw compilation issues 2017-11-04 16:56:38 +01:00
Rasmus Karlsson
7b2e3a94a6 Moved online status checking logic from ChatWidgetHeader to TwitchChannel
- Channel now needs to be initialized with a name. Special cases like the emote window just sends an empty string.
 - ChatWidget now has a signal which is called whenever the widgets channel is changed
 - Changed roomID from an std::string to a QString
2017-11-04 14:57:29 +01:00
Rasmus Karlsson
064daaa77a selections can now start outside of a message
This means in the empty space under any available messages
2017-11-04 13:17:35 +01:00
Rasmus Karlsson
e1a31785ef Don't show non-existant channels as live 2017-11-04 12:42:37 +01:00
Rasmus Karlsson
bdd5e4aae6 Clean up some debugging output 2017-10-27 22:05:08 +02:00
Rasmus Karlsson
2de98dc1f8 Move timeout logic to NetworkRequest 2017-10-27 22:04:05 +02:00
Rasmus Karlsson
41ec892bf8 Remove urlFetchJSON usages. They now use NetworkRequest.getJSON 2017-10-27 21:22:06 +02:00
Rasmus Karlsson
75079d5ac8 Also update chat widget input text when the font is updated.
Fixes #93
2017-10-27 21:04:53 +02:00
Rasmus Karlsson
c08059c6a8 Add simple fontChanged signal
Delete copy/move constructor of FontManager :kkona:
Fix places that were using the copy constructor of the FontManager
2017-10-27 21:03:24 +02:00
vanolpfan
37571ae613 Use user's font in chat input (#135) 2017-10-27 20:34:23 +02:00
hemirt
f51372102e Networkmanager (#134)
* rename ImageLoader* to Network*

* static NetworkManager

* NetworkManager queue arbitrary requests

* modify urlfetch to use NetworkManager

* urlfetchjson in terms of NetworkManager

* fetchurljson fetchurltimeout fetchurljsontimeout

special fetch url functions with various connects and functions to be
called

* operate on fetched data in the correct thread

* operate on fetched resources in correct thread

* networkmanager urlfetch functions

* expose urlfetch functions of networkmanager through util and
util::twitch

* add caller to util functions

* cleanup

* formatting

* urlPut function for NetworkManager and util::twitch

* cleanup worker (no more leak)

* use urlfetch for LazyLoadedImage::loadImage

* Rename NetworkManager methods (#1)

* Rename NetworkManager methods

Remove unused NetworkManager methods
Remove unused NetworkManager includes

Reorder includes in lazyloadedimage.cpp and urlfetch.hpp

* try to simplify code, might break everything

* fixed some more stuff?
2017-10-27 20:09:02 +02:00
hemirt
bdee9fff70 fix image loader scrollbar crash (#129)
* fix image loader scrollbar crash
2017-10-11 14:46:56 +02:00
fourtf
3ff6eece5c Merge branch 'master' of https://github.com/fourtf/chatterino2 2017-10-11 10:38:55 +02:00
fourtf
f0c21f5b49 refactored message drawing and layouting 2017-10-11 10:34:04 +02:00
Rasmus Karlsson
7855d6265d Split tab-creation up into separate functions 2017-10-08 21:27:27 +02:00
Rasmus Karlsson
23651fd513 Add option to play highlight sounds even if Chatterino is focused.
This is off by default
2017-10-08 21:27:27 +02:00
fourtf
8b25d37a37 added benchmark util 2017-10-08 17:23:46 +02:00
Rasmus Karlsson
19630bf91b Clean up ImageLoaderManager
Unpointered NetworkAccessManager
Removed debug output
Removed unneeded includes
2017-10-08 15:30:55 +02:00
hemirt
e7e4ab768b Fix image loading slowness
Images are now loaded in another thread
2017-10-08 15:18:47 +02:00
Matija
cb8846c0ae Threaded image downloading (#118) 2017-09-28 22:24:03 +02:00
fourtf
e6ee009698 removed the qt scaling 2017-09-24 20:02:43 +02:00
Rasmus Karlsson
81e06f3a53 debug::Log can now be used instead of qDebug()
Usage:
```
QString string("world");
debug::Log("hello: {}", string);
```
2017-09-24 19:23:07 +02:00
Rasmus Karlsson
c14dc43b18 fix highlights - reformat some stuff 2017-09-24 18:43:24 +02:00
Rasmus Karlsson
903cf30ddf fix currentUser thing 2017-09-24 18:14:22 +02:00
Cranken
881e695189 Added some functionality to the accountPopup (#117)
* Added some buttons.

* Added some more functionality.

* Finished adding button functionality.

* Implemented @fourtf's suggestions.
2017-09-23 19:23:10 +02:00
Daniel _
206a3518b0 fixed dpi not initializing when the window shows 2017-09-23 18:37:51 +02:00
fourtf
14511e10ef HiDPI commit 2017-09-22 00:50:43 +02:00
fourtf
222eedcd21 added gotToBottom and EnableNonClientDpiScaling 2017-09-21 17:34:41 +02:00
fourtf
3e24752477 fixed project code style in some files 2017-09-21 12:15:01 +02:00
fourtf
8eaca85402 increased limit for messages to 1000 2017-09-21 02:22:35 +02:00
fourtf
ab641abd9c fixed ctrl+c to copy text 2017-09-21 02:20:02 +02:00
fourtf
9d671ac873 fixed text copying that wasn't supposed to 2017-09-21 01:26:53 +02:00
fourtf
e65a5948fe Merge branch 'master' of https://github.com/fourtf/chatterino2 2017-09-21 00:55:22 +02:00
fourtf
bd4601a5d4 added MessageColor to represet special colors 2017-09-21 00:54:10 +02:00
Cranken
8bd3cd4060 Fixed live status (#112)
* Fixed live status.

* Update chatwidgetheader.cpp
2017-09-20 18:12:29 +02:00
Rasmus Karlsson
38d118c5dc add debug binding ALT+Q to add test messages to current chatwidget
(every second)
2017-09-17 04:39:30 +02:00
Rasmus Karlsson
51e5d198fb fix message deleting bug 2017-09-17 04:39:30 +02:00
fourtf
bc207aeede Merge branch 'master' of https://github.com/fourtf/chatterino2 2017-09-17 02:14:49 +02:00
fourtf
e31bb48384 fixed gifs on the emotepicker 2017-09-17 02:13:57 +02:00
Rasmus Karlsson
6b0fc38afe Fix compilation issue on MSVC 2017-09-17 00:40:02 +02:00
fourtf
3e9f71dbf9 fixed clicking on splits to focus them 2017-09-16 16:49:52 +02:00
fourtf
a4995201f5 changed some filenames and stuff like that 2017-09-16 16:20:10 +02:00
fourtf
c7b3480aaf ChatWidgetView -> ChannelView, added Emote Picker 2017-09-16 00:05:06 +02:00
fourtf
84c23a5d00 modified buttons a bit 2017-09-15 17:23:49 +02:00
Cranken
4ac811f2a9 Fixed popups in viewer list. (#110) 2017-09-12 22:10:30 +02:00
fourtf
6ce13db443 Merge that pile of garbage in
added text selection
2017-09-12 19:12:02 +02:00
fourtf
81b1a8774b added text selection 2017-09-12 19:06:16 +02:00
Confuseh
6ec8f6e032 Quality options for Streamlink (#103)
* added quality options for streamlink

* wrong default value
2017-09-11 23:35:59 +02:00
Cranken
7db45aa7f2 Adds viewer list + livechecks (#105)
* Added check for livestatus + tooltip.

* Also added live check on startup.

* Added viewerlist + livesearch.

* Refactored code to make it compacter.
2017-09-11 22:37:39 +02:00
Rasmus Karlsson
8d2e48f944 Implement an advanced method of adding a user to chatterino.
You can now switch between multiple users in the settings dialog.
(Requires a restart for reconnecting etc)
2017-08-19 15:37:56 +02:00
Rasmus Karlsson
60afaa588b Remove ability to log in with env variables 2017-08-19 15:30:53 +02:00
Rasmus Karlsson
3f8c025e64 Store default client id in credentials.hpp 2017-08-19 15:29:36 +02:00
fourtf
8b40393023 refactored message drawing 2017-08-18 15:12:07 +02:00
fourtf
c6776cb76e removed old code for testing colors 2017-08-17 22:54:26 +02:00
fourtf
cac2786c58 fixed emotes after emojis not showing 2017-08-17 22:46:16 +02:00
fourtf
5b6596066e improved tab titles
added default and fixed refresh triggers on split rename
2017-08-17 22:25:41 +02:00
fourtf
ab6474150d Merge branch 'master' of https://github.com/fourtf/chatterino2 2017-08-17 19:15:55 +02:00
fourtf
2e86064a48 closing tabs with middle mouse and context menu 2017-08-17 19:15:03 +02:00
daniel
6bc99a9ba6 hopefully fixed black screen issue on mac 2017-08-17 17:02:10 +02:00
fourtf
6b0a7f507e tabs now grey out when the window loses focus 2017-08-17 16:43:19 +02:00
fourtf
ca65e543ec Added code for ubuntu color style 2017-08-17 14:52:41 +02:00
Rasmus Karlsson
a4533ae92c Implement tab renaming/default tab name
Fix #13
2017-08-13 16:52:16 +02:00
Rasmus Karlsson
f4df262179 Turn NotebookTab into a BaseWidget 2017-08-13 16:10:53 +02:00
Rasmus Karlsson
eb3645a723 Clean up NotebookTab 2017-08-13 16:08:46 +02:00
Rasmus Karlsson
773208ac6b Clean up Notebook 2017-08-13 15:33:18 +02:00
Rasmus Karlsson
d9f87c0824 Implement Ctrl+Tab (Move to next tab) and Ctrl+Shift+Tab (Move to previous tab) 2017-08-13 15:24:41 +02:00
Rasmus Karlsson
c9df6ddaab Ignore Shift+Tab in chat widget input for now.
Don't autocomplete if Ctrl is pressed
2017-08-13 15:13:32 +02:00
Rasmus Karlsson
12812e24ff Make ConcurrentMap more correct 2017-08-13 14:52:31 +02:00
Rasmus Karlsson
a82774543c Fix warnings/reformat some code 2017-08-12 15:58:46 +02:00
Rasmus Karlsson
ce61351fe3 Implement Alt+Arrow key movement
Work on #92
2017-08-12 15:41:14 +02:00
Confuseh
a6573e83e0 Simple streamlink support (#97)
* Simple streamlink support

Relies on settings entry & loads best available quality by default.
2017-08-12 14:44:27 +02:00
Rasmus Karlsson
63f85e9bee Implement Chatterino badges
Fix #63
2017-08-12 13:20:52 +02:00
Rasmus Karlsson
3bfaba2d95 Split parseUsername into parseUsername and apendUsername 2017-08-12 13:18:48 +02:00
Rasmus Karlsson
7ce1458348 Replace newlines with spaces 2017-08-12 12:24:28 +02:00
Rasmus Karlsson
6baf045c4c Chat input no longer accepts rich text
Fix #96
2017-08-12 12:20:51 +02:00
Rasmus Karlsson
ac6db75dc6 Reformat according to .clang-format 2017-08-12 12:09:26 +02:00
Rasmus Karlsson
f455ef9f24 Fix textColor leaking after links 2017-08-12 12:07:53 +02:00
fourtf
85b9703f9c fixed color normalization for dark mode
it was shit
2017-08-05 23:38:49 +02:00
fourtf
8ad2007d96 fixed split drag n drop 2017-08-05 22:53:21 +02:00
fourtf
c8c9057b1e fixed scrollbar behaving weird at the bottom
the scrollbar would not move smoothly at the last message but jump all the
way to the bottom instead
2017-08-05 22:46:40 +02:00
fourtf
b58ad983d0 fixed messages not being layouted when scrolling 2017-08-05 22:26:37 +02:00
fourtf
e1364f2bd2 gave links color 2017-08-05 18:44:14 +02:00
fourtf
c8ce55a54e checked scrollbar colors 2017-08-05 18:15:23 +02:00
fourtf
8a175be810 made seperator between chats grey 2017-08-05 17:25:47 +02:00
fourtf
2dea2265ef fixed notebook button colors 2017-08-05 17:01:02 +02:00
Rasmus Karlsson
42cbc30ad6 fix regex again :bbona: 2017-08-01 13:28:12 +02:00
Rasmus Karlsson
ba092aa29b Add emojis to autocomplete
Improve autocomplete:
 - Add space after autocompleted item
 - Emotes starting with `:` can now be autocompleted properly (i.e. emojis)
2017-08-01 00:10:02 +02:00
Rasmus Karlsson
62a1148c02 fix link regex (Thanks Cranken1337) 2017-07-31 22:26:48 +02:00
Rasmus Karlsson
3010e6303a Merge branch 'master' of github.com:fourtf/chatterino2 2017-07-31 22:15:17 +02:00
Rasmus Karlsson
b5407c94aa Implement emoji sending using shortcodes 😎 🅱️ 2017-07-31 22:15:12 +02:00
Cranken
5feaf4c8eb Implemented the accountpopup. Also fixed regex again. (#89) 2017-07-31 22:14:54 +02:00
Rasmus Karlsson
65e18d4833 Remove unused Emojis class/cpp file 2017-07-31 21:57:21 +02:00
Rasmus Karlsson
7452e7d566 Remove explicit construction in SettingsSnapshot constructor 2017-07-31 21:56:21 +02:00
Cranken
a975e15573 Fixed regex triggering on everything. (#87) 2017-07-31 14:23:23 +02:00
Rasmus Karlsson
950a84ec50 Fix wrong default value on doHighlight
Add debug message for when a highlight is triggered for debugging
purposes
2017-07-31 11:08:32 +02:00
Rasmus Karlsson
417c4028a0 Improve user friendliness of changing chat widget channel/opening new chat widget 2017-07-31 01:36:42 +02:00
Rasmus Karlsson
5c8d3f9eef Fix typo in Custom sound file selector 2017-07-31 01:36:33 +02:00
Rasmus Karlsson
5af5c9feb6 Fix chat widget focus deadzone 2017-07-31 01:26:20 +02:00
Rasmus Karlsson
b25da12e9b reformat 2017-07-31 01:26:14 +02:00
Rasmus Karlsson
51f81262d5 Clean up highlight code
Fix bug if no account is selected
2017-07-31 01:19:25 +02:00
Rasmus Karlsson
626002c8ff reformat code 2017-07-31 00:57:42 +02:00
Cranken
8fb0671834 Added Highlights (#86)
Added Highlights
2017-07-31 00:37:22 +02:00
Rasmus Karlsson
467ca90fd8 Implement stupid account manager
After logging in, you need to restart chatterino
2017-07-28 19:46:53 +02:00
Rasmus Karlsson
a6d87ead9b Merge branch 'master' of github.com:fourtf/chatterino2 2017-07-27 23:32:25 +02:00
Rasmus Karlsson
8a97dfd604 update settings version 2017-07-27 23:32:15 +02:00
Cranken
f787d3f464 Added support for non http/https links. (#82) 2017-07-26 12:01:23 +02:00
Rasmus Karlsson
b3b89e8019 Made links open in browser 2017-07-26 09:08:19 +02:00
Cranken
23eb42013b Implemented issues #71 and #72 (#80)
* Implemented CTRL-Enter not erasing the input

* Added arrow Up and Down cycling through past messages.

* Disabled CTRL+Enter adding messages more than once.
2017-07-24 13:48:34 +02:00
Rasmus Karlsson
3bf111a091 More progress on tab-complete
There are missing parts to the "account-based" emotes that needs to be
completed before emote completion can be considered done. For now, when
I've been testing, I've been manually injecting the oauthClient and
oauthToken to the settings file with the `user_subscriptions` scope
2017-07-23 14:16:13 +02:00
Rasmus Karlsson
e4fc6c25e6 Implement class SignalVector
It's a templated wrapper for std::vector with an overloaded `operator=`
which triggers a signal.
2017-07-23 14:10:12 +02:00
Rasmus Karlsson
9ccfff69d9 Add helper file common.hpp
The file currently contains function `qS(...)` which is an alias for
`QString::fromStdString(...)`
2017-07-23 14:09:20 +02:00
Rasmus Karlsson
0563136a34 Add option to display/hide localized names
Fix #49
2017-07-23 11:59:32 +02:00
Rasmus Karlsson
ab814d1e63 refactor stuff 2017-07-23 09:56:06 +02:00
Rasmus Karlsson
ae95528236 Channel should never be a nullptr, set it to the "empty channel" 2017-07-10 08:32:33 +02:00
Rasmus Karlsson
5aa892e834 Refactor ConcurrentMap
* Add operator[] to ConcurrentMap which returns a TValue reference
* BTTV/FFZ channel emotes are now stored in the Emote Manager, and each Channel object has a reference to their own BTTV/FFZ channel emote map.
* Restructure EmoteManager a bit (simplify the ConcurrentMap havoc).
* Add EmoteData struct which can store emote data (for now only messages::LazyLoadedImage*)
* Add CompletionManager that does nothing
2017-07-09 17:58:59 +02:00
Rasmus Karlsson
1f1b0d7f03 Remove current preset completion strings
These will be filled in using our CompletionManager soon™️

Refactor Channel class a bit
2017-07-09 17:51:21 +02:00
Rasmus Karlsson
b5b07a3e63 Change the way ChatWidget stores its channels name 2017-07-09 17:49:02 +02:00
Rasmus Karlsson
1f7d0dcead Disable tab to switch between splits
This will be custom made later, as tab is used for emote completion
2017-07-09 16:33:08 +02:00
hemirt
2425ddbd2c Implement basic tab autocomplete (#75) 2017-07-09 00:09:02 +02:00
Rasmus Karlsson
73ed39da14 Clean up twitch message parsing 2017-07-02 18:13:16 +02:00
Rasmus Karlsson
a58cd3333e Implement emoji parsing
Fix #60
2017-07-02 17:39:51 +02:00
Rasmus Karlsson
5245cfacd1 Store channel room ID as a string instead of an int 2017-07-02 15:12:00 +02:00
Rasmus Karlsson
3e91340788 Implement subscription badges
Fix #61
2017-07-02 15:11:33 +02:00
Rasmus Karlsson
323cdc5561 Implement split clear chat
Fix #55
2017-07-02 14:40:36 +02:00
Rasmus Karlsson
ddf886eaf1 Add basic color scheme handling
Fix #59
2017-07-02 14:28:37 +02:00
Rasmus Karlsson
c5c2718dc0 Use addChat instead of re-implementing the same code (thanks hemirt)
Some refactoring

Updated settings library version
2017-07-02 13:37:24 +02:00
Rasmus Karlsson
d2d65b9cb5 Merge branch 'master' of github.com:fourtf/chatterino2 2017-07-02 12:38:35 +02:00
Rasmus Karlsson
3c2ee99731 working on something 2017-07-02 12:36:50 +02:00
hemirt
0d27f16c4a fix wrong variable name, openChannelNameDialog on ctrl+t, give focus to (#47)
new split
2017-06-29 14:13:00 +02:00
Rasmus Karlsson
7df7da70cb A lot of changes
Remove unused constructor of messages::Message
Fixed LimitedQueueSnapshot _-prefixes
Changed LimitedQueueSnapshot's usage of int to std::size_t
ColorScheme is no longer a singleton
Created a "BaseWidget" class which is pretty much a QWidget except it
has a reference of ColorScheme since most widgets will need a reference
to the style they should use.
BaseWidget can be implemented either with a BaseWidget parent (which
will copy the ColorScheme reference from the parent) or with a
normal QWidget parent and an explicit ColorScheme reference.
Save main window geometry on close
Fix font changing in the Settings Dialog
Update settings library version
2017-06-26 19:53:31 +02:00
Rasmus Karlsson
c2e67e4b90 attempt to implement urlFetch with a timeout 2017-06-26 15:53:43 +02:00
Rasmus Karlsson
1d8795ef1b update settings version 2017-06-17 15:15:58 +02:00
Rasmus Karlsson
8e0bc16710 fix turbo being rendered as a staff badge 2017-06-17 11:49:04 +02:00
Rasmus Karlsson
17aa48fd07 add debugging code for adding messages to a split even if you don't have an internet connection 2017-06-17 11:37:45 +02:00
Rasmus Karlsson
1ecc6ff612 Clean up font management
Default to b.userName instead of message->account()
Made font updatable in the Settings dialog with a font dialog
More work on subscription badge loading

Known issues:
  - Font isn't updated in a split until a new message is written in that split
  - When font/font size is changed, old messages don't have their size updated causing weird layout of old messages
2017-06-17 11:37:13 +02:00
Rasmus Karlsson
d2cbef9dff Enable DPI Scaling 2017-06-17 11:33:14 +02:00
Rasmus Karlsson
8f4e20db8e Rework badge types to fit with the way twitch sends badges 2017-06-16 10:11:44 +02:00
Rasmus Karlsson
56e521bc24 Start parsing unknown badges (i.e. game badges)
Prepare channel-specific data to be loaded (i.e. subscription badges)
2017-06-16 10:01:21 +02:00
Rasmus Karlsson
8715cf14ac Add "Miscellaneous" badge type for i.e. game badges 2017-06-16 09:57:08 +02:00
Rasmus Karlsson
95f60c34c5 fix dynamic bit badges 2017-06-16 08:03:13 +02:00
Rasmus Karlsson
7525dae768 work on dynamic badge-loading 2017-06-15 23:13:01 +02:00
Rasmus Karlsson
e7282b5097 Fixed verified badges
Refactor more underscores into this->
2017-06-13 22:03:29 +02:00
Rasmus Karlsson
59d383c161 Huge refactor
- Remove some underscore-prefixes
 - Start using this-> more
 - Remove a few of the singletons (We pass references to managers to
         things that need it now. Might not be much better, but for now
         it works. It also shows what places might be slightly wrong
         designed)
2017-06-13 21:27:26 +02:00
Rasmus Karlsson
2305afe700 add humanize as a dependency 2017-06-11 21:01:08 +02:00
Rasmus Karlsson
7c3cd930f3 make a few settings into pajlada::Settings::Settings
Add setting to hide badges

Give focus to text input if you click anywhere in a chat widget
2017-06-11 20:53:43 +02:00
Rasmus Karlsson
945ca5d17a Implement naive split-closing. This will most likely have some memory leak (at least) 2017-06-11 12:04:22 +02:00
Rasmus Karlsson
4bfe58f14d more random refactoring 2017-06-11 12:00:53 +02:00
Rasmus Karlsson
1d6f558452 Remove SharedChannel (just use std::shared_ptr<Channel>)
More code-refactoring BBaper
2017-06-11 11:36:42 +02:00
Rasmus Karlsson
9cd70877a5 replace all instances of NULL with nullptr 2017-06-11 09:37:30 +02:00
Rasmus Karlsson
1c6ff37e76 rename header files from *.h to *.hpp 2017-06-11 09:31:45 +02:00
Rasmus Karlsson
961f22819e clean up chatwidgetheader more 2017-06-11 09:11:55 +02:00
Rasmus Karlsson
85356cdd6b clean up chat widget structure. how and where hotkeys are handled 2017-06-10 23:53:39 +02:00
Rasmus Karlsson
1472471ddb random shit changes 2017-06-10 22:48:28 +02:00
Rasmus Karlsson
5b2b2e3e19 refactor/reformat. remove useless common.h 2017-06-07 10:09:24 +02:00
Rasmus Karlsson
b66dc479e6 fix scroll to bottom issue 2017-06-06 21:18:05 +02:00
Rasmus Karlsson
edcea52cc6 Store the "showing latest messages" in a variable for later use 2017-06-06 17:22:16 +02:00
Rasmus Karlsson
814fc4bbae Fix scrollbar 2017-06-06 17:18:23 +02:00
Rasmus Karlsson
2d2d6dad17 make connectionMutex QMutex into a std::mutex 2017-06-06 16:13:41 +02:00
Rasmus Karlsson
880fe7e81c fix deadlock, thanks hemirt 2017-06-06 16:10:16 +02:00
Rasmus Karlsson
6acaa56442 rename sendJoin to joinChannel 2017-06-06 16:06:13 +02:00
Rasmus Karlsson
6a5d4d49ee Only send REQ-messages on read connection 2017-06-06 15:58:26 +02:00
Rasmus Karlsson
1a428a54d5 Refactor IrcManager a bit
Create a new readConnection so we can read our own messages
2017-06-06 15:57:54 +02:00
Rasmus Karlsson
ccf8e3bd83 move around files 2017-06-06 14:48:14 +02:00