Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 37 additions & 22 deletions bepdf/beos/PDFWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -310,9 +310,6 @@ void PDFWindow::StoreFileAttributes() {
entry_ref cur_ref;
if (mCurrentFile.InitCheck() == B_OK) {
mCurrentFile.GetRef(&cur_ref);
BMessage bm;
if (mOutlinesView->GetBookmarks(&bm))
mFileAttributes.SetBookmarks(&bm);
mFileAttributes.Write(&cur_ref, gApp->GetSettings());
}
Unlock();
Expand Down Expand Up @@ -502,11 +499,11 @@ void PDFWindow::UpdateInputEnabler()
fMenuBar->FindItem(SELECT_ALL_CMD)->SetEnabled(okToCopy);
fMenuBar->FindItem(SELECT_NONE_CMD)->SetEnabled(okToCopy);

bool hasBookmark = mOutlinesView->HasUserBookmark(page);
bool selected = hasBookmark && mOutlinesView->IsUserBMSelected();
fMenuBar->FindItem(ADD_BOOKMARK_CMD)->SetEnabled(!hasBookmark);
fMenuBar->FindItem(EDIT_BOOKMARK_CMD)->SetEnabled(selected);
fMenuBar->FindItem(DELETE_BOOKMARK_CMD)->SetEnabled(selected);
bool hasUserBookmark = mOutlinesView->HasUserBookmark(page);
bool selected = hasUserBookmark && mOutlinesView->IsUserBMSelected();
fMenuBar->FindItem(ADD_USER_BOOKMARK_CMD)->SetEnabled(!hasUserBookmark);
fMenuBar->FindItem(EDIT_USER_BOOKMARK_CMD)->SetEnabled(selected);
fMenuBar->FindItem(DELETE_USER_BOOKMARK_CMD)->SetEnabled(selected);

// Annotation
bool editAnnot = mMainView->EditingAnnot();
Expand Down Expand Up @@ -640,9 +637,9 @@ BMenuBar* PDFWindow::BuildMenu()
.End()

.AddMenu(B_TRANSLATE("Bookmark"))
.AddItem(B_TRANSLATE("Add"), ADD_BOOKMARK_CMD)
.AddItem(B_TRANSLATE("Delete"), DELETE_BOOKMARK_CMD)
.AddItem(B_TRANSLATE("Edit"), EDIT_BOOKMARK_CMD)
.AddItem(B_TRANSLATE("Add"), ADD_USER_BOOKMARK_CMD)
.AddItem(B_TRANSLATE("Delete"), DELETE_USER_BOOKMARK_CMD)
.AddItem(B_TRANSLATE("Edit"), EDIT_USER_BOOKMARK_CMD)
.End()

.AddMenu(B_TRANSLATE("Help"))
Expand Down Expand Up @@ -979,7 +976,7 @@ PDFWindow::SetPage(int32 page) {
if (page > mPagesView->CountItems()) {
page = mPagesView->CountItems();
}
snprintf (pageStr, sizeof (pageStr), "%d", page);
snprintf (pageStr, sizeof (pageStr), "%d" B_PRId32, page);
mPageNumberItem->SetText (pageStr);
mPagesView->Select(page-1);
mPagesView->ScrollToSelection();
Expand All @@ -989,7 +986,7 @@ PDFWindow::SetPage(int32 page) {
void
PDFWindow::MessageReceived(BMessage* message)
{
int page;
int32 page;
const char *text;

if (CancelCommand(message))
Expand Down Expand Up @@ -1259,11 +1256,11 @@ PDFWindow::MessageReceived(BMessage* message)
break;
case FULL_SCREEN_CMD: OnFullScreen();
break;
case ADD_BOOKMARK_CMD: AddBookmark();
case ADD_USER_BOOKMARK_CMD: AddUserBookmark();
break;
case DELETE_BOOKMARK_CMD: DeleteBookmark();
case DELETE_USER_BOOKMARK_CMD: DeleteUserBookmark();
break;
case EDIT_BOOKMARK_CMD: EditBookmark();
case EDIT_USER_BOOKMARK_CMD: EditUserBookmark();
break;
case SHOW_TRACER_CMD: OutputTracer::ShowWindow(gApp->GetSettings());
break;
Expand Down Expand Up @@ -1434,6 +1431,7 @@ PDFWindow::MessageReceived(BMessage* message)
if (message->FindString("label", &label) == B_OK &&
message->FindInt32("pageNum", &pageNum) == B_OK) {
mOutlinesView->AddUserBookmark(pageNum, label.String());
SaveUserBookmarks();
UpdateInputEnabler();
}
}
Expand Down Expand Up @@ -1597,10 +1595,10 @@ PDFWindow::ShowLeftPanel(int panel)
if (mLayerView->CardLayout()->VisibleIndex() != panel) {
gApp->GetSettings()->SetLeftPanel(panel);
mLayerView->CardLayout()->SetVisibleItem(panel);
if (panel == BOOKMARKS_PANEL) {
ActivateOutlines();
}
}
if (panel == BOOKMARKS_PANEL) {
ActivateOutlines();
}
UpdateInputEnabler();
}

Expand Down Expand Up @@ -1690,19 +1688,20 @@ void PDFWindow::WorkspaceActivated(int32 workspace, bool active) {

// #pragma mark - User-defined bookmarks

void PDFWindow::AddBookmark()
void PDFWindow::AddUserBookmark()
{
char buffer[256];
sprintf(buffer, B_TRANSLATE("Page %d"), mMainView->Page());
new BookmarkWindow(mMainView->Page(), buffer, BRect(30, 30, 300, 200), this);
}

void PDFWindow::DeleteBookmark() {
void PDFWindow::DeleteUserBookmark() {
mOutlinesView->RemoveUserBookmark(mMainView->Page());
SaveUserBookmarks();
UpdateInputEnabler();
}

void PDFWindow::EditBookmark() {
void PDFWindow::EditUserBookmark() {
const char *label = mOutlinesView->GetUserBMLabel(mMainView->Page());
if (label) {
new BookmarkWindow(mMainView->Page(), label, BRect(30, 30, 300, 200), this);
Expand All @@ -1711,6 +1710,22 @@ void PDFWindow::EditBookmark() {
}
}

void PDFWindow::SaveUserBookmarks()
{
if (mCurrentFile.InitCheck() != B_OK)
return;

BMessage bm;
if (!mOutlinesView->GetBookmarks(&bm))
return;

entry_ref cur_ref;
mCurrentFile.GetRef(&cur_ref);

mFileAttributes.SetBookmarks(&bm);
mFileAttributes.Write(&cur_ref, gApp->GetSettings());
}

// #pragma mark - Annotations

static const int32 kAnnotDescEOL = -1;
Expand Down
13 changes: 7 additions & 6 deletions bepdf/beos/PDFWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,9 @@ class PDFWindow
FIND_NEXT_CMD,

// User defined bookmarks
ADD_BOOKMARK_CMD,
DELETE_BOOKMARK_CMD,
EDIT_BOOKMARK_CMD,
ADD_USER_BOOKMARK_CMD,
DELETE_USER_BOOKMARK_CMD,
EDIT_USER_BOOKMARK_CMD,

// Help
HELP_CMD,
Expand Down Expand Up @@ -344,9 +344,10 @@ class PDFWindow
void OnFullScreen();

// User defined bookmarks
void AddBookmark();
void DeleteBookmark();
void EditBookmark();
void AddUserBookmark();
void DeleteUserBookmark();
void EditUserBookmark();
void SaveUserBookmarks();
Comment thread
korli marked this conversation as resolved.

// Annotations
void PressAnnotationButton();
Expand Down
Loading