void LineEdit::init() { m_leftWidget = new SideWidget(this); m_leftWidget->resize(0, 0); m_leftLayout = new QHBoxLayout(m_leftWidget); m_leftLayout->setContentsMargins(0, 0, 0, 0); if (isRightToLeft()) m_leftLayout->setDirection(QBoxLayout::RightToLeft); else m_leftLayout->setDirection(QBoxLayout::LeftToRight); m_leftLayout->setSizeConstraint(QLayout::SetFixedSize); m_rightWidget = new SideWidget(this); m_rightWidget->resize(0, 0); m_rightLayout = new QHBoxLayout(m_rightWidget); if (isRightToLeft()) m_rightLayout->setDirection(QBoxLayout::RightToLeft); else m_rightLayout->setDirection(QBoxLayout::LeftToRight); m_rightLayout->setContentsMargins(0, 0, 0, 0); QSpacerItem *horizontalSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); m_rightLayout->addItem(horizontalSpacer); setWidgetSpacing(3); connect(m_leftWidget, SIGNAL(sizeHintChanged()), this, SLOT(updateTextMargins())); connect(m_rightWidget, SIGNAL(sizeHintChanged()), this, SLOT(updateTextMargins())); }
LocationBar::LocationBar(QWidget *parent) : LineEdit(parent) , m_webView(0) , m_siteIcon(0) , m_privacyIndicator(0) { // Urls are always LeftToRight setLayoutDirection(Qt::LeftToRight); setUpdatesEnabled(false); // site icon on the left m_siteIcon = new LocationBarSiteIcon(this); addWidget(m_siteIcon, LeftSide); // privacy indicator at rightmost position m_privacyIndicator = new PrivacyIndicator(this); addWidget(m_privacyIndicator, RightSide); // clear button on the right ClearButton *m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); updateTextMargins(); setUpdatesEnabled(true); }
LocationBar::LocationBar(QWidget *parent) : LineEdit(parent) , m_webView(0) , m_siteIcon(0) { // Urls are always LeftToRight setLayoutDirection(Qt::LeftToRight); setUpdatesEnabled(false); // site icon on the left m_siteIcon = new LocationBarSiteIcon(this); addWidget(m_siteIcon, LeftSide); // clear button on the right ClearButton *m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); m_clearButton->hide(); updateTextMargins(); setUpdatesEnabled(true); m_defaultBaseColor = palette().color(QPalette::Base); QPalette p = palette(); p.setColor(QPalette::Base, QColor(255, 255, 255, 100)); setPalette(p); }
void SearchLineEdit::updateGeometries() { int menuHeight = height(); int menuWidth = menuHeight + 1; if (!m_searchButton->m_menu) menuWidth = (menuHeight / 5) * 4; m_searchButton->setMinimumSize(QSize(menuWidth, menuHeight)); m_searchButton->resize(menuWidth, menuHeight); updateTextMargins(); }
void LocationBar::showGoButton() { m_rssIconVisible = m_rssIcon->isVisible(); m_bookmarkIcon->hide(); m_rssIcon->hide(); m_goIcon->show(); updateTextMargins(); }
void LocationBar::hideGoButton() { m_rssIcon->setVisible(m_rssIconVisible); m_bookmarkIcon->show(); if (!qzSettings->alwaysShowGoIcon) { m_goIcon->hide(); } updateTextMargins(); }
void LocationBar::hideGoButton() { if (!m_goIcon->isVisible()) { return; } m_rssIcon->setVisible(m_rssIconVisible); m_bookmarkIcon->show(); m_goIcon->hide(); updateTextMargins(); }
void LocationBar::setGoIconVisible(bool state) { if (state) { m_bookmarkIcon->hide(); m_goIcon->show(); } else { m_bookmarkIcon->show(); if (!qzSettings->alwaysShowGoIcon) { m_goIcon->hide(); } } updateTextMargins(); }
void SearchLineEdit::init() { // search button on the left m_searchButton = new SearchButton(this); addWidget(m_searchButton, LeftSide); // clear button on the right m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); m_clearButton->hide(); updateTextMargins(); setInactiveText(tr("Search")); }
LocationBar::LocationBar(QWidget *parent) : LineEdit(parent) , m_webView(0) , m_siteIcon(0) , m_privacyIndicator(0) { // Urls are always LeftToRight setLayoutDirection(Qt::LeftToRight); setUpdatesEnabled(false); // site icon on the left m_siteIcon = new LocationBarSiteIcon(this); addWidget(m_siteIcon, LeftSide); // privacy indicator at rightmost position m_privacyIndicator = new QLabel(this); m_privacyIndicator->setPixmap(QPixmap(QLatin1String(":private.png"))); addWidget(m_privacyIndicator, RightSide); connect(BrowserApplication::instance(), SIGNAL(privacyChanged(bool)), this, SLOT(setPrivate(bool))); setPrivate(BrowserApplication::isPrivate()); // clear button on the right ClearButton *m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); m_clearButton->hide(); updateTextMargins(); setUpdatesEnabled(true); m_defaultBaseColor = palette().color(QPalette::Base); QPalette p = palette(); p.setColor(QPalette::Base, QColor(255, 255, 255, 100)); setPalette(p); }
/* SearchLineEdit is an enhanced QLineEdit - A Search icon on the left with optional menu - When there is no text and doesn't have focus an "inactive text" is displayed - When there is text a clear button is displayed on the right hand side */ SearchLineEdit::SearchLineEdit(QWidget *parent) : LineEdit(parent) , m_searchButton(0) { setUpdatesEnabled(false); m_searchButton = new SearchButton(this); updateGeometries(); addWidget(m_searchButton, LeftSide); m_inactiveText = tr("Search"); QSizePolicy policy = sizePolicy(); setSizePolicy(QSizePolicy::Preferred, policy.verticalPolicy()); // clear button on the right ClearButton *m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); m_clearButton->hide(); updateTextMargins(); setUpdatesEnabled(true); }
void LocationBar::setRssIconVisible(bool state) { m_rssIcon->setVisible(state); updateTextMargins(); }
void LineEdit::setWidgetSpacing(int spacing) { m_leftLayout->setSpacing(spacing); m_rightLayout->setSpacing(spacing); updateTextMargins(); }
void LocationBar::setRssIconVisible(bool state) { updateTextMargins(); }