...
 
Commits (142)
......@@ -51,8 +51,7 @@ indent_style = space
indent_size = 2
[*.qrc]
indent_style = space
indent_size = 4
indent_style = tab
[*.pl]
indent_style = space
......
......@@ -4,7 +4,6 @@ kaidan_automoc.cpp
misc/ubuntu-touch/manifest.json
misc/windows/*-kaidan.png
misc/macos/kaidan.iconset
misc/android/res/mipmap-*
3rdparty/openssl
3rdparty/qxmpp
......
......@@ -5,10 +5,11 @@ stages:
clazy:
stage: test
image: kaidan/neon-bionic
image: kaidan/debian-unstable
variables:
CMAKE_CXX_COMPILER: clazy
script: utils/travis/build.sh
allow_failure: true
qmllint:
stage: test
......@@ -17,11 +18,6 @@ qmllint:
variables:
QT_SELECT: 5
ubuntu-trusty:
stage: build
image: kaidan/ubuntu-trusty
script: utils/travis/build.sh
neon-bionic:
stage: build
image: kaidan/neon-bionic
......@@ -39,11 +35,10 @@ archlinux:
linux-appimage:
stage: deploy
image: kaidan/ubuntu-trusty
image: kaidan/ubuntu-xenial
script: utils/build-linux-appimage.sh
variables:
QXMPP_BUILD: /usr
allow_failure: true
artifacts:
paths:
- "*.AppImage"
......@@ -64,17 +59,9 @@ windows-mxe:
android:
stage: deploy
image: kdeorg/android-sdk
image: kdeorg/android-arm-sdk
script:
- sudo apt update
- sudo apt -y install inkscape optipng
- GIT_EXTRA="--branch ${KF5_VERSION}" /opt/helpers/build-kde-dependencies --withProject kirigami
- /opt/helpers/build-cmake qxmpp https://github.com/qxmpp-project/qxmpp.git -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF
- /opt/helpers/build-cmake zxing-cpp https://github.com/nu-book/zxing-cpp.git
- GIT_EXTRA="--branch ${CI_COMMIT_REF_NAME} --recursive" /opt/helpers/build-cmake ${CI_PROJECT_NAME} ${CI_REPOSITORY_URL} -DQTANDROID_EXPORTED_TARGET=kaidan -DANDROID_APK_DIR=${CI_PROJECT_DIR}/src/${CI_PROJECT_NAME}/misc/android -DI18N=1 -DUSE_KNOTIFICATIONS=OFF
- ${CI_PROJECT_DIR}/src/${CI_PROJECT_NAME}/utils/render-logos.sh
- /opt/helpers/create-apk ${CI_PROJECT_NAME}
- mv ${CI_PROJECT_DIR}/build/${CI_PROJECT_NAME}/kaidan_build_apk/build/outputs/apk/kaidan_build_apk-debug.apk ${CI_PROJECT_DIR}
- utils/build-android-docker.sh
variables:
KF5_VERSION: master
allow_failure: true
......
language: cpp
compiler: gcc
services:
- docker
cache:
ccache: true
directories:
- /var/cache/apt/archives
sudo: required
dist: trusty
install:
- ./utils/travis/dependencies.sh
script:
- . utils/travis/common.sh
- env_setup
- ./utils/travis/build.sh
matrix:
include:
- env: BUILD_SYSTEM=cmake
git:
submodules: false
- env: PLATFORM=ubuntu-touch
git:
submodules: false
# only cache apt archives
cache:
directories:
- /var/cache/apt/archives
notifications:
email: false
Subproject commit baecef0d69b81ace79cd44035ac859bc201f1847
Subproject commit 670e78e89549ef001710b2a98b9011f9b7b58d12
cmake_minimum_required(VERSION 3.3)
find_package(ECM 5.40.0 REQUIRED NO_MODULE)
set(CMAKE_CXX_STANDARD 14)
set(QT_MIN_VERSION "5.10.0")
......@@ -9,15 +8,31 @@ endif()
project(kaidan)
# application information
set(APPLICATION_ID "im.kaidan.kaidan")
set(APPLICATION_NAME "kaidan")
set(APPLICATION_DISPLAY_NAME "Kaidan")
set(APPLICATION_DESCRIPTION "A simple, user-friendly Jabber/XMPP client for every device!")
if(UBUNTU_TOUCH)
set(APPLICATION_NAME "${APPLICATION_ID}")
endif()
set(VERSION_STRING "0.5.0-dev")
# Version
set(VERSION_MAJOR 0)
set(VERSION_MINOR 5)
set(VERSION_PATCH 0)
set(VERSION_CODE 6)
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
set(DEVELOPMENT_BUILD TRUE)
set(ANDROID_VERSION_CODE 6)
if(DEVELOPMENT_BUILD)
set(VERSION_EXTRA "${VERSION_EXTRA}-dev")
endif()
set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
if(VERSION_EXTRA)
set(VERSION_STRING ${VERSION_STRING}${VERSION_EXTRA})
endif()
# CMake options
option(I18N "Enable i18n support" FALSE)
......@@ -43,6 +58,8 @@ set(AUTOMOC_MOC_OPTIONS -Muri=${APPLICATION_ID})
# Dependecies
#
find_package(ECM 5.40.0 REQUIRED NO_MODULE)
# CMake module path
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
......@@ -55,11 +72,10 @@ include(FeatureSummary)
kde_enable_exceptions()
# Find packages
find_package(PkgConfig REQUIRED)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Qml Quick Svg Sql QuickControls2 Xml Multimedia)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Qml Quick Svg Sql QuickControls2 Xml Multimedia Positioning Location)
find_package(KF5Kirigami2 REQUIRED)
find_package(ZXing REQUIRED COMPONENTS Core)
pkg_search_module(QXmpp REQUIRED qxmpp>=1.0)
find_package(QXmpp 1.0.0 REQUIRED)
# Optional QtQuickCompiler
if(QUICK_COMPILER)
......@@ -98,6 +114,7 @@ if(ANDROID)
endif()
if(ANDROID OR WIN32)
find_package(PkgConfig REQUIRED)
pkg_search_module(OPENSSL REQUIRED openssl IMPORTED_TARGET)
message(STATUS "Using OpenSSL ${OPENSSL_VERSION}")
endif()
......@@ -125,6 +142,11 @@ if(BUNDLE_ICONS OR UBUNTU_TOUCH OR ANDROID OR WIN32 OR APPLE)
set(KAIDAN_ICONS_QRC kirigami-icons.qrc)
endif()
# Bundled knotifications configuration files on platforms that require it
if(ANDROID)
set(KAIDAN_NOTIFICATIONS_QRC "misc/notifications.qrc")
endif()
# Bundle images on Android, Windows, macOS and iOS
if(ANDROID OR WIN32 OR APPLE)
set(KAIDAN_IMAGES_QRC "data/images/images.qrc")
......@@ -134,31 +156,28 @@ endif()
if(APPLE)
set(KAIDAN_ICNS "${CMAKE_SOURCE_DIR}/misc/macos/kaidan.icns")
set_source_files_properties(${KAIDAN_ICNS} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
elseif(WIN32)
include(ECMAddAppIcon)
file(GLOB WIN_ICONS_SRCS "${CMAKE_SOURCE_DIR}/misc/windows/*kaidan.png")
message(STATUS ${WIN_ICONS_SRCS})
ecm_add_app_icon(KAIDAN_ICNS ICONS ${WIN_ICONS_SRCS})
message(STATUS ${KAIDAN_ICNS})
endif()
link_directories(${QXmpp_LIBDIR})
if(QUICK_COMPILER)
qtquick_compiler_add_resources(KAIDAN_QML_QRC kaidan_qml.qrc)
qtquick_compiler_add_resources(KAIDAN_QML_QRC src/qml/qml.qrc)
else()
qt5_add_resources(KAIDAN_QML_QRC kaidan_qml.qrc)
qt5_add_resources(KAIDAN_QML_QRC src/qml/qml.qrc)
endif()
# misc resources (e.g. qtquickcontrols2.conf)
qt5_add_resources(KAIDAN_MISC_QRC misc/misc.qrc)
add_executable(${PROJECT_NAME}
MACOSX_BUNDLE
WIN32
${KAIDAN_ICNS}
${KAIDAN_SOURCES}
${KAIDAN_QML_QRC}
${KAIDAN_ICONS_QRC} # only set if enabled
${KAIDAN_IMAGES_QRC} #
${I18N_QRC_CPP} #
${KAIDAN_MISC_QRC}
${KAIDAN_ICONS_QRC} # only set if enabled
${KAIDAN_IMAGES_QRC} #
${I18N_QRC_CPP} #
${KAIDAN_NOTIFICATIONS_QRC} #
)
target_link_libraries(${PROJECT_NAME}
......@@ -170,19 +189,12 @@ target_link_libraries(${PROJECT_NAME}
Qt5::Network
Qt5::Xml
Qt5::Multimedia
Qt5::Positioning
Qt5::Location
ZXing::Core
QXmpp::QXmpp
${__Qt5Widgets_LIBRARIES}
${__KF5Notifications_LIBRARIES}
# currently needs to be hardcoded for windows builds
qxmpp
)
target_include_directories(${PROJECT_NAME} PUBLIC
${QXmpp_INCLUDE_DIRS}
)
target_compile_options(${PROJECT_NAME} PUBLIC
${QXmpp_CFLAGS_OTHER}
)
if(ANDROID OR WIN32 OR IOS)
......@@ -316,19 +328,22 @@ if(APPLE)
endif()
endif()
#
# Global C++ variables
#
# iOS-specific linker flags
if(IOS)
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-Wl,-e,_qt_main_wrapper -u _qt_registerPlatformPlugin")
endif()
#
# Global C++ variables
#
if(UBUNTU_TOUCH)
set(KAIDAN_COMPILE_DEFINITIONS UBUNTU_TOUCH=True)
elseif(APPIMAGE)
set(KAIDAN_COMPILE_DEFINITIONS APPIMAGE=True)
set(KAIDAN_COMPILE_DEFINITIONS
APPIMAGE=True
TARGET_GSTREAMER_PLUGINS="${TARGET_GSTREAMER_PLUGINS}"
)
endif()
if(STATIC_BUILD)
......@@ -344,6 +359,8 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE
APPLICATION_ID="${APPLICATION_ID}"
APPLICATION_NAME="${APPLICATION_NAME}"
APPLICATION_DISPLAY_NAME="${APPLICATION_DISPLAY_NAME}"
APPLICATION_DESCRIPTION="${APPLICATION_DESCRIPTION}"
${KAIDAN_COMPILE_DEFINITIONS}
)
......@@ -373,6 +390,7 @@ if(UBUNTU_TOUCH AND CLICK_ARCH)
# install kaidan media
install(DIRECTORY "data/images"
DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/${APPLICATION_ID}"
PATTERN "*.qrc" EXCLUDE
)
# install icon
install(FILES "misc/kaidan.svg" "misc/ubuntu-touch/apparmor.json"
......@@ -388,6 +406,7 @@ elseif(UNIX AND NOT APPLE)
# install kaidan media
install(DIRECTORY "data/images"
DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}"
PATTERN "*.qrc" EXCLUDE
)
# install icon (scalable + 128x)
......@@ -405,7 +424,7 @@ elseif(UNIX AND NOT APPLE)
# install metainfo
install(FILES "misc/metadata.xml"
DESTINATION "${KDE_INSTALL_METAINFODIR}"
RENAME "im.kaidan.kaidan.appdata.xml"
RENAME "${APPLICATION_ID}.appdata.xml"
)
endif()
......
# Contributing
This is a guideline for contributing to Kaidan.
There is also a guide for a [basic setup](https://invent.kde.org/kde/kaidan/-/wikis/setup) targeted at contributors which are unfamiliar with KDE Identity, GitLab or Git and want to start contributing quickly.
## Branches
Use the following prefixes for branch names:
* `feature/` for new features (changes with new behavior)
* `refactor/` for changes of the code structure without changing the general behavior
* `fix/` for fixes (changes for intended / correct behavior)
* `design/` for design changes
* `doc/` for documentation
## Merge Requests (MR)
Please stick to the following steps for opening and reviewing MRs.
### For Authors
1. Create a new branch to work on it from the *master* branch.
1. Write short commit messages starting with an a upper case letter and using the present tense and imperative.
1. Split your commits logically.
1. Do not mix unrelated changes in the same MR.
1. Create a MR with the *master* branch as its target.
1. Add *WIP: * in front of the MR's title as long as you are working on the MR and remove it as soon as it is ready to be reviewed.
1. If everything is ready to be reviewed, mention at least one person not involved as an author or co-author to review the current state.
1. If necessary, modify, reorder or squash your commits and force-push (`git push -f`) the result to the MR's branch.
1. If there are no open threads on your MR, a reviewer with write access will merge your commits.
### For Reviewers
1. Try to provide a review to the author.
1. Try to give the author concrete proposals for improving the code via the *insert suggestion* feature while commenting.
1. If the proposals are too complicated, create and push a commit with your proposal to your own fork of Kaidan and open a MR with the author's MR branch as its target.
## Graphics
The preferred format for graphics in Kaidan is *SVG*.
A new SVG must be [optimized](https://invent.kde.org/kde/kaidan/-/wikis/svg-optimization) before adding it to a commit.
......@@ -8,11 +8,18 @@ Files: src/*
Copyright: 2016-2019, Linus Jahn <lnj@kaidan.im>
2016-2019, Jonah Brüchert <jbb@kaidan.im>
2017-2019, Ilya Bizyaev <bizyaev@zoho.com>
2018, Allan Nordhøy <epost@anotheragency.no>
2019, Filipe Azevedo <pasnox@gmail.com>
2018-2019, Nicolas Fella <nicolas.fella@gmx.de>
2019, Melvin Keskin <melvo@olomono.de>
2019, Filipe Azevedo <pasnox@gmail.com>
2018, Allan Nordhøy <epost@anotheragency.no>
2019, Robert Maerkisch <zatroxde@protonmail.ch>
2019, caca hueto <cacahueto@olomono.de>
2019, Yury Gubich <blue@macaw.me>
2019, Volker Krause <vkrause@kde.org>
2019, Simon Schmeisser <s.schmeisser@gmx.net>
2019, Nick Richards <nick@nedrichards.com>
2019, Simon Redman <simon@ergotech.com>
2019, Xavier <xavi@delape.net>
2018, Nicolas Fella <nicolas.fella@gmx.de>
2018, Bjarne Roß <ross.b@freenet.de>
2018, SohnyBohny <sohny.bean@streber24.de>
2018, Marco Martin <notmart@gmail.com>
......@@ -26,18 +33,24 @@ Copyright: 2017-2019, Linus Jahn <lnj@kaidan.im>
2017-2019, Jonah Brüchert <jbb@kaidan.im>
2017-2019, Muhammad Nur Hidayat Yasuyoshi <mnh48mail@gmail.com>
2018-2019, Allan Nordhøy <epost@anotheragency.no>
2017-2019, Joeke de Graaf <joeke.de.graaf@student.nhlstenden.com>
2018-2019, advocatux <advocatux@airpost.net>
2018-2019, oiseauroch <tobias.ollive@mailoo.org>
2018-2019, aitzol berasategi <aitzol@disroot.org>
2019, Milan Korecky <milan.korecky@gmail.com>
2017-2018, Joeke de Graaf <mappack@null.net>
2019, ssantos <ssantos@web.de>
2019, Sylke Vicious <silkevicious@gmail.com>
2019, Anne Onyme 017 <anneonyme017@netcourrier.com>
2019, Milan Korecky <milan.korecky@gmail.com>
2017, Ilya Bizyaev <bizyaev@zoho.com>
2017, ZatroxDE <zatroxde@outlook.com>
2017, Robert Maerkisch <zatroxde@protonmail.ch>
2019, Joan CiberSheep <cibersheep@gmail.com>
2019, Eiad Rostom <eiado@olomono.de>
2019, caca hueto <cacahueto@olomono.de>
2019, Yuri Chornoivan <yurchor@ukr.net>
2019, Clemens Riese <weblate.org@clerie.de>
2019, Txaume <txaumevw@gmail.com>
2019, Xosé M <xosem@disroot.org>
2019, Melvin Keskin <melvo@olomono.de>
2019, Anne Onyme 017 <anneonyme017@netcourrier.com>
2019, ssantos <ssantos@web.de>
2018, oiseauroch <tobias.ollive@mailoo.org>
2018, Andreas Kleinert <Andy.Kleinert@gmail.com>
2017, Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
License: GPL-3+ with OpenSSL exception
......@@ -80,11 +93,12 @@ Copyright: 2016-2017, Ilya Bizyaev <bizyaev@zoho.com>
2016, MBB <mbb-mail@gmx.de>
License: CC-BY-SA-4.0
Files: data/images/chat.png
Copyright: 2013, Subtle Patterns, Toptal Designers
License: CC-BY-SA-3.0
Files: data/images/chat-page-background.svg
Copyright: 2019, Mathis Brüchert <mbblp@protonmail.ch>
2019, Melvin Keskin <melvo@olomono.de>
License: CC-BY-SA-4.0
Comment:
data/images/chat.png: From <https://www.toptal.com/designers/subtlepatterns/inspiration-geometry/>
Inspired by graphic from https://www.toptal.com/designers/subtlepatterns/
Files: utils/convert-prl-libs-to-cmake.pl
Copyright: 2016, Konstantin Tokarev <annulen@yandex.ru>
......
......@@ -39,7 +39,7 @@ how to do that:
### Dependencies
Here are the general dependencies of Kaidan listed:
* [Qt](https://doc.qt.io/qt-5/build-sources.html) (Core Qml Quick Svg Sql QuickControls2 Multimedia) (>= 5.10.0)
* [Qt](https://doc.qt.io/qt-5/build-sources.html) (Core Qml Quick Svg Sql QuickControls2 Xml Multimedia Positioning Location) (>= 5.10.0)
* [QXmpp][qxmpp] (>= 1.0.0)
* [Kirigami 2](https://phabricator.kde.org/source/kirigami/) (>= 5.42.0)
* [ECM (extra-cmake-modules)](https://api.kde.org/ecm/manual/ecm.7.html)
......@@ -52,10 +52,13 @@ There are guides on how to build Kaidan for each supported platform (currently t
* [Linux Desktop](https://invent.kde.org/kde/kaidan/wikis/building/linux-debian-based)
* [Ubuntu Touch (click package)](https://invent.kde.org/kde/kaidan/wikis/building/ubuntu-touch)
## Contributing
If you are interested in contributing to Kaidan, please have a look at our [contribution guidelines](CONTRIBUTING.md).
[kg]: https://kde.org/products/kirigami/
[qquick]: https://wiki.qt.io/Qt_Quick
[qxmpp]: http://qxmpp.org
[qxmpp]: https://github.com/qxmpp-project/qxmpp
[qt]: https://www.qt.io/
[openstore]: https://open-store.io/app/im.kaidan.kaidan
[android]: https://www.kaidan.im/download/#android
......
<svg xmlns="http://www.w3.org/2000/svg" width="412" height="412"><g opacity=".2" stroke="#c7c7c7" stroke-width="2.78800011" stroke-linecap="round" stroke-linejoin="round"><g fill="#c7c7c7"><circle cx="149.98454" cy="103.69845" r="2.7774916"/><path d="m 297.11443,188.56625 -2.83248,-3.30243 4.27623,-0.80179 z"/><path transform="rotate(18.152319)" d="M225.25111 127.29488H229.6155166V131.6592866H225.25111z"/><path d="M379.70339 256.62712l.16367 10.14724 3.2733-1.0911-1.41843 12.43856 5.78284-16.03919-3.32786 1.0911 2.1822-8.83793zM245.03645 297.58278l2.54732 2.54124-3.47443.93542z"/><path transform="matrix(-0.45296195,-0.89152985,0.99949115,0.03189732,0,0)" d="M-387.4696 -43.368736H-382.1887272V-38.0878632H-387.4696z"/><circle r="2.618644" cy="377.52118" cx="19.3125"/></g><g fill="none"><path d="M 68.521187,8.947033 V 19.094279"/><circle cx="136.09708" cy="29.940617" r="8.9496946"/><path d="M338.89619 48.008474h13.31144V26.841101zM218.43856 49.426906l16.69386 11.565678"/><path transform="rotate(-45)" d="M-39.141823 67.225685H-27.614811000000003V78.752697H-39.141823z"/><path d="M327.54873 108.67373L331.91314 128.75M227.4947 136.93326l.54555-.76377 6.65573-11.45657 9.49258 11.02013-6.87394 12.54767zM8.9470339 139.66102L19.20339 138.56991M76.22671 157.39662l-.92583 20.98549 15.121898-14.35038zM373.05675 180.79483a10.955661 10.955661 0 017.76977-11.99937 10.955661 10.955661 0 0113.0214 5.89893M303.54448 247.46187l6.67866 7.63562-3.2733 9.60169-9.95197 1.96608-6.67865-7.63561 3.2733-9.60169zM173.15784 271.4661h17.45763v-17.56674"/><path transform="rotate(-6.6349419)" d="M12.725653 283.21948H20.8290542V305.725807H12.725653z"/><path d="M326.66386 323.8918l14.50468 13.73315M236.22352 373.70231l-9.59253-11.70115 14.92976-2.4568z"/><circle cx="361.99973" cy="367.25153" r="5.5549831"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="95" height="95" version="1.0"><path d="M 8.4533898,58.972458 31.599576,82.923729 c 0,0 25.762712,-56.959746 55.148305,-74.0677968" fill="none" stroke="#259b24" stroke-width="12px" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
<RCC>
<qresource prefix="/images/">
<file alias="banner.png">banner.png</file>
<file alias="chat.png">chat.png</file>
<file alias="message_checkmark.svg">message_checkmark.svg</file>
<file alias="kaidan.svg">kaidan.svg</file>
<file>banner.png</file>
<file>chat-page-background.svg</file>
<file>check-mark.svg</file>
<file>kaidan.svg</file>
</qresource>
<qresource prefix="/org/kde/kirigami/icons/">
<file alias="kaidan.svg">kaidan.svg</file>
<qresource prefix="/icons/breeze/apps/48/">
<file>kaidan.svg</file>
<file>kaidan-bw.svg</file>
</qresource>
</RCC>
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 255.99999">
<path fill="#0d0d0d" d="M 128.00195 11.371094 C 63.570528 11.371094 11.333984 63.605389 11.333984 128.03906 C 11.333984 160.2559 20.563722 193.25433 41.675781 214.36133 C 62.788402 235.47451 95.786508 244.70508 128.00391 244.70508 C 192.43646 244.70508 244.66992 192.47078 244.66992 128.03711 L 244.66797 128.03906 C 244.66797 63.605389 192.43563 11.368846 128.00195 11.371094 z M 77.134766 69.181641 L 179.02734 69.181641 C 186.44187 69.181641 192.41016 75.149929 192.41016 82.564453 C 192.41016 89.978977 186.44187 95.949219 179.02734 95.949219 L 77.134766 95.949219 C 69.720241 95.949219 63.75 89.978977 63.75 82.564453 C 63.75 75.149929 69.720241 69.181641 77.134766 69.181641 z M 59.693359 114.64648 L 196.31445 114.64648 C 203.72898 114.64648 209.69922 120.61477 209.69922 128.0293 C 209.69922 135.44382 203.72898 141.41406 196.31445 141.41406 L 59.693359 141.41406 C 52.278835 141.41406 46.310547 135.44382 46.310547 128.0293 C 46.310547 120.61477 52.278835 114.64648 59.693359 114.64648 z M 77.0625 160.94922 C 84.477024 160.94922 90.447266 166.91946 90.447266 174.33398 C 90.447266 181.74851 84.477024 187.7168 77.0625 187.7168 C 69.647976 187.7168 63.679688 181.74851 63.679688 174.33398 C 63.679688 166.91946 69.647976 160.94922 77.0625 160.94922 z M 112.88281 160.94922 L 178.95898 160.94922 C 186.37351 160.94922 192.3418 166.91946 192.3418 174.33398 C 192.3418 181.74851 186.37351 187.7168 178.95898 187.7168 L 112.88281 187.7168 C 105.46829 187.7168 99.5 181.74851 99.5 174.33398 C 99.5 166.91946 105.46829 160.94922 112.88281 160.94922 z" filter="url(#e)" transform="translate(0 -796.36) matrix(1.011 0 0 1.011 -1.4036 -10.136) matrix(0.98911968,0,0,0.98911968,1.3883284,797.72107)"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="95" height="95" version="1.0">
<path fill="#259b24" fill-rule="evenodd" d="M2.4 61.4S19 81.7 24.7 87.6c3.7 3 13 3.8 15 0 1.6-2.7 2.3-6 3-8 7.2-25 29.6-57.3 49.6-69 4.5-5.4-6-7-15-3.6-13.8 5.3-43.2 52.5-48 62.2-7 1.6-16.8-16.8-16.8-16.8-5 .2-10.6-.3-10 9z"/>
</svg>
......@@ -20,6 +20,7 @@
* [ ] Update screenshot
* [ ] Update version and date in *index.html*
* [ ] Publish blog post
* [ ] Update supported features in *supported-xeps.md*
### Mastodon
......@@ -44,9 +45,8 @@
1. Check correct functionality of all release builds
1. [Update license information](license.md)
1. In *CMakeLists.txt*:
1. Change `set(VERSION_STRING "X.Y.Z-dev")` to `set(VERSION_STRING "X.Y.Z")`
1. Change `set(DEVELOPMENT_BUILD TRUE)` to `set(DEVELOPMENT_BUILD FALSE)`
1. Change `set(ANDROID_VERSION_CODE N)` to `set(ANDROID_VERSION_CODE N+1)`
1. Set `DEVELOPMENT_BUILD` to `FALSE`
1. Increase `VERSION_CODE` by one
1. `git add CMakeLists.txt`
1. Update changelog (*changelog.md*):
1. Set release date
......@@ -74,13 +74,13 @@
1. `git checkout master`
1. `git merge stable`
1. Start new development version:
* **X.Y.Z, X.Y+1 and N+1 must be adjusted to correspond to the actual version.**
* **X.Y.Z must be adjusted to correspond to the actual version.**
1. In *CMakeLists.txt*:
1. Change `set(VERSION_STRING "X.Y.Z")` to `set(VERSION_STRING "X.Y+1.0-dev")`
1. Change `set(DEVELOPMENT_BUILD FALSE)` to `set(DEVELOPMENT_BUILD TRUE)`
1. Change `set(ANDROID_VERSION_CODE N)` to `set(ANDROID_VERSION_CODE N+1)`
1. Increase `VERSION_MINOR` by one and reset `VERSION_PATCH` to 0
1. Set `DEVELOPMENT_BUILD` to `TRUE` again
1. Increase `VERSION_CODE` by one
1. `git add CMakeLists.txt`
1. `git commit -m "Continue with Kaidan vX.Y+1.0-dev"`
1. `git commit -m "Continue with Kaidan vX.Y.Z-dev"`
1. `git push origin master`
### In Repository **https://invent.kde.org/websites/kaidan-im.git**
......@@ -89,7 +89,7 @@
1. `git pull origin master`
1. Update screenshot (which will update the screenshot on the website and in the README):
1. Create one screenshot for desktop and one for mobile version
1. Put those two screenshots into one image like *images/screenshot.png* and overwrite that by that by the new one
1. Put those two screenshots into one image like *images/screenshot.png* and overwrite that by the new one
1. `optipng -o7 images/screenshot.png`
1. `advpng -z4 images/screenshot.png`
1. `git add images/screenshot.png`
......@@ -99,11 +99,19 @@
1. `<h3>Current version: X.Y.Z</h3>`
1. `<h4>(released MONTH DAY, YEAR)</h4>`
1. Publish blog post:
1. Create *_posts/YEAR-MONTH-DAY-kaidan-X.Y.Z.md*
1. Create *_posts/YYYY-MM-DD-kaidan-X.Y.Z.md*
1. Add header as in other posts of that directory
1. Copy *images/screenshot.png* to *images/screenshots/screenshot-X.Y*
1. Include *images/screenshots/screenshot-X.Y* into blog post
1. Add changelog part for vX.Y.Z
1. `git add _posts/YYYY-MM-DD-kaidan-X.Y.Z.md`
1. `git commit -m "Add post about Kaidan X.Y.Z"`
1. `git push origin master`
1. Update supported features
1. Modify *supported-xeps.md*
1. `git add supported-xeps.md`
1. `git commit -m "Update supported features"`
1. `git push origin master`
### On Mastodon via **https://fosstodon.org/@kaidan**
......
......@@ -67,7 +67,7 @@ endforeach()
# Add all translations to the binary via. rcc / qrc file
#
set(I18N_QRC_NAME 0_i18n)
set(I18N_QRC_NAME translations)
set(I18N_QRC_INPUT ${CMAKE_CURRENT_LIST_DIR}/${I18N_QRC_NAME}.qrc)
set(I18N_QRC_COPY ${CMAKE_CURRENT_BINARY_DIR}/kaidan_i18n.qrc)
set(I18N_QRC_CPP ${CMAKE_CURRENT_BINARY_DIR}/qrc_kaidan_i18n.cpp)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<RCC>
<qresource prefix="/i18n">
<file>ar.qm</file>
<file>ca.qm</file>
<file>cs.qm</file>
<file>de.qm</file>
......@@ -7,6 +8,7 @@
<file>es.qm</file>
<file>eu.qm</file>
<file>fr.qm</file>
<file>gl.qm</file>
<file>it.qm</file>
<file>ja.qm</file>
<file>ms.qm</file>
......@@ -15,5 +17,6 @@
<file>pl.qm</file>
<file>pt.qm</file>
<file>ru.qm</file>
<file>uk.qm</file>
</qresource>
</RCC>
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="">
</TS>
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0"?>
<manifest package="@APPLICATION_ID@" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="@VERSION_STRING@" android:versionCode="@ANDROID_VERSION_CODE@" android:installLocation="auto">
<manifest package="@APPLICATION_ID@" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="@VERSION_STRING@" android:versionCode="@VERSION_CODE@" android:installLocation="auto">
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="@APPLICATION_DISPLAY_NAME@" android:icon="@mipmap/icon">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="Kaidan" android:screenOrientation="unspecified" android:launchMode="singleTop" android:windowSoftInputMode="adjustResize">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="@APPLICATION_DISPLAY_NAME@" android:screenOrientation="unspecified" android:launchMode="singleTop" android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
......@@ -11,7 +11,8 @@
<!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
<!-- Application arguments -->
<meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
<!-- the lib_name must not be inserted by a cmake variable here, this is because of the binary-factory scripts -->
<meta-data android:name="android.app.lib_name" android:value="kaidan"/>
<meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
<meta-data android:name="android.app.repository" android:value="default"/>
<meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
......
This diff is collapsed.
#Mon Feb 20 10:43:22 EST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-bin.zip
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.