diff -Nru texstudio-4.0.0/debian/changelog texstudio-4.0.0/debian/changelog --- texstudio-4.0.0/debian/changelog 2021-07-25 16:30:55.000000000 +0000 +++ texstudio-4.0.0/debian/changelog 2021-07-26 16:26:03.000000000 +0000 @@ -1,8 +1,8 @@ -texstudio (4.0.0-0~202107251113~ubuntu20.10.1) groovy; urgency=low +texstudio (4.0.0-0~202107251900~ubuntu20.10.1) groovy; urgency=low * Auto build. - -- J. Sundermeyer Sun, 25 Jul 2021 16:30:55 +0000 + -- J. Sundermeyer Mon, 26 Jul 2021 16:26:03 +0000 texstudio (4.0.0) unstable; urgency=low diff -Nru texstudio-4.0.0/debian/git-build-recipe.manifest texstudio-4.0.0/debian/git-build-recipe.manifest --- texstudio-4.0.0/debian/git-build-recipe.manifest 2021-07-25 16:30:55.000000000 +0000 +++ texstudio-4.0.0/debian/git-build-recipe.manifest 2021-07-26 16:26:03.000000000 +0000 @@ -1,2 +1,2 @@ -# git-build-recipe format 0.4 deb-version {debupstream}-0~202107251113 -lp:~sunderme/texstudio/+git/master git-commit:ea999184b643d64f7a7bd47e82259f2df88bed8d +# git-build-recipe format 0.4 deb-version {debupstream}-0~202107251900 +lp:~sunderme/texstudio/+git/master git-commit:a32ab4dbc5617ccfebf658777b03031ac19bf96c diff -Nru texstudio-4.0.0/.github/workflows/cd.yml texstudio-4.0.0/.github/workflows/cd.yml --- texstudio-4.0.0/.github/workflows/cd.yml 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/.github/workflows/cd.yml 2021-07-26 16:25:57.000000000 +0000 @@ -17,7 +17,7 @@ with: msystem: MINGW64 update: true - install: git make mingw-w64-x86_64-toolchain mingw-w64-x86_64-qt6-base mingw-w64-x86_64-poppler mingw-w64-x86_64-poppler-qt6 mingw-w64-x86_64-qt6-declarative mingw-w64-x86_64-qt6-svg mingw-w64-x86_64-qt-installer-framework + install: git make mingw-w64-x86_64-toolchain mingw-w64-x86_64-qt6-base mingw-w64-x86_64-poppler mingw-w64-x86_64-poppler-qt6 mingw-w64-x86_64-qt6-declarative mingw-w64-x86_64-qt6-svg mingw-w64-x86_64-qt6-5compat mingw-w64-x86_64-qt6-tools mingw-w64-x86_64-qt-installer-framework - name: Configure run: qmake texstudio.pro CONFIG-=debug MXE=1 BUILD_ADWAITA=1 STRIP=1 - name: Build diff -Nru texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.cpp texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.cpp --- texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.cpp 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.cpp 2021-07-26 16:25:57.000000000 +0000 @@ -567,7 +567,7 @@ { QPalette copy(source); - const QList roles = { QPalette::Background, QPalette::Highlight, QPalette::WindowText, QPalette::ButtonText, QPalette::Text, QPalette::Button }; + const QList roles = { QPalette::Base, QPalette::Highlight, QPalette::WindowText, QPalette::ButtonText, QPalette::Text, QPalette::Button }; foreach (const QPalette::ColorRole &role, roles) { copy.setColor(role, mix(source.color(QPalette::Active, role), source.color(QPalette::Disabled, role), 1.0 - ratio)); } diff -Nru texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.h texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.h --- texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.h 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/adwaita-qt/style/adwaitahelper.h 2021-07-26 16:25:57.000000000 +0000 @@ -40,6 +40,11 @@ #endif #include +#if QT_VERSION_MAJOR<6 +typedef qreal color_real; +#else +typedef float color_real; +#endif namespace Adwaita { @@ -98,46 +103,46 @@ return QColor::fromRgbF(r, g, b, a); } - static QColor lighten(const QColor &color, qreal amount = 0.1) + static QColor lighten(const QColor &color, color_real amount = 0.1) { - qreal h, s, l, a; + color_real h, s, l, a; color.getHslF(&h, &s, &l, &a); - qreal lightness = l + amount; + color_real lightness = l + amount; if (lightness > 1) lightness = 1; return QColor::fromHslF(h, s, lightness, a); } - static QColor darken(const QColor &color, qreal amount = 0.1) + static QColor darken(const QColor &color, color_real amount = 0.1) { - qreal h, s, l, a; + color_real h, s, l, a; color.getHslF(&h, &s, &l, &a); - qreal lightness = l - amount; + color_real lightness = l - amount; if (lightness < 0) lightness = 0; return QColor::fromHslF(h, s, lightness, a); } - static QColor desaturate(const QColor &color, qreal amount = 0.1) + static QColor desaturate(const QColor &color, color_real amount = 0.1) { - qreal h, s, l, a; + color_real h, s, l, a; color.getHslF(&h, &s, &l, &a); - qreal saturation = s - amount; + color_real saturation = s - amount; if (saturation < 0) saturation = 0; return QColor::fromHslF(h, saturation, l, a); } - static QColor transparentize(const QColor &color, qreal amount = 0.1) + static QColor transparentize(const QColor &color, color_real amount = 0.1) { - qreal h, s, l, a; + color_real h, s, l, a; color.getHslF(&h, &s, &l, &a); - qreal alpha = a - amount; + color_real alpha = a - amount; if (alpha < 0) alpha = 0; return QColor::fromHslF(h, s, l, alpha); @@ -262,7 +267,7 @@ void renderDebugFrame(QPainter *painter, const QRect &) const; //* focus rect - void renderFocusRect(QPainter *painter, const QRect &rect, const QColor &, const QColor &outline = QColor(), Sides = 0) const; + void renderFocusRect(QPainter *painter, const QRect &rect, const QColor &, const QColor &outline = QColor(), Sides = Side::SideNone) const; //* focus line void renderFocusLine(QPainter *painter, const QRect &rect, const QColor &) const; diff -Nru texstudio-4.0.0/src/adwaita-qt/style/adwaitastyle.cpp texstudio-4.0.0/src/adwaita-qt/style/adwaitastyle.cpp --- texstudio-4.0.0/src/adwaita-qt/style/adwaitastyle.cpp 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/adwaita-qt/style/adwaitastyle.cpp 2021-07-26 16:25:57.000000000 +0000 @@ -152,7 +152,7 @@ } // namespace AdwaitaPrivate -void tabLayout(const QStyleOptionTabV3 *opt, const QWidget *widget, QRect *textRect, QRect *iconRect, const QStyle *proxyStyle) +void tabLayout(const QStyleOptionTab *opt, const QWidget *widget, QRect *textRect, QRect *iconRect, const QStyle *proxyStyle) { Q_ASSERT(textRect); Q_ASSERT(iconRect); @@ -393,7 +393,12 @@ setTranslucentBackground(widget); } else if (QLineEdit *lineEdit = qobject_cast(widget)) { // Do not use additional margin if the QLineEdit is really small +#if QT_VERSION < QT_VERSION_CHECK(5,11,0) const bool useMarginWidth = lineEdit->width() > lineEdit->fontMetrics().width("#####"); +#else + const bool useMarginWidth = lineEdit->width() > lineEdit->fontMetrics().horizontalAdvance("#####"); +#endif + const bool useMarginHeight = lineEdit->height() > lineEdit->fontMetrics().height() + (2 * Metrics::LineEdit_MarginHeight); const int marginHeight = useMarginHeight ? Metrics::LineEdit_MarginHeight : 0; const int marginWidth = useMarginWidth ? Metrics::LineEdit_MarginWidth : 0; @@ -1034,7 +1039,7 @@ case PE_IndicatorBranch: fcn = &Style::drawIndicatorBranchPrimitive; break; - case PE_FrameStatusBar: + case PE_FrameStatusBarItem: fcn = &Style::emptyPrimitive; break; case PE_Frame: @@ -1454,7 +1459,7 @@ // render if (dockWidget->isFloating()) { _helper->renderMenuFrame(&painter, rect, background, outline, false); - } else if (Adwaita::Config::DockWidgetDrawFrame || (dockWidget->features() & QDockWidget::AllDockWidgetFeatures)) { + } else if (Adwaita::Config::DockWidgetDrawFrame || (dockWidget->features() & (QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable))) { _helper->renderFrame(&painter, rect, background, outline); } } @@ -1743,8 +1748,8 @@ bool textVisible(progressBarOption->textVisible); bool busy(progressBarOption->minimum == 0 && progressBarOption->maximum == 0); - const QStyleOptionProgressBarV2 *progressBarOption2(qstyleoption_cast(option)); - bool horizontal(!progressBarOption2 || progressBarOption2->orientation == Qt::Horizontal); + const QStyleOptionProgressBar *progressBarOption2(qstyleoption_cast(option)); + bool horizontal(!progressBarOption2 || progressBarOption2->state == QStyle::State_Horizontal); // copy rectangle and adjust QRect rect(option->rect); @@ -1786,8 +1791,8 @@ return rect; // get orientation - const QStyleOptionProgressBarV2 *progressBarOption2(qstyleoption_cast(option)); - bool horizontal(!progressBarOption2 || progressBarOption2->orientation == Qt::Horizontal); + const QStyleOptionProgressBar *progressBarOption2(qstyleoption_cast(option)); + bool horizontal(!progressBarOption2 || progressBarOption2->state == QStyle::State_Horizontal); // check inverted appearance bool inverted(progressBarOption2 ? progressBarOption2->invertedAppearance : false); @@ -1827,8 +1832,8 @@ return QRect(); // get direction and check - const QStyleOptionProgressBarV2 *progressBarOption2(qstyleoption_cast(option)); - bool horizontal(!progressBarOption2 || progressBarOption2->orientation == Qt::Horizontal); + const QStyleOptionProgressBar *progressBarOption2(qstyleoption_cast(option)); + bool horizontal(!progressBarOption2 || progressBarOption2->state == QStyle::State_Horizontal); if (!horizontal) return QRect(); @@ -1898,7 +1903,7 @@ QRect Style::tabBarTabLeftButtonRect(const QStyleOption *option, const QWidget *) const { // cast option and check - const QStyleOptionTabV3 *tabOptionV3(qstyleoption_cast(option)); + const QStyleOptionTab *tabOptionV3(qstyleoption_cast(option)); if (!tabOptionV3 || tabOptionV3->leftButtonSize.isEmpty()) return QRect(); @@ -1941,7 +1946,7 @@ QRect Style::tabBarTabRightButtonRect(const QStyleOption *option, const QWidget *) const { // cast option and check - const QStyleOptionTabV3 *tabOptionV3(qstyleoption_cast(option)); + const QStyleOptionTab *tabOptionV3(qstyleoption_cast(option)); if (!tabOptionV3 || tabOptionV3->rightButtonSize.isEmpty()) return QRect(); @@ -2972,7 +2977,12 @@ size.setHeight(qMax(size.height(), iconWidth)); if (!menuItemOption->text.isEmpty()) { size.setHeight(qMax(size.height(), textHeight)); +#if QT_VERSION < QT_VERSION_CHECK(5,11,0) size.setWidth(qMax(size.width(), menuItemOption->fontMetrics.width(menuItemOption->text))); +#else + size.setWidth(qMax(size.width(), menuItemOption->fontMetrics.horizontalAdvance(menuItemOption->text))); +#endif + } return sizeFromContents(CT_ToolButton, &toolButtonOption, size, widget); @@ -2993,8 +3003,8 @@ if (!progressBarOption) return contentsSize; - const QStyleOptionProgressBarV2 *progressBarOption2(qstyleoption_cast(option)); - bool horizontal(!progressBarOption2 || progressBarOption2->orientation == Qt::Horizontal); + const QStyleOptionProgressBar *progressBarOption2(qstyleoption_cast(option)); + bool horizontal(!progressBarOption2 || progressBarOption2->state == QStyle::State_Horizontal); // make local copy QSize size(contentsSize); @@ -3065,7 +3075,7 @@ QSize Style::tabBarTabSizeFromContents(const QStyleOption *option, const QSize &contentsSize, const QWidget *) const { const QStyleOptionTab *tabOption(qstyleoption_cast(option)); - const QStyleOptionTabV3 *tabOptionV3(qstyleoption_cast(option)); + const QStyleOptionTab *tabOptionV3(qstyleoption_cast(option)); bool hasText(tabOption && !tabOption->text.isEmpty()); bool hasIcon(tabOption && !tabOption->icon.isNull()); bool hasLeftButton(tabOptionV3 && !tabOptionV3->leftButtonSize.isEmpty()); @@ -3086,7 +3096,11 @@ QSize size(contentsSize); if (hasText) { +#if QT_VERSION < QT_VERSION_CHECK(5,11,0) widthIncrement += option->fontMetrics.width(tabOption->text) * 0.2; +#else + widthIncrement += option->fontMetrics.horizontalAdvance(tabOption->text) * 0.2; +#endif } // compare to minimum size @@ -3253,12 +3267,13 @@ //___________________________________________________________________________________ bool Style::drawFrameFocusRectPrimitive(const QStyleOption *option, QPainter *painter, const QWidget *widget) const { + Q_UNUSED(widget) #if QT_VERSION >= 0x050000 if (option->styleObject && option->styleObject->property("elementType") == QLatin1String("button")) return true; #endif - const State &state(option->state); + //const State &state(option->state); QRectF rect(QRectF(option->rect).adjusted(0, 0, -1, -1)); const QPalette &palette(option->palette); @@ -3305,6 +3320,8 @@ //______________________________________________________________ bool Style::drawFrameGroupBoxPrimitive(const QStyleOption *option, QPainter *painter, const QWidget *) const { + Q_UNUSED(option) + Q_UNUSED(painter) return true; } @@ -3312,7 +3329,7 @@ bool Style::drawFrameTabWidgetPrimitive(const QStyleOption *option, QPainter *painter, const QWidget *widget) const { // cast option and check - const QStyleOptionTabWidgetFrameV2 *tabOption(qstyleoption_cast(option)); + const QStyleOptionTabWidgetFrame *tabOption(qstyleoption_cast(option)); if (!tabOption) return true; @@ -3768,7 +3785,7 @@ bool Style::drawPanelItemViewItemPrimitive(const QStyleOption *option, QPainter *painter, const QWidget *widget) const { // cast option and check - const QStyleOptionViewItemV4 *viewItemOption = qstyleoption_cast(option); + const QStyleOptionViewItem *viewItemOption = qstyleoption_cast(option); if (!viewItemOption) return false; @@ -4537,12 +4554,12 @@ return false; // need to alter palette for focused buttons - const State &state(option->state); - bool enabled(state & State_Enabled); - bool sunken(state & (State_On | State_Sunken)); - bool mouseOver((state & State_Active) && enabled && (option->state & State_MouseOver)); - bool hasFocus(enabled && !mouseOver && (option->state & State_HasFocus)); - bool flat(!comboBoxOption->frame); + //const State &state(option->state); + //bool enabled(state & State_Enabled); + //bool sunken(state & (State_On | State_Sunken)); + //bool mouseOver((state & State_Active) && enabled && (option->state & State_MouseOver)); + //bool hasFocus(enabled && !mouseOver && (option->state & State_HasFocus)); + //bool flat(!comboBoxOption->frame); QPalette::ColorRole textRole = QPalette::ButtonText; @@ -4665,7 +4682,7 @@ // store state const State &state(option->state); bool enabled(state & State_Enabled); - bool selected(enabled && (state & State_Selected)); + //bool selected(enabled && (state & State_Selected)); bool sunken(enabled && (state & State_Sunken)); bool useStrongFocus(Adwaita::Config::MenuItemDrawStrongFocus); @@ -4747,7 +4764,7 @@ QColor color = _helper->focusColor(palette); QColor outlineColor = Qt::transparent; - Sides sides = 0; + Sides sides = Side::SideNone; _helper->renderFocusRect(painter, rect, color, outlineColor, sides); } @@ -4765,7 +4782,7 @@ contentsRect.setLeft(Metrics::CheckBox_Size + Metrics::MenuItem_ItemSpacing); CheckBoxState checkState(menuItemOption->checked ? CheckOn : CheckOff); - const QColor &outline(palette.foreground().color()); + const QColor &outline(palette.windowText().color()); const QColor &indicatorBackground(_helper->indicatorBackgroundColor(palette, mouseOver, false, false, AnimationData::OpacityInvalid, AnimationNone, checkState, _dark, true)); // render checkbox indicator if (menuItemOption->checkType == QStyleOptionMenuItem::NonExclusive) { @@ -4901,7 +4918,7 @@ return true; // render groove - QStyleOptionProgressBarV2 progressBarOption2 = *progressBarOption; + QStyleOptionProgressBar progressBarOption2 = *progressBarOption; progressBarOption2.rect = subElementRect(SE_ProgressBarGroove, progressBarOption, widget); drawControl(CE_ProgressBarGroove, &progressBarOption2, painter, widget); @@ -4956,8 +4973,8 @@ const QPalette &palette(option->palette); // get direction - const QStyleOptionProgressBarV2 *progressBarOption2(qstyleoption_cast(option)); - bool horizontal = !progressBarOption2 || progressBarOption2->orientation == Qt::Horizontal; + const QStyleOptionProgressBar *progressBarOption2(qstyleoption_cast(option)); + bool horizontal = !progressBarOption2 || progressBarOption2->state == QStyle::State_Horizontal; bool inverted(progressBarOption2 ? progressBarOption2->invertedAppearance : false); bool reverse = horizontal && option->direction == Qt::RightToLeft; if (inverted) @@ -5014,8 +5031,8 @@ return true; // get direction and check - const QStyleOptionProgressBarV2 *progressBarOption2(qstyleoption_cast(option)); - bool horizontal = !progressBarOption2 || progressBarOption2->orientation == Qt::Horizontal; + const QStyleOptionProgressBar *progressBarOption2(qstyleoption_cast(option)); + bool horizontal = !progressBarOption2 || progressBarOption2->state == QStyle::State_Horizontal; if (!horizontal) return true; @@ -5228,7 +5245,7 @@ bool Style::drawShapedFrameControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const { // cast option and check - const QStyleOptionFrameV3 *frameOpt = qstyleoption_cast(option); + const QStyleOptionFrame *frameOpt = qstyleoption_cast(option); if (!frameOpt) return false; @@ -5302,8 +5319,8 @@ // update animation state _animations->headerViewEngine().updateState(widget, rect.topLeft(), mouseOver); - bool animated(enabled && _animations->headerViewEngine().isAnimated(widget, rect.topLeft())); - qreal opacity(_animations->headerViewEngine().opacity(widget, rect.topLeft())); + //bool animated(enabled && _animations->headerViewEngine().isAnimated(widget, rect.topLeft())); + //qreal opacity(_animations->headerViewEngine().opacity(widget, rect.topLeft())); QBrush color = palette.base(); @@ -5411,7 +5428,7 @@ bool Style::drawTabBarTabLabelControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const { if (const QStyleOptionTab *tab = qstyleoption_cast(option)) { - QStyleOptionTabV3 tabV2(*tab); + QStyleOptionTab tabV2(*tab); QRect tr = tabV2.rect; bool verticalTabs = tabV2.shape == QTabBar::RoundedEast || tabV2.shape == QTabBar::RoundedWest @@ -5487,7 +5504,7 @@ // store rect and palette const QRect &rect(option->rect); - const QPalette &palette(option->palette); + //const QPalette &palette(option->palette); // check focus const State &state(option->state); @@ -5498,7 +5515,7 @@ // update mouse over animation state _animations->tabBarEngine().updateState(widget, rect.topLeft(), AnimationFocus, hasFocus); bool animated(enabled && selected && _animations->tabBarEngine().isAnimated(widget, rect.topLeft(), AnimationFocus)); - qreal opacity(_animations->tabBarEngine().opacity(widget, rect.topLeft(), AnimationFocus)); + //qreal opacity(_animations->tabBarEngine().opacity(widget, rect.topLeft(), AnimationFocus)); if (!(hasFocus || animated)) return true; @@ -5568,8 +5585,8 @@ // update mouse over animation state _animations->tabBarEngine().updateState(widget, rect.topLeft(), AnimationHover, mouseOver); - bool animated(enabled && !selected && _animations->tabBarEngine().isAnimated(widget, rect.topLeft(), AnimationHover)); - qreal opacity(_animations->tabBarEngine().opacity(widget, rect.topLeft(), AnimationHover)); + //bool animated(enabled && !selected && _animations->tabBarEngine().isAnimated(widget, rect.topLeft(), AnimationHover)); + //qreal opacity(_animations->tabBarEngine().opacity(widget, rect.topLeft(), AnimationHover)); // lock state if (selected && widget && isDragged) @@ -5787,7 +5804,7 @@ bool reverseLayout(option->direction == Qt::RightToLeft); // cast to v2 to check vertical bar - const QStyleOptionDockWidgetV2 *v2 = qstyleoption_cast(option); + const QStyleOptionDockWidget *v2 = qstyleoption_cast(option); bool verticalTitleBar(v2 ? v2->verticalTitleBar : false); QRect buttonRect(subElementRect(dockWidgetOption->floatable ? SE_DockWidgetFloatButton : SE_DockWidgetCloseButton, option, widget)); @@ -6145,7 +6162,7 @@ if (option->subControls & SC_ComboBoxArrow) { // detect empty comboboxes const QComboBox *comboBox = qobject_cast(widget); - bool empty(comboBox && !comboBox->count()); + //bool empty(comboBox && !comboBox->count()); // arrow color QColor arrowColor = _helper->arrowColor(palette, QPalette::ButtonText); @@ -6654,7 +6671,7 @@ bool subControlSunken(enabled && (sunken) && (option->activeSubControls & subControl)); _animations->spinBoxEngine().updateState(widget, subControl, subControlHover, subControlSunken); - bool animated(enabled && _animations->spinBoxEngine().isAnimated(widget, subControl)); + //bool animated(enabled && _animations->spinBoxEngine().isAnimated(widget, subControl)); qreal opacity(_animations->spinBoxEngine().opacity(widget, subControl)); qreal pressedOpacity(_animations->spinBoxEngine().pressed(widget, subControl)); diff -Nru texstudio-4.0.0/src/adwaita-qt/style/adwaitawindowmanager.cpp texstudio-4.0.0/src/adwaita-qt/style/adwaitawindowmanager.cpp --- texstudio-4.0.0/src/adwaita-qt/style/adwaitawindowmanager.cpp 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/adwaita-qt/style/adwaitawindowmanager.cpp 2021-07-26 16:25:57.000000000 +0000 @@ -637,7 +637,7 @@ // gather options to retrieve checkbox subcontrol rect QStyleOptionGroupBox opt; opt.initFrom( groupBox ); - if( groupBox->isFlat() ) opt.features |= QStyleOptionFrameV2::Flat; + if( groupBox->isFlat() ) opt.features |= QStyleOptionFrame::Flat; opt.lineWidth = 1; opt.midLineWidth = 0; opt.text = groupBox->title(); diff -Nru texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitiondata.h texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitiondata.h --- texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitiondata.h 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitiondata.h 2021-07-26 16:25:57.000000000 +0000 @@ -30,7 +30,7 @@ #include "adwaitatransitionwidget.h" #include -#include +#include #include namespace Adwaita @@ -76,13 +76,13 @@ //* start clock void startClock( void ) { - if( _clock.isNull() ) _clock.start(); + if( !_clock.isValid() ) _clock.start(); else _clock.restart(); } //* check if rendering is two slow bool slow( void ) const - { return !( _clock.isNull() || _clock.elapsed() <= maxRenderTime() ); } + { return !( !_clock.isValid() || _clock.elapsed() <= maxRenderTime() ); } protected Q_SLOTS: @@ -118,7 +118,7 @@ bool _recursiveCheck = false; //* timer used to detect slow rendering - QTime _clock; + QElapsedTimer _clock; //* max render time /*! used to detect slow rendering */ diff -Nru texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitionwidget.cpp texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitionwidget.cpp --- texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitionwidget.cpp 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/adwaita-qt/style/animations/adwaitatransitionwidget.cpp 2021-07-26 16:25:57.000000000 +0000 @@ -224,7 +224,7 @@ widgets.append( parent ); // stop at topLevel - if( parent->isTopLevel() || parent->autoFillBackground() ) break; + if( parent->isWindow() || parent->autoFillBackground() ) break; } @@ -245,7 +245,7 @@ } - if( parent->isTopLevel() && parent->testAttribute(Qt::WA_StyledBackground)) + if( parent->isWindow() && parent->testAttribute(Qt::WA_StyledBackground)) { QStyleOption option; option.initFrom(parent); @@ -262,7 +262,11 @@ for( int i = widgets.size() - 1; i>=0; i-- ) { QWidget* w = widgets.at(i); +#if QT_VERSION_MAJOR<6 w->render( &p, -widget->mapTo( w, rect.topLeft() ), rect, 0 ); +#else + w->render( &p, -widget->mapTo( w, rect.topLeft() ), rect, RenderFlag::None ); +#endif } // end diff -Nru texstudio-4.0.0/src/buildmanager.cpp texstudio-4.0.0/src/buildmanager.cpp --- texstudio-4.0.0/src/buildmanager.cpp 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/buildmanager.cpp 2021-07-26 16:25:57.000000000 +0000 @@ -2168,7 +2168,7 @@ if (slash == -1) return false; QString topic = ddePseudoURL.left(slash); ddePseudoURL.remove(0, slash + 1); - QStringList commands = ddePseudoURL.split("[", QString::SkipEmptyParts); + QStringList commands = ddePseudoURL.split("[", Qt::SkipEmptyParts); if (commands.isEmpty()) return false; diff -Nru texstudio-4.0.0/src/pdfviewer/PDFDocument.cpp texstudio-4.0.0/src/pdfviewer/PDFDocument.cpp --- texstudio-4.0.0/src/pdfviewer/PDFDocument.cpp 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/pdfviewer/PDFDocument.cpp 2021-07-26 16:25:57.000000000 +0000 @@ -4183,58 +4183,58 @@ } if (!printer.printerName().isEmpty()) { -#ifdef Q_OS_WIN32 +#if defined(Q_OS_WIN32) && QT_VERSION_MAJOR<6 QString paper; switch (printer.paperSize()) { - case QPrinter::A0: + case QPageSize::A0: paper = "a0"; break; - case QPrinter::A1: + case QPageSize::A1: paper = "a1"; break; - case QPrinter::A2: + case QPageSize::A2: paper = "a2"; break; - case QPrinter::A3: + case QPageSize::A3: paper = "a3"; break; - case QPrinter::A4: + case QPageSize::A4: paper = "a4"; break; - case QPrinter::A5: + case QPageSize::A5: paper = "a5"; break; - case QPrinter::A6: + case QPageSize::A6: paper = "a6"; break; - case QPrinter::B0: + case QPageSize::B0: paper = "isob0"; break; - case QPrinter::B1: + case QPageSize::B1: paper = "isob1"; break; - case QPrinter::B2: + case QPageSize::B2: paper = "isob2"; break; - case QPrinter::B3: + case QPageSize::B3: paper = "isob3"; break; - case QPrinter::B4: + case QPageSize::B4: paper = "isob4"; break; - case QPrinter::B5: + case QPageSize::B5: paper = "isob5"; break; - case QPrinter::B6: + case QPageSize::B6: paper = "isob6"; break; - case QPrinter::Letter: + case QPageSize::Letter: paper = "letter"; break; - case QPrinter::Ledger: + case QPageSize::Ledger: paper = "ledger"; break; - case QPrinter::Legal: + case QPageSize::Legal: paper = "legal"; break; default: diff -Nru texstudio-4.0.0/src/texstudio.cpp texstudio-4.0.0/src/texstudio.cpp --- texstudio-4.0.0/src/texstudio.cpp 2021-07-25 16:30:54.000000000 +0000 +++ texstudio-4.0.0/src/texstudio.cpp 2021-07-26 16:25:57.000000000 +0000 @@ -1202,9 +1202,7 @@ newManagedAction(menu, "array", tr("Quick &Array..."), SLOT(quickArray())); newManagedAction(menu, "graphic", tr("Insert &Graphic..."), SLOT(quickGraphics()), QKeySequence(), "image"); #ifdef Q_OS_WIN - if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { - newManagedAction(menu, "math", tr("Math Assistant..."), SLOT(quickMath()), QKeySequence(), "TexTablet"); - } + newManagedAction(menu, "math", tr("Math Assistant..."), SLOT(quickMath()), QKeySequence(), "TexTablet"); #endif menu = newManagedMenu("main/bibliography", tr("&Bibliography"));