DisplayFilterEdit::DisplayFilterEdit(QWidget *parent) : QLineEdit(parent) { fieldNameOnly = false; m_syntaxState = Empty; emptyFilterMessage = QString(tr("Apply a display filter %1 <%2/>")).arg(UTF8_HORIZONTAL_ELLIPSIS) .arg(DEFAULT_MODIFIER); setAccessibleName(tr("Display filter entry")); // DFCombo // Bookmark (star) // DispalyFilterEdit // Clear button // Apply (right arrow) + Cancel (x) + Reload (arrowed circle) // Down Arrow // XXX - Move bookmark and apply buttons to the toolbar a la Firefox, Chrome & Safari? // XXX - Use native buttons on OS X? bookmarkButton = new QToolButton(this); bookmarkButton->setCursor(Qt::ArrowCursor); bookmarkButton->setStyleSheet( "QToolButton { /* all types of tool button */" " border 0 0 0 0;" " border-right: 1px solid gray;" " border-top-left-radius: 3px;" " border-bottom-left-radius: 3px;" " padding-left: 1px;" " image: url(:/dfilter/dfilter_bookmark_normal.png);" // " background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," // " stop: 0 #f6f7fa, stop: 1 #dadbde);" "}" "QToolButton:hover {" " image: url(:/dfilter/dfilter_bookmark_hover.png);" "}" "QToolButton:pressed {" " image: url(:/dfilter/dfilter_bookmark_pressed.png);" "}" // "QToolButton:pressed {" // " background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," // " stop: 0 #dadbde, stop: 1 #f6f7fa);" // "}" ); connect(bookmarkButton, SIGNAL(clicked()), this, SLOT(showDisplayFilterDialog())); clearButton = new QToolButton(this); clearButton->setCursor(Qt::ArrowCursor); clearButton->setStyleSheet( "QToolButton {" " image: url(:/dfilter/dfilter_erase_normal.png);" " border: none;" " width: 16px;" "}" "QToolButton:hover {" " image: url(:/dfilter/dfilter_erase_active.png);" "}" "QToolButton:pressed {" " image: url(:/dfilter/dfilter_erase_selected.png);" "}" ); clearButton->hide(); connect(clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), this, SLOT(checkFilter(const QString&))); applyButton = new QToolButton(this); applyButton->setCursor(Qt::ArrowCursor); applyButton->setStyleSheet( "QToolButton { /* all types of tool button */" " border 0 0 0 0;" " border-top-right-radius: 3px;" " border-bottom-right-radius: 3px;" " padding-right: 1px;" " image: url(:/dfilter/dfilter_apply_normal.png);" "}" "QToolButton:hover {" " image: url(:/dfilter/dfilter_apply_hover.png);" "}" "QToolButton:pressed {" " image: url(:/dfilter/dfilter_apply_pressed.png);" "}" ); connect(applyButton, SIGNAL(clicked()), this, SLOT(applyDisplayFilter())); connect(this, SIGNAL(returnPressed()), this, SLOT(applyDisplayFilter())); int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth); QSize bksz = bookmarkButton->sizeHint(); QSize cbsz = clearButton->sizeHint(); QSize apsz = applyButton->sizeHint(); syntaxStyleSheet = QString( "DisplayFilterEdit {" " padding-left: %1px;" " margin-left: %2px;" " margin-right: %3px;" " background: transparent;" "}" // Should the backgrounds fade away on the right? // Tango "Scarlet Red" "DisplayFilterEdit[syntaxState=\"%4\"] {" " color: white;" " background-color: rgba(239, 41, 41, 128);" "}" // Tango "Butter" "DisplayFilterEdit[syntaxState=\"%5\"] {" " color: black;" " background-color: rgba(252, 233, 79, 128);" "}" // Tango "Chameleon "DisplayFilterEdit[syntaxState=\"%6\"] {" " color: black;" " background-color: rgba(138, 226, 52, 128);" "}" ) .arg(frameWidth + 1) .arg(bksz.width()) .arg(cbsz.width() + apsz.width() + frameWidth + 1) .arg(Invalid) .arg(Deprecated) .arg(Valid); setStyleSheet(syntaxStyleSheet); }
DisplayFilterEdit::DisplayFilterEdit(QWidget *parent, bool plain) : SyntaxLineEdit(parent), plain_(plain), field_name_only_(false) { setAccessibleName(tr("Display filter entry")); if (plain_) { empty_filter_message_ = QString(tr("Enter a display filter %1")).arg(UTF8_HORIZONTAL_ELLIPSIS); } else { empty_filter_message_ = QString(tr("Apply a display filter %1 <%2/>")).arg(UTF8_HORIZONTAL_ELLIPSIS) .arg(DEFAULT_MODIFIER); } // DFCombo // Bookmark (star) // DispalyFilterEdit // Clear button // Apply (right arrow) + Cancel (x) + Reload (arrowed circle) // Down Arrow // XXX - Move bookmark and apply buttons to the toolbar a la Firefox, Chrome & Safari? // XXX - Use native buttons on OS X? bookmark_button_ = new QToolButton(this); bookmark_button_->setCursor(Qt::ArrowCursor); bookmark_button_->setStyleSheet(QString( "QToolButton { /* all types of tool button */" " border 0 0 0 0;" " border-right: %1px solid gray;" " border-top-left-radius: 3px;" " border-bottom-left-radius: 3px;" " padding-left: 1px;" " image: url(:/dfilter/dfilter_bookmark_normal.png);" // " background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," // " stop: 0 #f6f7fa, stop: 1 #dadbde);" "}" "QToolButton:hover {" " image: url(:/dfilter/dfilter_bookmark_hover.png);" "}" "QToolButton:pressed {" " image: url(:/dfilter/dfilter_bookmark_pressed.png);" "}" // "QToolButton:pressed {" // " background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," // " stop: 0 #dadbde, stop: 1 #f6f7fa);" // "}" ).arg(plain_ ? 0 : 1) ); connect(bookmark_button_, SIGNAL(clicked()), this, SLOT(showDisplayFilterDialog())); clear_button_ = new QToolButton(this); clear_button_->setCursor(Qt::ArrowCursor); clear_button_->setStyleSheet( "QToolButton {" " image: url(:/dfilter/dfilter_erase_normal.png);" " border: none;" " width: 16px;" "}" "QToolButton:hover {" " image: url(:/dfilter/dfilter_erase_active.png);" "}" "QToolButton:pressed {" " image: url(:/dfilter/dfilter_erase_selected.png);" "}" ); clear_button_->hide(); connect(clear_button_, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), this, SLOT(checkFilter(const QString&))); apply_button_ = NULL; if (!plain_) { apply_button_ = new QToolButton(this); apply_button_->setCursor(Qt::ArrowCursor); apply_button_->setStyleSheet( "QToolButton { /* all types of tool button */" " border 0 0 0 0;" " border-top-right-radius: 3px;" " border-bottom-right-radius: 3px;" " padding-right: 1px;" " image: url(:/dfilter/dfilter_apply_normal.png);" "}" "QToolButton:hover {" " image: url(:/dfilter/dfilter_apply_hover.png);" "}" "QToolButton:pressed {" " image: url(:/dfilter/dfilter_apply_pressed.png);" "}" ); connect(apply_button_, SIGNAL(clicked()), this, SLOT(applyDisplayFilter())); connect(this, SIGNAL(returnPressed()), this, SLOT(applyDisplayFilter())); } int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth); QSize bksz = bookmark_button_->sizeHint(); QSize cbsz = clear_button_->sizeHint(); QSize apsz; if (apply_button_) { apsz = apply_button_->sizeHint(); } else { apsz.setHeight(0); apsz.setWidth(0); } setStyleSheet(QString( "DisplayFilterEdit {" " padding-left: %1px;" " margin-left: %2px;" " margin-right: %3px;" "}" ) .arg(frameWidth + 1) .arg(bksz.width()) .arg(cbsz.width() + apsz.width() + frameWidth + 1) ); }