display addon versions as a dropdown list
This commit is contained in:
parent
4e66d0a7f1
commit
ec19ddd1db
2 changed files with 20 additions and 11 deletions
|
@ -125,16 +125,13 @@
|
|||
[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]
|
||||
|
||||
horizontal_alignment = "right"
|
||||
|
||||
[menu_button]
|
||||
id = "version_filter"
|
||||
definition = "default"
|
||||
tooltip = _"Select the add-on version"
|
||||
[/menu_button]
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
|
|
@ -885,7 +885,7 @@ void addon_manager::on_addon_select(window& window)
|
|||
|
||||
find_widget<styled_widget>(parent, "title", false).set_label(info->display_title_translated_or_original());
|
||||
find_widget<styled_widget>(parent, "description", false).set_label(info->description_translated());
|
||||
find_widget<styled_widget>(parent, "version", false).set_label(info->version.str());
|
||||
menu_button& version_filter = find_widget<menu_button>(parent, "version_filter", false);
|
||||
find_widget<styled_widget>(parent, "author", false).set_label(info->author);
|
||||
find_widget<styled_widget>(parent, "type", false).set_label(info->display_type());
|
||||
|
||||
|
@ -929,6 +929,8 @@ void addon_manager::on_addon_select(window& window)
|
|||
bool updatable = tracking_info_[info->id].state == ADDON_INSTALLED_UPGRADABLE;
|
||||
|
||||
stacked_widget& action_stack = find_widget<stacked_widget>(parent, "action_stack", false);
|
||||
// #TODO: Add tooltips with upload time and pack size
|
||||
std::vector<config> version_filter_entries;
|
||||
|
||||
if(!tracking_info_[info->id].can_publish) {
|
||||
action_stack.select_layer(0);
|
||||
|
@ -943,13 +945,23 @@ void addon_manager::on_addon_select(window& window)
|
|||
}
|
||||
|
||||
find_widget<button>(parent, "uninstall", false).set_active(installed);
|
||||
|
||||
for(const auto& f : info->versions) {
|
||||
version_filter_entries.emplace_back("label", f.str());
|
||||
}
|
||||
version_filter.set_active(true);
|
||||
} else {
|
||||
action_stack.select_layer(1);
|
||||
|
||||
// Always enable the publish button, but disable the delete button if not yet published.
|
||||
find_widget<button>(parent, "publish", false).set_active(true);
|
||||
find_widget<button>(parent, "delete", false).set_active(!info->local_only);
|
||||
|
||||
// Show only the version to be published
|
||||
version_filter_entries.emplace_back("label", info->current_version.str());
|
||||
version_filter.set_active(false);
|
||||
}
|
||||
version_filter.set_values(version_filter_entries);
|
||||
}
|
||||
|
||||
bool addon_manager::exit_hook(window& window)
|
||||
|
|
Loading…
Add table
Reference in a new issue