Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into chatterino7
Browse files Browse the repository at this point in the history
  • Loading branch information
Nerixyz committed Nov 17, 2024
2 parents f3031d7 + 2215455 commit 0542cba
Show file tree
Hide file tree
Showing 23 changed files with 43 additions and 34 deletions.
1 change: 0 additions & 1 deletion .CI/full-ubuntu-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ 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" \
.
Expand Down
1 change: 0 additions & 1 deletion .CI/setup-clang-tidy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ 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

Expand Down
1 change: 0 additions & 1 deletion .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ 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)
2 changes: 0 additions & 2 deletions .docker/Dockerfile-ubuntu-22.04-qt6-build
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ ARG UBUNTU_VERSION=22.04
FROM ubuntu:$UBUNTU_VERSION

ARG QT_VERSION=6.2.4
ARG BUILD_WITH_QT6=ON

ENV TZ=UTC
ENV OPENSSL_VER=1.1.1w
Expand Down Expand Up @@ -62,7 +61,6 @@ RUN mkdir /src/build
# cmake
RUN cd /src/build && \
OPENSSL_ROOT_DIR=/usr/local/ssl 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 \
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ 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
Expand All @@ -78,7 +77,6 @@ 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)"
Expand Down Expand Up @@ -147,15 +145,15 @@ jobs:

- name: Install Qt5
if: startsWith(matrix.qt-version, '5.')
uses: jurplel/install-qt-action@v4.0.0
uses: jurplel/install-qt-action@v4.1.1
with:
cache: true
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
version: ${{ matrix.qt-version }}

- name: Install Qt6
if: startsWith(matrix.qt-version, '6.')
uses: jurplel/install-qt-action@v4.0.0
uses: jurplel/install-qt-action@v4.1.1
with:
cache: true
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clang-tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

- name: Install Qt6
if: startsWith(matrix.qt-version, '6.')
uses: jurplel/install-qt-action@v4.0.0
uses: jurplel/install-qt-action@v4.1.1
with:
cache: true
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
fetch-depth: 0 # allows for tags access

- name: Install Qt
uses: jurplel/install-qt-action@v4.0.0
uses: jurplel/install-qt-action@v4.1.1
with:
cache: true
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
fetch-depth: 0 # allows for tags access

- name: Install Qt
uses: jurplel/install-qt-action@v4.0.0
uses: jurplel/install-qt-action@v4.1.1
with:
cache: true
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ jobs:
fail-fast: false
env:
C2_PLUGINS: ${{ matrix.plugins }}
C2_BUILD_WITH_QT6: ${{ startsWith(matrix.qt-version, '6.') }}

steps:
- uses: actions/checkout@v4
Expand All @@ -57,7 +56,6 @@ 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 \
Expand Down Expand Up @@ -98,10 +96,10 @@ jobs:
working-directory: build-test

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4.6.0
uses: codecov/codecov-action@v5.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
plugin: gcov
plugins: gcov
fail_ci_if_error: true
verbose: true
if: false
2 changes: 1 addition & 1 deletion BUILDING_ON_FREEBSD.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 -DBUILD_WITH_QT6=ON ..
cmake ..
```
1. Build the project
```sh
Expand Down
2 changes: 1 addition & 1 deletion BUILDING_ON_LINUX.md
Original file line number Diff line number Diff line change
Expand Up @@ -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_QT6=ON -DBUILD_WITH_QTKEYCHAIN=OFF ..
cmake -DBUILD_WITH_QTKEYCHAIN=OFF ..
```
1. Build the project
```sh
Expand Down
4 changes: 2 additions & 2 deletions BUILDING_ON_MAC.md
Original file line number Diff line number Diff line change
Expand Up @@ -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@1.1 rapidjson cmake qt@5 libavif`
`brew install boost openssl@3 rapidjson cmake qt@6 libavif`

## Building

Expand All @@ -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@5 -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/[email protected] ..`
`cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@6 ..`
1. Build:
`make`

Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
- 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)
Expand Down Expand Up @@ -71,6 +72,8 @@
- Bugfix: Fixed 7TV emotes messing with Qt's HTML. (#5677)
- 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)
Expand Down Expand Up @@ -127,6 +130,7 @@
- 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

Expand Down
7 changes: 2 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,15 @@ 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)
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(BUILD_WITH_QT6 "Build with Qt6" On)
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_NO_AVIF_PLUGIN "Disable AVIF plugin" 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)
Expand Down
9 changes: 9 additions & 0 deletions cmake/resources/generate_resources.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,15 @@ 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"
Expand Down
2 changes: 2 additions & 0 deletions cmake/resources/qt.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Platforms]
WindowsArguments = ${WINDOWS_ARGUMENTS}
3 changes: 3 additions & 0 deletions cmake/resources/resources_autogenerated.qrc.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@
<qresource prefix="/">
@RES_RESOURCES_CONTENT@
</qresource>
<qresource prefix="/qt/etc">
<file>qt.conf</file>
</qresource>
</RCC>
1 change: 1 addition & 0 deletions resources/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
linuxinstall
/qt.conf
2 changes: 0 additions & 2 deletions resources/qt.conf

This file was deleted.

5 changes: 0 additions & 5 deletions resources/resources.qrc

This file was deleted.

2 changes: 0 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -759,8 +759,6 @@ set(SOURCE_FILES
widgets/splits/SplitInput.hpp
widgets/splits/SplitOverlay.cpp
widgets/splits/SplitOverlay.hpp

${CMAKE_SOURCE_DIR}/resources/resources.qrc
)

if (APPLE)
Expand Down
4 changes: 4 additions & 0 deletions src/controllers/completion/TabCompletionModel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,15 @@ 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);
}
}
Expand Down
7 changes: 7 additions & 0 deletions src/widgets/helper/ChannelView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,8 @@ bool ChannelView::paused() const

void ChannelView::pause(PauseReason reason, std::optional<uint> msecs)
{
bool wasUnpaused = !this->paused();

if (msecs)
{
/// Msecs has a value
Expand Down Expand Up @@ -504,6 +506,11 @@ void ChannelView::pause(PauseReason reason, std::optional<uint> msecs)
}

this->updatePauses();

if (wasUnpaused)
{
this->update();
}
}

void ChannelView::unpause(PauseReason reason)
Expand Down

0 comments on commit 0542cba

Please sign in to comment.