qTox 1.3.0 release
All: - New and improved sound code - New HTTPS ToxMe protocol support - Translation updates - Miscellaneous fixes and polishing OSX: - Video! Windows: - Updater now works better with Portable mode
90
.travis.yml
|
@ -1,85 +1,13 @@
|
|||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
language: cpp
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
|
||||
sudo: true
|
||||
|
||||
before_install:
|
||||
# Qt >= 5.2
|
||||
- sudo add-apt-repository -y ppa:beineri/opt-qt542
|
||||
# GCC >=4.8
|
||||
- if [ "$CXX" == "g++" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi
|
||||
- if [ "$CXX" == "clang++" ]; then sudo add-apt-repository -y ppa:h-rayflood/llvm; fi
|
||||
- sudo apt-get update -qq
|
||||
|
||||
install:
|
||||
# install needed Qt stuff
|
||||
- sudo apt-get install -y build-essential qt54base qt54script qt54svg qt54tools qt54xmlpatterns libopenal-dev libxss-dev qrencode libqrencode-dev libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev libtool autotools-dev automake checkinstall check libvpx-dev
|
||||
# install needed GCC version and set VM to use
|
||||
- if [ "$CC" == "gcc" ]; then sudo apt-get install -qq gcc-4.9; fi
|
||||
- if [ "$CC" == "gcc" ]; then export CC="gcc-4.9"; fi
|
||||
- if [ "$CXX" == "g++" ]; then sudo apt-get install -qq g++-4.9; fi
|
||||
- if [ "$CXX" == "g++" ]; then export CXX="g++-4.9"; fi
|
||||
# clang
|
||||
- if [ "$CXX" == "clang++" ]; then sudo apt-get install --allow-unauthenticated -qq clang-3.4; fi
|
||||
- if [ "$CXX" == "clang++" ]; then export CXX="clang++-3.4"; fi
|
||||
|
||||
|
||||
before_script:
|
||||
# libopus
|
||||
- wget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz > /dev/null
|
||||
- tar xzf opus-1.0.3.tar.gz > /dev/null
|
||||
- cd opus-1.0.3
|
||||
- ./configure > /dev/null
|
||||
- make -j$(nproc) > /dev/null
|
||||
- sudo make install > /dev/null
|
||||
- cd ..
|
||||
# ffmpeg
|
||||
- if [ ! -e "libs" ]; then mkdir libs; fi
|
||||
- if [ ! -e "ffmpeg" ]; then mkdir ffmpeg; fi
|
||||
#
|
||||
- cd libs/
|
||||
- export PREFIX_DIR="$PWD"
|
||||
#
|
||||
- cd ../ffmpeg
|
||||
- wget http://ffmpeg.org/releases/ffmpeg-2.7.2.tar.bz2
|
||||
- tar xf ffmpeg*
|
||||
- cd ffmpeg*
|
||||
- ./configure --prefix="$PREFIX_DIR" --enable-shared --disable-static --disable-programs --disable-protocols --disable-doc --disable-sdl --disable-avfilter --disable-avresample --disable-filters --disable-iconv --disable-network --disable-muxers --disable-postproc --disable-swresample --disable-swscale-alpha --disable-dct --disable-dwt --disable-lsp --disable-lzo --disable-mdct --disable-rdft --disable-fft --disable-faan --disable-vaapi --disable-vdpau --disable-zlib --disable-xlib --disable-bzlib --disable-lzma --disable-encoders --disable-yasm --enable-memalign-hack
|
||||
- make -j$(nproc)
|
||||
- make install
|
||||
- cd ../../
|
||||
# filter_audio
|
||||
- git clone https://github.com/irungentoo/filter_audio
|
||||
- cd filter_audio
|
||||
- make -j$(nproc)
|
||||
- sudo make install
|
||||
- cd ..
|
||||
# libsodium
|
||||
- git clone git://github.com/jedisct1/libsodium.git
|
||||
- cd libsodium
|
||||
- git checkout tags/1.0.3
|
||||
- ./autogen.sh
|
||||
- ./configure && make -j$(nproc)
|
||||
- sudo checkinstall --install --pkgname libsodium --pkgversion 1.0.0 --nodoc -y
|
||||
- sudo ldconfig
|
||||
- cd ..
|
||||
# toxcore
|
||||
- git clone https://github.com/irungentoo/toxcore.git
|
||||
- cd toxcore
|
||||
- autoreconf -if
|
||||
- ./configure
|
||||
- make -j$(nproc)
|
||||
- sudo make install
|
||||
- echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
|
||||
- sudo ldconfig
|
||||
- cd ..
|
||||
# Qt
|
||||
- source /opt/qt54/bin/qt54-env.sh
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
script:
|
||||
- qmake qtox.pro QMAKE_CC="$CC" QMAKE_CXX="$CXX"
|
||||
- $CC --version
|
||||
- $CXX --version
|
||||
- make -j10
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then bash ./.travis/build-ubuntu_14_04.sh; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then bash ./osx/qTox-Mac-Deployer-ULTIMATE.sh -i ; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then bash ./osx/qTox-Mac-Deployer-ULTIMATE.sh -b ; fi
|
||||
|
|
101
.travis/build-ubuntu_14_04.sh
Executable file
|
@ -0,0 +1,101 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Copyright © 2015-2016 by The qTox Project
|
||||
#
|
||||
# This program is libre software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
# Qt 5.3, since that's the lowest supported version
|
||||
sudo add-apt-repository -y ppa:beineri/opt-qt532-trusty
|
||||
sudo apt-get update -qq
|
||||
|
||||
# install needed Qt, OpenAL, opus, qrencode, GTK tray deps, sqlcipher
|
||||
sudo apt-get install -y build-essential \
|
||||
qt53base \
|
||||
qt53script \
|
||||
qt53svg \
|
||||
qt53tools \
|
||||
qt53xmlpatterns \
|
||||
libopenal-dev \
|
||||
libxss-dev qrencode \
|
||||
libqrencode-dev \
|
||||
libglib2.0-dev \
|
||||
libgdk-pixbuf2.0-dev \
|
||||
libgtk2.0-dev \
|
||||
libsqlcipher-dev \
|
||||
libtool \
|
||||
autotools-dev \
|
||||
automake \
|
||||
checkinstall \
|
||||
check \
|
||||
libopus-dev \
|
||||
libvpx-dev
|
||||
|
||||
# Qt
|
||||
source /opt/qt53/bin/qt53-env.sh
|
||||
|
||||
# ffmpeg
|
||||
if [ ! -e "libs" ]; then mkdir libs; fi
|
||||
if [ ! -e "ffmpeg" ]; then mkdir ffmpeg; fi
|
||||
#
|
||||
cd libs/
|
||||
export PREFIX_DIR="$PWD"
|
||||
#
|
||||
cd ../ffmpeg
|
||||
wget http://ffmpeg.org/releases/ffmpeg-2.8.5.tar.bz2
|
||||
tar xf ffmpeg*
|
||||
cd ffmpeg*
|
||||
./configure --prefix="$PREFIX_DIR" --enable-shared --disable-static --disable-programs --disable-protocols --disable-doc --disable-sdl --disable-avfilter --disable-avresample --disable-filters --disable-iconv --disable-network --disable-muxers --disable-postproc --disable-swresample --disable-swscale-alpha --disable-dct --disable-dwt --disable-lsp --disable-lzo --disable-mdct --disable-rdft --disable-fft --disable-faan --disable-vaapi --disable-vdpau --disable-zlib --disable-xlib --disable-bzlib --disable-lzma --disable-encoders --disable-yasm --enable-memalign-hack
|
||||
make -j$(nproc)
|
||||
make install
|
||||
cd ../../
|
||||
# filter_audio
|
||||
git clone https://github.com/irungentoo/filter_audio
|
||||
cd filter_audio
|
||||
make -j$(nproc)
|
||||
sudo make install
|
||||
cd ..
|
||||
# libsodium
|
||||
git clone git://github.com/jedisct1/libsodium.git
|
||||
cd libsodium
|
||||
git checkout tags/1.0.8
|
||||
./autogen.sh
|
||||
./configure && make -j$(nproc)
|
||||
sudo checkinstall --install --pkgname libsodium --pkgversion 1.0.8 --nodoc -y
|
||||
sudo ldconfig
|
||||
cd ..
|
||||
# toxcore
|
||||
git clone https://github.com/irungentoo/toxcore.git
|
||||
cd toxcore
|
||||
autoreconf -if
|
||||
./configure
|
||||
make -j$(nproc) > /dev/null
|
||||
sudo make install
|
||||
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
|
||||
sudo ldconfig
|
||||
cd ..
|
||||
|
||||
$CC --version
|
||||
$CXX --version
|
||||
# first build qTox without support for optional dependencies
|
||||
echo '*** BUILDING "MINIMAL" VERSION ***'
|
||||
qmake qtox.pro QMAKE_CC="$CC" QMAKE_CXX="$CXX" DISABLE_FILTER_AUDIO=YES ENABLE_SYSTRAY_STATUSNOTIFIER_BACKEND=NO ENABLE_SYSTRAY_GTK_BACKEND=NO DISABLE_PLATFORM_EXT=YES
|
||||
# ↓ with $(nproc) fails, since travis gives 32 threads, and it leads to OOM
|
||||
make -j10
|
||||
# clean it up, and build normal version
|
||||
make clean
|
||||
echo '*** BUILDING "FULL" VERSION ***'
|
||||
qmake qtox.pro QMAKE_CC="$CC" QMAKE_CXX="$CXX"
|
||||
# ↓ with $(nproc) fails, since travis gives 32 threads, and it leads to OOM
|
||||
make -j10
|
37
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Filing an issue
|
||||
|
||||
### Must read
|
||||
* If you aren't sure, you can ask on the [**IRC channel**](https://webchat.freenode.net/?channels=qtox) or read our [**wiki**](https://github.com/tux3/qTox/wiki) first.
|
||||
* Do a quick **search**. Others might have already reported the issue.
|
||||
* Write in **English**!
|
||||
* Provide **version** information: (You can find version numbers in menu `Settings → About`)
|
||||
```
|
||||
qTox:
|
||||
Commit hash:
|
||||
toxcore:
|
||||
Qt:
|
||||
OS version:
|
||||
|
||||
```
|
||||
* Provide **steps** to reproduce the problem, it will be easier to pinpoint the fault.
|
||||
* **Screenshots**! A screenshot is worth a thousand words. Just upload it. [(How?)](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests)
|
||||
|
||||
### Good to know
|
||||
* **Patience**. The dev team is small and resource limited. Devs have to find time, analyze the problem and fix the issue, it all takes time. :clock3:
|
||||
* If you can code, why not become a **contributor** by fixing the issue and opening a pull request? :wink:
|
||||
* Harsh words or threats won't help your situation. What's worse, your complaint will (very likely) be **ignored**. :fearful:
|
||||
|
||||
|
||||
# Opening a pull request
|
||||
|
||||
### Must read
|
||||
* Read our [**coding guidelines**](https://github.com/tux3/qTox/wiki/Coding).
|
||||
* Keep the title **short** and provide a **clear** description about what your pull request does.
|
||||
* Provide **screenshots** for UI related changes.
|
||||
* Keep your git commit history **clean** and **precise**. Commits like `xxx fixup` should not appear.
|
||||
* If your commit fixes a reported issue (for example #4134), add the following message to the commit `Fixes #4134.`. [Here is an example](https://github.com/tux3/qTox/commit/87160526d5bafcee7869d6741a06045e13d731d5).
|
||||
|
||||
### Good to know
|
||||
* **Search** the pull request history! Others might have already implemented your idea and it could be waiting to be merged (or have been rejected already). Save your precious time by doing a search first.
|
||||
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. [Here is a good explanation](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).
|
||||
|
147
INSTALL.md
|
@ -32,6 +32,7 @@
|
|||
- [Ubuntu <15.04](#ubuntu14-toxcore)
|
||||
- [Ubuntu >=15.04](#ubuntu-toxcore)
|
||||
- [filter_audio](#filter_audio)
|
||||
- [sqlcipher](#sqlcipher)
|
||||
- [toxcore compiling](#toxcore-compiling)
|
||||
- [Compile qTox](#compile-qtox)
|
||||
- [OS X](#osx)
|
||||
|
@ -42,7 +43,7 @@
|
|||
|
||||
| Name | Version | Modules |
|
||||
|--------------|-------------|-------------------------------------------------- |
|
||||
| Qt | >= 5.2.0 | core, gui, network, opengl, sql, svg, widget, xml |
|
||||
| Qt | >= 5.3.0 | core, gui, network, opengl, sql, svg, widget, xml |
|
||||
| GCC/MinGW | >= 4.8 | C++11 enabled |
|
||||
| toxcore | most recent | core, av |
|
||||
| FFmpeg | >= 2.6.0 | avformat, avdevice, avcodec, avutil, swscale |
|
||||
|
@ -77,10 +78,10 @@ There are available generic binaries for Linux:
|
|||
<a name="arch-easy" />
|
||||
#### Arch
|
||||
|
||||
**Please note that installing toxcore/qTox from AUR is not supported**, although installing other dependencies, provided that they met requirements, should be fine, unless you are installing cryptography library from AUR, which should rise red flags by itself…
|
||||
|
||||
That being said, there are supported PKGBUILDs at https://github.com/Tox/arch-repo-tox
|
||||
|
||||
PKGBUILD is available in the `community` repo, to install:
|
||||
```bash
|
||||
pacman -S qtox
|
||||
```
|
||||
|
||||
<a name="gentoo-easy" />
|
||||
#### Gentoo
|
||||
|
@ -191,16 +192,21 @@ sudo apt-get install build-essential qt5-qmake qt5-default qttools5-dev-tools li
|
|||
|
||||
<a name="fedora-other-deps" />
|
||||
#### Fedora:
|
||||
**Note that sqlcipher is not included in Fedora(!).**
|
||||
|
||||
**This means that you have to compile sqlcipher yourself, otherwise compiling qTox will fail.**
|
||||
```bash
|
||||
sudo dnf group install "Development Tools"
|
||||
sudo dnf install qt-devel qt-doc qt-creator qt5-qtsvg qt5-qtsvg-devel openal-soft-devel libXScrnSaver-devel qrencode-devel ffmpeg-devel qtsingleapplication qt5-linguist gtk2-devel
|
||||
```
|
||||
|
||||
**Go to [sqlcipher](#sqlcipher) section to compile it.**
|
||||
|
||||
<a name="opensuse-other-deps" />
|
||||
#### openSUSE:
|
||||
|
||||
```bash
|
||||
sudo zypper install patterns-openSUSE-devel_basis libqt5-qtbase-common-devel libqt5-qtsvg-devel libqt5-linguist libQt5Network-devel libQt5OpenGL-devel libQt5Concurrent-devel libQt5Xml-devel libQt5Sql-devel openal-soft-devel qrencode-devel libXScrnSaver-devel libQt5Sql5-sqlite libffmpeg-devel
|
||||
sudo zypper install patterns-openSUSE-devel_basis libqt5-qtbase-common-devel libqt5-qtsvg-devel libqt5-linguist libQt5Network-devel libQt5OpenGL-devel libQt5Concurrent-devel libQt5Xml-devel libQt5Sql-devel openal-soft-devel qrencode-devel libXScrnSaver-devel libQt5Sql5-sqlite libffmpeg-devel sqlcipher-devel
|
||||
```
|
||||
|
||||
<a name="slackware-other-deps" />
|
||||
|
@ -332,7 +338,7 @@ You will need to install manually `libsodium`:
|
|||
```
|
||||
git clone git://github.com/jedisct1/libsodium.git
|
||||
cd libsodium
|
||||
git checkout tags/1.0.3
|
||||
git checkout tags/1.0.8
|
||||
./autogen.sh
|
||||
./configure && make check
|
||||
sudo checkinstall --install --pkgname libsodium --pkgversion 1.0.0 --nodoc
|
||||
|
@ -360,15 +366,52 @@ The script will automatically download and install `toxcore` and `libfilteraudio
|
|||
```
|
||||
If you've used script, you can skip directly to [compiling qTox](#compile-qtox).
|
||||
|
||||
|
||||
If you want to compile and install it manually:
|
||||
```bash
|
||||
```
|
||||
git clone https://github.com/irungentoo/filter_audio
|
||||
cd filter_audio
|
||||
make -j$(nproc)
|
||||
sudo make install
|
||||
```
|
||||
|
||||
### sqlcipher
|
||||
|
||||
If you are not using Fedora, skip this section, and go directly to compiling [**toxcore**](#toxcore-compiling).
|
||||
|
||||
This method automatically detects whether to link statically or dynamically,
|
||||
depending on your system configs.
|
||||
```
|
||||
git clone https://github.com/sqlcipher/sqlcipher
|
||||
cd sqlcipher
|
||||
autoreconf -if
|
||||
./configure
|
||||
make -j$(nproc)
|
||||
sudo make install
|
||||
cd ..
|
||||
```
|
||||
If you wish to explictly link sqlcipher statically or dynamically use:
|
||||
|
||||
#### Statically linked:
|
||||
```
|
||||
git clone https://github.com/sqlcipher/sqlcipher
|
||||
cd sqlpcipher
|
||||
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
|
||||
LDFLAGS="/opt/local/lib/libcrypto.a"
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
```
|
||||
|
||||
#### Dynamically linked:
|
||||
```
|
||||
git clone https://github.com/sqlcipher/sqlcipher
|
||||
cd sqlcipher
|
||||
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
|
||||
LDFLAGS="-lcrypto"
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
```
|
||||
|
||||
### toxcore compiling
|
||||
|
||||
|
@ -437,13 +480,53 @@ packages necessary for building .debs, so be prepared to type your password for
|
|||
|
||||
<a name="osx" />
|
||||
## OS X
|
||||
|
||||
Compiling qTox on OS X for development requires 3 tools, [Xcode](https://developer.apple.com/xcode/) and [Qt 5.4+](http://www.qt.io/qt5-4/), and [homebrew](http://brew.sh).
|
||||
|
||||
### Required Libraries
|
||||
### Automated Script
|
||||
You can now set up your OS X system to compile qTox automatically thanks to the script in:
|
||||
`./osx/qTox-Mac-Deployer-ULTIMATE.sh`
|
||||
|
||||
This script can be run independently of the qTox repo and is all that's needed to build from scratch on OS X.
|
||||
|
||||
To use this script you must launch terminal which can be found: `Applications > Utilities > Terminal.app`
|
||||
|
||||
If you wish to lean more you can run `./qTox-Mac-Deployer-ULTIMATE.sh -h`
|
||||
|
||||
#### First Run / Install
|
||||
If you are running the script for the first time you will want to makesure your system is ready.
|
||||
To do this simply run `./qTox-Mac-Deployer-ULTIMATE.sh -i` to run you through the automated install set up.
|
||||
|
||||
After running the installation setup you are now ready to build qTox from source, to do this simply run:
|
||||
`./qTox-Mac-Deployer-ULTIMATE.sh -b`
|
||||
|
||||
If there aren't any errors then you'll find a locally working qTox application in your home folder under
|
||||
`~/qTox-Mac_Build`
|
||||
|
||||
#### Updating
|
||||
If you want to update your application for testing purposes or you want to run a nightly build setup then run:
|
||||
`./qTox-Mac-Deployer-ULTIMATE.sh -u` and follow the prompts.
|
||||
(NOTE: If you know you updated the repos before running this hit Y)
|
||||
followed by
|
||||
`./qTox-Mac-Deployer-ULTIMATE.sh -b`
|
||||
to build the application once more. (NOTE: This will delete your previous build.)
|
||||
|
||||
#### Deploying
|
||||
OS X requires an extra step to make the `qTox.app` file shareable on a system that doesn't have the required libraries installed already.
|
||||
|
||||
If you want to share the build you've made with your other friends who use OS X then simply run:
|
||||
`./qTox-Mac-Deployer-ULTIMATE.sh -d`
|
||||
|
||||
### Manual Compiling
|
||||
#### Required Libraries
|
||||
Install homebrew if you don't have it:
|
||||
```bash
|
||||
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
```
|
||||
|
||||
First, let's install the dependencies available via brew.
|
||||
```bash
|
||||
brew install git ffmpeg qrencode
|
||||
brew install git ffmpeg qrencode libtool automake autoconf check qt5 libvpx opus sqlcipher libsodium
|
||||
```
|
||||
|
||||
Next, install [filter_audio](https://github.com/irungentoo/filter_audio) (you may delete the directory it creates afterwards):
|
||||
|
@ -454,6 +537,8 @@ sudo make install
|
|||
cd ../
|
||||
```
|
||||
|
||||
Next, install [Toxcore](https://github.com/irungentoo/toxcore/blob/master/INSTALL.md#osx)
|
||||
|
||||
Then, clone qTox:
|
||||
```bash
|
||||
git clone https://github.com/tux3/qTox``
|
||||
|
@ -461,38 +546,36 @@ git clone https://github.com/tux3/qTox``
|
|||
|
||||
Finally, copy all required files. Whenever you update your brew packages, you may skip all of the above steps and simply run the following commands:
|
||||
```bash
|
||||
cd qTox
|
||||
cd ./git/qTox
|
||||
sudo bash bootstrap-osx.sh
|
||||
```
|
||||
|
||||
###Compiling
|
||||
#### Compiling
|
||||
You can build qTox with Qt Creator [seperate download](http://www.qt.io/download-open-source/#section-6) or you can hunt down the version of home brew qt5 your using in the `/usr/local/Cellar/qt5/` directory.
|
||||
e.g. `/usr/local/Cellar/qt5/5.5.1_2/bin/qmake` with `5.5.1_2` being the version of Qt5 that's been installed.
|
||||
|
||||
Either open Qt creator and hit build or run ```qmake && make``` in your qTox folder and it'll just work™.
|
||||
|
||||
Note that if you use the CLI to build you'll need to add Qt5's bins to your path.
|
||||
With that; in your terminal you can compile qTox in the git dir:
|
||||
```bash
|
||||
export PATH=$PATH:~/Qt/5.4/clang_64/bin/
|
||||
/usr/local/Cellar/qt5/5.5.1_2/bin/qmake ./qtox.pro
|
||||
```
|
||||
|
||||
### Fixing things up
|
||||
|
||||
The bad news is that Qt breaks our linker paths so we need to fix those. First cd in to your qtox.app directory, if you used Qt Creator it's in ```~/build-qtox-Desktop_Qt_5_4_1_clang_64bit-Release``` most likely, otherwise it's in your qTox folder.
|
||||
|
||||
Install qTox so we can copy its libraries and shove the following in a script somewhere:
|
||||
|
||||
Or a cleaner method would be to:
|
||||
```bash
|
||||
~macdeployqt qtox.app
|
||||
cp -r /Applications/qtox.app qtox_old.app
|
||||
cp qtox.app/Contents/MacOS/qtox qtox_old.app/Contents/MacOS/qtox
|
||||
rm -rf qtox.app
|
||||
mv qtox_old.app qtox.app
|
||||
cd ./git/dir/qTox
|
||||
mkdir ./build
|
||||
cd build
|
||||
/usr/local/Cellar/qt5/5.5.1_2/bin/qmake ../qtox.pro
|
||||
```
|
||||
* Give it a name like ~/deploy.qtox.sh
|
||||
* cd in to the folder with qtox.app
|
||||
* run ```bash ~/deploy.qtox.sh```
|
||||
|
||||
#### Deploying
|
||||
If you compiled qTox properly you can now deploy the `qTox.app` that's created where you built qTox so you can distribute the package.
|
||||
|
||||
### Running qTox
|
||||
Using your qt5 homebrew installation from the build directory:
|
||||
```bash
|
||||
/usr/local/Cellar/qt5/5.5.1_2/bin/macdeployqt ./qTox.app
|
||||
```
|
||||
|
||||
#### Running qTox
|
||||
You've got 2 choices, either click on the qTox app that suddenly exists, or do the following:
|
||||
```bash
|
||||
qtox.app/Contents/MacOS/qtox
|
||||
|
|
18
OSX-Migrater.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# A qTox profile migrater for OSX
|
||||
now=$(date +"%m_%d_%Y-%H.%M.%S")
|
||||
bak="~/.Tox-Backup-$now"
|
||||
|
||||
echo "Figuring out if action is required ..."
|
||||
if [ -d ~/Library/Preferences/tox ]; then
|
||||
echo "Moving profile(s) ..."
|
||||
cp -r ~/Library/Preferences/tox ~/Library/Application\ Support/
|
||||
mv ~/Library/Application\ Support/tox/ ~/Library/Application\ Support/Tox
|
||||
mv ~/Library/Preferences/tox ~/.Tox-Backup-$now
|
||||
echo "Done! You profile(s) have been moved! A back up coppy still exists at:"
|
||||
echo "$bak"
|
||||
else
|
||||
echo "Cannot locate old profile directory, profile migration not performed"
|
||||
fi
|
||||
exit 0
|
14
README.md
|
@ -1,15 +1,17 @@
|
|||
qTox [![Build Status](https://travis-ci.org/tux3/qTox.svg)](https://travis-ci.org/tux3/qTox)
|
||||
qTox
|
||||
======
|
||||
|
||||
[**Compile**](/INSTALL.md) **⦁** [**Contribute**](https://github.com/tux3/qTox/wiki#contributing) **⦁** [**Report bugs**](https://github.com/tux3/qTox/wiki/Writing-Useful-Bug-Reports) **⦁** [**Translate**](https://github.com/tux3/qTox/wiki/Translating) **⦁** [**Jenkins builds**](https://build.tox.chat/) **⦁** [**Keyboard shortcuts**](https://github.com/tux3/qTox/wiki/Keyboard-shortcuts) **⦁** [**Mailing list**](https://lists.tox.chat) **⦁** **IRC Channel:** [#qtox@freenode](https://webchat.freenode.net/?channels=qtox)
|
||||
[**User Manual**](/doc/user_manual_en.md) **⦁** [**Compile**](/INSTALL.md) **⦁** [**Contribute**](https://github.com/tux3/qTox/wiki#contributing) **⦁** [**Report bugs**](https://github.com/tux3/qTox/wiki/Writing-Useful-Bug-Reports) **⦁** [**Translate**](https://github.com/tux3/qTox/wiki/Translating) **⦁** [**Jenkins builds**](https://build.tox.chat/) **⦁** [**Keyboard shortcuts**](https://github.com/tux3/qTox/wiki/Keyboard-shortcuts) **⦁** [**Mailing list**](https://lists.tox.chat) **⦁** **IRC Channel:** [#qtox@freenode](https://webchat.freenode.net/?channels=qtox)
|
||||
|
||||
**qTox is a powerful Tox client that follows the Tox design guidelines while running on all major platforms.**
|
||||
|
||||
----
|
||||
|
||||
* **Windows**:
|
||||
- [**64 bit download**](https://build.tox.chat/view/qtox/job/qTox_pkg_windows_x86-64_stable_release/lastSuccessfulBuild/artifact/setup-qtox.exe)
|
||||
- [**32 bit download**](https://build.tox.chat/view/qtox/job/qTox_pkg_windows_x86_stable_release/lastSuccessfulBuild/artifact/setup-qtox.exe)
|
||||
- [**64 bit installer**](https://build.tox.chat/view/qtox/job/qTox_pkg_windows_x86-64_stable_release/lastSuccessfulBuild/artifact/setup-qtox.exe)
|
||||
- [**32 bit installer**](https://build.tox.chat/view/qtox/job/qTox_pkg_windows_x86_stable_release/lastSuccessfulBuild/artifact/setup-qtox.exe)
|
||||
- [**64 bit portable**](https://build.tox.chat/job/qTox_build_windows_x86-64_release/lastSuccessfulBuild/artifact/qTox_build_windows_x86-64_release.zip)
|
||||
- [**32 bit portable**](https://build.tox.chat/job/qTox_build_windows_x86_release/lastSuccessfulBuild/artifact/qTox_build_windows_x86_release.zip)
|
||||
* **Linux**:
|
||||
- [**64 bit download**](https://build.tox.chat/view/Clients/job/qTox_build_linux_x86-64_release/lastSuccessfulBuild/artifact/qTox_build_linux_x86-64_release.tar.xz)
|
||||
- [**32 bit download**](https://build.tox.chat/view/Clients/job/qTox_build_linux_x86_release/lastSuccessfulBuild/artifact/qTox_build_linux_x86_release.tar.xz)
|
||||
|
@ -22,7 +24,7 @@ qTox [![Build Status](https://travis-ci.org/tux3/qTox.svg)](https://travis-ci.or
|
|||
- [**Port**](/INSTALL.md#freebsd-easy)
|
||||
<br/>
|
||||
|
||||
Nighly builds do not update automatically at this stage of development, so make sure you get back to this site and regularly download the latest version of qTox.
|
||||
Builds other than installer/packages don't receive updates automatically, so make sure you get back to this site and regularly download the latest version of qTox.
|
||||
|
||||
|
||||
#### Screenshots
|
||||
|
@ -49,3 +51,5 @@ Note: The screenshots may not always be up to date, but they should give a good
|
|||
- Emoticons
|
||||
- Auto-updates on Windows and Mac, packages on Linux
|
||||
- And many more options!
|
||||
|
||||
[![Build Status](https://travis-ci.org/tux3/qTox.svg)](https://travis-ci.org/tux3/qTox)
|
||||
|
|
6
bootstrap-osx.sh
Normal file → Executable file
|
@ -21,21 +21,19 @@ echo Creating directories…
|
|||
mkdir -p libs/lib
|
||||
mkdir -p libs/include
|
||||
echo Copying libraries…
|
||||
cp /usr/local/lib/libtox* libs/lib
|
||||
cp /usr/local/lib/libsodium* libs/lib
|
||||
cp /usr/local/lib/libvpx* libs/lib
|
||||
cp /usr/local/lib/libopus* libs/lib
|
||||
cp /usr/local/lib/libav* libs/lib
|
||||
cp /usr/local/lib/libswscale* libs/lib
|
||||
cp /usr/local/lib/libqrencode* libs/lib
|
||||
cp /usr/local/lib/libfilteraudio* libs/lib
|
||||
cp /usr/local/include/filter_audio* libs/include
|
||||
cp /usr/local/lib/libsqlcipher* libs/lib
|
||||
echo Copying include files...
|
||||
cp -r /usr/local/include/tox* libs/include
|
||||
cp -r /usr/local/include/vpx* libs/include
|
||||
cp -r /usr/local/include/sodium* libs/include
|
||||
cp -r /usr/local/include/qrencode* libs/include
|
||||
cp -r /usr/local/include/libav* libs/include
|
||||
cp -r /usr/local/include/libswscale* libs/include
|
||||
cp -r /usr/local/include/sqlcipher* libs/include
|
||||
echo Done.
|
||||
|
||||
|
|
138
doc/user_manual_en.md
Normal file
|
@ -0,0 +1,138 @@
|
|||
# qTox User Manual
|
||||
## Index
|
||||
|
||||
* [User Profile](#user-profile)
|
||||
* [Settings](#settings)
|
||||
* [Groupchats](#groupchats)
|
||||
* [Multi Window Mode](#multi-window-mode)
|
||||
* [Keyboard Shortcuts](#keyboard-shortcuts)
|
||||
|
||||
## User Profile
|
||||
Your User Profile contains everything you share with other people on Tox. You can open it by clicking the picture in the top left corner. It contains the following settings:
|
||||
|
||||
### Public Information
|
||||
* _Name:_ This is your nickname which everyone who has your Tox ID can see.
|
||||
* _Status:_ You can post a status message here, which again everyone on who has your Tox ID can see.
|
||||
|
||||
### Tox ID
|
||||
|
||||
The long code in hexadecimal format is your Tox ID, share this with everyone you want to talk to. Click it to copy it to your clipboard.
|
||||
Your Tox ID is also shown as QR code to easily share it with friends over a smartphone.
|
||||
|
||||
The "Save image" button saves the QR code into a image file, while the "Copy image" button copies into your clipboard.
|
||||
|
||||
### Profile
|
||||
|
||||
qTox allows you to use multiple Tox IDs with different profiles, each of which can have different nicknames, status messages and friends.
|
||||
|
||||
+ _Current profile:_ Shows the filename which stores your information.
|
||||
+ _Current profile location:_ Shows the path to the profile file.
|
||||
+ _Rename:_ Allows you to rename your profile. Your nickname and profile name don't have to be the same.
|
||||
+ _Delete:_ Deletes your profile and the corresponding chat history.
|
||||
+ _Export:_ Allows you to export your profile in a format compatible with other Tox clients. You can also manually back up your \*.tox files.
|
||||
+ _Logout:_ Close your current profile and show the login window.
|
||||
+ _Remove password:_ Removes the existing password for your profile. If the profile already has no password, you will be notified.
|
||||
+ _Change password:_ Allows you to either change an existing password, or create a new password if your profile does not have one.
|
||||
|
||||
## Settings
|
||||
### General
|
||||
|
||||
#### General Settings
|
||||
* _Language:_ Changes which language the qTox interface uses.
|
||||
* _Autostart:_ If set, qTox will start when you login on your computer. qTox will also automatically open the profile which was active when you ticked the checkbox, but this only works if your profile isn't encrypted (has no password set).
|
||||
* _Light icon:_ If set, qTox will use a different icon, which is easier to see on black backgrounds.
|
||||
* _Show system tray icon:_ If set, qTox will show its icon in your system tray.
|
||||
* _Start in tray:_ On start, qTox will only show its tray icon and no window.
|
||||
* _Minimize to tray:_ The minimize button on the top right, will minimize qTox to its tray icon. There won't be a taskbar item.
|
||||
* _Auto away after (0 to disable):_ After the specified amount of time, qTox will set your status to "Away". A setting of 0 will never change your status.
|
||||
* _Default directory to save files:_ Allows you to specify the default destination for incoming file transfers.
|
||||
* _Autoaccept files:_ If set, qTox will automatically accept file transfers and put them in the directory specified above.
|
||||
|
||||
#### Chat
|
||||
* _Play sound:_ If checked, qTox will play a sound when you get a new message.
|
||||
* _Open window:_ If checked, the qTox window will be opened when you receive a new message. If you use the multiple windows mode, see [Multi Window Mode](#multi-window-mode) for details.
|
||||
* _Focus window:_ If checked, the qTox window will additionally be focused when you receive a new message.
|
||||
* _Show contacts' status changes:_ If set, qTox will show contact status changes in your chat window.
|
||||
* _Group chats always notify:_ If set, qTox will notify you on every new message in a groupchat.
|
||||
* _Place groupchats at top of friend list:_ If checked, your groupchats will be at the top of the contacts list instead of being sorted with your other contacts.
|
||||
* _Faux offline messaging:_ If enabled, qTox will attempt to send messages when a currently offline contact comes online again.
|
||||
* _Compact contact list:_ If set, qTox will use a contact list layout which takes up less screen space.
|
||||
* _Multiple windows mode:_ If enabled, the qTox user interface will be split into multiple independent windows. For details see [Multi Window Mode](#multi-window-mode).
|
||||
* _Open each chat in an individual window:_ If checked, a new window will be opened for every chat you open. If you manually grouped the chat into another window, the window which hosts the chat will be focused.
|
||||
|
||||
#### Theme
|
||||
* _Use emoticons:_ If enabled, qTox will replace smileys ( e.g. `:-)` ) with corresponding graphical emoticons.
|
||||
* _Smiley Pack:_ Allows you to choose from different sets of shipped emoticon styles.
|
||||
* _Emoticon size:_ Allows you to change the size of the emoticons.
|
||||
* _Style:_ Changes the appearance of qTox.
|
||||
* _Theme color:_ Changes the colors qTox uses.
|
||||
* _Timestamp format:_ Change the format in which qTox displays message timestamps.
|
||||
* _Date format:_ Same as above for the date.
|
||||
|
||||
#### Connection Settings
|
||||
* _Enable IPv6 (recommended):_ If enabled, qTox will use IPv4 and IPv6 protocols, whichever is available. If disabled, qTox will only use IPv4.
|
||||
* _Enable UDP (recommended):_ If enabled, qTox will use TCP and UDP protocols. If disabled, qTox will only use TCP, which lowers the amount of open connections and slightly decreases required bandwidth, but is also slower and puts more load on other network participants.
|
||||
|
||||
Most users will want both options enabled, but if qTox negatively impacts your router or connection, you can try to disable them.
|
||||
|
||||
* _Proxy type:_ If you want to use a proxy, set the type here. "None" disables the proxy.
|
||||
* _Address:_ If you use a proxy, enter the address here.
|
||||
* _Port:_ If you use a proxy, enter the port here.
|
||||
* _Reconnect:_ Reconnect to the Tox network, e.g. if you changed the proxy settings.
|
||||
|
||||
### Privacy
|
||||
|
||||
* _Send typing notifications:_ If enabled, notify your chat partner when you are currently typing.
|
||||
* _Keep chat history:_ If enabled, qTox will save your sent and received messages. Encrypt your profile, if you want to encrypt the chat history.
|
||||
|
||||
#### NoSpam
|
||||
|
||||
NoSpam is a feature of Tox that prevents a malicious user from spamming you with friend requests. If you get spammed, enter or generate a new NoSpam value. This will alter your Tox ID. You don't need to tell your existing contacts your new Tox ID, but you have to tell new contacts your new Tox ID. Your Tox ID can be found in your [User Profile](#user-profile).
|
||||
|
||||
### Audio/Video
|
||||
#### Audio Settings
|
||||
* _Playback device:_ Select the device qTox should use for all audio output (notifications, calls, etc).
|
||||
* _Playback:_ Here you can adjust the playback volume to your needs.
|
||||
* _Capture device:_ Select the device qTox should use for audio input in calls.
|
||||
* _Microphone:_ Set the input volume of your microphone with this slider. When you are talking normally, the displayed volume indicator should be in the green range.
|
||||
* _Filter audio:_ If enabled, qTox will try to remove noise and echo from your audio input.
|
||||
|
||||
#### Video Settings
|
||||
* _Video device:_ Select the video device qTox should use for video calls. "None" will show a dummy picture to your chat partner. "Desktop" will stream the content of your screen.
|
||||
* _Resolution:_ You can select from the available resolutions and frame rates here. Higher resolutions provide more quality, but if the bandwidth of your connection is low, the video may get choppy.
|
||||
|
||||
If you set up everything correctly, you should see the preview of your video device in the box below.
|
||||
|
||||
* _Rescan devices:_ Use this button to search for newly attached devices, e.g. you plugged in a webcam.
|
||||
|
||||
### Advanced
|
||||
* _Make Tox portable:_ If enabled, qTox will load/save user data from the working directory, instead of ` ~/.config/tox/ `.
|
||||
* _Reset to default settings:_ Use this button to revert any changes you made to the qTox settings.
|
||||
|
||||
### About
|
||||
* _Version:_ Shows the version of qTox and the libraries it depends on. Please append this information to every bug report.
|
||||
* _License:_ Shows the license under which the code of qTox is available.
|
||||
* _Authors:_ Lists the people who developed this shiny piece of software.
|
||||
* _Known Issues:_ Links to our list of known issues and improvements.
|
||||
|
||||
## Groupchats
|
||||
|
||||
Groupchats are a way to talk with multiple friends at the same time, like when you are standing together in a group. To create a groupchat click the groupchat icon in the bottom left corner and set a name. Now you can invite your contacts by right-clicking on the contact and selecting "Invite to group". Currently, if the last person leaves the chat, it is closed and you have to create a new one. Videochats and file transfers are currently unsupported in groupchats.
|
||||
|
||||
## Multi Window Mode
|
||||
|
||||
In this mode, qTox will separate its main window into a single contact list and one or multiple chat windows, which allows you to have multiple conversations on your screen at the same time. Additionally you can manually group chats into a window by dragging and dropping them onto each other. This mode can be activated and configured in [settings](#settings).
|
||||
|
||||
## Keyboard Shortcuts
|
||||
|
||||
The following shortcuts are currently supported:
|
||||
|
||||
| Shortcut | Action |
|
||||
|----------|--------|
|
||||
| ``Arrow up`` | Paste last sent message |
|
||||
| ``CTRL`` + ``SHIFT`` + ``L`` | Clear chat |
|
||||
| ``CTRL`` + ``q`` | Quit qTox |
|
||||
| `CTRL` + `Page Down` | Switch to the next contact |
|
||||
| `CTRL` + `Page Up` | Switch to the previous contact|
|
||||
| `CTRL` + `TAB` | Switch to the next contact |
|
||||
| `CTRL` + `SHIFT` + `TAB` | Switch to the previous contact|
|
207
osx/info.plist
|
@ -1,102 +1,113 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>qtox.icns</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>qtox</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>qTox</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>qTox</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0-EXPERIMENTIAL</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>chat.tox.qtox</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>Tox URL</string>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>tox</string>
|
||||
</array>
|
||||
<key>CFBundleURLIconFile</key>
|
||||
<string>qtox_profile.icns</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeExtensions</key>
|
||||
<array>
|
||||
<string>tox</string>
|
||||
</array>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>Tox profile</string>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleTypeIconFile</key>
|
||||
<string>qtox_profile.icns</string>
|
||||
<key>CFBundleTypeMIMETypes</key>
|
||||
<array>
|
||||
<string>application/x-tox.profile</string>
|
||||
</array>
|
||||
<key>LSHandlerRank</key>
|
||||
<string>Owner</string>
|
||||
<key>LSItemContentTypes</key>
|
||||
<array>
|
||||
<string>public.tox</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>UTImportedTypeDeclarations</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>public.tox</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>com.apple.ostype</key>
|
||||
<string>TOX</string>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>tox</string>
|
||||
</array>
|
||||
<key>public.mime-type</key>
|
||||
<string>tox/x-profile</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>en_US</string>
|
||||
<string>en</string>
|
||||
<string>bg_BG</string>
|
||||
<string>de_DE</string>
|
||||
<string>fi_FI</string>
|
||||
<string>fr_FR</string>
|
||||
<string>it_IT</string>
|
||||
<string>pl_PL</string>
|
||||
<string>ru_RU</string>
|
||||
<string>uk_UA</string>
|
||||
<string>sv</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>qtox.icns</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>toxq</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>qtox</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>qTox</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>qTox</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.2.2</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@SHORT_VERSION@</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>chat.tox.qtox</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>Tox URL</string>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>tox</string>
|
||||
</array>
|
||||
<key>CFBundleURLIconFile</key>
|
||||
<string>qtox_profile</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeExtensions</key>
|
||||
<array>
|
||||
<string>tox</string>
|
||||
</array>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>Tox profile</string>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleTypeIconFile</key>
|
||||
<string>qtox_profile</string>
|
||||
<key>CFBundleTypeMIMETypes</key>
|
||||
<array>
|
||||
<string>application/x-tox.profile</string>
|
||||
</array>
|
||||
<key>LSHandlerRank</key>
|
||||
<string>Owner</string>
|
||||
<key>LSItemContentTypes</key>
|
||||
<array>
|
||||
<string>public.tox</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>UTImportedTypeDeclarations</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>public.tox</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>com.apple.ostype</key>
|
||||
<string>TOX</string>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>tox</string>
|
||||
</array>
|
||||
<key>public.mime-type</key>
|
||||
<string>tox/x-profile</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>en_US</string>
|
||||
<string>bg_BG</string>
|
||||
<string>cs</string>
|
||||
<string>de_DE</string>
|
||||
<string>el</string>
|
||||
<string>es_MX</string>
|
||||
<string>fi_FI</string>
|
||||
<string>fr_FR</string>
|
||||
<string>hr_HR</string>
|
||||
<string>hu_HU</string>
|
||||
<string>it_IT</string>
|
||||
<string>lt_LT</string>
|
||||
<string>nl_NL</string>
|
||||
<string>nb_NO</string>
|
||||
<string>pl_PL</string>
|
||||
<string>pt_BR</string>
|
||||
<string>ru_RU</string>
|
||||
<string>sl</string>
|
||||
<string>sv</string>
|
||||
<string>tr_TR</string>
|
||||
<string>uk_UA</string>
|
||||
<string>zh_CH</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
268
osx/qTox-Mac-Deployer-ULTIMATE.sh
Executable file
|
@ -0,0 +1,268 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# Copyright © 2015 by RowenStipe
|
||||
# Copyright © 2016 by The qTox Project
|
||||
#
|
||||
# This program is libre software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# This uses the same process as doing it manually but with a few varients
|
||||
|
||||
# Use: ./qTox-Mac-Deployer-ULTIMATE.sh -h
|
||||
|
||||
# Your home DIR really (Most of this happens in it) {DONT USE: ~ }
|
||||
if [[ $TRAVIS = true ]]; then #travis check
|
||||
MAIN_DIR="${TRAVIS_BUILD_DIR}"
|
||||
QTOX_DIR="${MAIN_DIR}"
|
||||
else
|
||||
MAIN_DIR="/Users/${USER}"
|
||||
QTOX_DIR="${MAIN_DIR}/qTox"
|
||||
fi
|
||||
QT_DIR="/usr/local/Cellar/qt5" # Folder name of QT install
|
||||
VER="${QT_DIR}/5.5.1_2" # Potential future proffing for version testing
|
||||
QMAKE="${VER}/bin/qmake" # Don't change
|
||||
MACDEPLOYQT="${VER}/bin/macdeployqt" # Don't change
|
||||
|
||||
TOXCORE_DIR="${MAIN_DIR}/toxcore" # Change to Git location
|
||||
|
||||
FA_DIR="${MAIN_DIR}/filter_audio"
|
||||
LIB_INSTALL_PREFIX="${QTOX_DIR}/libs"
|
||||
|
||||
if [[ ! -e "${LIB_INSTALL_PREFIX}" ]]; then
|
||||
mkdir -p "${LIB_INSTALL_PREFIX}"
|
||||
fi
|
||||
|
||||
BUILD_DIR="${MAIN_DIR}/qTox-Mac_Build" # Change if needed
|
||||
|
||||
DEPLOY_DIR="${MAIN_DIR}/qTox-Mac_Deployed"
|
||||
|
||||
|
||||
function fcho() {
|
||||
local msg="$1"; shift
|
||||
printf "\n$msg\n" "$@"
|
||||
}
|
||||
|
||||
function build_toxcore() {
|
||||
echo "Starting Toxcore build and install"
|
||||
cd $TOXCORE_DIR
|
||||
echo "Now working in: ${PWD}"
|
||||
|
||||
#Check if libsodium is correct version
|
||||
if [[ -e /usr/local/opt/libsodium/lib/libsodium.18.dylib ]]; then
|
||||
fcho " Beginnning Toxcore compile "
|
||||
else
|
||||
echo "Error: libsodium.18.dylib not found! Unable to build!"
|
||||
echo "Please make sure your Homebrew packages are up to date before retrying."
|
||||
exit 1
|
||||
fi
|
||||
sleep 3
|
||||
|
||||
autoreconf -if
|
||||
|
||||
#Make sure the correct version of libsodium is used
|
||||
./configure --with-libsodium-headers=/usr/local/Cellar/libsodium/1.0.8/include/ --with-libsodium-libs=/usr/local/Cellar/libsodium/1.0.8/lib/ --prefix="${LIB_INSTALL_PREFIX}"
|
||||
|
||||
make clean &> /dev/null
|
||||
fcho "Compiling toxcore."
|
||||
make > /dev/null || exit 1
|
||||
fcho "Installing toxcore."
|
||||
make install > /dev/null || exit 1
|
||||
}
|
||||
|
||||
function install() {
|
||||
fcho "=============================="
|
||||
fcho "This script will install the necessary applications and libraries needed to compile qTox properly."
|
||||
fcho "Note that this is not a 100 percent automated install it just helps simplify the process for less experienced or lazy users."
|
||||
if [[ $TRAVIS = true ]]; then #travis check
|
||||
echo "Oh... It's just Travis...."
|
||||
else
|
||||
read -n1 -rsp $'Press any key to continue or Ctrl+C to exit...\n'
|
||||
fi
|
||||
|
||||
if [[ -e /usr/local/bin/brew ]]; then
|
||||
fcho "Homebrew already installed!"
|
||||
else
|
||||
fcho "Installing homebrew ..."
|
||||
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
fi
|
||||
fcho "Updating brew formulas ..."
|
||||
brew update
|
||||
fcho "Getting home brew formulas ..."
|
||||
sleep 3
|
||||
if [[ $TRAVIS != true ]]; then #travis check
|
||||
brew install wget libtool automake
|
||||
fi
|
||||
brew install git ffmpeg qrencode autoconf check qt5 libvpx opus sqlcipher libsodium
|
||||
|
||||
fcho "Installing x-code Command line tools ..."
|
||||
xcode-select --install
|
||||
|
||||
fcho "Starting git repo checks ..."
|
||||
|
||||
cd $MAIN_DIR # just in case
|
||||
# Toxcore
|
||||
if [[ -e $TOX_DIR/.git/index ]]; then # Check if this exists
|
||||
fcho "Toxcore git repo already in place !"
|
||||
cd $TOX_DIR
|
||||
git pull
|
||||
else
|
||||
fcho "Cloning Toxcore git ... "
|
||||
git clone https://github.com/irungentoo/toxcore.git
|
||||
fi
|
||||
# qTox
|
||||
if [[ $TRAVIS = true ]]; then #travis check
|
||||
fcho "Travis... You already have qTox..."
|
||||
else
|
||||
if [[ -e $QTOX_DIR/.git/index ]]; then # Check if this exists
|
||||
fcho "qTox git repo already in place !"
|
||||
cd $QTOX_DIR
|
||||
git pull
|
||||
else
|
||||
fcho "Cloning qTox git ... "
|
||||
git clone https://github.com/tux3/qTox.git
|
||||
fi
|
||||
fi
|
||||
# filter_audio
|
||||
if [[ -e $FA_DIR/.git/index ]]; then # Check if this exists
|
||||
fcho "Filter_Audio git repo already in place !"
|
||||
cd $FA_DIR
|
||||
git pull
|
||||
else
|
||||
fcho "Cloning Filter_Audio git ... "
|
||||
git clone https://github.com/irungentoo/filter_audio.git
|
||||
cd $FA_DIR
|
||||
fi
|
||||
fcho "Installing filter_audio."
|
||||
make install PREFIX="${LIB_INSTALL_PREFIX}"
|
||||
|
||||
# toxcore build
|
||||
if [[ $TRAVIS = true ]]; then #travis check
|
||||
build_toxcore
|
||||
else
|
||||
fcho "If all went well you should now have all the tools needed to compile qTox!"
|
||||
read -r -p "Would you like to install toxcore now? [y/N] " response
|
||||
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
||||
build_toxcore
|
||||
|
||||
else
|
||||
fcho "You can simply use the -u command and say [Yes/n] when prompted"
|
||||
fi
|
||||
fi
|
||||
# put required by qTox libs/headers in `libs/`
|
||||
cd "${QTOX_DIR}"
|
||||
sudo ./bootstrap-osx.sh
|
||||
}
|
||||
|
||||
function update() {
|
||||
fcho "------------------------------"
|
||||
fcho "Starting update process ..."
|
||||
#First update Toxcore from git
|
||||
cd $TOXCORE_DIR
|
||||
fcho "Now in ${PWD}"
|
||||
fcho "Pulling ..."
|
||||
git pull
|
||||
read -r -p "Did Toxcore update from git? [y/N] " response
|
||||
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
||||
build_toxcore
|
||||
else
|
||||
fcho "Moving on!"
|
||||
fi
|
||||
|
||||
#Now let's update qTox!
|
||||
cd $QTOX_DIR
|
||||
fcho "Now in ${PWD}"
|
||||
fcho "Pulling ..."
|
||||
git pull
|
||||
read -r -p "Did qTox update from git? [y/N] " response
|
||||
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
||||
fcho "Starting OSX bootstrap ..."
|
||||
sudo ./bootstrap-osx.sh
|
||||
else
|
||||
fcho "Moving on!"
|
||||
fi
|
||||
}
|
||||
|
||||
function build() {
|
||||
fcho "------------------------------"
|
||||
fcho "Starting build process ..."
|
||||
rm -r $BUILD_DIR
|
||||
rm -r $DEPLOY_DIR
|
||||
mkdir $BUILD_DIR
|
||||
cd $BUILD_DIR
|
||||
fcho "Now working in ${PWD}"
|
||||
fcho "Starting qmake ... "
|
||||
$QMAKE $QTOX_DIR/qtox.pro
|
||||
make
|
||||
}
|
||||
|
||||
function deploy() {
|
||||
fcho "------------------------------"
|
||||
fcho "starting deployment process ..."
|
||||
cd $BUILD_DIR
|
||||
if [ ! -d $BUILD_DIR ]; then
|
||||
fcho "Error: Build directory not detected, please run -ubd, or -b before deploying"
|
||||
exit 0
|
||||
fi
|
||||
mkdir $DEPLOY_DIR
|
||||
cp -r $BUILD_DIR/qTox.app $DEPLOY_DIR/qTox.app
|
||||
cd $DEPLOY_DIR
|
||||
fcho "Now working in ${PWD}"
|
||||
$MACDEPLOYQT qTox.app
|
||||
}
|
||||
|
||||
# The commands
|
||||
if [[ "$1" == "-i" ]]; then
|
||||
install
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ "$1" == "-u" ]]; then
|
||||
update
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ "$1" == "-b" ]]; then
|
||||
build
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ "$1" == "-d" ]]; then
|
||||
deploy
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ "$1" == "-ubd" ]]; then
|
||||
update
|
||||
build
|
||||
deploy
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ "$1" == "-h" ]]; then
|
||||
echo "This script was created to help ease the process of compiling and creating a distributable qTox package for OSX systems."
|
||||
echo "The available commands are:"
|
||||
echo "-h -- This help text."
|
||||
echo "-i -- A slightly automated process for getting an OSX machine ready to build Toxcore and qTox."
|
||||
echo "-u -- Check for updates and build Toxcore from git & update qTox from git."
|
||||
echo "-b -- Builds qTox in: ${BUILD_DIR}"
|
||||
echo "-d -- Makes a distributable qTox.app file in: ${DEPLOY_DIR}"
|
||||
echo "-ubd -- Does -u, -b, and -d sequentially"
|
||||
fcho "Issues with Toxcore or qTox should be reported to their respective repos: https://github.com/irungentoo/toxcore | https://github.com/tux3/qTox"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
fcho "Oh dear! You seemed to of started this script improperly! Use -h to get available commands and information!"
|
||||
echo " "
|
||||
say -v Kathy -r 255 "Oh dear! You seemed to of started this script improperly! Use -h to get available commands and information!"
|
||||
exit 0
|
15
qtox.pro
|
@ -160,9 +160,18 @@ win32 {
|
|||
QMAKE_INFO_PLIST = osx/info.plist
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
|
||||
LIBS += -L$$PWD/libs/lib/ -ltoxcore -ltoxav -ltoxencryptsave -ltoxdns -lsodium -lvpx -lopus -framework OpenAL -lavformat -lavdevice -lavcodec -lavutil -lswscale -mmacosx-version-min=10.7
|
||||
LIBS += -framework AVFoundation -framework Foundation -framework CoreMedia -framework ApplicationServices
|
||||
LIBS += -lqrencode -lsqlcipher
|
||||
contains(DEFINES, QTOX_PLATFORM_EXT) { LIBS += -framework IOKit -framework CoreFoundation }
|
||||
contains(DEFINES, QTOX_FILTER_AUDIO) { LIBS += -lfilteraudio }
|
||||
#Files to be includes into the qTox.app/Contents/Resources folder
|
||||
#OSX-Migrater.sh part of migrateProfiles() compatabilty code
|
||||
APP_RESOURCE.files = img/icons/qtox_profile.icns OSX-Migrater.sh
|
||||
APP_RESOURCE.path = Contents/Resources
|
||||
QMAKE_BUNDLE_DATA += APP_RESOURCE
|
||||
#Dynamic versioning for Info.plist
|
||||
INFO_PLIST_PATH = $$shell_quote($${OUT_PWD}/$${TARGET}.app/Contents/Info.plist)
|
||||
QMAKE_POST_LINK += /usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString $${GIT_DESCRIBE}\" $${INFO_PLIST_PATH}
|
||||
} else {
|
||||
android {
|
||||
LIBS += -ltoxcore -ltoxav -ltoxencryptsave -ltoxdns
|
||||
|
@ -462,7 +471,11 @@ macx {
|
|||
src/platform/install_osx.cpp
|
||||
|
||||
HEADERS += \
|
||||
src/platform/install_osx.h
|
||||
src/platform/install_osx.h \
|
||||
src/platform/camera/avfoundation.h
|
||||
|
||||
OBJECTIVE_SOURCES += \
|
||||
src/platform/camera/avfoundation.mm
|
||||
}
|
||||
|
||||
SOURCES += \
|
||||
|
|
2
res.qrc
|
@ -47,6 +47,7 @@
|
|||
<file>translations/de.qm</file>
|
||||
<file>translations/el.qm</file>
|
||||
<file>translations/es.qm</file>
|
||||
<file>translations/et.qm</file>
|
||||
<file>translations/fi.qm</file>
|
||||
<file>translations/fr.qm</file>
|
||||
<file>translations/hr.qm</file>
|
||||
|
@ -62,6 +63,7 @@
|
|||
<file>translations/sv.qm</file>
|
||||
<file>translations/tr.qm</file>
|
||||
<file>translations/uk.qm</file>
|
||||
<file>translations/ar.qm</file>
|
||||
<file>translations/zh.qm</file>
|
||||
<file>ui/fileTransferWidget/fileDone.svg</file>
|
||||
<file>ui/callButton/callButton.css</file>
|
||||
|
|
2529
smileys/ASCII+Universe/emoticons.xml
Normal file
Before Width: | Height: | Size: 1019 B After Width: | Height: | Size: 1019 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 933 B After Width: | Height: | Size: 933 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -3,17 +3,17 @@
|
|||
|
||||
<!-- first emoticons (9/13/14) -->
|
||||
<emoticon file="angel.png">
|
||||
<string>😇</string>
|
||||
<string>:angel:</string>
|
||||
<string>0:)</string>
|
||||
<string>O:)</string>
|
||||
<string>0:-)</string>
|
||||
<string>O:-)</string>
|
||||
<string>😇</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="beer.png">
|
||||
<string>🍺</string>
|
||||
<string>:beer:</string>
|
||||
<string>🍺</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="bored.png">
|
||||
|
@ -29,14 +29,13 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="crying.png">
|
||||
<string>😢</string>
|
||||
<string>:cry:</string>
|
||||
<string>:'(</string>
|
||||
<string>:,(</string>
|
||||
<string>😢</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="devil.png">
|
||||
<string>😈</string>
|
||||
<string>:devil:</string>
|
||||
<string>:666:</string>
|
||||
<string>}:-)</string>
|
||||
|
@ -44,17 +43,16 @@
|
|||
<string>]:-)</string>
|
||||
<string>]:-></string>
|
||||
<string>>:-></string>
|
||||
<string>😈</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="dho.png">
|
||||
<emoticon file="doh.png">
|
||||
<string>X.</string>
|
||||
<string>X°</string>
|
||||
<string>Xo</string>
|
||||
<string>>:.</string>
|
||||
<string>>:°</string>
|
||||
<string>>:o</string>
|
||||
<string>:dho:</string>
|
||||
<string>:d'ho:</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="evil.png">
|
||||
|
@ -75,15 +73,15 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="heart.png">
|
||||
<string>❤</string>
|
||||
<string><3</string>
|
||||
<string>:heart:</string>
|
||||
<string>:love:</string>
|
||||
<string>❤</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="hi.png">
|
||||
<string>🙋</string>
|
||||
<string>:hi:</string>
|
||||
<string>🙋</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="highfive.png">
|
||||
|
@ -99,31 +97,31 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="tongue.png">
|
||||
<string>😛</string>
|
||||
<string>:impertinent:</string>
|
||||
<string>:-P</string>
|
||||
<string>:-p</string>
|
||||
<string>:P</string>
|
||||
<string>:p</string>
|
||||
<string>😛</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="inlove.png">
|
||||
<string>😍</string>
|
||||
<string>:inlove:</string>
|
||||
<string>😍</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="kiss.png">
|
||||
<string>😙</string>
|
||||
<string>:kiss:</string>
|
||||
<string>:*</string>
|
||||
<string>:-*</string>
|
||||
<string>😙</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="lol.png">
|
||||
<string>😄</string>
|
||||
<string>:lol:</string>
|
||||
<string>:D</string>
|
||||
<string>:-D</string>
|
||||
<string>😄</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="moustache.png">
|
||||
|
@ -151,12 +149,12 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="nospeak.png">
|
||||
<string>🙊</string>
|
||||
<string>:silence:</string>
|
||||
<string>:-x</string>
|
||||
<string>:-X</string>
|
||||
<string>:x</string>
|
||||
<string>:X</string>
|
||||
<string>🙊</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="oops.png">
|
||||
|
@ -180,8 +178,8 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="rain.png">
|
||||
<string>🌧</string>
|
||||
<string>:rain:</string>
|
||||
<string>🌧</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="rocknroll.png">
|
||||
|
@ -192,10 +190,10 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="sad.png">
|
||||
<string>😞</string>
|
||||
<string>:sad:</string>
|
||||
<string>:(</string>
|
||||
<string>:-(</string>
|
||||
<string>😞</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="shy.png">
|
||||
|
@ -205,17 +203,17 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="sleeping.png">
|
||||
<string>😴</string>
|
||||
<string>:sleeping:</string>
|
||||
<string>|-)</string>
|
||||
<string>#)</string>
|
||||
<string>😴</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="smile.png">
|
||||
<string>☺</string>
|
||||
<string>:smile:</string>
|
||||
<string>:-)</string>
|
||||
<string>:)</string>
|
||||
<string>☺</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="sniggering.png">
|
||||
|
@ -240,10 +238,10 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="wink.png">
|
||||
<string>😉</string>
|
||||
<string>:wink:</string>
|
||||
<string>;-)</string>
|
||||
<string>;)</string>
|
||||
<string>😉</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="wondering.png">
|
||||
|
@ -256,16 +254,15 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="XD.png">
|
||||
<string>😆</string>
|
||||
<string>XD</string>
|
||||
<string>xD</string>
|
||||
<string>😆</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="XP.png">
|
||||
<string>😝</string>
|
||||
<string>:emoticonmashup:</string>
|
||||
<string>XP</string>
|
||||
<string>xP</string>
|
||||
<string>😝</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="yawn.png">
|
||||
|
@ -274,23 +271,23 @@
|
|||
|
||||
<!-- new emoticons (10/26/14) -->
|
||||
<emoticon file="bomb.png">
|
||||
<string>💣</string>
|
||||
<string>:bomb:</string>
|
||||
<string>💣</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="cookie.png">
|
||||
<string>🍪</string>
|
||||
<string>:cookie:</string>
|
||||
<string>🍪</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="diamond.png">
|
||||
<string>🔷</string>
|
||||
<string>:diamond:</string>
|
||||
<string>🔷</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="eye.png">
|
||||
<string>👁</string>
|
||||
<string>:eye:</string>
|
||||
<string>👁</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="hacker_terminal.png">
|
||||
|
@ -299,9 +296,9 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="syringe.png">
|
||||
<string>💉</string>
|
||||
<string>:syringe:</string>
|
||||
<string>:injection:</string>
|
||||
<string>💉</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="toxlocker.png">
|
||||
|
@ -328,17 +325,17 @@
|
|||
</emoticon>
|
||||
|
||||
<emoticon file="cool.png">
|
||||
<string>😎</string>
|
||||
<string>:cool:</string>
|
||||
<string>8)</string>
|
||||
<string>8-)</string>
|
||||
<string>😎</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="angry.png">
|
||||
<string>😠</string>
|
||||
<string>:angry:</string>
|
||||
<string>>:-(</string>
|
||||
<string>>:(</string>
|
||||
<string>😠</string>
|
||||
</emoticon>
|
||||
|
||||
</messaging-emoticon-map>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 596 B After Width: | Height: | Size: 596 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1022 B After Width: | Height: | Size: 1022 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 914 B After Width: | Height: | Size: 914 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 869 B After Width: | Height: | Size: 869 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
@ -1,88 +1,84 @@
|
|||
<?xml version='1.0'?>
|
||||
<messaging-emoticon-map>
|
||||
<emoticon file="happy.png">
|
||||
<string>😊</string>
|
||||
<string>:)</string>
|
||||
<string>:-)</string>
|
||||
<string>😊</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="cool.png">
|
||||
<string>😎</string>
|
||||
<string>8-)</string>
|
||||
<string>8)</string>
|
||||
<string>😎</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="stunned.png">
|
||||
<string>😲</string>
|
||||
<string>:O</string>
|
||||
<string>:-O</string>
|
||||
<string>😲</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="tongue.png">
|
||||
<string>😋</string>
|
||||
<string>:p</string>
|
||||
<string>:P</string>
|
||||
<string>😋</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="uncertain.png">
|
||||
<string>😕</string>
|
||||
<string>:/</string>
|
||||
<string>:-/</string>
|
||||
<string>😕</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="wink.png">
|
||||
<string>😉</string>
|
||||
<string>;)</string>
|
||||
<string>;-)</string>
|
||||
<string>😉</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="sad.png">
|
||||
<string>😖</string>
|
||||
<string>:(</string>
|
||||
<string>:-(</string>
|
||||
<string>😖</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="crying.png">
|
||||
<string>😢</string>
|
||||
<string>;(</string>
|
||||
<string>;-(</string>
|
||||
<string>😢</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="smile.png">
|
||||
<string>😃</string>
|
||||
<string>:D</string>
|
||||
<string>:-D</string>
|
||||
<string>😃</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="plain.png">
|
||||
<string>😐</string>
|
||||
<string>:|</string>
|
||||
<string>:-|</string>
|
||||
<string>😐</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="laugh.png">
|
||||
<string>😄</string>
|
||||
<string>;D</string>
|
||||
<string>;-D</string>
|
||||
<string>😄</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="angry.png">
|
||||
<string>😠</string>
|
||||
<string>:@</string>
|
||||
<string>😠</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="scared.png">
|
||||
<string>😨</string>
|
||||
<string>D:</string>
|
||||
<string>😨</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="laugh_closed_eyes">
|
||||
<string>😆</string>
|
||||
<string>xD</string>
|
||||
<string>XD</string>
|
||||
</emoticon>
|
||||
|
||||
<emoticon file="Kappa.png">
|
||||
<string>:Kappa:</string>
|
||||
<string>😆</string>
|
||||
</emoticon>
|
||||
</messaging-emoticon-map>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |