mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-24 16:44:39 +03:00
Merge branch 'master' into 1.4
Conflicts: limereport/lrpreviewreportwindow.cpp limereport/lrpreviewreportwindow.h limereport/report.qrc
This commit is contained in:
commit
4370182106
@ -84,8 +84,10 @@ namespace Const{
|
||||
HidePreviewToolBar = 1,
|
||||
HidePreviewMenuBar = 2,
|
||||
HidePreviewStatusBar = 4,
|
||||
HideAllPreviewBar=7};
|
||||
HideAllPreviewBar = 7,
|
||||
PreviewBarsUserSetting = 8};
|
||||
Q_DECLARE_FLAGS(PreviewHints, PreviewHint)
|
||||
Q_FLAGS(PreviewHints)
|
||||
|
||||
class ReportError : public std::runtime_error{
|
||||
public:
|
||||
|
@ -77,7 +77,7 @@ public:
|
||||
void printToFile(const QString& fileName);
|
||||
PageDesignIntf *createPreviewScene(QObject *parent = 0);
|
||||
bool printToPDF(const QString& fileName);
|
||||
void previewReport(PreviewHints hints = ShowAllPreviewBars);
|
||||
void previewReport(PreviewHints hints = PreviewBarsUserSetting);
|
||||
void designReport();
|
||||
void setShowProgressDialog(bool value);
|
||||
IDataSourceManager* dataManager();
|
||||
|
BIN
limereport/images/checked.png
Normal file
BIN
limereport/images/checked.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 749 B |
BIN
limereport/images/not_checked.png
Normal file
BIN
limereport/images/not_checked.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 666 B |
BIN
limereport/images/toolbar.png
Normal file
BIN
limereport/images/toolbar.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 346 B |
@ -448,9 +448,11 @@ BaseDesignIntf* BandDesignIntf::cloneUpperPart(int height, QObject *owner, QGrap
|
||||
} else if (item->canBeSplitted(sliceHeight)){
|
||||
upperItem = item->cloneUpperPart(sliceHeight,upperPart,upperPart);
|
||||
if (maxBottom<upperItem->geometry().bottom()) maxBottom = upperItem->geometry().bottom();
|
||||
m_slicedItems.insert(upperItem->objectName(),upperItem);
|
||||
} else {
|
||||
item->cloneEmpty(sliceHeight,upperPart,upperPart); //for table
|
||||
qgItem->setPos(item->pos().x(),item->pos().y()+((height+1)-item->geometry().top()));
|
||||
moveItemsDown(item->pos().y(),(height+1)-item->geometry().top());
|
||||
//qgItem->setPos(item->pos().x(),item->pos().y()+((height+1)-item->geometry().top()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -460,12 +462,20 @@ BaseDesignIntf* BandDesignIntf::cloneUpperPart(int height, QObject *owner, QGrap
|
||||
return upperPart;
|
||||
}
|
||||
|
||||
bool itemLessThen(QGraphicsItem* i1, QGraphicsItem* i2){
|
||||
return i1->pos().y()<i2->pos().y();
|
||||
}
|
||||
|
||||
BaseDesignIntf *BandDesignIntf::cloneBottomPart(int height, QObject *owner, QGraphicsItem *parent)
|
||||
{
|
||||
BandDesignIntf* bottomPart = dynamic_cast<BandDesignIntf*>(createSameTypeItem(owner,parent));
|
||||
bottomPart->initFromItem(this);
|
||||
|
||||
foreach(QGraphicsItem* qgItem,childItems()){
|
||||
QList<QGraphicsItem*> bandItems;
|
||||
bandItems = childItems();
|
||||
std::sort(bandItems.begin(),bandItems.end(), itemLessThen);
|
||||
|
||||
foreach(QGraphicsItem* qgItem, bandItems){
|
||||
BaseDesignIntf* item = dynamic_cast<BaseDesignIntf*>(qgItem);
|
||||
|
||||
if (item){
|
||||
@ -479,6 +489,9 @@ BaseDesignIntf *BandDesignIntf::cloneBottomPart(int height, QObject *owner, QGra
|
||||
BaseDesignIntf* tmpItem=item->cloneBottomPart(sliceHeight,bottomPart,bottomPart);
|
||||
tmpItem->setPos(tmpItem->pos().x(),0);
|
||||
if (tmpItem->pos().y()<0) tmpItem->setPos(tmpItem->pos().x(),0);
|
||||
qreal sizeOffset = (m_slicedItems.value(tmpItem->objectName())->height()+tmpItem->height()) - item->height();
|
||||
qreal bottomOffset = (height - m_slicedItems.value(tmpItem->objectName())->pos().y())-m_slicedItems.value(tmpItem->objectName())->height();
|
||||
moveItemsDown(item->pos().y()+item->height(), sizeOffset + bottomOffset);
|
||||
}
|
||||
else if (item->isSplittable()){
|
||||
BaseDesignIntf* tmpItem = item->cloneItem(item->itemMode(),bottomPart,bottomPart);
|
||||
|
@ -268,6 +268,7 @@ private:
|
||||
bool m_startFromNewPage;
|
||||
bool m_printAlways;
|
||||
bool m_repeatOnEachRow;
|
||||
QMap<QString,BaseDesignIntf*> m_slicedItems;
|
||||
};
|
||||
|
||||
class DataBandDesignIntf : public BandDesignIntf{
|
||||
|
@ -84,8 +84,10 @@ namespace Const{
|
||||
HidePreviewToolBar = 1,
|
||||
HidePreviewMenuBar = 2,
|
||||
HidePreviewStatusBar = 4,
|
||||
HideAllPreviewBar=7};
|
||||
HideAllPreviewBar = 7,
|
||||
PreviewBarsUserSetting = 8};
|
||||
Q_DECLARE_FLAGS(PreviewHints, PreviewHint)
|
||||
Q_FLAGS(PreviewHints)
|
||||
|
||||
class ReportError : public std::runtime_error{
|
||||
public:
|
||||
|
@ -83,6 +83,7 @@ PreviewReportWindow::PreviewReportWindow(ReportEnginePrivate *report,QWidget *pa
|
||||
connect(m_previewReportWidget, SIGNAL(scalePercentChanged(int)), this, SLOT(slotScalePercentChanged(int)));
|
||||
connect(m_scalePercent, SIGNAL(currentIndexChanged(QString)), this, SLOT(scaleComboboxChanged(QString)));
|
||||
restoreSetting();
|
||||
selectStateIcon();
|
||||
}
|
||||
|
||||
void PreviewReportWindow::writeSetting()
|
||||
@ -151,7 +152,8 @@ void PreviewReportWindow::setErrorMessages(const QStringList &value){
|
||||
|
||||
void PreviewReportWindow::setToolBarVisible(bool value)
|
||||
{
|
||||
ui->toolBar->setVisible(value);
|
||||
ui->toolBar->setHidden(value);
|
||||
selectStateIcon();
|
||||
}
|
||||
|
||||
void PreviewReportWindow::setStatusBarVisible(bool value)
|
||||
@ -242,6 +244,14 @@ void PreviewReportWindow::showEvent(QShowEvent *)
|
||||
m_fontEditor->setVisible(ui->actionEdit_Mode->isChecked());
|
||||
m_textAlignmentEditor->setVisible(ui->actionEdit_Mode->isChecked());
|
||||
}
|
||||
void PreviewReportWindow::selectStateIcon()
|
||||
{
|
||||
if (ui->toolBar->isHidden()){
|
||||
ui->actionShow_Toolbar->setIcon(QIcon(":/report/images/not_checked.png"));
|
||||
} else {
|
||||
ui->actionShow_Toolbar->setIcon(QIcon(":/report/images/checked.png"));
|
||||
}
|
||||
}
|
||||
|
||||
void PreviewReportWindow::slotPrint()
|
||||
{
|
||||
@ -368,4 +378,13 @@ void PreviewReportWindow::on_actionShowMessages_toggled(bool value)
|
||||
m_previewReportWidget->setErrorsMesagesVisible(value);
|
||||
}
|
||||
|
||||
void PreviewReportWindow::on_actionShow_Toolbar_triggered()
|
||||
{
|
||||
setToolBarVisible(!ui->toolBar->isHidden());
|
||||
writeSetting();
|
||||
}
|
||||
|
||||
}// namespace LimeReport
|
||||
|
||||
|
||||
|
||||
|
@ -73,6 +73,7 @@ protected:
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
void moveEvent(QMoveEvent *e);
|
||||
void showEvent(QShowEvent *);
|
||||
void selectStateIcon();
|
||||
public slots:
|
||||
void slotPrint();
|
||||
void slotPriorPage();
|
||||
@ -95,6 +96,7 @@ private slots:
|
||||
void scaleComboboxChanged(QString text);
|
||||
void slotScalePercentChanged(int percent);
|
||||
void on_actionShowMessages_toggled(bool value);
|
||||
void on_actionShow_Toolbar_triggered();
|
||||
|
||||
private:
|
||||
ItemsReaderIntf* reader();
|
||||
|
@ -35,7 +35,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>21</height>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuView">
|
||||
@ -44,6 +44,8 @@
|
||||
</property>
|
||||
<addaction name="actionZoomIn"/>
|
||||
<addaction name="actionZoomOut"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionShow_Toolbar"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuReport">
|
||||
<property name="title">
|
||||
@ -256,6 +258,24 @@
|
||||
<string>One to one</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionShow_Toolbar">
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="report.qrc">
|
||||
<normaloff>:/report/images/toolbar</normaloff>:/report/images/toolbar</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Show Toolbar</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Show toolbar</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="report.qrc"/>
|
||||
|
@ -376,9 +376,11 @@ void ReportEnginePrivate::previewReport(PreviewHints hints)
|
||||
w->setErrorMessages(dataManager()->errorsList());
|
||||
}
|
||||
|
||||
if (!hints.testFlag(PreviewBarsUserSetting)){
|
||||
w->setMenuVisible(!hints.testFlag(HidePreviewMenuBar));
|
||||
w->setStatusBarVisible(!hints.testFlag(HidePreviewStatusBar));
|
||||
w->setToolBarVisible(!hints.testFlag(HidePreviewToolBar));
|
||||
}
|
||||
|
||||
m_activePreview = w;
|
||||
connect(w,SIGNAL(destroyed(QObject*)), this, SLOT(slotPreviewWindowDestroed(QObject*)));
|
||||
|
@ -77,7 +77,7 @@ public:
|
||||
void printToFile(const QString& fileName);
|
||||
PageDesignIntf *createPreviewScene(QObject *parent = 0);
|
||||
bool printToPDF(const QString& fileName);
|
||||
void previewReport(PreviewHints hints = ShowAllPreviewBars);
|
||||
void previewReport(PreviewHints hints = PreviewBarsUserSetting);
|
||||
void designReport();
|
||||
void setShowProgressDialog(bool value);
|
||||
IDataSourceManager* dataManager();
|
||||
|
@ -86,7 +86,7 @@ public:
|
||||
bool printPages(ReportPages pages, QPrinter *printer, PrintRange printRange = PrintRange());
|
||||
void printToFile(const QString& fileName);
|
||||
bool printToPDF(const QString& fileName);
|
||||
void previewReport(PreviewHints hints = ShowAllPreviewBars);
|
||||
void previewReport(PreviewHints hints = PreviewBarsUserSetting);
|
||||
void designReport();
|
||||
void setSettings(QSettings* value);
|
||||
void setShowProgressDialog(bool value){m_showProgressDialog = value;}
|
||||
|
@ -167,5 +167,8 @@
|
||||
<file alias="/images/logo32">images/logo_32x32.png</file>
|
||||
<file alias="/images/addPage">images/addPage1.png</file>
|
||||
<file alias="/images/deletePage">images/deletePage1.png</file>
|
||||
<file alias="/images/toolbar">images/toolbar.png</file>
|
||||
<file>images/not_checked.png</file>
|
||||
<file>images/checked.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Loading…
Reference in New Issue
Block a user