Add tooltips to add-on manager buttons

This commit is contained in:
Jyrki Vesterinen 2017-04-11 21:28:56 +03:00
parent f948d02509
commit aa762995e2
3 changed files with 24 additions and 6 deletions

View file

@ -339,6 +339,7 @@
[button]
id = "single_install"
definition = "install"
tooltip = _"Install add-on"
[/button]
[/column]
@ -361,6 +362,7 @@
[button]
id = "single_update"
definition = "update"
tooltip = _"Update add-on"
[/button]
[/column]
@ -383,6 +385,7 @@
[button]
id = "single_uninstall"
definition = "uninstall"
tooltip = _"Uninstall add-on"
[/button]
[/column]

View file

@ -199,6 +199,7 @@
[button]
id = "install"
definition = "addon_install"
tooltip = _"Install add-on"
[/button]
[/column]
@ -220,6 +221,7 @@
[button]
id = "update"
definition = "addon_upgrade"
tooltip = _"Update add-on"
[/button]
[/column]
@ -241,6 +243,7 @@
[button]
id = "uninstall"
definition = "addon_uninstall"
tooltip = _"Uninstall add-on"
[/button]
[/column]
@ -263,6 +266,7 @@
[button]
id = "publish"
definition = "addon_publish"
tooltip = _"Publish add-on"
[/button]
[/column]
@ -276,6 +280,7 @@
[button]
id = "delete"
definition = "addon_delete"
tooltip = _"Delete add-on"
[/button]
[/column]

View file

@ -228,41 +228,51 @@ void addon_list::set_addons(const addons_list& addons)
} else {
const bool is_updatable = tracking_info.state == ADDON_INSTALLED_OUTDATED;
find_widget<button>(row_grid, "single_install", false).set_active(true);
find_widget<button>(row_grid, "single_update", false).set_active(true);
find_widget<button>(row_grid, "single_uninstall", false).set_active(tracking_info.state == ADDON_INSTALLED);
button& install_button = find_widget<button>(row_grid, "single_install", false);
button& update_button = find_widget<button>(row_grid, "single_update", false);
button& uninstall_button = find_widget<button>(row_grid, "single_uninstall", false);
install_button.set_active(true);
update_button.set_active(true);
uninstall_button.set_active(tracking_info.state == ADDON_INSTALLED);
if(true) {
gui2::event::connect_signal_mouse_left_click(
find_widget<button>(row_grid, "single_install", false),
install_button,
[this, addon](gui2::event::dispatcher&, const gui2::event::ui_event, bool& handled, bool& halt)
{
publish_function_(addon);
handled = true;
halt = true;
});
install_button.set_tooltip(_("Publish add-on"));
}
if(is_updatable) {
gui2::event::connect_signal_mouse_left_click(
find_widget<button>(row_grid, "single_update", false),
update_button,
[this, addon](gui2::event::dispatcher&, const gui2::event::ui_event, bool& handled, bool& halt)
{
publish_function_(addon);
handled = true;
halt = true;
});
update_button.set_tooltip(_("Send new version to server"));
}
if(tracking_info.state == ADDON_INSTALLED) {
gui2::event::connect_signal_mouse_left_click(
find_widget<button>(row_grid, "single_uninstall", false),
uninstall_button,
[this, addon](gui2::event::dispatcher&, const gui2::event::ui_event, bool& handled, bool& halt)
{
delete_function_(addon);
handled = true;
halt = true;
});
uninstall_button.set_tooltip(_("Delete add-on from server"));
}
install_update_stack.select_layer(static_cast<int>(is_updatable));