mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
Compare commits
1 commit
0296b9b673
...
d4fdfd15af
Author | SHA1 | Date | |
---|---|---|---|
|
d4fdfd15af |
19 changed files with 29 additions and 30 deletions
|
@ -29,6 +29,7 @@ cmake \
|
|||
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
|
||||
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
||||
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
||||
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \
|
||||
-DCHATTERINO_STATIC_QT_BUILD=On \
|
||||
-DCMAKE_CXX_FLAGS="-fno-sized-deallocation" \
|
||||
.
|
||||
|
|
|
@ -19,6 +19,7 @@ cmake -S. -Bbuild-clang-tidy \
|
|||
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
|
||||
-DCHATTERINO_LTO=Off \
|
||||
-DCHATTERINO_PLUGINS=On \
|
||||
-DBUILD_WITH_QT6=On \
|
||||
-DBUILD_TESTS=On \
|
||||
-DBUILD_BENCHMARKS=On
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ task:
|
|||
-DUSE_SYSTEM_QTKEYCHAIN="ON" \
|
||||
-DCMAKE_BUILD_TYPE="release" \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
|
||||
-DBUILD_WITH_QT6="ON" \
|
||||
..
|
||||
cat compile_commands.json
|
||||
make -j $(getconf _NPROCESSORS_ONLN)
|
||||
|
|
|
@ -3,6 +3,7 @@ ARG UBUNTU_VERSION=22.04
|
|||
FROM ubuntu:$UBUNTU_VERSION
|
||||
|
||||
ARG QT_VERSION=6.2.4
|
||||
ARG BUILD_WITH_QT6=ON
|
||||
|
||||
ENV TZ=UTC
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
@ -47,6 +48,7 @@ RUN mkdir /src/build
|
|||
# cmake
|
||||
RUN cd /src/build && \
|
||||
CXXFLAGS=-fno-sized-deallocation cmake \
|
||||
-DBUILD_WITH_QT6=$BUILD_WITH_QT6 \
|
||||
-DCMAKE_INSTALL_PREFIX=appdir/usr/ \
|
||||
-DCMAKE_PREFIX_PATH=/opt/qt/$QT_VERSION/gcc_64/lib/cmake \
|
||||
-DBUILD_WITH_QTKEYCHAIN=OFF \
|
||||
|
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -62,6 +62,7 @@ jobs:
|
|||
C2_ENABLE_LTO: ${{ matrix.force-lto }}
|
||||
C2_PLUGINS: ${{ matrix.plugins }}
|
||||
C2_ENABLE_CRASHPAD: ${{ matrix.skip-crashpad == false }}
|
||||
C2_BUILD_WITH_QT6: ${{ startsWith(matrix.qt-version, '6.') }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
@ -86,6 +87,7 @@ jobs:
|
|||
-DCHATTERINO_LTO="$C2_ENABLE_LTO" \
|
||||
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
||||
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
||||
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \
|
||||
-DCHATTERINO_STATIC_QT_BUILD=On \
|
||||
..
|
||||
make -j"$(nproc)"
|
||||
|
|
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
|
@ -33,6 +33,7 @@ jobs:
|
|||
fail-fast: false
|
||||
env:
|
||||
C2_PLUGINS: ${{ matrix.plugins }}
|
||||
C2_BUILD_WITH_QT6: ${{ startsWith(matrix.qt-version, '6.') }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
@ -56,6 +57,7 @@ jobs:
|
|||
-DBUILD_APP=OFF \
|
||||
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \
|
||||
-DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
|
||||
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \
|
||||
-DCHATTERINO_STATIC_QT_BUILD=On \
|
||||
-DCHATTERINO_GENERATE_COVERAGE=On \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
|
@ -96,9 +98,9 @@ jobs:
|
|||
working-directory: build-test
|
||||
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@v5.0.0
|
||||
uses: codecov/codecov-action@v4.6.0
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
plugins: gcov
|
||||
plugin: gcov
|
||||
fail_ci_if_error: 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.
|
||||
```sh
|
||||
cmake ..
|
||||
cmake -DBUILD_WITH_QT6=ON ..
|
||||
```
|
||||
1. Build the project
|
||||
```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.
|
||||
```sh
|
||||
cmake -DBUILD_WITH_QTKEYCHAIN=OFF ..
|
||||
cmake -DBUILD_WITH_QT6=ON -DBUILD_WITH_QTKEYCHAIN=OFF ..
|
||||
```
|
||||
1. Build the project
|
||||
```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)
|
||||
We use this for dependency management on macOS
|
||||
1. Install all dependencies:
|
||||
`brew install boost openssl@3 rapidjson cmake qt@6`
|
||||
`brew install boost openssl@1.1 rapidjson cmake qt@5`
|
||||
|
||||
## 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:
|
||||
`mkdir build && cd build`
|
||||
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@6 ..`
|
||||
`cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5 -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@1.1 ..`
|
||||
1. Build:
|
||||
`make`
|
||||
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
- Minor: Tabs unhighlight when their content is read in other tabs. (#5649)
|
||||
- Minor: Made usernames in bits and sub messages clickable. (#5686)
|
||||
- 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: 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)
|
||||
|
@ -73,7 +72,6 @@
|
|||
- Bugfix: Fixed incorrect messages getting replaced visually. (#5683)
|
||||
- Bugfix: Fixed rendering of multi-line selection that starts at a trailing space. (#5691)
|
||||
- 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 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)
|
||||
|
@ -130,7 +128,6 @@
|
|||
- Dev: Fixed some compiler warnings. (#5672)
|
||||
- Dev: Unified parsing of historic and live IRC messages. (#5678)
|
||||
- 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
|
||||
|
||||
|
|
|
@ -21,14 +21,17 @@ option(BUILD_WITH_QTKEYCHAIN "Build Chatterino with support for your system key
|
|||
option(USE_SYSTEM_MINIAUDIO "Build Chatterino with your system miniaudio" OFF)
|
||||
option(BUILD_WITH_CRASHPAD "Build chatterino with crashpad" OFF)
|
||||
option(USE_PRECOMPILED_HEADERS "Use precompiled headers" ON)
|
||||
option(BUILD_WITH_QT6 "Build with Qt6" On)
|
||||
if(WIN32)
|
||||
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)
|
||||
# We don't use translations, and we don't want qtkeychain to build translations
|
||||
option(BUILD_TRANSLATIONS "" OFF)
|
||||
option(BUILD_SHARED_LIBS "" OFF)
|
||||
option(CHATTERINO_LTO "Enable LTO for all targets" 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)
|
||||
mark_as_advanced(CHATTERINO_UPDATER)
|
||||
|
|
|
@ -88,15 +88,6 @@ if (WIN32)
|
|||
list(APPEND RES_AUTOGEN_FILES "${CMAKE_BINARY_DIR}/autogen/windows.rc")
|
||||
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
|
||||
"${CMAKE_SOURCE_DIR}/resources/resources_autogenerated.qrc"
|
||||
"${CMAKE_BINARY_DIR}/autogen/ResourcesAutogen.cpp"
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[Platforms]
|
||||
WindowsArguments = ${WINDOWS_ARGUMENTS}
|
|
@ -6,7 +6,4 @@
|
|||
<qresource prefix="/">
|
||||
@RES_RESOURCES_CONTENT@
|
||||
</qresource>
|
||||
<qresource prefix="/qt/etc">
|
||||
<file>qt.conf</file>
|
||||
</qresource>
|
||||
</RCC>
|
1
resources/.gitignore
vendored
1
resources/.gitignore
vendored
|
@ -1,2 +1 @@
|
|||
linuxinstall
|
||||
/qt.conf
|
||||
|
|
2
resources/qt.conf
Normal file
2
resources/qt.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
[Platforms]
|
||||
WindowArguments = dpiawareness=2
|
5
resources/resources.qrc
Normal file
5
resources/resources.qrc
Normal file
|
@ -0,0 +1,5 @@
|
|||
<RCC>
|
||||
<qresource prefix="/qt/etc">
|
||||
<file>qt.conf</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -740,6 +740,8 @@ set(SOURCE_FILES
|
|||
widgets/splits/SplitInput.hpp
|
||||
widgets/splits/SplitOverlay.cpp
|
||||
widgets/splits/SplitOverlay.hpp
|
||||
|
||||
${CMAKE_SOURCE_DIR}/resources/resources.qrc
|
||||
)
|
||||
|
||||
if (APPLE)
|
||||
|
|
|
@ -43,15 +43,11 @@ void TabCompletionModel::updateResults(const QString &query,
|
|||
query, fullTextContent, cursorPosition, isFirstWord);
|
||||
if (done)
|
||||
{
|
||||
auto uniqueResults = std::unique(results.begin(), results.end());
|
||||
results.erase(uniqueResults, results.end());
|
||||
this->setStringList(results);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
this->source_->addToStringList(results, 0, isFirstWord);
|
||||
auto uniqueResults = std::unique(results.begin(), results.end());
|
||||
results.erase(uniqueResults, results.end());
|
||||
this->setStringList(results);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue