diff --git a/frontend/ui/widget/keyvaluepage.lua b/frontend/ui/widget/keyvaluepage.lua index bc9bcc60d..2b8d2c098 100644 --- a/frontend/ui/widget/keyvaluepage.lua +++ b/frontend/ui/widget/keyvaluepage.lua @@ -41,7 +41,6 @@ local TitleBar = require("ui/widget/titlebar") local UIManager = require("ui/uimanager") local VerticalGroup = require("ui/widget/verticalgroup") local VerticalSpan = require("ui/widget/verticalspan") -local WidgetContainer = require("ui/widget/container/widgetcontainer") local Input = Device.input local Screen = Device.screen local T = require("ffi/util").template @@ -301,7 +300,7 @@ function KeyValuePage:init() -- return button --- @todo: alternative icon if BD.mirroredUILayout() self.page_return_arrow = self.page_return_arrow or Button:new{ - icon = "back.top", + icon = BD.mirroredUILayout() and "back.top.rtl" or "back.top", callback = function() self:onReturn() end, bordersize = 0, show_parent = self, @@ -353,6 +352,9 @@ function KeyValuePage:init() width = Size.span.horizontal_small, }, self.page_return_arrow, + HorizontalSpan:new{ + width = self.dimen.w - self.page_return_arrow:getSize().w - Size.span.horizontal_small, + }, } self.page_info_left_chev:hide() @@ -407,17 +409,12 @@ function KeyValuePage:init() local page_return = BottomContainer:new{ dimen = self.dimen:copy(), - WidgetContainer:new{ - dimen = Geom:new{ - w = self.dimen.w, - h = self.return_button:getSize().h, - }, - self.return_button, - } + self.return_button, } self.title_bar = TitleBar:new{ title = self.title, + fullscreen = self.covers_fullscreen, width = self.width, align = "left", with_bottom_line = true, diff --git a/frontend/ui/widget/sortwidget.lua b/frontend/ui/widget/sortwidget.lua index 088cbb482..99d850d8d 100644 --- a/frontend/ui/widget/sortwidget.lua +++ b/frontend/ui/widget/sortwidget.lua @@ -11,6 +11,7 @@ local Geom = require("ui/geometry") local GestureRange = require("ui/gesturerange") local HorizontalGroup = require("ui/widget/horizontalgroup") local InputContainer = require("ui/widget/container/inputcontainer") +local LeftContainer = require("ui/widget/container/leftcontainer") local LineWidget = require("ui/widget/linewidget") local OverlapGroup = require("ui/widget/overlapgroup") local Size = require("ui/size") @@ -68,16 +69,22 @@ function SortItemWidget:init() self[1] = FrameContainer:new{ padding = 0, bordersize = 0, - HorizontalGroup:new { - align = "center", - CenterContainer:new{ - dimen = Geom:new{ w = checked_widget:getSize().w }, - self.checkmark_widget, + LeftContainer:new{ -- needed only for auto UI mirroring + dimen = Geom:new{ + w = self.width, + h = self.height, }, - TextWidget:new{ - text = self.item.text, - max_width = text_max_width, - face = self.face, + HorizontalGroup:new { + align = "center", + CenterContainer:new{ + dimen = Geom:new{ w = checked_widget:getSize().w }, + self.checkmark_widget, + }, + TextWidget:new{ + text = self.item.text, + max_width = text_max_width, + face = self.face, + }, }, }, } diff --git a/resources/icons/mdlight/back.top.rtl.svg b/resources/icons/mdlight/back.top.rtl.svg new file mode 100644 index 000000000..efae6fe39 --- /dev/null +++ b/resources/icons/mdlight/back.top.rtl.svg @@ -0,0 +1,57 @@ + +image/svg+xml + +