diff --git a/src/gui/dialogs/addon/description.cpp b/src/gui/dialogs/addon/description.cpp index 86f631d26a60..f27c88fba3a6 100644 --- a/src/gui/dialogs/addon/description.cpp +++ b/src/gui/dialogs/addon/description.cpp @@ -382,9 +382,14 @@ void taddon_description::pre_show(CVideo& /*video*/, twindow& window) connect_signal_mouse_left_click( url_go_button, boost::bind(&taddon_description::browse_url_callback, this)); + connect_signal_mouse_left_click( url_copy_button, boost::bind(&taddon_description::copy_url_callback, this)); + + if (!desktop::clipboard::available()) { + url_copy_button.set_active(false); + } } else { url_go_button.set_active(false); url_copy_button.set_active(false); diff --git a/src/gui/dialogs/chat_log.cpp b/src/gui/dialogs/chat_log.cpp index a995a962d96e..d24c34458d53 100644 --- a/src/gui/dialogs/chat_log.cpp +++ b/src/gui/dialogs/chat_log.cpp @@ -410,6 +410,9 @@ class tchat_log::view boost::bind(&view::handle_copy_button_clicked, this, boost::ref(window))); + if (!desktop::clipboard::available()) { + model_.copy_button->set_active(false); + } model_.page_label = &find_widget(&window, "page_label", false); diff --git a/src/gui/dialogs/game_cache_options.cpp b/src/gui/dialogs/game_cache_options.cpp index 3fe4bdac4d81..86500a1ba47d 100644 --- a/src/gui/dialogs/game_cache_options.cpp +++ b/src/gui/dialogs/game_cache_options.cpp @@ -92,6 +92,9 @@ void tgame_cache_options::pre_show(CVideo& video, twindow& window) connect_signal_mouse_left_click(copy, boost::bind(&tgame_cache_options::copy_to_clipboard_callback, this)); + if (!desktop::clipboard::available()) { + copy.set_active(false); + } tbutton& browse = find_widget(&window, "browse", false); connect_signal_mouse_left_click(browse, diff --git a/src/gui/dialogs/game_paths.cpp b/src/gui/dialogs/game_paths.cpp index c4aabcb96e1f..2068a2a50360 100644 --- a/src/gui/dialogs/game_paths.cpp +++ b/src/gui/dialogs/game_paths.cpp @@ -111,6 +111,10 @@ void tgame_paths::pre_show(CVideo& /*video*/, twindow& window) // open_object(). browse_w.set_visible(tcontrol::tvisible::invisible); } + + if(!desktop::clipboard::available()) { + copy_w.set_active(false); + } } } diff --git a/src/gui/dialogs/gamestate_inspector.cpp b/src/gui/dialogs/gamestate_inspector.cpp index 6eb260c2eac2..e99b7f2e5946 100644 --- a/src/gui/dialogs/gamestate_inspector.cpp +++ b/src/gui/dialogs/gamestate_inspector.cpp @@ -688,6 +688,9 @@ class tgamestate_inspector::view boost::bind(&tgamestate_inspector::view::handle_copy_button_clicked, this, boost::ref(window))); + if (!desktop::clipboard::available()) { + model_.copy_button->set_active(false); + } } private: diff --git a/src/gui/dialogs/screenshot_notification.cpp b/src/gui/dialogs/screenshot_notification.cpp index de531d17e65c..f6097f57600d 100644 --- a/src/gui/dialogs/screenshot_notification.cpp +++ b/src/gui/dialogs/screenshot_notification.cpp @@ -83,6 +83,10 @@ void tscreenshot_notification::pre_show(CVideo& /*video*/, twindow& window) connect_signal_mouse_left_click( copy_b, boost::bind(&desktop::clipboard::copy_to_clipboard, boost::ref(path_), false)); + if (!desktop::clipboard::available()) { + copy_b.set_active(false); + } + tbutton& open_b = find_widget(&window, "open", false); connect_signal_mouse_left_click( open_b, boost::bind(&desktop::open_object, boost::ref(path_))); diff --git a/src/gui/dialogs/wml_error.cpp b/src/gui/dialogs/wml_error.cpp index 8dbb66d78ca6..99b4e01a80e7 100644 --- a/src/gui/dialogs/wml_error.cpp +++ b/src/gui/dialogs/wml_error.cpp @@ -217,6 +217,10 @@ void twml_error::pre_show(CVideo& /*video*/, twindow& window) connect_signal_mouse_left_click( copy_button, boost::bind(&twml_error::copy_report_callback, this)); + + if (!desktop::clipboard::available()) { + copy_button.set_active(false); + } } void twml_error::copy_report_callback()