diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 2944f169f1b9de7c0695b7ed0e6108a2cd7cd81a..a6dea44a24aa5fcbf370c3b9ccfef441477d6fa8 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -37,18 +37,7 @@ else (USESYSTEMLIBS) include(FindPkgConfig) set(PKGCONFIG_PACKAGES - atk - cairo - gdk-2.0 - gdk-pixbuf-2.0 - glib-2.0 - gmodule-2.0 - gtk+-2.0 - gthread-2.0 - pango - pangoft2 - pangox - pangoxft + gtk+-3.0 x11 xinerama ) diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index c2507f4ba82427f9ea967965bf026d7d97e9c93d..eccd1322c099719df1bee9a3064470d64086c70d 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -2388,14 +2388,14 @@ S32 OSMessageBoxSDL(const std::string& text, const std::string& caption, U32 typ return rtn; } -static void color_changed_callback(GtkWidget *widget, - gpointer user_data) -{ - GtkColorSelection *colorsel = GTK_COLOR_SELECTION(widget); - GdkColor *colorp = (GdkColor*)user_data; +// static void color_changed_callback(GtkWidget *widget, +// gpointer user_data) +// { +// GtkColorSelection *colorsel = GTK_COLOR_SELECTION(widget); +// GdkColor *colorp = (GdkColor*)user_data; - gtk_color_selection_get_current_color(colorsel, colorp); -} +// gtk_color_selection_get_current_color(colorsel, colorp); +// } /* @@ -2436,63 +2436,61 @@ BOOL LLWindowSDL::dialogColorPicker( F32 *r, F32 *g, F32 *b) beforeDialog(); - if (ll_try_gtk_init()) - { - GtkWidget *win = NULL; - - win = gtk_color_selection_dialog_new(NULL); - -# if LL_X11 - // Get GTK to tell the window manager to associate this - // dialog with our non-GTK SDL window, which should try - // to keep it on top etc. - if (mSDL_XWindowID != None) - { - gtk_widget_realize(GTK_WIDGET(win)); // so we can get its gdkwin - GdkWindow* gdkwin = gdk_x11_window_foreign_new_for_display(gdk_display_get_default(), static_cast<Window>(mSDL_XWindowID)); - gdk_window_set_transient_for(gtk_widget_get_window(GTK_WIDGET(win)), gdkwin); - } -# endif //LL_X11 - - GtkColorSelection *colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG(win))); - - GdkColor color, orig_color; - orig_color.pixel = 0; - orig_color.red = guint16(65535 * *r); - orig_color.green= guint16(65535 * *g); - orig_color.blue = guint16(65535 * *b); - color = orig_color; - - gtk_color_selection_set_previous_color (colorsel, &color); - gtk_color_selection_set_current_color (colorsel, &color); - gtk_color_selection_set_has_palette (colorsel, TRUE); - gtk_color_selection_set_has_opacity_control(colorsel, FALSE); - - gint response = GTK_RESPONSE_NONE; - g_signal_connect (win, - "response", - G_CALLBACK (response_callback), - &response); - - g_signal_connect (G_OBJECT (colorsel), "color_changed", - G_CALLBACK (color_changed_callback), - &color); - - gtk_window_set_modal(GTK_WINDOW(win), TRUE); - gtk_widget_show_all(win); - gtk_main(); - - if (response == GTK_RESPONSE_OK && - (orig_color.red != color.red - || orig_color.green != color.green - || orig_color.blue != color.blue) ) - { - *r = color.red / 65535.0f; - *g = color.green / 65535.0f; - *b = color.blue / 65535.0f; - rtn = TRUE; - } - } +// if (ll_try_gtk_init()) +// { +// GtkWidget* win = gtk_color_chooser_dialog_new(); + +// # if LL_X11 +// // Get GTK to tell the window manager to associate this +// // dialog with our non-GTK SDL window, which should try +// // to keep it on top etc. +// if (mSDL_XWindowID != None) +// { +// gtk_widget_realize(GTK_WIDGET(win)); // so we can get its gdkwin +// GdkWindow* gdkwin = gdk_x11_window_foreign_new_for_display(gdk_display_get_default(), static_cast<Window>(mSDL_XWindowID)); +// gdk_window_set_transient_for(gtk_widget_get_window(GTK_WIDGET(win)), gdkwin); +// } +// # endif //LL_X11 + +// GtkColorSelection *colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG(win))); + +// GdkColor color, orig_color; +// orig_color.pixel = 0; +// orig_color.red = guint16(65535 * *r); +// orig_color.green= guint16(65535 * *g); +// orig_color.blue = guint16(65535 * *b); +// color = orig_color; + +// gtk_color_selection_set_previous_color (colorsel, &color); +// gtk_color_selection_set_current_color (colorsel, &color); +// gtk_color_selection_set_has_palette (colorsel, TRUE); +// gtk_color_selection_set_has_opacity_control(colorsel, FALSE); + +// gint response = GTK_RESPONSE_NONE; +// g_signal_connect (win, +// "response", +// G_CALLBACK (response_callback), +// &response); + +// g_signal_connect (G_OBJECT (colorsel), "color_changed", +// G_CALLBACK (color_changed_callback), +// &color); + +// gtk_window_set_modal(GTK_WINDOW(win), TRUE); +// gtk_widget_show_all(win); +// gtk_main(); + +// if (response == GTK_RESPONSE_OK && +// (orig_color.red != color.red +// || orig_color.green != color.green +// || orig_color.blue != color.blue) ) +// { +// *r = color.red / 65535.0f; +// *g = color.green / 65535.0f; +// *b = color.blue / 65535.0f; +// rtn = TRUE; +// } +// } afterDialog(); diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index 3bb3bd55cd34f18c0385c1d2282c1711e38ddb0c..01d24bb7468fcded0e441344afac893f88d68415 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -1069,13 +1069,13 @@ GtkWindow* LLFilePicker::buildFilePicker(bool is_save, bool is_folder, std::stri win = gtk_file_chooser_dialog_new(NULL, NULL, pickertype, - GTK_STOCK_CANCEL, + "_Cancel", GTK_RESPONSE_CANCEL, is_folder ? - GTK_STOCK_APPLY : + "_Apply" : (is_save ? - GTK_STOCK_SAVE : - GTK_STOCK_OPEN), + "_Save" : + "_Open"), GTK_RESPONSE_ACCEPT, (gchar *)NULL); mCurContextName = context; diff --git a/indra/newview/llfilepicker.h b/indra/newview/llfilepicker.h index ffd937ce8effb8b2094f3cf8e508d88dcbb5f07f..632ca014d16cf879ac834b00aba2b1ad79d6d348 100644 --- a/indra/newview/llfilepicker.h +++ b/indra/newview/llfilepicker.h @@ -61,7 +61,9 @@ #endif extern "C" { // mostly for Linux, possible on others -# include "gtk/gtk.h" +#include <gtk/gtk.h> +#include <gdk/gdk.h> +#include <gdk/gdkx.h> } #if LL_GNUC #pragma GCC diagnostic pop