[haiku-webkit-commits] r563 - webkit/trunk/WebKit/haiku/WebPositive/autocompletion

  • From: noreply@xxxxxxxxxxxx
  • To: haiku-webkit-commits@xxxxxxxxxxxxx
  • Date: Wed, 29 Dec 2010 23:51:13 +0100 (CET)

Author: leavengood
Date: Wed Dec 29 23:51:13 2010
New Revision: 563
URL: http://webpositive.haiku-os.org/changeset/563

Log:
Restore the original URL text when the escape key is pressed.

Modified:
   webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.cpp
   webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.h

Modified: 
webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.cpp
==============================================================================
--- webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.cpp  
Wed Dec 29 23:08:08 2010        (r562)
+++ webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.cpp  
Wed Dec 29 23:51:13 2010        (r563)
@@ -73,7 +73,8 @@
                new BDefaultChoiceView(), patternSelector),
        BMessageFilter(B_KEY_DOWN),
        fTextView(textView),
-       fModificationsReported(false)
+       fModificationsReported(false),
+       fOriginalTextSaved(false)
 {
        fTextView->AddFilter(this);
 }
@@ -102,6 +103,11 @@
 filter_result
 TextViewCompleter::Filter(BMessage* message, BHandler** target)
 {
+       if (!fOriginalTextSaved) {
+               fOriginalText = fTextView->Text();
+               fOriginalTextSaved = true;
+       }
+
        const char* bytes;
        int32 modifiers;
        if (!target || message->FindString("bytes", &bytes) != B_OK
@@ -140,7 +146,13 @@
                }
 
                case B_ESCAPE:
-                       CancelChoice();
+                       if (fOriginalText != fTextView->Text()) {
+                               fModificationsReported = false;
+                               fTextView->SetText(fOriginalText.String());
+                               fTextView->SelectAll();
+                               fModificationsReported = true;
+                               CancelChoice();
+                       }
                        return B_SKIP_MESSAGE;
                case B_RETURN:
                        if (IsChoiceSelected()) {

Modified: 
webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.h
==============================================================================
--- webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.h    
Wed Dec 29 23:08:08 2010        (r562)
+++ webkit/trunk/WebKit/haiku/WebPositive/autocompletion/TextViewCompleter.h    
Wed Dec 29 23:51:13 2010        (r563)
@@ -43,6 +43,8 @@
 private:
                        BTextView*                      fTextView;
                        bool                            fModificationsReported;
+                       BString                         fOriginalText;
+                       bool                            fOriginalTextSaved;
 };
 
 #endif // TEXT_CONTROL_COMPLETER_H

Other related posts:

  • » [haiku-webkit-commits] r563 - webkit/trunk/WebKit/haiku/WebPositive/autocompletion - noreply