As spotted by Stephan, pulled out items enabling/disabling of the if block,

as menu items must be updated even when the focus is not a text view!
Thanks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40670 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Philippe Houdoin
2011-02-24 18:23:46 +00:00
parent e23bbaff47
commit 433dc78379
+14 -10
View File
@@ -129,22 +129,26 @@ PersonWindow::MenusBeginning()
fSave->SetEnabled(enabled);
fRevert->SetEnabled(enabled);
bool isRedo = false;
bool undoEnabled = false;
bool cutAndCopyEnabled = false;
BTextView* textView = dynamic_cast<BTextView*>(CurrentFocus());
if (textView != NULL) {
bool isRedo = false;
undo_state state = textView->UndoState(&isRedo);
fUndo->SetEnabled(state != B_UNDO_UNAVAILABLE);
undoEnabled = state != B_UNDO_UNAVAILABLE;
if (isRedo)
fUndo->SetLabel(B_TRANSLATE("Redo"));
else
fUndo->SetLabel(B_TRANSLATE("Undo"));
enabled = fView->IsTextSelected();
fCut->SetEnabled(enabled);
fCopy->SetEnabled(enabled);
cutAndCopyEnabled = fView->IsTextSelected();
}
if (isRedo)
fUndo->SetLabel(B_TRANSLATE("Redo"));
else
fUndo->SetLabel(B_TRANSLATE("Undo"));
fUndo->SetEnabled(undoEnabled);
fCut->SetEnabled(cutAndCopyEnabled);
fCopy->SetEnabled(cutAndCopyEnabled);
be_clipboard->Lock();
fPaste->SetEnabled(be_clipboard->Data()->HasData("text/plain", B_MIME_TYPE));
be_clipboard->Unlock();