diff --git a/build.sh b/build.sh index f6c4494879..078def965c 100755 --- a/build.sh +++ b/build.sh @@ -41,6 +41,7 @@ for ARG in "$@"; do --asan ) flags+=(-DUSE_ASAN=TRUE) ;; --wx28 ) flags+=(-DWX28_API=TRUE) ;; --wx30 ) flags+=(-DWX28_API=FALSE) ;; + --gtk3 ) flags+=(-DGTK3_API=TRUE) ;; --64-bit-dont-work ) flags+=(-D64BIT_BUILD_DONT_WORK=TRUE) ;; --no-simd ) flags+=(-DDISABLE_ADVANCE_SIMD=TRUE) ;; -D* ) flags+=($ARG) ;; @@ -51,21 +52,25 @@ for ARG in "$@"; do echo "--dev / --devel : Build PCSX2 as a Development build." echo "--debug : Build PCSX2 as a Debug build." echo "--release : Build PCSX2 as a Release build." + echo echo "--clean : Do a clean build." + echo "--extra : Build all plugins" + echo echo "** Developper option **" echo "--clang : Build with Clang/llvm" - echo "--extra : Build all plugins" - echo "--asan : Enable with Address sanitizer" + echo "--asan : Enable Address sanitizer" echo echo "--wx28 : Force wxWidget 2.8" echo "--wx30 : Allow to use wxWidget 3.0" echo "--glsl : Replace CG backend of ZZogl by GLSL" echo "--egl : Replace GLX by EGL (ZZogl plugins only)" echo "--sdl2 : Build with SDL2 (crash if wx is linked to SDL1)" - echo "--gles : Replace openGL backend of GSdx by openGLES3" + echo "--gles : Replace openGL backend of GSdx by openGLES3.1" echo + echo "** Hardcode Developper option **" echo "--64-bit-dont-work : Don't use it!" echo "--no-simd : Only allow sse2" + echo "--gtk3 : replace GTK2 by GTK3" exit 1 esac done diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake index 2d6e5849be..e1570045bc 100644 --- a/cmake/BuildParameters.cmake +++ b/cmake/BuildParameters.cmake @@ -34,6 +34,7 @@ option(XDG_STD "Use XDG standard path instead of the standard PCSX2 path") option(EXTRA_PLUGINS "Build various 'extra' plugins") option(SDL2_API "Use SDL2 on spu2x and onepad") option(WX28_API "Force wxWidget 2.8 lib") +option(GTK3_API "Use GTK3 api") if(PACKAGE_MODE) if(NOT DEFINED PLUGIN_DIR) @@ -239,6 +240,7 @@ else() set(ASAN_FLAG "") endif() +# Note: -DGTK_DISABLE_DEPRECATED can be used to test a build without gtk deprecated feature. It could be useful to port to a newer API set(DEFAULT_GCC_FLAG "${ARCH_FLAG} ${COMMON_FLAG} ${DEFAULT_WARNINGS} ${HARDENING_FLAG} ${DEBUG_FLAG} ${ASAN_FLAG}") # c++ only flags set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof") diff --git a/cmake/CheckLib.cmake b/cmake/CheckLib.cmake index 4fe63f2463..1b7e7f1778 100644 --- a/cmake/CheckLib.cmake +++ b/cmake/CheckLib.cmake @@ -29,7 +29,11 @@ macro(check_lib var lib) include_directories(${${var}_INCLUDE}) _internal_message("-- ${lib} found") set(${var}_FOUND 1 CACHE INTERNAL "") - else() + elseif(${var}_LIBRARIES) + _internal_message("-- ${lib} not found (miss include)") + elseif(${var}_INCLUDE) + _internal_message("-- ${lib} not found (miss lib)") + else() _internal_message("-- ${lib} not found") endif() endif() diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake index 9e224db9e5..fb018b1a9d 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake @@ -1,12 +1,6 @@ #------------------------------------------------------------------------------- # Search all libraries on the system #------------------------------------------------------------------------------- -if(Linux) - # Most plugins (if not all) and PCSX2 core need gtk2, so set the required flags - find_package(GTK2 REQUIRED gtk) - find_package(X11) -endif() - ## Use cmake package to find module find_package(ALSA) find_package(BZip2) @@ -50,12 +44,26 @@ else() find_package(SDL) endif() +if (Linux) + find_package(X11) + # Most plugins (if not all) and PCSX2 core need gtk2, so set the required flags + if (GTK3_API) + check_lib(GTK3 gtk+-3.0 gtk/gtk.h) + else() + find_package(GTK2 REQUIRED gtk) + endif() +endif() + #---------------------------------------- # Use system include #---------------------------------------- if(Linux) if(GTK2_FOUND) include_directories(${GTK2_INCLUDE_DIRS}) + elseif(GTK3_FOUND) + include_directories(${GTK3_INCLUDE_DIRS}) + # A lazy solution + set(GTK2_LIBRARIES ${GTK3_LIBRARIES}) endif() if(X11_FOUND) diff --git a/common/include/PS2Eext.h b/common/include/PS2Eext.h index 2886f84138..e2b51ca761 100644 --- a/common/include/PS2Eext.h +++ b/common/include/PS2Eext.h @@ -184,42 +184,33 @@ static void SysMessage(const char *fmt, ...) gtk_widget_destroy (dialog); } -static bool loggingValue = false; - -static void __forceinline set_logging(GtkToggleButton *check) +static void __forceinline set_logging(GtkToggleButton *check, int& log) { - loggingValue = gtk_toggle_button_get_active(check); -} - -static void __forceinline send_ok(GtkDialog *dialog) -{ - int ret = (loggingValue) ? 1 : 0; - gtk_dialog_response (dialog, ret); + log = gtk_toggle_button_get_active(check); } static void __forceinline PluginNullConfigure(std::string desc, int &log) { - GtkWidget *dialog, *label, *okay_button, *check_box; + GtkWidget *dialog, *label, *check_box; /* Create the widgets */ dialog = gtk_dialog_new(); label = gtk_label_new (desc.c_str()); - okay_button = gtk_button_new_with_label("Ok"); check_box = gtk_check_button_new_with_label("Logging"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box), (log != 0)); /* Ensure that the dialog box is destroyed when the user clicks ok, and that we get the check box value. */ - g_signal_connect_swapped(GTK_OBJECT (okay_button), "clicked", G_CALLBACK(send_ok), dialog); - g_signal_connect_swapped(GTK_OBJECT (check_box), "toggled", G_CALLBACK(set_logging), check_box); + g_signal_connect(check_box, "toggled", G_CALLBACK(set_logging), &log); /* Add all our widgets, and show everything we've added to the dialog. */ - gtk_container_add (GTK_CONTAINER (gtk_dialog_get_action_area(GTK_DIALOG(dialog))), okay_button); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area(GTK_DIALOG(dialog))), label); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area(GTK_DIALOG(dialog))), check_box); + gtk_dialog_add_button(GTK_DIALOG(dialog), "Ok", 0); + gtk_widget_show_all (dialog); - log = gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } diff --git a/pcsx2/Linux/LnxKeyCodes.cpp b/pcsx2/Linux/LnxKeyCodes.cpp index 8b73210c89..4c01bc6d36 100644 --- a/pcsx2/Linux/LnxKeyCodes.cpp +++ b/pcsx2/Linux/LnxKeyCodes.cpp @@ -17,11 +17,6 @@ #include "ConsoleLogger.h" #include -#if (GTK_MAJOR_VERSION > 2) -// All those GDK_ defines are now GDK_KEY_, as of around Gtk+ 2.22. This include gets brought in automatically until Gtk 3.0, -// But we want to bring it in after that, too, until we're ready to break compatability prior to Gtk+ 2.22. -#include -#endif void NTFS_CompressFile( const wxString& file, bool compressStatus ) {} @@ -33,229 +28,229 @@ int TranslateGDKtoWXK( u32 keysym ) switch ( keysym ) { // Shift, Control and Alt don't generate the CHAR events at all - case GDK_Shift_L: - case GDK_Shift_R: + case GDK_KEY_Shift_L: + case GDK_KEY_Shift_R: key_code = WXK_SHIFT; break; - case GDK_Control_L: - case GDK_Control_R: + case GDK_KEY_Control_L: + case GDK_KEY_Control_R: key_code = WXK_CONTROL; break; - case GDK_Meta_L: - case GDK_Meta_R: - case GDK_Alt_L: - case GDK_Alt_R: - case GDK_Super_L: - case GDK_Super_R: + case GDK_KEY_Meta_L: + case GDK_KEY_Meta_R: + case GDK_KEY_Alt_L: + case GDK_KEY_Alt_R: + case GDK_KEY_Super_L: + case GDK_KEY_Super_R: key_code = WXK_ALT; break; // neither do the toggle modifies - case GDK_Scroll_Lock: + case GDK_KEY_Scroll_Lock: key_code = WXK_SCROLL; break; - case GDK_Caps_Lock: + case GDK_KEY_Caps_Lock: key_code = WXK_CAPITAL; break; - case GDK_Num_Lock: + case GDK_KEY_Num_Lock: key_code = WXK_NUMLOCK; break; // various other special keys - case GDK_Menu: + case GDK_KEY_Menu: key_code = WXK_MENU; break; - case GDK_Help: + case GDK_KEY_Help: key_code = WXK_HELP; break; - case GDK_BackSpace: + case GDK_KEY_BackSpace: key_code = WXK_BACK; break; - case GDK_ISO_Left_Tab: - case GDK_Tab: + case GDK_KEY_ISO_Left_Tab: + case GDK_KEY_Tab: key_code = WXK_TAB; break; - case GDK_Linefeed: - case GDK_Return: + case GDK_KEY_Linefeed: + case GDK_KEY_Return: key_code = WXK_RETURN; break; - case GDK_Clear: + case GDK_KEY_Clear: key_code = WXK_CLEAR; break; - case GDK_Pause: + case GDK_KEY_Pause: key_code = WXK_PAUSE; break; - case GDK_Select: + case GDK_KEY_Select: key_code = WXK_SELECT; break; - case GDK_Print: + case GDK_KEY_Print: key_code = WXK_PRINT; break; - case GDK_Execute: + case GDK_KEY_Execute: key_code = WXK_EXECUTE; break; - case GDK_Escape: + case GDK_KEY_Escape: key_code = WXK_ESCAPE; break; // cursor and other extended keyboard keys - case GDK_Delete: + case GDK_KEY_Delete: key_code = WXK_DELETE; break; - case GDK_Home: + case GDK_KEY_Home: key_code = WXK_HOME; break; - case GDK_Left: + case GDK_KEY_Left: key_code = WXK_LEFT; break; - case GDK_Up: + case GDK_KEY_Up: key_code = WXK_UP; break; - case GDK_Right: + case GDK_KEY_Right: key_code = WXK_RIGHT; break; - case GDK_Down: + case GDK_KEY_Down: key_code = WXK_DOWN; break; - case GDK_Prior: // == GDK_Page_Up + case GDK_KEY_Prior: // == GDK_KEY_Page_Up key_code = WXK_PAGEUP; break; - case GDK_Next: // == GDK_Page_Down + case GDK_KEY_Next: // == GDK_KEY_Page_Down key_code = WXK_PAGEDOWN; break; - case GDK_End: + case GDK_KEY_End: key_code = WXK_END; break; - case GDK_Begin: + case GDK_KEY_Begin: key_code = WXK_HOME; break; - case GDK_Insert: + case GDK_KEY_Insert: key_code = WXK_INSERT; break; // numpad keys - case GDK_KP_0: - case GDK_KP_1: - case GDK_KP_2: - case GDK_KP_3: - case GDK_KP_4: - case GDK_KP_5: - case GDK_KP_6: - case GDK_KP_7: - case GDK_KP_8: - case GDK_KP_9: - key_code = WXK_NUMPAD0 + keysym - GDK_KP_0; + case GDK_KEY_KP_0: + case GDK_KEY_KP_1: + case GDK_KEY_KP_2: + case GDK_KEY_KP_3: + case GDK_KEY_KP_4: + case GDK_KEY_KP_5: + case GDK_KEY_KP_6: + case GDK_KEY_KP_7: + case GDK_KEY_KP_8: + case GDK_KEY_KP_9: + key_code = WXK_NUMPAD0 + keysym - GDK_KEY_KP_0; break; - case GDK_KP_Space: + case GDK_KEY_KP_Space: key_code = WXK_NUMPAD_SPACE; break; - case GDK_KP_Tab: + case GDK_KEY_KP_Tab: key_code = WXK_NUMPAD_TAB; break; - case GDK_KP_Enter: + case GDK_KEY_KP_Enter: key_code = WXK_NUMPAD_ENTER; break; - case GDK_KP_F1: + case GDK_KEY_KP_F1: key_code = WXK_NUMPAD_F1; break; - case GDK_KP_F2: + case GDK_KEY_KP_F2: key_code = WXK_NUMPAD_F2; break; - case GDK_KP_F3: + case GDK_KEY_KP_F3: key_code = WXK_NUMPAD_F3; break; - case GDK_KP_F4: + case GDK_KEY_KP_F4: key_code = WXK_NUMPAD_F4; break; - case GDK_KP_Home: + case GDK_KEY_KP_Home: key_code = WXK_NUMPAD_HOME; break; - case GDK_KP_Left: + case GDK_KEY_KP_Left: key_code = WXK_NUMPAD_LEFT; break; - case GDK_KP_Up: + case GDK_KEY_KP_Up: key_code = WXK_NUMPAD_UP; break; - case GDK_KP_Right: + case GDK_KEY_KP_Right: key_code = WXK_NUMPAD_RIGHT; break; - case GDK_KP_Down: + case GDK_KEY_KP_Down: key_code = WXK_NUMPAD_DOWN; break; - case GDK_KP_Prior: // == GDK_KP_Page_Up + case GDK_KEY_KP_Prior: // == GDK_KEY_KP_Page_Up key_code = WXK_NUMPAD_PAGEUP; break; - case GDK_KP_Next: // == GDK_KP_Page_Down + case GDK_KEY_KP_Next: // == GDK_KEY_KP_Page_Down key_code = WXK_NUMPAD_PAGEDOWN; break; - case GDK_KP_End: + case GDK_KEY_KP_End: key_code = WXK_NUMPAD_END; break; - case GDK_KP_Begin: + case GDK_KEY_KP_Begin: key_code = WXK_NUMPAD_BEGIN; break; - case GDK_KP_Insert: + case GDK_KEY_KP_Insert: key_code = WXK_NUMPAD_INSERT; break; - case GDK_KP_Delete: + case GDK_KEY_KP_Delete: key_code = WXK_NUMPAD_DELETE; break; - case GDK_KP_Equal: + case GDK_KEY_KP_Equal: key_code = WXK_NUMPAD_EQUAL; break; - case GDK_KP_Multiply: + case GDK_KEY_KP_Multiply: key_code = WXK_NUMPAD_MULTIPLY; break; - case GDK_KP_Add: + case GDK_KEY_KP_Add: key_code = WXK_NUMPAD_ADD; break; - case GDK_KP_Separator: + case GDK_KEY_KP_Separator: // FIXME: what is this? // // Some numeric keyboards have a comma on them. I believe this is the symbol @@ -264,33 +259,33 @@ int TranslateGDKtoWXK( u32 keysym ) key_code = WXK_NUMPAD_SEPARATOR; break; - case GDK_KP_Subtract: + case GDK_KEY_KP_Subtract: key_code = WXK_NUMPAD_SUBTRACT; break; - case GDK_KP_Decimal: + case GDK_KEY_KP_Decimal: key_code = WXK_NUMPAD_DECIMAL; break; - case GDK_KP_Divide: + case GDK_KEY_KP_Divide: key_code = WXK_NUMPAD_DIVIDE; break; // function keys - case GDK_F1: - case GDK_F2: - case GDK_F3: - case GDK_F4: - case GDK_F5: - case GDK_F6: - case GDK_F7: - case GDK_F8: - case GDK_F9: - case GDK_F10: - case GDK_F11: - case GDK_F12: - key_code = WXK_F1 + keysym - GDK_F1; + case GDK_KEY_F1: + case GDK_KEY_F2: + case GDK_KEY_F3: + case GDK_KEY_F4: + case GDK_KEY_F5: + case GDK_KEY_F6: + case GDK_KEY_F7: + case GDK_KEY_F8: + case GDK_KEY_F9: + case GDK_KEY_F10: + case GDK_KEY_F11: + case GDK_KEY_F12: + key_code = WXK_F1 + keysym - GDK_KEY_F1; break; default: diff --git a/pcsx2/gui/AppMain.cpp b/pcsx2/gui/AppMain.cpp index 0ef0554f8a..4266d136a3 100644 --- a/pcsx2/gui/AppMain.cpp +++ b/pcsx2/gui/AppMain.cpp @@ -906,7 +906,11 @@ void Pcsx2App::OpenGsPanel() GdkWindow* draw_window = gtk_widget_get_window(child_window); #endif +#if GTK_MAJOR_VERSION < 3 Window Xwindow = GDK_WINDOW_XWINDOW(draw_window); +#else + Window Xwindow = GDK_WINDOW_XID(draw_window); +#endif Display* XDisplay = GDK_WINDOW_XDISPLAY(draw_window); pDsp[0] = (uptr)XDisplay; diff --git a/plugins/GSdx/GSLinuxDialog.cpp b/plugins/GSdx/GSLinuxDialog.cpp index 1232b8573e..50033b8c29 100644 --- a/plugins/GSdx/GSLinuxDialog.cpp +++ b/plugins/GSdx/GSLinuxDialog.cpp @@ -29,7 +29,7 @@ GtkWidget* CreateRenderComboBox() GtkWidget *render_combo_box; int renderer_box_position = 0; - render_combo_box = gtk_combo_box_new_text (); + render_combo_box = gtk_combo_box_text_new (); for(auto s = theApp.m_gs_renderers.begin(); s != theApp.m_gs_renderers.end(); s++) { @@ -56,7 +56,7 @@ GtkWidget* CreateRenderComboBox() continue; } - gtk_combo_box_append_text(GTK_COMBO_BOX(render_combo_box), label.c_str()); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(render_combo_box), label.c_str()); } switch (theApp.GetConfig("renderer", 0)) { @@ -78,7 +78,7 @@ GtkWidget* CreateRenderComboBox() GtkWidget* CreateInterlaceComboBox() { GtkWidget *combo_box; - combo_box = gtk_combo_box_new_text (); + combo_box = gtk_combo_box_text_new (); for(size_t i = 0; i < theApp.m_gs_interlace.size(); i++) { @@ -88,7 +88,7 @@ GtkWidget* CreateInterlaceComboBox() if(!s.note.empty()) label += format(" (%s)", s.note.c_str()); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), label.c_str()); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), label.c_str()); } gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box), theApp.GetConfig("interlace", 0)); @@ -98,15 +98,15 @@ GtkWidget* CreateInterlaceComboBox() GtkWidget* CreateMsaaComboBox() { GtkWidget *combo_box; - combo_box = gtk_combo_box_new_text (); + combo_box = gtk_combo_box_text_new (); // For now, let's just put in the same vaues that show up in the windows combo box. - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "Custom"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "2x"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "3x"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "4x"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "5x"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "6x"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "Custom"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "2x"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "3x"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "4x"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "5x"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "6x"); gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box), theApp.GetConfig("upscale_multiplier", 2)-1); return combo_box; @@ -115,11 +115,11 @@ GtkWidget* CreateMsaaComboBox() GtkWidget* CreateFilterComboBox() { GtkWidget *combo_box; - combo_box = gtk_combo_box_new_text (); + combo_box = gtk_combo_box_text_new (); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "Off"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "Normal"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), "Forced"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "Off"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "Normal"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box), "Forced"); gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box), theApp.GetConfig("filter", 0)); return combo_box; @@ -143,11 +143,11 @@ int get_hex_entry(GtkWidget *text_box) { GtkWidget* CreateGlComboBox(const char* option) { GtkWidget* combo; - combo = gtk_combo_box_new_text(); + combo = gtk_combo_box_text_new(); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Auto"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Force-Disabled"); - gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Force-Enabled"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "Auto"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "Force-Disabled"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "Force-Enabled"); gtk_combo_box_set_active(GTK_COMBO_BOX(combo), theApp.GetConfig(option, -1) + 1); return combo; @@ -185,10 +185,8 @@ bool RunLinuxDialog() "GSdx Config", NULL, /* parent window*/ (GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, + "OK", GTK_RESPONSE_ACCEPT, + "Cancel", GTK_RESPONSE_REJECT, NULL); // The main area for the whole dialog box. @@ -350,17 +348,29 @@ bool RunLinuxDialog() gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(hack_logz_check), theApp.GetConfig("logz", 1)); // Shadeboost scale +#if GTK_MAJOR_VERSION < 3 sb_brightness = gtk_hscale_new_with_range(0, 200, 10); +#else + sb_brightness = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 200, 10); +#endif GtkWidget* sb_brightness_label = gtk_label_new("Shade Boost Brightness"); gtk_scale_set_value_pos(GTK_SCALE(sb_brightness), GTK_POS_RIGHT); gtk_range_set_value(GTK_RANGE(sb_brightness), theApp.GetConfig("ShadeBoost_Brightness", 50)); +#if GTK_MAJOR_VERSION < 3 sb_contrast = gtk_hscale_new_with_range(0, 200, 10); +#else + sb_contrast = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 200, 10); +#endif GtkWidget* sb_contrast_label = gtk_label_new("Shade Boost Contrast"); gtk_scale_set_value_pos(GTK_SCALE(sb_contrast), GTK_POS_RIGHT); gtk_range_set_value(GTK_RANGE(sb_contrast), theApp.GetConfig("ShadeBoost_Contrast", 50)); +#if GTK_MAJOR_VERSION < 3 sb_saturation = gtk_hscale_new_with_range(0, 200, 10); +#else + sb_saturation = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 200, 10); +#endif GtkWidget* sb_saturation_label = gtk_label_new("Shade Boost Saturation"); gtk_scale_set_value_pos(GTK_SCALE(sb_saturation), GTK_POS_RIGHT); gtk_range_set_value(GTK_RANGE(sb_saturation), theApp.GetConfig("ShadeBoost_Saturation", 50)); diff --git a/plugins/onepad/Linux/dialog.cpp b/plugins/onepad/Linux/dialog.cpp index 7b0ccb6760..e81caf3244 100644 --- a/plugins/onepad/Linux/dialog.cpp +++ b/plugins/onepad/Linux/dialog.cpp @@ -29,7 +29,7 @@ void on_conf_key(GtkButton *button, gpointer user_data); void on_toggle_option(GtkToggleButton *togglebutton, gpointer user_data); static int current_pad = 0; -static GtkComboBox *joy_choose_cbox; +static GtkComboBoxText *joy_choose_cbox; const char* s_pGuiKeyMap[] = { @@ -240,12 +240,12 @@ class keys_tree }; keys_tree *key_tree_manager; -void populate_new_joysticks(GtkComboBox *box) +void populate_new_joysticks(GtkComboBoxText *box) { char str[255]; JoystickInfo::EnumerateJoysticks(s_vjoysticks); - gtk_combo_box_append_text(box, "Keyboard/mouse only"); + gtk_combo_box_text_append_text(box, "Keyboard/mouse only"); vector::iterator it = s_vjoysticks.begin(); @@ -254,7 +254,7 @@ void populate_new_joysticks(GtkComboBox *box) { sprintf(str, "Keyboard/mouse and %s - but: %d, axes: %d, hats: %d", (*it)->GetName().c_str(), (*it)->GetNumButtons(), (*it)->GetNumAxes(), (*it)->GetNumHats()); - gtk_combo_box_append_text(box, str); + gtk_combo_box_text_append_text(box, str); it++; } } @@ -264,9 +264,9 @@ void set_current_joy() u32 joyid = conf->get_joyid(current_pad); if (JoystickIdWithinBounds(joyid)) // 0 is special case for no gamepad. So you must increase of 1. - gtk_combo_box_set_active(joy_choose_cbox, joyid+1); + gtk_combo_box_set_active(GTK_COMBO_BOX(joy_choose_cbox), joyid+1); else - gtk_combo_box_set_active(joy_choose_cbox, 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(joy_choose_cbox), 0); } typedef struct @@ -280,7 +280,7 @@ typedef struct gtk_fixed_put(fix, widget, x, y); gtk_widget_set_size_request(widget, 64, 24); - g_signal_connect(GTK_OBJECT (widget), "clicked", G_CALLBACK(on_conf_key), this); + g_signal_connect(widget, "clicked", G_CALLBACK(on_conf_key), this); } } dialog_buttons; @@ -295,7 +295,7 @@ typedef struct gtk_fixed_put(GTK_FIXED(area), widget, x, y); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), mask & conf->options); - g_signal_connect(GTK_OBJECT (widget), "toggled", G_CALLBACK(on_toggle_option), this); + g_signal_connect(widget, "toggled", G_CALLBACK(on_toggle_option), this); } } dialog_checkbox; @@ -398,9 +398,9 @@ void on_toggle_option(GtkToggleButton *togglebutton, gpointer user_data) conf->options &= ~checkbox->mask; } -void joy_changed(GtkComboBox *box, gpointer user_data) +void joy_changed(GtkComboBoxText *box, gpointer user_data) { - int joyid = gtk_combo_box_get_active(box); + int joyid = gtk_combo_box_get_active(GTK_COMBO_BOX(box)); // Note position 0 of the combo box is no gamepad joyid--; @@ -417,7 +417,7 @@ void joy_changed(GtkComboBox *box, gpointer user_data) conf->set_joyid(current_pad, joyid); } -void pad_changed(GtkNotebook *notebook, GtkNotebookPage *notebook_page, int page, void *data) +void pad_changed(GtkNotebook *notebook, void *notebook_page, int page, void *data) { current_pad = page; key_tree_manager->set_show_pad(current_pad&1); @@ -515,10 +515,10 @@ GtkWidget *create_notebook_page_dialog(int page, dialog_buttons btn[MAX_KEYS], d GtkWidget *keys_static_frame, *keys_static_box; GtkWidget *keys_static_area; - joy_choose_cbox = GTK_COMBO_BOX(gtk_combo_box_new_text()); + joy_choose_cbox = GTK_COMBO_BOX_TEXT(gtk_combo_box_text_new()); populate_new_joysticks(joy_choose_cbox); set_current_joy(); - g_signal_connect(GTK_OBJECT (joy_choose_cbox), "changed", G_CALLBACK(joy_changed), NULL); + g_signal_connect(joy_choose_cbox, "changed", G_CALLBACK(joy_changed), NULL); keys_tree_scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(keys_tree_scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); @@ -526,24 +526,24 @@ GtkWidget *create_notebook_page_dialog(int page, dialog_buttons btn[MAX_KEYS], d gtk_widget_set_size_request(keys_tree_scroll, 300, 500); keys_tree_clear_btn = gtk_button_new_with_label("Clear All"); - g_signal_connect(GTK_OBJECT (keys_tree_clear_btn), "clicked", G_CALLBACK(on_clear_clicked), NULL); + g_signal_connect(keys_tree_clear_btn, "clicked", G_CALLBACK(on_clear_clicked), NULL); gtk_widget_set_size_request(keys_tree_clear_btn, 70, 24); keys_tree_remove_btn = gtk_button_new_with_label("Remove"); - g_signal_connect(GTK_OBJECT (keys_tree_remove_btn), "clicked", G_CALLBACK(on_remove_clicked), NULL); + g_signal_connect(keys_tree_remove_btn, "clicked", G_CALLBACK(on_remove_clicked), NULL); gtk_widget_set_size_request(keys_tree_remove_btn, 70, 24); keys_tree_modify_btn = gtk_button_new_with_label("Modify"); - g_signal_connect(GTK_OBJECT (keys_tree_modify_btn), "clicked", G_CALLBACK(on_modify_clicked), NULL); + g_signal_connect(keys_tree_modify_btn, "clicked", G_CALLBACK(on_modify_clicked), NULL); gtk_widget_set_size_request(keys_tree_modify_btn, 70, 24); keys_tree_show_joy_btn = gtk_check_button_new_with_label("Show joy"); - g_signal_connect(GTK_OBJECT (keys_tree_show_joy_btn), "toggled", G_CALLBACK(on_view_joy_clicked), NULL); + g_signal_connect(keys_tree_show_joy_btn, "toggled", G_CALLBACK(on_view_joy_clicked), NULL); gtk_widget_set_size_request(keys_tree_show_joy_btn, 100, 24); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(keys_tree_show_joy_btn), true); keys_tree_show_key_btn = gtk_check_button_new_with_label("Show key"); - g_signal_connect(GTK_OBJECT (keys_tree_show_key_btn), "toggled", G_CALLBACK(on_view_key_clicked), NULL); + g_signal_connect(keys_tree_show_key_btn, "toggled", G_CALLBACK(on_view_key_clicked), NULL); gtk_widget_set_size_request(keys_tree_show_key_btn, 100, 24); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(keys_tree_show_key_btn), true); @@ -619,12 +619,9 @@ void DisplayDialog() "OnePAD Config", NULL, /* parent window*/ (GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - GTK_STOCK_APPLY, - GTK_RESPONSE_APPLY, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, + "_OK", GTK_RESPONSE_ACCEPT, + "_Apply", GTK_RESPONSE_APPLY, + "_Cancel", GTK_RESPONSE_REJECT, NULL); notebook = gtk_notebook_new(); @@ -635,7 +632,7 @@ void DisplayDialog() page[i] = create_notebook_page_dialog(i, btn[i], checkbox[i]); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page[i], page_label[i]); } - g_signal_connect(GTK_OBJECT (notebook), "switch-page", G_CALLBACK(pad_changed), NULL); + g_signal_connect(notebook, "switch-page", G_CALLBACK(pad_changed), NULL); gtk_container_add (GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), notebook); diff --git a/plugins/onepad/keyboard.cpp b/plugins/onepad/keyboard.cpp index 72ce19f0ae..1d0423da94 100644 --- a/plugins/onepad/keyboard.cpp +++ b/plugins/onepad/keyboard.cpp @@ -233,7 +233,7 @@ bool PollX11KeyboardMouseEvent(u32 &pkey) if (ev != NULL) { if (ev->type == GDK_KEY_PRESS) { - pkey = ev->key.keyval != GDK_Escape ? ev->key.keyval : 0; + pkey = ev->key.keyval != GDK_KEY_Escape ? ev->key.keyval : 0; return true; } else if(ev->type == GDK_BUTTON_PRESS) { pkey = ev->button.button; diff --git a/plugins/spu2-x/src/Linux/Config.cpp b/plugins/spu2-x/src/Linux/Config.cpp index 76b95b2093..a61df22fb6 100644 --- a/plugins/spu2-x/src/Linux/Config.cpp +++ b/plugins/spu2-x/src/Linux/Config.cpp @@ -207,19 +207,17 @@ void DisplayDialog() "SPU2-X Config", NULL, /* parent window*/ (GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, + "OK", GTK_RESPONSE_ACCEPT, + "Cancel", GTK_RESPONSE_REJECT, NULL); int_label = gtk_label_new ("Interpolation:"); - int_box = gtk_combo_box_new_text (); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "0 - Nearest (fastest/bad quality)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "1 - Linear (simple/okay sound)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "2 - Cubic (artificial highs)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "3 - Hermite (better highs)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "4 - Catmull-Rom (PS2-like/slow)"); + int_box = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "0 - Nearest (fastest/bad quality)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "1 - Linear (simple/okay sound)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "2 - Cubic (artificial highs)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "3 - Hermite (better highs)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "4 - Catmull-Rom (PS2-like/slow)"); gtk_combo_box_set_active(GTK_COMBO_BOX(int_box), Interpolation); effects_check = gtk_check_button_new_with_label("Disable Effects Processing"); @@ -229,30 +227,34 @@ void DisplayDialog() debug_button = gtk_button_new_with_label("Debug..."); mod_label = gtk_label_new ("Module:"); - mod_box = gtk_combo_box_new_text (); - gtk_combo_box_append_text(GTK_COMBO_BOX(mod_box), "0 - No Sound (emulate SPU2 only)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(mod_box), "1 - PortAudio (cross-platform)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(mod_box), "2 - SDL Audio (recommended for PulseAudio)"); - //gtk_combo_box_append_text(GTK_COMBO_BOX(mod_box), "3 - Alsa (probably doesn't work)"); + mod_box = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(mod_box), "0 - No Sound (emulate SPU2 only)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(mod_box), "1 - PortAudio (cross-platform)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(mod_box), "2 - SDL Audio (recommended for PulseAudio)"); + //gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(mod_box), "3 - Alsa (probably doesn't work)"); gtk_combo_box_set_active(GTK_COMBO_BOX(mod_box), OutputModule); api_label = gtk_label_new ("PortAudio API:"); - api_box = gtk_combo_box_new_text (); + api_box = gtk_combo_box_text_new (); // In order to keep it the menu light, I only put linux major api - gtk_combo_box_append_text(GTK_COMBO_BOX(api_box), "0 - ALSA (recommended)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(api_box), "1 - OSS (legacy)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(api_box), "2 - JACK"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(api_box), "0 - ALSA (recommended)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(api_box), "1 - OSS (legacy)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(api_box), "2 - JACK"); gtk_combo_box_set_active(GTK_COMBO_BOX(api_box), OutputAPI); latency_label = gtk_label_new ("Latency:"); +#if GTK_MAJOR_VERSION < 3 latency_slide = gtk_hscale_new_with_range(LATENCY_MIN, LATENCY_MAX, 5); +#else + latency_slide = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, LATENCY_MIN, LATENCY_MAX, 5); +#endif gtk_range_set_value(GTK_RANGE(latency_slide), SndOutLatencyMS); sync_label = gtk_label_new ("Synchronization Mode:"); - sync_box = gtk_combo_box_new_text (); - gtk_combo_box_append_text(GTK_COMBO_BOX(sync_box), "TimeStretch (Recommended)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(sync_box), "Async Mix (Breaks some games!)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(sync_box), "None (Audio can skip.)"); + sync_box = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sync_box), "TimeStretch (Recommended)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sync_box), "Async Mix (Breaks some games!)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sync_box), "None (Audio can skip.)"); gtk_combo_box_set_active(GTK_COMBO_BOX(sync_box), SynchMode); advanced_button = gtk_button_new_with_label("Advanced..."); @@ -297,8 +299,8 @@ void DisplayDialog() gtk_container_add (GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), main_frame); gtk_widget_show_all (dialog); - g_signal_connect_swapped(GTK_OBJECT (advanced_button), "clicked", G_CALLBACK(advanced_dialog), advanced_button); - g_signal_connect_swapped(GTK_OBJECT (debug_button), "clicked", G_CALLBACK(debug_dialog), debug_button); + g_signal_connect_swapped(advanced_button, "clicked", G_CALLBACK(advanced_dialog), advanced_button); + g_signal_connect_swapped(debug_button, "clicked", G_CALLBACK(debug_dialog), debug_button); return_value = gtk_dialog_run (GTK_DIALOG (dialog)); diff --git a/plugins/spu2-x/src/Linux/ConfigDebug.cpp b/plugins/spu2-x/src/Linux/ConfigDebug.cpp index 0353b23c24..bbeea7c1c1 100644 --- a/plugins/spu2-x/src/Linux/ConfigDebug.cpp +++ b/plugins/spu2-x/src/Linux/ConfigDebug.cpp @@ -175,10 +175,8 @@ void DisplayDialog() "Spu2-X Config", NULL, // parent window (GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, + "OK", GTK_RESPONSE_ACCEPT, + "Cancel", GTK_RESPONSE_REJECT, NULL); main_box = gtk_hbox_new(false, 5); diff --git a/plugins/spu2-x/src/Linux/ConfigSoundTouch.cpp b/plugins/spu2-x/src/Linux/ConfigSoundTouch.cpp index 7364c5904d..cfa69a1242 100644 --- a/plugins/spu2-x/src/Linux/ConfigSoundTouch.cpp +++ b/plugins/spu2-x/src/Linux/ConfigSoundTouch.cpp @@ -94,10 +94,8 @@ namespace SoundtouchCfg "Advanced Settings", NULL, /* parent window*/ (GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, + "OK", GTK_RESPONSE_ACCEPT, + "Cancel", GTK_RESPONSE_REJECT, NULL); main_label = gtk_label_new ("These are advanced configuration options fine tuning time stretching behavior. Larger values are better for slowdown, while smaller values are better for speedup (more then 60 fps.). All options are in microseconds."); @@ -106,15 +104,27 @@ namespace SoundtouchCfg default_button = gtk_button_new_with_label("Reset to Defaults"); seq_label = gtk_label_new("Sequence Length"); +#if GTK_MAJOR_VERSION < 3 seq_slide = gtk_hscale_new_with_range(SequenceLen_Min, SequenceLen_Max, 2); +#else + seq_slide = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, SequenceLen_Min, SequenceLen_Max, 2); +#endif gtk_range_set_value(GTK_RANGE(seq_slide), SequenceLenMS); seek_label = gtk_label_new("Seek Window Size"); +#if GTK_MAJOR_VERSION < 3 seek_slide = gtk_hscale_new_with_range(SeekWindow_Min, SeekWindow_Max, 1); +#else + seek_slide = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, SeekWindow_Min, SeekWindow_Max, 1); +#endif gtk_range_set_value(GTK_RANGE(seek_slide), SeekWindowMS); over_label = gtk_label_new("Overlap"); +#if GTK_MAJOR_VERSION < 3 over_slide = gtk_hscale_new_with_range(Overlap_Min, Overlap_Max, 1); +#else + over_slide = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, Overlap_Min, Overlap_Max, 1); +#endif gtk_range_set_value(GTK_RANGE(over_slide), OverlapMS); main_box = gtk_vbox_new(false, 5); @@ -133,7 +143,7 @@ namespace SoundtouchCfg gtk_container_add (GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), main_frame); gtk_widget_show_all (dialog); - g_signal_connect_swapped(GTK_OBJECT (default_button), "clicked", G_CALLBACK(restore_defaults), default_button); + g_signal_connect_swapped(default_button, "clicked", G_CALLBACK(restore_defaults), default_button); return_value = gtk_dialog_run (GTK_DIALOG (dialog)); diff --git a/plugins/zzogl-pg/opengl/Linux/Linux.cpp b/plugins/zzogl-pg/opengl/Linux/Linux.cpp index 02db373943..c0a73c784c 100644 --- a/plugins/zzogl-pg/opengl/Linux/Linux.cpp +++ b/plugins/zzogl-pg/opengl/Linux/Linux.cpp @@ -288,11 +288,11 @@ void DisplayDialog() gtk_widget_set_tooltip_text(log_check, "Used for Debugging."); int_label = gtk_label_new("Interlacing:"); - int_box = gtk_combo_box_new_text(); + int_box = gtk_combo_box_text_new(); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "No Interlacing"); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "Interlace 0"); - gtk_combo_box_append_text(GTK_COMBO_BOX(int_box), "Interlace 1"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "No Interlacing"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "Interlace 0"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(int_box), "Interlace 1"); gtk_combo_box_set_active(GTK_COMBO_BOX(int_box), conf.interlace); gtk_widget_set_tooltip_text(int_box, "Toggled by pressing F5 when running."); int_holder = gtk_hbox_new(false, 5); @@ -300,11 +300,11 @@ void DisplayDialog() gtk_box_pack_start(GTK_BOX(int_holder), int_box, false, false, 2); bilinear_label = gtk_label_new("Bilinear Filtering:"); - bilinear_box = gtk_combo_box_new_text(); + bilinear_box = gtk_combo_box_text_new(); - gtk_combo_box_append_text(GTK_COMBO_BOX(bilinear_box), "Off"); - gtk_combo_box_append_text(GTK_COMBO_BOX(bilinear_box), "Normal"); - gtk_combo_box_append_text(GTK_COMBO_BOX(bilinear_box), "Forced"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(bilinear_box), "Off"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(bilinear_box), "Normal"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(bilinear_box), "Forced"); gtk_combo_box_set_active(GTK_COMBO_BOX(bilinear_box), conf.bilinear); gtk_widget_set_tooltip_text(bilinear_box, "Best quality is off. Turn on for speed. Toggled by pressing Shift + F5 when running."); bilinear_holder = gtk_hbox_new(false, 5); @@ -312,13 +312,13 @@ void DisplayDialog() gtk_box_pack_start(GTK_BOX(bilinear_holder), bilinear_box, false, false, 2); aa_label = gtk_label_new("Anti-Aliasing:"); - aa_box = gtk_combo_box_new_text(); + aa_box = gtk_combo_box_text_new(); - gtk_combo_box_append_text(GTK_COMBO_BOX(aa_box), "1X (None)"); - gtk_combo_box_append_text(GTK_COMBO_BOX(aa_box), "2X"); - gtk_combo_box_append_text(GTK_COMBO_BOX(aa_box), "4X"); - gtk_combo_box_append_text(GTK_COMBO_BOX(aa_box), "8X"); - gtk_combo_box_append_text(GTK_COMBO_BOX(aa_box), "16X"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(aa_box), "1X (None)"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(aa_box), "2X"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(aa_box), "4X"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(aa_box), "8X"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(aa_box), "16X"); gtk_combo_box_set_active(GTK_COMBO_BOX(aa_box), conf.aa); gtk_widget_set_tooltip_text(aa_box, "Toggled by pressing F6 when running."); aa_holder = gtk_hbox_new(false, 5); @@ -326,9 +326,9 @@ void DisplayDialog() gtk_box_pack_start(GTK_BOX(aa_holder), aa_box, false, false, 2); snap_label = gtk_label_new("Snapshot format:"); - snap_box = gtk_combo_box_new_text(); - gtk_combo_box_append_text(GTK_COMBO_BOX(snap_box), "JPEG"); - gtk_combo_box_append_text(GTK_COMBO_BOX(snap_box), "TIFF"); + snap_box = gtk_combo_box_text_new(); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(snap_box), "JPEG"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(snap_box), "TIFF"); gtk_combo_box_set_active(GTK_COMBO_BOX(snap_box), conf.zz_options.tga_snap); snap_holder = gtk_hbox_new(false, 5); gtk_box_pack_start(GTK_BOX(snap_holder), snap_label, false, false, 2); @@ -392,7 +392,7 @@ void DisplayDialog() gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dis_hacks_check), (conf.disableHacks)); gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), main_frame); - g_signal_connect_swapped(GTK_OBJECT (advanced_button), "clicked", G_CALLBACK(DisplayAdvancedDialog), advanced_button); + g_signal_connect_swapped(advanced_button, "clicked", G_CALLBACK(DisplayAdvancedDialog), advanced_button); tempHacks = conf.hacks; gtk_widget_show_all(dialog);