commit | 0babe2b4980f42cc938190281ac56950d3b7e8a1 | [log] [tgz] |
---|---|---|
author | Hugo Lefeuvre <hugo.lefeuvre@savoirfairelinux.com> | Wed Jun 27 12:14:27 2018 -0400 |
committer | Sébastien Blin <sebastien.blin@savoirfairelinux.com> | Fri Jun 29 15:55:21 2018 -0400 |
tree | 9a5aafb4e434f9f2e73cffa3313200a604ee21ec | |
parent | 17418b78109f0d8df8ab0b73b176ac61e922c0aa [diff] |
chatview: load all messages at once in the DOM Currently messages are appended one by one to the DOM. This is very inefficient in the case where conversations have a reasonable size. Since we're going to implement lazy loading in a further commit it is a good idea to load everything at once in the DOM. - During initial load: Generate #messages and THEN load it in the DOM - Fix scrolling issues using onload callback after images get loaded - Remove useless exec_keeping_scroll_position calls - Fix padding issue at the bottom. This is a WebKit bug so we use a workaround: dynamically add a small padding to the last element in the chatview. This commit is the first step towards lazy loading in the chatview. Change-Id: I329a11615b846ab0b198af38f529ed0de8a3ac18 Gitlab: #825 Gitlab: #834 Reviewed-by: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
Ring-client-gnome is a Ring client written in GTK+3. It uses libRingClient to communicate with the Ring daemon and for all of the underlying models and their logic. Ideally ring-client-gnome should only contain UI related code and any wrappers necessary for interacting with libRingClient.
Packages for Debian/Ubuntu/Fedora can be found at https://ring.cx
More info about the Ring project and the clients can be found on our Gitlab's instance: https://git.ring.cx/
GNU Ring welcomes contribution from everyone. See CONTRIBUTING.md for help getting started.
On Debian/Ubuntu these can be installed by:
sudo apt-get install g++ cmake libgtk-3-dev qtbase5-dev libclutter-gtk-1.0-dev gnome-icon-theme-symbolic libebook1.2-dev libnotify-dev gettext
On Fedora:
sudo dnf install gcc-c++ cmake gtk3-devel qt5-qtbase-devel clutter-gtk-devel gnome-icon-theme-symbolic evolution-data-server-devel libnotify-devel gettext
The build instructions for the daemon and libRingClient can be found in their respective repositories. See Gerrit:
In the project root dir:
mkdir build cd build cmake .. make
You can then simply run ./gnome-ring
from the build directory
If you're building the client for use (rather than testing of packaging), it is recommended that you install it on your system, eg: in /usr
, /usr/local
, or /opt
, depending on your distro's preference to get full functionality such as desktop integration. In this case you should perform a 'make install' after building the client.
It is possible to build ring-client-gnome without installing the daemon and libRingClient on your system (eg: in /usr
or /usr/local
):
-DRING_BUILD_DIR=/home/user/ring/daemon/src
-DCMAKE_INSTALL_PREFIX=/home/user/ringinstall
-DLibRingClient_DIR=/home/user/ringinstall/lib/cmake/LibRingClient
For now, the build type of the client is "Debug" by default, however it is useful to also have the debug symbols of libRingClient. To do this, specify this when compiling libRingClient with -DCMAKE_BUILD_TYPE=Debug
in the cmake options.