diff options
Diffstat (limited to 'src/urlbar')
| -rw-r--r-- | src/urlbar/lineedit.cpp | 2 | ||||
| -rw-r--r-- | src/urlbar/urlbar.cpp | 109 | ||||
| -rw-r--r-- | src/urlbar/urlbar.h | 17 | 
3 files changed, 50 insertions, 78 deletions
| diff --git a/src/urlbar/lineedit.cpp b/src/urlbar/lineedit.cpp index f3c93e8e..ac92b858 100644 --- a/src/urlbar/lineedit.cpp +++ b/src/urlbar/lineedit.cpp @@ -42,7 +42,7 @@ LineEdit::LineEdit(QWidget* parent)      setMinimumWidth(200);      setFocusPolicy(Qt::WheelFocus);      setHandleSignals(true); -    setClearButtonShown(true); +    setClearButtonShown(false);  } diff --git a/src/urlbar/urlbar.cpp b/src/urlbar/urlbar.cpp index 57108d29..a04d6534 100644 --- a/src/urlbar/urlbar.cpp +++ b/src/urlbar/urlbar.cpp @@ -50,14 +50,13 @@  #include <QTimer>  #include <QVBoxLayout> -QColor UrlBar::s_defaultBaseColor; -  UrlBar::UrlBar(QWidget *parent)      : KComboBox(true, parent)      , m_lineEdit(new LineEdit) -    , m_progress(0)      , m_box(new CompletionWidget(this)) +    , _tab(0) +    , _privateMode(false)  {      //cosmetic      setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); @@ -72,11 +71,6 @@ UrlBar::UrlBar(QWidget *parent)      p.setColor(QPalette::Base, Qt::transparent);      m_lineEdit->setPalette(p); -    if (!s_defaultBaseColor.isValid()) -    { -        s_defaultBaseColor = palette().color(QPalette::Base); -    } -      setLineEdit(m_lineEdit);      // clear the URL bar @@ -123,13 +117,6 @@ void UrlBar::setUrl(const QUrl& url)  } -void UrlBar::setProgress(int progress) -{ -    m_progress = progress; -    update(); -} - -  void UrlBar::updateUrl()  {      // Don't change my typed url... @@ -184,26 +171,21 @@ void UrlBar::activated(const QString& urlString, Rekonq::OpenType type)  } -void UrlBar::loadFinished(bool) -{ -    // reset progress bar after small delay -    m_progress = 0; -    QTimer::singleShot(200, this, SLOT(update())); -} - - -void UrlBar::updateProgress(int progress) -{ -    m_progress = progress; -    update(); -} - -  void UrlBar::paintEvent(QPaintEvent *event)  { +    QColor backgroundColor; +    if( _privateMode ) +    { +        backgroundColor = QColor(192, 192, 192);  // gray +    } +    else +    { +        backgroundColor = Application::palette().color(QPalette::Base); +    } +          // set background color of UrlBar      QPalette p = palette(); -    p.setColor(QPalette::Base, s_defaultBaseColor); +    p.setColor(QPalette::Base, backgroundColor);      setPalette(p);      KComboBox::paintEvent(event); @@ -221,11 +203,20 @@ void UrlBar::paintEvent(QPaintEvent *event)          {              loadingColor = QColor(116, 192, 250);          } -        painter.setBrush(generateGradient(loadingColor, height())); +        int progr = _tab->progress(); +         +        backgroundColor.setAlpha(0); +        backgroundColor.setAlpha(200); +        QLinearGradient gradient(0, 0, width(), height() ); +        gradient.setColorAt(0, loadingColor); +        gradient.setColorAt(((double)progr)/100, backgroundColor); +         +        painter.setBrush( gradient );          painter.setPen(Qt::transparent); +          QRect backgroundRect = m_lineEdit->frameGeometry(); -        int mid = backgroundRect.width() * m_progress / 100; +        int mid = backgroundRect.width() * progr / 100;          QRect progressRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height());          painter.drawRect(progressRect);          painter.end(); @@ -239,41 +230,8 @@ QSize UrlBar::sizeHint() const  } -QLinearGradient UrlBar::generateGradient(const QColor &color, int height) -{ -    QColor base = s_defaultBaseColor; -    base.setAlpha(0); -    QColor barColor = color; -    barColor.setAlpha(200); -    QLinearGradient gradient(0, 0, 0, height); -    gradient.setColorAt(0, base); -    gradient.setColorAt(0.25, barColor.lighter(120)); -    gradient.setColorAt(0.5, barColor); -    gradient.setColorAt(0.75, barColor.lighter(120)); -    gradient.setColorAt(1, base); -    return gradient; -} - - -void UrlBar::setBackgroundColor(QColor c) -{ -    s_defaultBaseColor = c; -    update(); -} - - -bool UrlBar::isLoading() -{ -    if(m_progress == 0) -    { -        return false; -    } -    return true; -} -  void UrlBar::keyPressEvent(QKeyEvent *event)  { -      // this handles the Modifiers + Return key combinations      QString currentText = m_lineEdit->text().trimmed();      if ((event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) @@ -338,3 +296,22 @@ void UrlBar::focusInEvent(QFocusEvent *event)      KComboBox::focusInEvent(event);  } + + +void UrlBar::setCurrentTab(WebTab *tab) +{ +    if(_tab) +        disconnect(_tab->view(), SIGNAL(urlChanged(const QUrl &)), this, SLOT(setUrl(const QUrl &))); +    _tab = tab; +    connect(_tab->view(), SIGNAL(urlChanged(const QUrl &)), this, SLOT(setUrl(const QUrl &))); + +    // update it now (the first time) +    setUrl( _tab->url() ); +    update(); +} + + +void UrlBar::setPrivateMode(bool on) +{ +    _privateMode = on; +} diff --git a/src/urlbar/urlbar.h b/src/urlbar/urlbar.h index 552d1ee0..991b9038 100644 --- a/src/urlbar/urlbar.h +++ b/src/urlbar/urlbar.h @@ -34,6 +34,7 @@  // Local Includes  #include "lineedit.h"  #include "completionwidget.h" +#include "webtab.h"  // KDE Includes  #include <KUrl> @@ -59,18 +60,16 @@ public:      void selectAll() const;      KUrl url() const;      QSize sizeHint() const; -    void setBackgroundColor(QColor); -    bool isLoading(); -    void setProgress(int progress); +    void setCurrentTab(WebTab *); +    void setPrivateMode(bool on); +      public slots:      void setUrl(const QUrl &url); -    void updateProgress(int progress);      void updateUrl();  private slots:      void activated(const QString& url, Rekonq::OpenType = Rekonq::CurrentTab); -    void loadFinished(bool);      void suggestUrls(const QString &editedText);  protected: @@ -79,17 +78,13 @@ protected:      virtual void focusInEvent(QFocusEvent *event);  private: -    static QLinearGradient generateGradient(const QColor &color, int height); - -    static QColor s_defaultBaseColor; -      LineEdit *m_lineEdit;      KUrl m_currentUrl; -    int m_progress;      CompletionWidget *m_box; -    KUrl m_suggestedUrl; +    WebTab *_tab; +    bool _privateMode;  };  #endif | 
