From c80f8962e7d11ee8909ae050ed36d77895d2e4df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 4 Feb 2009 23:03:40 +0000 Subject: [PATCH] Should fix Shift+TAB on text controls, as it was broken since r29028. Noticed by Karsten Heimrich. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29134 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/TextControl.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/kits/interface/TextControl.cpp b/src/kits/interface/TextControl.cpp index 82d869e79c..c778429866 100644 --- a/src/kits/interface/TextControl.cpp +++ b/src/kits/interface/TextControl.cpp @@ -451,6 +451,10 @@ BTextControl::SetEnabled(bool enabled) if (Window()) { fText->MakeEditable(enabled); + if (enabled) + fText->SetFlags(fText->Flags() | B_NAVIGABLE); + else + fText->SetFlags(fText->Flags() & ~B_NAVIGABLE); _UpdateTextViewColors(enabled); @@ -512,6 +516,9 @@ BTextControl::SetFlags(uint32 flags) fText->SetFlags(fText->Flags() | B_NAVIGABLE); } + // Don't make this one navigable + flags &= ~B_NAVIGABLE; + BView::SetFlags(flags); } @@ -925,6 +932,8 @@ BTextControl::_InitData(const char* label, const char* initialText, fDivider = floorf(bounds.Width() / 2.0f); uint32 navigableFlags = Flags() & B_NAVIGABLE; + if (navigableFlags != 0) + BView::SetFlags(Flags() & ~B_NAVIGABLE); if (archive) fText = static_cast(FindView("_input_"));