if (encName.CmpNoCase(wxT("@locale")) == 0)
encName.clear();
encName.MakeUpper();
-#if wxUSE_INTL
if (encName.empty())
{
+#if wxUSE_INTL
// (2) if a non default locale is set, assume that the user wants his
// filenames in this locale too
encName = wxLocale::GetSystemEncodingName().Upper();
encName.clear();
}
}
+#endif // wxUSE_INTL
// (3) finally use UTF-8 by default
if ( encName.empty() )
encName = wxT("UTF-8");
wxSetEnv(wxT("G_FILENAME_ENCODING"), encName);
}
-#else
- if (encName.empty())
- encName = wxT("UTF-8");
-
- // if wxUSE_INTL==0 it probably indicates that only "C" locale is supported
- // by the program anyhow so prevent GTK+ from calling setlocale(LC_ALL, "")
- // from gtk_init_check() as it does by default
- gtk_disable_setlocale();
-#endif // wxUSE_INTL
static wxConvBrokenFileNames fileconv(encName);
wxConvFileName = &fileconv;
#endif // __UNIX__
int argcGTK = argc_;
+ // Prevent gtk_init_check() from changing the locale automatically for
+ // consistency with the other ports that don't do it. If necessary,
+ // wxApp::SetCLocale() may be explicitly called.
+ gtk_disable_setlocale();
+
#ifdef __WXGPE__
init_result = true; // is there a _check() version of this?
gpe_application_init( &argcGTK, &argvGTK );
#else
init_result = gtk_init_check( &argcGTK, &argvGTK ) != 0;
#endif
- wxUpdateLocaleIsUtf8();
if ( argcGTK != argc_ )
{
}
#endif // wxUSE_THREADS
+/* static */
+bool wxApp::GTKIsUsingGlobalMenu()
+{
+ static int s_isUsingGlobalMenu = -1;
+ if ( s_isUsingGlobalMenu == -1 )
+ {
+ // Currently we just check for this environment variable because this
+ // is how support for the global menu is implemented under Ubuntu.
+ //
+ // If we ever get false positives, we could also check for
+ // XDG_CURRENT_DESKTOP env var being set to "Unity".
+ wxString proxy;
+ s_isUsingGlobalMenu = wxGetEnv("UBUNTU_MENUPROXY", &proxy) &&
+ !proxy.empty() && proxy != "0";
+ }
+
+ return s_isUsingGlobalMenu == 1;
+}
+
#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
// Maemo-specific method: get the main program object
HildonProgram *wxApp::GetHildonProgram()