Add Undo/Redo functionality to People contact manager (ticket #3824)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30453 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -19,6 +19,7 @@
|
|||||||
#include <FindDirectory.h>
|
#include <FindDirectory.h>
|
||||||
#include <Font.h>
|
#include <Font.h>
|
||||||
#include <Clipboard.h>
|
#include <Clipboard.h>
|
||||||
|
#include <TextView.h>
|
||||||
|
|
||||||
#include "PeopleApp.h"
|
#include "PeopleApp.h"
|
||||||
#include "PeopleView.h"
|
#include "PeopleView.h"
|
||||||
@@ -52,7 +53,9 @@ TPeopleWindow::TPeopleWindow(BRect frame, char *title, entry_ref *ref)
|
|||||||
menuBar->AddItem(menu);
|
menuBar->AddItem(menu);
|
||||||
|
|
||||||
menu = new BMenu("Edit");
|
menu = new BMenu("Edit");
|
||||||
menu->AddItem(fUndo = new BMenuItem("Undo", new BMessage(M_UNDO), 'Z'));
|
menu->AddItem(fUndo = new BMenuItem("Undo", new BMessage(B_UNDO), 'Z'));
|
||||||
|
fUndo->SetTarget(NULL, this);
|
||||||
|
fUndo->SetEnabled(false);
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
menu->AddItem(fCut = new BMenuItem("Cut", new BMessage(B_CUT), 'X'));
|
menu->AddItem(fCut = new BMenuItem("Cut", new BMessage(B_CUT), 'X'));
|
||||||
fCut->SetTarget(NULL, this);
|
fCut->SetTarget(NULL, this);
|
||||||
@@ -91,12 +94,20 @@ void
|
|||||||
TPeopleWindow::MenusBeginning(void)
|
TPeopleWindow::MenusBeginning(void)
|
||||||
{
|
{
|
||||||
bool enabled;
|
bool enabled;
|
||||||
|
bool isRedo;
|
||||||
|
|
||||||
enabled = fView->CheckSave();
|
enabled = fView->CheckSave();
|
||||||
fSave->SetEnabled(enabled);
|
fSave->SetEnabled(enabled);
|
||||||
fRevert->SetEnabled(enabled);
|
fRevert->SetEnabled(enabled);
|
||||||
|
|
||||||
fUndo->SetEnabled(false);
|
undo_state state = ((BTextView *)CurrentFocus())->UndoState(&isRedo);
|
||||||
|
fUndo->SetEnabled(state != B_UNDO_UNAVAILABLE);
|
||||||
|
|
||||||
|
if (isRedo)
|
||||||
|
fUndo->SetLabel("Redo");
|
||||||
|
else
|
||||||
|
fUndo->SetLabel("Undo");
|
||||||
|
|
||||||
enabled = fView->TextSelected();
|
enabled = fView->TextSelected();
|
||||||
fCut->SetEnabled(enabled);
|
fCut->SetEnabled(enabled);
|
||||||
fCopy->SetEnabled(enabled);
|
fCopy->SetEnabled(enabled);
|
||||||
|
|||||||
Reference in New Issue
Block a user