summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe <rubberduckie3554@gmail.com>2019-02-08 14:06:37 -0500
committerJoe <rubberduckie3554@gmail.com>2019-02-08 14:06:37 -0500
commitebe5b19e76648019cc1128c05b428a863479f5d3 (patch)
tree0351f0c6050f9190ee619e9d287f3fb229d907f0
parentaf57e95759e3ea602e28688e0fc459d0fba26b3b (diff)
parent83d2d6d7dda79a6243ba47c484e1625d418cc67d (diff)
Merge branch 'master' of https://github.com/redsky17/nheko
-rwxr-xr-x.ci/install.sh6
-rwxr-xr-x.ci/linux/deploy.sh10
-rwxr-xr-x.ci/macos/deploy.sh14
-rwxr-xr-x.ci/script.sh12
-rw-r--r--.travis.yml198
-rw-r--r--CHANGELOG.md2
-rw-r--r--CMakeLists.txt15
-rw-r--r--README.md6
-rw-r--r--deps/CMakeLists.txt7
-rw-r--r--includes/jdenticoninterface.h17
-rw-r--r--resources/fonts/EmojiOne/emojione-android.ttfbin0 -> 3524972 bytes
-rw-r--r--resources/fonts/OpenSans/LICENSE.txt202
-rw-r--r--resources/fonts/OpenSans/OpenSans-Bold.ttfbin0 -> 224592 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-BoldItalic.ttfbin0 -> 213292 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-ExtraBold.ttfbin0 -> 222584 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-ExtraBoldItalic.ttfbin0 -> 213420 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-Italic.ttfbin0 -> 212896 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-Light.ttfbin0 -> 222412 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-LightItalic.ttfbin0 -> 213128 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-Regular.ttfbin0 -> 217360 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-Semibold.ttfbin0 -> 221328 bytes
-rw-r--r--resources/fonts/OpenSans/OpenSans-SemiboldItalic.ttfbin0 -> 212820 bytes
-rw-r--r--resources/icons/emoji-categories/activity.pngbin0 -> 603 bytes
-rw-r--r--resources/icons/emoji-categories/activity@2x.pngbin0 -> 1252 bytes
-rw-r--r--resources/icons/emoji-categories/flags.pngbin0 -> 416 bytes
-rw-r--r--resources/icons/emoji-categories/flags@2x.pngbin0 -> 824 bytes
-rw-r--r--resources/icons/emoji-categories/foods.pngbin0 -> 537 bytes
-rw-r--r--resources/icons/emoji-categories/foods@2x.pngbin0 -> 1159 bytes
-rw-r--r--resources/icons/emoji-categories/nature.pngbin0 -> 667 bytes
-rw-r--r--resources/icons/emoji-categories/nature@2x.pngbin0 -> 1409 bytes
-rw-r--r--resources/icons/emoji-categories/objects.pngbin0 -> 606 bytes
-rw-r--r--resources/icons/emoji-categories/objects@2x.pngbin0 -> 1218 bytes
-rw-r--r--resources/icons/emoji-categories/people.pngbin0 -> 581 bytes
-rw-r--r--resources/icons/emoji-categories/people@2x.pngbin0 -> 1222 bytes
-rw-r--r--resources/icons/emoji-categories/symbols.pngbin0 -> 504 bytes
-rw-r--r--resources/icons/emoji-categories/symbols@2x.pngbin0 -> 1001 bytes
-rw-r--r--resources/icons/emoji-categories/travel.pngbin0 -> 439 bytes
-rw-r--r--resources/icons/emoji-categories/travel@2x.pngbin0 -> 840 bytes
-rw-r--r--resources/res.qrc23
-rw-r--r--resources/styles/nheko-dark.qss17
-rw-r--r--resources/styles/nheko.qss17
-rw-r--r--resources/styles/system.qss5
-rw-r--r--src/Cache.cpp29
-rw-r--r--src/Cache.h6
-rw-r--r--src/ChatPage.cpp13
-rw-r--r--src/ChatPage.h5
-rw-r--r--src/MainWindow.cpp35
-rw-r--r--src/MainWindow.h6
-rw-r--r--src/RoomInfoListItem.cpp12
-rw-r--r--src/RoomInfoListItem.h11
-rw-r--r--src/RoomList.cpp4
-rw-r--r--src/RoomList.h2
-rw-r--r--src/TextInputWidget.cpp35
-rw-r--r--src/TextInputWidget.h5
-rw-r--r--src/UserSettingsPage.cpp42
-rw-r--r--src/UserSettingsPage.h6
-rw-r--r--src/Utils.cpp122
-rw-r--r--src/Utils.h19
-rw-r--r--src/dialogs/ImageOverlay.cpp10
-rw-r--r--src/dialogs/ImageOverlay.h2
-rw-r--r--src/emoji/Category.cpp90
-rw-r--r--src/emoji/Category.h59
-rw-r--r--src/emoji/ItemDelegate.cpp48
-rw-r--r--src/emoji/ItemDelegate.h43
-rw-r--r--src/emoji/Panel.cpp236
-rw-r--r--src/emoji/Panel.h66
-rw-r--r--src/emoji/PickButton.cpp82
-rw-r--r--src/emoji/PickButton.h55
-rw-r--r--src/main.cpp10
-rw-r--r--src/timeline/TimelineItem.cpp86
-rw-r--r--src/timeline/TimelineItem.h18
-rw-r--r--src/timeline/widgets/ImageItem.cpp1
72 files changed, 1565 insertions, 144 deletions
diff --git a/.ci/install.sh b/.ci/install.sh
index 59114baf..72c34127 100755
--- a/.ci/install.sh
+++ b/.ci/install.sh
@@ -2,10 +2,10 @@
set -ex
-if [ $TRAVIS_OS_NAME == osx ]; then
+if [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew update
brew install qt5 lmdb clang-format ninja libsodium cmark
- brew upgrade boost cmake || true
+ brew upgrade boost cmake icu4c || true
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py
@@ -17,7 +17,7 @@ if [ $TRAVIS_OS_NAME == osx ]; then
fi
-if [ $TRAVIS_OS_NAME == linux ]; then
+if [ "$TRAVIS_OS_NAME" == "linux" ]; then
if [ -z "$QT_VERSION" ]; then
QT_VERSION="592"
diff --git a/.ci/linux/deploy.sh b/.ci/linux/deploy.sh
index 4e716003..38317a4a 100755
--- a/.ci/linux/deploy.sh
+++ b/.ci/linux/deploy.sh
@@ -36,8 +36,10 @@ export LD_LIBRARY_PATH=.deps/usr/lib/:$LD_LIBRARY_PATH
./linuxdeployqt*.AppImage ${DIR}/usr/share/applications/*.desktop -bundle-non-qt-libs
./linuxdeployqt*.AppImage ${DIR}/usr/share/applications/*.desktop -appimage
-chmod +x nheko-x86_64.AppImage
+chmod +x nheko-*x86_64.AppImage
-if [ ! -z $TRAVIS_TAG ]; then
- mv nheko-x86_64.AppImage nheko-${TRAVIS_TAG}-x86_64.AppImage
-fi
+if [ ! -z $VERSION ]; then
+ # commented out for now, as AppImage file appears to already contain the version.
+ #mv nheko-*x86_64.AppImage nheko-${VERSION}-x86_64.AppImage
+ echo "nheko-${VERSION}-x86_64.AppImage"
+fi \ No newline at end of file
diff --git a/.ci/macos/deploy.sh b/.ci/macos/deploy.sh
index 1de95a44..79701243 100755
--- a/.ci/macos/deploy.sh
+++ b/.ci/macos/deploy.sh
@@ -8,7 +8,15 @@ TAG=`git tag -l --points-at HEAD`
PATH=/usr/local/opt/qt/bin/:${PATH}
pushd build
-sudo macdeployqt nheko.app -dmg
+
+# macdeployqt does not copy symlinks over.
+# this specifically addresses icu4c issues but nothing else.
+export ICU_LIB="$(brew --prefix icu4c)/lib"
+mkdir -p nheko.app/Contents/Frameworks
+find ${ICU_LIB} -type l -name "*.dylib" -exec cp -a -n {} nheko.app/Contents/Frameworks/ \; || true
+
+sudo macdeployqt nheko.app -dmg -always-overwrite
+
user=$(id -nu)
sudo chown ${user} nheko.dmg
mv nheko.dmg ..
@@ -16,6 +24,6 @@ popd
dmgbuild -s ./.ci/macos/settings.json "Nheko" nheko.dmg
-if [ ! -z $TRAVIS_TAG ]; then
- mv nheko.dmg nheko-${TRAVIS_TAG}.dmg
+if [ ! -z $VERSION ]; then
+ mv nheko.dmg nheko-${VERSION}.dmg
fi
diff --git a/.ci/script.sh b/.ci/script.sh
index 622bda9b..ce65cb14 100755
--- a/.ci/script.sh
+++ b/.ci/script.sh
@@ -2,7 +2,7 @@
set -ex
-if [ $TRAVIS_OS_NAME == linux ]; then
+if [ "$TRAVIS_OS_NAME" == "linux" ]; then
export CC=${C_COMPILER}
export CXX=${CXX_COMPILER}
@@ -13,11 +13,11 @@ if [ $TRAVIS_OS_NAME == linux ]; then
sudo update-alternatives --set g++ "/usr/bin/${CXX_COMPILER}"
fi
-if [ $TRAVIS_OS_NAME == linux ]; then
+if [ "$TRAVIS_OS_NAME" == "linux" ]; then
source /opt/qt${QT_PKG}/bin/qt${QT_PKG}-env.sh || true;
fi
-if [ $TRAVIS_OS_NAME == osx ]; then
+if [ "$TRAVIS_OS_NAME" == "osx" ]; then
export CMAKE_PREFIX_PATH=/usr/local/opt/qt5
fi
@@ -33,14 +33,14 @@ cmake -GNinja -H. -Bbuild \
-DCMAKE_INSTALL_PREFIX=.deps/usr
cmake --build build
-if [ $TRAVIS_OS_NAME == osx ]; then
+if [ "$TRAVIS_OS_NAME" == "osx" ]; then
make lint;
- if [ $DEPLOYMENT == 1 ] && [ ! -z $TRAVIS_TAG ]; then
+ if [ $DEPLOYMENT == 1 ] && [ ! -z $VERSION ] ; then
make macos-deploy;
fi
fi
-if [ $TRAVIS_OS_NAME == linux ] && [ $DEPLOYMENT == 1 ] && [ ! -z $TRAVIS_TAG ]; then
+if [ "$TRAVIS_OS_NAME" == "linux" ] && [ $DEPLOYMENT == 1 ] && [ ! -z $VERSION ]; then
make linux-deploy;
fi
diff --git a/.travis.yml b/.travis.yml
index 77d0083a..afe6fb6a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,118 +1,112 @@
language: cpp
sudo: required
dist: trusty
+
notifications:
- email: false
webhooks:
urls:
- https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MHJlZF9za3klM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbS8lMjFldkFxa1BIWnVQSElHZWVuaGklM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbQ
on_success: always
on_failure: always
on_start: never
+ email: false
+
matrix:
- include:
- - os: osx
- osx_image: xcode9
- compiler: clang
- env:
- - DEPLOYMENT=1
- - USE_BUNDLED_BOOST=0
- - USE_BUNDLED_CMARK=0
- - os: linux
- compiler: gcc
- env:
- - CXX_COMPILER=g++-5
- - C_COMPILER=gcc-5
- - QT_VERSION="-5.10.1"
- - QT_PKG=510
- - DEPLOYMENT=1
- - USE_BUNDLED_BOOST=1
- - USE_BUNDLED_CMARK=1
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-5
- - ninja-build
- - os: linux
- compiler: gcc
- env:
- - CXX_COMPILER=g++-8
- - C_COMPILER=gcc-8
- - QT_VERSION=571
- - QT_PKG=57
- - USE_BUNDLED_BOOST=1
- - USE_BUNDLED_CMARK=1
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-8
- - ninja-build
- - os: linux
- compiler: clang
- env:
- - CXX_COMPILER=clang++-5.0
- - C_COMPILER=clang-5.0
- - QT_VERSION=592
- - QT_PKG=59
- - USE_BUNDLED_BOOST=1
- - USE_BUNDLED_CMARK=1
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- - llvm-toolchain-trusty-5.0
- packages:
- - clang-5.0
- - g++-7
- - ninja-build
+ include:
+ - os: osx
+ compiler: clang
+ osx_image: xcode9
+ env:
+ - DEPLOYMENT=1
+ - USE_BUNDLED_BOOST=0
+ - USE_BUNDLED_CMARK=0
+ - os: linux
+ compiler: gcc
+ env:
+ - CXX_COMPILER=g++-5
+ - C_COMPILER=gcc-5
+ - QT_VERSION="-5.10.1"
+ - QT_PKG=510
+ - DEPLOYMENT=1
+ - USE_BUNDLED_BOOST=1
+ - USE_BUNDLED_CMARK=1
+ addons:
+ apt:
+ sources: ["ubuntu-toolchain-r-test"]
+ packages: ["g++-5", "ninja-build"]
+ - os: linux
+ compiler: gcc
+ env:
+ - CXX_COMPILER=g++-8
+ - C_COMPILER=gcc-8
+ - QT_VERSION=571
+ - QT_PKG=57
+ - USE_BUNDLED_BOOST=1
+ - USE_BUNDLED_CMARK=1
+ addons:
+ apt:
+ sources: ["ubuntu-toolchain-r-test"]
+ packages: ["g++-8", "ninja-build"]
+ - os: linux
+ compiler: clang
+ env:
+ - CXX_COMPILER=clang++-5.0
+ - C_COMPILER=clang-5.0
+ - QT_VERSION=592
+ - QT_PKG=59
+ - USE_BUNDLED_BOOST=1
+ - USE_BUNDLED_CMARK=1
+ addons:
+ apt:
+ sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-5.0"]
+ packages: ["clang-5.0", "g++-7", "ninja-build"]
+
before_install:
-- export CXX=${CXX_COMPILER}
-- export CC=${C_COMPILER}
+ - export CXX=${CXX_COMPILER}
+ - export CC=${C_COMPILER}
+ # Use TRAVIS_TAG if defined, or the short commit SHA otherwise
+ - export VERSION=${TRAVIS_TAG:-$(git rev-parse --short HEAD)}
install:
-- "./.ci/install.sh"
-- export PATH=/usr/local/bin:${PATH}
+ - ./.ci/install.sh
+ - export PATH=/usr/local/bin:${PATH}
+
script:
-- "./.ci/script.sh"
-- sed -i -e "s/VERSION_NAME_VALUE/${TRAVIS_TAG}/g" ./.ci/bintray-release.json || true
-- cp ./.ci/bintray-release.json .
+ - ./.ci/script.sh
+ - sed -i -e "s/VERSION_NAME_VALUE/${VERSION}/g" ./.ci/bintray-release.json || true
+ - cp ./.ci/bintray-release.json .
deploy:
- - provider: bintray
- user: redsky17
- key:
- secure: CAVzWZPxYSOTollo9bpD4tvEbfxXjqelc32aApV48GKyJrMQljQ+mvSe25BuUtnDehxnw8affgGX23AYXmvG8P7w4hM2d7//8Lgan1zCmusV8JE432jknev6X641B4cvrywqSe0Dj3l0kS9Xgirq4BGavlI0y2vUjeJfQEv0y8GYoI72LwgyH0i82v/1Qi92Fh8429IJIb0eKmC1wGWXCmo2kd8StZRL5mSlc4TmyWI0SHpA5GrLMiQwLAuD7DjDl5mpaK2yQx+H4vBcI2SUMvmlHGgVjXikJG5gURlHbnIaaBFvO67INc1/65KtMokWuMP12zxqJiaMPtsAskOpQv4FLAYDfnigH3NxufyOIGp2cxS5RhJDQhbNsxHEDnUo1kHcO23ZYNWCuC1yUdn0RXzKhWcUsz8mKF8KJs22Ty4VjfUMZ+vqK/AbHyq4rkl8DizVRZqKF1KjSWrSv/2sT4itnHk9pmcgxAYfGuALcjrJJveI4MTwDhzXB62CKnMOqLq3sAMqvE0+BdA0BykQr7qrKtptuyP2/OFx6RDbfHQl5Klkb6cSOjxm0oUzh/8iaxgsVdCrhfE67eqkhFZ+a8lJkB/rZ4zSK1Q2Cp4nLtnxenUCW+Ptk2l7zZN6kXM1/+tcgqVROChYJ6asMUpsjFOOAVQ8SZ4TcxX1rq+pxlA=
- skip_cleanup: true
- overwrite: true
- file: bintray-release.json
- on:
- condition: "$DEPLOYMENT == 1"
- repo: Nheko-Reborn/nheko
- tags: true
- deploy:
- - skip_cleanup: true
- overwrite: true
- provider: releases
- api_key:
- secure: JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=
- file_glob: true
- file:
- - nheko-${TRAVIS_TAG}-x86_64.AppImage
- on:
- condition: "$TRAVIS_OS_NAME == linux && $DEPLOYMENT == 1"
- repo: Nheko-Reborn/nheko
- tags: true
- - skip_cleanup: true
- overwrite: true
- provider: releases
- api_key:
- secure: JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=
- file: nheko-${TRAVIS_TAG}.dmg
- on:
- condition: "$TRAVIS_OS_NAME == osx && $DEPLOYMENT == 1"
- repo: Nheko-Reborn/nheko
- tags: true
+- provider: bintray
+ user: "redsky17"
key:
- secure: q4V4k6mAEDBgA/13NiCw+5/Jh7/xmtRBybFSr/0I6JTatkaLs2pj4zIRyHIrBVZtOd1oFVmq6aDHXXR+fbSo1Euj3s5Eo+7TTAqKAlyRMcme/+0S0bfZfisA+6LskZcmacq1FzEkAXd5OjMXB6rIakDC1sgkgo5bpM9w5r/9ZFXXgCfDzW07LJOypDyph0Gg4rlU22o5fAcKmuglTgbJWceznv46HcHvW1s2JzkJQugpAh8LkpiEkuNnH1wZ0WDI1wQQFI+ti5GSBkHicS2kgkOL3IlCvfzS0ym85XF1FTncqDEClxudwWOhVm3qpSOm28I+lB4i0ha1LNzsl4S8ClVTxJRJMJBHmLmkh3lOasAn6v8Vc2WASygfnTC2VGMaRWYMfphLm7e1CcT8OPfoNcEJLvR6YTxgm7AadomOV4f8q9FUwvrkyJkbR+sV+DkJ5yQ/uF1pDOMnUUzjDYpCfYXEECqh8gH8iUXhWabrJyaFlzZaOsai/ujyepLOkUtJaGcOrnCHlOQlfXgBhmOCUFau8ByJhSrHGGlBPb9JhC/jzWq++dmN/5zn1coc4kNqKB55h1AFVtTTW7t14RzNKER2/opl7LFoywvyMyERusmxHfGzNihFHO4GoBY+WtEpphCAdqCjLaJM95w9spQ0sgR0/qy4883MhTWBctT9K6s=
+ secure: "2C+ESOClZdNCDzfUfE8Rcdn9+BM3/5x1lebGS0qRxICMAuylx50C8RAxlqKIFNI1J+IMnj5xhK+1oWsLg6wUdo8B3JocvM6P1NbC/WwfY5UJVwtSmzcqvEC+IjM90Bng8OoM5f6ED3IAUyYPBgo8J14+2l5Oruvr99t0mrpniLXDf66TJrI9u/+05JYa2pm0EWlQkDVaziI+96zAt1pMIX9Z/ToTmUbq2OAlHaN8H4hR5aBRmYuF11FQVyARK64eqRsBV4RXKJ9DjW7BR+pQV008hQUoXrCxK8xIf/Qph9h1fz63961NJxfru62LeuZ4Z8MUcV9L+p0HYZzkhNdn5Z3QFf3SXbrVCYs6LK6+uKHpmYS7vB5XwjDx9SWc2szsd5OVKJg3YEdBcC4KUSL3VEbBHDSQ3GFsVKoBsZvopwHkyCmPotY47HtEiPBLdEcsOvcVyeU5Gfq9EOp9dB+nJbNrujBgav1l13CorkBG2rgD+NRivV1otclXnPsIj85ySrc6xk0VDN3zogLAdLw0f+fNOaK17N8GmhPbCu/iX2Vjem/fdjh4NPC4pSNDei2MoWUfqGBmoTxuQEsZeywigwV2c51W9RZuwo8X810N3ehVcBmmNyLjbKmYT+8Kp+dJbaf/ErFnvdZl06mX2bgyxFakv5iQY3dwX4WYHvl77c4="
+ skip_cleanup: true
+ overwrite: true
+ file: bintray-release.json
+ on:
+ condition: "$DEPLOYMENT == 1"
+ repo: Nheko-Reborn/nheko
+ tags: false
+ all_branches: true
+ deploy:
+- skip_cleanup: true
+ overwrite: true
+ provider: releases
+ api_key:
+ secure: "JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU="
+ file_glob: true
+ file:
+ - nheko-${VERSION}-x86_64.AppImage
+ on:
+ condition: "$TRAVIS_OS_NAME == linux && $DEPLOYMENT == 1"
+ repo: Nheko-Reborn/nheko
+ tags: true
+- skip_cleanup: true
+ overwrite: true
+ provider: releases
+ api_key:
+ secure: "JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU="
+ file: nheko-${VERSION}.dmg
+ on:
+ condition: "$TRAVIS_OS_NAME == osx && $DEPLOYMENT == 1"
+ repo: Nheko-Reborn/nheko
+ tags: true \ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6cb83ea5..8c492299 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,8 +14,6 @@
### Other changes
- Removed room re-ordering option.
-- Removed built-in emoji picker.
-- Removed bundled fonts.
## [0.6.1] - 2018-09-26
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6fd936b0..ad48e7d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.11)
option(APPVEYOR_BUILD "Build on appveyor" OFF)
option(ASAN "Compile with address sanitizers" OFF)
@@ -183,6 +183,10 @@ set(SRC_FILES
src/dialogs/RoomSettings.cpp
# Emoji
+ src/emoji/Category.cpp
+ src/emoji/ItemDelegate.cpp
+ src/emoji/Panel.cpp
+ src/emoji/PickButton.cpp
src/emoji/Provider.cpp
# Timeline
@@ -289,6 +293,9 @@ include_directories(SYSTEM ${TWEENY_INCLUDE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${Boost_INCLUDE_DIRS})
+# local inclue directory
+include_directories(includes)
+
qt5_wrap_cpp(MOC_HEADERS
# Dialogs
src/dialogs/CreateRoom.h
@@ -305,6 +312,12 @@ qt5_wrap_cpp(MOC_HEADERS
src/dialogs/ReCaptcha.h
src/dialogs/RoomSettings.h
+ # Emoji
+ src/emoji/Category.h
+ src/emoji/ItemDelegate.h
+ src/emoji/Panel.h
+ src/emoji/PickButton.h
+
# Timeline
src/timeline/TimelineItem.h
src/timeline/TimelineView.h
diff --git a/README.md b/README.md
index 66675d61..f3fad169 100644
--- a/README.md
+++ b/README.md
@@ -264,5 +264,11 @@ Here is a screen shot to get a feel for the UI, but things will probably change.
![nheko](https://dl.dropboxusercontent.com/s/3zjcezdtk8kqe4i/nheko-v0.4.0.png)
+### Third party
+
+- [Emoji One](http://emojione.com)
+- [Font Awesome](http://fontawesome.io/)
+- [Open Sans](https://fonts.google.com/specimen/Open+Sans)
+
[Matrix]:https://matrix.org
[Riot]:https://riot.im
diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt
index e7a09db6..9d70d104 100644
--- a/deps/CMakeLists.txt
+++ b/deps/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.11)
project(NHEKO_DEPS)
# Point CMake at any custom modules we may ship
@@ -30,6 +30,11 @@ option(USE_BUNDLED_LMDBXX "Use the bundled version of lmdbxx." ${USE_BUNDLED})
option(USE_BUNDLED_MATRIX_CLIENT "Use the bundled version of mtxclient."
${USE_BUNDLED})
+if(USE_BUNDLED_BOOST)
+ # bundled boost is 1.68, which requires CMake 3.12 or greater.
+ cmake_minimum_required(VERSION 3.12)
+endif()
+
include(ExternalProject)
set(BOOST_URL
diff --git a/includes/jdenticoninterface.h b/includes/jdenticoninterface.h
new file mode 100644
index 00000000..2108a726
--- /dev/null
+++ b/includes/jdenticoninterface.h
@@ -0,0 +1,17 @@
+#ifndef JDENTICONINTERFACE_H
+#define JDENTICONINTERFACE_H
+
+#include <QString>
+
+class JdenticonInterface
+{
+public:
+ virtual ~JdenticonInterface() {}
+ virtual QString generate(const QString &message, uint16_t size) = 0;
+};
+
+#define JdenticonInterface_iid "redsky17.Qt.JdenticonInterface"
+
+Q_DECLARE_INTERFACE(JdenticonInterface, JdenticonInterface_iid)
+
+#endif // JDENTICONINTERFACE_H
diff --git a/resources/fonts/EmojiOne/emojione-android.ttf b/resources/fonts/EmojiOne/emojione-android.ttf
new file mode 100644
index 00000000..4cd640d0
--- /dev/null
+++ b/resources/fonts/EmojiOne/emojione-android.ttf
Binary files differ
diff --git a/resources/fonts/OpenSans/LICENSE.txt b/resources/fonts/OpenSans/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/resources/fonts/OpenSans/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004