c7a2f4cc92
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
Chatterino 2

Chatterino 2 is the second installment of the Twitch chat client series "Chatterino".
Download
Current releases are available at https://chatterino.com.
Nightly build
You can download the latest Chatterino 2 build over here
You might also need to install the VC++ 2017 Redistributable from Microsoft if you do not have it installed already.
If you still receive an error about MSVCR120.dll missing, then you should install the VC++ 2013 Restributable.
Building
To get source code with required submodules run:
git clone --recurse-submodules https://github.com/Chatterino/chatterino2.git
or
git clone https://github.com/Chatterino/chatterino2.git
cd chatterino2
git submodule update --init --recursive
Code style
The code is formatted using clang format in Qt Creator. .clang-format contains the style file for clang format.
Get it automated with QT Creator + Beautifier + Clang Format
- Download LLVM: https://releases.llvm.org/9.0.0/LLVM-9.0.0-win64.exe
- During the installation, make sure to add it to your path
- In QT Creator, select
Help>About Plugins>C++>Beautifierto enable the plugin - Restart QT Creator
- Select
Tools>Options>Beautifier - Under
GeneralselectTool: ClangFormatand enableAutomatic Formatting on File Save - Under
Clang FormatselectUse predefined style: FileandFallback style: None
Qt creator should now format the documents when saving it.
Doxygen
Doxygen is used to generate project information daily and is available here.