diff --git a/appveyor.yml b/appveyor.yml index b418526..576acae 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,7 +2,7 @@ version: 1.0.3.{build} pull_requests: do_not_increment_build_number: true skip_tags: true -image: Visual Studio 2013 +image: Visual Studio 2015 configuration: - Debug - Release @@ -25,7 +25,7 @@ install: mkdir %PLATFORM% && cd %PLATFORM% - cmake ..\sources -G "Visual Studio 12 Win64" -DQT_PATH="C:\Qt\5.6\msvc2013_64" -DBOOST_ROOT="C:\Libraries\boost_1_60_0" + cmake ..\sources -G "Visual Studio 14 2015 Win64" -DQT_PATH="C:\Qt\5.9.1\msvc2015_64" -DBOOST_ROOT="C:\Libraries\boost_1_60_0" build: project: $(APPVEYOR_BUILD_FOLDER)\toonz\$(PLATFORM)\ALL_BUILD.vcxproj parallel: true diff --git a/ci-scripts/linux/travis-build.sh b/ci-scripts/linux/travis-build.sh index 94f2166..b006f0c 100644 --- a/ci-scripts/linux/travis-build.sh +++ b/ci-scripts/linux/travis-build.sh @@ -3,7 +3,7 @@ pushd thirdparty/tiff-4.0.3 CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure --disable-jbig && make popd cd toonz && mkdir build && cd build -source /opt/qt56/bin/qt56-env.sh +source /opt/qt59/bin/qt59-env.sh cmake ../sources \ -DWITH_SYSTEM_SUPERLU:BOOL=OFF # according to https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments diff --git a/ci-scripts/linux/travis-install.sh b/ci-scripts/linux/travis-install.sh index 12831b5..72b5e7f 100644 --- a/ci-scripts/linux/travis-install.sh +++ b/ci-scripts/linux/travis-install.sh @@ -1,7 +1,7 @@ -sudo add-apt-repository --yes ppa:beineri/opt-qt562-trusty +sudo add-apt-repository --yes ppa:beineri/opt-qt591-trusty sudo add-apt-repository --yes ppa:achadwick/mypaint-testing sudo apt-get update -sudo apt-get install -y liblzo2-dev liblz4-dev libfreetype6-dev libpng-dev libegl1-mesa-dev libgles2-mesa-dev libsdl2-dev libglew-dev freeglut3-dev qt56script libsuperlu3-dev qt56svg qt56tools qt56multimedia wget libusb-1.0-0-dev libboost-all-dev liblzma-dev libjson-c-dev libmypaint-dev +sudo apt-get install -y liblzo2-dev liblz4-dev libfreetype6-dev libpng-dev libegl1-mesa-dev libgles2-mesa-dev libsdl2-dev libglew-dev freeglut3-dev qt59script libsuperlu3-dev qt59svg qt59tools qt59multimedia wget libusb-1.0-0-dev libboost-all-dev liblzma-dev libjson-c-dev libmypaint-dev # someone forgot to include liblz4.pc with the package, use the version from xenial, as it only depends on libc wget http://mirrors.kernel.org/ubuntu/pool/main/l/lz4/liblz4-1_0.0~r131-2ubuntu2_amd64.deb -O liblz4.deb diff --git a/ci-scripts/osx/travis-build.sh b/ci-scripts/osx/travis-build.sh index a867141..a9137dd 100644 --- a/ci-scripts/osx/travis-build.sh +++ b/ci-scripts/osx/travis-build.sh @@ -4,7 +4,7 @@ pushd thirdparty/tiff-4.0.3 popd cd toonz && mkdir build && cd build cmake ../sources \ - -DQT_PATH=/usr/local/Cellar/qt5/5.6.1-1/lib/ \ + -DQT_PATH=/usr/local/Cellar/qt/5.9.2/lib/ \ -DTIFF_INCLUDE_DIR=../../thirdparty/tiff-4.0.3/libtiff/ \ -DSUPERLU_INCLUDE_DIR=../../thirdparty/superlu/SuperLU_4.1/include/ make diff --git a/ci-scripts/osx/travis-install.sh b/ci-scripts/osx/travis-install.sh index b64e43c..b8d99f1 100755 --- a/ci-scripts/osx/travis-install.sh +++ b/ci-scripts/osx/travis-install.sh @@ -1,8 +1,5 @@ #!/bin/bash brew update -brew install glew lz4 lzo libusb libmypaint +brew install glew lz4 lzo libusb libmypaint qt brew tap tcr/tcr -brew install clang-format -# obtain qt5.6 from the previous version of the formula -curl -O https://raw.githubusercontent.com/Homebrew/homebrew-core/fdfc724dd532345f5c6cdf47dc43e99654e6a5fd/Formula/qt5.rb -brew install ./qt5.rb +brew install clang-format \ No newline at end of file diff --git a/doc/how_to_build_linux.md b/doc/how_to_build_linux.md index ae35e22..d0ee49d 100644 --- a/doc/how_to_build_linux.md +++ b/doc/how_to_build_linux.md @@ -6,7 +6,7 @@ Building OpenToonz from source requires the following dependencies: - Git - GCC or Clang - CMake (3.4.1 or newer). -- Qt5 (5.6 or newer) +- Qt5 (5.9 or newer) - Boost (1.55 or newer) - SDL2 - LibPNG diff --git a/doc/how_to_build_macosx.md b/doc/how_to_build_macosx.md index 33268e7..b0b7d48 100644 --- a/doc/how_to_build_macosx.md +++ b/doc/how_to_build_macosx.md @@ -9,14 +9,14 @@ - cmake - Version 3.2.2 confirmed to work. - Qt - - http://download.qt.io/official_releases/qt/5.6/5.6.2/ - - qt-opensource-mac-x64-clang-5.6.2.dmg + - http://download.qt.io/official_releases/qt/5.9/5.9.2/ + - qt-opensource-mac-x64-5.9.2.dmg - boost - http://www.boost.org/users/history/version_1_55_0.html (or later, though only 1.55.0 is supported) ## Building on MacOSX -### 0. Install Qt 5.6 (Most recent is 5.6.2) +### 0. Install Qt 5.9 (Most recent is 5.9.2) ### 1. Install Dependent Packages @@ -61,8 +61,8 @@ $ mv ~/Downloads/boost_1_55_0.tar.bz2 . $ tar xjvf boost_1_55_0.tar.bz2 ``` -### 5. Update the path to your Qt 5.6 install in opentoonz/toonz/sources/CMakeLists.txt line 160 or 172 -If using Qt 5.6.2, this is unnecessary. +### 5. Update the path to your Qt 5.9 install in opentoonz/toonz/sources/CMakeLists.txt line 160 or 172 +If using Qt 5.9.2, this is unnecessary. ### 6. Copy the lzo header folder to the lzo driver directory @@ -77,7 +77,7 @@ $ cp -r 2.03/include/lzo driver $ cd ../../toonz $ mkdir build $ cd build - CMAKE_PREFIX_PATH=~/Qt5.6.2/5.6/clang_64 cmake ../sources + CMAKE_PREFIX_PATH=~/Qt5.9.2/5.9.2/clang_64 cmake ../sources $ make ``` diff --git a/doc/how_to_build_macosx_ja.md b/doc/how_to_build_macosx_ja.md index d1f5283..2e9e462 100644 --- a/doc/how_to_build_macosx_ja.md +++ b/doc/how_to_build_macosx_ja.md @@ -8,8 +8,8 @@ - cmake - バージョン 3.2.2 で動作確認済みです。 - Qt - - http://download.qt.io/official_releases/qt/5.6/5.6.0/ - - qt-opensource-mac-x64-clang-5.6.0.dmg + - http://download.qt.io/official_releases/qt/5.9/5.9.2/ + - qt-opensource-mac-x64-5.9.2.dmg - boost - http://www.boost.org/users/history/version_1_55_0.html diff --git a/doc/how_to_build_win.md b/doc/how_to_build_win.md index 36cb0d1..d7cc68c 100644 --- a/doc/how_to_build_win.md +++ b/doc/how_to_build_win.md @@ -1,6 +1,6 @@ # Building on Windows -This software can be built using Visual Studio 2015 and Qt 5.6 +This software can be built using Visual Studio 2015 and Qt 5.9 ## Required Software @@ -31,7 +31,7 @@ They will have to be installed seperately as follows. ### Qt - https://www.qt.io/download-open-source/ - Qt is a cross-platform GUI framework. -- Install Qt 5.6 (64-bit version) by [Qt Online Installer for Windows](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe). +- Install Qt 5.9 (64-bit version) by [Qt Online Installer for Windows](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe). ### boost - Boost 1.55.0 or later is required (tested up to 1.60.0). @@ -124,7 +124,7 @@ OpenToonz utilizes the QuickTime SDK's `mov` and associated file formats. Since ### Qt - https://www.qt.io/download-open-source/ -- Install Qt 5.6 (32-bit version) by the by [Qt Online Installer for Windows](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe). +- Install Qt 5.9 (32-bit version) by the by [Qt Online Installer for Windows](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe). ### QuickTime SDK 1. Sign in using your Apple developer ID and download `QuickTime 7.3 SDK for Windows.zip` from the following url. diff --git a/doc/how_to_build_win_ja.md b/doc/how_to_build_win_ja.md index d92521b..73ac9e7 100644 --- a/doc/how_to_build_win_ja.md +++ b/doc/how_to_build_win_ja.md @@ -1,6 +1,6 @@ # ビルド手順(Windows) -Visual Studio 2015 と Qt 5.6 でビルドできることを確認しています。 +Visual Studio 2015 と Qt 5.9 でビルドできることを確認しています。 ## 必要なソフトウェアの導入 @@ -29,7 +29,7 @@ Visual Studio 2015 と Qt 5.6 でビルドできることを確認していま ### Qt - https://www.qt.io/download-open-source/ - クロスプラットフォームの GUI フレームワークです -- 上記の URL から以下のファイルをダウンロードして Qt 5.6 (64 ビット版) を適当なフォルダにインストールします +- 上記の URL から以下のファイルをダウンロードして Qt 5.9 (64 ビット版) を適当なフォルダにインストールします - [Qt Online Installer for Windows](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe) ### boost @@ -90,7 +90,7 @@ OpenToonz は QuickTime SDK を用いて mov 形式などへ対応していま ### Qt - https://www.qt.io/download-open-source/ -- 64 ビット版と同じインストーラーで Qt 5.6 (32 ビット版) を適当なフォルダにインストールします +- 64 ビット版と同じインストーラーで Qt 5.9 (32 ビット版) を適当なフォルダにインストールします ### QuickTime SDK 1. Apple の開発者登録をして下記のURLから `QuickTime 7.3 SDK for Windows.zip` をダウンロードします diff --git a/stuff/config/qss/Default/imgs/black/cam_lock.svg b/stuff/config/qss/Default/imgs/black/cam_lock.svg index 99e65b4..e021b47 100644 --- a/stuff/config/qss/Default/imgs/black/cam_lock.svg +++ b/stuff/config/qss/Default/imgs/black/cam_lock.svg @@ -1,67 +1,21 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/cam_unlock.svg b/stuff/config/qss/Default/imgs/black/cam_unlock.svg index 0286f49..7aef780 100644 --- a/stuff/config/qss/Default/imgs/black/cam_unlock.svg +++ b/stuff/config/qss/Default/imgs/black/cam_unlock.svg @@ -1,62 +1,21 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/checkmark.svg b/stuff/config/qss/Default/imgs/black/checkmark.svg index 3d70ed3..80863e3 100644 --- a/stuff/config/qss/Default/imgs/black/checkmark.svg +++ b/stuff/config/qss/Default/imgs/black/checkmark.svg @@ -1,34 +1,11 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + diff --git a/stuff/config/qss/Default/imgs/black/checkmark_disabled.svg b/stuff/config/qss/Default/imgs/black/checkmark_disabled.svg index b42c3cf..3f552a9 100644 --- a/stuff/config/qss/Default/imgs/black/checkmark_disabled.svg +++ b/stuff/config/qss/Default/imgs/black/checkmark_disabled.svg @@ -1,34 +1,11 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + diff --git a/stuff/config/qss/Default/imgs/black/combo-down.svg b/stuff/config/qss/Default/imgs/black/combo-down.svg index 1c03565..88e01ec 100644 --- a/stuff/config/qss/Default/imgs/black/combo-down.svg +++ b/stuff/config/qss/Default/imgs/black/combo-down.svg @@ -1,34 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/combo-down_disabled.svg b/stuff/config/qss/Default/imgs/black/combo-down_disabled.svg index e77ea36..a3ad6cd 100644 --- a/stuff/config/qss/Default/imgs/black/combo-down_disabled.svg +++ b/stuff/config/qss/Default/imgs/black/combo-down_disabled.svg @@ -1,34 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/combo-down_pressed.svg b/stuff/config/qss/Default/imgs/black/combo-down_pressed.svg index 1c03565..186b7d6 100644 --- a/stuff/config/qss/Default/imgs/black/combo-down_pressed.svg +++ b/stuff/config/qss/Default/imgs/black/combo-down_pressed.svg @@ -1,34 +1,11 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + diff --git a/stuff/config/qss/Default/imgs/black/flipmarker.svg b/stuff/config/qss/Default/imgs/black/flipmarker.svg index 01a85aa..8228c7e 100644 --- a/stuff/config/qss/Default/imgs/black/flipmarker.svg +++ b/stuff/config/qss/Default/imgs/black/flipmarker.svg @@ -1,31 +1,21 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/flipslider.svg b/stuff/config/qss/Default/imgs/black/flipslider.svg index 5cf1b96..3db8fcc 100644 --- a/stuff/config/qss/Default/imgs/black/flipslider.svg +++ b/stuff/config/qss/Default/imgs/black/flipslider.svg @@ -1,23 +1,11 @@ - -image/svg+xml \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/fsp_checked.svg b/stuff/config/qss/Default/imgs/black/fsp_checked.svg index f99b6b4..95eb318 100644 --- a/stuff/config/qss/Default/imgs/black/fsp_checked.svg +++ b/stuff/config/qss/Default/imgs/black/fsp_checked.svg @@ -1,58 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/fsp_unchecked.svg b/stuff/config/qss/Default/imgs/black/fsp_unchecked.svg index f99b6b4..60c9c54 100644 --- a/stuff/config/qss/Default/imgs/black/fsp_unchecked.svg +++ b/stuff/config/qss/Default/imgs/black/fsp_unchecked.svg @@ -1,58 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/gear.svg b/stuff/config/qss/Default/imgs/black/gear.svg index 43948a5..225d93a 100644 --- a/stuff/config/qss/Default/imgs/black/gear.svg +++ b/stuff/config/qss/Default/imgs/black/gear.svg @@ -1,38 +1,23 @@ - - - - - - - image/svg+xml - - - - - - - - + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/layer_header_lock.svg b/stuff/config/qss/Default/imgs/black/layer_header_lock.svg index 195f939..65725b6 100644 --- a/stuff/config/qss/Default/imgs/black/layer_header_lock.svg +++ b/stuff/config/qss/Default/imgs/black/layer_header_lock.svg @@ -1,47 +1,23 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/layer_header_prev_eye.svg b/stuff/config/qss/Default/imgs/black/layer_header_prev_eye.svg index 64a7f7b..746957c 100644 --- a/stuff/config/qss/Default/imgs/black/layer_header_prev_eye.svg +++ b/stuff/config/qss/Default/imgs/black/layer_header_prev_eye.svg @@ -1,35 +1,18 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/layer_header_table_view.svg b/stuff/config/qss/Default/imgs/black/layer_header_table_view.svg index ce093d7..6dd7a7c 100644 --- a/stuff/config/qss/Default/imgs/black/layer_header_table_view.svg +++ b/stuff/config/qss/Default/imgs/black/layer_header_table_view.svg @@ -1,36 +1,15 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/minus.svg b/stuff/config/qss/Default/imgs/black/minus.svg index f1a9abb..f5349e9 100644 --- a/stuff/config/qss/Default/imgs/black/minus.svg +++ b/stuff/config/qss/Default/imgs/black/minus.svg @@ -1,24 +1,10 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/nextkey.svg b/stuff/config/qss/Default/imgs/black/nextkey.svg index 5d66ee0..e93a889 100644 --- a/stuff/config/qss/Default/imgs/black/nextkey.svg +++ b/stuff/config/qss/Default/imgs/black/nextkey.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/nextkey_disabled.svg b/stuff/config/qss/Default/imgs/black/nextkey_disabled.svg index 3805b0d..3674f1e 100644 --- a/stuff/config/qss/Default/imgs/black/nextkey_disabled.svg +++ b/stuff/config/qss/Default/imgs/black/nextkey_disabled.svg @@ -1,31 +1,22 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/nextkey_over.svg b/stuff/config/qss/Default/imgs/black/nextkey_over.svg index 6355e04..b148fa4 100644 --- a/stuff/config/qss/Default/imgs/black/nextkey_over.svg +++ b/stuff/config/qss/Default/imgs/black/nextkey_over.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/plus.svg b/stuff/config/qss/Default/imgs/black/plus.svg index c06ec52..13d4fe4 100644 --- a/stuff/config/qss/Default/imgs/black/plus.svg +++ b/stuff/config/qss/Default/imgs/black/plus.svg @@ -1 +1,8 @@ - \ No newline at end of file + + + + + diff --git a/stuff/config/qss/Default/imgs/black/prevkey.svg b/stuff/config/qss/Default/imgs/black/prevkey.svg index 77bb69c..a8a6cc1 100644 --- a/stuff/config/qss/Default/imgs/black/prevkey.svg +++ b/stuff/config/qss/Default/imgs/black/prevkey.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/prevkey_disabled.svg b/stuff/config/qss/Default/imgs/black/prevkey_disabled.svg index d36c82f..76c9830 100644 --- a/stuff/config/qss/Default/imgs/black/prevkey_disabled.svg +++ b/stuff/config/qss/Default/imgs/black/prevkey_disabled.svg @@ -1,31 +1,22 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/prevkey_over.svg b/stuff/config/qss/Default/imgs/black/prevkey_over.svg index 1265813..9ef27c9 100644 --- a/stuff/config/qss/Default/imgs/black/prevkey_over.svg +++ b/stuff/config/qss/Default/imgs/black/prevkey_over.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/radiobutton_checked.svg b/stuff/config/qss/Default/imgs/black/radiobutton_checked.svg index 0f74655..68414ff 100644 --- a/stuff/config/qss/Default/imgs/black/radiobutton_checked.svg +++ b/stuff/config/qss/Default/imgs/black/radiobutton_checked.svg @@ -1,31 +1,16 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/radiobutton_unchecked.svg b/stuff/config/qss/Default/imgs/black/radiobutton_unchecked.svg index 9737107..58e90e4 100644 --- a/stuff/config/qss/Default/imgs/black/radiobutton_unchecked.svg +++ b/stuff/config/qss/Default/imgs/black/radiobutton_unchecked.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/scroll-down.svg b/stuff/config/qss/Default/imgs/black/scroll-down.svg index 6d53e09..b072ddf 100644 --- a/stuff/config/qss/Default/imgs/black/scroll-down.svg +++ b/stuff/config/qss/Default/imgs/black/scroll-down.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/scroll-left.svg b/stuff/config/qss/Default/imgs/black/scroll-left.svg index 56cc1f6..bd81b2a 100644 --- a/stuff/config/qss/Default/imgs/black/scroll-left.svg +++ b/stuff/config/qss/Default/imgs/black/scroll-left.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/scroll-right.svg b/stuff/config/qss/Default/imgs/black/scroll-right.svg index b4b15d8..f4284a0 100644 --- a/stuff/config/qss/Default/imgs/black/scroll-right.svg +++ b/stuff/config/qss/Default/imgs/black/scroll-right.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/scroll-up.svg b/stuff/config/qss/Default/imgs/black/scroll-up.svg index 22657bf..bdb5fe4 100644 --- a/stuff/config/qss/Default/imgs/black/scroll-up.svg +++ b/stuff/config/qss/Default/imgs/black/scroll-up.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/segment_disabled.svg b/stuff/config/qss/Default/imgs/black/segment_disabled.svg index c91a3f6..ee00de1 100644 --- a/stuff/config/qss/Default/imgs/black/segment_disabled.svg +++ b/stuff/config/qss/Default/imgs/black/segment_disabled.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/segment_linked.svg b/stuff/config/qss/Default/imgs/black/segment_linked.svg index 64b1925..17e0c48 100644 --- a/stuff/config/qss/Default/imgs/black/segment_linked.svg +++ b/stuff/config/qss/Default/imgs/black/segment_linked.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/segment_unlinked.svg b/stuff/config/qss/Default/imgs/black/segment_unlinked.svg index 0f889f1..4273725 100644 --- a/stuff/config/qss/Default/imgs/black/segment_unlinked.svg +++ b/stuff/config/qss/Default/imgs/black/segment_unlinked.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/selectiontool_position.svg b/stuff/config/qss/Default/imgs/black/selectiontool_position.svg index 2c92d68..4e238eb 100644 --- a/stuff/config/qss/Default/imgs/black/selectiontool_position.svg +++ b/stuff/config/qss/Default/imgs/black/selectiontool_position.svg @@ -1 +1,17 @@ - \ No newline at end of file + + + + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/selectiontool_rotation.svg b/stuff/config/qss/Default/imgs/black/selectiontool_rotation.svg index 799a670..a9ae6f1 100644 --- a/stuff/config/qss/Default/imgs/black/selectiontool_rotation.svg +++ b/stuff/config/qss/Default/imgs/black/selectiontool_rotation.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/selectiontool_scalepeg.svg b/stuff/config/qss/Default/imgs/black/selectiontool_scalepeg.svg index e3267f4..f0c8ee3 100644 --- a/stuff/config/qss/Default/imgs/black/selectiontool_scalepeg.svg +++ b/stuff/config/qss/Default/imgs/black/selectiontool_scalepeg.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/selectiontool_thickness.svg b/stuff/config/qss/Default/imgs/black/selectiontool_thickness.svg index 7ff41a2..d2e8f97 100644 --- a/stuff/config/qss/Default/imgs/black/selectiontool_thickness.svg +++ b/stuff/config/qss/Default/imgs/black/selectiontool_thickness.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/slider-groove.svg b/stuff/config/qss/Default/imgs/black/slider-groove.svg index c3215e7..e6bf1cf 100644 --- a/stuff/config/qss/Default/imgs/black/slider-groove.svg +++ b/stuff/config/qss/Default/imgs/black/slider-groove.svg @@ -1,24 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/slider-groove_disabled.svg b/stuff/config/qss/Default/imgs/black/slider-groove_disabled.svg index fb84ad9..be35df0 100644 --- a/stuff/config/qss/Default/imgs/black/slider-groove_disabled.svg +++ b/stuff/config/qss/Default/imgs/black/slider-groove_disabled.svg @@ -1,24 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/slider-handle.svg b/stuff/config/qss/Default/imgs/black/slider-handle.svg index d4b60ba..338ff46 100644 --- a/stuff/config/qss/Default/imgs/black/slider-handle.svg +++ b/stuff/config/qss/Default/imgs/black/slider-handle.svg @@ -1,45 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/slider-handle_disabled.svg b/stuff/config/qss/Default/imgs/black/slider-handle_disabled.svg index 9fabc51..ef92c64 100644 --- a/stuff/config/qss/Default/imgs/black/slider-handle_disabled.svg +++ b/stuff/config/qss/Default/imgs/black/slider-handle_disabled.svg @@ -1,45 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/subfolder.svg b/stuff/config/qss/Default/imgs/black/subfolder.svg index 4311ff4..05a9672 100644 --- a/stuff/config/qss/Default/imgs/black/subfolder.svg +++ b/stuff/config/qss/Default/imgs/black/subfolder.svg @@ -1,42 +1,19 @@ - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_config.svg b/stuff/config/qss/Default/imgs/black/timeline_config.svg index b85f9f8..cb396fe 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_config.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_config.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_lock_off.svg b/stuff/config/qss/Default/imgs/black/timeline_lock_off.svg index 2974735..e1d4bf4 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_lock_off.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_lock_off.svg @@ -1,26 +1,16 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_lock_on.svg b/stuff/config/qss/Default/imgs/black/timeline_lock_on.svg index 9f00bcf..b960f8b 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_lock_on.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_lock_on.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_prev_eye_off.svg b/stuff/config/qss/Default/imgs/black/timeline_prev_eye_off.svg index 2974735..21108d9 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_prev_eye_off.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_prev_eye_off.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_prev_eye_on.svg b/stuff/config/qss/Default/imgs/black/timeline_prev_eye_on.svg index 30b6024..84be885 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_prev_eye_on.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_prev_eye_on.svg @@ -1,27 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_table_view_off.svg b/stuff/config/qss/Default/imgs/black/timeline_table_view_off.svg index 2974735..1e85c28 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_table_view_off.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_table_view_off.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_table_view_on.svg b/stuff/config/qss/Default/imgs/black/timeline_table_view_on.svg index 30b6024..3622d0b 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_table_view_on.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_table_view_on.svg @@ -1,27 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/timeline_table_view_transp.svg b/stuff/config/qss/Default/imgs/black/timeline_table_view_transp.svg index 43014c6..b5b9ce7 100644 --- a/stuff/config/qss/Default/imgs/black/timeline_table_view_transp.svg +++ b/stuff/config/qss/Default/imgs/black/timeline_table_view_transp.svg @@ -1,24 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree17_branch-closed.svg b/stuff/config/qss/Default/imgs/black/tree17_branch-closed.svg index f4eb321..d049086 100644 --- a/stuff/config/qss/Default/imgs/black/tree17_branch-closed.svg +++ b/stuff/config/qss/Default/imgs/black/tree17_branch-closed.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree17_branch-closed_nosib.svg b/stuff/config/qss/Default/imgs/black/tree17_branch-closed_nosib.svg index c803dfa..9475b3e 100644 --- a/stuff/config/qss/Default/imgs/black/tree17_branch-closed_nosib.svg +++ b/stuff/config/qss/Default/imgs/black/tree17_branch-closed_nosib.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree17_branch-end.svg b/stuff/config/qss/Default/imgs/black/tree17_branch-end.svg index eb543eb..b369316 100644 --- a/stuff/config/qss/Default/imgs/black/tree17_branch-end.svg +++ b/stuff/config/qss/Default/imgs/black/tree17_branch-end.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree17_branch-more.svg b/stuff/config/qss/Default/imgs/black/tree17_branch-more.svg index edf5f5a..ce1d776 100644 --- a/stuff/config/qss/Default/imgs/black/tree17_branch-more.svg +++ b/stuff/config/qss/Default/imgs/black/tree17_branch-more.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree17_branch-open.svg b/stuff/config/qss/Default/imgs/black/tree17_branch-open.svg index f966e50..10cd51b 100644 --- a/stuff/config/qss/Default/imgs/black/tree17_branch-open.svg +++ b/stuff/config/qss/Default/imgs/black/tree17_branch-open.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree17_branch-open_nosib.svg b/stuff/config/qss/Default/imgs/black/tree17_branch-open_nosib.svg index f06e059..7672a88 100644 --- a/stuff/config/qss/Default/imgs/black/tree17_branch-open_nosib.svg +++ b/stuff/config/qss/Default/imgs/black/tree17_branch-open_nosib.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree17_vline.svg b/stuff/config/qss/Default/imgs/black/tree17_vline.svg index e91d175..1e85ced 100644 --- a/stuff/config/qss/Default/imgs/black/tree17_vline.svg +++ b/stuff/config/qss/Default/imgs/black/tree17_vline.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree22_branch-closed.svg b/stuff/config/qss/Default/imgs/black/tree22_branch-closed.svg index 0c304dd..a15fb47 100644 --- a/stuff/config/qss/Default/imgs/black/tree22_branch-closed.svg +++ b/stuff/config/qss/Default/imgs/black/tree22_branch-closed.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree22_branch-closed_nosib.svg b/stuff/config/qss/Default/imgs/black/tree22_branch-closed_nosib.svg index e8a0a07..568418c 100644 --- a/stuff/config/qss/Default/imgs/black/tree22_branch-closed_nosib.svg +++ b/stuff/config/qss/Default/imgs/black/tree22_branch-closed_nosib.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree22_branch-end.svg b/stuff/config/qss/Default/imgs/black/tree22_branch-end.svg index 368b7d4..1de44cc 100644 --- a/stuff/config/qss/Default/imgs/black/tree22_branch-end.svg +++ b/stuff/config/qss/Default/imgs/black/tree22_branch-end.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree22_branch-more.svg b/stuff/config/qss/Default/imgs/black/tree22_branch-more.svg index be2146a..09f7369 100644 --- a/stuff/config/qss/Default/imgs/black/tree22_branch-more.svg +++ b/stuff/config/qss/Default/imgs/black/tree22_branch-more.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree22_branch-open.svg b/stuff/config/qss/Default/imgs/black/tree22_branch-open.svg index 085f7a4..5789e1d 100644 --- a/stuff/config/qss/Default/imgs/black/tree22_branch-open.svg +++ b/stuff/config/qss/Default/imgs/black/tree22_branch-open.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree22_branch-open_nosib.svg b/stuff/config/qss/Default/imgs/black/tree22_branch-open_nosib.svg index 621f3cf..a77871d 100644 --- a/stuff/config/qss/Default/imgs/black/tree22_branch-open_nosib.svg +++ b/stuff/config/qss/Default/imgs/black/tree22_branch-open_nosib.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/tree22_vline.svg b/stuff/config/qss/Default/imgs/black/tree22_vline.svg index 1230e35..0afb911 100644 --- a/stuff/config/qss/Default/imgs/black/tree22_vline.svg +++ b/stuff/config/qss/Default/imgs/black/tree22_vline.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_config.svg b/stuff/config/qss/Default/imgs/black/x_config.svg index 99674b5..fcf02b7 100644 --- a/stuff/config/qss/Default/imgs/black/x_config.svg +++ b/stuff/config/qss/Default/imgs/black/x_config.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_lock_off.svg b/stuff/config/qss/Default/imgs/black/x_lock_off.svg index 80c37c8..07e7232 100644 --- a/stuff/config/qss/Default/imgs/black/x_lock_off.svg +++ b/stuff/config/qss/Default/imgs/black/x_lock_off.svg @@ -1,53 +1,16 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_lock_on.svg b/stuff/config/qss/Default/imgs/black/x_lock_on.svg index 4f9e6ee..d7c2328 100644 --- a/stuff/config/qss/Default/imgs/black/x_lock_on.svg +++ b/stuff/config/qss/Default/imgs/black/x_lock_on.svg @@ -1,41 +1,21 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_prev_eye_off.svg b/stuff/config/qss/Default/imgs/black/x_prev_eye_off.svg index 8fd404d..566e20a 100644 --- a/stuff/config/qss/Default/imgs/black/x_prev_eye_off.svg +++ b/stuff/config/qss/Default/imgs/black/x_prev_eye_off.svg @@ -1,41 +1,12 @@ - -image/svg+xml \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_prev_eye_on.svg b/stuff/config/qss/Default/imgs/black/x_prev_eye_on.svg index ab4e597..9517144 100644 --- a/stuff/config/qss/Default/imgs/black/x_prev_eye_on.svg +++ b/stuff/config/qss/Default/imgs/black/x_prev_eye_on.svg @@ -1,35 +1,18 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_table_view_off.svg b/stuff/config/qss/Default/imgs/black/x_table_view_off.svg index 6f069bb..e157005 100644 --- a/stuff/config/qss/Default/imgs/black/x_table_view_off.svg +++ b/stuff/config/qss/Default/imgs/black/x_table_view_off.svg @@ -1,41 +1,12 @@ - -image/svg+xml \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_table_view_on.svg b/stuff/config/qss/Default/imgs/black/x_table_view_on.svg index 2e9cb56..9965a7c 100644 --- a/stuff/config/qss/Default/imgs/black/x_table_view_on.svg +++ b/stuff/config/qss/Default/imgs/black/x_table_view_on.svg @@ -1,36 +1,15 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/black/x_table_view_transp.svg b/stuff/config/qss/Default/imgs/black/x_table_view_transp.svg index aa8ed0b..0a1d389 100644 --- a/stuff/config/qss/Default/imgs/black/x_table_view_transp.svg +++ b/stuff/config/qss/Default/imgs/black/x_table_view_transp.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/cam_lock.svg b/stuff/config/qss/Default/imgs/white/cam_lock.svg index bf8c0b8..90a8d65 100644 --- a/stuff/config/qss/Default/imgs/white/cam_lock.svg +++ b/stuff/config/qss/Default/imgs/white/cam_lock.svg @@ -1,67 +1,21 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/cam_unlock.svg b/stuff/config/qss/Default/imgs/white/cam_unlock.svg index 0286f49..7aef780 100644 --- a/stuff/config/qss/Default/imgs/white/cam_unlock.svg +++ b/stuff/config/qss/Default/imgs/white/cam_unlock.svg @@ -1,62 +1,21 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/checkmark.svg b/stuff/config/qss/Default/imgs/white/checkmark.svg index 22ec650..2d85364 100644 --- a/stuff/config/qss/Default/imgs/white/checkmark.svg +++ b/stuff/config/qss/Default/imgs/white/checkmark.svg @@ -1,38 +1,14 @@ - - - - - - - image/svg+xml - - - - - - - - + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/checkmark_disabled.svg b/stuff/config/qss/Default/imgs/white/checkmark_disabled.svg index 143f1dd..e965e4e 100644 --- a/stuff/config/qss/Default/imgs/white/checkmark_disabled.svg +++ b/stuff/config/qss/Default/imgs/white/checkmark_disabled.svg @@ -1,38 +1,18 @@ - - - - - - - image/svg+xml - - - - - - - - + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/combo-down.svg b/stuff/config/qss/Default/imgs/white/combo-down.svg index 350d38c..cd533dd 100644 --- a/stuff/config/qss/Default/imgs/white/combo-down.svg +++ b/stuff/config/qss/Default/imgs/white/combo-down.svg @@ -1,34 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/combo-down_disabled.svg b/stuff/config/qss/Default/imgs/white/combo-down_disabled.svg index 7c36ba6..17ff1b5 100644 --- a/stuff/config/qss/Default/imgs/white/combo-down_disabled.svg +++ b/stuff/config/qss/Default/imgs/white/combo-down_disabled.svg @@ -1,34 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/combo-down_pressed.svg b/stuff/config/qss/Default/imgs/white/combo-down_pressed.svg index 350d38c..3c26f5d 100644 --- a/stuff/config/qss/Default/imgs/white/combo-down_pressed.svg +++ b/stuff/config/qss/Default/imgs/white/combo-down_pressed.svg @@ -1,34 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/flipmarker.svg b/stuff/config/qss/Default/imgs/white/flipmarker.svg index 5bf403c..d834cc9 100644 --- a/stuff/config/qss/Default/imgs/white/flipmarker.svg +++ b/stuff/config/qss/Default/imgs/white/flipmarker.svg @@ -1,45 +1,25 @@ - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/flipmarker_dark.svg b/stuff/config/qss/Default/imgs/white/flipmarker_dark.svg index 5038578..b49af0b 100644 --- a/stuff/config/qss/Default/imgs/white/flipmarker_dark.svg +++ b/stuff/config/qss/Default/imgs/white/flipmarker_dark.svg @@ -1,49 +1,21 @@ - - - - - - - image/svg+xml - - - - - - - - - - - + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/flipslider.svg b/stuff/config/qss/Default/imgs/white/flipslider.svg index 9659d96..213454f 100644 --- a/stuff/config/qss/Default/imgs/white/flipslider.svg +++ b/stuff/config/qss/Default/imgs/white/flipslider.svg @@ -1,34 +1,11 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + diff --git a/stuff/config/qss/Default/imgs/white/flipslider_dark.svg b/stuff/config/qss/Default/imgs/white/flipslider_dark.svg index 1cc62d8..84136ac 100644 --- a/stuff/config/qss/Default/imgs/white/flipslider_dark.svg +++ b/stuff/config/qss/Default/imgs/white/flipslider_dark.svg @@ -1,34 +1,11 @@ - - - - - - - image/svg+xml - - - - - - - + + + + + diff --git a/stuff/config/qss/Default/imgs/white/fsp_checked.svg b/stuff/config/qss/Default/imgs/white/fsp_checked.svg index f99b6b4..95eb318 100644 --- a/stuff/config/qss/Default/imgs/white/fsp_checked.svg +++ b/stuff/config/qss/Default/imgs/white/fsp_checked.svg @@ -1,58 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/fsp_unchecked.svg b/stuff/config/qss/Default/imgs/white/fsp_unchecked.svg index f99b6b4..60c9c54 100644 --- a/stuff/config/qss/Default/imgs/white/fsp_unchecked.svg +++ b/stuff/config/qss/Default/imgs/white/fsp_unchecked.svg @@ -1,58 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/gear.svg b/stuff/config/qss/Default/imgs/white/gear.svg index 43948a5..225d93a 100644 --- a/stuff/config/qss/Default/imgs/white/gear.svg +++ b/stuff/config/qss/Default/imgs/white/gear.svg @@ -1,38 +1,23 @@ - - - - - - - image/svg+xml - - - - - - - - + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/layer_header_lock.svg b/stuff/config/qss/Default/imgs/white/layer_header_lock.svg index 195f939..79b0bda 100644 --- a/stuff/config/qss/Default/imgs/white/layer_header_lock.svg +++ b/stuff/config/qss/Default/imgs/white/layer_header_lock.svg @@ -1,47 +1,21 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/layer_header_prev_eye.svg b/stuff/config/qss/Default/imgs/white/layer_header_prev_eye.svg index 64a7f7b..4095f5c 100644 --- a/stuff/config/qss/Default/imgs/white/layer_header_prev_eye.svg +++ b/stuff/config/qss/Default/imgs/white/layer_header_prev_eye.svg @@ -1,35 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/layer_header_table_view.svg b/stuff/config/qss/Default/imgs/white/layer_header_table_view.svg index ce093d7..6dd7a7c 100644 --- a/stuff/config/qss/Default/imgs/white/layer_header_table_view.svg +++ b/stuff/config/qss/Default/imgs/white/layer_header_table_view.svg @@ -1,36 +1,15 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/minus.svg b/stuff/config/qss/Default/imgs/white/minus.svg index 261d350..74c48f1 100644 --- a/stuff/config/qss/Default/imgs/white/minus.svg +++ b/stuff/config/qss/Default/imgs/white/minus.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/nextkey.svg b/stuff/config/qss/Default/imgs/white/nextkey.svg index 5d66ee0..e93a889 100644 --- a/stuff/config/qss/Default/imgs/white/nextkey.svg +++ b/stuff/config/qss/Default/imgs/white/nextkey.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/nextkey_disabled.svg b/stuff/config/qss/Default/imgs/white/nextkey_disabled.svg index 3805b0d..3674f1e 100644 --- a/stuff/config/qss/Default/imgs/white/nextkey_disabled.svg +++ b/stuff/config/qss/Default/imgs/white/nextkey_disabled.svg @@ -1,31 +1,22 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/nextkey_over.svg b/stuff/config/qss/Default/imgs/white/nextkey_over.svg index 6355e04..b148fa4 100644 --- a/stuff/config/qss/Default/imgs/white/nextkey_over.svg +++ b/stuff/config/qss/Default/imgs/white/nextkey_over.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/plus.svg b/stuff/config/qss/Default/imgs/white/plus.svg index b671d62..ee119c7 100644 --- a/stuff/config/qss/Default/imgs/white/plus.svg +++ b/stuff/config/qss/Default/imgs/white/plus.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/prevkey.svg b/stuff/config/qss/Default/imgs/white/prevkey.svg index 77bb69c..a8a6cc1 100644 --- a/stuff/config/qss/Default/imgs/white/prevkey.svg +++ b/stuff/config/qss/Default/imgs/white/prevkey.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/prevkey_disabled.svg b/stuff/config/qss/Default/imgs/white/prevkey_disabled.svg index d36c82f..76c9830 100644 --- a/stuff/config/qss/Default/imgs/white/prevkey_disabled.svg +++ b/stuff/config/qss/Default/imgs/white/prevkey_disabled.svg @@ -1,31 +1,22 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/prevkey_over.svg b/stuff/config/qss/Default/imgs/white/prevkey_over.svg index 1265813..9ef27c9 100644 --- a/stuff/config/qss/Default/imgs/white/prevkey_over.svg +++ b/stuff/config/qss/Default/imgs/white/prevkey_over.svg @@ -1,30 +1,20 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/radiobutton_checked.svg b/stuff/config/qss/Default/imgs/white/radiobutton_checked.svg index 6b7a4c0..c4856dd 100644 --- a/stuff/config/qss/Default/imgs/white/radiobutton_checked.svg +++ b/stuff/config/qss/Default/imgs/white/radiobutton_checked.svg @@ -1,31 +1,16 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/radiobutton_unchecked.svg b/stuff/config/qss/Default/imgs/white/radiobutton_unchecked.svg index f42d404..131a4de 100644 --- a/stuff/config/qss/Default/imgs/white/radiobutton_unchecked.svg +++ b/stuff/config/qss/Default/imgs/white/radiobutton_unchecked.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/scroll-down.svg b/stuff/config/qss/Default/imgs/white/scroll-down.svg index 6aac499..124bcad 100644 --- a/stuff/config/qss/Default/imgs/white/scroll-down.svg +++ b/stuff/config/qss/Default/imgs/white/scroll-down.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/scroll-left.svg b/stuff/config/qss/Default/imgs/white/scroll-left.svg index 924d58e..c936fca 100644 --- a/stuff/config/qss/Default/imgs/white/scroll-left.svg +++ b/stuff/config/qss/Default/imgs/white/scroll-left.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/scroll-right.svg b/stuff/config/qss/Default/imgs/white/scroll-right.svg index edd9ce4..277a3a3 100644 --- a/stuff/config/qss/Default/imgs/white/scroll-right.svg +++ b/stuff/config/qss/Default/imgs/white/scroll-right.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/scroll-up.svg b/stuff/config/qss/Default/imgs/white/scroll-up.svg index 3328228..570b83e 100644 --- a/stuff/config/qss/Default/imgs/white/scroll-up.svg +++ b/stuff/config/qss/Default/imgs/white/scroll-up.svg @@ -1,21 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/segment_disabled.svg b/stuff/config/qss/Default/imgs/white/segment_disabled.svg index d51a6b2..f5920fd 100644 --- a/stuff/config/qss/Default/imgs/white/segment_disabled.svg +++ b/stuff/config/qss/Default/imgs/white/segment_disabled.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/segment_linked.svg b/stuff/config/qss/Default/imgs/white/segment_linked.svg index 64b1925..17e0c48 100644 --- a/stuff/config/qss/Default/imgs/white/segment_linked.svg +++ b/stuff/config/qss/Default/imgs/white/segment_linked.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/segment_unlinked.svg b/stuff/config/qss/Default/imgs/white/segment_unlinked.svg index ce81f0f..b2de521 100644 --- a/stuff/config/qss/Default/imgs/white/segment_unlinked.svg +++ b/stuff/config/qss/Default/imgs/white/segment_unlinked.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/selectiontool_position.svg b/stuff/config/qss/Default/imgs/white/selectiontool_position.svg index 1e5aaf2..8cf1b9b 100644 --- a/stuff/config/qss/Default/imgs/white/selectiontool_position.svg +++ b/stuff/config/qss/Default/imgs/white/selectiontool_position.svg @@ -1 +1,20 @@ - \ No newline at end of file + + + + + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/selectiontool_rotation.svg b/stuff/config/qss/Default/imgs/white/selectiontool_rotation.svg index 6991b3e..de04ba7 100644 --- a/stuff/config/qss/Default/imgs/white/selectiontool_rotation.svg +++ b/stuff/config/qss/Default/imgs/white/selectiontool_rotation.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/selectiontool_scalepeg.svg b/stuff/config/qss/Default/imgs/white/selectiontool_scalepeg.svg index 9f2f067..dc17ca9 100644 --- a/stuff/config/qss/Default/imgs/white/selectiontool_scalepeg.svg +++ b/stuff/config/qss/Default/imgs/white/selectiontool_scalepeg.svg @@ -1 +1,15 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/selectiontool_thickness.svg b/stuff/config/qss/Default/imgs/white/selectiontool_thickness.svg index 3fffaea..59f078e 100644 --- a/stuff/config/qss/Default/imgs/white/selectiontool_thickness.svg +++ b/stuff/config/qss/Default/imgs/white/selectiontool_thickness.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/slider-groove.svg b/stuff/config/qss/Default/imgs/white/slider-groove.svg index 4529d7a..e6bf1cf 100644 --- a/stuff/config/qss/Default/imgs/white/slider-groove.svg +++ b/stuff/config/qss/Default/imgs/white/slider-groove.svg @@ -1,24 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/slider-groove_dark.svg b/stuff/config/qss/Default/imgs/white/slider-groove_dark.svg index a64f057..31bf631 100644 --- a/stuff/config/qss/Default/imgs/white/slider-groove_dark.svg +++ b/stuff/config/qss/Default/imgs/white/slider-groove_dark.svg @@ -1,24 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/slider-groove_disabled.svg b/stuff/config/qss/Default/imgs/white/slider-groove_disabled.svg index fb84ad9..be35df0 100644 --- a/stuff/config/qss/Default/imgs/white/slider-groove_disabled.svg +++ b/stuff/config/qss/Default/imgs/white/slider-groove_disabled.svg @@ -1,24 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/slider-groove_disabled_dark.svg b/stuff/config/qss/Default/imgs/white/slider-groove_disabled_dark.svg index 223499b..817a641 100644 --- a/stuff/config/qss/Default/imgs/white/slider-groove_disabled_dark.svg +++ b/stuff/config/qss/Default/imgs/white/slider-groove_disabled_dark.svg @@ -1,24 +1,13 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/slider-handle.svg b/stuff/config/qss/Default/imgs/white/slider-handle.svg index 278dfff..1f6189c 100644 --- a/stuff/config/qss/Default/imgs/white/slider-handle.svg +++ b/stuff/config/qss/Default/imgs/white/slider-handle.svg @@ -1,54 +1,13 @@ - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/slider-handle_disabled.svg b/stuff/config/qss/Default/imgs/white/slider-handle_disabled.svg index c7525a8..948821b 100644 --- a/stuff/config/qss/Default/imgs/white/slider-handle_disabled.svg +++ b/stuff/config/qss/Default/imgs/white/slider-handle_disabled.svg @@ -1,54 +1,13 @@ - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/subfolder.svg b/stuff/config/qss/Default/imgs/white/subfolder.svg index 4311ff4..05a9672 100644 --- a/stuff/config/qss/Default/imgs/white/subfolder.svg +++ b/stuff/config/qss/Default/imgs/white/subfolder.svg @@ -1,42 +1,19 @@ - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_config.svg b/stuff/config/qss/Default/imgs/white/timeline_config.svg index b85f9f8..cb396fe 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_config.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_config.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_lock_off.svg b/stuff/config/qss/Default/imgs/white/timeline_lock_off.svg index 2974735..9f65255 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_lock_off.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_lock_off.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_lock_on.svg b/stuff/config/qss/Default/imgs/white/timeline_lock_on.svg index 9f00bcf..b960f8b 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_lock_on.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_lock_on.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_prev_eye_off.svg b/stuff/config/qss/Default/imgs/white/timeline_prev_eye_off.svg index 2974735..21108d9 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_prev_eye_off.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_prev_eye_off.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_prev_eye_on.svg b/stuff/config/qss/Default/imgs/white/timeline_prev_eye_on.svg index 30b6024..84be885 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_prev_eye_on.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_prev_eye_on.svg @@ -1,27 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_table_view_off.svg b/stuff/config/qss/Default/imgs/white/timeline_table_view_off.svg index 2974735..1e85c28 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_table_view_off.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_table_view_off.svg @@ -1,26 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_table_view_on.svg b/stuff/config/qss/Default/imgs/white/timeline_table_view_on.svg index 30b6024..3622d0b 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_table_view_on.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_table_view_on.svg @@ -1,27 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/timeline_table_view_transp.svg b/stuff/config/qss/Default/imgs/white/timeline_table_view_transp.svg index 43014c6..b5b9ce7 100644 --- a/stuff/config/qss/Default/imgs/white/timeline_table_view_transp.svg +++ b/stuff/config/qss/Default/imgs/white/timeline_table_view_transp.svg @@ -1,24 +1,14 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree17_branch-closed.svg b/stuff/config/qss/Default/imgs/white/tree17_branch-closed.svg index 3fbd616..209975a 100644 --- a/stuff/config/qss/Default/imgs/white/tree17_branch-closed.svg +++ b/stuff/config/qss/Default/imgs/white/tree17_branch-closed.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree17_branch-closed_nosib.svg b/stuff/config/qss/Default/imgs/white/tree17_branch-closed_nosib.svg index 6121f5b..bdf20c3 100644 --- a/stuff/config/qss/Default/imgs/white/tree17_branch-closed_nosib.svg +++ b/stuff/config/qss/Default/imgs/white/tree17_branch-closed_nosib.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree17_branch-end.svg b/stuff/config/qss/Default/imgs/white/tree17_branch-end.svg index 0dd1759..feeec16 100644 --- a/stuff/config/qss/Default/imgs/white/tree17_branch-end.svg +++ b/stuff/config/qss/Default/imgs/white/tree17_branch-end.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree17_branch-more.svg b/stuff/config/qss/Default/imgs/white/tree17_branch-more.svg index 8ac4483..908f3dd 100644 --- a/stuff/config/qss/Default/imgs/white/tree17_branch-more.svg +++ b/stuff/config/qss/Default/imgs/white/tree17_branch-more.svg @@ -1 +1,16 @@ - \ No newline at end of file + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree17_branch-open.svg b/stuff/config/qss/Default/imgs/white/tree17_branch-open.svg index bbb3730..0c9bd67 100644 --- a/stuff/config/qss/Default/imgs/white/tree17_branch-open.svg +++ b/stuff/config/qss/Default/imgs/white/tree17_branch-open.svg @@ -1 +1,18 @@ - \ No newline at end of file + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree17_branch-open_nosib.svg b/stuff/config/qss/Default/imgs/white/tree17_branch-open_nosib.svg index 62c11b8..fd4a99b 100644 --- a/stuff/config/qss/Default/imgs/white/tree17_branch-open_nosib.svg +++ b/stuff/config/qss/Default/imgs/white/tree17_branch-open_nosib.svg @@ -1 +1,15 @@ - \ No newline at end of file + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree17_vline.svg b/stuff/config/qss/Default/imgs/white/tree17_vline.svg index e64a4cd..6033efa 100644 --- a/stuff/config/qss/Default/imgs/white/tree17_vline.svg +++ b/stuff/config/qss/Default/imgs/white/tree17_vline.svg @@ -1 +1,15 @@ - \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree22_branch-closed.svg b/stuff/config/qss/Default/imgs/white/tree22_branch-closed.svg index 90d89a4..5062a76 100644 --- a/stuff/config/qss/Default/imgs/white/tree22_branch-closed.svg +++ b/stuff/config/qss/Default/imgs/white/tree22_branch-closed.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree22_branch-closed_nosib.svg b/stuff/config/qss/Default/imgs/white/tree22_branch-closed_nosib.svg index fa358ec..00fe072 100644 --- a/stuff/config/qss/Default/imgs/white/tree22_branch-closed_nosib.svg +++ b/stuff/config/qss/Default/imgs/white/tree22_branch-closed_nosib.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree22_branch-end.svg b/stuff/config/qss/Default/imgs/white/tree22_branch-end.svg index bd90338..4b0e636 100644 --- a/stuff/config/qss/Default/imgs/white/tree22_branch-end.svg +++ b/stuff/config/qss/Default/imgs/white/tree22_branch-end.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree22_branch-more.svg b/stuff/config/qss/Default/imgs/white/tree22_branch-more.svg index bde5ef6..5768817 100644 --- a/stuff/config/qss/Default/imgs/white/tree22_branch-more.svg +++ b/stuff/config/qss/Default/imgs/white/tree22_branch-more.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree22_branch-open.svg b/stuff/config/qss/Default/imgs/white/tree22_branch-open.svg index 7539004..11eac4e 100644 --- a/stuff/config/qss/Default/imgs/white/tree22_branch-open.svg +++ b/stuff/config/qss/Default/imgs/white/tree22_branch-open.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree22_branch-open_nosib.svg b/stuff/config/qss/Default/imgs/white/tree22_branch-open_nosib.svg index 1163f1e..65def1d 100644 --- a/stuff/config/qss/Default/imgs/white/tree22_branch-open_nosib.svg +++ b/stuff/config/qss/Default/imgs/white/tree22_branch-open_nosib.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/tree22_vline.svg b/stuff/config/qss/Default/imgs/white/tree22_vline.svg index 99b10e9..1eaaed2 100644 --- a/stuff/config/qss/Default/imgs/white/tree22_vline.svg +++ b/stuff/config/qss/Default/imgs/white/tree22_vline.svg @@ -1 +1,13 @@ - \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_config.svg b/stuff/config/qss/Default/imgs/white/x_config.svg index 99674b5..fcf02b7 100644 --- a/stuff/config/qss/Default/imgs/white/x_config.svg +++ b/stuff/config/qss/Default/imgs/white/x_config.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_lock_off.svg b/stuff/config/qss/Default/imgs/white/x_lock_off.svg index 1644053..951cccd 100644 --- a/stuff/config/qss/Default/imgs/white/x_lock_off.svg +++ b/stuff/config/qss/Default/imgs/white/x_lock_off.svg @@ -1,33 +1,18 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_lock_on.svg b/stuff/config/qss/Default/imgs/white/x_lock_on.svg index 4f9e6ee..d7c2328 100644 --- a/stuff/config/qss/Default/imgs/white/x_lock_on.svg +++ b/stuff/config/qss/Default/imgs/white/x_lock_on.svg @@ -1,41 +1,21 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_prev_eye_off.svg b/stuff/config/qss/Default/imgs/white/x_prev_eye_off.svg index 152a77a..59bfa60 100644 --- a/stuff/config/qss/Default/imgs/white/x_prev_eye_off.svg +++ b/stuff/config/qss/Default/imgs/white/x_prev_eye_off.svg @@ -1,21 +1,12 @@ - -image/svg+xml \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_prev_eye_on.svg b/stuff/config/qss/Default/imgs/white/x_prev_eye_on.svg index ab4e597..9517144 100644 --- a/stuff/config/qss/Default/imgs/white/x_prev_eye_on.svg +++ b/stuff/config/qss/Default/imgs/white/x_prev_eye_on.svg @@ -1,35 +1,18 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_table_view_off.svg b/stuff/config/qss/Default/imgs/white/x_table_view_off.svg index 3d09001..2ccb97d 100644 --- a/stuff/config/qss/Default/imgs/white/x_table_view_off.svg +++ b/stuff/config/qss/Default/imgs/white/x_table_view_off.svg @@ -1,21 +1,12 @@ - -image/svg+xml \ No newline at end of file + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_table_view_on.svg b/stuff/config/qss/Default/imgs/white/x_table_view_on.svg index 2e9cb56..9965a7c 100644 --- a/stuff/config/qss/Default/imgs/white/x_table_view_on.svg +++ b/stuff/config/qss/Default/imgs/white/x_table_view_on.svg @@ -1,36 +1,15 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/stuff/config/qss/Default/imgs/white/x_table_view_transp.svg b/stuff/config/qss/Default/imgs/white/x_table_view_transp.svg index aa8ed0b..0a1d389 100644 --- a/stuff/config/qss/Default/imgs/white/x_table_view_transp.svg +++ b/stuff/config/qss/Default/imgs/white/x_table_view_transp.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/toonz/sources/CMakeLists.txt b/toonz/sources/CMakeLists.txt index e8e3ebd..e4e921c 100644 --- a/toonz/sources/CMakeLists.txt +++ b/toonz/sources/CMakeLists.txt @@ -127,15 +127,15 @@ message(STATUS "Thirdpary Library Search path:" ${THIRDPARTY_LIBS_HINTS}) if(BUILD_ENV_MSVC) if(MSVC_VERSION GREATER 1800) if(CMAKE_SIZEOF_VOID_P EQUAL 4) - set(QT_PATH "C:/Qt/5.6/msvc2015" CACHE PATH "Qt instlattion directory") + set(QT_PATH "C:/Qt/5.9.2/msvc2015" CACHE PATH "Qt instlattion directory") else() - set(QT_PATH "C:/Qt/5.6/msvc2015_64" CACHE PATH "Qt instlattion directory") + set(QT_PATH "C:/Qt/5.9.2/msvc2015_64" CACHE PATH "Qt instlattion directory") endif() else() if(CMAKE_SIZEOF_VOID_P EQUAL 4) - set(QT_PATH "C:/Qt/Qt5.6.0_32/5.6/msvc2013" CACHE PATH "Qt instlattion directory") + set(QT_PATH "C:/Qt/5.9.2/msvc2013" CACHE PATH "Qt instlattion directory") else() - set(QT_PATH "C:/Qt/Qt5.6.0/5.6/msvc2013_64" CACHE PATH "Qt instlattion directory") + set(QT_PATH "C:/Qt/5.9.2/msvc2013_64" CACHE PATH "Qt instlattion directory") endif() endif() if(NOT EXISTS ${QT_PATH}) @@ -157,7 +157,7 @@ elseif(BUILD_ENV_APPLE) endif() message("PLATFORM:" ${PLATFORM}) if(PLATFORM EQUAL 64) - set(QT_PATH "~/Qt5.6.2/5.6/clang_64/lib" CACHE PATH "Qt instlattion directory") + set(QT_PATH "~/Qt5.9.2/5.9.2/clang_64/lib" CACHE PATH "Qt instlattion directory") set(QT_LIB_PATH "${QT_PATH}/") set(CMAKE_PREFIX_PATH "${QT_LIB_PATH}cmake/") @@ -169,7 +169,7 @@ elseif(BUILD_ENV_APPLE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -std=c++11 -stdlib=libc++ -fno-implicit-templates") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64") elseif(PLATFORM EQUAL 32) - set(QT_PATH "~/Qt5.6.2/5.6/clang_32/lib" CACHE PATH "Qt instlattion directory") + set(QT_PATH "~/Qt5.9.2/5.9.2/clang_32/lib" CACHE PATH "Qt instlattion directory") set(QT_LIB_PATH "${QT_PATH}/") set(CMAKE_PREFIX_PATH "${QT_LIB_PATH}cmake/") diff --git a/toonz/sources/include/stdfx/shaderinterface.h b/toonz/sources/include/stdfx/shaderinterface.h index f52214b..19e9f8d 100644 --- a/toonz/sources/include/stdfx/shaderinterface.h +++ b/toonz/sources/include/stdfx/shaderinterface.h @@ -17,7 +17,7 @@ // Qt includes #include #include -#include +#include // STD includes #include @@ -36,7 +36,7 @@ // Forward declarations -class QGLShaderProgram; +class QOpenGLShaderProgram; //========================================================= @@ -173,9 +173,9 @@ public: // Sub-classes PERSIST_DECLARATION(ShaderData) public: - QString m_name; //!< A name associated to the shader action - TFilePath m_path; //!< The shader program's file path - QGLShader::ShaderType m_type; //!< The shader type + QString m_name; //!< A name associated to the shader action + TFilePath m_path; //!< The shader program's file path + QOpenGLShader::ShaderType m_type; //!< The shader type public: bool isValid() const { return !m_path.isEmpty(); } @@ -203,7 +203,7 @@ public: // Public methods Returns a compiled shader program against current OpenGL context, and the last modified date of the associated shader file. */ - std::pair makeProgram( + std::pair makeProgram( const ShaderData &sd, int varyingsCount = 0, const GLchar **varyingNames = 0) const; diff --git a/toonz/sources/include/stdfx/shadingcontext.h b/toonz/sources/include/stdfx/shadingcontext.h index 127f72e..078edf7 100644 --- a/toonz/sources/include/stdfx/shadingcontext.h +++ b/toonz/sources/include/stdfx/shadingcontext.h @@ -13,7 +13,8 @@ // Qt includes #include -#include +#include +#include #undef DVAPI #undef DVVAR @@ -30,8 +31,9 @@ // Forward declarations class QObject; -class QGLShaderProgram; +class QOpenGLShaderProgram; class QDateTime; +class QOffscreenSurface; //========================================================= @@ -40,7 +42,7 @@ public: enum Support { OK, NO_PIXEL_BUFFER, NO_SHADERS }; public: - ShadingContext(); + ShadingContext(QOffscreenSurface *); ~ShadingContext(); //! Returns the status of OpenGL shading support. @@ -56,23 +58,25 @@ Resizes the output buffer to the specified size. Requires that the contex is made current before invocation. In case lx or ly are 0, the context's output buffer is destroyed. */ - void resize(int lx, int ly, const QGLFramebufferObjectFormat &fmt = - QGLFramebufferObjectFormat()); + void resize(int lx, int ly, const QOpenGLFramebufferObjectFormat &fmt = + QOpenGLFramebufferObjectFormat()); - QGLFramebufferObjectFormat format() const; + QOpenGLFramebufferObjectFormat format() const; TDimension size() const; //! Surrenders ownership of the supplied shader program to the shading //! context. - void addShaderProgram(const QString &shaderName, QGLShaderProgram *program); - void addShaderProgram(const QString &shaderName, QGLShaderProgram *program, + void addShaderProgram(const QString &shaderName, + QOpenGLShaderProgram *program); + void addShaderProgram(const QString &shaderName, + QOpenGLShaderProgram *program, const QDateTime &lastModified); bool removeShaderProgram(const QString &shaderName); - QGLShaderProgram *shaderProgram(const QString &shaderName) const; + QOpenGLShaderProgram *shaderProgram(const QString &shaderName) const; QDateTime lastModified(const QString &shaderName) const; - std::pair shaderData( + std::pair shaderData( const QString &shaderName) const; GLuint loadTexture(const TRasterP &src, GLuint texUnit); //!< Loads a texture @@ -99,4 +103,10 @@ private: ShadingContext &operator=(const ShadingContext &); }; +class TQOpenGLWidget : public QOpenGLWidget { +public: + TQOpenGLWidget(); + void initializeGL() override; +}; + #endif // SHADINGCONTEXT_H diff --git a/toonz/sources/include/toonzqt/glwidget_for_highdpi.h b/toonz/sources/include/toonzqt/glwidget_for_highdpi.h index e671798..2bee6b4 100644 --- a/toonz/sources/include/toonzqt/glwidget_for_highdpi.h +++ b/toonz/sources/include/toonzqt/glwidget_for_highdpi.h @@ -3,23 +3,21 @@ #ifndef GLWIDGET_FOR_HIGHDPI_H #define GLWIDGET_FOR_HIGHDPI_H -#include +#include #include #include +#include #include "toonzqt/gutil.h" -// use obsolete QGLWidget instead of QOpenGLWidget for now... -// TODO: replace with the "modern" OpenGL source and transfer to QOpenGLWidget -class GLWidgetForHighDpi : public QGLWidget { +class GLWidgetForHighDpi : public QOpenGLWidget, protected QOpenGLFunctions { public: - GLWidgetForHighDpi(QWidget *parent = Q_NULLPTR, - const QGLWidget *shareWidget = Q_NULLPTR, - Qt::WindowFlags f = Qt::WindowFlags()) - : QGLWidget(parent, shareWidget, f) {} + GLWidgetForHighDpi(QWidget *parent = Q_NULLPTR, + Qt::WindowFlags f = Qt::WindowFlags()) + : QOpenGLWidget(parent, f) {} // modify sizes for high DPI monitors - int width() const { return QGLWidget::width() * getDevPixRatio(); } - int height() const { return QGLWidget::height() * getDevPixRatio(); } + int width() const { return QOpenGLWidget::width() * getDevPixRatio(); } + int height() const { return QOpenGLWidget::height() * getDevPixRatio(); } QRect rect() const { return QRect(0, 0, width(), height()); } }; diff --git a/toonz/sources/include/toonzqt/planeviewer.h b/toonz/sources/include/toonzqt/planeviewer.h index a173cf2..f8c27a2 100644 --- a/toonz/sources/include/toonzqt/planeviewer.h +++ b/toonz/sources/include/toonzqt/planeviewer.h @@ -12,7 +12,7 @@ #include "toonzqt/glwidget_for_highdpi.h" // Qt includes -#include +#include #undef DVAPI #undef DVVAR diff --git a/toonz/sources/stdfx/shaderfx.cpp b/toonz/sources/stdfx/shaderfx.cpp index bb34203..2b20347 100644 --- a/toonz/sources/stdfx/shaderfx.cpp +++ b/toonz/sources/stdfx/shaderfx.cpp @@ -22,8 +22,9 @@ // Qt includes #include -#include +#include #include +#include // Glew include #include @@ -81,11 +82,13 @@ public: }; struct ProgramBinder { - QGLShaderProgram *m_prog; + QOpenGLShaderProgram *m_prog; public: - ProgramBinder(QGLShaderProgram *prog) : m_prog(prog) { m_prog->bind(); } - ~ProgramBinder() { m_prog->release(); } + ProgramBinder(QOpenGLShaderProgram *prog) : m_prog(prog) { m_prog->bind(); } + ~ProgramBinder() { + glUseProgram(0); // m_prog->release(); + } }; struct RectF { @@ -191,14 +194,13 @@ public: void doCompute(TTile &tile, double frame, const TRenderSettings &ri) override; private: - QGLShaderProgram *touchShaderProgram(const ShaderInterface::ShaderData &sd, - ShadingContext &context, - int varyingsCount = 0, - const GLchar **varyings = 0); + QOpenGLShaderProgram *touchShaderProgram( + const ShaderInterface::ShaderData &sd, ShadingContext &context, + int varyingsCount = 0, const GLchar **varyings = 0); - void bindParameters(QGLShaderProgram *shaderProgram, double frame); + void bindParameters(QOpenGLShaderProgram *shaderProgram, double frame); - void bindWorldTransform(QGLShaderProgram *shaderProgram, + void bindWorldTransform(QOpenGLShaderProgram *shaderProgram, const TAffine &worldToDst); void getInputData(const TRectD &rect, double frame, const TRenderSettings &ri, @@ -230,8 +232,9 @@ public: class ShadingContextManager final : public QObject { mutable QMutex m_mutex; - ShadingContext m_shadingContext; + std::unique_ptr m_shadingContext; TAtomicVar m_activeRenderInstances; + std::unique_ptr m_surface; public: ShadingContextManager() { @@ -251,7 +254,10 @@ Suggestions are welcome as this is a tad beyond ridiculous... assert(thread() == mainScopeBoundObject ->thread()); // Parent object must be in the same thread, - setParent(mainScopeBoundObject); // otherwise reparenting fails + // setParent(mainScopeBoundObject); // otherwise reparenting fails + m_surface.reset(new QOffscreenSurface()); + m_surface->create(); + m_shadingContext.reset(new ShadingContext(m_surface.get())); } static ShadingContextManager *instance() { @@ -261,8 +267,8 @@ Suggestions are welcome as this is a tad beyond ridiculous... QMutex *mutex() const { return &m_mutex; } - const ShadingContext &shadingContext() const { return m_shadingContext; } - ShadingContext &shadingContext() { return m_shadingContext; } + const ShadingContext &shadingContext() const { return *m_shadingContext; } + ShadingContext &shadingContext() { return *m_shadingContext; } void onRenderInstanceStart() { ++m_activeRenderInstances; } @@ -271,8 +277,8 @@ Suggestions are welcome as this is a tad beyond ridiculous... QMutexLocker mLocker(&m_mutex); // Release the shading context's output buffer - ::ContextLocker cLocker(m_shadingContext); - m_shadingContext.resize(0, 0); + ::ContextLocker cLocker(*m_shadingContext); + m_shadingContext->resize(0, 0); #ifdef DIAGNOSTICS DIAGNOSTICS_DUMP("ShaderLogs"); @@ -286,7 +292,7 @@ Suggestions are welcome as this is a tad beyond ridiculous... ShadingContextManager *m_this; ShadingContext::Support support() { QMutexLocker mLocker(&m_this->m_mutex); - ::ContextLocker cLocker(m_this->m_shadingContext); + ::ContextLocker cLocker(*m_this->m_shadingContext); return ShadingContext::support(); } @@ -298,13 +304,13 @@ Suggestions are welcome as this is a tad beyond ridiculous... if (!sentMsg) { switch (sup) { case ShadingContext::NO_PIXEL_BUFFER: - DVGui::warning(QGLShaderProgram::tr( + DVGui::warning(QOpenGLShaderProgram::tr( "This system configuration does not support OpenGL Pixel Buffers. " "Shader Fxs will not be able to render.")); break; case ShadingContext::NO_SHADERS: - DVGui::warning(QGLShaderProgram::tr( + DVGui::warning(QOpenGLShaderProgram::tr( "This system configuration does not support OpenGL Shader " "Programs. Shader Fxs will not be able to render.")); break; @@ -315,6 +321,8 @@ Suggestions are welcome as this is a tad beyond ridiculous... return sup; } + + QOffscreenSurface *getSurface() { return m_surface.get(); } }; template class DV_EXPORT_API TFxDeclarationT; @@ -603,13 +611,14 @@ bool ShaderFx::doGetBBox(double frame, TRectD &bbox, QMutexLocker mLocker(manager->mutex()); // ShadingContext& context = manager->shadingContext(); - std::shared_ptr shadingContextPtr(new ShadingContext); + std::shared_ptr shadingContextPtr( + new ShadingContext(manager->getSurface())); ShadingContext &context = *shadingContextPtr.get(); ::ContextLocker cLocker(context); // Build the varyings data - QGLShaderProgram *prog = 0; + QOpenGLShaderProgram *prog = 0; { const GLchar *varyingNames[] = {"outputBBox"}; prog = touchShaderProgram(sd, context, 1, &varyingNames[0]); @@ -672,13 +681,13 @@ bool ShaderFx::canHandle(const TRenderSettings &info, double frame) { //------------------------------------------------------------------- -QGLShaderProgram *ShaderFx::touchShaderProgram( +QOpenGLShaderProgram *ShaderFx::touchShaderProgram( const ShaderInterface::ShaderData &sd, ShadingContext &context, int varyingsCount, const GLchar **varyings) { - typedef std::pair CompiledShader; + typedef std::pair CompiledShader; struct locals { - inline static void logCompilation(QGLShaderProgram *program) { + inline static void logCompilation(QOpenGLShaderProgram *program) { // Log shaders - observe that we'll look into the program's *children*, // not its // shaders. This is necessary as uncompiled shaders are not added to the @@ -687,7 +696,8 @@ QGLShaderProgram *ShaderFx::touchShaderProgram( int c, cCount = children.size(); for (c = 0; c != cCount; ++c) { - if (QGLShader *shader = dynamic_cast(children[c])) { + if (QOpenGLShader *shader = + dynamic_cast(children[c])) { const QString &log = shader->log(); if (!log.isEmpty()) DVGui::info(log); } @@ -716,7 +726,7 @@ QGLShaderProgram *ShaderFx::touchShaderProgram( //------------------------------------------------------------------- -void ShaderFx::bindParameters(QGLShaderProgram *program, double frame) { +void ShaderFx::bindParameters(QOpenGLShaderProgram *program, double frame) { // Bind fx parameters const std::vector &siParams = m_shaderInterface->parameters(); @@ -780,7 +790,7 @@ void ShaderFx::bindParameters(QGLShaderProgram *program, double frame) { //------------------------------------------------------------------- -void ShaderFx::bindWorldTransform(QGLShaderProgram *program, +void ShaderFx::bindWorldTransform(QOpenGLShaderProgram *program, const TAffine &worldToDst) { // Bind transformation affine #if QT_VERSION >= 0x050500 @@ -857,7 +867,7 @@ void ShaderFx::getInputData(const TRectD &rect, double frame, int pCount = getInputPortCount(); // Build the varyings data - QGLShaderProgram *prog = 0; + QOpenGLShaderProgram *prog = 0; { // Unsubscripted varying arrays on transform feedback seems to be // unsupported @@ -957,18 +967,18 @@ void ShaderFx::doCompute(TTile &tile, double frame, } }; - inline static QGLFramebufferObjectFormat makeFormat(int bpp) { - QGLFramebufferObjectFormat fmt; + inline static QOpenGLFramebufferObjectFormat makeFormat(int bpp) { + QOpenGLFramebufferObjectFormat fmt; if (bpp == 64) fmt.setInternalTextureFormat(GL_RGBA16); return fmt; } inline static void touchOutputSize(ShadingContext &context, const TDimension &size, int bpp) { - const QGLFramebufferObjectFormat &fmt = makeFormat(bpp); + const QOpenGLFramebufferObjectFormat &fmt = makeFormat(bpp); - const TDimension ¤tSize = context.size(); - const QGLFramebufferObjectFormat ¤tFmt = context.format(); + const TDimension ¤tSize = context.size(); + const QOpenGLFramebufferObjectFormat ¤tFmt = context.format(); if (currentSize.lx < size.lx || currentSize.ly < size.ly || currentFmt != fmt) @@ -983,8 +993,8 @@ void ShaderFx::doCompute(TTile &tile, double frame, QMutexLocker mLocker( manager->mutex()); // As GPU access can be considered sequential anyway, // lock the full-scale mutex - - std::shared_ptr shadingContextPtr(new ShadingContext); + std::shared_ptr shadingContextPtr( + new ShadingContext(manager->getSurface())); ShadingContext &context = *shadingContextPtr.get(); // ShadingContext& context = manager->shadingContext(); @@ -1054,7 +1064,7 @@ void ShaderFx::doCompute(TTile &tile, double frame, { locals::touchOutputSize(context, tile.getRaster()->getSize(), info.m_bpp); - QGLShaderProgram *program = + QOpenGLShaderProgram *program = touchShaderProgram(m_shaderInterface->mainShader(), context); { ProgramBinder binder(program); @@ -1142,7 +1152,8 @@ void ShaderFx::doDryCompute(TRectD &rect, double frame, QMutexLocker mLocker(manager->mutex()); // ShadingContext& context = manager->shadingContext(); - std::shared_ptr shadingContextPtr(new ShadingContext); + std::shared_ptr shadingContextPtr( + new ShadingContext(manager->getSurface())); ShadingContext &context = *shadingContextPtr.get(); int pCount = getInputPortCount(); diff --git a/toonz/sources/stdfx/shaderinterface.cpp b/toonz/sources/stdfx/shaderinterface.cpp index 789b372..db1bf90 100644 --- a/toonz/sources/stdfx/shaderinterface.cpp +++ b/toonz/sources/stdfx/shaderinterface.cpp @@ -8,8 +8,8 @@ #include "tmsgcore.h" // Qt includes -#include -#include +#include +#include #include #include "stdfx/shaderinterface.h" @@ -30,7 +30,7 @@ namespace { // Filescope declarations -typedef std::pair CompiledShader; +typedef std::pair CompiledShader; struct CaselessCompare { const QString &m_str; @@ -79,9 +79,9 @@ const static std::string l_names[NAMESCOUNT] = { // Filescope functions -inline bool loadShader(QGLShader::ShaderType type, const TFilePath &fp, +inline bool loadShader(QOpenGLShader::ShaderType type, const TFilePath &fp, CompiledShader &cs) { - QGLShader *shader = new QGLShader(type, cs.first); + QOpenGLShader *shader = new QOpenGLShader(type, cs.first); const QString &qfp = QString::fromStdWString(fp.getWideString()); @@ -165,14 +165,14 @@ ShaderInterface::HandledWorldTransformsType ShaderInterface::hwtType() const { //--------------------------------------------------------- -std::pair ShaderInterface::makeProgram( +std::pair ShaderInterface::makeProgram( const ShaderData &sd, int varyingsCount, const GLchar **varyingNames) const { CompiledShader result; if (!isValid()) return result; - result.first = new QGLShaderProgram; + result.first = new QOpenGLShaderProgram; ::loadShader(sd.m_type, sd.m_path, result); @@ -274,7 +274,7 @@ void ShaderInterface::loadData(TIStream &is) { while (is.openChild(tagName)) { if (tagName == l_names[MAIN_PROGRAM]) { is >> m_mainShader; - m_mainShader.m_type = QGLShader::Fragment; + m_mainShader.m_type = QOpenGLShader::Fragment; is.closeChild(); } else if (tagName == l_names[INPUT_PORTS]) { while (is.openChild(tagName)) { @@ -287,7 +287,7 @@ void ShaderInterface::loadData(TIStream &is) { is.closeChild(); } else if (tagName == l_names[PORTS_PROGRAM]) { is >> m_portsShader; - m_portsShader.m_type = QGLShader::Vertex; + m_portsShader.m_type = QOpenGLShader::Vertex; is.closeChild(); } else ::skipTag(is, tagName); @@ -296,7 +296,7 @@ void ShaderInterface::loadData(TIStream &is) { is.closeChild(); } else if (tagName == l_names[BBOX_PROGRAM]) { is >> m_bboxShader; - m_bboxShader.m_type = QGLShader::Vertex; + m_bboxShader.m_type = QOpenGLShader::Vertex; is.closeChild(); } else if (tagName == l_names[HANDLED_WORLD_TRANSFORMS]) { QString hwtName; diff --git a/toonz/sources/stdfx/shadingcontext.cpp b/toonz/sources/stdfx/shadingcontext.cpp index 851c214..0872dc0 100644 --- a/toonz/sources/stdfx/shadingcontext.cpp +++ b/toonz/sources/stdfx/shadingcontext.cpp @@ -11,10 +11,11 @@ #include #include -#include -#include -#include +#include +#include #include +#include +#include // STD includes #include @@ -28,12 +29,12 @@ namespace { -typedef std::unique_ptr QGLPixelBufferP; -typedef std::unique_ptr QGLFramebufferObjectP; -typedef std::unique_ptr QGLShaderProgramP; +typedef std::unique_ptr QOpenGLContextP; +typedef std::unique_ptr QOpenGLFramebufferObjectP; +typedef std::unique_ptr QOpenGLShaderProgramP; struct CompiledShader { - QGLShaderProgramP m_program; + QOpenGLShaderProgramP m_program; QDateTime m_lastModified; public: @@ -43,13 +44,22 @@ public: } // namespace +TQOpenGLWidget::TQOpenGLWidget() {} + +void TQOpenGLWidget::initializeGL() { + QOffscreenSurface *surface = new QOffscreenSurface(); + // context()->create(); + // context()->makeCurrent(surface); +} + //***************************************************************** // ShadingContext::Imp definition //***************************************************************** struct ShadingContext::Imp { - QGLPixelBufferP m_pixelBuffer; //!< OpenGL context. - QGLFramebufferObjectP m_fbo; //!< Output buffer. + QOpenGLContextP m_context; //!< OpenGL context. + QOpenGLFramebufferObjectP m_fbo; //!< Output buffer. + QOffscreenSurface *m_surface; std::map @@ -58,7 +68,7 @@ struct ShadingContext::Imp { public: Imp(); - static QGLFormat format(); + static QSurfaceFormat format(); void initMatrix(int lx, int ly); @@ -70,17 +80,16 @@ private: //-------------------------------------------------------- -ShadingContext::Imp::Imp() - : m_pixelBuffer(new QGLPixelBuffer(1, 1, format())) {} +ShadingContext::Imp::Imp() : m_context(new QOpenGLContext()), m_surface() {} //-------------------------------------------------------- -QGLFormat ShadingContext::Imp::format() { - QGLFormat fmt; +QSurfaceFormat ShadingContext::Imp::format() { + QSurfaceFormat fmt; #ifdef MACOSX fmt.setVersion(3, 2); - fmt.setProfile(QGLFormat::CompatibilityProfile); + fmt.setProfile(QSurfaceFormat::CompatibilityProfile); #endif return fmt; @@ -101,7 +110,16 @@ void ShadingContext::Imp::initMatrix(int lx, int ly) { // ShadingContext implementation //***************************************************************** -ShadingContext::ShadingContext() : m_imp(new Imp) { +ShadingContext::ShadingContext(QOffscreenSurface *surface) : m_imp(new Imp) { + m_imp->m_surface = surface; + m_imp->m_surface->create(); + QSurfaceFormat format; + m_imp->m_context->setFormat(format); + m_imp->m_context->create(); + m_imp->m_context->makeCurrent(m_imp->m_surface); + + // m_imp->m_pixelBuffer->context()->create(); + // m_imp->m_fbo(new QOpenGLFramebufferObject(1, 1)); makeCurrent(); glewExperimental = GL_TRUE; glewInit(); @@ -111,28 +129,26 @@ ShadingContext::ShadingContext() : m_imp(new Imp) { //-------------------------------------------------------- ShadingContext::~ShadingContext() { -#ifdef MACOSX // Destructor of QGLPixelBuffer calls QOpenGLContext::makeCurrent() // internally, // so the current thread must be the owner of QGLPixelBuffer context, // when the destructor of m_imp->m_context is called. - - m_imp->m_pixelBuffer->context()->contextHandle()->moveToThread( - QThread::currentThread()); -#endif + m_imp->m_context->moveToThread(QThread::currentThread()); } //-------------------------------------------------------- ShadingContext::Support ShadingContext::support() { - return !QGLPixelBuffer::hasOpenGLPbuffers() - ? NO_PIXEL_BUFFER - : !QGLShaderProgram::hasOpenGLShaderPrograms() ? NO_SHADERS : OK; + // return !QGLPixelBuffer::hasOpenGLPbuffers() + // ? NO_PIXEL_BUFFER + // : !QOpenGLShaderProgram::hasOpenGLShaderPrograms() ? NO_SHADERS : + // OK; + return !QOpenGLShaderProgram::hasOpenGLShaderPrograms() ? NO_SHADERS : OK; } //-------------------------------------------------------- -bool ShadingContext::isValid() const { return m_imp->m_pixelBuffer->isValid(); } +bool ShadingContext::isValid() const { return m_imp->m_context->isValid(); } //-------------------------------------------------------- /* @@ -166,26 +182,25 @@ USE HARDWARE ACCELERATION //-------------------------------------------------------- void ShadingContext::makeCurrent() { -#ifdef MACOSX - m_imp->m_pixelBuffer->context()->contextHandle()->moveToThread( - QThread::currentThread()); -#endif - m_imp->m_pixelBuffer->makeCurrent(); + m_imp->m_context->moveToThread(QThread::currentThread()); + m_imp->m_context.reset(new QOpenGLContext()); + QSurfaceFormat format; + m_imp->m_context->setFormat(format); + m_imp->m_context->create(); + m_imp->m_context->makeCurrent(m_imp->m_surface); } //-------------------------------------------------------- void ShadingContext::doneCurrent() { -#ifdef MACOSX - m_imp->m_pixelBuffer->context()->contextHandle()->moveToThread(0); -#endif - m_imp->m_pixelBuffer->doneCurrent(); + m_imp->m_context->moveToThread(0); + m_imp->m_context->doneCurrent(); } //-------------------------------------------------------- void ShadingContext::resize(int lx, int ly, - const QGLFramebufferObjectFormat &fmt) { + const QOpenGLFramebufferObjectFormat &fmt) { if (m_imp->m_fbo.get() && m_imp->m_fbo->width() == lx && m_imp->m_fbo->height() == ly && m_imp->m_fbo->format() == fmt) return; @@ -193,7 +208,12 @@ void ShadingContext::resize(int lx, int ly, if (lx == 0 || ly == 0) { m_imp->m_fbo.reset(0); } else { - m_imp->m_fbo.reset(new QGLFramebufferObject(lx, ly, fmt)); + bool get = m_imp->m_fbo.get(); + QOpenGLContext *currContext = m_imp->m_context->currentContext(); + bool yes = false; + if (currContext) bool yes = true; + while (!currContext) currContext = m_imp->m_context->currentContext(); + m_imp->m_fbo.reset(new QOpenGLFramebufferObject(lx, ly, fmt)); assert(m_imp->m_fbo->isValid()); m_imp->m_fbo->bind(); @@ -202,22 +222,22 @@ void ShadingContext::resize(int lx, int ly, //-------------------------------------------------------- -QGLFramebufferObjectFormat ShadingContext::format() const { - QGLFramebufferObject *fbo = m_imp->m_fbo.get(); - return fbo ? m_imp->m_fbo->format() : QGLFramebufferObjectFormat(); +QOpenGLFramebufferObjectFormat ShadingContext::format() const { + QOpenGLFramebufferObject *fbo = m_imp->m_fbo.get(); + return fbo ? m_imp->m_fbo->format() : QOpenGLFramebufferObjectFormat(); } //-------------------------------------------------------- TDimension ShadingContext::size() const { - QGLFramebufferObject *fbo = m_imp->m_fbo.get(); + QOpenGLFramebufferObject *fbo = m_imp->m_fbo.get(); return fbo ? TDimension(fbo->width(), fbo->height()) : TDimension(); } //-------------------------------------------------------- void ShadingContext::addShaderProgram(const QString &shaderName, - QGLShaderProgram *program) { + QOpenGLShaderProgram *program) { std::map::iterator st = m_imp->m_shaderPrograms .insert(std::make_pair(shaderName, CompiledShader())) @@ -229,7 +249,7 @@ void ShadingContext::addShaderProgram(const QString &shaderName, //-------------------------------------------------------- void ShadingContext::addShaderProgram(const QString &shaderName, - QGLShaderProgram *program, + QOpenGLShaderProgram *program, const QDateTime &lastModified) { std::map::iterator st = m_imp->m_shaderPrograms @@ -248,7 +268,7 @@ bool ShadingContext::removeShaderProgram(const QString &shaderName) { //-------------------------------------------------------- -QGLShaderProgram *ShadingContext::shaderProgram( +QOpenGLShaderProgram *ShadingContext::shaderProgram( const QString &shaderName) const { std::map::iterator st = m_imp->m_shaderPrograms.find(shaderName); @@ -268,7 +288,7 @@ QDateTime ShadingContext::lastModified(const QString &shaderName) const { //-------------------------------------------------------- -std::pair ShadingContext::shaderData( +std::pair ShadingContext::shaderData( const QString &shaderName) const { std::map::iterator st = m_imp->m_shaderPrograms.find(shaderName); @@ -276,7 +296,7 @@ std::pair ShadingContext::shaderData( return (st != m_imp->m_shaderPrograms.end()) ? std::make_pair(st->second.m_program.get(), st->second.m_lastModified) - : std::make_pair((QGLShaderProgram *)0, QDateTime()); + : std::make_pair((QOpenGLShaderProgram *)0, QDateTime()); } //-------------------------------------------------------- diff --git a/toonz/sources/toonz/Resources/pane_grid_off.svg b/toonz/sources/toonz/Resources/pane_grid_off.svg index 1ae3897..23ca91c 100644 --- a/toonz/sources/toonz/Resources/pane_grid_off.svg +++ b/toonz/sources/toonz/Resources/pane_grid_off.svg @@ -1,24 +1,15 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/toonz/sources/toonz/Resources/pane_grid_on.svg b/toonz/sources/toonz/Resources/pane_grid_on.svg index 06d8de3..02ba9a4 100644 --- a/toonz/sources/toonz/Resources/pane_grid_on.svg +++ b/toonz/sources/toonz/Resources/pane_grid_on.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/toonz/sources/toonz/Resources/pane_grid_over.svg b/toonz/sources/toonz/Resources/pane_grid_over.svg index 95a7167..9d51471 100644 --- a/toonz/sources/toonz/Resources/pane_grid_over.svg +++ b/toonz/sources/toonz/Resources/pane_grid_over.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/toonz/sources/toonz/Resources/pane_safe_off.svg b/toonz/sources/toonz/Resources/pane_safe_off.svg index 82cfcb5..0860545 100644 --- a/toonz/sources/toonz/Resources/pane_safe_off.svg +++ b/toonz/sources/toonz/Resources/pane_safe_off.svg @@ -1,24 +1,15 @@ - -image/svg+xml \ No newline at end of file + + + + + + + diff --git a/toonz/sources/toonz/Resources/pane_safe_on.svg b/toonz/sources/toonz/Resources/pane_safe_on.svg index 4a45a2f..aab3110 100644 --- a/toonz/sources/toonz/Resources/pane_safe_on.svg +++ b/toonz/sources/toonz/Resources/pane_safe_on.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/toonz/sources/toonz/Resources/pane_safe_over.svg b/toonz/sources/toonz/Resources/pane_safe_over.svg index 22ccd8b..35082a8 100644 --- a/toonz/sources/toonz/Resources/pane_safe_over.svg +++ b/toonz/sources/toonz/Resources/pane_safe_over.svg @@ -1,30 +1,17 @@ - -image/svg+xml \ No newline at end of file + + + + + + + + diff --git a/toonz/sources/toonz/imageviewer.cpp b/toonz/sources/toonz/imageviewer.cpp index 1cc0edc..f4abded 100644 --- a/toonz/sources/toonz/imageviewer.cpp +++ b/toonz/sources/toonz/imageviewer.cpp @@ -412,6 +412,7 @@ void ImageViewer::hideHistogram() { //------------------------------------------------------------------- void ImageViewer::initializeGL() { + initializeOpenGLFunctions(); // glClearColor(1.0,1.0,1.0,1); glClear(GL_COLOR_BUFFER_BIT); @@ -424,6 +425,8 @@ void ImageViewer::initializeGL() { //----------------------------------------------------------------------------- void ImageViewer::resizeGL(int w, int h) { + w *= getDevPixRatio(); + h *= getDevPixRatio(); glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); diff --git a/toonz/sources/toonz/main.cpp b/toonz/sources/toonz/main.cpp index bc28d1b..9c47658 100644 --- a/toonz/sources/toonz/main.cpp +++ b/toonz/sources/toonz/main.cpp @@ -261,6 +261,9 @@ int main(int argc, char *argv[]) { #if QT_VERSION >= 0x050600 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #endif + // Enables resource sharing between the OpenGL contexts used by classes like + // QOpenGLWidget and QQuickWidget. + QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts); QApplication a(argc, argv); diff --git a/toonz/sources/toonz/sceneviewer.cpp b/toonz/sources/toonz/sceneviewer.cpp index b0153ed..84c7b18 100644 --- a/toonz/sources/toonz/sceneviewer.cpp +++ b/toonz/sources/toonz/sceneviewer.cpp @@ -69,7 +69,6 @@ #include "timagecache.h" #include "trasterimage.h" #include "tstroke.h" -#include "tgldisplaylistsmanager.h" #include "ttoonzimage.h" // Qt includes @@ -90,36 +89,6 @@ void drawSpline(const TAffine &viewMatrix, const TRect &clipRect, bool camera3d, //------------------------------------------------------------------------------- namespace { -//------------------------------------------------------------------------------- - -int l_displayListsSpaceId = - -1; //!< Display lists space id associated with SceneViewers -QGLWidget *l_proxy = 0; //!< Proxy associated with the above -std::set - l_contexts; //!< Stores every SceneViewer context (see ~SceneViewer) - -//------------------------------------------------------------------------------- - -QGLWidget *touchProxy() { - struct GLWidgetProxy final : public TGLDisplayListsProxy { - ~GLWidgetProxy() { - delete l_proxy; - l_proxy = 0; - } - - void makeCurrent() override { l_proxy->makeCurrent(); } - void doneCurrent() override { l_proxy->doneCurrent(); } - }; - - // If it does not exist, create the viewer's display lists proxy - if (!l_proxy) { - l_proxy = new QGLWidget; - l_displayListsSpaceId = - TGLDisplayListsManager::instance()->storeProxy(new GLWidgetProxy); - } - - return l_proxy; -} //------------------------------------------------------------------------------- @@ -469,7 +438,7 @@ public: //----------------------------------------------------------------------------- SceneViewer::SceneViewer(ImageUtils::FullScreenWidget *parent) - : GLWidgetForHighDpi(parent, touchProxy()) + : GLWidgetForHighDpi(parent) , m_pressure(0) , m_lastMousePos(0, 0) , m_mouseButton(Qt::NoButton) @@ -532,14 +501,6 @@ SceneViewer::SceneViewer(ImageUtils::FullScreenWidget *parent) m_3DSideL = rasterFromQPixmap(svgToPixmap(":Resources/3Dside_l.svg")); m_3DTop = rasterFromQPixmap(svgToPixmap(":Resources/3Dtop.svg")); - makeCurrent(); - TGlContext context(tglGetCurrentContext()); - doneCurrent(); - - TGLDisplayListsManager::instance()->attachContext(l_displayListsSpaceId, - context); - l_contexts.insert(context); - // iwsw commented out temporarily // if (Preferences::instance()->isDoColorCorrectionByUsing3DLutEnabled() && // Ghibli3DLutUtil::m_isValid) @@ -561,23 +522,6 @@ void SceneViewer::setVisual(const ImagePainter::VisualSettings &settings) { //----------------------------------------------------------------------------- SceneViewer::~SceneViewer() { - // Due to a BUG on some old driver we've tested, it's necessary to remove the - // proxy first, - // before any QGLWidget which shares the context gets killed in turn. The bug - // caused a crash - // when the destruction order of the SceneViewer was inverted with respect to - // the (shared) creation. - if (l_proxy) { - std::set::iterator ct, cEnd(l_contexts.end()); - for (ct = l_contexts.begin(); ct != cEnd; ++ct) - TGLDisplayListsManager::instance()->releaseContext(*ct); - assert(!l_proxy); - } - - makeCurrent(); - if (m_tableDLId != -1) glDeleteLists(m_tableDLId, 1); - doneCurrent(); - // iwsw commented out temporarily /* if (m_ghibli3DLutUtil) @@ -627,7 +571,7 @@ void SceneViewer::onRenderCompleted(int frame) { //------------------------------------------------------------------------------- void SceneViewer::onPreviewUpdate() { - updateGL(); + update(); emit previewStatusChanged(); } @@ -635,7 +579,8 @@ void SceneViewer::onPreviewUpdate() { void SceneViewer::startForegroundDrawing() { makeCurrent(); - setAutoBufferSwap(false); + // setAutoBufferSwap(false); + update(); // needed? glPushMatrix(); tglMultMatrix(getViewMatrix()); @@ -667,7 +612,8 @@ void SceneViewer::endForegroundDrawing() { assert(glGetError() == GL_NO_ERROR); } - setAutoBufferSwap(true); + // setAutoBufferSwap(true); + update(); // needed? m_foregroundDrawing = false; } @@ -915,6 +861,7 @@ double SceneViewer::getHGuide(int index) { return m_hRuler->getGuide(index); } //----------------------------------------------------------------------------- void SceneViewer::initializeGL() { + initializeOpenGLFunctions(); // glClearColor(1.0,1.0,1.0,1); glClear(GL_COLOR_BUFFER_BIT); @@ -927,11 +874,15 @@ void SceneViewer::initializeGL() { //----------------------------------------------------------------------------- void SceneViewer::resizeGL(int w, int h) { + w *= getDevPixRatio(); + h *= getDevPixRatio(); glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); - glOrtho(0, w, 0, h, -4000, 4000); + m_projectionMatrix.setToIdentity(); + m_projectionMatrix.ortho(0, w, 0, h, -4000, 4000); + glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.375, 0.375, 0.0); @@ -1441,22 +1392,6 @@ static void drawFpsGraph(int t0, int t1) { //----------------------------------------------------------------------------- -class Qt_GLContextManager final : public TGLContextManager { - QGLContext *m_context; - -public: - Qt_GLContextManager() : m_context(0) {} - void store() override { - // m_context = const_cast(QGLContext::currentContext()); - } - void store(QGLContext *context) { m_context = context; } - void restore() override { - if (m_context) m_context->makeCurrent(); - } -}; - -//----------------------------------------------------------------------------- - //#define FPS_HISTOGRAM void SceneViewer::paintGL() { @@ -1465,10 +1400,7 @@ void SceneViewer::paintGL() { * GL_FRAMEBUFFER_UNDEFINED の状態で paintGL() が呼ばれてしまうようだ */ return; } -#ifdef WIN32 - // following line is necessary to solve a problem Windows 7 - SetWindowRgn((HWND)winId(), 0, FALSE); -#else +#ifdef MACOSX // followin lines are necessary to solve a problem on iMac20 // It seems that for some errors in the openGl implementation, buffers are not // set corretly. @@ -1557,7 +1489,7 @@ void SceneViewer::paintGL() { // Il freezed e' attivo ed e' in stato "update": faccio il grab del viewer. if (m_freezedStatus == UPDATE_FREEZED) { - m_viewGrabImage = rasterFromQImage(grabFrameBuffer(false)); + m_viewGrabImage = rasterFromQImage(grabFramebuffer()); m_freezedStatus = NORMAL_FREEZED; } @@ -1717,7 +1649,8 @@ double SceneViewer::projectToZ(const TPoint &delta) { GLint viewport[4]; double modelview[16], projection[16]; glGetIntegerv(GL_VIEWPORT, viewport); - glGetDoublev(GL_PROJECTION_MATRIX, projection); + for (int i = 0; i < 16; i++) + projection[i] = (double)m_projectionMatrix.constData()[i]; glGetDoublev(GL_MODELVIEW_MATRIX, modelview); double ax, ay, az, bx, by, bz; @@ -1821,7 +1754,7 @@ void SceneViewer::navigatorPan(const QPoint &delta) { void SceneViewer::GLInvalidateAll() { m_clipRect.empty(); - updateGL(); + update(); if (m_vRuler) m_vRuler->update(); if (m_hRuler) m_hRuler->update(); } @@ -1830,7 +1763,7 @@ void SceneViewer::GLInvalidateAll() { void SceneViewer::GLInvalidateRect(const TRectD &rect) { m_clipRect = rect; - updateGL(); + update(); m_clipRect.empty(); if (m_vRuler) m_vRuler->update(); if (m_hRuler) m_hRuler->update(); diff --git a/toonz/sources/toonz/sceneviewer.h b/toonz/sources/toonz/sceneviewer.h index 65da547..d199263 100644 --- a/toonz/sources/toonz/sceneviewer.h +++ b/toonz/sources/toonz/sceneviewer.h @@ -24,6 +24,8 @@ #include "pane.h" #include "previewer.h" +#include + //===================================================================== // Forward declarations @@ -141,6 +143,8 @@ class SceneViewer final : public GLWidgetForHighDpi, bool m_isBusyOnTabletMove; + QMatrix4x4 m_projectionMatrix; + // iwsw commented out temporarily // Ghibli3DLutUtil * m_ghibli3DLutUtil; public: diff --git a/toonz/sources/toonz/sceneviewerevents.cpp b/toonz/sources/toonz/sceneviewerevents.cpp index cfa9f79..c32f846 100644 --- a/toonz/sources/toonz/sceneviewerevents.cpp +++ b/toonz/sources/toonz/sceneviewerevents.cpp @@ -342,7 +342,7 @@ void SceneViewer::enterEvent(QEvent *) { } setFocus(); - updateGL(); + update(); } //----------------------------------------------------------------------------- @@ -863,7 +863,7 @@ bool SceneViewer::event(QEvent *e) { } */ - return QGLWidget::event(e); + return QOpenGLWidget::event(e); } //----------------------------------------------------------------------------- diff --git a/toonz/sources/toonz/viewerpane.cpp b/toonz/sources/toonz/viewerpane.cpp index 319094a..da1bfa9 100644 --- a/toonz/sources/toonz/viewerpane.cpp +++ b/toonz/sources/toonz/viewerpane.cpp @@ -320,7 +320,7 @@ void SceneViewerPanel::hideEvent(QHideEvent *event) { void SceneViewerPanel::resizeEvent(QResizeEvent *e) { QWidget::resizeEvent(e); repaint(); - m_sceneViewer->updateGL(); + m_sceneViewer->update(); } //----------------------------------------------------------------------------- @@ -336,9 +336,9 @@ void SceneViewerPanel::initializeTitleBar(TPanelTitleBar *titleBar) { // buttons for show / hide toggle for the field guide and the safe area TPanelTitleBarButtonForSafeArea *safeAreaButton = - new TPanelTitleBarButtonForSafeArea(titleBar, ":Resources/pane_safe_off.svg", - ":Resources/pane_safe_over.svg", - ":Resources/pane_safe_on.svg"); + new TPanelTitleBarButtonForSafeArea( + titleBar, ":Resources/pane_safe_off.svg", + ":Resources/pane_safe_over.svg", ":Resources/pane_safe_on.svg"); safeAreaButton->setToolTip(tr("Safe Area (Right Click to Select)")); titleBar->add(QPoint(x, 0), safeAreaButton); ret = ret && connect(safeAreaButton, SIGNAL(toggled(bool)), @@ -407,8 +407,8 @@ void SceneViewerPanel::initializeTitleBar(TPanelTitleBar *titleBar) { // preview toggles m_previewButton = new TPanelTitleBarButton( - titleBar, ":Resources/pane_preview_off.svg", ":Resources/pane_preview_over.svg", - ":Resources/pane_preview_on.svg"); + titleBar, ":Resources/pane_preview_off.svg", + ":Resources/pane_preview_over.svg", ":Resources/pane_preview_on.svg"); x += 10 + iconWidth; titleBar->add(QPoint(x, 0), m_previewButton); m_previewButton->setToolTip(tr("Preview")); @@ -717,7 +717,7 @@ bool SceneViewerPanel::hasSoundtrack() { TXsheetHandle *xsheetHandle = TApp::instance()->getCurrentXsheet(); TXsheet::SoundProperties *prop = new TXsheet::SoundProperties(); if (!m_sceneViewer->isPreviewEnabled()) prop->m_isPreview = true; - m_sound = xsheetHandle->getXsheet()->makeSound(prop); + m_sound = xsheetHandle->getXsheet()->makeSound(prop); if (m_sound == NULL) { m_hasSoundtrack = false; return false; diff --git a/toonz/sources/toonzqt/gutil.cpp b/toonz/sources/toonzqt/gutil.cpp index 6192875..8c5e4c9 100644 --- a/toonz/sources/toonzqt/gutil.cpp +++ b/toonz/sources/toonzqt/gutil.cpp @@ -77,8 +77,7 @@ QPixmap rasterToQPixmap(const TRaster32P &ras, bool premultiplied, bool setDevPixRatio) { QPixmap pixmap = QPixmap::fromImage(rasterToQImage(ras, premultiplied)); if (setDevPixRatio) { - static int devPixRatio = QApplication::desktop()->devicePixelRatio(); - pixmap.setDevicePixelRatio(devPixRatio); + pixmap.setDevicePixelRatio(getDevPixRatio()); } return pixmap; } @@ -158,7 +157,7 @@ QPixmap scalePixmapKeepingAspectRatio(QPixmap pixmap, QSize size, QPixmap svgToPixmap(const QString &svgFilePath, const QSize &size, Qt::AspectRatioMode aspectRatioMode, QColor bgColor) { - static int devPixRatio = QApplication::desktop()->devicePixelRatio(); + static int devPixRatio = getDevPixRatio(); QSvgRenderer svgRenderer(svgFilePath); QSize pixmapSize; QRectF renderRect; diff --git a/toonz/sources/toonzqt/imageutils.cpp b/toonz/sources/toonzqt/imageutils.cpp index fe66dbb..2d31362 100644 --- a/toonz/sources/toonzqt/imageutils.cpp +++ b/toonz/sources/toonzqt/imageutils.cpp @@ -41,6 +41,9 @@ // TnzQt includes #include +#ifdef _WIN32 +#include +#endif // boost includes #include @@ -808,6 +811,12 @@ FullScreenWidget::FullScreenWidget(QWidget *parent) : QWidget(parent) { layout->setSpacing(0); setLayout(layout); + +#ifdef _WIN32 + // http://doc.qt.io/qt-5/windows-issues.html#fullscreen-opengl-based-windows + winId(); + QWindowsWindowFunctions::setHasBorderInFullScreen(windowHandle(), true); +#endif } //--------------------------------------------------------------------------------- @@ -826,13 +835,9 @@ bool FullScreenWidget::toggleFullScreen(bool quit) { hide(); setWindowFlags(windowFlags() & ~(Qt::Window | Qt::WindowStaysOnTopHint)); showNormal(); - - setContentsMargins(0, 0, 0, 0); // ... m_widget->setFocus(); return true; } else if (!quit) { - setContentsMargins(0, 0, 1, 1); // QTBUG #7556 - setWindowFlags(windowFlags() | Qt::Window | Qt::WindowStaysOnTopHint); showFullScreen(); diff --git a/toonz/sources/toonzqt/planeviewer.cpp b/toonz/sources/toonzqt/planeviewer.cpp index a348e9a..2ec1559 100644 --- a/toonz/sources/toonzqt/planeviewer.cpp +++ b/toonz/sources/toonzqt/planeviewer.cpp @@ -130,9 +130,11 @@ void PlaneViewer::drawBackground() { //========================================================================================= -void PlaneViewer::initializeGL() {} +void PlaneViewer::initializeGL() { initializeOpenGLFunctions(); } void PlaneViewer::resizeGL(int width, int height) { + width *= getDevPixRatio(); + height *= getDevPixRatio(); glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); @@ -189,7 +191,7 @@ void PlaneViewer::wheelEvent(QWheelEvent *event) { void PlaneViewer::keyPressEvent(QKeyEvent *event) { if (PlaneViewerZoomer(this).exec(event)) return; - QGLWidget::keyPressEvent(event); + QOpenGLWidget::keyPressEvent(event); } //------------------------------------------------------ diff --git a/toonz/sources/toonzqt/styleeditor.cpp b/toonz/sources/toonzqt/styleeditor.cpp index 588abb5..86aadf6 100644 --- a/toonz/sources/toonzqt/styleeditor.cpp +++ b/toonz/sources/toonzqt/styleeditor.cpp @@ -585,6 +585,7 @@ HexagonalColorWheel::~HexagonalColorWheel() { //----------------------------------------------------------------------------- void HexagonalColorWheel::initializeGL() { + initializeOpenGLFunctions(); QColor const color = getBGColor(); glClearColor(color.redF(), color.greenF(), color.blueF(), color.alphaF()); @@ -599,6 +600,8 @@ void HexagonalColorWheel::initializeGL() { //----------------------------------------------------------------------------- void HexagonalColorWheel::resizeGL(int w, int h) { + w *= getDevPixRatio(); + h *= getDevPixRatio(); float d = (w - 5.0f) / 2.5f; bool isHorizontallyLong = ((d * 1.732f) < h) ? false : true;