0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-24 00:33:02 +03:00

Merge pull request #340 from darktorres/master

Properly detect Qt 6
This commit is contained in:
Alexander Arin 2021-09-10 23:05:48 +03:00 committed by GitHub
commit 843ecc61b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
65 changed files with 688 additions and 225 deletions

View File

@ -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
}
}

View File

@ -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();

View File

@ -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;

View File

@ -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())

View File

@ -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 &reg);
#else
QVector<QString> normalizeCaptures(const QRegularExpressionMatch &reg);
#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)

View File

@ -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

View File

@ -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
}

View File

@ -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(

View File

@ -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));
}

View File

@ -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) {

View File

@ -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)));

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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();

View File

@ -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();
}

View File

@ -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;

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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();
}

View File

@ -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()) {

View File

@ -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)

View File

@ -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)

View File

@ -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()

View File

@ -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;

View File

@ -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)

View File

@ -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()

View File

@ -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();
}

View File

@ -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)

View File

@ -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)

View File

@ -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);

View File

@ -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())

View File

@ -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 &reg);
#else
QVector<QString> normalizeCaptures(const QRegularExpressionMatch &reg);
#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)

View File

@ -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)

View File

@ -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;
}

View File

@ -35,7 +35,9 @@
#include "lrglobal.h"
#include <QDebug>
#if QT_VERSION < 0x060000
#include <QRegExp>
#endif
#include <QVariant>
namespace LimeReport{

View File

@ -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)

View File

@ -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)

View File

@ -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) {

View File

@ -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;
}

View File

@ -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)

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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());

View File

@ -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

View File

@ -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

View File

@ -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()));

View File

@ -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)

View File

@ -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 {

View File

@ -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"));

View File

@ -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));

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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);

View File

@ -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());

View File

@ -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
}