X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=bookmarksdialog.cpp;h=9f81259140102f610a17e6f48b8ad199e993104a;hb=3c911546d4367fa1da0a21c70872159a1044a170;hp=218667134f5c84ac21b5cb7d9051f1616e3eb871;hpb=d2f9a208b94aefa2ad251b5ed727f1dc698b5c7f;p=dorian diff --git a/bookmarksdialog.cpp b/bookmarksdialog.cpp index 2186671..9f81259 100644 --- a/bookmarksdialog.cpp +++ b/bookmarksdialog.cpp @@ -6,15 +6,13 @@ #include "trace.h" BookmarksDialog::BookmarksDialog(Book *book_, QWidget *parent): - ListWindow(parent), book(book_) + ListWindow(tr("(No bookmarks)\n"), parent), book(book_) { setWindowTitle(tr("Bookmarks")); if (!book) { return; } - addButton(tr("Add bookmark"), this, SLOT(onAdd()), "add"); - // Build and set bookmark model // FIXME: Localize me foreach (Book::Bookmark bookmark, book_->bookmarks()) { @@ -35,38 +33,47 @@ BookmarksDialog::BookmarksDialog(Book *book_, QWidget *parent): QStringListModel *model = new QStringListModel(data, this); setModel(model); - // FIXME - // connect(list, SIGNAL(activated(const QModelIndex &)), - // this, SLOT(onItemActivated(const QModelIndex &))); + addButton(tr("Add bookmark"), this, SLOT(onAdd()), "add"); + addItemButton(tr("Go to bookmark"), this, SLOT(onGo()), "goto"); + addItemButton(tr("Edit bookmark"), this, SLOT(onEdit()), "edit"); + addItemButton(tr("Delete bookmark"), this, SLOT(onDelete()), "delete"); + + connect(this, SIGNAL(activated(const QModelIndex &)), + this, SLOT(onItemActivated(const QModelIndex &))); } void BookmarksDialog::onGo() { TRACE; - // FIXME - // QModelIndex current = list->currentIndex(); - // if (current.isValid()) { - // emit goToBookmark(current.row()); - // close(); - // } + QModelIndex current = currentItem(); + if (current.isValid()) { + emit goToBookmark(current.row()); + close(); + } } void BookmarksDialog::onItemActivated(const QModelIndex &index) { + TRACE; +#ifdef Q_WS_MAEMO_5 switch ((new BookmarkInfoDialog(book, index.row(), this))->exec()) { case BookmarkInfoDialog::GoTo: onGo(); break; case BookmarkInfoDialog::Delete: - onDelete(true); + reallyDelete(); break; default: ; } +#else + Q_UNUSED(index); +#endif } void BookmarksDialog::onAdd() { + TRACE; bool ok; QString text = QInputDialog::getText(this, tr("Add bookmark"), tr("Note (optional):"), QLineEdit::Normal, QString(), &ok); @@ -76,20 +83,33 @@ void BookmarksDialog::onAdd() } } -void BookmarksDialog::onDelete(bool really) +void BookmarksDialog::onDelete() { - QModelIndex current = list->currentIndex(); - if (!current.isValid()) { + TRACE; + if (!currentItem().isValid()) { return; } - if (!really) { - if (QMessageBox::Yes != - QMessageBox::question(this, tr("Delete bookmark"), - tr("Delete bookmark?"), QMessageBox::Yes | QMessageBox::No)) { - return; - } + if (QMessageBox::Yes != + QMessageBox::question(this, tr("Delete bookmark"), + tr("Delete bookmark?"), QMessageBox::Yes | QMessageBox::No)) { + return; + } + reallyDelete(); +} + +void BookmarksDialog::reallyDelete() +{ + TRACE; + QModelIndex current = currentItem(); + if (!current.isValid()) { + return; } int row = current.row(); - list->model()->removeRow(row); + model()->removeRow(row); book->deleteBookmark(row); } + +void BookmarksDialog::onEdit() +{ + // FIXME: Implement me +}