From 7dad9d700b1fa3cb40c193444e968cf3e738234b Mon Sep 17 00:00:00 2001 From: Rodrigo Torres Date: Mon, 23 Aug 2021 02:07:08 -0300 Subject: [PATCH] WIP --- demo_r2/mainwindow.cpp | 11 +++++ include/LRCallbackDS | 2 +- include/lrglobal.h | 6 ++- limereport/databrowser/lrdatabrowser.cpp | 7 +-- limereport/databrowser/lrvariabledialog.cpp | 7 ++- .../designerintegrationv2/formresizer.cpp | 5 +- .../designerintegrationv2/widgethost.cpp | 2 +- .../dialogdesigner/lrdialogdesigner.cpp | 5 +- .../items/charts/lrhorizontalbarchart.cpp | 2 +- limereport/items/charts/lrpiechart.cpp | 15 +++--- .../editors/lritemsborderseditorwidget.cpp | 4 +- .../editors/lrtextalignmenteditorwidget.cpp | 2 +- limereport/items/lrchartitem.cpp | 44 +++++++++-------- limereport/items/lrchartitemeditor.cpp | 37 ++++++-------- limereport/items/lrhorizontallayout.cpp | 4 +- limereport/items/lrverticallayout.cpp | 4 +- limereport/lrbanddesignintf.cpp | 6 +-- limereport/lrglobal.h | 6 ++- limereport/lritemdesignintf.cpp | 2 + limereport/lritemscontainerdesignitf.cpp | 2 +- limereport/lrpagedesignintf.cpp | 4 +- limereport/lrpageitemdesignintf.cpp | 10 ++-- limereport/lrpageitemdesignintf.h | 20 ++++++++ limereport/lrpreviewreportwidget.cpp | 17 +++++-- limereport/lrpreviewreportwindow.cpp | 12 ++++- limereport/lrpreviewreportwindow.h | 2 +- limereport/lrreportdesignwidget.cpp | 25 +++++----- limereport/lrreportdesignwidget.h | 7 ++- limereport/lrreportdesignwindow.cpp | 49 ++++++++++++------- limereport/lrreportengine.cpp | 14 +++--- limereport/lrreportrender.cpp | 9 ++-- limereport/lrsettingdialog.cpp | 8 +-- .../editors/lrbuttonlineeditor.cpp | 8 +++ .../lrobjectinspectorwidget.cpp | 9 +++- .../objectinspector/lrobjectpropitem.cpp | 2 +- limereport/objectsbrowser/lrobjectbrowser.cpp | 3 +- limereport/scriptbrowser/lrscriptbrowser.cpp | 3 +- limereport/scripteditor/lrcodeeditor.cpp | 8 +-- limereport/scripteditor/lrscripteditor.cpp | 12 ++++- .../scripteditor/lrscripthighlighter.cpp | 2 +- .../lrxmlbasetypesserializators.cpp | 2 +- .../languageselectdialog.cpp | 7 ++- 42 files changed, 249 insertions(+), 157 deletions(-) diff --git a/demo_r2/mainwindow.cpp b/demo_r2/mainwindow.cpp index 6f2aa7b..f95b5a5 100644 --- a/demo_r2/mainwindow.cpp +++ b/demo_r2/mainwindow.cpp @@ -3,7 +3,11 @@ #include #include #include +#if QT_VERSION < 0x060000 #include +#else +#include +#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; diff --git a/include/LRCallbackDS b/include/LRCallbackDS index fd5f8c4..72e76a3 100644 --- a/include/LRCallbackDS +++ b/include/LRCallbackDS @@ -1 +1 @@ -#include "lrcallbackdatasourceintf.h" \ No newline at end of file +#include "lrcallbackdatasourceintf.h" diff --git a/include/lrglobal.h b/include/lrglobal.h index c7a9a2e..d1a2b38 100644 --- a/include/lrglobal.h +++ b/include/lrglobal.h @@ -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 normalizeCaptures(const QRegExp ®); +#else + QVector normalizeCaptures(const QRegularExpression ®); +#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; diff --git a/limereport/databrowser/lrdatabrowser.cpp b/limereport/databrowser/lrdatabrowser.cpp index 4a34745..b91605f 100644 --- a/limereport/databrowser/lrdatabrowser.cpp +++ b/limereport/databrowser/lrdatabrowser.cpp @@ -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( diff --git a/limereport/databrowser/lrvariabledialog.cpp b/limereport/databrowser/lrvariabledialog.cpp index 6883acb..cb8f2d0 100644 --- a/limereport/databrowser/lrvariabledialog.cpp +++ b/limereport/databrowser/lrvariabledialog.cpp @@ -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)); } diff --git a/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/formresizer.cpp b/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/formresizer.cpp index e0d88ed..f3bbf48 100644 --- a/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/formresizer.cpp +++ b/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/formresizer.cpp @@ -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) { diff --git a/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/widgethost.cpp b/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/widgethost.cpp index b78eb4b..859993e 100644 --- a/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/widgethost.cpp +++ b/limereport/dialogdesigner/3rdparty/qtcreator/designerintegrationv2/widgethost.cpp @@ -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))); diff --git a/limereport/dialogdesigner/lrdialogdesigner.cpp b/limereport/dialogdesigner/lrdialogdesigner.cpp index 4a23d4d..740b6a6 100644 --- a/limereport/dialogdesigner/lrdialogdesigner.cpp +++ b/limereport/dialogdesigner/lrdialogdesigner.cpp @@ -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); diff --git a/limereport/items/charts/lrhorizontalbarchart.cpp b/limereport/items/charts/lrhorizontalbarchart.cpp index 3d539d9..e5e0e45 100644 --- a/limereport/items/charts/lrhorizontalbarchart.cpp +++ b/limereport/items/charts/lrhorizontalbarchart.cpp @@ -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; diff --git a/limereport/items/charts/lrpiechart.cpp b/limereport/items/charts/lrpiechart.cpp index d6afb0c..5932c9e 100644 --- a/limereport/items/charts/lrpiechart.cpp +++ b/limereport/items/charts/lrpiechart.cpp @@ -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 (maxWidthsetBorders(0); + m_reportEditor->setBorders({}); ItemsBordersEditorWidget::noBordesClicked(); } diff --git a/limereport/items/editors/lrtextalignmenteditorwidget.cpp b/limereport/items/editors/lrtextalignmenteditorwidget.cpp index abdada0..2569555 100644 --- a/limereport/items/editors/lrtextalignmenteditorwidget.cpp +++ b/limereport/items/editors/lrtextalignmenteditorwidget.cpp @@ -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; diff --git a/limereport/items/lrchartitem.cpp b/limereport/items/lrchartitem.cpp index 15f76fa..a0f6488 100644 --- a/limereport/items/lrchartitem.cpp +++ b/limereport/items/lrchartitem.cpp @@ -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 (maxWidthname())) - maxWidth = fm.width(series->name())+10; + if (maxWidthname()).width()) + maxWidth = fm.boundingRect(series->name()).width()+10; } } else { foreach(QString label, m_designLabels){ cw += fm.height(); - if (maxWidthfontMetrics(); 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 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)) diff --git a/limereport/items/lrchartitemeditor.cpp b/limereport/items/lrchartitemeditor.cpp index 92ea3fb..31a84ec 100644 --- a/limereport/items/lrchartitemeditor.cpp +++ b/limereport/items/lrchartitemeditor.cpp @@ -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(); } diff --git a/limereport/items/lrhorizontallayout.cpp b/limereport/items/lrhorizontallayout.cpp index b7c2268..11a29d9 100644 --- a/limereport/items/lrhorizontallayout.cpp +++ b/limereport/items/lrhorizontallayout.cpp @@ -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()) { diff --git a/limereport/items/lrverticallayout.cpp b/limereport/items/lrverticallayout.cpp index 5550896..1b1971e 100644 --- a/limereport/items/lrverticallayout.cpp +++ b/limereport/items/lrverticallayout.cpp @@ -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() diff --git a/limereport/lrbanddesignintf.cpp b/limereport/lrbanddesignintf.cpp index 6308ce1..fe7a5a6 100644 --- a/limereport/lrbanddesignintf.cpp +++ b/limereport/lrbanddesignintf.cpp @@ -266,7 +266,7 @@ void BandDesignIntf::paint(QPainter *painter, const QStyleOptionGraphicsItem *op QFontMetrics fontMetrics(font); QVector 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::childrenByType(BandDesignIntf::BandsType foreach(BandDesignIntf* item,childBands()){ if (item->bandType()==type) resList<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(); } diff --git a/limereport/lrglobal.h b/limereport/lrglobal.h index c7a9a2e..d1a2b38 100644 --- a/limereport/lrglobal.h +++ b/limereport/lrglobal.h @@ -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 normalizeCaptures(const QRegExp ®); +#else + QVector normalizeCaptures(const QRegularExpression ®); +#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; diff --git a/limereport/lritemdesignintf.cpp b/limereport/lritemdesignintf.cpp index 18e46d2..86e029b 100644 --- a/limereport/lritemdesignintf.cpp +++ b/limereport/lritemdesignintf.cpp @@ -35,7 +35,9 @@ #include "lrglobal.h" #include +#if QT_VERSION < 0x060000 #include +#endif #include namespace LimeReport{ diff --git a/limereport/lritemscontainerdesignitf.cpp b/limereport/lritemscontainerdesignitf.cpp index 836fbea..441e069 100644 --- a/limereport/lritemscontainerdesignitf.cpp +++ b/limereport/lritemscontainerdesignitf.cpp @@ -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) diff --git a/limereport/lrpagedesignintf.cpp b/limereport/lrpagedesignintf.cpp index caaa82a..f245fcb 100644 --- a/limereport/lrpagedesignintf.cpp +++ b/limereport/lrpagedesignintf.cpp @@ -1723,7 +1723,7 @@ HorizontalLayout* PageDesignIntf::internalAddHLayout() QList si = selectedItems(); QList::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 +1767,7 @@ VerticalLayout* PageDesignIntf::internalAddVLayout() QList si = selectedItems(); QList::iterator it = si.begin(); - qSort(si.begin(), si.end(), vLayoutLessThen); + std::sort(si.begin(), si.end(), vLayoutLessThen); it = si.begin(); if (si.count() > 1) { diff --git a/limereport/lrpageitemdesignintf.cpp b/limereport/lrpageitemdesignintf.cpp index 5f6d0d8..009394b 100644 --- a/limereport/lrpageitemdesignintf.cpp +++ b/limereport/lrpageitemdesignintf.cpp @@ -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 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; @@ -829,7 +829,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 +852,7 @@ QList 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; } diff --git a/limereport/lrpageitemdesignintf.h b/limereport/lrpageitemdesignintf.h index 0683cc4..1b097fd 100644 --- a/limereport/lrpageitemdesignintf.h +++ b/limereport/lrpageitemdesignintf.h @@ -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,6 +83,25 @@ public: Ledger = QPrinter::Ledger, Tabloid = QPrinter::Tabloid, Custom = QPrinter::Custom, NPageSize = Custom }; +#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 >= QT_VERSION_CHECK(5, 5, 0)) Q_ENUM(Orientation) Q_ENUM(PrintBehavior) diff --git a/limereport/lrpreviewreportwidget.cpp b/limereport/lrpreviewreportwidget.cpp index 49de4c1..4e0f1b1 100644 --- a/limereport/lrpreviewreportwidget.cpp +++ b/limereport/lrpreviewreportwidget.cpp @@ -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,10 +241,9 @@ void PreviewReportWidget::print() QPrinter lp(QPrinter::HighResolution); if (!pi.defaultPrinter().isNull()){ -#ifdef HAVE_QT4 +#if QT_VERSION < 0x050000 lp.setPrinterName(pi.defaultPrinter().printerName()); -#endif -#ifdef HAVE_QT5 +#else #if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)) lp.setPrinterName(pi.defaultPrinterName()); #else @@ -300,7 +303,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 +469,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); } diff --git a/limereport/lrpreviewreportwindow.cpp b/limereport/lrpreviewreportwindow.cpp index a69e063..9494042 100644 --- a/limereport/lrpreviewreportwindow.cpp +++ b/limereport/lrpreviewreportwindow.cpp @@ -41,7 +41,11 @@ #include #include #include +#if QT_VERSION < 0x060000 #include +#else +#include +#endif #include #include #include @@ -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(screenWidth*0.1); int y = static_cast(screenHeight*0.1); diff --git a/limereport/lrpreviewreportwindow.h b/limereport/lrpreviewreportwindow.h index 6c3648e..68b58ad 100644 --- a/limereport/lrpreviewreportwindow.h +++ b/limereport/lrpreviewreportwindow.h @@ -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); diff --git a/limereport/lrreportdesignwidget.cpp b/limereport/lrreportdesignwidget.cpp index 9ec58ad..235a4f8 100644 --- a/limereport/lrreportdesignwidget.cpp +++ b/limereport/lrreportdesignwidget.cpp @@ -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); @@ -1132,10 +1131,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 +1153,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 +1172,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 +1200,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; diff --git a/limereport/lrreportdesignwidget.h b/limereport/lrreportdesignwidget.h index d95310a..8057f13 100644 --- a/limereport/lrreportdesignwidget.h +++ b/limereport/lrreportdesignwidget.h @@ -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; diff --git a/limereport/lrreportdesignwindow.cpp b/limereport/lrreportdesignwindow.cpp index 9052a19..798464b 100644 --- a/limereport/lrreportdesignwindow.cpp +++ b/limereport/lrreportdesignwindow.cpp @@ -39,7 +39,11 @@ #include #include #include +#if QT_VERSION < 0x060000 #include +#else +#include +#endif #include #include #include @@ -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,18 @@ 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; diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp index 72d53ad..ffb8e06 100644 --- a/limereport/lrreportengine.cpp +++ b/limereport/lrreportengine.cpp @@ -32,7 +32,11 @@ #include #include #include +#if QT_VERSION < 0x060000 #include +#else +#include +#endif #include #include #include @@ -272,10 +276,9 @@ bool ReportEnginePrivate::printPages(ReportPages pages, QPrinter *printer) if (!printer&&!m_printerSelected){ QPrinterInfo pi; if (!pi.defaultPrinter().isNull()) -#ifdef HAVE_QT4 +#if QT_VERSION < 0x050000 m_printer.data()->setPrinterName(pi.defaultPrinter().printerName()); -#endif -#ifdef HAVE_QT5 +#else #if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)) m_printer.data()->setPrinterName(pi.defaultPrinterName()); #else @@ -394,10 +397,9 @@ bool ReportEnginePrivate::printReport(QPrinter* printer) if (!printer&&!m_printerSelected){ QPrinterInfo pi; if (!pi.defaultPrinter().isNull()) -#ifdef HAVE_QT4 +#if QT_VERSION < 0x050000 m_printer.data()->setPrinterName(pi.defaultPrinter().printerName()); -#endif -#ifdef HAVE_QT5 +#else #if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)) m_printer.data()->setPrinterName(pi.defaultPrinterName()); #else diff --git a/limereport/lrreportrender.cpp b/limereport/lrreportrender.cpp index 904d30e..f5f0867 100644 --- a/limereport/lrreportrender.cpp +++ b/limereport/lrreportrender.cpp @@ -1142,10 +1142,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 +1427,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 +1465,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); diff --git a/limereport/lrsettingdialog.cpp b/limereport/lrsettingdialog.cpp index 05374a3..53ef9ab 100644 --- a/limereport/lrsettingdialog.cpp +++ b/limereport/lrsettingdialog.cpp @@ -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 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 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,7 +150,7 @@ void SettingDialog::setDesignerUnites(QList unitTypes, const QString cu { ui->reportUnits->clear(); ui->reportUnits->addItems(unitTypes); -#ifdef HAVE_QT4 +#if QT_VERSION < 0x050000 ui->cbTheme->setCurrentIndex(ui->cbTheme->findText(currentUnitType)); #else ui->reportUnits->setCurrentText(currentUnitType); diff --git a/limereport/objectinspector/editors/lrbuttonlineeditor.cpp b/limereport/objectinspector/editors/lrbuttonlineeditor.cpp index 033861e..4eead43 100644 --- a/limereport/objectinspector/editors/lrbuttonlineeditor.cpp +++ b/limereport/objectinspector/editors/lrbuttonlineeditor.cpp @@ -34,7 +34,11 @@ #include #include #include +#if QT_VERSION < 0x060000 #include +#else +#include +#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())); diff --git a/limereport/objectinspector/lrobjectinspectorwidget.cpp b/limereport/objectinspector/lrobjectinspectorwidget.cpp index af6bf36..9fd3852 100644 --- a/limereport/objectinspector/lrobjectinspectorwidget.cpp +++ b/limereport/objectinspector/lrobjectinspectorwidget.cpp @@ -167,8 +167,12 @@ void ObjectInspectorTreeView::commitActiveEditorData(){ bool PropertyFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const { QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent); - if (sourceParent.isValid()) return true; + 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) @@ -209,7 +213,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); } diff --git a/limereport/objectinspector/lrobjectpropitem.cpp b/limereport/objectinspector/lrobjectpropitem.cpp index f827c46..638dd4c 100644 --- a/limereport/objectinspector/lrobjectpropitem.cpp +++ b/limereport/objectinspector/lrobjectpropitem.cpp @@ -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 { diff --git a/limereport/objectsbrowser/lrobjectbrowser.cpp b/limereport/objectsbrowser/lrobjectbrowser.cpp index a3db497..dd2177e 100644 --- a/limereport/objectsbrowser/lrobjectbrowser.cpp +++ b/limereport/objectsbrowser/lrobjectbrowser.cpp @@ -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")); diff --git a/limereport/scriptbrowser/lrscriptbrowser.cpp b/limereport/scriptbrowser/lrscriptbrowser.cpp index 052b6ce..ae8ddc5 100644 --- a/limereport/scriptbrowser/lrscriptbrowser.cpp +++ b/limereport/scriptbrowser/lrscriptbrowser.cpp @@ -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)); diff --git a/limereport/scripteditor/lrcodeeditor.cpp b/limereport/scripteditor/lrcodeeditor.cpp index c983dd9..772b064 100644 --- a/limereport/scripteditor/lrcodeeditor.cpp +++ b/limereport/scripteditor/lrcodeeditor.cpp @@ -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); diff --git a/limereport/scripteditor/lrscripteditor.cpp b/limereport/scripteditor/lrscripteditor.cpp index 7c9656d..34e2c74 100644 --- a/limereport/scripteditor/lrscripteditor.cpp +++ b/limereport/scripteditor/lrscripteditor.cpp @@ -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; } } diff --git a/limereport/scripteditor/lrscripthighlighter.cpp b/limereport/scripteditor/lrscripthighlighter.cpp index a3aaf48..1877223 100644 --- a/limereport/scripteditor/lrscripthighlighter.cpp +++ b/limereport/scripteditor/lrscripthighlighter.cpp @@ -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); diff --git a/limereport/serializators/lrxmlbasetypesserializators.cpp b/limereport/serializators/lrxmlbasetypesserializators.cpp index d9a1f1c..d5f0fb9 100644 --- a/limereport/serializators/lrxmlbasetypesserializators.cpp +++ b/limereport/serializators/lrxmlbasetypesserializators.cpp @@ -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(node()->attribute("weight").toInt())); if (!node()->attribute("bold").isEmpty()) font.setBold(node()->attribute("bold").toInt()); font.setItalic(node()->attribute("italic").toInt()); diff --git a/limereport/translationeditor/languageselectdialog.cpp b/limereport/translationeditor/languageselectdialog.cpp index 64265c8..62aefb3 100644 --- a/limereport/translationeditor/languageselectdialog.cpp +++ b/limereport/translationeditor/languageselectdialog.cpp @@ -12,11 +12,10 @@ LanguageSelectDialog::LanguageSelectDialog(QWidget *parent) : for (int i = 2; icomboBox->addItem(QLocale::languageToString(static_cast(i)),static_cast(i)); } -#ifdef HAVE_QT5 - ui->comboBox->setCurrentText(""); -#endif -#ifdef HAVE_QT4 +#if QT_VERSION < 0x050000 ui->comboBox->setEditText(""); +#else + ui->comboBox->setCurrentText(""); #endif }