mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
Compare commits
7 commits
d4fdfd15af
...
0296b9b673
Author | SHA1 | Date | |
---|---|---|---|
|
0296b9b673 | ||
|
9e73ba2919 | ||
|
d04f607ebf | ||
|
50b51b2351 | ||
|
6b5cc5f8d9 | ||
|
eeb797c03f | ||
|
63f363e5a9 |
19 changed files with 30 additions and 29 deletions
|
@ -29,7 +29,6 @@ cmake \
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
|
||||||
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
||||||
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
||||||
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \
|
|
||||||
-DCHATTERINO_STATIC_QT_BUILD=On \
|
-DCHATTERINO_STATIC_QT_BUILD=On \
|
||||||
-DCMAKE_CXX_FLAGS="-fno-sized-deallocation" \
|
-DCMAKE_CXX_FLAGS="-fno-sized-deallocation" \
|
||||||
.
|
.
|
||||||
|
|
|
@ -19,7 +19,6 @@ cmake -S. -Bbuild-clang-tidy \
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
|
||||||
-DCHATTERINO_LTO=Off \
|
-DCHATTERINO_LTO=Off \
|
||||||
-DCHATTERINO_PLUGINS=On \
|
-DCHATTERINO_PLUGINS=On \
|
||||||
-DBUILD_WITH_QT6=On \
|
|
||||||
-DBUILD_TESTS=On \
|
-DBUILD_TESTS=On \
|
||||||
-DBUILD_BENCHMARKS=On
|
-DBUILD_BENCHMARKS=On
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ task:
|
||||||
-DUSE_SYSTEM_QTKEYCHAIN="ON" \
|
-DUSE_SYSTEM_QTKEYCHAIN="ON" \
|
||||||
-DCMAKE_BUILD_TYPE="release" \
|
-DCMAKE_BUILD_TYPE="release" \
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
|
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
|
||||||
-DBUILD_WITH_QT6="ON" \
|
|
||||||
..
|
..
|
||||||
cat compile_commands.json
|
cat compile_commands.json
|
||||||
make -j $(getconf _NPROCESSORS_ONLN)
|
make -j $(getconf _NPROCESSORS_ONLN)
|
||||||
|
|
|
@ -3,7 +3,6 @@ ARG UBUNTU_VERSION=22.04
|
||||||
FROM ubuntu:$UBUNTU_VERSION
|
FROM ubuntu:$UBUNTU_VERSION
|
||||||
|
|
||||||
ARG QT_VERSION=6.2.4
|
ARG QT_VERSION=6.2.4
|
||||||
ARG BUILD_WITH_QT6=ON
|
|
||||||
|
|
||||||
ENV TZ=UTC
|
ENV TZ=UTC
|
||||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
@ -48,7 +47,6 @@ RUN mkdir /src/build
|
||||||
# cmake
|
# cmake
|
||||||
RUN cd /src/build && \
|
RUN cd /src/build && \
|
||||||
CXXFLAGS=-fno-sized-deallocation cmake \
|
CXXFLAGS=-fno-sized-deallocation cmake \
|
||||||
-DBUILD_WITH_QT6=$BUILD_WITH_QT6 \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=appdir/usr/ \
|
-DCMAKE_INSTALL_PREFIX=appdir/usr/ \
|
||||||
-DCMAKE_PREFIX_PATH=/opt/qt/$QT_VERSION/gcc_64/lib/cmake \
|
-DCMAKE_PREFIX_PATH=/opt/qt/$QT_VERSION/gcc_64/lib/cmake \
|
||||||
-DBUILD_WITH_QTKEYCHAIN=OFF \
|
-DBUILD_WITH_QTKEYCHAIN=OFF \
|
||||||
|
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -62,7 +62,6 @@ jobs:
|
||||||
C2_ENABLE_LTO: ${{ matrix.force-lto }}
|
C2_ENABLE_LTO: ${{ matrix.force-lto }}
|
||||||
C2_PLUGINS: ${{ matrix.plugins }}
|
C2_PLUGINS: ${{ matrix.plugins }}
|
||||||
C2_ENABLE_CRASHPAD: ${{ matrix.skip-crashpad == false }}
|
C2_ENABLE_CRASHPAD: ${{ matrix.skip-crashpad == false }}
|
||||||
C2_BUILD_WITH_QT6: ${{ startsWith(matrix.qt-version, '6.') }}
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
@ -87,7 +86,6 @@ jobs:
|
||||||
-DCHATTERINO_LTO="$C2_ENABLE_LTO" \
|
-DCHATTERINO_LTO="$C2_ENABLE_LTO" \
|
||||||
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
||||||
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
||||||
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \
|
|
||||||
-DCHATTERINO_STATIC_QT_BUILD=On \
|
-DCHATTERINO_STATIC_QT_BUILD=On \
|
||||||
..
|
..
|
||||||
make -j"$(nproc)"
|
make -j"$(nproc)"
|
||||||
|
|
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
|
@ -33,7 +33,6 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
env:
|
env:
|
||||||
C2_PLUGINS: ${{ matrix.plugins }}
|
C2_PLUGINS: ${{ matrix.plugins }}
|
||||||
C2_BUILD_WITH_QT6: ${{ startsWith(matrix.qt-version, '6.') }}
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
@ -57,7 +56,6 @@ jobs:
|
||||||
-DBUILD_APP=OFF \
|
-DBUILD_APP=OFF \
|
||||||
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
||||||
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
||||||
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \
|
|
||||||
-DCHATTERINO_STATIC_QT_BUILD=On \
|
-DCHATTERINO_STATIC_QT_BUILD=On \
|
||||||
-DCHATTERINO_GENERATE_COVERAGE=On \
|
-DCHATTERINO_GENERATE_COVERAGE=On \
|
||||||
-DCMAKE_BUILD_TYPE=Debug \
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
|
@ -98,9 +96,9 @@ jobs:
|
||||||
working-directory: build-test
|
working-directory: build-test
|
||||||
|
|
||||||
- name: Upload coverage reports to Codecov
|
- name: Upload coverage reports to Codecov
|
||||||
uses: codecov/codecov-action@v4.6.0
|
uses: codecov/codecov-action@v5.0.0
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
plugin: gcov
|
plugins: gcov
|
||||||
fail_ci_if_error: true
|
fail_ci_if_error: true
|
||||||
verbose: true
|
verbose: true
|
||||||
|
|
|
@ -17,7 +17,7 @@ FreeBSD 15.0-SNAP.
|
||||||
```
|
```
|
||||||
1. Generate build files. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
|
1. Generate build files. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
|
||||||
```sh
|
```sh
|
||||||
cmake -DBUILD_WITH_QT6=ON ..
|
cmake ..
|
||||||
```
|
```
|
||||||
1. Build the project
|
1. Build the project
|
||||||
```sh
|
```sh
|
||||||
|
|
|
@ -53,7 +53,7 @@ nix-shell -p openssl boost qt6.full pkg-config cmake
|
||||||
```
|
```
|
||||||
1. Generate build files. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
|
1. Generate build files. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
|
||||||
```sh
|
```sh
|
||||||
cmake -DBUILD_WITH_QT6=ON -DBUILD_WITH_QTKEYCHAIN=OFF ..
|
cmake -DBUILD_WITH_QTKEYCHAIN=OFF ..
|
||||||
```
|
```
|
||||||
1. Build the project
|
1. Build the project
|
||||||
```sh
|
```sh
|
||||||
|
|
|
@ -10,7 +10,7 @@ Local dev machines for testing are available on Apple Silicon on macOS 13.
|
||||||
1. Install [Homebrew](https://brew.sh/#install)
|
1. Install [Homebrew](https://brew.sh/#install)
|
||||||
We use this for dependency management on macOS
|
We use this for dependency management on macOS
|
||||||
1. Install all dependencies:
|
1. Install all dependencies:
|
||||||
`brew install boost openssl@1.1 rapidjson cmake qt@5`
|
`brew install boost openssl@3 rapidjson cmake qt@6`
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ Local dev machines for testing are available on Apple Silicon on macOS 13.
|
||||||
1. Create a build directory and go into it:
|
1. Create a build directory and go into it:
|
||||||
`mkdir build && cd build`
|
`mkdir build && cd build`
|
||||||
1. Run CMake. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
|
1. Run CMake. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
|
||||||
`cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5 -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@1.1 ..`
|
`cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@6 ..`
|
||||||
1. Build:
|
1. Build:
|
||||||
`make`
|
`make`
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
- Minor: Tabs unhighlight when their content is read in other tabs. (#5649)
|
- Minor: Tabs unhighlight when their content is read in other tabs. (#5649)
|
||||||
- Minor: Made usernames in bits and sub messages clickable. (#5686)
|
- Minor: Made usernames in bits and sub messages clickable. (#5686)
|
||||||
- Minor: Mentions of FrankerFaceZ and BetterTTV in settings are standardized as such. (#5698)
|
- Minor: Mentions of FrankerFaceZ and BetterTTV in settings are standardized as such. (#5698)
|
||||||
|
- Minor: Emote names are no longer duplicated when using smarter emote completion. (#5705)
|
||||||
- Bugfix: Fixed tab move animation occasionally failing to start after closing a tab. (#5426, #5612)
|
- Bugfix: Fixed tab move animation occasionally failing to start after closing a tab. (#5426, #5612)
|
||||||
- Bugfix: If a network request errors with 200 OK, Qt's error code is now reported instead of the HTTP status. (#5378)
|
- Bugfix: If a network request errors with 200 OK, Qt's error code is now reported instead of the HTTP status. (#5378)
|
||||||
- Bugfix: Fixed restricted users usernames not being clickable. (#5405)
|
- Bugfix: Fixed restricted users usernames not being clickable. (#5405)
|
||||||
|
@ -72,6 +73,7 @@
|
||||||
- Bugfix: Fixed incorrect messages getting replaced visually. (#5683)
|
- Bugfix: Fixed incorrect messages getting replaced visually. (#5683)
|
||||||
- Bugfix: Fixed rendering of multi-line selection that starts at a trailing space. (#5691)
|
- Bugfix: Fixed rendering of multi-line selection that starts at a trailing space. (#5691)
|
||||||
- Bugfix: Fixed pause indicator not appearing in certain cases. (#5707)
|
- Bugfix: Fixed pause indicator not appearing in certain cases. (#5707)
|
||||||
|
- Dev: Default build with Qt6 on all platforms. (#5716)
|
||||||
- Dev: Update Windows build from Qt 6.5.0 to Qt 6.7.1. (#5420)
|
- Dev: Update Windows build from Qt 6.5.0 to Qt 6.7.1. (#5420)
|
||||||
- Dev: Update vcpkg build Qt from 6.5.0 to 6.7.0, boost from 1.83.0 to 1.85.0, openssl from 3.1.3 to 3.3.0. (#5422)
|
- Dev: Update vcpkg build Qt from 6.5.0 to 6.7.0, boost from 1.83.0 to 1.85.0, openssl from 3.1.3 to 3.3.0. (#5422)
|
||||||
- Dev: Unsingletonize `ISoundController`. (#5462)
|
- Dev: Unsingletonize `ISoundController`. (#5462)
|
||||||
|
@ -128,6 +130,7 @@
|
||||||
- Dev: Fixed some compiler warnings. (#5672)
|
- Dev: Fixed some compiler warnings. (#5672)
|
||||||
- Dev: Unified parsing of historic and live IRC messages. (#5678)
|
- Dev: Unified parsing of historic and live IRC messages. (#5678)
|
||||||
- Dev: 7TV's `entitlement.reset` is now explicitly ignored. (#5685)
|
- Dev: 7TV's `entitlement.reset` is now explicitly ignored. (#5685)
|
||||||
|
- Dev: Qt 6.8 and later now default to the GDI fontengine. (#5710)
|
||||||
|
|
||||||
## 2.5.1
|
## 2.5.1
|
||||||
|
|
||||||
|
|
|
@ -21,17 +21,14 @@ option(BUILD_WITH_QTKEYCHAIN "Build Chatterino with support for your system key
|
||||||
option(USE_SYSTEM_MINIAUDIO "Build Chatterino with your system miniaudio" OFF)
|
option(USE_SYSTEM_MINIAUDIO "Build Chatterino with your system miniaudio" OFF)
|
||||||
option(BUILD_WITH_CRASHPAD "Build chatterino with crashpad" OFF)
|
option(BUILD_WITH_CRASHPAD "Build chatterino with crashpad" OFF)
|
||||||
option(USE_PRECOMPILED_HEADERS "Use precompiled headers" ON)
|
option(USE_PRECOMPILED_HEADERS "Use precompiled headers" ON)
|
||||||
if(WIN32)
|
option(BUILD_WITH_QT6 "Build with Qt6" On)
|
||||||
option(BUILD_WITH_QT6 "Build with Qt6, default on for Windows" On)
|
|
||||||
else()
|
|
||||||
option(BUILD_WITH_QT6 "Use Qt6 instead of default Qt5" OFF)
|
|
||||||
endif()
|
|
||||||
option(CHATTERINO_GENERATE_COVERAGE "Generate coverage files" OFF)
|
option(CHATTERINO_GENERATE_COVERAGE "Generate coverage files" OFF)
|
||||||
# We don't use translations, and we don't want qtkeychain to build translations
|
# We don't use translations, and we don't want qtkeychain to build translations
|
||||||
option(BUILD_TRANSLATIONS "" OFF)
|
option(BUILD_TRANSLATIONS "" OFF)
|
||||||
option(BUILD_SHARED_LIBS "" OFF)
|
option(BUILD_SHARED_LIBS "" OFF)
|
||||||
option(CHATTERINO_LTO "Enable LTO for all targets" OFF)
|
option(CHATTERINO_LTO "Enable LTO for all targets" OFF)
|
||||||
option(CHATTERINO_PLUGINS "Enable ALPHA plugin support in Chatterino" OFF)
|
option(CHATTERINO_PLUGINS "Enable ALPHA plugin support in Chatterino" OFF)
|
||||||
|
option(CHATTERINO_USE_GDI_FONTENGINE "Use the legacy GDI fontengine instead of the new DirectWrite one on Windows (Qt 6.8.0 and later)" ON)
|
||||||
|
|
||||||
option(CHATTERINO_UPDATER "Enable update checks" ON)
|
option(CHATTERINO_UPDATER "Enable update checks" ON)
|
||||||
mark_as_advanced(CHATTERINO_UPDATER)
|
mark_as_advanced(CHATTERINO_UPDATER)
|
||||||
|
|
|
@ -88,6 +88,15 @@ if (WIN32)
|
||||||
list(APPEND RES_AUTOGEN_FILES "${CMAKE_BINARY_DIR}/autogen/windows.rc")
|
list(APPEND RES_AUTOGEN_FILES "${CMAKE_BINARY_DIR}/autogen/windows.rc")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(WINDOWS_ARGUMENTS "@Invalid()") # empty QVariant() in QSettings
|
||||||
|
if (CHATTERINO_USE_GDI_FONTENGINE AND Qt${MAJOR_QT_VERSION}_VERSION VERSION_GREATER_EQUAL "6.8.0")
|
||||||
|
message(STATUS "Using legacy GDI fontengine")
|
||||||
|
set(WINDOWS_ARGUMENTS "fontengine=gdi")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
configure_file("${CMAKE_CURRENT_LIST_DIR}/qt.conf.in" "${CMAKE_SOURCE_DIR}/resources/qt.conf")
|
||||||
|
list(APPEND RES_AUTOGEN_FILES "${CMAKE_SOURCE_DIR}/resources/qt.conf")
|
||||||
|
|
||||||
list(APPEND RES_AUTOGEN_FILES
|
list(APPEND RES_AUTOGEN_FILES
|
||||||
"${CMAKE_SOURCE_DIR}/resources/resources_autogenerated.qrc"
|
"${CMAKE_SOURCE_DIR}/resources/resources_autogenerated.qrc"
|
||||||
"${CMAKE_BINARY_DIR}/autogen/ResourcesAutogen.cpp"
|
"${CMAKE_BINARY_DIR}/autogen/ResourcesAutogen.cpp"
|
||||||
|
|
2
cmake/resources/qt.conf.in
Normal file
2
cmake/resources/qt.conf.in
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[Platforms]
|
||||||
|
WindowsArguments = ${WINDOWS_ARGUMENTS}
|
|
@ -6,4 +6,7 @@
|
||||||
<qresource prefix="/">
|
<qresource prefix="/">
|
||||||
@RES_RESOURCES_CONTENT@
|
@RES_RESOURCES_CONTENT@
|
||||||
</qresource>
|
</qresource>
|
||||||
|
<qresource prefix="/qt/etc">
|
||||||
|
<file>qt.conf</file>
|
||||||
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
1
resources/.gitignore
vendored
1
resources/.gitignore
vendored
|
@ -1 +1,2 @@
|
||||||
linuxinstall
|
linuxinstall
|
||||||
|
/qt.conf
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[Platforms]
|
|
||||||
WindowArguments = dpiawareness=2
|
|
|
@ -1,5 +0,0 @@
|
||||||
<RCC>
|
|
||||||
<qresource prefix="/qt/etc">
|
|
||||||
<file>qt.conf</file>
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
|
@ -740,8 +740,6 @@ set(SOURCE_FILES
|
||||||
widgets/splits/SplitInput.hpp
|
widgets/splits/SplitInput.hpp
|
||||||
widgets/splits/SplitOverlay.cpp
|
widgets/splits/SplitOverlay.cpp
|
||||||
widgets/splits/SplitOverlay.hpp
|
widgets/splits/SplitOverlay.hpp
|
||||||
|
|
||||||
${CMAKE_SOURCE_DIR}/resources/resources.qrc
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
|
|
|
@ -43,11 +43,15 @@ void TabCompletionModel::updateResults(const QString &query,
|
||||||
query, fullTextContent, cursorPosition, isFirstWord);
|
query, fullTextContent, cursorPosition, isFirstWord);
|
||||||
if (done)
|
if (done)
|
||||||
{
|
{
|
||||||
|
auto uniqueResults = std::unique(results.begin(), results.end());
|
||||||
|
results.erase(uniqueResults, results.end());
|
||||||
this->setStringList(results);
|
this->setStringList(results);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
this->source_->addToStringList(results, 0, isFirstWord);
|
this->source_->addToStringList(results, 0, isFirstWord);
|
||||||
|
auto uniqueResults = std::unique(results.begin(), results.end());
|
||||||
|
results.erase(uniqueResults, results.end());
|
||||||
this->setStringList(results);
|
this->setStringList(results);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue