Commit graph

497 commits

Author SHA1 Message Date
Rasmus Karlsson
2f195891cd Finish up singleton refactoring into one giant class 2018-04-28 15:20:18 +02:00
Rasmus Karlsson
ae26b835b6 Perform initial refactoring work
Things that were once singletons are no longer singletons, but are
instead stored in the "Application" singleton

Some singletons still remain, and some renaming/renamespacing is left
2018-04-27 22:11:19 +02:00
Rasmus Karlsson
32b6417a55 Combine Ban/Timeout pubsub actions
Fully implement PubSub ban/unban messages
Move the "message combining" to Channel::addMessage

Disable "irc" ban/timeout handling for now. In the future, we might want
to use this if you're not a moderator in a channel.
2018-04-27 18:35:31 +02:00
fourtf
859f4aefcb added new TupleTableModel for settingsdialog 2018-04-25 14:51:22 +02:00
fourtf
4743e9f86c only connect to the gif frame update signal for gif emotes 2018-04-18 17:20:33 +02:00
fourtf
692563fd8e adjusted optimization 2018-04-18 17:10:17 +02:00
fourtf
4c99f2b5fd decreased lag when opening the emote/emoji menu 2018-04-18 17:03:37 +02:00
fourtf
3446a623f5 added select channel dialog 2018-04-18 09:15:56 +02:00
Rasmus Karlsson
5f142e8d52 Add some error checks to Image::loadImage
Add default value to loadedPixmap
2018-04-16 23:48:30 +02:00
pajlada
23cf8cc484
PubSub system (#346)
* Add websocketpp dependency

* Initial pubsub commit

Renamed selection min and max variables to selectionMin and selectionMax
to bypass windows min/max macros being stupid.

TwitchAccount is now initialized with its User ID. It cannot be changed
after it has been initialized.

* Update openssl folder

* Update installation instructions

* Split up websocketpp dependency to its own code only and openssl.pri

* Add missing include to asio steady_timer

* Update dependencies for linux
2018-04-15 15:09:31 +02:00
Rasmus Karlsson
5fcec26a5c Clarify that a variable is currently unused, but I am unaware forsenKek if should be used later 2018-04-14 22:32:22 +02:00
Rasmus Karlsson
b7266b1640 Fix warnings that occured on linux using clang 2018-04-14 21:59:51 +02:00
fourtf
d0a71f37ed fixed text copying if a single word is selected 2018-04-11 22:54:34 +02:00
fourtf
c587024c53 Fixes #270 Copying text is broken 2018-04-11 22:54:34 +02:00
fourtf
3ba55ee511 selections now render over all images 2018-04-11 22:54:34 +02:00
fourtf
eb26b1fbb3 fixed issue with selecting text and word wrapping 2018-04-11 22:54:34 +02:00
fourtf
91d1af6dd9 Fixes #291 links clickable area 2018-04-11 22:54:34 +02:00
fourtf
d2bf99b343 Fixes #276 Color of the moderator buttons are black if the timestamp is disabled 2018-04-11 22:54:34 +02:00
fourtf
fffe9c93c4 fixes #307 2018-04-11 22:54:34 +02:00
fourtf
0322c73eb5 fixed an issue where normal emotes would be redrawn like gif emotes 2018-04-11 22:54:34 +02:00
fourtf
ed50f1835f added debug information on F10 2018-04-11 22:54:34 +02:00
Rasmus Karlsson
6ea3a1df08 Switch some c-style includes to c++-style includes (i.e. stdint.h to
cstdint)

Make MessageElement to a class to fit better with the derived classes.
Make MessageLayoutElement to a class to fit better with the derived
classes.

Remove virtual from override functions

Replace all instances of boost::signals2 with pajlada::Signals. This
lets us properly use clang code model to check for issues.

Add missing virtual destructor to AbstractIrcServer
Add missing virtual destructor to MessageLayoutElement

Remove unused "connectedConnection" connection in TwitchChannel

Fix typo in TrimChannelName function
Fix typo in MessageParseArgs

Replace some raw pointers with unique pointers where it made more sense.
This allowed us to remove some manually written destructors whose only
purpose was to delete that raw pointer.

Reformat: Add namespace comments
Reformat: Add empty empty lines between main namespace beginning and end
Reformat: Re-order includes
Reformat: Fix some includes that used quotes where they should use angle
brackets
Reformat: Replace some typedef's with using's

Filter out more useless warnings
2018-04-11 22:54:34 +02:00
Rasmus Karlsson
4888178079 Reformat 2018-04-11 22:54:34 +02:00
fourtf
05335c6440 removed the chrome style tabs 2018-04-11 22:54:34 +02:00
Rasmus Karlsson
9a4ee07ed4 Fixed an issue where Badges and emotes were not rendered transparently in disabled messages
I'm a master programmator

Fixes #300
2018-04-11 22:54:34 +02:00
Rasmus Karlsson
fba2967777 Re-fix timeout message merging
Fix #298
2018-04-11 22:54:34 +02:00
Rasmus Karlsson
010c061a25 Fixes the previous "Disabled message" behaviour
Fixes #295
2018-04-11 22:54:34 +02:00
Rasmus Karlsson
9886021c6a Add "Timeout action" setting 2018-04-11 22:54:34 +02:00
fourtf
e047a55da8 fixed compiling on macos 2018-02-05 23:56:16 +01:00
fourtf
b351c40d29 refactored irc 2018-02-05 15:11:50 +01:00
fourtf
643486da14 enabled compact emtoes again 2018-01-28 16:29:47 +01:00
fourtf
3d479e4c83 fixed template compilation on mingw 2018-01-28 15:28:02 +01:00
Rasmus Karlsson
88586b53b7 Switch bitwise operator in message from &= to |=
Flags still don't work for me properly, probably due to EnumFlags not
being fully implemented
2018-01-28 14:24:37 +01:00
fourtf
f474db9443 minor changes in MessageLayout 2018-01-28 04:07:45 +01:00
fourtf
772dc97d92 minor changes to MessageColor 2018-01-28 03:57:22 +01:00
fourtf
11775071b9 made Link a struct 2018-01-28 03:52:52 +01:00
fourtf
99aac9eb6a minor code improvements 2018-01-28 03:48:15 +01:00
fourtf
431b9a8c1f Merge branch 'master' of https://github.com/fourtf/chatterino2 2018-01-28 03:39:47 +01:00
fourtf
591ab4d8da simplified message.cpp 2018-01-28 03:29:42 +01:00
fourtf
d33adff5c9 fixed emotes popup emotes 2018-01-27 21:13:22 +01:00
fourtf
fa344deaf0 fixed #237 /mentions 2018-01-23 23:28:06 +01:00
fourtf
f42d48860c fixes #249 2018-01-23 22:51:15 +01:00
fourtf
0f4ec70bf3 Fixes #53 last read message indicator 2018-01-23 22:48:33 +01:00
fourtf
418189d39c Fixes #230 appearence settings not updating 2018-01-23 22:00:58 +01:00
fourtf
8a77f918f6 fixed timestamps not updating when changed in the settings 2018-01-23 21:56:25 +01:00
fourtf
91d45214d9 fixed emotes settings a little bit 2018-01-23 21:35:42 +01:00
fourtf
135f9910f8 renamed template method from "append" to "emplace"
to be in line with the std library naming scheme
2018-01-22 14:39:24 +01:00
fourtf
bd50b2ae79 Fixes #248 user color not normalized 2018-01-22 14:35:51 +01:00
fourtf
3104aae80a fixed crash 2018-01-19 23:41:02 +01:00
Rasmus Karlsson
03ff2205fa test code 2018-01-19 22:45:33 +01:00
fourtf
66e99fd36f renamed and moved asyncexec.hpp to posttothread.hpp 2018-01-19 14:53:57 +01:00
fourtf
f3357cf0f4 Fixes #225 fix am/pm for timestamps 2018-01-17 18:36:12 +01:00
fourtf
b3951262c8 messages refresh when toggeling the button 2018-01-17 17:02:34 +01:00
fourtf
e694214243 added toggle for moderation mode 2018-01-17 16:52:51 +01:00
fourtf
91fca258bf fixed searching 2018-01-17 14:25:03 +01:00
fourtf
6d6b99f3ef added moderation buttons 2018-01-17 14:14:31 +01:00
fourtf
db41044daf Fixed #216 bundles connected and disconnected 2018-01-17 03:10:21 +01:00
fourtf
e1ff4c818e added background color to the accountswitchwidget 2018-01-17 02:22:57 +01:00
nuuls
6f95a219a7
fixed it 2018-01-16 22:37:06 +01:00
fourtf
0ca916717c added basic buggy text copying 2018-01-16 02:39:31 +01:00
fourtf
c01843977b fixed word wrapping 2018-01-16 00:56:17 +01:00
fourtf
385f9e44d0 fixed text selection color 2018-01-16 00:34:32 +01:00
fourtf
a190eda075 fixed text selection 2018-01-16 00:26:04 +01:00
fourtf
6701c3d0b2 fixed compiling 2018-01-15 04:08:48 +01:00
fourtf
c79f88ed10 fixed gif emotes being offset 2018-01-13 03:08:31 +01:00
fourtf
9703cf6ad4 fixed gif emotes not drawing 2018-01-13 02:13:59 +01:00
fourtf
40733ca312 fixed disabled messages not being greyed out 2018-01-13 02:03:53 +01:00
fourtf
e0bb061c81 refactored the settings dialog 2018-01-12 23:09:27 +01:00
Rasmus Karlsson
3c8c793e47 Add missing return in MessageElement::setTrailingSpace 2018-01-12 18:42:13 +01:00
fourtf
a7fa4160e8 added define for myself 2018-01-11 20:26:32 +01:00
fourtf
10850c0ec7 I BROKE EVERYTHING
refactored the rendering process
2018-01-11 20:17:41 +01:00
fourtf
20eab57db5 added highlights to the scrollbar 2018-01-06 03:48:56 +01:00
fourtf
99f2d0dd27 fixed type of Message::Flags 2018-01-06 00:02:04 +01:00
fourtf
315cfd8605 bundling timeouts from same user 2018-01-05 23:14:55 +01:00
fourtf
47a813d5d6 added search popup 2018-01-05 13:42:23 +01:00
fourtf
df81a0e5a5 Pause chat while hovering. Fixes #208
Also pauses when clicking with double-click-links enabled and while
selecting text
2018-01-05 11:22:51 +01:00
fourtf
43568556be Fixes #195 2018-01-05 01:31:01 +01:00
fourtf
4a2850c4f5 moved selection into its own file 2018-01-04 23:50:30 +01:00
Rasmus Karlsson
9044700ec6 Convert remaining settings to the new settings system 2018-01-04 02:23:59 +01:00
Rasmus Karlsson
df733282be Move highlight phrases to new settings system
Add a setting serialize/deserializer for QString
Add constructor to ChatterinoSetting that doesn't take a default value
2018-01-04 01:52:37 +01:00
3e5937011a the rewrite that nobody wanted 2018-01-02 02:15:11 +01:00
330a79f6f1 made message grey out when user it timed out 2018-01-01 23:29:54 +01:00
3fc4ddea56 I hate c++ and everything it stands for 2018-01-01 22:29:21 +01:00
5a26d5f17f put singletons into their namespace 2017-12-31 22:58:35 +01:00
ad001431f2 renamed resources to ResourceManager 2017-12-31 02:21:33 +01:00
bfa2f1637e refactored the managers 2017-12-31 00:50:07 +01:00
1940b0197c emotes now have less margin 2017-12-28 17:46:36 +01:00
Cranken
223f4af55a Implemented loading recent messages. (#162) 2017-12-27 01:22:12 +01:00
Rasmus Karlsson
13b39e374b Tabs now highlight when a highlight is received
Work on #88
2017-12-26 12:32:24 +01:00
fourtf
72ed52c35c fixed system messages not splitting words properly 2017-12-24 00:24:35 +01:00
fourtf
2bf53f73f8 oh no the bad commit descriptions are back D: 2017-12-23 23:24:35 +01:00
fourtf
fc81b118c7 replaced qt font scaling
remove the qt font scaling and added code that uses the actual scale/dpi value
2017-12-23 21:18:13 +01:00
Rasmus Karlsson
4b36893818 Add simple tooltip system 2017-12-19 03:38:42 +01:00
fourtf
c950e9c58a added some code for collapsing messages 2017-12-19 00:10:03 +01:00
Rasmus Karlsson
03958420be We now also add localized names to the autocompletion
Changed the login name in autocompletion to the display name
Autocompletion model is now only updated on the "first completion"
2017-12-17 21:05:48 +01:00
Rasmus Karlsson
5839b9f522 add username to message (simple) 2017-12-17 17:48:46 +01:00
5cb33647dc fixed splits not redrawing after font changed 2017-12-17 03:26:23 +01:00
Rasmus Karlsson
70cbb9df7f Make more use of single pattern 2017-12-17 02:18:13 +01:00
202cdeaefb Merge branch 'master' of https://github.com/fourtf/chatterino2 2017-12-17 01:55:30 +01:00
dd11c56b9a fixed msgs not layouting after changing settings 2017-12-17 01:54:15 +01:00
Rasmus Karlsson
eb8e14b8fe Move more settings over to pajlada settings system 2017-12-17 01:19:56 +01:00
269a5500d8 Merge branch 'master' of https://github.com/fourtf/chatterino2 2017-12-17 00:07:03 +01:00
f36d346a4f dpi 2017-12-17 00:06:24 +01:00
Rasmus Karlsson
e060f87b3c hehe fourtf 2017-12-17 00:01:42 +01:00
Rasmus Karlsson
357515ab39 createTimeoutMessage now also handles permaban-messages 2017-12-16 19:45:23 +01:00
Rasmus Karlsson
6d56148ed2 Implement basic ClearChat handling
Fixes #56
2017-12-16 19:08:32 +01:00
Rasmus Karlsson
b39034ab74 Move message timestamp-code to its own function 2017-12-16 19:03:22 +01:00
Rasmus Karlsson
87203c1120 Add system messages upon connecting/disconnecting 2017-12-16 18:13:40 +01:00
Rasmus Karlsson
3cc19bd4ce reformat messagecolor class 2017-12-16 17:53:48 +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
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
f0c21f5b49 refactored message drawing and layouting 2017-10-11 10:34:04 +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
Rasmus Karlsson
c14dc43b18 fix highlights - reformat some stuff 2017-09-24 18:43:24 +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
bd4601a5d4 added MessageColor to represet special colors 2017-09-21 00:54:10 +02:00
Rasmus Karlsson
51e5d198fb fix message deleting bug 2017-09-17 04:39:30 +02:00
fourtf
c7b3480aaf ChatWidgetView -> ChannelView, added Emote Picker 2017-09-16 00:05:06 +02:00
fourtf
81b1a8774b added text selection 2017-09-12 19:06:16 +02:00
Rasmus Karlsson
a82774543c Fix warnings/reformat some code 2017-08-12 15:58:46 +02:00
Rasmus Karlsson
ac6db75dc6 Reformat according to .clang-format 2017-08-12 12:09:26 +02:00
fourtf
e1364f2bd2 gave links color 2017-08-05 18:44:14 +02:00
Rasmus Karlsson
42cbc30ad6 fix regex again :bbona: 2017-08-01 13:28:12 +02:00
Rasmus Karlsson
62a1148c02 fix link regex (Thanks Cranken1337) 2017-07-31 22:26:48 +02:00
Cranken
5feaf4c8eb Implemented the accountpopup. Also fixed regex again. (#89) 2017-07-31 22:14:54 +02:00
Cranken
a975e15573 Fixed regex triggering on everything. (#87) 2017-07-31 14:23:23 +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
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
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
8f4e20db8e Rework badge types to fit with the way twitch sends badges 2017-06-16 10:11:44 +02:00
Rasmus Karlsson
8715cf14ac Add "Miscellaneous" badge type for i.e. game badges 2017-06-16 09:57:08 +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
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
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
ccf8e3bd83 move around files 2017-06-06 14:48:14 +02:00