Editor plugin: Bugfixing

This commit is contained in:
Jakub Melka
2024-06-23 17:37:55 +02:00
parent 72962f2513
commit 178ef02cc8
6 changed files with 92 additions and 48 deletions

View File

@ -48,14 +48,12 @@ PDFPageContentEditorEditedItemSettings::PDFPageContentEditorEditedItemSettings(Q
ui->brushColorCombo->addItem(icon, colorName, color);
}
ui->penStyleCombo->addItem(tr("None"), int(Qt::NoPen));
ui->penStyleCombo->addItem(tr("Solid"), int(Qt::SolidLine));
ui->penStyleCombo->addItem(tr("Dashed"), int(Qt::DashLine));
ui->penStyleCombo->addItem(tr("Dotted"), int(Qt::DotLine));
ui->penStyleCombo->addItem(tr("Dash-dot"), int(Qt::DashDotLine));
ui->penStyleCombo->addItem(tr("Dash-dot-dot"), int(Qt::DashDotDotLine));
ui->brushStyleCombo->addItem(tr("None"), int(Qt::NoBrush));
ui->penStyleCombo->addItem(tr("Custom"), int(Qt::CustomDashLine));
ui->brushStyleCombo->addItem(tr("Solid"), int(Qt::SolidPattern));
connect(ui->selectPenColorButton, &QToolButton::clicked, this, &PDFPageContentEditorEditedItemSettings::onSelectPenColorButtonClicked);
@ -137,6 +135,7 @@ void PDFPageContentEditorEditedItemSettings::loadFromElement(PDFPageContentEleme
features.setFlag(Pen);
features.setFlag(PenColor);
features.setFlag(Brush);
features.setFlag(StrokeFill);
}
if (element->asText())
@ -147,6 +146,7 @@ void PDFPageContentEditorEditedItemSettings::loadFromElement(PDFPageContentEleme
const bool hasPen = features.testFlag(Pen);
const bool hasPenColor = features.testFlag(PenColor);
const bool hasBrush = features.testFlag(Brush);
const bool hasStrokeFill = features.testFlag(StrokeFill);
ui->penWidthEdit->setEnabled(hasPen);
ui->penWidthLabel->setEnabled(hasPen);
@ -165,6 +165,15 @@ void PDFPageContentEditorEditedItemSettings::loadFromElement(PDFPageContentEleme
ui->brushColorLabel->setEnabled(hasBrush);
ui->selectBrushColorButton->setEnabled(hasBrush);
ui->strokePathCheckBox->setEnabled(hasStrokeFill);
ui->fillPathCheckBox->setEnabled(hasStrokeFill);
if (const PDFEditedPageContentElementPath* pathElement = element->asPath())
{
ui->strokePathCheckBox->setChecked(pathElement->getStrokePath());
ui->fillPathCheckBox->setChecked(pathElement->getFillPath());
}
const PDFPageContentProcessorState& graphicState = element->getState();
QPen pen = pdf::PDFPainterHelper::createPenFromState(&graphicState, graphicState.getAlphaStroking());
@ -241,6 +250,12 @@ void PDFPageContentEditorEditedItemSettings::saveToElement(PDFPageContentElement
textElement->setItemsAsText(ui->plainTextEdit->toPlainText());
}
if (PDFEditedPageContentElementPath* pathElement = editedElement->getElement()->asPath())
{
pathElement->setStrokePath(ui->strokePathCheckBox->isChecked());
pathElement->setFillPath(ui->fillPathCheckBox->isChecked());
}
PDFTransformationDecomposition decomposedTransformation;
decomposedTransformation.rotationAngle = ui->rotationAngleEdit->value();
decomposedTransformation.shearFactor = ui->shearFactorEdit->value();