From ee6dd41a508c2bf598c178696a43bb665e0d4c01 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 5 Feb 2006 22:58:41 +0000 Subject: [PATCH] removed GTKConvertMnemonics() which is not used in GTK1 (which doesn't support mnemonics) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/gtk1/control.h | 6 --- src/gtk1/button.cpp | 2 +- src/gtk1/control.cpp | 90 +++++++++------------------------------ 3 files changed, 20 insertions(+), 78 deletions(-) diff --git a/include/wx/gtk1/control.h b/include/wx/gtk1/control.h index a579a27492..3fdfa9b8db 100644 --- a/include/wx/gtk1/control.h +++ b/include/wx/gtk1/control.h @@ -72,12 +72,6 @@ protected: // remove mnemonics ("&"s) from the label static wxString GTKRemoveMnemonics(const wxString& label); - // converts wx label to GTK+ label, i.e. basically replace "&"s with "_"s - // - // for GTK+ 1 (which doesn't support mnemonics) this is the same as - // GTKRemoveMnemonics() - static wxString GTKConvertMnemonics(const wxString &label); - // These are used by GetDefaultAttributes static wxVisualAttributes GetDefaultAttributesFromGTKWidget(GtkWidget* widget, diff --git a/src/gtk1/button.cpp b/src/gtk1/button.cpp index 860efb5a35..e12cd26f15 100644 --- a/src/gtk1/button.cpp +++ b/src/gtk1/button.cpp @@ -185,7 +185,7 @@ void wxButton::SetLabel( const wxString &lbl ) wxControl::SetLabel(label); - const wxString labelGTK = GTKConvertMnemonics(label); + const wxString labelGTK = GTKRemoveMnemonics(label); gtk_label_set(GTK_LABEL(BUTTON_CHILD(m_widget)), wxGTK_CONV(labelGTK)); } diff --git a/src/gtk1/control.cpp b/src/gtk1/control.cpp index eef526875b..8917ed25db 100644 --- a/src/gtk1/control.cpp +++ b/src/gtk1/control.cpp @@ -105,7 +105,7 @@ void wxControl::GTKSetLabelForLabel(GtkLabel *w, const wxString& label) // don't call the virtual function which might call this one back again wxControl::SetLabel(label); - const wxString labelGTK = GTKConvertMnemonics(label); + const wxString labelGTK = GTKRemoveMnemonics(label); gtk_label_set(w, wxGTK_CONV(labelGTK)); } @@ -114,25 +114,14 @@ void wxControl::GTKSetLabelForFrame(GtkFrame *w, const wxString& label) { wxControl::SetLabel(label); - // frames don't support mnemonics even under GTK+ 2 const wxString labelGTK = GTKRemoveMnemonics(label); gtk_frame_set_label(w, labelGTK.empty() ? (char *)NULL : wxGTK_CONV(labelGTK)); } -// worker function implementing both GTKConvert/RemoveMnemonics() -// -// notice that under GTK+ 1 we only really need to support MNEMONICS_REMOVE as -// it doesn't support mnemonics anyhow but this would make the code so ugly -// that we do the same thing for GKT+ 1 and 2 -enum MnemonicsFlag -{ - MNEMONICS_REMOVE, - MNEMONICS_CONVERT -}; - -static wxString GTKProcessMnemonics(const wxString& label, MnemonicsFlag flag) +/* static */ +wxString wxControl::GTKRemoveMnemonics(const wxString& label) { const size_t len = label.length(); wxString labelGTK; @@ -141,72 +130,31 @@ static wxString GTKProcessMnemonics(const wxString& label, MnemonicsFlag flag) { wxChar ch = label[i]; - switch ( ch ) + if ( ch == _T('&') ) { - case wxT('&'): - if ( i == len - 1 ) - { - // "&" at the end of string is an error - wxLogDebug(wxT("Invalid label \"%s\"."), label.c_str()); - break; - } - - ch = label[++i]; // skip '&' itself - switch ( ch ) - { - case wxT('&'): - // special case: "&&" is not a mnemonic at all but just - // an escaped "&" - labelGTK += wxT('&'); - break; - - case wxT('_'): - if ( flag == MNEMONICS_CONVERT ) - { - // '_' can't be a GTK mnemonic apparently so - // replace it with something similar - labelGTK += wxT("_-"); - break; - } - //else: fall through - - default: - if ( flag == MNEMONICS_CONVERT ) - labelGTK += wxT('_'); - labelGTK += ch; - } + if ( i == len - 1 ) + { + // "&" at the end of string is an error + wxLogDebug(wxT("Invalid label \"%s\"."), label.c_str()); break; + } - case wxT('_'): - if ( flag == MNEMONICS_CONVERT ) - { - // escape any existing underlines in the string so that - // they don't become mnemonics accidentally - labelGTK += wxT("__"); - break; - } - //else: fall through - - default: - labelGTK += ch; + ch = label[++i]; // skip '&' itself + if ( ch == _T('&') ) + { + // special case: "&&" is not a mnemonic at all but just an + // escaped "&" + labelGTK += wxT('&'); + continue; + } } + + labelGTK += ch; } return labelGTK; } -/* static */ -wxString wxControl::GTKRemoveMnemonics(const wxString& label) -{ - return GTKProcessMnemonics(label, MNEMONICS_REMOVE); -} - -/* static */ -wxString wxControl::GTKConvertMnemonics(const wxString& label) -{ - return GTKRemoveMnemonics(label); -} - // ---------------------------------------------------------------------------- // wxControl styles (a.k.a. attributes) // ----------------------------------------------------------------------------