0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-10-04 04:06:43 +03:00

keepFooterTogether with reprintOnEachPage fixed

This commit is contained in:
Arin Alexander
2018-06-20 16:23:52 +03:00
parent 5a199a2e82
commit b43dfdd1aa
3 changed files with 100 additions and 3 deletions

View File

@@ -84,6 +84,40 @@ QColor DataBand::bandColor() const
return QColor(Qt::darkGreen);
}
void DataBand::preparePopUpMenu(QMenu &menu)
{
BandDesignIntf::preparePopUpMenu(menu);
QAction* currAction = menu.addAction(tr("Keep footer together"));
currAction->setCheckable(true);
currAction->setChecked(keepFooterTogether());
currAction = menu.addAction(tr("Keep subdetail together"));
currAction->setCheckable(true);
currAction->setChecked(tryToKeepTogether());
currAction = menu.addAction(tr("Slice last row"));
currAction->setCheckable(true);
currAction->setChecked(sliceLastRow());
}
void DataBand::processPopUpAction(QAction *action)
{
BandDesignIntf::processPopUpAction(action);
if (action->text().compare(tr("Keep footer together")) == 0){
setProperty("keepFooterTogether",action->isChecked());
}
if (action->text().compare(tr("Keep subdetail together")) == 0){
setProperty("keepSubdetailTogether",action->isChecked());
}
if (action->text().compare(tr("Slice last row")) == 0){
setProperty("sliceLastRow",action->isChecked());
}
}
BaseDesignIntf *DataBand::createSameTypeItem(QObject *owner, QGraphicsItem *parent)
{
return new DataBand(owner,parent);
@@ -96,6 +130,38 @@ DataHeaderBand::DataHeaderBand(QObject *owner, QGraphicsItem *parent)
setMarkerColor(bandColor());
}
void DataHeaderBand::preparePopUpMenu(QMenu &menu)
{
BandDesignIntf::preparePopUpMenu(menu);
QAction* currAction = menu.addAction(tr("Reprint on each page"));
currAction->setCheckable(true);
currAction->setChecked(reprintOnEachPage());
currAction = menu.addAction(tr("Repeat on each row"));
currAction->setCheckable(true);
currAction->setChecked(repeatOnEachRow());
currAction = menu.addAction(tr("Print always"));
currAction->setCheckable(true);
currAction->setChecked(printAlways());
}
void DataHeaderBand::processPopUpAction(QAction *action)
{
BandDesignIntf::processPopUpAction(action);
if (action->text().compare(tr("Reprint on each page")) == 0){
setProperty("repeatOnEachPage",action->isChecked());
}
if (action->text().compare(tr("Repeat on each row")) == 0){
setProperty("repeatOnEachRow",action->isChecked());
}
if (action->text().compare(tr("Print always")) == 0){
setProperty("printAlways",action->isChecked());
}
}
DataFooterBand::DataFooterBand(QObject *owner, QGraphicsItem *parent)
:BandDesignIntf(BandDesignIntf::DataFooter,xmlTagFooter,owner,parent)
{
@@ -103,5 +169,21 @@ DataFooterBand::DataFooterBand(QObject *owner, QGraphicsItem *parent)
setMarkerColor(bandColor());
}
void DataFooterBand::preparePopUpMenu(QMenu &menu)
{
BandDesignIntf::preparePopUpMenu(menu);
QAction* currAction = menu.addAction(tr("Print always"));
currAction->setCheckable(true);
currAction->setChecked(printAlways());
}
void DataFooterBand::processPopUpAction(QAction *action)
{
BandDesignIntf::processPopUpAction(action);
if (action->text().compare(tr("Print always")) == 0){
setProperty("printAlways",action->isChecked());
}
}
}