]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't require leading TAB in wxAcceleratorEntry::FromString().
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 3 Dec 2010 12:39:57 +0000 (12:39 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 3 Dec 2010 12:39:57 +0000 (12:39 +0000)
FromString() should parse string returned by ToString() successfully but this
wasn't the case because the accelerator parsing functions always insisted on
having a TAB in the string.

Fix this, document the string format and add a unit test checking for the
correct behaviour.

Closes #12745.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 files changed:
interface/wx/accel.h
src/common/accelcmn.cpp
tests/Makefile.in
tests/makefile.bcc
tests/makefile.gcc
tests/makefile.vc
tests/makefile.wat
tests/menu/accelentry.cpp [new file with mode: 0644]
tests/test.bkl
tests/test_test_gui.dsp
tests/test_vc7_test_gui.vcproj
tests/test_vc8_test_gui.vcproj
tests/test_vc9_test_gui.vcproj

index 22002f33ecc222665693bbe23d5c1eb15975a059..e60430af7611a6d7f04644448727623d781213ae 100644 (file)
@@ -103,10 +103,11 @@ public:
     bool IsOk() const;
 
     /**
-        Returns a wxString for this accelerator.
+        Returns a textual representation of this accelerator.
 
-        This function formats it using the @c "flags-keycode" format
-        where @c flags maybe a hyphen-separed list of @c "shift|alt|ctrl".
+        The returned string is of the form <code>[Alt+][Ctrl+][Shift+]Key</code>
+        where the modifier keys are present only if the corresponding flag is
+        set.
     */
     wxString ToString() const;
 
@@ -114,7 +115,11 @@ public:
         Parses the given string and sets the accelerator accordingly.
 
         @param str
-            Should be a string in the form "flags-keycode"
+            This string may be either in the same format as returned by
+            ToString(), i.e. contain the accelerator itself only, or have the
+            format of a full menu item text with i.e. <code>Label TAB
+            Accelerator</code>. In the latter case, the part of the string
+            before the TAB is ignored.
 
         @return @true if the given string correctly initialized this object
                 (i.e. if IsOk() returns true after this call)
index 20c07edf322ce3dc6ef2a709e2a1154395f7a0ab..718275e160520564ffbdb7ca9330b28f5c4ead28 100644 (file)
@@ -160,17 +160,19 @@ wxAcceleratorEntry::ParseAccel(const wxString& text, int *flagsOut, int *keyOut)
     wxString label = text;
     label.Trim(true);  // the initial \t must be preserved so don't strip leading whitespaces
 
+    // If we're passed the entire menu item label instead of just the
+    // accelerator, skip the label part and only look after the TAB.
     // check for accelerators: they are given after '\t'
     int posTab = label.Find(wxT('\t'));
     if ( posTab == wxNOT_FOUND )
-    {
-        return false;
-    }
+        posTab = 0;
+    else
+        posTab++;
 
     // parse the accelerator string
     int accelFlags = wxACCEL_NORMAL;
     wxString current;
-    for ( size_t n = (size_t)posTab + 1; n < label.length(); n++ )
+    for ( size_t n = (size_t)posTab; n < label.length(); n++ )
     {
         if ( (label[n] == '+') || (label[n] == '-') )
         {
index 217973f281af252988e341938319bd93a78639d4..7c2829446b3c073454764a11807205b4f9adb876 100644 (file)
@@ -202,6 +202,7 @@ TEST_GUI_OBJECTS =  \
        test_gui_image.o \
        test_gui_rawbmp.o \
        test_gui_htmlwindow.o \
+       test_gui_accelentry.o \
        test_gui_menu.o \
        test_gui_guifuncs.o \
        test_gui_selstoretest.o \
@@ -829,6 +830,9 @@ test_gui_rawbmp.o: $(srcdir)/image/rawbmp.cpp $(TEST_GUI_ODEP)
 test_gui_htmlwindow.o: $(srcdir)/html/htmlwindow.cpp $(TEST_GUI_ODEP)
        $(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/html/htmlwindow.cpp
 
+test_gui_accelentry.o: $(srcdir)/menu/accelentry.cpp $(TEST_GUI_ODEP)
+       $(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/menu/accelentry.cpp
+
 test_gui_menu.o: $(srcdir)/menu/menu.cpp $(TEST_GUI_ODEP)
        $(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/menu/menu.cpp
 
index 19850fd94c1c47d27a46a333896e98e55ebe388f..5c88c9c8654c2c97322cbea555ebd9abedca18b8 100644 (file)
@@ -153,7 +153,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_gaugetest.obj \\r
        $(OBJS)\test_gui_gridtest.obj \\r
        $(OBJS)\test_gui_headerctrltest.obj \\r
-       $(OBJS)\test_gui_htmllboxtest.obj \
+       $(OBJS)\test_gui_htmllboxtest.obj \\r
        $(OBJS)\test_gui_hyperlinkctrltest.obj \\r
        $(OBJS)\test_gui_itemcontainertest.obj \\r
        $(OBJS)\test_gui_label.obj \\r
@@ -187,6 +187,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_image.obj \\r
        $(OBJS)\test_gui_rawbmp.obj \\r
        $(OBJS)\test_gui_htmlwindow.obj \\r
+       $(OBJS)\test_gui_accelentry.obj \\r
        $(OBJS)\test_gui_menu.obj \\r
        $(OBJS)\test_gui_guifuncs.obj \\r
        $(OBJS)\test_gui_selstoretest.obj \\r
@@ -773,9 +774,9 @@ $(OBJS)\test_gui_gridtest.obj: .\controls\gridtest.cpp
 $(OBJS)\test_gui_headerctrltest.obj: .\controls\headerctrltest.cpp\r
        $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\headerctrltest.cpp\r
 \r
-$(OBJS)\test_gui_htmllboxtest.obj: .\controls\htmllboxtest.cpp
-       $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\htmllboxtest.cpp
-
+$(OBJS)\test_gui_htmllboxtest.obj: .\controls\htmllboxtest.cpp\r
+       $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\htmllboxtest.cpp\r
+\r
 $(OBJS)\test_gui_hyperlinkctrltest.obj: .\controls\hyperlinkctrltest.cpp\r
        $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\hyperlinkctrltest.cpp\r
 \r
@@ -875,6 +876,9 @@ $(OBJS)\test_gui_rawbmp.obj: .\image\rawbmp.cpp
 $(OBJS)\test_gui_htmlwindow.obj: .\html\htmlwindow.cpp\r
        $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\html\htmlwindow.cpp\r
 \r
+$(OBJS)\test_gui_accelentry.obj: .\menu\accelentry.cpp\r
+       $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\menu\accelentry.cpp\r
+\r
 $(OBJS)\test_gui_menu.obj: .\menu\menu.cpp\r
        $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\menu\menu.cpp\r
 \r
index 33975f40e003c9a567fe75bf90b037393e6ba74f..d5c95565eaae6ea59175366af966b63b6fe1bc10 100644 (file)
@@ -146,7 +146,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_gaugetest.o \\r
        $(OBJS)\test_gui_gridtest.o \\r
        $(OBJS)\test_gui_headerctrltest.o \\r
-       $(OBJS)\test_gui_htmllboxtest.o \
+       $(OBJS)\test_gui_htmllboxtest.o \\r
        $(OBJS)\test_gui_hyperlinkctrltest.o \\r
        $(OBJS)\test_gui_itemcontainertest.o \\r
        $(OBJS)\test_gui_label.o \\r
@@ -180,6 +180,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_image.o \\r
        $(OBJS)\test_gui_rawbmp.o \\r
        $(OBJS)\test_gui_htmlwindow.o \\r
+       $(OBJS)\test_gui_accelentry.o \\r
        $(OBJS)\test_gui_menu.o \\r
        $(OBJS)\test_gui_guifuncs.o \\r
        $(OBJS)\test_gui_selstoretest.o \\r
@@ -754,9 +755,9 @@ $(OBJS)\test_gui_gridtest.o: ./controls/gridtest.cpp
 $(OBJS)\test_gui_headerctrltest.o: ./controls/headerctrltest.cpp\r
        $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<\r
 \r
-$(OBJS)\test_gui_htmllboxtest.o: ./controls/htmllboxtest.cpp
-       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
-
+$(OBJS)\test_gui_htmllboxtest.o: ./controls/htmllboxtest.cpp\r
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<\r
+\r
 $(OBJS)\test_gui_hyperlinkctrltest.o: ./controls/hyperlinkctrltest.cpp\r
        $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -856,6 +857,9 @@ $(OBJS)\test_gui_rawbmp.o: ./image/rawbmp.cpp
 $(OBJS)\test_gui_htmlwindow.o: ./html/htmlwindow.cpp\r
        $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\test_gui_accelentry.o: ./menu/accelentry.cpp\r
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<\r
+\r
 $(OBJS)\test_gui_menu.o: ./menu/menu.cpp\r
        $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<\r
 \r
index a51e353775cf65d0c3d6c5fdff44d9b7e0ae925f..e4d20a04e846712b14802b0fa73132c18e6d6228 100644 (file)
@@ -148,7 +148,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_gaugetest.obj \\r
        $(OBJS)\test_gui_gridtest.obj \\r
        $(OBJS)\test_gui_headerctrltest.obj \\r
-       $(OBJS)\test_gui_htmllboxtest.obj \
+       $(OBJS)\test_gui_htmllboxtest.obj \\r
        $(OBJS)\test_gui_hyperlinkctrltest.obj \\r
        $(OBJS)\test_gui_itemcontainertest.obj \\r
        $(OBJS)\test_gui_label.obj \\r
@@ -182,6 +182,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_image.obj \\r
        $(OBJS)\test_gui_rawbmp.obj \\r
        $(OBJS)\test_gui_htmlwindow.obj \\r
+       $(OBJS)\test_gui_accelentry.obj \\r
        $(OBJS)\test_gui_menu.obj \\r
        $(OBJS)\test_gui_guifuncs.obj \\r
        $(OBJS)\test_gui_selstoretest.obj \\r
@@ -899,9 +900,9 @@ $(OBJS)\test_gui_gridtest.obj: .\controls\gridtest.cpp
 $(OBJS)\test_gui_headerctrltest.obj: .\controls\headerctrltest.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\headerctrltest.cpp\r
 \r
-$(OBJS)\test_gui_htmllboxtest.obj: .\controls\htmllboxtest.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\htmllboxtest.cpp
-
+$(OBJS)\test_gui_htmllboxtest.obj: .\controls\htmllboxtest.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\htmllboxtest.cpp\r
+\r
 $(OBJS)\test_gui_hyperlinkctrltest.obj: .\controls\hyperlinkctrltest.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\hyperlinkctrltest.cpp\r
 \r
@@ -1001,6 +1002,9 @@ $(OBJS)\test_gui_rawbmp.obj: .\image\rawbmp.cpp
 $(OBJS)\test_gui_htmlwindow.obj: .\html\htmlwindow.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\html\htmlwindow.cpp\r
 \r
+$(OBJS)\test_gui_accelentry.obj: .\menu\accelentry.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\menu\accelentry.cpp\r
+\r
 $(OBJS)\test_gui_menu.obj: .\menu\menu.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\menu\menu.cpp\r
 \r
index 2fc3f6f60db83c933341cd87318d9debe03b00b2..8e5019fa2ec85795ae865df0ab9bfb34fd68f81d 100644 (file)
@@ -388,7 +388,7 @@ TEST_GUI_OBJECTS =  &
        $(OBJS)\test_gui_gaugetest.obj &\r
        $(OBJS)\test_gui_gridtest.obj &\r
        $(OBJS)\test_gui_headerctrltest.obj &\r
-       $(OBJS)\test_gui_htmllboxtest.obj &
+       $(OBJS)\test_gui_htmllboxtest.obj &\r
        $(OBJS)\test_gui_hyperlinkctrltest.obj &\r
        $(OBJS)\test_gui_itemcontainertest.obj &\r
        $(OBJS)\test_gui_label.obj &\r
@@ -422,6 +422,7 @@ TEST_GUI_OBJECTS =  &
        $(OBJS)\test_gui_image.obj &\r
        $(OBJS)\test_gui_rawbmp.obj &\r
        $(OBJS)\test_gui_htmlwindow.obj &\r
+       $(OBJS)\test_gui_accelentry.obj &\r
        $(OBJS)\test_gui_menu.obj &\r
        $(OBJS)\test_gui_guifuncs.obj &\r
        $(OBJS)\test_gui_selstoretest.obj &\r
@@ -812,9 +813,9 @@ $(OBJS)\test_gui_gridtest.obj :  .AUTODEPEND .\controls\gridtest.cpp
 $(OBJS)\test_gui_headerctrltest.obj :  .AUTODEPEND .\controls\headerctrltest.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<\r
 \r
-$(OBJS)\test_gui_htmllboxtest.obj :  .AUTODEPEND .\controls\htmllboxtest.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
-
+$(OBJS)\test_gui_htmllboxtest.obj :  .AUTODEPEND .\controls\htmllboxtest.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<\r
+\r
 $(OBJS)\test_gui_hyperlinkctrltest.obj :  .AUTODEPEND .\controls\hyperlinkctrltest.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<\r
 \r
@@ -914,6 +915,9 @@ $(OBJS)\test_gui_rawbmp.obj :  .AUTODEPEND .\image\rawbmp.cpp
 $(OBJS)\test_gui_htmlwindow.obj :  .AUTODEPEND .\html\htmlwindow.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<\r
 \r
+$(OBJS)\test_gui_accelentry.obj :  .AUTODEPEND .\menu\accelentry.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<\r
+\r
 $(OBJS)\test_gui_menu.obj :  .AUTODEPEND .\menu\menu.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<\r
 \r
diff --git a/tests/menu/accelentry.cpp b/tests/menu/accelentry.cpp
new file mode 100644 (file)
index 0000000..b1863db
--- /dev/null
@@ -0,0 +1,90 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        tests/menu/accelentry.cpp
+// Purpose:     wxAcceleratorEntry unit test
+// Author:      Vadim Zeitlin
+// Created:     2010-12-03
+// RCS-ID:      $Id$
+// Copyright:   (c) 2010 Vadim Zeitlin
+///////////////////////////////////////////////////////////////////////////////
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "testprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#endif // WX_PRECOMP
+
+#include "wx/accel.h"
+#include "wx/scopedptr.h"
+
+class AccelEntryTestCase : public CppUnit::TestCase
+{
+public:
+    AccelEntryTestCase() {}
+
+private:
+    CPPUNIT_TEST_SUITE( AccelEntryTestCase );
+        CPPUNIT_TEST( Create );
+        CPPUNIT_TEST( ToFromString );
+    CPPUNIT_TEST_SUITE_END();
+
+    void Create();
+    void ToFromString();
+
+    wxDECLARE_NO_COPY_CLASS(AccelEntryTestCase);
+};
+
+// register in the unnamed registry so that these tests are run by default
+CPPUNIT_TEST_SUITE_REGISTRATION( AccelEntryTestCase );
+
+// also include in it's own registry so that these tests can be run alone
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( AccelEntryTestCase, "AccelEntryTestCase" );
+
+namespace
+{
+
+void CheckAccelEntry(const wxAcceleratorEntry& accel, int keycode, int flags)
+{
+    CPPUNIT_ASSERT_EQUAL( keycode, accel.GetKeyCode() );
+    CPPUNIT_ASSERT_EQUAL( flags, accel.GetFlags() );
+}
+
+} // anonymous namespace
+
+void AccelEntryTestCase::Create()
+{
+    wxScopedPtr<wxAcceleratorEntry>
+        pa(wxAcceleratorEntry::Create("Foo\tCtrl+Z"));
+    CPPUNIT_ASSERT( pa );
+    CPPUNIT_ASSERT( pa->IsOk() );
+
+    CheckAccelEntry(*pa, 'Z', wxACCEL_CTRL);
+
+
+    pa.reset(wxAcceleratorEntry::Create("Shift-Q"));
+    CPPUNIT_ASSERT( pa );
+    CPPUNIT_ASSERT( pa->IsOk() );
+
+    CheckAccelEntry(*pa, 'Q', wxACCEL_SHIFT);
+
+
+    pa.reset(wxAcceleratorEntry::Create("bloordyblop"));
+    CPPUNIT_ASSERT( !pa );
+}
+
+void AccelEntryTestCase::ToFromString()
+{
+    wxAcceleratorEntry a(wxACCEL_ALT, 'X');
+    CPPUNIT_ASSERT_EQUAL( "Alt+X", a.ToString() );
+
+    CPPUNIT_ASSERT( a.FromString("Alt+Shift+F1") );
+    CheckAccelEntry(a, WXK_F1, wxACCEL_ALT | wxACCEL_SHIFT);
+
+    CPPUNIT_ASSERT( !a.FromString("bloordyblop") );
+}
index 99836fa7ca91bf6b8205c9d79a34a8332a5e2af7..352d05bf492d7cc8beb7b6ab2aab1736084e6242 100644 (file)
             image/image.cpp
             image/rawbmp.cpp
             html/htmlwindow.cpp
+            menu/accelentry.cpp
             menu/menu.cpp
             misc/guifuncs.cpp
             misc/selstoretest.cpp
index 44d463f4516ae40a0e4ea2adc28e8f88163298a4..13438b70e5259c663d12d69eecd28a4d58f3dcc7 100644 (file)
@@ -235,6 +235,10 @@ LINK32=link.exe
 # PROP Default_Filter ""\r
 # Begin Source File\r
 \r
+SOURCE=.\menu\accelentry.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=.\asserthelper.cpp\r
 # End Source File\r
 # Begin Source File\r
@@ -337,10 +341,10 @@ SOURCE=.\controls\headerctrltest.cpp
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=.\controls\htmllboxtest.cpp
-# End Source File
-# Begin Source File
-
+SOURCE=.\controls\htmllboxtest.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=.\html\htmlwindow.cpp\r
 # End Source File\r
 # Begin Source File\r
index e26c3f7326c103fb4c76e5b9bf7c033496ba5c55..6e392ad097380f570dcd50f0b56767be66ac2dc9 100644 (file)
                        Name="Source Files"\r
                        Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">\r
+                       <File\r
+                               RelativePath=".\menu\accelentry.cpp">\r
+                       </File>\r
                        <File\r
                                RelativePath=".\asserthelper.cpp">\r
                        </File>\r
                                RelativePath=".\controls\headerctrltest.cpp">\r
                        </File>\r
                        <File\r
-                               RelativePath=".\controls\htmllboxtest.cpp">
-                       </File>
-                       <File
+                               RelativePath=".\controls\htmllboxtest.cpp">\r
+                       </File>\r
+                       <File\r
                                RelativePath=".\html\htmlwindow.cpp">\r
                        </File>\r
                        <File\r
index a44e6aebab8090d5d0113942c249eed8d32ac532..c01308af33ee3940fda2b39b305065020b422645 100644 (file)
                        Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
                        >\r
+                       <File\r
+                               RelativePath=".\menu\accelentry.cpp"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath=".\asserthelper.cpp"\r
                                >\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\controls\htmllboxtest.cpp"
-                               >
-                       </File>
-                       <File
+                               RelativePath=".\controls\htmllboxtest.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath=".\html\htmlwindow.cpp"\r
                                >\r
                        </File>\r
index 357af513545144b7723ba5f18212c936425db9a9..7d27a76723138ced6957329a5c89cf4072ec3a78 100644 (file)
                        Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
                        >\r
+                       <File\r
+                               RelativePath=".\menu\accelentry.cpp"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath=".\asserthelper.cpp"\r
                                >\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\controls\htmllboxtest.cpp"
-                               >
-                       </File>
-                       <File
+                               RelativePath=".\controls\htmllboxtest.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath=".\html\htmlwindow.cpp"\r
                                >\r
                        </File>\r