11 #include <QToolButton>
12 #include <QApplication>
21 : ClearLineEditAddon { proxy, edit,
new LineEditButtonManager { edit } }
28 , Button_ {
new QToolButton { edit } }
29 , EscShortcut_ {
new QShortcut { Qt::Key_Escape, edit, SLOT (clear ()),
nullptr, Qt::WidgetShortcut } }
31 const bool isRtl = QApplication::layoutDirection () == Qt::RightToLeft;
32 const auto& icon = proxy->GetIconThemeManager ()->GetIcon (isRtl ?
33 QStringLiteral (
"edit-clear-locationbar-ltr") :
34 QStringLiteral (
"edit-clear-locationbar-rtl"));
36 Button_->setIconSize (QSize (16, 16));
37 Button_->setIcon (icon);
38 Button_->setCursor (Qt::ArrowCursor);
39 Button_->setStyleSheet (QStringLiteral (
"QToolButton { border: none; padding: 0px; }"));
43 &QToolButton::clicked,
48 &QLineEdit::textChanged,
50 [
this] (
const QString& str) { Button_->setVisible (!str.isEmpty ()); });
51 Button_->setVisible (!edit->text ().isEmpty ());
58 EscShortcut_->setEnabled (clears);