#include "bookmarksdialog.h"
#include "book.h"
#include "bookmarkinfodialog.h"
-#include "listview.h"
+#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;
}
- addAction(tr("Add bookmark"), this, SLOT(onAdd()), "add");
-
- // Build bookmark list
+ // Build and set bookmark model
// FIXME: Localize me
foreach (Book::Bookmark bookmark, book_->bookmarks()) {
QString label("At ");
}
data.append(label);
}
-
- // Create bookmark list view
QStringListModel *model = new QStringListModel(data, this);
- list = new ListView;
- list->setSelectionMode(QAbstractItemView::SingleSelection);
- list->setModel(model);
- addList(list);
- connect(list, SIGNAL(activated(const QModelIndex &)),
+ setModel(model);
+
+ addButton(tr("Add bookmark"), this, SLOT(onAdd()), "add");
+
+ connect(this, SIGNAL(activated(const QModelIndex &)),
this, SLOT(onItemActivated(const QModelIndex &)));
- addList(list);
}
void BookmarksDialog::onGo()
{
- QModelIndex current = list->currentIndex();
+ TRACE;
+ QModelIndex current = currentItem();
if (current.isValid()) {
emit goToBookmark(current.row());
close();
void BookmarksDialog::onDelete(bool really)
{
- QModelIndex current = list->currentIndex();
+ QModelIndex current = currentItem();
if (!current.isValid()) {
return;
}
}
}
int row = current.row();
- list->model()->removeRow(row);
+ model()->removeRow(row);
book->deleteBookmark(row);
}