From 1520fd797438a18c3bc8f5972901809d0e335d96 Mon Sep 17 00:00:00 2001 From: chrox Date: Fri, 2 Aug 2013 22:44:47 +0800 Subject: [PATCH] add page up/down buttons in menus that have more than one pages --- frontend/ui/widget/menu.lua | 34 +++++++++++++++++++---- resources/icons/appbar.chevron.right.png | Bin 410 -> 729 bytes 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 33df8a2a3..fc157a2df 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -1,6 +1,7 @@ require "ui/widget/container" require "ui/widget/focusmanager" require "ui/widget/infomessage" +require "ui/widget/button" require "ui/widget/text" require "ui/widget/group" require "ui/widget/span" @@ -287,8 +288,27 @@ function Menu:init() end -- group for items self.item_group = VerticalGroup:new{} - self.page_info = TextWidget:new{ - face = self.fface, + -- group for page info + self.page_info_left_chev = Button:new{ + icon = "resources/icons/appbar.chevron.left.png", + callback = function() self:onPrevPage() end, + bordersize = 0, + } + self.page_info_right_chev = Button:new{ + icon = "resources/icons/appbar.chevron.right.png", + callback = function() self:onNextPage() end, + bordersize = 0, + } + self.page_info_left_chev:hide() + self.page_info_right_chev:hide() + self.page_info_text = TextWidget:new{ + text = "", + face = self.fface, + } + self.page_info = HorizontalGroup:new{ + self.page_info_left_chev, + self.page_info_text, + self.page_info_right_chev } -- group for menu layout local content = VerticalGroup:new{ @@ -428,9 +448,13 @@ function Menu:updateItems(select_number) self.item_group[select_number]:onFocus() end -- update page information - self.page_info.text = _("page ")..self.page.."/"..self.page_num + self.page_info_text.text = _("page ")..self.page.."/"..self.page_num + self.page_info_left_chev:showHide(self.page_num > 1) + self.page_info_right_chev:showHide(self.page_num > 1) + self.page_info_left_chev:enableDisable(self.page > 1) + self.page_info_right_chev:enableDisable(self.page < self.page_num) else - self.page_info.text = _("no choices available") + self.page_info_text.text = _("no choices available") end -- FIXME: this is a dirty hack to clear previous menus @@ -568,5 +592,3 @@ function Menu:onSwipe(arg, ges_ev) self:onPrevPage() end end - - diff --git a/resources/icons/appbar.chevron.right.png b/resources/icons/appbar.chevron.right.png index 8e213a67c3e70e8c99194a38288fcc0b47158ce6..ae426f65f87a5f3c2c918786a4488be29b005b46 100644 GIT binary patch delta 705 zcmV;y0zUnk1K9!N~ID`rxPK>*lT5Fg-WHuv`hTSP33Z#<>h55!r^dmdwZ)M0N~-_fwi?YDPmz^ zft#Bf^#B01T7L~)*QJQr*;y_xFVzD8G@DJ_ZnqR+u~s}s3Al+9H!Unsec6k`274N7z`RhL?RLT{k~cN zfL^ahC=@b;*xTFV{rz1n06@K7$7;12LY$nOs0Da^eZ}wh8w!7La4_+N7Sj%IbX_<) zI$}5+sxt@L?KYd6n})*2<8iePGMH?^#`4m4=_2o8#*0O0E4srBcD=a!JE4 zE-sSG<<#1d6$%BGmX@U9olYmkVo|LGZx^prw85kH?(j9#r85lP9bN@+X1@buyJR*x382Ao@Fyrz3 z6)6l1jQXA~jv*P&Z>MkMV{{Z~>u+&eF1*)ov2bq%)7-e#*E-ohFj?*OvuRXc;HE2e zF;nEnf0xpmp>L1+eDXIsdRA@s|Nm#-Jk>ibqNKp2q)-pUVDv$sX(X+jeLtx~c;1O}J^6}v;&oMvn3L2pdb0JJws_j!=bR<6v*3g5%n6<1*N(;clqh}? zd%R=&f zui$%*<7X;LjvOgob8Fhv&$@>t`6n)~=$m@;hw49;tG=60DX!^?aX;}sFh4?ke`kmN zg1GHE``8L^cl?lj6=N