void UrlLineEdit::paintEvent(QPaintEvent *event) { QPalette p = palette(); if (m_webView && m_webView->url().scheme() == QLatin1String("https")) { QColor lightYellow(248, 248, 210); p.setBrush(QPalette::Base, generateGradient(lightYellow)); } else { p.setBrush(QPalette::Base, m_defaultBaseColor); } setPalette(p); ExLineEdit::paintEvent(event); QPainter painter(this); QStyleOptionFrame panel; initStyleOption(&panel); QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); if (m_webView && !hasFocus()) { int progress = m_webView->progress(); QColor loadingColor = QColor(116, 192, 250); painter.setBrush(generateGradient(loadingColor)); painter.setPen(Qt::transparent); int mid = backgroundRect.width() / 100.0f * progress; QRect progressRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height()); painter.drawRect(progressRect); } }
void LocationBar::paintEvent(QPaintEvent *event) { QPalette p = palette(); QColor defaultBaseColor = QApplication::palette().color(QPalette::Base); QColor backgroundColor = defaultBaseColor; if (m_webView && m_webView->url().scheme() == QLatin1String("https") && p.color(QPalette::Text).value() < 128) { QColor lightYellow(248, 248, 210); backgroundColor = lightYellow; } // set the progress bar if (m_webView) { int progress = m_webView->progress(); if (progress == 0) { p.setBrush(QPalette::Base, backgroundColor); } else { QColor loadingColor = QColor(116, 192, 250); if (p.color(QPalette::Text).value() >= 128) loadingColor = defaultBaseColor.darker(200); QLinearGradient gradient(0, 0, width(), 0); gradient.setColorAt(0, loadingColor); gradient.setColorAt(((double)progress)/100, backgroundColor); p.setBrush(QPalette::Base, gradient); } setPalette(p); } LineEdit::paintEvent(event); }
// ************************************************ void getColourFromList(int idx,OpenMesh::Vec3uc& outColour) { OpenMesh::Vec3uc purple(92,75,81); OpenMesh::Vec3uc lightBlue(140,190,178); OpenMesh::Vec3uc lightYellow(242,235,191); OpenMesh::Vec3uc lightOrange(243,181,98); OpenMesh::Vec3uc lightPink(240,96,96); OpenMesh::Vec3uc otherBlue(95,172,190); outColour = otherBlue; if (idx == 1 ) outColour = purple; if (idx == 2 ) outColour = lightBlue; if (idx == 3 ) outColour = lightYellow; if (idx == 4 ) outColour = lightOrange; if (idx == 5 ) outColour = lightPink; if (idx == 6 ) outColour = otherBlue; }
void LocationBar::paintEvent(QPaintEvent *event) { QPainter painter(this); QPalette p = palette(); QColor backgroundColor = m_defaultBaseColor; if (m_webView && m_webView->url().scheme() == QLatin1String("https") && p.color(QPalette::Text).value() < 128) { QColor lightYellow(248, 248, 210); backgroundColor = lightYellow; } // paint the text background QStyleOptionFrameV2 panel; initStyleOption(&panel); QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); #if QT_VERSION < 0x040500 int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); backgroundRect.adjust(-left, 0, right, 0); #endif painter.setBrush(backgroundColor); painter.setPen(backgroundColor); painter.drawRect(backgroundRect); // paint the progressbar if (m_webView && !hasFocus()) { int progress = m_webView->progress(); QColor loadingColor = QColor(116, 192, 250); if (p.color(QPalette::Text).value() >= 128) loadingColor = m_defaultBaseColor.darker(200); painter.setBrush(generateGradient(m_defaultBaseColor, loadingColor, height())); painter.setPen(Qt::transparent); int mid = backgroundRect.width() * progress / 100; QRect progressRect = QRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height()); painter.drawRect(progressRect); } painter.end(); LineEdit::paintEvent(event); }