X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=infodialog.cpp;h=904eb79f9f4281501ff7df2ea378d569673569e1;hb=b843ed247e4cbaa89d81c528902f0b5d7080c216;hp=03dcbf4e1563875e3884c0d388a4ce277d3a8016;hpb=1b137f849036e5926a389552196428306a06958d;p=dorian diff --git a/infodialog.cpp b/infodialog.cpp index 03dcbf4..904eb79 100644 --- a/infodialog.cpp +++ b/infodialog.cpp @@ -3,67 +3,85 @@ #include "infodialog.h" #include "book.h" #include "library.h" +#include "trace.h" -InfoDialog::InfoDialog(Book *b, QWidget *parent): Dialog(parent), book(b) +InfoDialog::InfoDialog(Book *b, QWidget *parent, bool showButtons): + Dyalog(parent, showButtons), book(b) { - setWindowTitle(tr("Book Details")); + TRACE; + + setWindowTitle(tr("Book details")); if (book) { QLabel *title = new QLabel(book->title, this); + title->setWordWrap(true); addWidget(title); if (book->subject != "") { QLabel *subject = new QLabel(book->subject, this); + subject->setWordWrap(true); addWidget(subject); } if (book->creators.size()) { QLabel *creators = new QLabel(this); - QString c = "By " + book->creators[0]; - for (int i = 1; i < book->creators.size(); i++) { - c += ", " + book->creators[i]; - } - creators->setText(c); + creators->setWordWrap(true); + creators->setText(book->creators.join(", ")); addWidget(creators); } QLabel *path = new QLabel("File: " + book->path(), this); + path->setWordWrap(true); addWidget(path); if (book->publisher != "") { QLabel *publisher = new QLabel("Published by " + book->publisher, this); + publisher->setWordWrap(true); addWidget(publisher); } if (book->source != "") { QLabel *source = new QLabel("Source: " + book->source, this); + source->setWordWrap(true); addWidget(source); } if (book->rights != "") { QLabel *rights = new QLabel(book->rights, this); + rights->setWordWrap(true); addWidget(rights); } + if (book->dateAdded.isValid()) { + QLabel *added = new QLabel("Added to library: " + + book->dateAdded.toLocalTime().toString(Qt::SystemLocaleShortDate), + this); + added->setWordWrap(true); + addWidget(added); + } + if (book->dateOpened.isValid()) { + QLabel *opened = new QLabel("Last read: " + + book->dateOpened.toLocalTime().toString(Qt::SystemLocaleShortDate), + this); + opened->setWordWrap(true); + addWidget(opened); + } addStretch(); } - QPushButton *read = new QPushButton(tr("Read"), this); - QPushButton *remove = new QPushButton(tr("Delete"), this); - connect(read, SIGNAL(clicked()), this, SLOT(onReadBook())); - connect(remove, SIGNAL(clicked()), this, SLOT(onRemoveBook())); - addButton(read, QDialogButtonBox::ActionRole); - addButton(remove, QDialogButtonBox::DestructiveRole); + addButton(tr("Read"), this, SLOT(onReadBook()), + QDialogButtonBox::ActionRole); +#ifndef Q_OS_SYMBIAN + addButton(tr("Delete"), this, SLOT(onRemoveBook()), + QDialogButtonBox::DestructiveRole); +#endif } void InfoDialog::onReadBook() { - Library::instance()->setNowReading(Library::instance()->find(book)); - close(); + done(InfoDialog::Read); } void InfoDialog::onRemoveBook() { if (QMessageBox::Yes == - QMessageBox::question(this, - tr("Delete book"), - "Delete book \"" + book->name() + "\"?", - QMessageBox::Yes | QMessageBox::No)) { - Library::instance()->remove(Library::instance()->find(book)); - close(); + QMessageBox::question(this, tr("Delete book"), + tr("Delete book \"%1\" from library?").arg(book->shortName()), + QMessageBox::Yes | QMessageBox::No)) { + done(InfoDialog::Delete); } }