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

Some fixes

This commit is contained in:
Sanych 2024-11-20 10:18:17 +03:00
parent 72ceba1d01
commit 83b769a623
14 changed files with 2570 additions and 754 deletions

View File

@ -66,6 +66,7 @@ public:
virtual bool variableIsSystem(const QString& name) = 0;
virtual IDataSource* dataSource(const QString& name) = 0;
virtual IDataSourceHolder* dataSourceHolder(const QString& name) = 0;
virtual void setDesignTime(bool) = 0;
};
}

View File

@ -3,19 +3,23 @@
#include <QMainWindow>
#include <QSettings>
#include "lrglobal.h"
namespace LimeReport {
class ReportDesignWindowInterface: public QMainWindow{
class LIMEREPORT_EXPORT ReportDesignWindowInterface: public QMainWindow{
public:
ReportDesignWindowInterface(QWidget* parent = 0): QMainWindow(parent){}
virtual bool checkNeedToSave() = 0;
virtual bool isNeedToSave() = 0;
virtual void showModal() = 0;
virtual void showNonModal() = 0;
virtual void setSettings(QSettings* value) = 0;
virtual QSettings* settings() = 0;
virtual void restoreSetting() = 0;
virtual void saveSettings() = 0;
virtual void setShowProgressDialog(bool value) = 0;
virtual void newReport(bool needCheck = true) = 0;
};
} // namespace LimeReport

View File

@ -148,7 +148,7 @@ class LIMEREPORT_EXPORT ReportEngine : public QObject{
friend class PreviewReportWidget;
friend class TranslationEditor;
public:
static void setSettings(QSettings *value){m_settings=value;}
void setSettings(QSettings *value){m_settings=value;}
public:
explicit ReportEngine(QObject *parent = 0);
~ReportEngine();
@ -156,6 +156,7 @@ public:
bool printReport(QMap<QString, QPrinter*> printers, bool printToAllPrinters = false);
bool printPages(ReportPages pages, QPrinter *printer);
void printToFile(const QString& fileName);
ReportPages renderToPages();
QGraphicsScene* createPreviewScene(QObject *parent = 0);
bool printToPDF(const QString& fileName);
bool exportReport(QString exporterName, const QString &fileName = "", const QMap<QString, QVariant>& params = QMap<QString, QVariant>());
@ -243,7 +244,7 @@ protected:
ReportEngine(ReportEnginePrivate &dd, QObject * parent=0);
private:
Q_DECLARE_PRIVATE(ReportEngine)
static QSettings* m_settings;
QSettings* m_settings = nullptr;
bool m_showDesignerModal;
};

View File

@ -160,7 +160,8 @@ QVariant DataSourceModel::data(const QModelIndex& index, int role) const
void DataSourceModel::setDataSourceManager(DataSourceManager* dataManager)
{
m_dataManager = dataManager;
connect(m_dataManager,SIGNAL(datasourcesChanged()),this,SLOT(slotDatasourcesChanged()));
connect(m_dataManager, &DataSourceManager::datasourcesChanged,
this, &DataSourceModel::slotDatasourcesChanged);
updateModel();
}

View File

@ -66,6 +66,7 @@ public:
virtual bool variableIsSystem(const QString& name) = 0;
virtual IDataSource* dataSource(const QString& name) = 0;
virtual IDataSourceHolder* dataSourceHolder(const QString& name) = 0;
virtual void setDesignTime(bool) = 0;
};
}

View File

@ -1459,6 +1459,12 @@ void ReportEngine::printToFile(const QString &fileName)
d->printToFile(fileName);
}
ReportPages ReportEngine::renderToPages()
{
Q_D(ReportEngine);
return d->renderToPages();
}
bool ReportEngine::printToPDF(const QString &fileName)
{
Q_D(ReportEngine);

View File

@ -156,6 +156,7 @@ public:
bool printReport(QMap<QString, QPrinter*> printers, bool printToAllPrinters = false);
bool printPages(ReportPages pages, QPrinter *printer);
void printToFile(const QString& fileName);
ReportPages renderToPages();
QGraphicsScene* createPreviewScene(QObject *parent = 0);
bool printToPDF(const QString& fileName);
bool exportReport(QString exporterName, const QString &fileName = "", const QMap<QString, QVariant>& params = QMap<QString, QVariant>());

View File

@ -112,9 +112,7 @@ void VariablesHolder::clearUserVariables()
} else {
++it;
}
}
}
bool VariablesHolder::containsVariable(const QString &name)

View File

@ -509,6 +509,109 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::BorderEditor</name>
<message>
<source>Edit border</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Presets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No lines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Outline</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Border</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No style</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash dot dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0.25</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0.5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>1.5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>4</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>6</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::BorderFrameEditor</name>
<message>
@ -1045,18 +1148,6 @@ p, li { white-space: pre-wrap; }
<source>HorizontalBar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignTop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignCenter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottom</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>TitleAlignLeft</source>
<translation type="unfinished"></translation>
@ -1093,6 +1184,102 @@ p, li { white-space: pre-wrap; }
<source>Split</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>GridLines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NoStyle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dashed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotDot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Doubled</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendPoints</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendLines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightCenter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightTop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightBottom</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomRight</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomCenter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomLeft</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>SolidLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NoPen</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotDotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>CustomDashLine</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::FlagsPropItem</name>
@ -2222,6 +2409,14 @@ p, li { white-space: pre-wrap; }
<source>mixWithPriorPage</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>borderStyle</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::RectPropItem</name>

View File

@ -638,7 +638,109 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
<name>LimeReport::BorderEditor</name>
<message>
<source>Edit border</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Presets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No lines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Outline</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Border</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No style</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash dot dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0.25</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0.5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>1.5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>4</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>6</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::BorderFrameEditor</name>
<message>
<source>BorderFrameEditor</source>
@ -938,7 +1040,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>External variables</source>
<translation>Variables externas</translation>
<translation type="unfinished">Variables externas</translation>
</message>
</context>
<context>
@ -1174,18 +1276,6 @@ p, li { white-space: pre-wrap; }
<source>HorizontalBar</source>
<translation>Barra horizontal</translation>
</message>
<message>
<source>LegendAlignTop</source>
<translation>Alinear Leyenda Arriba</translation>
</message>
<message>
<source>LegendAlignCenter</source>
<translation>Centrar leyenda</translation>
</message>
<message>
<source>LegendAlignBottom</source>
<translation>Alinear Leyenda Abajo</translation>
</message>
<message>
<source>TitleAlignLeft</source>
<translation>Alinear titulo a la izquierda</translation>
@ -1222,6 +1312,102 @@ p, li { white-space: pre-wrap; }
<source>Split</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>GridLines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NoStyle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dashed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotDot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Doubled</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendPoints</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendLines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightCenter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightTop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightBottom</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomRight</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomCenter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomLeft</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>SolidLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NoPen</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotDotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>CustomDashLine</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::FlagsPropItem</name>
@ -2351,6 +2537,14 @@ p, li { white-space: pre-wrap; }
<source>mixWithPriorPage</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>borderStyle</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::RectPropItem</name>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -522,7 +522,109 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
<name>LimeReport::BorderEditor</name>
<message>
<source>Edit border</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Presets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No lines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Outline</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Border</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>...</source>
<translation type="unfinished">...</translation>
</message>
<message>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No style</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dash dot dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0.25</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0.5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>1.5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>4</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>5</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>6</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::BorderFrameEditor</name>
<message>
<source>BorderFrameEditor</source>
@ -822,7 +924,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>External variables</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -1058,18 +1160,6 @@ p, li { white-space: pre-wrap; }
<source>HorizontalBar</source>
<translation></translation>
</message>
<message>
<source>LegendAlignTop</source>
<translation></translation>
</message>
<message>
<source>LegendAlignCenter</source>
<translation></translation>
</message>
<message>
<source>LegendAlignBottom</source>
<translation></translation>
</message>
<message>
<source>TitleAlignLeft</source>
<translation></translation>
@ -1106,6 +1196,102 @@ p, li { white-space: pre-wrap; }
<source>Split</source>
<translation></translation>
</message>
<message>
<source>GridLines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NoStyle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dashed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotDot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Doubled</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendPoints</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendLines</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightCenter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightTop</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignRightBottom</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomRight</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomCenter</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LegendAlignBottomLeft</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>SolidLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>NoPen</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DashDotDotLine</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>CustomDashLine</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::FlagsPropItem</name>
@ -2235,6 +2421,14 @@ p, li { white-space: pre-wrap; }
<source>mixWithPriorPage</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>borderStyle</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LimeReport::RectPropItem</name>