summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gmail.com>2014-10-28 15:54:12 +0000
committerEmmanuele Bassi <ebassi@gmail.com>2014-10-28 15:54:12 +0000
commit8069c3d7239b13e6a1233129b923399053a0455a (patch)
tree7649dc39f10071a05e7959abf01bb317b4328e37
parent72fbe1cd2fe49a7982e248181a20f1651131e089 (diff)
parent95a08469f7eae5c6ef95470661678743e9a2ec93 (diff)
Merge pull request #2433 from endlessm/sdk/2432
eosflexygrid: support RTL layouts
-rw-r--r--endless/eosflexygrid.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/endless/eosflexygrid.c b/endless/eosflexygrid.c
index 73b375e..7334fde 100644
--- a/endless/eosflexygrid.c
+++ b/endless/eosflexygrid.c
@@ -328,6 +328,7 @@ distribute_layout (GSequence *children,
EosFlexyGridCell *cell = g_sequence_get (iter);
EosFlexyShape shape = eos_flexy_grid_cell_get_shape (cell);
GtkAllocation request = { 0, };
+ GtkTextDirection text_dir = gtk_widget_get_direction (GTK_WIDGET (cell));
switch (shape)
{
@@ -364,6 +365,10 @@ distribute_layout (GSequence *children,
max_height = MAX (max_height, request.y + request.height + spacing);
+ /* Flip horizontal allocation for RTL */
+ if (text_dir == GTK_TEXT_DIR_RTL)
+ request.x = available_width - request.x - request.width;
+
if (allocate)
gtk_widget_size_allocate (GTK_WIDGET (cell), &request);
}