]> git.saurik.com Git - wxWidgets.git/commitdiff
removed GTKConvertMnemonics() which is not used in GTK1 (which doesn't support mnemonics)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 5 Feb 2006 22:58:41 +0000 (22:58 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 5 Feb 2006 22:58:41 +0000 (22:58 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk1/control.h
src/gtk1/button.cpp
src/gtk1/control.cpp

index a579a27492eb47066256e3d9cb929d72d08833bb..3fdfa9b8dbb7f9d6a4bbb7178ee6b4f4a4cbd5dd 100644 (file)
@@ -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,
index 860efb5a35212303a7290317dbc980dd8ae38668..e12cd26f15069920aa5411cfea7598dac421e6d6 100644 (file)
@@ -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));
 }
index eef526875b3f76b3f8df024512fc67cb97fb2fa1..8917ed25dba58b75e45e49ed741d80999a24f0e2 100644 (file)
@@ -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)
 // ----------------------------------------------------------------------------