Index: remoting/host/disconnect_window_linux.cc |
diff --git a/remoting/host/disconnect_window_linux.cc b/remoting/host/disconnect_window_linux.cc |
index 280c43dec5a4e15d959b07ef47d51e5b12cd7175..25296cd7de8e8ac46379345a49f66ff4b53fc726 100644 |
--- a/remoting/host/disconnect_window_linux.cc |
+++ b/remoting/host/disconnect_window_linux.cc |
@@ -9,8 +9,19 @@ |
#include "base/compiler_specific.h" |
#include "base/logging.h" |
#include "remoting/host/chromoting_host.h" |
+#include "remoting/host/ui_strings.h" |
#include "ui/base/gtk/gtk_signal.h" |
+namespace { |
+// The width in pixels at which the message will wrap. Given that the message |
+// contains an un-splittable email address, it's unlikely that a fixed width |
+// is going to look aesthetically pleasing in all languages. |
+// TODO(jamiewalch): Replace this with a layout that only uses a single line, |
+// and which is docked at the top or bottom of the host screen, as in our |
+// UI mocks. |
+const int kMessageWidth = 300; |
+} |
+ |
namespace remoting { |
class DisconnectWindowLinux : public DisconnectWindow { |
@@ -25,11 +36,11 @@ class DisconnectWindowLinux : public DisconnectWindow { |
private: |
CHROMEGTK_CALLBACK_1(DisconnectWindowLinux, void, OnResponse, int); |
- void CreateWindow(); |
+ void CreateWindow(UiStrings* ui_strings); |
ChromotingHost* host_; |
GtkWidget* disconnect_window_; |
- GtkWidget* user_label_; |
+ GtkWidget* message_; |
DISALLOW_COPY_AND_ASSIGN(DisconnectWindowLinux); |
}; |
@@ -42,16 +53,17 @@ DisconnectWindowLinux::DisconnectWindowLinux() |
DisconnectWindowLinux::~DisconnectWindowLinux() { |
} |
-void DisconnectWindowLinux::CreateWindow() { |
+void DisconnectWindowLinux::CreateWindow(UiStrings* ui_strings) { |
if (disconnect_window_) return; |
- std::string disconnect_button(kDisconnectButton); |
- disconnect_button += kDisconnectKeysLinux; |
+ std::string buttonLabel = ui_strings->disconnectButtonText + " (" + |
Sergey Ulanov
2011/08/13 01:11:36
Whole string must be localizible, and not some par
Jamie
2011/08/13 01:34:03
Unfortunately on Windows we need to remove the sho
Sergey Ulanov
2011/08/13 01:37:26
Then I think the right solution in this case is to
Jamie
2011/08/13 02:20:15
Done.
|
+ ui_strings->disconnectButtonShortcut + ")"; |
+ |
disconnect_window_ = gtk_dialog_new_with_buttons( |
- kTitle, |
+ ui_strings->productName.c_str(), |
NULL, |
GTK_DIALOG_NO_SEPARATOR, |
- disconnect_button.c_str(), GTK_RESPONSE_OK, |
+ buttonLabel.c_str(), GTK_RESPONSE_OK, |
NULL); |
GtkWindow* window = GTK_WINDOW(disconnect_window_); |
@@ -69,27 +81,27 @@ void DisconnectWindowLinux::CreateWindow() { |
GtkWidget* content_area = |
gtk_dialog_get_content_area(GTK_DIALOG(disconnect_window_)); |
- GtkWidget* username_row = gtk_hbox_new(FALSE, 0); |
+ GtkWidget* message_row = gtk_hbox_new(FALSE, 0); |
// TODO(lambroslambrou): Replace the magic number with an appropriate |
// constant from a header file (such as chrome/browser/ui/gtk/gtk_util.h |
// but check_deps disallows its #inclusion here). |
- gtk_container_set_border_width(GTK_CONTAINER(username_row), 12); |
- gtk_container_add(GTK_CONTAINER(content_area), username_row); |
- |
- GtkWidget* share_label = gtk_label_new(kSharingWith); |
- gtk_container_add(GTK_CONTAINER(username_row), share_label); |
+ gtk_container_set_border_width(GTK_CONTAINER(message_row), 12); |
+ gtk_container_add(GTK_CONTAINER(content_area), message_row); |
- user_label_ = gtk_label_new(NULL); |
- gtk_container_add(GTK_CONTAINER(username_row), user_label_); |
+ message_ = gtk_label_new(NULL); |
+ gtk_widget_set_size_request(message_, kMessageWidth, -1); |
+ gtk_label_set_line_wrap(GTK_LABEL(message_), true); |
+ gtk_container_add(GTK_CONTAINER(message_row), message_); |
gtk_widget_show_all(content_area); |
} |
void DisconnectWindowLinux::Show(ChromotingHost* host, |
- const std::string& username) { |
+ const std::string& /* unused */) { |
host_ = host; |
- CreateWindow(); |
- gtk_label_set_text(GTK_LABEL(user_label_), username.c_str()); |
+ CreateWindow(host->ui_strings()); |
+ gtk_label_set_text(GTK_LABEL(message_), |
+ host->ui_strings()->disconnectMessage.c_str()); |
gtk_window_present(GTK_WINDOW(disconnect_window_)); |
} |