wesnoth/data/gui/window/addon_manager.cfg
Charles Dang e0b35791e2 GUI2/Text Box: refactored hint text interface
Previously, I had implemented the hint text ("Search)" and image (the magnifying glass)
as a custom text box definition. This caused some problems, though. Since the string was
hard-coded as part of a WFL formula, it couldn't be translated (see #2709 and #2732). It
also wasn't expandable to any other usecase.

Instead, I've added two new hint_text= and hint_image= keys to [text_box], wrapped the
"Search" text and magnifying image path in a helper macro, and refactored the default
definition to display the hint text and image when appropriate.

This also fixes a minor issue where selected text wouldn't remain highlighted when the
box wasn't focused when using the filter definition (it did with the default one).

This should fix the untranslatable "Search" text issue mentioned in both issues above.
The new string is in the wesnoth-lib textdomain.

(cherry-picked from commit db5abb7e637fd87699fce49a9543faafc3f58068)
2018-10-07 03:18:19 +00:00

1159 lines
20 KiB
INI

#textdomain wesnoth-lib
###
### Definition of the window to select an addon for installation.
###
#define _GUI_ADDON_DETAILS_SECTION
[grid]
[row]
grow_factor = 1
[column]
grow_factor = 0
border = "all"
border_size = 5
vertical_alignment = "top"
horizontal_alignment = "left"
[drawing]
id = "image"
definition = "default"
width = 72
height = 72
[draw]
[image]
name = "(text)"
w = "(min(image_original_width, 72))"
h = "(min(image_original_height, 72))"
{GUI_CENTERED_IMAGE}
[/image]
[/draw]
[/drawing]
[/column]
[column]
grow_factor = 1
horizontal_grow = true
vertical_grow = true
[grid]
[row]
grow_factor = 0
[column]
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "title"
definition = "title"
label = "Epic Addon Of Awesomeness"
use_markup = true
[/label]
[/column]
[/row]
[row]
grow_factor = 0
[column]
horizontal_alignment = "left"
[grid]
[row]
[column]
border = "left,top,bottom"
border_size = 5
horizontal_alignment = "left"
[label]
id = "byline"
definition = "default_small"
label = _ "By:"
[/label]
[/column]
[column]
border = "all"
border_size = 5
horizontal_alignment = "left"
[scroll_label]
id = "author"
definition = "default_small"
horizontal_scrollbar_mode = "never"
vertical_scrollbar_mode = "never"
[/scroll_label]
[/column]
[column]
[spacer]
width = 10
[/spacer]
[/column]
[column]
border = "left,top,bottom"
border_size = 5
horizontal_alignment = "left"
[label]
id = "version_string"
definition = "default_small"
label = _ "Version:"
[/label]
[/column]
[column]
border = "left,top,bottom"
border_size = 5
horizontal_alignment = "left"
[scroll_label]
id = "version"
definition = "default_small"
horizontal_scrollbar_mode = "never"
vertical_scrollbar_mode = "never"
[/scroll_label]
[/column]
[/row]
[/grid]
[/column]
[/row]
[row]
grow_factor = 1
[column]
border = "all"
border_size = 5
vertical_grow = true
horizontal_grow = true
[scroll_label]
id = "description"
#definition = "description"
label = _ "No description available."
horizontal_scrollbar_mode = "never"
[/scroll_label]
[/column]
[/row]
[row]
grow_factor = 0
[column]
horizontal_grow = true
[stacked_widget]
id = "action_stack"
[layer]
[row]
grow_factor = 1
[column]
grow_factor = 1
horizontal_alignment = "center"
[stacked_widget]
id = "install_update_stack"
[layer]
[row]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "center"
[button]
id = "install"
definition = "addon_install_large"
tooltip = _"Install add-on"
[/button]
[/column]
[/row]
[/layer]
[layer]
[row]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "center"
[button]
id = "update"
definition = "addon_upgrade_large"
tooltip = _"Update add-on"
[/button]
[/column]
[/row]
[/layer]
[/stacked_widget]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "center"
[button]
id = "uninstall"
definition = "addon_uninstall_large"
tooltip = _"Uninstall add-on"
[/button]
[/column]
[/row]
[/layer]
[layer]
[row]
grow_factor = 1
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "center"
[button]
id = "publish"
definition = "addon_publish_large"
tooltip = _"Publish add-on"
[/button]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "center"
[button]
id = "delete"
definition = "addon_delete_large"
tooltip = _"Delete add-on"
[/button]
[/column]
[/row]
[/layer]
[/stacked_widget]
[/column]
[/row]
[row]
grow_factor = 0
[column]
horizontal_grow = true
[grid]
[row]
grow_factor = 1
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
definition = "default_small"
label = _ "Type:"
[/label]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "type"
definition = "default_small"
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
definition = "default_small"
label = _ "date^Uploaded:"
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "created"
definition = "default_small"
[/label]
[/column]
[/row]
[row]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
# Keeps this label aligned with its value label should the latter wrap
vertical_alignment = "top"
[label]
definition = "default_small"
label = _ "Status:"
[/label]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
# Keeps this label aligned with its label should this wrap
vertical_alignment = "top"
[label]
id = "status"
definition = "default_small"
wrap = true
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
definition = "default_small"
label = _ "date^Updated:"
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "updated"
definition = "default_small"
[/label]
[/column]
[/row]
[row]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
definition = "default_small"
label = _ "Size:"
[/label]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "size"
definition = "default_small"
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
definition = "default_small"
label = _ "Downloads:"
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "downloads"
definition = "default_small"
[/label]
[/column]
[/row]
[/grid]
[/column]
[/row]
{GUI_HORIZONTAL_SPACER_LINE}
[row]
grow_factor = 0
[column]
horizontal_grow = true
[grid]
[row]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "default_small"
label = _ "Dependencies:"
[/label]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "dependencies"
definition = "default_small"
label = _ "addon_dependencies^None"
use_markup = true
can_shrink = true
[/label]
[/column]
[/row]
[row]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "default_small"
label = _ "Translations:"
[/label]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
[label]
id = "translations"
definition = "default_small"
label = _ "translations^None"
can_shrink = true
[/label]
[/column]
[/row]
[row]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "default_small"
label = _ "Website:"
[/label]
[/column]
[column]
grow_factor = 1
horizontal_grow = true
[stacked_widget]
id = "feedback_stack"
[layer]
[row]
[column]
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
id = "url_none"
label = _ "url^None"
definition = "default_small"
[/label]
[/column]
[/row]
[/layer]
[layer]
[row]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
[text_box]
id = "url"
definition = "default"
[/text_box]
[/column]
[column]
border = "all"
border_size = 5
horizontal_alignment = "right"
[button]
id = "url_copy"
definition = "action_copy"
label = _ "url^Copy"
tooltip = _ "Copy this URL to clipboard"
[/button]
[/column]
[column]
border = "all"
border_size = 5
horizontal_alignment = "right"
[button]
id = "url_go"
definition = "action_go"
label = _ "url^Go"
tooltip = _ "Visit this URL with a web browser"
[/button]
[/column]
[/row]
[/layer]
[/stacked_widget]
[/column]
[/row]
[/grid]
[/column]
[/row]
[/grid]
[/column]
[/row]
[/grid]
#enddef
#define _GUI_ADDON_FILTER_OPTIONS
[grid]
[row]
grow_factor = 1
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[text_box]
id = "filter"
definition = "default"
tooltip = _ "Filters on addon description, version, type or author."
{FITER_TEXT_BOX_HINT}
[/text_box]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "default"
label = _ "State:"
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[menu_button]
id = "install_status_filter"
definition = "default"
[/menu_button]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "default"
label = _ "Type:"
[/label]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[multimenu_button]
id = "type_filter"
definition = "default"
maximum_shown = 2
[/multimenu_button]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "default"
label = _ "Order:"
[/label]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "left"
[menu_button]
id = "order_dropdown"
definition = "default"
[/menu_button]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "right"
[button]
# NOTE: this isn't named "help" because it conflicts with
# a titlescreen hack in gui2::twindow::get_retval_by_id().
id = "show_help"
definition = "help_30"
[/button]
[/column]
[/row]
[/grid]
#enddef
[window_definition]
id = "addon_manager"
description = "A simple window without border decorations and the ability to set a custom background."
{_GUI_RESOLUTION_BORDERLESS_BASE () 10 13 (
[image]
x = 0
y = 0
w = "(width)"
h = "(height)"
#name = "dialogs/addon_manager_bg.jpg"
[/image]
)}
[/window_definition]
[window]
id = "addon_manager"
description = "Addon selection dialog."
[resolution]
window_width=800
window_height=600
definition = "addon_manager"
{GUI_WINDOW_FULLSCREEN}
[tooltip]
id = "tooltip_large"
[/tooltip]
[helptip]
id = "tooltip_large"
[/helptip]
[grid]
[row]
grow_factor = 0
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "title"
label = _ "Add-ons Manager"
[/label]
[/column]
[/row]
[row]
grow_factor = 1
[column]
horizontal_grow = true
vertical_grow = true
[stacked_widget]
# TODO: Make a definition for this?
#definition = "box_display_no_blur_no_border"
id = "main_stack"
[layer]
[row]
grow_factor = 0
[column]
grow_factor = 0
horizontal_grow = true
vertical_grow = true
{_GUI_ADDON_FILTER_OPTIONS}
[/column]
[/row]
[row]
grow_factor = 1
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true
vertical_grow = true
[addon_list]
id = "addons"
definition = "default"
install_status_visibility = "visible"
install_buttons_visibility = "visible"
[/addon_list]
[/column]
[/row]
[/layer]
[layer]
[row]
grow_factor = 1
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
vertical_grow = true
{_GUI_ADDON_DETAILS_SECTION}
[/column]
[/row]
[/layer]
[/stacked_widget]
[/column]
[/row]
[row]
grow_factor = 0
[column]
horizontal_grow = true
[grid]
[row]
grow_factor = 1
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "left"
[button]
id = "details_toggle"
definition = "default"
label = _"Addon Details"
[/button]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "right"
[button]
id = "update_all"
definition = "really_large"
label = _ "Update All"
[/button]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "right"
[button]
id = "cancel"
definition = "default"
label = _ "Exit"
[/button]
[/column]
[/row]
[/grid]
[/column]
[/row]
[/grid]
[/resolution]
[resolution]
definition = "addon_manager"
window_width=1281
window_height=801
{GUI_WINDOW_FULLSCREEN}
[tooltip]
id = "tooltip_large"
[/tooltip]
[helptip]
id = "tooltip_large"
[/helptip]
[grid]
[row]
grow_factor = 0
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "left"
[label]
definition = "title"
label = _ "Add-ons Manager"
[/label]
[/column]
[/row]
[row]
grow_factor = 0
[column]
grow_factor = 0
horizontal_grow = true
vertical_grow = true
#border = "top"
#border_size = 5
{_GUI_ADDON_FILTER_OPTIONS}
[/column]
[/row]
#{GUI_HORIZONTAL_SPACER_LINE}
[row]
grow_factor = 1
[column]
border = "all"
border_size = 5
horizontal_grow = true
vertical_grow = true
[panel]
definition = "box_display_no_blur_no_border"
[grid]
[row]
grow_factor = 1
[column]
grow_factor = 0
border = "all"
border_size = 10
horizontal_grow = true
vertical_grow = true
[addon_list]
id = "addons"
definition = "default"
install_status_visibility = "visible"
install_buttons_visibility = "visible"
[/addon_list]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true
vertical_grow = true
{_GUI_ADDON_DETAILS_SECTION}
[/column]
[/row]
[/grid]
[/panel]
[/column]
[/row]
#{GUI_HORIZONTAL_SPACER_LINE}
[row]
grow_factor = 0
[column]
horizontal_grow = true
[grid]
[row]
grow_factor = 1
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_alignment = "right"
[button]
id = "update_all"
definition = "really_large"
label = _ "Update All"
[/button]
[/column]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_alignment = "right"
[button]
id = "cancel"
definition = "default"
label = _ "Exit"
[/button]
[/column]
[/row]
[/grid]
[/column]
[/row]
[/grid]
[/resolution]
[/window]
#undef _GUI_ADDON_FILTER_OPTIONS
#undef _GUI_ADDON_DETAILS_SECTION