pajlada 913193f8b5 Split up Window Layout loading into a loading and application stage (#1964)
* Split up Window Layout loading into a loading and application stage

Previously, we were creating UI elements at while we were reading the window-layout.json file.
We now read the window-layout.json file fully first, which results in a
WindowLayout struct which is built up of a list of windows with a list
of tabs with a root node which contains containers and splits.
This WindowLayout can then be applied.

This will enable PRs like #1940 to start Chatterino with Window Layouts
that aren't defined in a json file.

This commit has deprecated loading of v1 window layouts (we're now on v2). If a v1 window layout is there, it will just be ignored and Chatterino will boot up as if it did not have a window layout at all, and on save that old window layout will be gone.

* Fix compile error for mac
2020-09-19 17:14:10 +02:00
2019-11-02 12:13:01 +01:00
2020-08-22 18:09:22 +02:00
2020-08-30 11:57:46 +02:00
2020-02-28 23:33:27 +01:00
2018-01-07 00:16:26 +01:00
2018-08-11 14:16:59 +02:00
2017-10-13 21:57:43 +02:00

alt text Chatterino 2 GitHub Actions Build (Windows, Ubuntu, MacOS) Cirrus CI Build (FreeBSD only)

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

Building on Windows

Building on Linux

Building on Mac

Building on FreeBSD

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

  1. Download LLVM: https://releases.llvm.org/9.0.0/LLVM-9.0.0-win64.exe
  2. During the installation, make sure to add it to your path
  3. In QT Creator, select Help > About Plugins > C++ > Beautifier to enable the plugin
  4. Restart QT Creator
  5. Select Tools > Options > Beautifier
  6. Under General select Tool: ClangFormat and enable Automatic Formatting on File Save
  7. Under Clang Format select Use predefined style: File and Fallback 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.