#include "infodialog.h"
#include "book.h"
#include "library.h"
+#include "trace.h"
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);
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);
+ addButton(tr("Delete"), this, SLOT(onRemoveBook()),
+ QDialogButtonBox::DestructiveRole);
}
void InfoDialog::onReadBook()
{
- Library::instance()->setNowReading(Library::instance()->find(book));
- close();
+ done(InfoDialog::Read);
}
void InfoDialog::onRemoveBook()
QMessageBox::question(this, tr("Delete book"),
tr("Delete book \"%1\" from library?").arg(book->shortName()),
QMessageBox::Yes | QMessageBox::No)) {
- Library::instance()->remove(Library::instance()->find(book));
- close();
+ done(InfoDialog::Delete);
}
}