mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2024-12-23 20:22:58 +03:00
commit
843ecc61b4
45
common.pri
45
common.pri
@ -33,22 +33,23 @@ CONFIG(easy_profiler) {
|
||||
INCLUDEPATH *= $$PWD/3rdparty/easyprofiler/easy_profiler_core/include
|
||||
DEPENDPATH *= $$PWD/3rdparty/easyprofiler/easy_profiler_core/include
|
||||
unix|win32: LIBS *= -L$$PWD/3rdparty/easyprofiler/build/bin/ -leasy_profiler
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6) {
|
||||
DEFINES *= BUILD_WITH_EASY_PROFILER
|
||||
}
|
||||
}
|
||||
|
||||
!CONFIG(qtscriptengine) {
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
greaterThan(QT_MINOR_VERSION, 5) {
|
||||
equals(QT_MAJOR_VERSION, 4) {
|
||||
CONFIG *= qtscriptengine
|
||||
}
|
||||
equals(QT_MAJOR_VERSION, 5) : lessThan(QT_MINOR_VERSION, 6) {
|
||||
CONFIG *= qtscriptengine
|
||||
}
|
||||
equals(QT_MAJOR_VERSION, 5) : greaterThan(QT_MINOR_VERSION, 5) {
|
||||
CONFIG *= qjsengine
|
||||
}
|
||||
lessThan(QT_MINOR_VERSION, 6) {
|
||||
CONFIG *= qtscriptengine
|
||||
}
|
||||
}
|
||||
lessThan(QT_MAJOR_VERSION, 5) {
|
||||
CONFIG *= qtscriptengine
|
||||
equals(QT_MAJOR_VERSION, 6) {
|
||||
CONFIG *= qjsengine
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,12 +75,12 @@ CONFIG(zint) {
|
||||
DEFINES *= HAVE_ZINT
|
||||
}
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
QT *= uitools
|
||||
equals(QT_MAJOR_VERSION, 4) {
|
||||
CONFIG *= uitools
|
||||
}
|
||||
|
||||
lessThan(QT_MAJOR_VERSION, 5) {
|
||||
CONFIG *= uitools
|
||||
equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6) {
|
||||
QT *= uitools
|
||||
}
|
||||
|
||||
CONFIG(release, debug|release) {
|
||||
@ -150,7 +151,15 @@ QT *= xml sql
|
||||
REPORT_PATH = $$PWD/limereport
|
||||
TRANSLATIONS_PATH = $$PWD/translations
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
equals(QT_MAJOR_VERSION, 4) {
|
||||
DEFINES *= HAVE_QT4
|
||||
CONFIG(uitools) {
|
||||
message(uitools)
|
||||
DEFINES *= HAVE_UI_LOADER
|
||||
}
|
||||
}
|
||||
|
||||
equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6) {
|
||||
DEFINES *= HAVE_QT5
|
||||
QT *= printsupport widgets
|
||||
contains(QT, uitools) {
|
||||
@ -163,11 +172,3 @@ greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
QT *= qml
|
||||
}
|
||||
}
|
||||
|
||||
lessThan(QT_MAJOR_VERSION, 5) {
|
||||
DEFINES *= HAVE_QT4
|
||||
CONFIG(uitools) {
|
||||
message(uitools)
|
||||
DEFINES *= HAVE_UI_LOADER
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ int main(int argc, char *argv[])
|
||||
QApplication::setApplicationVersion(LIMEREPORT_VERSION_STR);
|
||||
QStringList vars;
|
||||
|
||||
#if QT_VERSION > QT_VERSION_CHECK(5, 2, 0)
|
||||
#if QT_VERSION > 0x050200
|
||||
QCommandLineParser parser;
|
||||
parser.addHelpOption();
|
||||
parser.addVersionOption();
|
||||
|
@ -3,7 +3,11 @@
|
||||
#include <QSqlDatabase>
|
||||
#include <QDir>
|
||||
#include <QDebug>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QDesktopWidget>
|
||||
#else
|
||||
#include <QScreen>
|
||||
#endif
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
@ -40,10 +44,17 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
connect(ui->actionOne_to_One, SIGNAL(triggered()), this, SLOT(slotOneToOne()));
|
||||
initPercentCombobox();
|
||||
enableUI(false);
|
||||
#if QT_VERSION < 0x060000
|
||||
QDesktopWidget *desktop = QApplication::desktop();
|
||||
|
||||
int screenWidth = desktop->screenGeometry().width();
|
||||
int screenHeight = desktop->screenGeometry().height();
|
||||
#else
|
||||
QScreen *screen = QGuiApplication::primaryScreen();
|
||||
|
||||
int screenWidth = screen->geometry().width();
|
||||
int screenHeight = screen->geometry().height();
|
||||
#endif
|
||||
|
||||
int x = screenWidth*0.1;
|
||||
int y = screenHeight*0.1;
|
||||
|
@ -67,7 +67,11 @@ QString replaceHTMLSymbols(const QString &value)
|
||||
return result;
|
||||
}
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
QVector<QString> normalizeCaptures(const QRegExp& reg){
|
||||
#else
|
||||
QVector<QString> normalizeCaptures(const QRegularExpressionMatch ®){
|
||||
#endif
|
||||
QVector<QString> result;
|
||||
foreach (QString cap, reg.capturedTexts()) {
|
||||
if (!cap.isEmpty())
|
||||
|
@ -51,7 +51,7 @@ namespace LimeReport {
|
||||
#define VARIABLE_IS_NOT_USED
|
||||
#endif
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
|
||||
#if QT_VERSION >= 0x050800
|
||||
Q_NAMESPACE
|
||||
#endif
|
||||
|
||||
@ -104,7 +104,11 @@ namespace Const{
|
||||
QString extractClassName(QString className);
|
||||
QString escapeSimbols(const QString& value);
|
||||
QString replaceHTMLSymbols(const QString &value);
|
||||
#if QT_VERSION < 0x060000
|
||||
QVector<QString> normalizeCaptures(const QRegExp ®);
|
||||
#else
|
||||
QVector<QString> normalizeCaptures(const QRegularExpressionMatch ®);
|
||||
#endif
|
||||
bool isColorDark(QColor color);
|
||||
|
||||
enum ExpandType {EscapeSymbols, NoEscapeSymbols, ReplaceHTMLSymbols};
|
||||
@ -148,7 +152,7 @@ namespace Const{
|
||||
virtual ~IPainterProxy();
|
||||
};
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
|
||||
#if QT_VERSION < 0x050000
|
||||
typedef QStyleOptionViewItemV4 StyleOptionViewItem;
|
||||
#else
|
||||
typedef QStyleOptionViewItem StyleOptionViewItem;
|
||||
@ -158,7 +162,7 @@ namespace Const{
|
||||
{
|
||||
public:
|
||||
enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(VariableDataType)
|
||||
#else
|
||||
Q_ENUMS(VariableDataType)
|
||||
|
@ -31,7 +31,7 @@
|
||||
#define LRSCRIPTENGINEMANAGERINTF_H
|
||||
#include "qglobal.h"
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
|
||||
#if QT_VERSION >= 0x050600
|
||||
#ifndef USE_QTSCRIPTENGINE
|
||||
#ifndef USE_QJSENGINE
|
||||
#define USE_QJSENGINE
|
||||
|
@ -14,7 +14,7 @@ SUBDIRS += \
|
||||
demo_r2 \
|
||||
designer
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) : greaterThan(QT_MINOR_VERSION, 1) {
|
||||
if(equals(QT_MAJOR_VERSION, 5) : greaterThan(QT_MINOR_VERSION, 1)) | equals(QT_MAJOR_VERSION, 6) {
|
||||
SUBDIRS += console
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,8 @@ DataBrowser::DataBrowser(QWidget *parent) :
|
||||
connect(ui->changeConnection,SIGNAL(clicked()),this,SLOT(slotChangeConnection()));
|
||||
connect(ui->pbConnect,SIGNAL(clicked()),this,SLOT(slotChangeConnectionState()));
|
||||
|
||||
ui->verticalLayout_2->setMargin(Const::DOCKWIDGET_MARGINS);
|
||||
int margin = Const::DOCKWIDGET_MARGINS;
|
||||
ui->verticalLayout_2->setContentsMargins(margin, margin, margin, margin);
|
||||
|
||||
ui->dataTree->setHeaderLabel(tr("Datasources"));
|
||||
ui->pbConnect->setEnabled(false);
|
||||
@ -413,7 +414,7 @@ void DataBrowser::initConnections()
|
||||
connections.append(connectionName);
|
||||
}
|
||||
}
|
||||
qSort(connections);
|
||||
std::sort(connections.begin(), connections.end());
|
||||
foreach (QString connectionName, connections) {
|
||||
QTreeWidgetItem *item=new QTreeWidgetItem(
|
||||
ui->dataTree,
|
||||
@ -443,7 +444,7 @@ void DataBrowser::initConnections()
|
||||
// }
|
||||
|
||||
// connections = m_report->dataManager()->connectionNames();
|
||||
// qSort(connections);
|
||||
// std::sort(connections);
|
||||
// foreach(QString connectionName,connectionName){
|
||||
// if (!QSqlDatabase::contains(connectionName)){
|
||||
// QTreeWidgetItem *item=new QTreeWidgetItem(
|
||||
|
@ -78,11 +78,10 @@ void LRVariableDialog::showEvent(QShowEvent *)
|
||||
QMetaEnum enumerator = LimeReport::Enums::staticMetaObject.enumerator(enumIndex);
|
||||
if (!m_variableName.isEmpty()&&m_variablesContainer&&m_variablesContainer->containsVariable(m_variableName)){
|
||||
ui->leValue->setPlainText(m_variablesContainer->variable(m_variableName).toString());
|
||||
#ifdef HAVE_QT5
|
||||
ui->cbbType->setCurrentText(enumerator.valueToKey(m_variablesContainer->variableDataType(m_variableName)));
|
||||
#endif
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->cbbType->setCurrentIndex(ui->cbbType->findText(enumerator.valueToKey(m_variablesContainer->variableDataType(m_variableName))));
|
||||
#else
|
||||
ui->cbbType->setCurrentText(enumerator.valueToKey(m_variablesContainer->variableDataType(m_variableName)));
|
||||
#endif
|
||||
ui->cbbMandatory->setChecked(m_variablesContainer->variableIsMandatory(m_variableName));
|
||||
}
|
||||
|
@ -55,12 +55,13 @@ FormResizer::FormResizer(QWidget *parent) :
|
||||
setBackgroundRole(QPalette::Base);
|
||||
|
||||
QVBoxLayout *handleLayout = new QVBoxLayout(this);
|
||||
handleLayout->setMargin(SELECTION_MARGIN);
|
||||
int margin = SELECTION_MARGIN;
|
||||
handleLayout->setContentsMargins(margin, margin, margin, margin);
|
||||
handleLayout->addWidget(m_frame);
|
||||
|
||||
m_frame->setFrameStyle(QFrame::Panel | QFrame::Raised);
|
||||
QVBoxLayout *layout = new QVBoxLayout(m_frame);
|
||||
layout->setMargin(0);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
// handles
|
||||
m_handles.reserve(SizeHandleRect::Left);
|
||||
for (int i = SizeHandleRect::LeftTop; i <= SizeHandleRect::Left; ++i) {
|
||||
|
@ -70,7 +70,7 @@ void WidgetHost::setFormWindow(QDesignerFormWindowInterface *fw)
|
||||
|
||||
setBackgroundRole(QPalette::Base);
|
||||
m_formWindow->setAutoFillBackground(true);
|
||||
m_formWindow->setBackgroundRole(QPalette::Background);
|
||||
m_formWindow->setBackgroundRole(QPalette::Window);
|
||||
|
||||
connect(m_formResizer, SIGNAL(formWindowSizeChanged(QRect, QRect)),
|
||||
this, SLOT(fwSizeWasChanged(QRect, QRect)));
|
||||
|
@ -3,21 +3,23 @@ include($$PWD/3rdparty/qtcreator/designerintegrationv2/designerintegration.pri)
|
||||
|
||||
INCLUDEPATH *= $$PWD/3rdparty/designer
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) : contains(QT, uitools) {
|
||||
equals(QT_MAJOR_VERSION, 4) : CONFIG(uitools) {
|
||||
DEFINES += HAVE_QTDESIGNER_INTEGRATION
|
||||
}
|
||||
|
||||
lessThan(QT_MAJOR_VERSION, 5) : CONFIG(uitools) {
|
||||
if(equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6)) : contains(QT, uitools) {
|
||||
DEFINES += HAVE_QTDESIGNER_INTEGRATION
|
||||
}
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
QT *= designer designercomponents-private
|
||||
} else {
|
||||
equals(QT_MAJOR_VERSION, 4) {
|
||||
CONFIG *= designer
|
||||
qtAddLibrary(QtDesignerComponents)
|
||||
}
|
||||
|
||||
equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6) {
|
||||
QT *= designer designercomponents-private
|
||||
}
|
||||
|
||||
SOURCES += $$PWD/lrdialogdesigner.cpp
|
||||
HEADERS += $$PWD/lrdialogdesigner.h
|
||||
|
||||
|
@ -104,10 +104,9 @@ DialogDesignerManager::DialogDesignerManager(QObject *parent) : QObject(parent)
|
||||
m_designerToolWindows.append(m_actionEditor);
|
||||
connect(m_actionEditor, SIGNAL(destroyed(QObject*)), this, SLOT(slotObjectDestroyed(QObject*)) );
|
||||
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
m_designerIntegration = new qdesigner_internal::QDesignerIntegration(m_formEditor,this);
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#else
|
||||
m_designerIntegration = new QDesignerIntegration(m_formEditor,this);
|
||||
#endif
|
||||
m_formEditor->setIntegration(m_designerIntegration);
|
||||
|
@ -36,7 +36,7 @@ void HorizontalBarChart::paintHorizontalBars(QPainter *painter, QRectF barsRect)
|
||||
delta = genNextValue(delta);
|
||||
|
||||
qreal vStep = (barsRect.height()-painter->fontMetrics().height()) / valuesCount() / seriesCount();
|
||||
qreal hStep = (barsRect.width()-painter->fontMetrics().width(QString::number(maxValue()))) / delta;
|
||||
qreal hStep = (barsRect.width()-painter->fontMetrics().boundingRect(QString::number(maxValue())).width()) / delta;
|
||||
|
||||
if (!m_chartItem->series().isEmpty() && (m_chartItem->itemMode() != DesignMode)){
|
||||
int curSeries = 0;
|
||||
|
@ -8,13 +8,12 @@ void PieChart::drawPercent(QPainter *painter, QRectF chartRect, qreal startAngle
|
||||
|
||||
QPointF center(chartRect.left()+chartRect.width()/2,chartRect.top()+chartRect.height()/2);
|
||||
qreal percent = angle/3.6;
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
qreal radAngle = (angle/2+startAngle)*(M_PI/180);
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#else
|
||||
qreal radAngle = qDegreesToRadians(angle/2+startAngle);
|
||||
#endif
|
||||
qreal radius = painter->fontMetrics().width("99,9%");
|
||||
qreal radius = painter->fontMetrics().boundingRect("99,9%").width();
|
||||
qreal border = chartRect.height()*0.02;
|
||||
qreal length = (chartRect.height())/2-(radius/2+border);
|
||||
qreal x,y;
|
||||
@ -155,14 +154,14 @@ QSizeF PieChart::calcChartLegendSize(const QFont &font)
|
||||
SeriesItem* si = m_chartItem->series().at(0);
|
||||
foreach(QString label, si->data()->labels()){
|
||||
cw += fm.height();
|
||||
if (maxWidth<fm.width(label))
|
||||
maxWidth = fm.width(label)+10;
|
||||
if (maxWidth<fm.boundingRect(label).width())
|
||||
maxWidth = fm.boundingRect(label).width()+10;
|
||||
}
|
||||
} else {
|
||||
foreach(QString label, m_designLabels){
|
||||
cw += fm.height();
|
||||
if (maxWidth<fm.width(label))
|
||||
maxWidth = fm.width(label)+10;
|
||||
if (maxWidth<fm.boundingRect(label).width())
|
||||
maxWidth = fm.boundingRect(label).width()+10;
|
||||
}
|
||||
}
|
||||
cw += fm.height();
|
||||
|
@ -53,7 +53,7 @@ void ItemsBordersEditorWidget::properyChangedEvent(const QString& property, cons
|
||||
|
||||
void ItemsBordersEditorWidget::noBordesClicked()
|
||||
{
|
||||
updateValues(0);
|
||||
updateValues({});
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::allBordesClicked()
|
||||
@ -148,7 +148,7 @@ void ItemsBordersEditorWidgetForDesigner::buttonClicked(bool)
|
||||
|
||||
void ItemsBordersEditorWidgetForDesigner::noBordesClicked()
|
||||
{
|
||||
m_reportEditor->setBorders(0);
|
||||
m_reportEditor->setBorders({});
|
||||
ItemsBordersEditorWidget::noBordesClicked();
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,7 @@ void TextAlignmentEditorWidget::updateValues(const Qt::Alignment &align)
|
||||
|
||||
Qt::Alignment TextAlignmentEditorWidget::createAlignment()
|
||||
{
|
||||
Qt::Alignment align = 0 ;
|
||||
Qt::Alignment align = Qt::Alignment();
|
||||
if (m_textAliginLeft->isChecked()) align |= Qt::AlignLeft;
|
||||
if (m_textAliginHCenter->isChecked()) align |= Qt::AlignHCenter;
|
||||
if (m_textAliginRight->isChecked()) align |= Qt::AlignRight;
|
||||
|
@ -13,7 +13,7 @@ class AbstractLayout: public LayoutDesignIntf
|
||||
Q_PROPERTY(int layoutSpacing READ layoutSpacing WRITE setLayoutSpacing)
|
||||
public:
|
||||
enum LayoutType{Layout,Table};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(LayoutType)
|
||||
#else
|
||||
Q_ENUMS(LayoutType)
|
||||
|
@ -152,7 +152,7 @@ public:
|
||||
KANJI_INPUT_MODE = 3,
|
||||
SJIS_INPUT_MODE = 4
|
||||
};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(BarcodeType)
|
||||
Q_ENUM(AngleType)
|
||||
Q_ENUM(InputMode)
|
||||
|
@ -30,9 +30,9 @@ namespace LimeReport{
|
||||
|
||||
QColor generateColor()
|
||||
{
|
||||
int red = (qrand()%(256 - 1)) + 1;
|
||||
int green = (qrand()%(256 - 1)) + 1;
|
||||
int blue = (qrand()%(256 - 1)) + 1;;
|
||||
int red = (rand()%(256 - 1)) + 1;
|
||||
int green = (rand()%(256 - 1)) + 1;
|
||||
int blue = (rand()%(256 - 1)) + 1;;
|
||||
return QColor(red,green,blue);
|
||||
}
|
||||
|
||||
@ -348,7 +348,7 @@ void ChartItem::paintChartTitle(QPainter *painter, QRectF titleRect)
|
||||
painter->save();
|
||||
QFont tmpFont = painter->font();
|
||||
QFontMetrics fm(tmpFont);
|
||||
while ((fm.height()>titleRect.height() || fm.width(m_title)>titleRect.width())
|
||||
while ((fm.height()>titleRect.height() || fm.boundingRect(m_title).width()>titleRect.width())
|
||||
&& tmpFont.pixelSize()>1) {
|
||||
tmpFont.setPixelSize(tmpFont.pixelSize()-1);
|
||||
fm = QFontMetrics(tmpFont);
|
||||
@ -570,14 +570,14 @@ QSizeF AbstractSeriesChart::calcChartLegendSize(const QFont &font)
|
||||
if (!m_chartItem->series().isEmpty()){
|
||||
foreach(SeriesItem* series, m_chartItem->series()){
|
||||
cw += fm.height();
|
||||
if (maxWidth<fm.width(series->name()))
|
||||
maxWidth = fm.width(series->name())+10;
|
||||
if (maxWidth<fm.boundingRect(series->name()).width())
|
||||
maxWidth = fm.boundingRect(series->name()).width()+10;
|
||||
}
|
||||
} else {
|
||||
foreach(QString label, m_designLabels){
|
||||
cw += fm.height();
|
||||
if (maxWidth<fm.width(label))
|
||||
maxWidth = fm.width(label)+10;
|
||||
if (maxWidth<fm.boundingRect(label).width())
|
||||
maxWidth = fm.boundingRect(label).width()+10;
|
||||
}
|
||||
}
|
||||
cw += fm.height();
|
||||
@ -591,7 +591,7 @@ bool AbstractSeriesChart::verticalLabels(QPainter* painter, QRectF labelsRect)
|
||||
qreal hStep = (labelsRect.width() / valuesCount());
|
||||
QFontMetrics fm = painter->fontMetrics();
|
||||
foreach(QString label, m_chartItem->labels()){
|
||||
if (fm.width(label) > hStep){
|
||||
if (fm.boundingRect(label).width() > hStep){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -656,7 +656,7 @@ void AbstractSeriesChart::paintHorizontalGrid(QPainter *painter, QRectF gridRect
|
||||
delta = genNextValue(delta);
|
||||
|
||||
painter->setRenderHint(QPainter::Antialiasing,false);
|
||||
qreal hStep = (gridRect.width() - painter->fontMetrics().width(QString::number(maxValue()))) / 4;
|
||||
qreal hStep = (gridRect.width() - painter->fontMetrics().boundingRect(QString::number(maxValue())).width()) / 4;
|
||||
|
||||
painter->setFont(adaptValuesFont(hStep-4, painter->font()));
|
||||
|
||||
@ -708,7 +708,7 @@ qreal AbstractSeriesChart::valuesHMargin(QPainter *painter)
|
||||
{
|
||||
int delta = int(maxValue()-minValue());
|
||||
delta = genNextValue(delta);
|
||||
return painter->fontMetrics().width(QString::number(delta))+4;
|
||||
return painter->fontMetrics().boundingRect(QString::number(delta)).width()+4;
|
||||
}
|
||||
|
||||
qreal AbstractSeriesChart::valuesVMargin(QPainter *painter)
|
||||
@ -722,17 +722,21 @@ QFont AbstractSeriesChart::adaptLabelsFont(QRectF rect, QFont font)
|
||||
QFontMetrics fm(font);
|
||||
|
||||
foreach(QString label, m_chartItem->labels()){
|
||||
#if QT_VERSION < 0x060000
|
||||
foreach (QString currentWord, label.split(QRegExp("\\W+"))){
|
||||
if (fm.width(maxWord) < fm.width(currentWord)) maxWord = currentWord;
|
||||
#else
|
||||
foreach (QString currentWord, label.split(QRegularExpression("\\W+"))){
|
||||
#endif
|
||||
if (fm.boundingRect(maxWord).width() < fm.boundingRect(currentWord).width()) maxWord = currentWord;
|
||||
}
|
||||
}
|
||||
|
||||
qreal curWidth = fm.width(maxWord);
|
||||
qreal curWidth = fm.boundingRect(maxWord).width();
|
||||
QFont tmpFont = font;
|
||||
while (curWidth>rect.width() && tmpFont.pixelSize() > 1){
|
||||
tmpFont.setPixelSize(tmpFont.pixelSize() - 1);
|
||||
QFontMetricsF tmpFM(tmpFont);
|
||||
curWidth = tmpFM.width(maxWord);
|
||||
curWidth = tmpFM.boundingRect(maxWord).width();
|
||||
}
|
||||
return tmpFont;
|
||||
}
|
||||
@ -742,11 +746,11 @@ QFont AbstractSeriesChart::adaptValuesFont(qreal width, QFont font)
|
||||
QString strValue = QString::number(maxValue());
|
||||
QFont tmpFont = font;
|
||||
QScopedPointer<QFontMetricsF> fm(new QFontMetricsF(tmpFont));
|
||||
qreal curWidth = fm->width(strValue);
|
||||
qreal curWidth = fm->boundingRect(strValue).width();
|
||||
while (curWidth > width && tmpFont.pixelSize() > 1){
|
||||
tmpFont.setPixelSize(tmpFont.pixelSize() - 1);
|
||||
fm.reset(new QFontMetricsF(tmpFont));
|
||||
curWidth = fm->width(strValue);
|
||||
curWidth = fm->boundingRect(strValue).width();
|
||||
}
|
||||
return tmpFont;
|
||||
}
|
||||
@ -803,8 +807,8 @@ QRectF AbstractBarChart::verticalLabelsRect(QPainter *painter, QRectF labelsRect
|
||||
qreal maxWidth = 0;
|
||||
|
||||
foreach (QString label, m_chartItem->labels()) {
|
||||
if (painter->fontMetrics().width(label)>maxWidth)
|
||||
maxWidth = painter->fontMetrics().width(label);
|
||||
if (painter->fontMetrics().boundingRect(label).width()>maxWidth)
|
||||
maxWidth = painter->fontMetrics().boundingRect(label).width();
|
||||
}
|
||||
|
||||
if (maxWidth + hPadding(m_chartItem->rect()) * 2 < labelsRect.width())
|
||||
@ -818,8 +822,8 @@ QRectF AbstractBarChart::horizontalLabelsRect(QPainter *painter, QRectF labelsRe
|
||||
qreal maxWidth = 0;
|
||||
|
||||
foreach (QString label, m_chartItem->labels()) {
|
||||
if (painter->fontMetrics().width(label)>maxWidth)
|
||||
maxWidth = painter->fontMetrics().width(label);
|
||||
if (painter->fontMetrics().boundingRect(label).width()>maxWidth)
|
||||
maxWidth = painter->fontMetrics().boundingRect(label).width();
|
||||
}
|
||||
|
||||
if ((maxWidth + vPadding(m_chartItem->rect()) < labelsRect.height()) || !verticalLabels(painter, labelsRect))
|
||||
|
@ -33,7 +33,7 @@ class SeriesItem : public QObject{
|
||||
Q_PROPERTY(SeriesItemPreferredType preferredType READ preferredType WRITE setPreferredType)
|
||||
public:
|
||||
enum SeriesItemPreferredType {Bar, Line};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(SeriesItemPreferredType)
|
||||
#else
|
||||
Q_ENUMS(SeriesItemPreferredType)
|
||||
@ -135,7 +135,7 @@ public:
|
||||
enum LegendAlign{LegendAlignTop,LegendAlignCenter,LegendAlignBottom};
|
||||
enum TitleAlign{TitleAlignLeft, TitleAlignCenter, TitleAlignRight};
|
||||
enum ChartType{Pie, VerticalBar, HorizontalBar, Lines};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(LegendAlign)
|
||||
Q_ENUM(TitleAlign)
|
||||
Q_ENUM(ChartType)
|
||||
|
@ -10,7 +10,7 @@ ChartItemEditor::ChartItemEditor(LimeReport::ChartItem *item, LimeReport::PageDe
|
||||
{
|
||||
ui->setupUi(this);
|
||||
QHBoxLayout* colorLayout = new QHBoxLayout();
|
||||
colorLayout->setMargin(0);
|
||||
colorLayout->setContentsMargins(0, 0, 0, 0);
|
||||
m_colorButton = new QToolButton();
|
||||
m_colorButton->setText("...");
|
||||
m_colorButton->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
|
||||
@ -118,11 +118,10 @@ void ChartItemEditor::init()
|
||||
ui->seriesTypeComboBox->addItem(enumerator.key(i));
|
||||
}
|
||||
|
||||
#ifdef HAVE_QT5
|
||||
ui->labelsFieldComboBox->setCurrentText(m_charItem->labelsField());
|
||||
#endif
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->labelsFieldComboBox->setCurrentIndex(ui->labelsFieldComboBox->findText( m_charItem->labelsField()));
|
||||
#else
|
||||
ui->labelsFieldComboBox->setCurrentText(m_charItem->labelsField());
|
||||
#endif
|
||||
if (!m_charItem->series().isEmpty()){
|
||||
enableSeriesEditor();
|
||||
@ -150,11 +149,10 @@ void ChartItemEditor::disableSeriesEditor()
|
||||
ui->valuesFieldComboBox->setDisabled(true);
|
||||
m_colorButton->setDisabled(true);
|
||||
m_colorIndicator->setDisabled(true);
|
||||
#ifdef HAVE_QT5
|
||||
ui->valuesFieldComboBox->setCurrentText("");
|
||||
#endif
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->valuesFieldComboBox->setEditText("");
|
||||
#else
|
||||
ui->valuesFieldComboBox->setCurrentText("");
|
||||
#endif
|
||||
ui->seriesTypeComboBox->setDisabled(true);
|
||||
}
|
||||
@ -208,11 +206,10 @@ void ChartItemEditor::slotAddSeries()
|
||||
ui->tableWidget->setRowCount(m_charItem->series().count());
|
||||
ui->tableWidget->setItem(m_charItem->series().count()-1, 0, new QTableWidgetItem(series->name()));
|
||||
ui->tableWidget->selectRow(m_charItem->series().count()-1);
|
||||
#ifdef HAVE_QT5
|
||||
ui->valuesFieldComboBox->setCurrentText("");
|
||||
#endif
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->valuesFieldComboBox->setEditText("");
|
||||
#else
|
||||
ui->valuesFieldComboBox->setCurrentText("");
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -235,20 +232,18 @@ void ChartItemEditor::on_tableWidget_itemSelectionChanged()
|
||||
if (ui->tableWidget->selectionModel()->hasSelection()){
|
||||
LimeReport::SeriesItem* series = m_charItem->series().at(ui->tableWidget->selectionModel()->currentIndex().row());
|
||||
ui->seriesNameLineEdit->setText(series->name());
|
||||
#ifdef HAVE_QT5
|
||||
ui->valuesFieldComboBox->setCurrentText(series->valuesColumn());
|
||||
#endif
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->valuesFieldComboBox->setCurrentIndex(ui->valuesFieldComboBox->findText(series->valuesColumn()));
|
||||
#else
|
||||
ui->valuesFieldComboBox->setCurrentText(series->valuesColumn());
|
||||
#endif
|
||||
m_colorIndicator->setColor(series->color());
|
||||
static int enumIndex = LimeReport::SeriesItem::staticMetaObject.indexOfEnumerator("SeriesItemPreferredType");
|
||||
QMetaEnum enumerator = LimeReport::SeriesItem::staticMetaObject.enumerator(enumIndex);
|
||||
#ifdef HAVE_QT5
|
||||
ui->seriesTypeComboBox->setCurrentText(enumerator.valueToKey(series->preferredType()));
|
||||
#endif
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->seriesTypeComboBox->setCurrentIndex(ui->seriesTypeComboBox->findText(enumerator.valueToKey(series->preferredType())));
|
||||
#else
|
||||
ui->seriesTypeComboBox->setCurrentText(enumerator.valueToKey(series->preferredType()));
|
||||
#endif
|
||||
enableSeriesEditor();
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ void HorizontalLayout::setItemAlign(const BaseDesignIntf::ItemAlign &itemAlign)
|
||||
|
||||
void HorizontalLayout::sortChildren()
|
||||
{
|
||||
qSort(layoutsChildren().begin(),layoutsChildren().end(),horizontalLessThen);
|
||||
std::sort(layoutsChildren().begin(),layoutsChildren().end(),horizontalLessThen);
|
||||
}
|
||||
|
||||
void HorizontalLayout::updateLayoutSize()
|
||||
@ -177,7 +177,7 @@ void HorizontalLayout::relocateChildren()
|
||||
layoutsChildren().append(item);
|
||||
}
|
||||
}
|
||||
qSort(layoutsChildren().begin(),layoutsChildren().end(),horizontalLessThen);
|
||||
std::sort(layoutsChildren().begin(),layoutsChildren().end(),horizontalLessThen);
|
||||
qreal curX = spaceBorder;
|
||||
setIsRelocating(true);
|
||||
foreach (BaseDesignIntf* item, layoutsChildren()) {
|
||||
|
@ -58,7 +58,7 @@ public:
|
||||
Hex = 1,
|
||||
Base64 = 2
|
||||
};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(Format)
|
||||
#else
|
||||
Q_ENUMS(Format)
|
||||
|
@ -47,7 +47,7 @@ class ShapeItem: public LimeReport::ItemDesignIntf
|
||||
Q_PROPERTY(int cornerRadius READ cornerRadius WRITE setCornerRadius)
|
||||
public:
|
||||
enum ShapeType{HorizontalLine,VerticalLine,Ellipse,Rectangle};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(ShapeType)
|
||||
#else
|
||||
Q_ENUMS(ShapeType)
|
||||
|
@ -28,14 +28,18 @@
|
||||
* GNU General Public License for more details. *
|
||||
****************************************************************************/
|
||||
#include "lrsimpletagparser.h"
|
||||
#include <QRegExp>
|
||||
#include <QDebug>
|
||||
#include <QStringList>
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QRegExp>
|
||||
#else
|
||||
#include <QRegularExpression>
|
||||
#endif
|
||||
namespace LimeReport{
|
||||
|
||||
void HtmlContext::fillTagVector(QString html)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx("<[^<]*>");
|
||||
QString buff=html;
|
||||
int curPos=0;
|
||||
@ -49,10 +53,20 @@ void HtmlContext::fillTagVector(QString html)
|
||||
}
|
||||
buff=buff.right(buff.length()-rx.matchedLength());
|
||||
}
|
||||
#else
|
||||
QRegularExpression rx("<[^<]*>");
|
||||
QString buff=html;
|
||||
while(buff.contains(rx)){
|
||||
QRegularExpressionMatch match = rx.match(buff);
|
||||
// TODO: Qt6 port
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
QString HtmlContext::parseTag(QVector<Tag *> &storage, QString text, int &curPos, bool createTag)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx("<[^<]*>");
|
||||
int pos=rx.indexIn(text);
|
||||
int begPos=pos+curPos;
|
||||
@ -78,12 +92,16 @@ QString HtmlContext::parseTag(QVector<Tag *> &storage, QString text, int &curPos
|
||||
buff=buff.right(buff.length()-rx.matchedLength());
|
||||
}
|
||||
}
|
||||
#else
|
||||
QRegularExpression rx("<[^<]*>");
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
return "";
|
||||
}
|
||||
|
||||
void HtmlContext::parseSymbs(QString text)
|
||||
{
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx("<[^<]*[^/]>");
|
||||
while (text.contains(rx)){
|
||||
int pos=rx.indexIn(text);
|
||||
@ -100,6 +118,10 @@ void HtmlContext::parseSymbs(QString text)
|
||||
text.replace(rx.cap(0)," ");
|
||||
}
|
||||
}
|
||||
#else
|
||||
QRegularExpression rx("<[^<]*>");
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
}
|
||||
|
||||
void HtmlContext::initSymbPatterns()
|
||||
|
@ -360,7 +360,11 @@ void TextItem::updateLayout()
|
||||
|
||||
bool TextItem::isNeedExpandContent() const
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx("$*\\{[^{]*\\}");
|
||||
#else
|
||||
QRegularExpression rx("$*\\{[^{]*\\}");
|
||||
#endif
|
||||
return content().contains(rx) || isContentBackedUp();
|
||||
}
|
||||
|
||||
@ -448,7 +452,11 @@ QString TextItem::formatNumber(const double value)
|
||||
|
||||
if (m_format.contains("%"))
|
||||
{
|
||||
#if QT_VERSION < 0x050500
|
||||
str.sprintf(m_format.toStdString().c_str(), value);
|
||||
#else
|
||||
str.asprintf(m_format.toStdString().c_str(), value);
|
||||
#endif
|
||||
str = str.replace(",", QLocale::system().groupSeparator());
|
||||
str = str.replace(".", QLocale::system().decimalPoint());
|
||||
}
|
||||
@ -813,7 +821,11 @@ void TextItem::expandContent(DataSourceManager* dataManager, RenderPass pass)
|
||||
{
|
||||
QString context=content();
|
||||
foreach (QString variableName, dataManager->variableNamesByRenderPass(SecondPass)) {
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
#else
|
||||
QRegularExpression rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
#endif
|
||||
if (context.contains(rx) && pass == FirstPass){
|
||||
backupContent();
|
||||
break;
|
||||
|
@ -79,7 +79,7 @@ public:
|
||||
enum AutoWidth{NoneAutoWidth, MaxWordLength, MaxStringLength};
|
||||
enum AngleType{Angle0, Angle90, Angle180, Angle270, Angle45, Angle315};
|
||||
enum ValueType{Default, DateTime, Double};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(AutoWidth)
|
||||
Q_ENUM(AngleType)
|
||||
Q_ENUM(ValueType)
|
||||
|
@ -63,7 +63,7 @@ void VerticalLayout::relocateChildren()
|
||||
layoutsChildren().append(item);
|
||||
}
|
||||
}
|
||||
qSort(layoutsChildren().begin(),layoutsChildren().end(), verticalLessThen);
|
||||
std::sort(layoutsChildren().begin(),layoutsChildren().end(), verticalLessThen);
|
||||
qreal curY = spaceBorder;
|
||||
setIsRelocating(true);
|
||||
foreach (BaseDesignIntf* item, layoutsChildren()) {
|
||||
@ -140,7 +140,7 @@ BaseDesignIntf* VerticalLayout::cloneBottomPart(int height, QObject* owner, QGra
|
||||
|
||||
void VerticalLayout::sortChildren()
|
||||
{
|
||||
qSort(layoutsChildren().begin(),layoutsChildren().end(),verticalLessThen);
|
||||
std::sort(layoutsChildren().begin(),layoutsChildren().end(),verticalLessThen);
|
||||
}
|
||||
|
||||
void VerticalLayout::divideSpace()
|
||||
|
@ -266,7 +266,7 @@ void BandDesignIntf::paint(QPainter *painter, const QStyleOptionGraphicsItem *op
|
||||
QFontMetrics fontMetrics(font);
|
||||
|
||||
QVector<QRectF> bandNameRects;
|
||||
bandNameRects.push_back(QRectF(8,8,fontMetrics.width(" "+bandText+" "),fontMetrics.height()));
|
||||
bandNameRects.push_back(QRectF(8,8,fontMetrics.boundingRect(" "+bandText+" ").width(),fontMetrics.height()));
|
||||
//bandNameRects.push_back(QRectF(width()-fontMetrics.width(" "+bandText+" "),2,fontMetrics.width(" "+bandText+" "),fontMetrics.height()));
|
||||
//bandNameRects.push_back(QRectF(2,height()-fontMetrics.height(),fontMetrics.width(" "+bandText+" "),fontMetrics.height()));
|
||||
//bandNameRects.push_back(QRectF(width()-fontMetrics.width(" "+bandText+" "),height()-fontMetrics.height(),fontMetrics.width(" "+bandText+" "),fontMetrics.height()));
|
||||
@ -487,7 +487,7 @@ QList<BandDesignIntf *> BandDesignIntf::childrenByType(BandDesignIntf::BandsType
|
||||
foreach(BandDesignIntf* item,childBands()){
|
||||
if (item->bandType()==type) resList<<item;
|
||||
}
|
||||
qSort(resList.begin(),resList.end(),bandIndexLessThen);
|
||||
std::sort(resList.begin(),resList.end(),bandIndexLessThen);
|
||||
return resList;
|
||||
}
|
||||
|
||||
@ -1223,7 +1223,7 @@ void BandNameLabel::updateLabel(const QString& bandName)
|
||||
m_rect = QRectF(
|
||||
m_band->pos().x()+10,
|
||||
m_band->pos().y()-(fontMetrics.height()+10),
|
||||
fontMetrics.width(bandName)+20,fontMetrics.height()+10
|
||||
fontMetrics.boundingRect(bandName).width()+20,fontMetrics.height()+10
|
||||
);
|
||||
update();
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ public:
|
||||
enum BandColumnsLayoutType{
|
||||
Horizontal, Vertical, VerticalUniform
|
||||
};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(BandColumnsLayoutType)
|
||||
#else
|
||||
Q_ENUMS(BandColumnsLayoutType)
|
||||
|
@ -144,7 +144,7 @@ public:
|
||||
enum ItemAlign {LeftItemAlign,RightItemAlign,CenterItemAlign,ParentWidthItemAlign,DesignedItemAlign};
|
||||
|
||||
enum UnitType {Millimeters, Inches};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(BGMode)
|
||||
Q_ENUM(BrushStyle)
|
||||
Q_ENUM(ResizeFlags)
|
||||
|
@ -31,7 +31,9 @@
|
||||
#include "lrdatadesignintf.h"
|
||||
#include <QStringList>
|
||||
#include <QSqlQuery>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QRegExp>
|
||||
#endif
|
||||
#include <QSqlError>
|
||||
#include <QSqlQueryModel>
|
||||
#include <QFileInfo>
|
||||
@ -421,6 +423,7 @@ QString DataSourceManager::extractField(QString source)
|
||||
}
|
||||
|
||||
QString DataSourceManager::replaceVariables(QString value){
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(Const::VARIABLE_RX);
|
||||
|
||||
if (value.contains(rx)){
|
||||
@ -438,10 +441,16 @@ QString DataSourceManager::replaceVariables(QString value){
|
||||
}
|
||||
}
|
||||
return value;
|
||||
#else
|
||||
QRegularExpression rx(Const::VARIABLE_RX);
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString DataSourceManager::replaceVariables(QString query, QMap<QString,QString> &aliasesToParam)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(Const::VARIABLE_RX);
|
||||
int curentAliasIndex = 0;
|
||||
if (query.contains(rx)){
|
||||
@ -480,10 +489,16 @@ QString DataSourceManager::replaceVariables(QString query, QMap<QString,QString>
|
||||
}
|
||||
}
|
||||
return query;
|
||||
#else
|
||||
QRegularExpression rx(Const::VARIABLE_RX);
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString DataSourceManager::replaceFields(QString query, QMap<QString,QString> &aliasesToParam, QString masterDatasource)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(Const::FIELD_RX);
|
||||
if (query.contains(rx)){
|
||||
int curentAliasIndex=0;
|
||||
@ -510,6 +525,11 @@ QString DataSourceManager::replaceFields(QString query, QMap<QString,QString> &a
|
||||
}
|
||||
}
|
||||
return query;
|
||||
#else
|
||||
QRegularExpression rx(Const::FIELD_RX);
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
return QString();
|
||||
}
|
||||
|
||||
void DataSourceManager::setReportVariable(const QString &name, const QVariant &value)
|
||||
@ -1392,7 +1412,11 @@ void DataSourceManager::invalidateQueriesContainsVariable(const QString& variabl
|
||||
foreach (const QString& datasourceName, dataSourceNames()){
|
||||
QueryHolder* holder = dynamic_cast<QueryHolder*>(m_datasources.value(datasourceName));
|
||||
if (holder){
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
#else
|
||||
QRegularExpression rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
#endif
|
||||
if (holder->queryText().contains(rx)){
|
||||
holder->invalidate(designTime() ? IDataSource::DESIGN_MODE : IDataSource::RENDER_MODE);
|
||||
datasources.append(datasourceName);
|
||||
|
@ -67,7 +67,11 @@ QString replaceHTMLSymbols(const QString &value)
|
||||
return result;
|
||||
}
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
QVector<QString> normalizeCaptures(const QRegExp& reg){
|
||||
#else
|
||||
QVector<QString> normalizeCaptures(const QRegularExpressionMatch& reg){
|
||||
#endif
|
||||
QVector<QString> result;
|
||||
foreach (QString cap, reg.capturedTexts()) {
|
||||
if (!cap.isEmpty())
|
||||
|
@ -51,7 +51,7 @@ namespace LimeReport {
|
||||
#define VARIABLE_IS_NOT_USED
|
||||
#endif
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
|
||||
#if QT_VERSION >= 0x050800
|
||||
Q_NAMESPACE
|
||||
#endif
|
||||
|
||||
@ -104,7 +104,11 @@ namespace Const{
|
||||
QString extractClassName(QString className);
|
||||
QString escapeSimbols(const QString& value);
|
||||
QString replaceHTMLSymbols(const QString &value);
|
||||
#if QT_VERSION < 0x060000
|
||||
QVector<QString> normalizeCaptures(const QRegExp ®);
|
||||
#else
|
||||
QVector<QString> normalizeCaptures(const QRegularExpressionMatch ®);
|
||||
#endif
|
||||
bool isColorDark(QColor color);
|
||||
|
||||
enum ExpandType {EscapeSymbols, NoEscapeSymbols, ReplaceHTMLSymbols};
|
||||
@ -148,7 +152,7 @@ namespace Const{
|
||||
virtual ~IPainterProxy();
|
||||
};
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
|
||||
#if QT_VERSION < 0x050000
|
||||
typedef QStyleOptionViewItemV4 StyleOptionViewItem;
|
||||
#else
|
||||
typedef QStyleOptionViewItem StyleOptionViewItem;
|
||||
@ -158,7 +162,7 @@ namespace Const{
|
||||
{
|
||||
public:
|
||||
enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(VariableDataType)
|
||||
#else
|
||||
Q_ENUMS(VariableDataType)
|
||||
|
@ -53,12 +53,21 @@ bool GraphicsViewZoomer::eventFilter(QObject *object, QEvent *event) {
|
||||
} else if (event->type() == QEvent::Wheel) {
|
||||
QWheelEvent* wheel_event = static_cast<QWheelEvent*>(event);
|
||||
if (QApplication::keyboardModifiers() == m_modifiers) {
|
||||
#if QT_VERSION < 0x060000
|
||||
if (wheel_event->orientation() == Qt::Vertical) {
|
||||
double angle = wheel_event->delta();
|
||||
double factor = qPow(m_zoomFactorBase, angle);
|
||||
gentleZoom(factor);
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
if (wheel_event->angleDelta().y() != 0) {
|
||||
double angle = wheel_event->angleDelta().y();
|
||||
double factor = qPow(m_zoomFactorBase, angle);
|
||||
gentleZoom(factor);
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
Q_UNUSED(object)
|
||||
|
@ -34,7 +34,9 @@
|
||||
#include "lrscriptenginemanager.h"
|
||||
#include "lrpageitemdesignintf.h"
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QRegExp>
|
||||
#endif
|
||||
|
||||
namespace LimeReport {
|
||||
|
||||
@ -42,13 +44,24 @@ void GroupFunction::slotBandRendered(BandDesignIntf *band)
|
||||
{
|
||||
ScriptEngineManager& sm = ScriptEngineManager::instance();
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rxField(Const::FIELD_RX);
|
||||
QRegExp rxVar(Const::VARIABLE_RX);
|
||||
#else
|
||||
QRegularExpression rxField(Const::FIELD_RX);
|
||||
QRegularExpression rxVar(Const::VARIABLE_RX);
|
||||
#endif
|
||||
|
||||
switch (m_dataType){
|
||||
case Field:
|
||||
case Field:{
|
||||
#if QT_VERSION < 0x060000
|
||||
if (rxField.indexIn(m_data) != -1){
|
||||
QString field = rxField.cap(1);
|
||||
#else
|
||||
QRegularExpressionMatch matchField = rxField.match(m_data);
|
||||
if(matchField.hasMatch()){
|
||||
QString field = matchField.captured(1);
|
||||
#endif
|
||||
if (m_dataManager->containsField(field)){
|
||||
m_values.push_back(m_dataManager->fieldData(field));
|
||||
m_valuesByBand.insert(band, m_dataManager->fieldData(field));
|
||||
@ -57,9 +70,16 @@ void GroupFunction::slotBandRendered(BandDesignIntf *band)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Variable:
|
||||
}
|
||||
case Variable:{
|
||||
#if QT_VERSION < 0x060000
|
||||
if (rxVar.indexIn(m_data) != -1){
|
||||
QString var = rxVar.cap(1);
|
||||
#else
|
||||
QRegularExpressionMatch matchVar = rxVar.match(m_data);
|
||||
if(matchVar.hasMatch()){
|
||||
QString var = matchVar.captured(1);
|
||||
#endif
|
||||
if (m_dataManager->containsVariable(var)){
|
||||
m_values.push_back(m_dataManager->variable(var));
|
||||
m_valuesByBand.insert(band, m_dataManager->variable(var));
|
||||
@ -68,6 +88,7 @@ void GroupFunction::slotBandRendered(BandDesignIntf *band)
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Script:
|
||||
{
|
||||
QVariant value = sm.evaluateScript(m_data);
|
||||
@ -128,21 +149,41 @@ QVariant GroupFunction::multiplication(QVariant value1, QVariant value2)
|
||||
GroupFunction::GroupFunction(const QString &expression, const QString &dataBandName, DataSourceManager* dataManager)
|
||||
:m_data(expression), m_dataBandName(dataBandName), m_dataManager(dataManager), m_isValid(true), m_errorMessage("")
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rxField(Const::FIELD_RX,Qt::CaseInsensitive);
|
||||
QRegExp rxVariable(Const::VARIABLE_RX,Qt::CaseInsensitive);
|
||||
QRegExp rxScript(Const::SCRIPT_RX,Qt::CaseInsensitive);
|
||||
|
||||
#else
|
||||
QRegularExpression rxField(Const::FIELD_RX, QRegularExpression::CaseInsensitiveOption);
|
||||
QRegularExpression rxVariable(Const::VARIABLE_RX, QRegularExpression::CaseInsensitiveOption);
|
||||
QRegularExpression rxScript(Const::SCRIPT_RX, QRegularExpression::CaseInsensitiveOption);
|
||||
#endif
|
||||
#if QT_VERSION < 0x060000
|
||||
if (rxScript.indexIn(expression) != -1){
|
||||
#else
|
||||
QRegularExpressionMatch matchScript = rxScript.match(expression);
|
||||
if(matchScript.hasMatch()){
|
||||
#endif
|
||||
m_dataType = Script;
|
||||
return;
|
||||
}
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
if (rxField.indexIn(expression) != -1){
|
||||
#else
|
||||
QRegularExpressionMatch matchField = rxField.match(expression);
|
||||
if(matchField.hasMatch()){
|
||||
#endif
|
||||
m_dataType=Field;
|
||||
return;
|
||||
}
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
if (rxVariable.indexIn(expression) != -1){
|
||||
#else
|
||||
QRegularExpressionMatch matchVariable = rxVariable.match(expression);
|
||||
if(matchVariable.hasMatch()){
|
||||
#endif
|
||||
m_dataType = Variable;
|
||||
return;
|
||||
}
|
||||
|
@ -35,7 +35,9 @@
|
||||
#include "lrglobal.h"
|
||||
|
||||
#include <QDebug>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QRegExp>
|
||||
#endif
|
||||
#include <QVariant>
|
||||
|
||||
namespace LimeReport{
|
||||
|
@ -43,7 +43,7 @@ class ItemDesignIntf : public BaseDesignIntf
|
||||
Q_PROPERTY(ItemAlign itemAlign READ itemAlign WRITE setItemAlign)
|
||||
public:
|
||||
enum LocationType{Band,Page};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(LocationType)
|
||||
#else
|
||||
Q_ENUMS(LocationType)
|
||||
|
@ -48,7 +48,7 @@ void ItemsContainerDesignInft::snapshotItemsLayout(SnapshotType type)
|
||||
} else
|
||||
m_containerItems.append(PItemSortContainer(new ItemSortContainer(childItem)));
|
||||
}
|
||||
qSort(m_containerItems.begin(),m_containerItems.end(),itemSortContainerLessThen);
|
||||
std::sort(m_containerItems.begin(),m_containerItems.end(),itemSortContainerLessThen);
|
||||
}
|
||||
|
||||
void ItemsContainerDesignInft::arrangeSubItems(RenderPass pass, DataSourceManager *dataManager, ArrangeType type)
|
||||
|
@ -753,15 +753,27 @@ void PageDesignIntf::dropEvent(QGraphicsSceneDragDropEvent* event)
|
||||
BaseDesignIntf* item = addReportItem("TextItem",event->scenePos(),QSize(250, 50));
|
||||
TextItem* ti = dynamic_cast<TextItem*>(item);
|
||||
QString data = event->mimeData()->text().remove(0,event->mimeData()->text().indexOf(":")+1);
|
||||
#if QT_VERSION < 0x060000
|
||||
if (isVar) data = data.remove(QRegExp(" \\[.*\\]"));
|
||||
#else
|
||||
if (isVar) data = data.remove(QRegularExpression(" \\[.*\\]"));
|
||||
#endif
|
||||
ti->setContent(data);
|
||||
if (!isVar){
|
||||
BandDesignIntf* parentBand = dynamic_cast<BandDesignIntf*>(ti->parentItem());
|
||||
if (parentBand && parentBand->datasourceName().isEmpty()){
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp dataSource("(?:\\$D\\{\\s*(.*)\\..*\\})");
|
||||
if (dataSource.indexIn(data) != -1){
|
||||
parentBand->setProperty("datasource",dataSource.cap(1));
|
||||
}
|
||||
#else
|
||||
QRegularExpression dataSource("(?:\\$D\\{\\s*(.*)\\..*\\})");
|
||||
QRegularExpressionMatch match = dataSource.match(data);
|
||||
if(match.hasMatch()){
|
||||
parentBand->setProperty("datasource", match.captured(1));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1723,7 +1735,7 @@ HorizontalLayout* PageDesignIntf::internalAddHLayout()
|
||||
|
||||
QList<QGraphicsItem *> si = selectedItems();
|
||||
QList<QGraphicsItem *>::iterator it = si.begin();
|
||||
qSort(si.begin(), si.end(), hLayoutLessThen);
|
||||
std::sort(si.begin(), si.end(), hLayoutLessThen);
|
||||
it = si.begin();
|
||||
|
||||
if (si.count() > 1) {
|
||||
@ -1767,7 +1779,7 @@ VerticalLayout* PageDesignIntf::internalAddVLayout()
|
||||
|
||||
QList<QGraphicsItem *> si = selectedItems();
|
||||
QList<QGraphicsItem *>::iterator it = si.begin();
|
||||
qSort(si.begin(), si.end(), vLayoutLessThen);
|
||||
std::sort(si.begin(), si.end(), vLayoutLessThen);
|
||||
it = si.begin();
|
||||
|
||||
if (si.count() > 1) {
|
||||
|
@ -233,7 +233,7 @@ int PageItemDesignIntf::calcBandIndex(BandDesignIntf::BandsType bandType, BandDe
|
||||
groupFooterIgnoredBands << BandDesignIntf::DataFooter << BandDesignIntf::GroupHeader;
|
||||
|
||||
int bandIndex = -1;
|
||||
qSort(m_bands.begin(), m_bands.end(), bandSortBandLessThenByIndex);
|
||||
std::sort(m_bands.begin(), m_bands.end(), bandSortBandLessThenByIndex);
|
||||
if (bandType != BandDesignIntf::Data){
|
||||
foreach(BandDesignIntf* band,m_bands){
|
||||
if ((band->bandType() == BandDesignIntf::GroupHeader) && ( band->bandType() > bandType)) break;
|
||||
@ -547,7 +547,7 @@ void PageItemDesignIntf::relocateBands()
|
||||
|
||||
QVector<qreal> posByColumn;
|
||||
|
||||
qSort(m_bands.begin(), m_bands.end(), bandSortBandLessThenByIndex);
|
||||
std::sort(m_bands.begin(), m_bands.end(), bandSortBandLessThenByIndex);
|
||||
|
||||
int bandIndex = 0;
|
||||
if (!(itemMode() & DesignMode)){
|
||||
@ -623,7 +623,7 @@ int PageItemDesignIntf::dataBandCount()
|
||||
BandDesignIntf *PageItemDesignIntf::dataBandAt(int index)
|
||||
{
|
||||
int count=0;
|
||||
qSort(m_bands.begin(),m_bands.end(),bandSortBandLessThenByIndex);
|
||||
std::sort(m_bands.begin(),m_bands.end(),bandSortBandLessThenByIndex);
|
||||
foreach(BandDesignIntf* band,m_bands){
|
||||
if (band->bandType()==BandDesignIntf::Data){
|
||||
if(count==index) return band;
|
||||
@ -711,10 +711,18 @@ QSizeF PageItemDesignIntf::getRectByPageSize(const PageSize& size)
|
||||
if (size != Custom) {
|
||||
QPrinter printer;
|
||||
printer.setOutputFormat(QPrinter::PdfFormat);
|
||||
#if QT_VERSION < 0x060000
|
||||
printer.setOrientation((QPrinter::Orientation)pageOrientation());
|
||||
printer.setPaperSize((QPrinter::PageSize)size);
|
||||
return QSizeF(printer.paperSize(QPrinter::Millimeter).width() * 10,
|
||||
printer.paperSize(QPrinter::Millimeter).height() * 10);
|
||||
|
||||
#else
|
||||
printer.setPageOrientation((QPageLayout::Orientation)pageOrientation());
|
||||
printer.setPageSize(QPageSize((QPageSize::PageSizeId)size));
|
||||
return QSizeF(printer.pageLayout().pageSize().size(QPageSize::Millimeter).width() * 10,
|
||||
printer.pageLayout().pageSize().size(QPageSize::Millimeter).height() * 10);
|
||||
#endif
|
||||
}
|
||||
|
||||
else {
|
||||
@ -829,7 +837,7 @@ void PageItemDesignIntf::swapBands(BandDesignIntf* band, BandDesignIntf* bandToS
|
||||
|
||||
firstMoveBand->changeBandIndex(firstIndex, true);
|
||||
moveIndex = firstIndex;
|
||||
qSort(bandToMove.begin(), bandToMove.end(), bandIndexLessThen);
|
||||
std::sort(bandToMove.begin(), bandToMove.end(), bandIndexLessThen);
|
||||
|
||||
foreach(BandDesignIntf* curBand, bandToMove){
|
||||
curBand->changeBandIndex(moveIndex,true);
|
||||
@ -852,7 +860,7 @@ QList<BandDesignIntf*> PageItemDesignIntf::createBandGroup(int beginIndex, int e
|
||||
if ( curBand->bandIndex() >= beginIndex && curBand->bandIndex() <= endIndex)
|
||||
result.append(curBand);
|
||||
}
|
||||
qSort(result.begin(), result.end(), bandIndexLessThen);
|
||||
std::sort(result.begin(), result.end(), bandIndexLessThen);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -66,6 +66,7 @@ class PageItemDesignIntf : public ItemsContainerDesignInft
|
||||
Q_PROPERTY(bool mixWithPriorPage READ mixWithPriorPage WRITE setMixWithPriorPage)
|
||||
friend class ReportRender;
|
||||
public:
|
||||
#if QT_VERSION < 0x060000
|
||||
enum Orientation { Portrait = QPrinter::Portrait, Landscape = QPrinter::Landscape };
|
||||
|
||||
enum PrintBehavior {Scale, Split};
|
||||
@ -82,7 +83,26 @@ public:
|
||||
Ledger = QPrinter::Ledger, Tabloid = QPrinter::Tabloid, Custom = QPrinter::Custom,
|
||||
NPageSize = Custom
|
||||
};
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
#else
|
||||
enum Orientation { Portrait = QPageLayout::Portrait, Landscape = QPageLayout::Landscape };
|
||||
|
||||
enum PrintBehavior {Scale, Split};
|
||||
|
||||
enum PageSize {
|
||||
A4 = QPageSize::A4, B5 = QPageSize::B5, Letter = QPageSize::Letter,
|
||||
Legal = QPageSize::Legal, Executive = QPageSize::Executive,
|
||||
A0 = QPageSize::A0, A1 = QPageSize::A1, A2 = QPageSize::A2, A3 = QPageSize::A3,
|
||||
A5 = QPageSize::A5, A6 = QPageSize::A6, A7 = QPageSize::A7, A8 = QPageSize::A8,
|
||||
A9 = QPageSize::A9, B0 = QPageSize::B0, B1 = QPageSize::B1, B10 = QPageSize::B10,
|
||||
B2 = QPageSize::B2, B3 = QPageSize::B3, B4 = QPageSize::B4, B6 = QPageSize::B6,
|
||||
B7 = QPageSize::B7, B8 = QPageSize::B8, B9 = QPageSize::B9, C5E = QPageSize::C5E,
|
||||
Comm10E = QPageSize::Comm10E, DLE = QPageSize::DLE, Folio = QPageSize::Folio,
|
||||
Ledger = QPageSize::Ledger, Tabloid = QPageSize::Tabloid, Custom = QPageSize::Custom,
|
||||
NPageSize = Custom
|
||||
};
|
||||
#endif
|
||||
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(Orientation)
|
||||
Q_ENUM(PrintBehavior)
|
||||
Q_ENUM(PageSize)
|
||||
|
@ -143,7 +143,11 @@ void PreviewReportWidget::initPreview()
|
||||
{
|
||||
if (ui->graphicsView->scene()!=d_ptr->m_previewPage)
|
||||
ui->graphicsView->setScene(d_ptr->m_previewPage);
|
||||
#if QT_VERSION < 0x060000
|
||||
ui->graphicsView->resetMatrix();
|
||||
#else
|
||||
ui->graphicsView->resetTransform();
|
||||
#endif
|
||||
ui->graphicsView->centerOn(0, 0);
|
||||
ui->graphicsView->scene()->setBackgroundBrush(QColor(m_previewPageBackgroundColor));
|
||||
setScalePercent(d_ptr->m_scalePercent);
|
||||
@ -237,15 +241,10 @@ void PreviewReportWidget::print()
|
||||
QPrinter lp(QPrinter::HighResolution);
|
||||
|
||||
if (!pi.defaultPrinter().isNull()){
|
||||
#ifdef HAVE_QT4
|
||||
lp.setPrinterName(pi.defaultPrinter().printerName());
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
|
||||
#if QT_VERSION >= 0x050300
|
||||
lp.setPrinterName(pi.defaultPrinterName());
|
||||
#else
|
||||
lp.setPrinterName(pi.defaultPrinter().printerName());
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -300,7 +299,11 @@ void PreviewReportWidget::saveToFile()
|
||||
void PreviewReportWidget::setScalePercent(int percent)
|
||||
{
|
||||
m_scaleChanging = true;
|
||||
#if QT_VERSION < 0x060000
|
||||
ui->graphicsView->resetMatrix();
|
||||
#else
|
||||
ui->graphicsView->resetTransform();
|
||||
#endif
|
||||
d_ptr->m_scalePercent = percent;
|
||||
qreal scaleSize = percent/100.0;
|
||||
ui->graphicsView->scale(scaleSize, scaleSize);
|
||||
@ -462,7 +465,11 @@ void PreviewReportWidget::reportEngineDestroyed(QObject *object)
|
||||
|
||||
void PreviewReportWidget::slotZoomed(double )
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
d_ptr->m_scalePercent = ui->graphicsView->matrix().m11()*100;
|
||||
#else
|
||||
d_ptr->m_scalePercent = ui->graphicsView->transform().m11()*100;
|
||||
#endif
|
||||
emit scalePercentChanged(d_ptr->m_scalePercent);
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,11 @@
|
||||
#include <QPrintDialog>
|
||||
#include <QFileDialog>
|
||||
#include <QScrollBar>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QDesktopWidget>
|
||||
#else
|
||||
#include <QScreen>
|
||||
#endif
|
||||
#include <QLabel>
|
||||
#include <QMessageBox>
|
||||
#include <QToolButton>
|
||||
@ -57,7 +61,7 @@ PreviewReportWindow::PreviewReportWindow(ReportEngine *report, QWidget *parent,
|
||||
|
||||
m_progressWidget = new QWidget(ui->statusbar);
|
||||
QHBoxLayout* progressLayout = new QHBoxLayout();
|
||||
progressLayout->setMargin(0);
|
||||
progressLayout->setContentsMargins(0, 0, 0, 0);
|
||||
progressLayout->addWidget(new QLabel(tr("Printing")));
|
||||
m_progressBar = new QProgressBar(ui->statusbar);
|
||||
m_progressBar->setMaximumWidth(100);
|
||||
@ -139,11 +143,17 @@ void PreviewReportWindow::restoreSetting()
|
||||
if (v.isValid()){
|
||||
restoreGeometry(v.toByteArray());
|
||||
} else {
|
||||
#if QT_VERSION < 0x060000
|
||||
QDesktopWidget *desktop = QApplication::desktop();
|
||||
|
||||
int screenWidth = desktop->screenGeometry().width();
|
||||
int screenHeight = desktop->screenGeometry().height();
|
||||
#else
|
||||
QScreen *screen = QGuiApplication::primaryScreen();
|
||||
|
||||
int screenWidth = screen->geometry().width();
|
||||
int screenHeight = screen->geometry().height();
|
||||
#endif
|
||||
int x = static_cast<int>(screenWidth*0.1);
|
||||
int y = static_cast<int>(screenHeight*0.1);
|
||||
|
||||
|
@ -60,7 +60,7 @@ class PreviewReportWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit PreviewReportWindow(ReportEngine *report, QWidget *parent = 0, QSettings* settings=0, Qt::WindowFlags flags=0);
|
||||
explicit PreviewReportWindow(ReportEngine *report, QWidget *parent = 0, QSettings* settings=0, Qt::WindowFlags flags=Qt::WindowFlags());
|
||||
~PreviewReportWindow();
|
||||
void setReportReader(ItemsReaderIntf::Ptr reader);
|
||||
void setPages(ReportPages pages);
|
||||
|
@ -59,10 +59,9 @@ ReportDesignWidget::ReportDesignWidget(ReportEnginePrivateInterface* report, QSe
|
||||
m_mainWindow(mainWindow), m_verticalGridStep(10), m_horizontalGridStep(10), m_useGrid(false),
|
||||
m_dialogChanged(false), m_theme("Default"), m_settings(settings), m_defaultUnits(BaseDesignIntf::Millimeters)
|
||||
{
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
m_tabWidget = new LimeReportTabWidget(this);
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#else
|
||||
m_tabWidget = new QTabWidget(this);
|
||||
#endif
|
||||
m_tabWidget->setTabPosition(QTabWidget::South);
|
||||
@ -1059,8 +1058,13 @@ bool ReportDesignWidget::eventFilter(QObject *target, QEvent *event)
|
||||
if (event->type() == QEvent::Wheel){
|
||||
QWheelEvent* we = dynamic_cast<QWheelEvent*>(event);
|
||||
if (QApplication::keyboardModifiers()==Qt::ControlModifier){
|
||||
#if QT_VERSION < 0x060000
|
||||
if(we->delta()<0) scale(1.2,1.2);
|
||||
else scale(1/1.2,1/1.2);
|
||||
#else
|
||||
if(we->pixelDelta().x()<0) scale(1.2,1.2);
|
||||
else scale(1/1.2,1/1.2);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return QWidget::eventFilter(target,event);
|
||||
@ -1132,10 +1136,10 @@ void Ruler::setPage(PageItemDesignIntf *page)
|
||||
|
||||
void Ruler::paintEvent(QPaintEvent *event){
|
||||
QPainter painter(this);
|
||||
painter.setBrush(palette().background());
|
||||
painter.setBrush(palette().window());
|
||||
painter.setPen(Qt::NoPen);
|
||||
painter.drawRect(event->rect());
|
||||
// painter.setPen(palette().foreground().color());
|
||||
// painter.setPen(palette().windowText().color());
|
||||
|
||||
if (m_page){
|
||||
qreal rulerWidth = m_page->geometry().width() / m_page->unitFactor();
|
||||
@ -1154,13 +1158,13 @@ void Ruler::paintEvent(QPaintEvent *event){
|
||||
case Horizontal:
|
||||
painter.setPen(Qt::NoPen);
|
||||
|
||||
if (isColorDark(palette().background().color()))
|
||||
if (isColorDark(palette().window().color()))
|
||||
painter.setBrush(QColor("#64893d"));
|
||||
else
|
||||
painter.setBrush(QColor("#b5da91"));
|
||||
|
||||
drawItemWithChildren(&painter, m_page);
|
||||
painter.setPen(palette().foreground().color());
|
||||
painter.setPen(palette().windowText().color());
|
||||
|
||||
for (int i = 0; i < rulerWidth / 10; ++i){
|
||||
int hs10 = view->mapFromScene(QPointF(m_page->geometry().topLeft().x() + i * 10 * m_page->unitFactor(), 0)).x();
|
||||
@ -1173,24 +1177,24 @@ void Ruler::paintEvent(QPaintEvent *event){
|
||||
painter.drawLine(hs10, 15, hs10, 20);
|
||||
painter.drawLine(hs5, 10, hs5, 20);
|
||||
if ( i > 0)
|
||||
painter.drawText(QPoint(hs10 - (painter.fontMetrics().width(QString::number(i))/2), 12),
|
||||
painter.drawText(QPoint(hs10 - (painter.fontMetrics().boundingRect(QString::number(i)).width()/2), 12),
|
||||
QString::number(i));
|
||||
}
|
||||
}
|
||||
painter.setPen(palette().foreground().color());
|
||||
painter.setPen(palette().windowText().color());
|
||||
painter.drawLine(m_mousePos.x() - (hStartPos > 0 ? hStartPos : 0) , 0,
|
||||
m_mousePos.x() - (hStartPos > 0 ? hStartPos : 0) , 20);
|
||||
break;
|
||||
case Vertical:
|
||||
painter.setPen(Qt::NoPen);
|
||||
|
||||
if (isColorDark(palette().background().color()))
|
||||
if (isColorDark(palette().window().color()))
|
||||
painter.setBrush(QColor("#64893d"));
|
||||
else
|
||||
painter.setBrush(QColor("#b5da91"));
|
||||
|
||||
drawItemWithChildren(&painter, m_page);
|
||||
painter.setPen(palette().foreground().color());
|
||||
painter.setPen(palette().windowText().color());
|
||||
for (int i = 0; i < rulerHeight / 10; ++i){
|
||||
int vs10 = view->mapFromScene(QPointF(0, m_page->geometry().topLeft().y()+i * 10 * m_page->unitFactor())).y();
|
||||
int vs5 = view->mapFromScene(QPointF(0, m_page->geometry().topLeft().y()+i * 10 * m_page->unitFactor() + 5 * m_page->unitFactor())).y();
|
||||
@ -1201,12 +1205,12 @@ void Ruler::paintEvent(QPaintEvent *event){
|
||||
}
|
||||
painter.drawLine(15, vs10, 20, vs10);
|
||||
if ( i > 0 )
|
||||
painter.drawText(QPoint( (15 - painter.fontMetrics().width(QString::number(i))) / 2 ,
|
||||
painter.drawText(QPoint( (15 - painter.fontMetrics().boundingRect(QString::number(i)).width()) / 2 ,
|
||||
vs10 + (painter.fontMetrics().height()/2)), QString::number(i));
|
||||
painter.drawLine(10, vs5, 20, vs5);
|
||||
}
|
||||
}
|
||||
painter.setPen(palette().foreground().color());
|
||||
painter.setPen(palette().windowText().color());
|
||||
painter.drawLine(0, m_mousePos.y() - (vStartPos > 0 ? vStartPos : 0),
|
||||
20, m_mousePos.y() - (vStartPos > 0 ? vStartPos : 0));
|
||||
break;
|
||||
|
@ -42,7 +42,7 @@
|
||||
#include "lrreportengine_p.h"
|
||||
#include "lrgraphicsviewzoom.h"
|
||||
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
QT_BEGIN_NAMESPACE
|
||||
class LimeReportTabWidget: public QTabWidget{
|
||||
Q_OBJECT
|
||||
@ -259,10 +259,9 @@ private:
|
||||
DialogDesignerManager* m_dialogDesignerManager;
|
||||
#endif
|
||||
QMainWindow *m_mainWindow;
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
LimeReportTabWidget* m_tabWidget;
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#else
|
||||
QTabWidget* m_tabWidget;
|
||||
#endif
|
||||
GraphicsViewZoomer* m_zoomer;
|
||||
|
@ -39,7 +39,11 @@
|
||||
#include <QMenuBar>
|
||||
#include <QCheckBox>
|
||||
#include <QVBoxLayout>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QDesktopWidget>
|
||||
#else
|
||||
#include <QScreen>
|
||||
#endif
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QLineEdit>
|
||||
#include <QPushButton>
|
||||
@ -69,7 +73,7 @@ void ReportDesignWindow::createProgressBar()
|
||||
{
|
||||
m_progressWidget = new QWidget(m_statusBar);
|
||||
QHBoxLayout* progressLayout = new QHBoxLayout();
|
||||
progressLayout->setMargin(0);
|
||||
progressLayout->setContentsMargins(0, 0, 0, 0);
|
||||
m_progressLabel = new QLabel(tr("Rendered %1 pages").arg(0));
|
||||
progressLayout->addWidget(m_progressLabel);
|
||||
m_progressBar = new QProgressBar(m_statusBar);
|
||||
@ -149,7 +153,7 @@ void ReportDesignWindow::createActions()
|
||||
{
|
||||
m_newReportAction = new QAction(tr("New Report"),this);
|
||||
m_newReportAction->setIcon(QIcon(":/report/images/newReport"));
|
||||
m_newReportAction->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_N));
|
||||
m_newReportAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_N));
|
||||
connect(m_newReportAction,SIGNAL(triggered()),this,SLOT(slotNewReport()));
|
||||
|
||||
m_newPageAction = new QAction(tr("New Report Page"),this);
|
||||
@ -171,28 +175,28 @@ void ReportDesignWindow::createActions()
|
||||
m_undoAction = new QAction(tr("Undo"),this);
|
||||
m_undoAction->setIcon(QIcon(":/report/images/undo"));
|
||||
m_undoAction->setEnabled(false);
|
||||
m_undoAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Z));
|
||||
m_undoAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Z));
|
||||
connect(m_undoAction,SIGNAL(triggered()),this,SLOT(slotUndo()));
|
||||
|
||||
m_redoAction = new QAction(tr("Redo"),this);
|
||||
m_redoAction->setIcon(QIcon(":/report/images/redo"));
|
||||
m_redoAction->setEnabled(false);
|
||||
m_redoAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Z));
|
||||
m_redoAction->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_Z));
|
||||
connect(m_redoAction,SIGNAL(triggered()),this,SLOT(slotRedo()));
|
||||
|
||||
m_copyAction = new QAction(tr("Copy"),this);
|
||||
m_copyAction->setIcon(QIcon(":/report/images/copy"));
|
||||
m_copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C));
|
||||
m_copyAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_C));
|
||||
connect(m_copyAction,SIGNAL(triggered()),this,SLOT(slotCopy()));
|
||||
|
||||
m_pasteAction = new QAction(tr("Paste"),this);
|
||||
m_pasteAction->setIcon(QIcon(":/report/images/paste"));
|
||||
m_pasteAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V));
|
||||
m_pasteAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_V));
|
||||
connect(m_pasteAction,SIGNAL(triggered()),this,SLOT(slotPaste()));
|
||||
|
||||
m_cutAction = new QAction(tr("Cut"),this);
|
||||
m_cutAction->setIcon(QIcon(":/report/images/cut"));
|
||||
m_cutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_X));
|
||||
m_cutAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_X));
|
||||
connect(m_cutAction,SIGNAL(triggered()),this,SLOT(slotCut()));
|
||||
|
||||
m_settingsAction = new QAction(tr("Settings"),this);
|
||||
@ -202,13 +206,13 @@ void ReportDesignWindow::createActions()
|
||||
m_useGridAction = new QAction(tr("Use grid"),this);
|
||||
m_useGridAction->setIcon(QIcon(":/report/images/grid"));
|
||||
m_useGridAction->setCheckable(true);
|
||||
m_useGridAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_G));
|
||||
m_useGridAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_G));
|
||||
connect(m_useGridAction,SIGNAL(toggled(bool)),this,SLOT(slotUseGrid(bool)));
|
||||
|
||||
m_useMagnetAction = new QAction(tr("Use magnet"),this);
|
||||
m_useMagnetAction->setIcon(QIcon(":/report/images/magnet"));
|
||||
m_useMagnetAction->setCheckable(true);
|
||||
m_useMagnetAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_M));
|
||||
m_useMagnetAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_M));
|
||||
connect(m_useMagnetAction,SIGNAL(toggled(bool)),this,SLOT(slotUseMagnet(bool)));
|
||||
|
||||
|
||||
@ -219,17 +223,17 @@ void ReportDesignWindow::createActions()
|
||||
|
||||
m_saveReportAction = new QAction(tr("Save Report"),this);
|
||||
m_saveReportAction->setIcon(QIcon(":/report/images/save"));
|
||||
m_saveReportAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_S));
|
||||
m_saveReportAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_S));
|
||||
connect(m_saveReportAction,SIGNAL(triggered()),this,SLOT(slotSaveReport()));
|
||||
|
||||
m_saveReportAsAction = new QAction(tr("Save Report As"),this);
|
||||
m_saveReportAsAction->setIcon(QIcon(":/report/images/saveas"));
|
||||
m_saveReportAsAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
|
||||
m_saveReportAsAction->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_S));
|
||||
connect(m_saveReportAsAction,SIGNAL(triggered()),this,SLOT(slotSaveReportAs()));
|
||||
|
||||
m_loadReportAction = new QAction(tr("Load Report"),this);
|
||||
m_loadReportAction->setIcon(QIcon(":/report/images/folder"));
|
||||
m_loadReportAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
|
||||
m_loadReportAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_O));
|
||||
connect(m_loadReportAction,SIGNAL(triggered()),this,SLOT(slotLoadReport()));
|
||||
|
||||
m_deleteItemAction = new QAction(tr("Delete item"),this);
|
||||
@ -247,7 +251,7 @@ void ReportDesignWindow::createActions()
|
||||
|
||||
m_previewReportAction = new QAction(tr("Render Report"),this);
|
||||
m_previewReportAction->setIcon(QIcon(":/report/images/render"));
|
||||
m_previewReportAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_P));
|
||||
m_previewReportAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_P));
|
||||
connect(m_previewReportAction,SIGNAL(triggered()),this,SLOT(slotPreviewReport()));
|
||||
|
||||
m_testAction = new QAction("test",this);
|
||||
@ -274,13 +278,13 @@ void ReportDesignWindow::createActions()
|
||||
m_hideLeftPanel = new QAction(tr("Hide left panel | Alt+L"),this);
|
||||
m_hideLeftPanel->setCheckable(true);
|
||||
m_hideLeftPanel->setIcon(QIcon(":/report/images/hideLeftPanel"));
|
||||
m_hideLeftPanel->setShortcut(QKeySequence(Qt::ALT + Qt::Key_L));
|
||||
m_hideLeftPanel->setShortcut(QKeySequence(Qt::ALT | Qt::Key_L));
|
||||
connect(m_hideLeftPanel,SIGNAL(toggled(bool)), this, SLOT(slotHideLeftPanel(bool)));
|
||||
|
||||
m_hideRightPanel = new QAction(tr("Hide right panel | Alt+R"),this);
|
||||
m_hideRightPanel->setCheckable(true);
|
||||
m_hideRightPanel->setIcon(QIcon(":/report/images/hideRightPanel"));
|
||||
m_hideRightPanel->setShortcut(QKeySequence(Qt::ALT + Qt::Key_R));
|
||||
m_hideRightPanel->setShortcut(QKeySequence(Qt::ALT | Qt::Key_R));
|
||||
connect(m_hideRightPanel,SIGNAL(toggled(bool)), this, SLOT(slotHideRightPanel(bool)));
|
||||
#ifdef HAVE_QTDESIGNER_INTEGRATION
|
||||
m_deleteDialogAction = new QAction(tr("Delete dialog"), this);
|
||||
@ -294,19 +298,19 @@ void ReportDesignWindow::createActions()
|
||||
|
||||
m_lockSelectedItemsAction = new QAction(tr("Lock selected items"), this);
|
||||
m_lockSelectedItemsAction->setIcon(QIcon(":/report/images/lock"));
|
||||
m_lockSelectedItemsAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
|
||||
m_lockSelectedItemsAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_L));
|
||||
connect(m_lockSelectedItemsAction, SIGNAL(triggered()),
|
||||
this, SLOT(slotLockSelectedItems()));
|
||||
|
||||
m_unlockSelectedItemsAction = new QAction(tr("Unlock selected items"), this);
|
||||
m_unlockSelectedItemsAction->setIcon(QIcon(":/report/images/unlock"));
|
||||
m_unlockSelectedItemsAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_L));
|
||||
m_unlockSelectedItemsAction->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_L));
|
||||
connect(m_unlockSelectedItemsAction, SIGNAL(triggered()),
|
||||
this, SLOT(slotUnlockSelectedItems()));
|
||||
|
||||
m_selectOneLevelItems = new QAction(tr("Select one level items"), this);
|
||||
//m_unlockSelectedItemsAction->setIcon(QIcon(":/report/images/unlock"));
|
||||
m_selectOneLevelItems->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));
|
||||
m_selectOneLevelItems->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_A));
|
||||
connect(m_selectOneLevelItems, SIGNAL(triggered()),
|
||||
this, SLOT(slotSelectOneLevelItems()));
|
||||
}
|
||||
@ -567,7 +571,7 @@ void ReportDesignWindow::createObjectInspector()
|
||||
QWidget* w = new QWidget(objectDoc);
|
||||
QVBoxLayout* l = new QVBoxLayout(w);
|
||||
l->addWidget(m_objectInspector);
|
||||
l->setMargin(0);
|
||||
l->setContentsMargins(0, 0, 0, 0);
|
||||
w->setLayout(l);
|
||||
objectDoc->setWindowTitle(tr("Object Inspector"));
|
||||
objectDoc->setWidget(w);
|
||||
@ -833,11 +837,17 @@ void ReportDesignWindow::restoreSetting()
|
||||
if (v.isValid()){
|
||||
restoreGeometry(v.toByteArray());
|
||||
} else {
|
||||
#if QT_VERSION < 0x060000
|
||||
QDesktopWidget *desktop = QApplication::desktop();
|
||||
|
||||
int screenWidth = desktop->screenGeometry().width();
|
||||
int screenHeight = desktop->screenGeometry().height();
|
||||
#else
|
||||
QScreen *screen = QGuiApplication::primaryScreen();
|
||||
|
||||
int screenWidth = screen->geometry().width();
|
||||
int screenHeight = screen->geometry().height();
|
||||
#endif
|
||||
int x = screenWidth * 0.1;
|
||||
int y = screenHeight * 0.1;
|
||||
|
||||
@ -1530,7 +1540,11 @@ void ReportDesignWindow::slotPageDeleted()
|
||||
|
||||
void ReportDesignWindow::slotFilterTextChanged(const QString& filter)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
m_filterModel->setFilterRegExp(QRegExp(filter, Qt::CaseInsensitive, QRegExp::FixedString));
|
||||
#else
|
||||
m_filterModel->setFilterRegularExpression(QRegularExpression(filter, QRegularExpression::CaseInsensitiveOption));
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HAVE_QTDESIGNER_INTEGRATION
|
||||
|
@ -32,7 +32,11 @@
|
||||
#include <QPrinterInfo>
|
||||
#include <QMessageBox>
|
||||
#include <QApplication>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QDesktopWidget>
|
||||
#else
|
||||
#include <QScreen>
|
||||
#endif
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QPluginLoader>
|
||||
#include <QFileDialog>
|
||||
@ -272,15 +276,10 @@ bool ReportEnginePrivate::printPages(ReportPages pages, QPrinter *printer)
|
||||
if (!printer&&!m_printerSelected){
|
||||
QPrinterInfo pi;
|
||||
if (!pi.defaultPrinter().isNull())
|
||||
#ifdef HAVE_QT4
|
||||
m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
|
||||
#if QT_VERSION >= 0x050300
|
||||
m_printer.data()->setPrinterName(pi.defaultPrinterName());
|
||||
#else
|
||||
m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
|
||||
#endif
|
||||
#endif
|
||||
QPrintDialog dialog(m_printer.data(),QApplication::activeWindow());
|
||||
m_printerSelected = dialog.exec()!=QDialog::Rejected;
|
||||
@ -394,15 +393,10 @@ bool ReportEnginePrivate::printReport(QPrinter* printer)
|
||||
if (!printer&&!m_printerSelected){
|
||||
QPrinterInfo pi;
|
||||
if (!pi.defaultPrinter().isNull())
|
||||
#ifdef HAVE_QT4
|
||||
m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
|
||||
#if QT_VERSION >= 0x050300
|
||||
m_printer.data()->setPrinterName(pi.defaultPrinterName());
|
||||
#else
|
||||
m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
|
||||
#endif
|
||||
#endif
|
||||
QPrintDialog dialog(m_printer.data(),QApplication::activeWindow());
|
||||
m_printerSelected = dialog.exec()!=QDialog::Rejected;
|
||||
@ -1824,6 +1818,7 @@ PrintProcessor::PrintProcessor(QPrinter* printer)
|
||||
|
||||
bool PrintProcessor::printPage(PageItemDesignIntf::Ptr page)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
if (!m_firstPage && !m_painter->isActive()) return false;
|
||||
PageDesignIntf* backupPage = dynamic_cast<PageDesignIntf*>(page->scene());
|
||||
|
||||
@ -1885,11 +1880,76 @@ bool PrintProcessor::printPage(PageItemDesignIntf::Ptr page)
|
||||
page->setPos(backupPagePos);
|
||||
m_renderPage.removePageItem(page);
|
||||
if (backupPage) backupPage->reactivatePageItem(page);
|
||||
#else
|
||||
if (!m_firstPage && !m_painter->isActive()) return false;
|
||||
PageDesignIntf* backupPage = dynamic_cast<PageDesignIntf*>(page->scene());
|
||||
|
||||
QPointF backupPagePos = page->pos();
|
||||
page->setPos(0,0);
|
||||
m_renderPage.setPageItem(page);
|
||||
m_renderPage.setSceneRect(m_renderPage.pageItem()->mapToScene(m_renderPage.pageItem()->rect()).boundingRect());
|
||||
initPrinter(m_renderPage.pageItem());
|
||||
|
||||
if (!m_firstPage){
|
||||
m_printer->newPage();
|
||||
} else {
|
||||
m_painter = new QPainter(m_printer);
|
||||
if (!m_painter->isActive()) return false;
|
||||
m_firstPage = false;
|
||||
}
|
||||
|
||||
qreal leftMargin = m_printer->pageLayout().margins().left();
|
||||
qreal topMargin = m_printer->pageLayout().margins().top();
|
||||
qreal rightMargin = m_printer->pageLayout().margins().right();
|
||||
qreal bottomMargin = m_printer->pageLayout().margins().bottom();
|
||||
|
||||
QRectF printerPageRect = m_printer->pageRect(QPrinter::Millimeter);
|
||||
printerPageRect = QRectF(0,0,(printerPageRect.size().width() + rightMargin + leftMargin) * page->unitFactor(),
|
||||
(printerPageRect.size().height() + bottomMargin + topMargin) * page->unitFactor());
|
||||
if (page->printBehavior() == PageItemDesignIntf::Split && m_printer->pageLayout().pageSize() != QPageSize((QPageSize::PageSizeId)page->pageSize()) &&
|
||||
printerPageRect.width() < page->geometry().width())
|
||||
{
|
||||
qreal pageWidth = page->geometry().width();
|
||||
qreal pageHeight = page->geometry().height();
|
||||
QRectF currentPrintingRect = printerPageRect;
|
||||
qreal curHeight = 0;
|
||||
qreal curWidth = 0;
|
||||
bool first = true;
|
||||
while (pageHeight > 0){
|
||||
while (curWidth < pageWidth){
|
||||
if (!first) m_printer->newPage(); else first = false;
|
||||
m_renderPage.render(m_painter, m_printer->pageRect(QPrinter::Millimeter), currentPrintingRect);
|
||||
currentPrintingRect.adjust(printerPageRect.size().width(), 0, printerPageRect.size().width(), 0);
|
||||
curWidth += printerPageRect.size().width();
|
||||
|
||||
}
|
||||
pageHeight -= printerPageRect.size().height();
|
||||
curHeight += printerPageRect.size().height();
|
||||
currentPrintingRect = printerPageRect;
|
||||
currentPrintingRect.adjust(0, curHeight, 0, curHeight);
|
||||
curWidth = 0;
|
||||
}
|
||||
|
||||
} else {
|
||||
if (page->getSetPageSizeToPrinter()){
|
||||
QRectF source = page->geometry();
|
||||
QSizeF inchSize = source.size() / (100 * 2.54);
|
||||
QRectF target = QRectF(QPoint(0,0), inchSize * m_printer->resolution());
|
||||
m_renderPage.render(m_painter, target, source);
|
||||
} else {
|
||||
m_renderPage.render(m_painter);
|
||||
}
|
||||
}
|
||||
page->setPos(backupPagePos);
|
||||
m_renderPage.removePageItem(page);
|
||||
if (backupPage) backupPage->reactivatePageItem(page);
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
void PrintProcessor::initPrinter(PageItemDesignIntf* page)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
if (page->oldPrintMode()){
|
||||
m_printer->setPageMargins(page->leftMargin(),
|
||||
page->topMargin(),
|
||||
@ -1917,6 +1977,31 @@ void PrintProcessor::initPrinter(PageItemDesignIntf* page)
|
||||
m_printer->setPaperSize(static_cast<QPrinter::PageSize>(page->pageSize()));
|
||||
}
|
||||
}
|
||||
#else
|
||||
if (page->oldPrintMode()){
|
||||
m_printer->setPageMargins(QMarginsF(page->leftMargin(), page->topMargin(), page->rightMargin(), page->bottomMargin()),QPageLayout::Millimeter);
|
||||
m_printer->setPageOrientation((QPageLayout::Orientation)page->pageOrientation());
|
||||
QSizeF pageSize = (page->pageOrientation()==PageItemDesignIntf::Landscape)?
|
||||
QSizeF(page->sizeMM().height(),page->sizeMM().width()):
|
||||
page->sizeMM();
|
||||
m_printer->setPageSize(QPageSize(pageSize, QPageSize::Millimeter));
|
||||
} else {
|
||||
m_printer->setFullPage(page->fullPage());
|
||||
if (page->dropPrinterMargins())
|
||||
m_printer->setPageMargins(QMarginsF(0, 0, 0, 0), QPageLayout::Point);
|
||||
m_printer->setPageOrientation((QPageLayout::Orientation)page->pageOrientation());
|
||||
if (page->pageSize()==PageItemDesignIntf::Custom){
|
||||
QSizeF pageSize = (page->pageOrientation()==PageItemDesignIntf::Landscape)?
|
||||
QSizeF(page->sizeMM().height(),page->sizeMM().width()):
|
||||
page->sizeMM();
|
||||
if (page->getSetPageSizeToPrinter() || m_printer->outputFormat() == QPrinter::PdfFormat)
|
||||
m_printer->setPageSize(QPageSize(pageSize, QPageSize::Millimeter));
|
||||
} else {
|
||||
if (page->getSetPageSizeToPrinter() || m_printer->outputFormat() == QPrinter::PdfFormat)
|
||||
m_printer->setPageSize(QPageSize((QPageSize::PageSizeId)page->pageSize()));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
qreal ItemGeometry::x() const
|
||||
|
@ -196,11 +196,15 @@ void ReportRender::analizeItem(ContentItemDesignIntf* contentItem, BandDesignInt
|
||||
QString content = contentItem->content();
|
||||
QVector<QString> functions;
|
||||
foreach(const QString &functionName, m_datasources->groupFunctionNames()){
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setMinimal(true);
|
||||
if (rx.indexIn(content)>=0){
|
||||
functions.append(functionName);
|
||||
}
|
||||
#else
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
}
|
||||
if (functions.size()>0)
|
||||
m_groupfunctionItems.insert(contentItem->patternName(), functions);
|
||||
@ -361,10 +365,14 @@ bool ReportRender::containsGroupFunctions(BandDesignIntf *band){
|
||||
if (contentItem){
|
||||
QString content = contentItem->content();
|
||||
foreach(QString functionName, m_datasources->groupFunctionNames()){
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
if (rx.indexIn(content)>=0){
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -372,6 +380,7 @@ bool ReportRender::containsGroupFunctions(BandDesignIntf *band){
|
||||
}
|
||||
|
||||
void ReportRender::extractGroupFuntionsFromItem(ContentItemDesignIntf* contentItem, BandDesignIntf* band){
|
||||
#if QT_VERSION < 0x060000
|
||||
if ( contentItem && contentItem->content().contains(QRegExp("\\$S\\s*\\{.*\\}"))){
|
||||
foreach(const QString &functionName, m_datasources->groupFunctionNames()){
|
||||
QRegExp rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
@ -406,6 +415,9 @@ void ReportRender::extractGroupFuntionsFromItem(ContentItemDesignIntf* contentIt
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
}
|
||||
|
||||
void ReportRender::extractGroupFunctionsFromContainer(BaseDesignIntf* baseItem, BandDesignIntf* band){
|
||||
@ -428,6 +440,7 @@ void ReportRender::replaceGroupFunctionsInItem(ContentItemDesignIntf* contentIte
|
||||
if (m_groupfunctionItems.contains(contentItem->patternName())){
|
||||
QString content = contentItem->content();
|
||||
foreach(QString functionName, m_groupfunctionItems.value(contentItem->patternName())){
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setMinimal(true);
|
||||
if (rx.indexIn(content)>=0){
|
||||
@ -450,6 +463,9 @@ void ReportRender::replaceGroupFunctionsInItem(ContentItemDesignIntf* contentIte
|
||||
pos += rx.matchedLength();
|
||||
}
|
||||
}
|
||||
#else
|
||||
// TODO: Qt6 port
|
||||
#endif
|
||||
}
|
||||
contentItem->setContent(content);
|
||||
}
|
||||
@ -1142,10 +1158,9 @@ bool ReportRender::registerBand(BandDesignIntf *band, bool registerInChildren)
|
||||
band->setObjectName(band->objectName()+QString::number(++m_currentNameIndex));
|
||||
renameChildItems(band);
|
||||
if (m_lastDataBand){
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
m_lastDataBand->metaObject()->invokeMethod(m_lastDataBand,"bandRegistred");
|
||||
#endif
|
||||
#ifdef HAVE_QT5
|
||||
#else
|
||||
emit m_lastDataBand->bandRegistred();
|
||||
#endif
|
||||
}
|
||||
@ -1428,7 +1443,7 @@ void ReportRender::checkLostHeadersOnPrevPage()
|
||||
|
||||
if (lostHeaders.size() > 0){
|
||||
m_lostHeadersMoved = true;
|
||||
//qSort(lostHeaders.begin(), lostHeaders.end(), bandLessThen);
|
||||
//std::sort(lostHeaders.begin(), lostHeaders.end(), bandLessThen);
|
||||
std::sort(lostHeaders.begin(), lostHeaders.end(), bandLessThen);
|
||||
foreach(BandDesignIntf* header, lostHeaders){
|
||||
registerBand(header);
|
||||
@ -1466,7 +1481,7 @@ void ReportRender::checkLostHeadersInPrevColumn()
|
||||
|
||||
if (lostHeaders.size() > 0){
|
||||
m_lostHeadersMoved = true;
|
||||
// qSort(lostHeaders.begin(), lostHeaders.end(), bandLessThen);
|
||||
// std::sort(lostHeaders.begin(), lostHeaders.end(), bandLessThen);
|
||||
std::sort(lostHeaders.begin(), lostHeaders.end(), bandLessThen);
|
||||
foreach(BandDesignIntf* header, lostHeaders){
|
||||
registerBand(header);
|
||||
|
@ -354,6 +354,7 @@ void ScriptEngineManager::setDataManager(DataSourceManager *dataManager){
|
||||
|
||||
QString ScriptEngineManager::expandUserVariables(QString context, RenderPass /* pass */, ExpandType expandType, QVariant &varValue)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(Const::VARIABLE_RX);
|
||||
if (context.contains(rx)){
|
||||
int pos = 0;
|
||||
@ -396,10 +397,62 @@ QString ScriptEngineManager::expandUserVariables(QString context, RenderPass /*
|
||||
}
|
||||
}
|
||||
return context;
|
||||
#else
|
||||
QRegularExpression rx(Const::VARIABLE_RX);
|
||||
if (context.contains(rx)){
|
||||
int pos = 0;
|
||||
QRegularExpressionMatch match = rx.match(context, pos);
|
||||
while (match.hasMatch()){
|
||||
|
||||
QString variable=match.captured(1);
|
||||
pos = match.capturedEnd();
|
||||
|
||||
if (dataManager()->containsVariable(variable) ){
|
||||
try {
|
||||
|
||||
varValue = dataManager()->variable(variable);
|
||||
switch (expandType){
|
||||
case EscapeSymbols:
|
||||
context.replace(match.captured(0), escapeSimbols(varValue.toString()));
|
||||
break;
|
||||
case NoEscapeSymbols:
|
||||
context.replace(match.captured(0), varValue.toString());
|
||||
break;
|
||||
case ReplaceHTMLSymbols:
|
||||
context.replace(match.captured(0), replaceHTMLSymbols(varValue.toString()));
|
||||
break;
|
||||
}
|
||||
|
||||
pos = 0;
|
||||
|
||||
} catch (ReportError &e){
|
||||
dataManager()->putError(e.what());
|
||||
if (!dataManager()->reportSettings() || dataManager()->reportSettings()->suppressAbsentFieldsAndVarsWarnings())
|
||||
context.replace(match.captured(0), e.what());
|
||||
else
|
||||
context.replace(match.captured(0), "");
|
||||
}
|
||||
} else {
|
||||
|
||||
QString error;
|
||||
error = tr("Variable %1 not found").arg(variable);
|
||||
dataManager()->putError(error);
|
||||
if (!dataManager()->reportSettings() || dataManager()->reportSettings()->suppressAbsentFieldsAndVarsWarnings())
|
||||
context.replace(match.captured(0), error);
|
||||
else
|
||||
context.replace(match.captured(0), "");
|
||||
}
|
||||
|
||||
match = rx.match(context, pos);
|
||||
}
|
||||
}
|
||||
return context;
|
||||
#endif
|
||||
}
|
||||
|
||||
QString ScriptEngineManager::expandDataFields(QString context, ExpandType expandType, QVariant &varValue, QObject *reportItem)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(Const::FIELD_RX);
|
||||
|
||||
if (context.contains(rx)){
|
||||
@ -450,13 +503,74 @@ QString ScriptEngineManager::expandDataFields(QString context, ExpandType expand
|
||||
}
|
||||
|
||||
return context;
|
||||
#else
|
||||
QRegularExpression rx(Const::FIELD_RX);
|
||||
|
||||
if (context.contains(rx)){
|
||||
QRegularExpressionMatch match = rx.match(context);
|
||||
while (match.hasMatch()){
|
||||
|
||||
QString field=match.captured(1);
|
||||
|
||||
if (dataManager()->containsField(field)) {
|
||||
QString fieldValue;
|
||||
varValue = dataManager()->fieldData(field);
|
||||
if (expandType == EscapeSymbols) {
|
||||
if (varValue.isNull()) {
|
||||
fieldValue="\"\"";
|
||||
} else {
|
||||
fieldValue = escapeSimbols(varValue.toString());
|
||||
switch (dataManager()->fieldData(field).type()) {
|
||||
case QVariant::Char:
|
||||
case QVariant::String:
|
||||
case QVariant::StringList:
|
||||
case QVariant::Date:
|
||||
case QVariant::DateTime:
|
||||
fieldValue = "\""+fieldValue+"\"";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (expandType == ReplaceHTMLSymbols)
|
||||
fieldValue = replaceHTMLSymbols(varValue.toString());
|
||||
else fieldValue = varValue.toString();
|
||||
}
|
||||
|
||||
context.replace(match.captured(0),fieldValue);
|
||||
|
||||
} else {
|
||||
QString error;
|
||||
if (reportItem){
|
||||
error = tr("Field %1 not found in %2!").arg(field).arg(reportItem->objectName());
|
||||
dataManager()->putError(error);
|
||||
}
|
||||
varValue = QVariant();
|
||||
if (!dataManager()->reportSettings() || !dataManager()->reportSettings()->suppressAbsentFieldsAndVarsWarnings())
|
||||
context.replace(match.captured(0), error);
|
||||
else
|
||||
context.replace(match.captured(0), "");
|
||||
}
|
||||
match = rx.match(context);
|
||||
}
|
||||
}
|
||||
|
||||
return context;
|
||||
#endif
|
||||
}
|
||||
|
||||
QString ScriptEngineManager::expandScripts(QString context, QVariant& varValue, QObject *reportItem)
|
||||
{
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(Const::SCRIPT_RX);
|
||||
|
||||
if (context.contains(rx)){
|
||||
#else
|
||||
QRegularExpression rx(Const::SCRIPT_RX, QRegularExpression::DotMatchesEverythingOption);
|
||||
|
||||
if(context.contains(rx)){
|
||||
#endif
|
||||
|
||||
if (ScriptEngineManager::instance().dataManager() != dataManager())
|
||||
ScriptEngineManager::instance().setDataManager(dataManager());
|
||||
@ -517,10 +631,17 @@ QString ScriptEngineManager::replaceScripts(QString context, QVariant &varValue,
|
||||
|
||||
QVariant ScriptEngineManager::evaluateScript(const QString& script){
|
||||
|
||||
#if QT_VERSION < 0x060000
|
||||
QRegExp rx(Const::SCRIPT_RX);
|
||||
QVariant varValue;
|
||||
|
||||
if (script.contains(rx)){
|
||||
#else
|
||||
QRegularExpression rx(Const::SCRIPT_RX);
|
||||
QVariant varValue;
|
||||
|
||||
if (script.contains(rx)){
|
||||
#endif
|
||||
|
||||
if (ScriptEngineManager::instance().dataManager()!=dataManager())
|
||||
ScriptEngineManager::instance().setDataManager(dataManager());
|
||||
|
@ -31,7 +31,7 @@
|
||||
#define LRSCRIPTENGINEMANAGERINTF_H
|
||||
#include "qglobal.h"
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
|
||||
#if QT_VERSION >= 0x050600
|
||||
#ifndef USE_QTSCRIPTENGINE
|
||||
#ifndef USE_QJSENGINE
|
||||
#define USE_QJSENGINE
|
||||
|
@ -106,7 +106,7 @@ void SettingDialog::setScritpTabIndention(int size)
|
||||
|
||||
void SettingDialog::setTheme(const QString &theme)
|
||||
{
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->cbTheme->setCurrentIndex(ui->cbTheme->findText(theme));
|
||||
#else
|
||||
ui->cbTheme->setCurrentText(theme);
|
||||
@ -128,7 +128,7 @@ void SettingDialog::setDesignerLanguages(QList<QLocale::Language> languages, QLo
|
||||
if (language != currentLanguage)
|
||||
ui->designerLanguage->addItem(QLocale::languageToString(language));
|
||||
}
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->designerLanguage->setCurrentIndex(ui->designerLanguage->findText(QLocale::languageToString(currentLanguage)));
|
||||
#else
|
||||
ui->designerLanguage->setCurrentText(QLocale::languageToString(currentLanguage));
|
||||
@ -139,7 +139,7 @@ void SettingDialog::setDesignerThemes(QList<QString> themes, const QString &curr
|
||||
{
|
||||
ui->cbTheme->clear();
|
||||
ui->cbTheme->addItems(themes);
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->cbTheme->setCurrentIndex(ui->cbTheme->findText(currentTheme));
|
||||
#else
|
||||
ui->cbTheme->setCurrentText(currentTheme);
|
||||
@ -150,8 +150,8 @@ void SettingDialog::setDesignerUnites(QList<QString> unitTypes, const QString cu
|
||||
{
|
||||
ui->reportUnits->clear();
|
||||
ui->reportUnits->addItems(unitTypes);
|
||||
#ifdef HAVE_QT4
|
||||
ui->cbTheme->setCurrentIndex(ui->cbTheme->findText(currentUnitType));
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->reportUnits->setCurrentIndex(ui->reportUnits->findText(currentUnitType));
|
||||
#else
|
||||
ui->reportUnits->setCurrentText(currentUnitType);
|
||||
#endif
|
||||
|
@ -34,7 +34,11 @@
|
||||
#include <QFocusEvent>
|
||||
#include <QApplication>
|
||||
#include <QStyle>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QDesktopWidget>
|
||||
#else
|
||||
#include <QScreen>
|
||||
#endif
|
||||
#include "lrtextitempropertyeditor.h"
|
||||
|
||||
namespace LimeReport{
|
||||
@ -66,7 +70,11 @@ void ButtonLineEditor::editButtonClicked()
|
||||
{
|
||||
TextItemPropertyEditor* editor = new TextItemPropertyEditor(QApplication::activeWindow());
|
||||
editor->setAttribute(Qt::WA_DeleteOnClose);
|
||||
#if QT_VERSION < 0x060000
|
||||
editor->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, editor->size(), QApplication::desktop()->availableGeometry()));
|
||||
#else
|
||||
editor->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, editor->size(), QGuiApplication::screens().first()->availableGeometry()));
|
||||
#endif
|
||||
editor->setWindowTitle(m_propertyName);
|
||||
editor->setText(m_lineEdit->text());
|
||||
connect(editor,SIGNAL(accepted()),this,SLOT(editingByEditorFinished()));
|
||||
|
@ -168,7 +168,11 @@ bool PropertyFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sou
|
||||
{
|
||||
QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
|
||||
if (sourceParent.isValid()) return true;
|
||||
#if QT_VERSION < 0x060000
|
||||
return sourceModel()->data(index).toString().contains(filterRegExp());
|
||||
#else
|
||||
return sourceModel()->data(index).toString().contains(filterRegularExpression());
|
||||
#endif
|
||||
}
|
||||
|
||||
ObjectInspectorWidget::ObjectInspectorWidget(QWidget *parent)
|
||||
@ -178,7 +182,11 @@ ObjectInspectorWidget::ObjectInspectorWidget(QWidget *parent)
|
||||
m_propertyModel = new BaseDesignPropertyModel(this);
|
||||
m_filterModel = new PropertyFilterModel(this);
|
||||
m_filterModel->setSourceModel(m_propertyModel);
|
||||
#if QT_VERSION < 0x060000
|
||||
m_filterModel->setFilterRegExp(QRegExp("", Qt::CaseInsensitive, QRegExp::FixedString));
|
||||
#else
|
||||
m_filterModel->setFilterRegularExpression(QRegularExpression("", QRegularExpression::CaseInsensitiveOption));
|
||||
#endif
|
||||
m_objectInspectorView->setModel(m_filterModel);
|
||||
QVBoxLayout* l = new QVBoxLayout();
|
||||
QLineEdit* le = new QLineEdit(this);
|
||||
@ -209,7 +217,8 @@ ObjectInspectorWidget::ObjectInspectorWidget(QWidget *parent)
|
||||
h->addWidget(settingButton);
|
||||
l->addLayout(h);
|
||||
l->addWidget(m_objectInspectorView);
|
||||
l->setMargin(Const::DOCKWIDGET_MARGINS);
|
||||
int margin = Const::DOCKWIDGET_MARGINS;
|
||||
l->setContentsMargins(margin, margin, margin, margin);
|
||||
l->setSpacing(2);
|
||||
this->setLayout(l);
|
||||
}
|
||||
@ -305,7 +314,11 @@ void ObjectInspectorWidget::updateProperty(const QString &propertyName)
|
||||
void ObjectInspectorWidget::slotFilterTextChanged(const QString &filter)
|
||||
{
|
||||
if (m_filterModel)
|
||||
#if QT_VERSION < 0x060000
|
||||
m_filterModel->setFilterRegExp(QRegExp(filter, Qt::CaseInsensitive, QRegExp::FixedString));
|
||||
#else
|
||||
m_filterModel->setFilterRegularExpression(QRegularExpression(filter, QRegularExpression::CaseInsensitiveOption));
|
||||
#endif
|
||||
}
|
||||
|
||||
void ObjectInspectorWidget::slotTranslatePropertiesChecked(bool value)
|
||||
|
@ -93,7 +93,7 @@ void ObjectPropItem::appendItem(ObjectPropItem *item){
|
||||
|
||||
void ObjectPropItem::sortItem()
|
||||
{
|
||||
qSort(m_childItems.begin(), m_childItems.end(), lesThen);
|
||||
std::sort(m_childItems.begin(), m_childItems.end(), lesThen);
|
||||
}
|
||||
|
||||
QVariant ObjectPropItem::propertyValue() const {
|
||||
|
@ -40,7 +40,8 @@ ObjectBrowser::ObjectBrowser(QWidget *parent)
|
||||
{
|
||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
||||
setLayout(layout);
|
||||
layout->setMargin(Const::DOCKWIDGET_MARGINS);
|
||||
int margin = Const::DOCKWIDGET_MARGINS;
|
||||
layout->setContentsMargins(margin, margin, margin, margin);
|
||||
m_treeView = new QTreeWidget(this);
|
||||
layout->addWidget(m_treeView);
|
||||
m_treeView->headerItem()->setText(0,tr("Objects"));
|
||||
|
@ -43,7 +43,8 @@ ScriptBrowser::ScriptBrowser(QWidget *parent) :
|
||||
ui(new Ui::ScriptBrowser)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->verticalLayout->setMargin(Const::DOCKWIDGET_MARGINS);
|
||||
int margin = Const::DOCKWIDGET_MARGINS;
|
||||
ui->verticalLayout->setContentsMargins(margin, margin, margin, margin);
|
||||
#ifndef HAVE_UI_LOADER
|
||||
ui->tpDialogs->setVisible(false);
|
||||
ui->tabWidget->removeTab(ui->tabWidget->indexOf(ui->tpDialogs));
|
||||
|
@ -46,8 +46,8 @@ void CodeEditor::lineNumberAreaPaintEvent(QPaintEvent* event)
|
||||
QPainter painter(lineNumberArea);
|
||||
QStyleOption option;
|
||||
option.initFrom(this);
|
||||
//painter.fillRect(event->rect(), QPalette().background().color());
|
||||
QColor bg = option.palette.background().color().darker(150);
|
||||
//painter.fillRect(event->rect(), QPalette().window().color());
|
||||
QColor bg = option.palette.window().color().darker(150);
|
||||
painter.fillRect(event->rect(), bg);
|
||||
|
||||
QTextBlock block = firstVisibleBlock();
|
||||
@ -79,7 +79,7 @@ int CodeEditor::lineNumberAreaWidth()
|
||||
++digits;
|
||||
}
|
||||
|
||||
int space = fontMetrics().width(QLatin1Char('9'))*2 + fontMetrics().width(QLatin1Char('9')) * digits;
|
||||
int space = fontMetrics().boundingRect(QLatin1Char('9')).width()*2 + fontMetrics().boundingRect(QLatin1Char('9')).width() * digits;
|
||||
|
||||
return space;
|
||||
}
|
||||
@ -300,7 +300,7 @@ void CodeEditor::highlightCurrentLine()
|
||||
if (!isReadOnly()) {
|
||||
QTextEdit::ExtraSelection selection;
|
||||
|
||||
QColor lineColor = QColor(QPalette().background().color()).darker(100);
|
||||
QColor lineColor = QColor(QPalette().window().color()).darker(100);
|
||||
|
||||
selection.format.setBackground(lineColor);
|
||||
selection.format.setProperty(QTextFormat::FullWidthSelection, true);
|
||||
|
@ -20,7 +20,11 @@ ScriptEditor::ScriptEditor(QWidget *parent) :
|
||||
setFocusProxy(ui->textEdit);
|
||||
m_completer = new ReportStructureCompleater(this);
|
||||
ui->textEdit->setCompleter(m_completer);
|
||||
ui->textEdit->setTabStopWidth(ui->textEdit->fontMetrics().width("0")*m_tabIndention);
|
||||
#if QT_VERSION < 0x060000
|
||||
ui->textEdit->setTabStopWidth(ui->textEdit->fontMetrics().boundingRect("0").width()*m_tabIndention);
|
||||
#else
|
||||
ui->textEdit->setTabStopDistance(ui->textEdit->fontMetrics().boundingRect("0").width()*m_tabIndention);
|
||||
#endif
|
||||
connect(ui->splitter, SIGNAL(splitterMoved(int,int)), this, SIGNAL(splitterMoved(int,int)));
|
||||
connect(ui->textEdit, SIGNAL(textChanged()), this, SIGNAL(textChanged()));
|
||||
}
|
||||
@ -86,7 +90,11 @@ void ScriptEditor::setPageBand(BandDesignIntf* band)
|
||||
void ScriptEditor::setTabIndention(int charCount)
|
||||
{
|
||||
if (m_tabIndention != charCount){
|
||||
ui->textEdit->setTabStopWidth(ui->textEdit->fontMetrics().width("W")*charCount);
|
||||
#if QT_VERSION < 0x060000
|
||||
ui->textEdit->setTabStopWidth(ui->textEdit->fontMetrics().boundingRect("W").width()*charCount);
|
||||
#else
|
||||
ui->textEdit->setTabStopDistance(ui->textEdit->fontMetrics().boundingRect("W").width()*charCount);
|
||||
#endif
|
||||
m_tabIndention = charCount;
|
||||
}
|
||||
}
|
||||
|
@ -247,7 +247,7 @@ ScriptHighlighter::ScriptHighlighter(QTextDocument* parent):
|
||||
m_keywords.insert(keywords[i]);
|
||||
}
|
||||
|
||||
if ( isColorDark(QPalette().background().color())){
|
||||
if ( isColorDark(QPalette().window().color())){
|
||||
m_formats[NumberFormat].setForeground(Qt::darkBlue);
|
||||
m_formats[StringFormat].setForeground(Qt::darkGreen);
|
||||
m_formats[KeywordFormat].setForeground(Qt::darkYellow);
|
||||
|
@ -197,7 +197,7 @@ QVariant XmlFontSerializator::loadValue()
|
||||
//#if QT_VERSION>0x040800
|
||||
// font.setStyleName(node()->attribute("stylename"));
|
||||
//#endif
|
||||
font.setWeight(node()->attribute("weight").toInt());
|
||||
font.setWeight(static_cast<QFont::Weight>(node()->attribute("weight").toInt()));
|
||||
if (!node()->attribute("bold").isEmpty())
|
||||
font.setBold(node()->attribute("bold").toInt());
|
||||
font.setItalic(node()->attribute("italic").toInt());
|
||||
|
@ -12,11 +12,10 @@ LanguageSelectDialog::LanguageSelectDialog(QWidget *parent) :
|
||||
for (int i = 2; i<QLocale::LastLanguage; ++i){
|
||||
ui->comboBox->addItem(QLocale::languageToString(static_cast<QLocale::Language>(i)),static_cast<QLocale::Language>(i));
|
||||
}
|
||||
#ifdef HAVE_QT5
|
||||
ui->comboBox->setCurrentText("");
|
||||
#endif
|
||||
#ifdef HAVE_QT4
|
||||
#if QT_VERSION < 0x050000
|
||||
ui->comboBox->setEditText("");
|
||||
#else
|
||||
ui->comboBox->setCurrentText("");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user