#if wxUSE_MSGDLG
-#include "wx/ptr_scpd.h"
-
// there is no hook support under CE so we can't use the code for message box
// positioning there
#ifndef __WXWINCE__
#endif
#ifndef WX_PRECOMP
+ #include "wx/msgdlg.h"
#include "wx/app.h"
#include "wx/intl.h"
#include "wx/utils.h"
- #include "wx/dialog.h"
+ #include "wx/msw/private.h"
#if wxUSE_MSGBOX_HOOK
#include "wx/hashmap.h"
#endif
#endif
+#include "wx/ptr_scpd.h"
#include "wx/dynlib.h"
-#include "wx/msw/private.h"
#include "wx/msw/private/button.h"
#include "wx/msw/private/metrics.h"
#include "wx/msw/private/msgdlg.h"
-#include "wx/msgdlg.h"
#if wxUSE_MSGBOX_HOOK
#include "wx/fontutil.h"
{
if ( *i != '\n' )
{
- // found last non-newline char, remove everything after it and stop
- text.erase(i.base() + 1, text.end());
+ // found last non-newline char, remove anything after it if
+ // necessary and stop in any case
+ if ( i != text.rbegin() )
+ text.erase(i.base() + 1, text.end());
break;
}
}
}
else // without Yes/No we're going to have an OK button
{
- AddTaskDialogButton(tdc, IDOK, TDCBF_OK_BUTTON, btnOKLabel);
-
if ( style & wxCANCEL )
{
+ AddTaskDialogButton(tdc, IDOK, TDCBF_OK_BUTTON, btnOKLabel);
AddTaskDialogButton(tdc, IDCANCEL,
TDCBF_CANCEL_BUTTON, btnCancelLabel);
if ( style & wxCANCEL_DEFAULT )
tdc.nDefaultButton = IDCANCEL;
}
+ else // Only "OK"
+ {
+ // We actually create a "Cancel" button instead because we want to
+ // allow closing the dialog box with Escape (and also Alt-F4 or
+ // clicking the close button in the title bar) which wouldn't work
+ // without a Cancel button.
+ if ( !useCustomLabels )
+ {
+ useCustomLabels = true;
+ btnOKLabel = _("OK");
+ }
+
+ AddTaskDialogButton(tdc, IDCANCEL, TDCBF_CANCEL_BUTTON, btnOKLabel);
+ }
}
}