diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mainview.cpp | 51 | ||||
| -rw-r--r-- | src/walletwidget.cpp | 40 | ||||
| -rw-r--r-- | src/webview.cpp | 44 | ||||
| -rw-r--r-- | src/webview.h | 5 | 
4 files changed, 78 insertions, 62 deletions
| diff --git a/src/mainview.cpp b/src/mainview.cpp index 4437936d..d2105dcd 100644 --- a/src/mainview.cpp +++ b/src/mainview.cpp @@ -59,7 +59,7 @@  #include <QtGui/QLabel>  #include <QtGui/QMovie>  #include <QtGui/QWidget> - +#include <QtGui/QVBoxLayout>  MainView::MainView(MainWindow *parent)          : KTabWidget(parent) @@ -182,8 +182,8 @@ WebView *MainView::currentWebView() const  int MainView::webViewIndex(WebView *webView) const  -{  -    return indexOf(webView);  +{ +    return indexOf(webView->parentWidget());   } @@ -252,9 +252,7 @@ void MainView::reloadTab(int index)      if (index < 0 || index >= count())          return; -    QWidget *widget = this->widget(index); -    if (WebView *tab = qobject_cast<WebView*>(widget)) -        tab->reload(); +    webView(index)->reload();  } @@ -314,10 +312,13 @@ void MainView::currentChanged(int index)  WebView *MainView::webView(int index) const  { -    QWidget *widget = this->widget(index); -    if (WebView *webView = qobject_cast<WebView*>(widget)) +    if (this->widget(index) &&  this->widget(index)->layout() && this->widget(index)->layout()->itemAt(1)) //TODO: find why it crashes when closetab without that.      { -        return webView; +        QWidget *widget =  this->widget(index)->layout()->itemAt(1)->widget(); +        if (WebView *webView = qobject_cast<WebView*>(widget)) +        { +            return webView; +        }      }      kDebug() << "WebView with index " << index << "not found. Returning NULL." ; @@ -327,8 +328,20 @@ WebView *MainView::webView(int index) const  WebView *MainView::newWebView(bool focused, bool nearParent)  { -    WebView *webView = new WebView;  // should be deleted on tab close? - +    QWidget* w=new QWidget; +    QVBoxLayout* l=new QVBoxLayout(w); +    l->setMargin(0); +    QWidget* messageBar=new QWidget;  // should be deleted on tab close? +    QVBoxLayout* l2=new QVBoxLayout(messageBar); +    l->addWidget(messageBar); + +    messageBar->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum); +    messageBar->hide(); +     +    WebView *webView = new WebView(w,messageBar);  // should be deleted on tab close? +    l->addWidget(webView); +    webView->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); +          // connecting webview with mainview      connect(webView, SIGNAL(loadStarted()), this, SLOT(webViewLoadStarted()));      connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(webViewLoadFinished(bool))); @@ -339,17 +352,17 @@ WebView *MainView::newWebView(bool focused, bool nearParent)      // connecting webPage signals with mainview      connect(webView->page(), SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested()));      connect(webView->page(), SIGNAL(printRequested(QWebFrame *)), this, SIGNAL(printRequested(QWebFrame *))); - +          if (nearParent) -        insertTab(currentIndex() + 1, webView, i18n("(Untitled)")); +        insertTab(currentIndex() + 1, w, i18n("(Untitled)"));      else -        addTab(webView, i18n("(Untitled)")); +        addTab(w, i18n("(Untitled)"));      updateTabBar();      if (focused)      { -        setCurrentWidget(webView); +        setCurrentWidget(w);      }      emit tabsChanged(); @@ -384,11 +397,7 @@ void MainView::reloadAllTabs()  {      for (int i = 0; i < count(); ++i)      { -        QWidget *tabWidget = widget(i); -        if (WebView *tab = qobject_cast<WebView*>(tabWidget)) -        { -            tab->reload(); -        } +        webView(i)->reload();      }  } @@ -493,7 +502,7 @@ void MainView::closeTab(int index)          }      } -    QWidget *webView = widget(index); +    QWidget *webView = this->webView(index);      removeTab(index);      updateTabBar();         // UI operation: do it ASAP!!      webView->deleteLater();  // webView is scheduled for deletion. diff --git a/src/walletwidget.cpp b/src/walletwidget.cpp index f47a2c5b..b5b572f7 100644 --- a/src/walletwidget.cpp +++ b/src/walletwidget.cpp @@ -30,8 +30,10 @@  // KDE Includes  #include <klocalizedstring.h> +#include <KIcon>  // Qt Includes +#include <QToolButton>  #include <QPushButton>  #include <QHBoxLayout> @@ -40,25 +42,32 @@ WalletWidget::WalletWidget(QWidget *parent)      : QWidget(parent)      , m_label( new QLabel(this) )  { -    QPushButton *rememberButton = new QPushButton( i18n("Remember"), this); -    QPushButton *neverHereButton = new QPushButton( i18n("Never for This Site"), this); -    QPushButton *notNowButton = new QPushButton( i18n("Not Now"), this); +    m_label->setWordWrap(true); +    QToolButton *closeButton = new QToolButton(this); +    closeButton->setAutoRaise(true); +    closeButton->setIcon(KIcon("dialog-close")); + +    QPushButton *rememberButton = new QPushButton(KIcon("document-save"), i18n("Remember"), this); +    QPushButton *neverHereButton = new QPushButton(KIcon("process-stop"), i18n("Never for This Site"), this); +    QPushButton *notNowButton = new QPushButton(KIcon("dialog-cancel"), i18n("Not Now"), this); + +    connect(closeButton, SIGNAL(clicked()), this, SLOT(notNowRememberData()));      connect(rememberButton, SIGNAL(clicked()), this, SLOT(rememberData()));      connect(neverHereButton, SIGNAL(clicked()), this, SLOT(neverRememberData()));      connect(notNowButton, SIGNAL(clicked()), this, SLOT(notNowRememberData()));      // layout -    QHBoxLayout *layout = new QHBoxLayout; -    layout->addWidget(m_label); -    layout->addWidget(rememberButton); -    layout->addWidget(neverHereButton); -    layout->addWidget(notNowButton); +    QGridLayout *layout = new QGridLayout(this); +    layout->setMargin(0); +    layout->addWidget(closeButton,0,0); +    layout->addWidget(m_label,0,1); +    layout->addWidget(rememberButton,0,2); +    layout->addWidget(neverHereButton,0,3); +    layout->addWidget(notNowButton,0,4); +    layout->setColumnStretch(1,100);      setLayout(layout); -     -    // we start off hidden -    hide();  } @@ -69,7 +78,6 @@ WalletWidget::~WalletWidget()  void WalletWidget::rememberData()  { -    hide();      emit saveFormDataAccepted(m_key);  } @@ -83,7 +91,6 @@ void WalletWidget::neverRememberData()  void WalletWidget::notNowRememberData()  { -    hide();      emit saveFormDataRejected (m_key);  } @@ -96,11 +103,4 @@ void WalletWidget::onSaveFormData(const QString &key, const QUrl &url)                      );      m_key = key;      m_url = url; -     -    // TODO: check if url is stored somewhere to not remember pass.. -    if(true) -        show(); -    else -        notNowRememberData(); -      } diff --git a/src/webview.cpp b/src/webview.cpp index fede781e..be46d601 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -55,15 +55,15 @@  #include <QClipboard>  #include <QKeyEvent>  #include <QAction> +#include <QLayout> -WebView::WebView(QWidget* parent) +WebView::WebView(QWidget* parent, QWidget* messageWidget)      : KWebView(parent, false)      , m_page( new WebPage(this) ) -    , m_walletBar( new WalletWidget(this) )      , m_progress(0)      , m_mousePos(QPoint(0,0)) - +    , m_messageWidget(messageWidget)  {      setPage(m_page); @@ -77,17 +77,31 @@ WebView::WebView(QWidget* parent)      connect(this, SIGNAL(linkShiftClicked(const KUrl &)), m_page, SLOT(downloadUrl(const KUrl &)));      connect(m_page, SIGNAL(downloadRequested(const QNetworkRequest &)), m_page, SLOT(downloadRequest(const QNetworkRequest &))); -    // kwallet -    KWebWallet *w = m_page->wallet(); -    if(w) +    if (messageWidget)      { -        connect (w, SIGNAL(saveFormDataRequested(const QString &, const QUrl &)),  -                 m_walletBar, SLOT(onSaveFormData(const QString &, const QUrl &))); -        connect(m_walletBar, SIGNAL(saveFormDataAccepted(const QString &)),  -                w, SLOT(acceptSaveFormDataRequest(const QString &))); -        connect(m_walletBar, SIGNAL(saveFormDataRejected(const QString &)),  -                w, SLOT(rejectSaveFormDataRequest(const QString &))); +        WalletWidget *walletBar = new WalletWidget(messageWidget); +        messageWidget->layout()->addWidget(walletBar); +        // kwallet +        KWebWallet *w = m_page->wallet(); +        if(w) +        { +            connect (w, SIGNAL(saveFormDataRequested(const QString &, const QUrl &)),  +                    walletBar, SLOT(onSaveFormData(const QString &, const QUrl &))); +            connect(walletBar, SIGNAL(saveFormDataAccepted(const QString &)),  +                    w, SLOT(acceptSaveFormDataRequest(const QString &))); +            connect(walletBar, SIGNAL(saveFormDataRejected(const QString &)),  +                    w, SLOT(rejectSaveFormDataRequest(const QString &))); + +            connect (w, SIGNAL(saveFormDataRequested(const QString &, const QUrl &)),  +                    messageWidget, SLOT(show()));                    +            connect(walletBar, SIGNAL(saveFormDataAccepted(const QString &)),  +                    messageWidget, SLOT(hide())); +            connect(walletBar, SIGNAL(saveFormDataRejected(const QString &)),  +                    messageWidget, SLOT(hide())); + +        }      } +  } @@ -449,9 +463,3 @@ void WebView::loadInNewTab(const KUrl &url)  {      Application::instance()->loadUrl(url, Rekonq::NewCurrentTab);  } - - -QWidget *WebView::walletBar() -{ -    return m_walletBar; -} diff --git a/src/webview.h b/src/webview.h index 39cc51da..18ea66ad 100644 --- a/src/webview.h +++ b/src/webview.h @@ -45,7 +45,7 @@ class WebView : public KWebView      Q_OBJECT  public: -    explicit WebView(QWidget *parent = 0); +    explicit WebView(QWidget *parent = 0, QWidget *messageWidget = 0);      ~WebView();      WebPage *page(); @@ -53,7 +53,6 @@ public:      QString lastStatusBarText() const;      int progress();      QPoint mousePos(); -    QWidget *walletBar();  protected:      void contextMenuEvent(QContextMenuEvent *event); @@ -77,7 +76,7 @@ private slots:  private:      WebPage *m_page; -    WalletWidget *m_walletBar; +    QWidget *m_messageWidget;      int m_progress;      QString m_statusBarText;      QPoint m_mousePos; | 
