Use listbox for device-specific advanced menu items
This patch allows items to have more than one action surrounded by the <actions> tags like other GUI elements. The patch also adds new twrp command line options that let you reload the theme and switch to a specific page from the command line: adb shell twrp reloadtheme adb shell twrp changepage=advanced Change-Id: I838ea380a508be07b9fa617034d1954e116febd6
This commit is contained in:
@@ -474,6 +474,13 @@ static void ors_command_read()
|
||||
gui_set_FILE(orsout);
|
||||
PageManager::GetResources()->DumpStrings();
|
||||
ors_command_done();
|
||||
} else if (strlen(command) == 11 && strncmp(command, "reloadtheme", 11) == 0) {
|
||||
PageManager::RequestReload();
|
||||
ors_command_done();
|
||||
} else if (strlen(command) > 11 && strncmp(command, "changepage=", 11) == 0) {
|
||||
char* pg = &command[11];
|
||||
gui_changePage(pg);
|
||||
ors_command_done();
|
||||
} else {
|
||||
// mirror output messages
|
||||
gui_set_FILE(orsout);
|
||||
|
||||
+3
-1
@@ -102,8 +102,10 @@ GUIListBox::GUIListBox(xml_node<>* node) : GUIScrollList(node)
|
||||
item.selected = (child->value() == currentValue);
|
||||
item.action = NULL;
|
||||
xml_node<>* action = child->first_node("action");
|
||||
if (!action)
|
||||
action = child->first_node("actions");
|
||||
if (action) {
|
||||
item.action = new GUIAction(action);
|
||||
item.action = new GUIAction(child);
|
||||
allowSelection = true;
|
||||
}
|
||||
xml_node<>* variable_name = child->first_node("data");
|
||||
|
||||
@@ -165,6 +165,16 @@
|
||||
<font resource="font_m" spacing="%partitionlist_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%"/>
|
||||
</style>
|
||||
|
||||
<style name="advanced_listbox">
|
||||
<highlight color="%fileselector_highlight_color%"/>
|
||||
<fastscroll linecolor="%fileselector_linecolor%" rectcolor="%accent_color%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%"/>
|
||||
<separator color="%fileselector_linecolor%" height="%fileselector_separatorheight%"/>
|
||||
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%"/>
|
||||
<icon selected="handle" unselected="handle"/>
|
||||
<background color="%background_color%"/>
|
||||
<font resource="font_m" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%accent_color%"/>
|
||||
</style>
|
||||
|
||||
<style name="slider">
|
||||
<placement x="%col2_x_right%" y="%row17a_y%"/>
|
||||
<font resource="font_m" color="%text_color%"/>
|
||||
@@ -3339,24 +3349,7 @@
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_has_data_media" var2="1"/>
|
||||
<placement x="%center_x%" y="%row2_y%"/>
|
||||
<text>{@fix_context_btn=Fix Contexts}</text>
|
||||
<action function="page">fixcontexts</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_allow_partition_sdcard" var2="1"/>
|
||||
<placement x="%col1_x_left%" y="%row6a_y%"/>
|
||||
<text>{@part_sd_btn=Partition SD Card}</text>
|
||||
<actions>
|
||||
<action function="set">partitionlisterror=0</action>
|
||||
<action function="page">partsdcardsel</action>
|
||||
</actions>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<placement x="%center_x%" y="%row6a_y%"/>
|
||||
<text>{@file_manager_btn=File Manager}</text>
|
||||
<action function="page">filemanagerlist</action>
|
||||
</button>
|
||||
@@ -3367,39 +3360,45 @@
|
||||
<action function="page">terminalcommand</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<placement x="%center_x%" y="%row11_y%"/>
|
||||
<text>{@reload_theme_btn=Reload Theme}</text>
|
||||
<action function="reload"/>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<placement x="%col1_x_left%" y="%row15a_y%"/>
|
||||
<text>{@adb_sideload_btn=ADB Sideload}</text>
|
||||
<action function="page">sideload</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_show_dumlock" var2="1"/>
|
||||
<placement x="%center_x%" y="%row15a_y%"/>
|
||||
<text>{@dumlock_btn=HTC Dumlock}</text>
|
||||
<action function="page">htcdumlock</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_has_injecttwrp" var2="1"/>
|
||||
<placement x="%center_x%" y="%row15a_y%"/>
|
||||
<text>{@inject_twrp_btn=Inject TWRP}</text>
|
||||
<actions>
|
||||
<action function="set">tw_back=advanced</action>
|
||||
<action function="set">tw_action=reinjecttwrp</action>
|
||||
<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
|
||||
<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
|
||||
<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
|
||||
<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
|
||||
<action function="page">confirm_action</action>
|
||||
</actions>
|
||||
</button>
|
||||
<listbox style="advanced_listbox">
|
||||
<placement x="%center_x%" y="%row2_y%" w="%content_half_width%" h="%fileselector_install_height%"/>
|
||||
<listitem name="{@reload_theme_btn=Reload Theme}">
|
||||
<action function="reload"/>
|
||||
</listitem>
|
||||
<listitem name="{@part_sd_btn=Partition SD Card}">
|
||||
<condition var1="tw_allow_partition_sdcard" var2="1"/>
|
||||
<actions>
|
||||
<action function="set">partitionlisterror=0</action>
|
||||
<action function="page">partsdcardsel</action>
|
||||
</actions>
|
||||
</listitem>
|
||||
<listitem name="{@fix_context_btn=Fix Contexts}">
|
||||
<condition var1="tw_has_data_media" var2="1"/>
|
||||
<action function="page">fixcontexts</action>
|
||||
</listitem>
|
||||
<listitem name="{@dumlock_btn=HTC Dumlock}">
|
||||
<condition var1="tw_show_dumlock" var2="1"/>
|
||||
<action function="page">htcdumlock</action>
|
||||
</listitem>
|
||||
<listitem name="{@inject_twrp_btn=Inject TWRP}">
|
||||
<condition var1="tw_has_injecttwrp" var2="1"/>
|
||||
<actions>
|
||||
<action function="set">tw_back=advanced</action>
|
||||
<action function="set">tw_action=reinjecttwrp</action>
|
||||
<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
|
||||
<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
|
||||
<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
|
||||
<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
|
||||
<action function="page">confirm_action</action>
|
||||
</actions>
|
||||
</listitem>
|
||||
</listbox>
|
||||
|
||||
<action>
|
||||
<touch key="home"/>
|
||||
|
||||
@@ -136,6 +136,16 @@
|
||||
<font resource="font_m" spacing="%partitionlist_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%"/>
|
||||
</style>
|
||||
|
||||
<style name="advanced_listbox">
|
||||
<highlight color="%fileselector_highlight_color%"/>
|
||||
<fastscroll linecolor="%fileselector_linecolor%" rectcolor="%accent_color%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%"/>
|
||||
<separator color="%fileselector_linecolor%" height="%fileselector_separatorheight%"/>
|
||||
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%"/>
|
||||
<icon selected="handle" unselected="handle"/>
|
||||
<background color="%background_color%"/>
|
||||
<font resource="font_m" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%accent_color%"/>
|
||||
</style>
|
||||
|
||||
<style name="slider">
|
||||
<placement x="%center_x%" y="%row23_y%"/>
|
||||
<font resource="font_s" color="%text_color%"/>
|
||||
@@ -3501,18 +3511,14 @@
|
||||
<button style="main_button">
|
||||
<condition var1="tw_has_data_media" var2="1"/>
|
||||
<placement x="%center_x%" y="%row2a_y%"/>
|
||||
<text>{@fix_context_btn=Fix Contexts}</text>
|
||||
<action function="page">fixcontexts</action>
|
||||
<text>{@adb_sideload_btn=ADB Sideload}</text>
|
||||
<action function="page">sideload</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_allow_partition_sdcard" var2="1"/>
|
||||
<placement x="%indent%" y="%row8_y%"/>
|
||||
<text>{@part_sd_btn=Partition SD Card}</text>
|
||||
<actions>
|
||||
<action function="set">partitionlisterror=0</action>
|
||||
<action function="page">partsdcardsel</action>
|
||||
</actions>
|
||||
<text>{@terminal_btn=Terminal}</text>
|
||||
<action function="page">terminalcommand</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
@@ -3521,45 +3527,39 @@
|
||||
<action function="page">filemanagerlist</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<placement x="%indent%" y="%row13a_y%"/>
|
||||
<text>{@terminal_btn=Terminal}</text>
|
||||
<action function="page">terminalcommand</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<placement x="%center_x%" y="%row13a_y%"/>
|
||||
<text>{@reload_theme_btn=Reload Theme}</text>
|
||||
<action function="reload"/>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<placement x="%indent%" y="%row19_y%"/>
|
||||
<text>{@adb_sideload_btn=ADB Sideload}</text>
|
||||
<action function="page">sideload</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_show_dumlock" var2="1"/>
|
||||
<placement x="%center_x%" y="%row19_y%"/>
|
||||
<text>{@dumlock_btn=HTC Dumlock}</text>
|
||||
<action function="page">htcdumlock</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_has_injecttwrp" var2="1"/>
|
||||
<placement x="%center_x%" y="%row19_y%"/>
|
||||
<text>{@inject_twrp_btn=Inject TWRP}</text>
|
||||
<actions>
|
||||
<action function="set">tw_back=advanced</action>
|
||||
<action function="set">tw_action=reinjecttwrp</action>
|
||||
<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
|
||||
<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
|
||||
<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
|
||||
<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
|
||||
<action function="page">confirm_action</action>
|
||||
</actions>
|
||||
</button>
|
||||
<listbox style="advanced_listbox">
|
||||
<placement x="%indent%" y="%row13a_y%" w="%content_width%" h="%listbox_advanced_height%"/>
|
||||
<listitem name="{@reload_theme_btn=Reload Theme}">
|
||||
<action function="reload"/>
|
||||
</listitem>
|
||||
<listitem name="{@part_sd_btn=Partition SD Card}">
|
||||
<condition var1="tw_allow_partition_sdcard" var2="1"/>
|
||||
<actions>
|
||||
<action function="set">partitionlisterror=0</action>
|
||||
<action function="page">partsdcardsel</action>
|
||||
</actions>
|
||||
</listitem>
|
||||
<listitem name="{@fix_context_btn=Fix Contexts}">
|
||||
<condition var1="tw_has_data_media" var2="1"/>
|
||||
<action function="page">fixcontexts</action>
|
||||
</listitem>
|
||||
<listitem name="{@dumlock_btn=HTC Dumlock}">
|
||||
<condition var1="tw_show_dumlock" var2="1"/>
|
||||
<action function="page">htcdumlock</action>
|
||||
</listitem>
|
||||
<listitem name="{@inject_twrp_btn=Inject TWRP}">
|
||||
<condition var1="tw_has_injecttwrp" var2="1"/>
|
||||
<actions>
|
||||
<action function="set">tw_back=advanced</action>
|
||||
<action function="set">tw_action=reinjecttwrp</action>
|
||||
<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
|
||||
<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
|
||||
<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
|
||||
<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
|
||||
<action function="page">confirm_action</action>
|
||||
</actions>
|
||||
</listitem>
|
||||
</listbox>
|
||||
|
||||
<action>
|
||||
<touch key="home"/>
|
||||
|
||||
+69
-32
@@ -166,6 +166,16 @@
|
||||
<font resource="font_m" spacing="%partitionlist_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%"/>
|
||||
</style>
|
||||
|
||||
<style name="advanced_listbox">
|
||||
<highlight color="%fileselector_highlight_color%"/>
|
||||
<fastscroll linecolor="%fileselector_linecolor%" rectcolor="%accent_color%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%"/>
|
||||
<separator color="%fileselector_linecolor%" height="%fileselector_separatorheight%"/>
|
||||
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%"/>
|
||||
<icon selected="handle" unselected="handle"/>
|
||||
<background color="%background_color%"/>
|
||||
<font resource="font_m" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%accent_color%"/>
|
||||
</style>
|
||||
|
||||
<style name="slider">
|
||||
<placement x="%center_x%" y="%slider_y%"/>
|
||||
<font resource="font_l" color="%text_color%"/>
|
||||
@@ -4104,42 +4114,69 @@
|
||||
<action function="page">fixcontexts</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<placement x="%col1_x_left%" y="%row6_y%"/>
|
||||
<text>{@reload_theme_btn=Reload Theme}</text>
|
||||
<action function="reload"/>
|
||||
<button>
|
||||
<placement x="%btn4_col4_x%" y="%row11_y%"/>
|
||||
<highlight color="%highlight_color%"/>
|
||||
<image resource="q_btn_arrow_right"/>
|
||||
<action function="page">advanced2</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_allow_partition_sdcard" var2="1"/>
|
||||
<placement x="%col1_x_right%" y="%row6_y%"/>
|
||||
<text>{@part_sd_s_btn=SD Card}</text>
|
||||
<actions>
|
||||
<action function="set">partitionlisterror=0</action>
|
||||
<action function="page">partsdcardsel</action>
|
||||
</actions>
|
||||
</button>
|
||||
<action>
|
||||
<touch key="home"/>
|
||||
<action function="page">main</action>
|
||||
</action>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_show_dumlock" var2="1"/>
|
||||
<action>
|
||||
<touch key="back"/>
|
||||
<action function="page">main3</action>
|
||||
</action>
|
||||
</page>
|
||||
|
||||
<page name="advanced2">
|
||||
<template name="page"/>
|
||||
|
||||
<template name="statusbar"/>
|
||||
|
||||
<text style="text_m">
|
||||
<placement x="%col1_x_left%" y="%row1_header_y%"/>
|
||||
<text>{@advanced_hdr=Advanced}</text>
|
||||
</text>
|
||||
|
||||
<listbox style="advanced_listbox">
|
||||
<placement x="%indent%" y="%row2_header_y%" w="%content_width%" h="%fileselector_install_height%"/>
|
||||
<listitem name="{@reload_theme_btn=Reload Theme}">
|
||||
<action function="reload"/>
|
||||
</listitem>
|
||||
<listitem name="{@part_sd_btn=Partition SD Card}">
|
||||
<condition var1="tw_allow_partition_sdcard" var2="1"/>
|
||||
<actions>
|
||||
<action function="set">partitionlisterror=0</action>
|
||||
<action function="page">partsdcardsel</action>
|
||||
</actions>
|
||||
</listitem>
|
||||
<listitem name="{@dumlock_btn=HTC Dumlock}">
|
||||
<condition var1="tw_show_dumlock" var2="1"/>
|
||||
<action function="page">htcdumlock</action>
|
||||
</listitem>
|
||||
<listitem name="{@inject_twrp_btn=Inject TWRP}">
|
||||
<condition var1="tw_has_injecttwrp" var2="1"/>
|
||||
<actions>
|
||||
<action function="set">tw_back=advanced</action>
|
||||
<action function="set">tw_action=reinjecttwrp</action>
|
||||
<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
|
||||
<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
|
||||
<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
|
||||
<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
|
||||
<action function="page">confirm_action</action>
|
||||
</actions>
|
||||
</listitem>
|
||||
</listbox>
|
||||
|
||||
<button>
|
||||
<placement x="%col1_x_left%" y="%row11_y%"/>
|
||||
<text>{@dumlock_btn=HTC Dumlock}</text>
|
||||
<action function="page">htcdumlock</action>
|
||||
</button>
|
||||
|
||||
<button style="main_button">
|
||||
<condition var1="tw_has_injecttwrp" var2="1"/>
|
||||
<placement x="%col1_x_right%" y="%row11_y%"/>
|
||||
<text>{@inject_twrp_btn=Inject TWRP}</text>
|
||||
<actions>
|
||||
<action function="set">tw_back=advanced</action>
|
||||
<action function="set">tw_action=reinjecttwrp</action>
|
||||
<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
|
||||
<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
|
||||
<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
|
||||
<action function="set">tw_slider_text={@swipe_confirm= Confirm}</action>
|
||||
<action function="page">confirm_action</action>
|
||||
</actions>
|
||||
<highlight color="%highlight_color%"/>
|
||||
<image resource="q_btn_arrow_left"/>
|
||||
<action function="page">advanced</action>
|
||||
</button>
|
||||
|
||||
<action>
|
||||
|
||||
@@ -202,6 +202,7 @@
|
||||
<variable name="partitionlist_backup_height" value="768"/>
|
||||
<variable name="listbox_timezone_height" value="756"/>
|
||||
<variable name="listbox_settings_height" value="960"/>
|
||||
<variable name="listbox_advanced_height" value="700"/>
|
||||
<variable name="fastscroll_w" value="24"/>
|
||||
<variable name="fastscroll_linew" value="2"/>
|
||||
<variable name="fastscroll_rectw" value="24"/>
|
||||
|
||||
@@ -202,6 +202,7 @@
|
||||
<variable name="partitionlist_backup_height" value="312"/>
|
||||
<variable name="listbox_timezone_height" value="306"/>
|
||||
<variable name="listbox_settings_height" value="400"/>
|
||||
<variable name="listbox_advanced_height" value="290"/>
|
||||
<variable name="fastscroll_w" value="10"/>
|
||||
<variable name="fastscroll_linew" value="2"/>
|
||||
<variable name="fastscroll_rectw" value="10"/>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 412 B |
Reference in New Issue
Block a user