Skip to content

Commit

Permalink
Merge pull request #5363 from shikadiqueen/feature/addonmg-url-ux
Browse files Browse the repository at this point in the history
gui2/addon_manager: Replace URL widgets with a single link label
  • Loading branch information
Vultraz committed Dec 16, 2020
2 parents 3dd0e32 + 599509e commit 5feaf97
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 118 deletions.
80 changes: 6 additions & 74 deletions data/gui/window/addon_manager.cfg
Expand Up @@ -576,82 +576,14 @@

[column]
grow_factor = 1
border = "all"
border_size = 5
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]
[label]
id = "url"
definition = "default_small"
[/label]

[/column]

Expand Down
45 changes: 4 additions & 41 deletions src/gui/dialogs/addon/manager.cpp
Expand Up @@ -401,22 +401,10 @@ void addon_manager::pre_show(window& window)
connect_signal_notify_modified(order_dropdown,
std::bind(&addon_manager::order_addons, this));

button& url_go_button = find_widget<button>(&window, "url_go", false);
button& url_copy_button = find_widget<button>(&window, "url_copy", false);
text_box& url_textbox = find_widget<text_box>(&window, "url", false);
label& url_label = find_widget<label>(&window, "url", false);

url_textbox.set_active(false);

if(!desktop::clipboard::available()) {
url_copy_button.set_active(false);
url_copy_button.set_tooltip(_("Clipboard support not found, contact your packager"));
}

if(!desktop::open_object_is_supported()) {
// No point in displaying the button on platforms that can't do
// open_object().
url_go_button.set_visible(widget::visibility::invisible);
}
url_label.set_use_markup(true);
url_label.set_link_aware(true);

connect_signal_mouse_left_click(
find_widget<button>(&window, "install", false),
Expand All @@ -442,14 +430,6 @@ void addon_manager::pre_show(window& window)
find_widget<button>(&window, "update_all", false),
std::bind(&addon_manager::update_all_addons, this));

connect_signal_mouse_left_click(
url_go_button,
std::bind(&addon_manager::browse_url_callback, this, std::ref(url_textbox)));

connect_signal_mouse_left_click(
url_copy_button,
std::bind(&addon_manager::copy_url_callback, this, std::ref(url_textbox)));

connect_signal_mouse_left_click(
find_widget<button>(&window, "show_help", false),
std::bind(&addon_manager::show_help, this));
Expand Down Expand Up @@ -882,17 +862,6 @@ void addon_manager::show_help()
help::show_help("installing_addons");
}

void addon_manager::browse_url_callback(text_box& url_box)
{
/* TODO: ask for confirmation */
desktop::open_object(url_box.get_value());
}

void addon_manager::copy_url_callback(text_box& url_box)
{
desktop::clipboard::copy_to_clipboard(url_box.get_value(), false);
}

static std::string format_addon_time(std::time_t time)
{
if(time) {
Expand Down Expand Up @@ -959,13 +928,7 @@ void addon_manager::on_addon_select()
find_widget<styled_widget>(parent, "translations", false).set_label(!languages.empty() ? languages : _("translations^None"));

const std::string& feedback_url = info->feedback_url;

if(!feedback_url.empty()) {
find_widget<stacked_widget>(parent, "feedback_stack", false).select_layer(1);
find_widget<text_box>(parent, "url", false).set_value(feedback_url);
} else {
find_widget<stacked_widget>(parent, "feedback_stack", false).select_layer(0);
}
find_widget<label>(parent, "url", false).set_label(!feedback_url.empty() ? feedback_url : _("url^None"));

bool installed = is_installed_addon_status(tracking_info_[info->id].state);
bool updatable = tracking_info_[info->id].state == ADDON_INSTALLED_UPGRADABLE;
Expand Down
3 changes: 0 additions & 3 deletions src/gui/dialogs/addon/manager.hpp
Expand Up @@ -137,9 +137,6 @@ class addon_manager : public modal_dialog

void update_all_addons();

void browse_url_callback(text_box& url_box);
void copy_url_callback(text_box& url_box);

void apply_filters();
void order_addons();
void on_order_changed(unsigned int sort_column, preferences::SORT_ORDER order);
Expand Down

0 comments on commit 5feaf97

Please sign in to comment.