#include "lrimageitemeditor.h" #include "ui_lrimageitemeditor.h" #include "lrimageitem.h" #include #include ImageItemEditor::ImageItemEditor(LimeReport::IEditableImageItem* item, QWidget* parent): QWidget(parent), ui(new Ui::ImageItemEditor), m_item(item) { ui->setupUi(this); m_image = item->imageAsByteArray(); ui->resourcePath->setText(m_item->resourcePath()); updateImage(); } ImageItemEditor::~ImageItemEditor() { delete ui; } void ImageItemEditor::updateImage() { QPixmap image; if (m_image.isEmpty() && !ui->resourcePath->text().isEmpty()) { image.load(ui->resourcePath->text()); } else { image.loadFromData(m_image); } ui->imageViewer->setPixmap(image); } void ImageItemEditor::on_tbLoadImage_clicked() { QString fileName = QFileDialog::getOpenFileName(this, tr("Select image file"), "", m_item->fileFilter()); QFile file(fileName); if (file.open(QIODevice::ReadOnly)) { m_image = file.readAll(); } updateImage(); } void ImageItemEditor::on_tbClearImage_clicked() { m_image.clear(); updateImage(); } void ImageItemEditor::on_buttonBox_accepted() { QImage image; m_item->setImageAsByteArray(m_image); m_item->setResourcePath(ui->resourcePath->text()); this->close(); } void ImageItemEditor::on_buttonBox_rejected() { this->close(); } void ImageItemEditor::on_toolButton_clicked() { ui->resourcePath->setText(QFileDialog::getOpenFileName(this, tr("Select image file"))); m_resourcePathImage = QPixmap(ui->resourcePath->text()); if (!m_resourcePathImage.isNull() && m_image.isNull()) ui->imageViewer->setPixmap(m_resourcePathImage); } void ImageItemEditor::on_tbResourcePath_clicked() { ui->resourcePath->setText(""); updateImage(); }