X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9e967d5417d49764276cf121a32c35d5770b1332..25bc5c55d0b11b071102796561227f67bd073c3b:/src/gtk/utilsgtk.cpp diff --git a/src/gtk/utilsgtk.cpp b/src/gtk/utilsgtk.cpp index 1abdee7f37..d255eb50e0 100644 --- a/src/gtk/utilsgtk.cpp +++ b/src/gtk/utilsgtk.cpp @@ -18,7 +18,6 @@ #include "wx/log.h" #endif -#include "wx/sysopt.h" #include "wx/apptrait.h" #include "wx/process.h" #include "wx/sysopt.h" @@ -97,41 +96,6 @@ bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) ) } #endif -// Escapes string so that it is valid Pango markup XML string: -wxString wxEscapeStringForPangoMarkup(const wxString& str) -{ - size_t len = str.length(); - wxString out; - out.Alloc(len); - for (size_t i = 0; i < len; i++) - { - wxChar c = str[i]; - switch (c) - { - case _T('&'): - out << _T("&"); - break; - case _T('<'): - out << _T("<"); - break; - case _T('>'): - out << _T(">"); - break; - case _T('\''): - out << _T("'"); - break; - case _T('"'): - out << _T("""); - break; - default: - out << c; - break; - } - } - return out; -} - - // ---------------------------------------------------------------------------- // display characterstics // ---------------------------------------------------------------------------- @@ -143,11 +107,8 @@ void *wxGetDisplay() void wxDisplaySize( int *width, int *height ) { - int marginX = wxSystemOptions::GetOptionInt(wxT("gtk.desktopmargin.x")); - int marginY = wxSystemOptions::GetOptionInt(wxT("gtk.desktopmargin.y")); - - if (width) *width = gdk_screen_width() - marginX; - if (height) *height = gdk_screen_height() - marginY; + if (width) *width = gdk_screen_width(); + if (height) *height = gdk_screen_height(); } void wxDisplaySizeMM( int *width, int *height ) @@ -156,17 +117,6 @@ void wxDisplaySizeMM( int *width, int *height ) if (height) *height = gdk_screen_height_mm(); } -void wxClientDisplayRect(int *x, int *y, int *width, int *height) -{ - // This is supposed to return desktop dimensions minus any window - // manager panels, menus, taskbars, etc. If there is a way to do that - // for this platform please fix this function, otherwise it defaults - // to the entire desktop. - if (x) *x = 0; - if (y) *y = 0; - wxDisplaySize(width, height); -} - void wxGetMousePosition( int* x, int* y ) { gdk_window_get_pointer( (GdkWindow*) NULL, x, y, (GdkModifierType*) NULL ); @@ -230,10 +180,10 @@ wxConvertFromGTK(const wxString& s, wxFontEncoding enc) #endif // !wxUSE_UNICODE -// Returns false if version is certainly greater or equal than major.minor.micro -// Returns true if version is lower than major.minor.micro OR it cannot be -// determined and one should not rely on the availability of pango version -// major.minor.micro, nor the non-availability +// Returns NULL if version is certainly greater or equal than major.minor.micro +// Returns string describing the error if version is lower than +// major.minor.micro OR it cannot be determined and one should not rely on the +// availability of pango version major.minor.micro, nor the non-availability const gchar *wx_pango_version_check (int major, int minor, int micro) { #ifdef PANGO_VERSION_MAJOR @@ -263,38 +213,22 @@ const gchar *wx_pango_version_check (int major, int minor, int micro) extern "C" { static void GTK_EndProcessDetector(gpointer data, gint source, - GdkInputCondition WXUNUSED(condition) ) + GdkInputCondition WXUNUSED(condition)) { - wxEndProcessData *proc_data = (wxEndProcessData *)data; - - // has the process really terminated? unfortunately GDK (or GLib) seem to - // generate G_IO_HUP notification even when it simply tries to read from a - // closed fd and hasn't terminated at all - int pid = (proc_data->pid > 0) ? proc_data->pid : -(proc_data->pid); - int status = 0; - int rc = waitpid(pid, &status, WNOHANG); - - if ( rc == 0 ) - { - // no, it didn't exit yet, continue waiting - return; - } - - // set exit code to -1 if something bad happened - proc_data->exitcode = rc != -1 && WIFEXITED(status) ? WEXITSTATUS(status) - : -1; + wxEndProcessData * const + proc_data = wx_static_cast(wxEndProcessData *, data); - // child exited, end waiting - close(source); + // child exited, end waiting + close(source); - // don't call us again! - gdk_input_remove(proc_data->tag); + // don't call us again! + gdk_input_remove(proc_data->tag); - wxHandleProcessTermination(proc_data); + wxHandleProcessTermination(proc_data); } } -int wxAddProcessCallback(wxEndProcessData *proc_data, int fd) +int wxGUIAppTraits::AddProcessCallback(wxEndProcessData *proc_data, int fd) { int tag = gdk_input_add(fd, GDK_INPUT_READ, @@ -590,7 +524,7 @@ wxGUIAppTraits::GetStandardCmdLineOptions(wxArrayString& names, names.push_back(wxGetNameFromGtkOptionEntry(&entries[n])); const gchar * const entryDesc = entries[n].description; - desc.push_back(entryDesc ? wxString(entryDesc) : _T("")); + desc.push_back(wxString(entryDesc)); } g_option_group_free (gtkOpts);