Build fix for -no-feature-action
Change-Id: I62291af347dca7c1bb4a53d2cb698e4f1a38743d Reviewed-by: Lars Knoll <lars.knoll@qt.io>bb10
parent
782e1caa9f
commit
e97d6fd52c
|
|
@ -437,6 +437,7 @@ bool QLineEdit::hasFrame() const
|
|||
\since 5.2
|
||||
*/
|
||||
|
||||
#if QT_CONFIG(action)
|
||||
/*!
|
||||
\overload
|
||||
|
||||
|
|
@ -466,7 +467,7 @@ QAction *QLineEdit::addAction(const QIcon &icon, ActionPosition position)
|
|||
addAction(result, position);
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif // QT_CONFIG(action)
|
||||
/*!
|
||||
\property QLineEdit::clearButtonEnabled
|
||||
\brief Whether the line edit displays a clear button when it is not empty.
|
||||
|
|
@ -483,6 +484,7 @@ static const char clearButtonActionNameC[] = "_q_qlineeditclearaction";
|
|||
|
||||
void QLineEdit::setClearButtonEnabled(bool enable)
|
||||
{
|
||||
#if QT_CONFIG(action)
|
||||
Q_D(QLineEdit);
|
||||
if (enable == isClearButtonEnabled())
|
||||
return;
|
||||
|
|
@ -497,11 +499,16 @@ void QLineEdit::setClearButtonEnabled(bool enable)
|
|||
d->removeAction(clearAction);
|
||||
delete clearAction;
|
||||
}
|
||||
#endif // QT_CONFIG(action)
|
||||
}
|
||||
|
||||
bool QLineEdit::isClearButtonEnabled() const
|
||||
{
|
||||
#if QT_CONFIG(action)
|
||||
return findChild<QAction *>(QLatin1String(clearButtonActionNameC));
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void QLineEdit::setFrame(bool enable)
|
||||
|
|
@ -1432,8 +1439,10 @@ bool QLineEdit::event(QEvent * e)
|
|||
|| style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, this))
|
||||
d->setCursorVisible(true);
|
||||
}
|
||||
#if QT_CONFIG(action)
|
||||
} else if (e->type() == QEvent::ActionRemoved) {
|
||||
d->removeAction(static_cast<QActionEvent *>(e)->action());
|
||||
#endif
|
||||
} else if (e->type() == QEvent::Resize) {
|
||||
d->positionSideWidgets();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -174,9 +174,11 @@ public:
|
|||
void getTextMargins(int *left, int *top, int *right, int *bottom) const;
|
||||
QMargins textMargins() const;
|
||||
|
||||
#if QT_CONFIG(action)
|
||||
using QWidget::addAction;
|
||||
void addAction(QAction *action, ActionPosition position);
|
||||
QAction *addAction(const QIcon &icon, ActionPosition position);
|
||||
#endif
|
||||
|
||||
public Q_SLOTS:
|
||||
void setText(const QString &);
|
||||
|
|
|
|||
|
|
@ -448,12 +448,14 @@ QIcon QLineEditPrivate::clearButtonIcon() const
|
|||
|
||||
void QLineEditPrivate::setClearButtonEnabled(bool enabled)
|
||||
{
|
||||
#if QT_CONFIG(action)
|
||||
for (const SideWidgetEntry &e : trailingSideWidgets) {
|
||||
if (e.flags & SideWidgetClearButton) {
|
||||
e.action->setEnabled(enabled);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void QLineEditPrivate::positionSideWidgets()
|
||||
|
|
@ -467,14 +469,18 @@ void QLineEditPrivate::positionSideWidgets()
|
|||
QSize(p.widgetWidth, p.widgetHeight));
|
||||
for (const SideWidgetEntry &e : leftSideWidgetList()) {
|
||||
e.widget->setGeometry(widgetGeometry);
|
||||
#if QT_CONFIG(action)
|
||||
if (e.action->isVisible())
|
||||
widgetGeometry.moveLeft(widgetGeometry.left() + delta);
|
||||
#endif
|
||||
}
|
||||
widgetGeometry.moveLeft(contentRect.width() - p.widgetWidth - p.margin);
|
||||
for (const SideWidgetEntry &e : rightSideWidgetList()) {
|
||||
e.widget->setGeometry(widgetGeometry);
|
||||
#if QT_CONFIG(action)
|
||||
if (e.action->isVisible())
|
||||
widgetGeometry.moveLeft(widgetGeometry.left() - delta);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -508,10 +514,12 @@ QWidget *QLineEditPrivate::addAction(QAction *newAction, QAction *before, QLineE
|
|||
QWidget *w = 0;
|
||||
// Store flags about QWidgetAction here since removeAction() may be called from ~QAction,
|
||||
// in which a qobject_cast<> no longer works.
|
||||
#if QT_CONFIG(action)
|
||||
if (QWidgetAction *widgetAction = qobject_cast<QWidgetAction *>(newAction)) {
|
||||
if ((w = widgetAction->requestWidget(q)))
|
||||
flags |= SideWidgetCreatedByWidgetAction;
|
||||
}
|
||||
#endif
|
||||
if (!w) {
|
||||
#if QT_CONFIG(toolbutton)
|
||||
QLineEditIconButton *toolButton = new QLineEditIconButton(q);
|
||||
|
|
@ -538,6 +546,7 @@ QWidget *QLineEditPrivate::addAction(QAction *newAction, QAction *before, QLineE
|
|||
|
||||
void QLineEditPrivate::removeAction(QAction *action)
|
||||
{
|
||||
#if QT_CONFIG(action)
|
||||
Q_Q(QLineEdit);
|
||||
const PositionIndexPair positionIndex = findSideWidget(action);
|
||||
if (positionIndex.second == -1)
|
||||
|
|
@ -553,6 +562,7 @@ void QLineEditPrivate::removeAction(QAction *action)
|
|||
if (!hasSideWidgets()) // Last widget, remove connection
|
||||
QObject::disconnect(q, SIGNAL(textChanged(QString)), q, SLOT(_q_textChanged(QString)));
|
||||
q->update();
|
||||
#endif // QT_CONFIG(action)
|
||||
}
|
||||
|
||||
static bool isSideWidgetVisible(const QLineEditPrivate::SideWidgetEntry &e)
|
||||
|
|
|
|||
Loading…
Reference in New Issue