diff options
Diffstat (limited to 'src/mainwindow.cc')
-rw-r--r-- | src/mainwindow.cc | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/mainwindow.cc b/src/mainwindow.cc index eae86d0..f5c9d9d 100644 --- a/src/mainwindow.cc +++ b/src/mainwindow.cc @@ -47,13 +47,13 @@ MainWindow::MainWindow(Database& db) // Create the toolbar // QToolBar *toolbar = new QToolBar("A toolbar"); - + /* QAction *act_load = toolbar->addAction("Load"); // connect(act_load, SIGNAL(triggered()), &document, SLOT(load())); QAction *act_save = toolbar->addAction("Save"); // connect(act_save, SIGNAL(triggered()), &document, SLOT(save())); - + */ // // Create the browser docking widget // @@ -97,7 +97,16 @@ void MainWindow::readDatabase() if(!item.image.empty()) { QIcon icon; - QImage image = QImage::fromData((const uchar*)item.image.data(), item.image.size()); + QImage image; + if(item.image.substr(0, 4) == "/9j/") // Image is base64 encoded + { + QByteArray data = QByteArray::fromBase64(QByteArray(item.image.data(), item.image.size())); + image = QImage::fromData(data); + } + else + { + image = QImage::fromData((const uchar*)item.image.data(), item.image.size()); + } icon.addPixmap(QPixmap::fromImage(image)); listItem->setIcon(icon); } @@ -114,7 +123,7 @@ void MainWindow::readDatabase() } } -void MainWindow::itemChanged(int row) +void MainWindow::itemChanged(int) { auto item = listWidget->currentItem(); auto id = item->data(Qt::UserRole).toInt(); |