Changeset 54065 in webkit


Ignore:
Timestamp:
Jan 29, 2010 8:49:39 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-01-29 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Display page loading progress inside the QtLauncher location bar

https://bugs.webkit.org/show_bug.cgi?id=34210

  • QtLauncher/QtLauncher.pro:
  • QtLauncher/locationedit.cpp: Added. (LocationEdit::LocationEdit): (LocationEdit::setProgress): (LocationEdit::paintEvent):
  • QtLauncher/locationedit.h: Added.
  • QtLauncher/mainwindow.cpp: (MainWindow::buildUI):
  • QtLauncher/mainwindow.h:
Location:
trunk/WebKitTools
Files:
4 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r54058 r54065  
     12010-01-29  Andreas Kling  <andreas.kling@nokia.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [Qt] Display page loading progress inside the QtLauncher location bar
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=34210
     8
     9        * QtLauncher/QtLauncher.pro:
     10        * QtLauncher/locationedit.cpp: Added.
     11        (LocationEdit::LocationEdit):
     12        (LocationEdit::setProgress):
     13        (LocationEdit::paintEvent):
     14        * QtLauncher/locationedit.h: Added.
     15        * QtLauncher/mainwindow.cpp:
     16        (MainWindow::buildUI):
     17        * QtLauncher/mainwindow.h:
     18
    1192010-01-29  Andreas Kling  <andreas.kling@nokia.com>
    220
  • trunk/WebKitTools/QtLauncher/QtLauncher.pro

    r53948 r54065  
    22
    33SOURCES += \
     4    locationedit.cpp \
    45    main.cpp \
    56    mainwindow.cpp \
     
    1011
    1112HEADERS += \
     13    locationedit.h \
    1214    mainwindow.h \
    1315    urlloader.h \
  • trunk/WebKitTools/QtLauncher/locationedit.cpp

    r54064 r54065  
    11/*
    2  * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
    3  * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
    4  * Copyright (C) 2006 George Staikos <staikos@kde.org>
    5  * Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
    6  * Copyright (C) 2006 Zack Rusin <zack@kde.org>
    7  * Copyright (C) 2006 Simon Hausmann <hausmann@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
    83 *
    94 * All rights reserved.
     
    3126 */
    3227
    33 #ifndef mainwindow_h
    34 #define mainwindow_h
     28#include "locationedit.h"
    3529
    36 #include <QtGui>
    37 #include "webpage.h"
     30LocationEdit::LocationEdit(QWidget* parent)
     31    : QLineEdit(parent),
     32      m_progress(0)
     33{
     34}
    3835
    39 class MainWindow : public QMainWindow {
    40     Q_OBJECT
     36void LocationEdit::setProgress(int progress)
     37{
     38    m_progress = progress;
     39    update();
     40}
    4141
    42 public:
    43     MainWindow(const QString& url = QString());
     42void LocationEdit::paintEvent(QPaintEvent* ev)
     43{
     44    QColor backgroundColor = QApplication::palette().color(QPalette::Base);
     45    QColor progressColor = QColor(120, 180, 240);
     46    QPalette p = palette();
    4447
    45     void setAddressUrl(const QString& url);
    46     void addCompleterEntry(const QUrl& url);
     48    if (!m_progress || m_progress == 100)
     49        p.setBrush(QPalette::Base, backgroundColor);
     50    else {
     51        QLinearGradient gradient(0, 0, width(), 0);
     52        gradient.setColorAt(0, progressColor);
     53        gradient.setColorAt(((double)m_progress) / 100, progressColor);
     54        gradient.setColorAt(((double)m_progress) / 100 + 0.001, backgroundColor);
     55        p.setBrush(QPalette::Base, gradient);
     56    }
     57    setPalette(p);
    4758
    48     void load(const QString& url);
    49     void load(const QUrl& url);
    50 
    51     WebPage* page();
    52 
    53 protected slots:
    54     void openFile();
    55     void changeLocation();
    56 
    57 private:
    58     void buildUI();
    59 
    60     QStringListModel urlModel;
    61     QStringList urlList;
    62     QLineEdit* urlEdit;
    63 
    64     QProgressBar* progress;
    65 
    66     WebPage* m_page;
    67 };
    68 
    69 #endif
     59    QLineEdit::paintEvent(ev);
     60}
  • trunk/WebKitTools/QtLauncher/locationedit.h

    r54064 r54065  
    11/*
    2  * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
    3  * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
    4  * Copyright (C) 2006 George Staikos <staikos@kde.org>
    5  * Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
    6  * Copyright (C) 2006 Zack Rusin <zack@kde.org>
    7  * Copyright (C) 2006 Simon Hausmann <hausmann@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
    83 *
    94 * All rights reserved.
     
    3126 */
    3227
    33 #ifndef mainwindow_h
    34 #define mainwindow_h
     28#ifndef locationedit_h
     29#define locationedit_h
    3530
    3631#include <QtGui>
    37 #include "webpage.h"
    3832
    39 class MainWindow : public QMainWindow {
     33class LocationEdit : public QLineEdit {
    4034    Q_OBJECT
    4135
    4236public:
    43     MainWindow(const QString& url = QString());
     37    LocationEdit(QWidget* parent = 0);
    4438
    45     void setAddressUrl(const QString& url);
    46     void addCompleterEntry(const QUrl& url);
     39public slots:
     40    void setProgress(int progress);
    4741
    48     void load(const QString& url);
    49     void load(const QUrl& url);
    50 
    51     WebPage* page();
    52 
    53 protected slots:
    54     void openFile();
    55     void changeLocation();
     42protected:
     43    void paintEvent(QPaintEvent*);
    5644
    5745private:
    58     void buildUI();
    59 
    60     QStringListModel urlModel;
    61     QStringList urlList;
    62     QLineEdit* urlEdit;
    63 
    64     QProgressBar* progress;
    65 
    66     WebPage* m_page;
     46    int m_progress;
    6747};
    6848
  • trunk/WebKitTools/QtLauncher/mainwindow.cpp

    r53948 r54065  
    3333#include "mainwindow.h"
    3434
     35#include "locationedit.h"
    3536#include "utils.h"
    3637
     
    5556    bar->addAction(page()->action(QWebPage::Stop));
    5657
    57     urlEdit = new QLineEdit(this);
     58    urlEdit = new LocationEdit(this);
    5859    urlEdit->setSizePolicy(QSizePolicy::Expanding, urlEdit->sizePolicy().verticalPolicy());
    5960    connect(urlEdit, SIGNAL(returnPressed()), SLOT(changeLocation()));
     
    6364    bar->addWidget(urlEdit);
    6465
    65     progress = new QProgressBar(this);
    66     progress->setRange(0, 100);
    67     progress->setMinimumSize(100, 20);
    68     progress->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
    69     progress->hide();
    70     statusBar()->addPermanentWidget(progress);
    71 
    7266    connect(page()->mainFrame(), SIGNAL(titleChanged(const QString&)),
    7367            this, SLOT(setWindowTitle(const QString&)));
    74     connect(page(), SIGNAL(loadProgress(int)), progress, SLOT(show()));
    75     connect(page(), SIGNAL(loadProgress(int)), progress, SLOT(setValue(int)));
    76     connect(page(), SIGNAL(loadFinished(bool)), progress, SLOT(hide()));
     68    connect(page(), SIGNAL(loadProgress(int)), urlEdit, SLOT(setProgress(int)));
    7769    connect(page(), SIGNAL(windowCloseRequested()), this, SLOT(close()));
    7870
  • trunk/WebKitTools/QtLauncher/mainwindow.h

    r53948 r54065  
    3737#include "webpage.h"
    3838
     39class LocationEdit;
     40
    3941class MainWindow : public QMainWindow {
    4042    Q_OBJECT
     
    6062    QStringListModel urlModel;
    6163    QStringList urlList;
    62     QLineEdit* urlEdit;
    63 
    64     QProgressBar* progress;
     64    LocationEdit* urlEdit;
    6565
    6666    WebPage* m_page;
Note: See TracChangeset for help on using the changeset viewer.