#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()) {
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);
}
}
-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
+}