Hello community,

here is the log from the commit of package rekonq for openSUSE:Factory
checked in at Fri Sep 23 10:33:38 CEST 2011.



--------
--- rekonq/rekonq.changes       2011-09-15 19:20:50.000000000 +0200
+++ /mounts/work_src_done/STABLE/rekonq/rekonq.changes  2011-09-20 
21:58:23.000000000 +0200
@@ -1,0 +2,11 @@
+Tue Sep 20 19:56:55 UTC 2011 - [email protected]
+
+- Update to 0.7.90:
+  * Bugfix release
+- Spec file updates:
+  * Recommend instead of Suggest the rekonq-doc and rekonq-lang packages.
+  * Changed rekonq-doc package Group: to Documentation/HTML.
+  * Removed %suse_update_desktop_file macro from install section since it is
+    executed through the %kde_post_install macro.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  rekonq-0.7.80.tar.bz2

New:
----
  rekonq-0.7.90.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rekonq.spec ++++++
--- /var/tmp/diff_new_pack.Cju5LW/_old  2011-09-23 10:33:34.000000000 +0200
+++ /var/tmp/diff_new_pack.Cju5LW/_new  2011-09-23 10:33:34.000000000 +0200
@@ -17,14 +17,14 @@
 #
 
 Name:           rekonq
-Version:        0.7.80
+Version:        0.7.90
 Release:        1
 Summary:        WebKit Based Web Browser for KDE4
 
 License:        GPLv3
 Url:            http://rekonq.kde.org/
 Group:          Productivity/Networking/Web/Browsers
-Source0:        
http://sourceforge.net/projects/rekonq/files/%{version}/%{version}/%{name}-%{version}.tar.bz2
+Source0:        
http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
 Source1:        %{name}-lang.tar.bz2
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -35,8 +35,8 @@
 BuildRequires:  update-desktop-files
 %endif
 Requires:       konqueror
-Suggests:       %{name}-doc  = %{version}
-Suggests:       %{name}-lang = %{version}
+Recommends:     %{name}-doc = %{version}
+Recommends:     %{name}-lang = %{version}
 %kde4_runtime_requires
 
 %description
@@ -47,7 +47,7 @@
 
 %package doc
 Summary:        Documentation for rekonq
-Group:          Productivity/Networking/Web/Browsers
+Group:          Documentation/HTML
 Requires:       %{name} = %{version}
 
 %description doc
@@ -63,7 +63,6 @@
 %setup -q -a 1
 echo "ADD_SUBDIRECTORY( i18n ) " >> CMakeLists.txt
 
-
 %build
 %cmake_kde4 -d build
 %make_jobs
@@ -73,10 +72,6 @@
 %kde4_makeinstall
 cd ..
 
-%if 0%{?suse_version}
-%suse_update_desktop_file %{name} Qt KDE Network WebBrowser
-%endif
-
 # Remove unneeded locales
 %if 0%{?suse_version} == 1130
 rm -rf %{buildroot}%{_datadir}/locale/sr@ijekavian/
@@ -94,20 +89,20 @@
 
 %files
 %defattr(-,root,root,-)
-%doc AUTHORS ChangeLog COPYING TODO
-%{_kde4_bindir}/rekonq
-%{_kde4_libdir}/libkdeinit4_rekonq.so
+%doc AUTHORS COPYING COPYING.DOC ChangeLog TODO
 %{_kde4_applicationsdir}/rekonq.desktop
-%{_kde4_iconsdir}/hicolor/*/apps/rekonq.png
 %{_kde4_appsdir}/rekonq/
+%{_kde4_bindir}/rekonq
+%{_kde4_iconsdir}/hicolor/*/apps/rekonq.png
+%{_kde4_libdir}/libkdeinit4_rekonq.so
 %{_kde4_sharedir}/config.kcfg/rekonq.kcfg
 
-%files lang -f %{name}.lang
+%files doc
 %defattr(-,root,root,-)
-%exclude %{_kde4_htmldir}/en/rekonq
+%doc %{_kde4_htmldir}/en/rekonq/
 
-%files doc
+%files lang -f %{name}.lang
 %defattr(-,root,root,-)
-%doc %{_kde4_htmldir}/en/rekonq
+%exclude %{_kde4_htmldir}/en/rekonq/
 
 %changelog

++++++ rekonq-0.7.80.tar.bz2 -> rekonq-0.7.90.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/CMakeLists.txt 
new/rekonq-0.7.90/CMakeLists.txt
--- old/rekonq-0.7.80/CMakeLists.txt    2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/CMakeLists.txt    2011-09-18 23:53:07.000000000 +0200
@@ -7,7 +7,7 @@
 # Informations to update before to release this package.
 
 # rekonq info
-SET(REKONQ_VERSION "0.7.80" )
+SET(REKONQ_VERSION "0.7.90" )
 
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake 
${CMAKE_CURRENT_BINARY_DIR}/version.h )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/adblock/adblockmanager.cpp 
new/rekonq-0.7.90/src/adblock/adblockmanager.cpp
--- old/rekonq-0.7.80/src/adblock/adblockmanager.cpp    2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/adblock/adblockmanager.cpp    2011-09-18 
23:53:07.000000000 +0200
@@ -207,6 +207,10 @@
         return reply;
     }
 
+    // get sure page is extant to perform elements check. bug:282012
+    if (!page)
+        return 0;
+
     foreach(const AdBlockRule & filter, _blackList)
     {
         if (filter.match(request, urlString, urlStringLowerCase))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/adblock/adblockmanager.h 
new/rekonq-0.7.90/src/adblock/adblockmanager.h
--- old/rekonq-0.7.80/src/adblock/adblockmanager.h      2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/adblock/adblockmanager.h      2011-09-18 
23:53:07.000000000 +0200
@@ -61,6 +61,10 @@
 //
 // ### Filter Options
 //
+// There are 3 kind of filter options:
+//
+// --- ### TYPE OPTIONS
+//
 // You can also specify a number of options to modify the behavior of a filter.
 // You list these options separated with commas after a dollar sign ($) at the 
end of the filter
 //
@@ -81,14 +85,27 @@
 // $document           the page itself (only exception rules can be applied to 
the page)
 // $other              types of requests not covered in the list above
 //
+//
+// --- ### INVERSE TYPE OPTIONS
+//
 // Inverse type options are allowed through the ~ sign, for example:
 //
 // RULE=*/ads/*~$script,match-case
 //
+//
+// --- ### THIRD-PARTY OPTIONS
+//
+// If "third-party" option is specified, filter is applied just to requests 
coming from a different
+// origin than the currently viewed page.
+// In the same way, the "~third-party" option restricts the filter to the 
requests coming from the
+// same origin as the currently viewed page.
+//
+//
 // ### Regular expressions
 //
 // They usually allow to check for (a lot of) sites, using just one rule, but 
be careful:
-// BASIC FILTERS ARE PROCESSED FASTER THAN REGULAR EXPRESSIONS (In ADP! In 
rekonq, I don't know...)
+// BASIC FILTERS ARE PROCESSED FASTER THAN REGULAR EXPRESSIONS
+// (That's true at least in ABP! In rekonq, I don't know...)
 //
 //
 // ### ELEMENT HIDING (##)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rekonq-0.7.80/src/adblock/adblockrulefallbackimpl.cpp 
new/rekonq-0.7.90/src/adblock/adblockrulefallbackimpl.cpp
--- old/rekonq-0.7.80/src/adblock/adblockrulefallbackimpl.cpp   2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/adblock/adblockrulefallbackimpl.cpp   2011-09-18 
23:53:07.000000000 +0200
@@ -23,6 +23,7 @@
 *
 * ============================================================ */
 
+
 // Self Includes
 #include "adblockrulefallbackimpl.h"
 
@@ -92,16 +93,12 @@
 
 bool AdBlockRuleFallbackImpl::match(const QNetworkRequest &request, const 
QString &encodedUrl, const QString &) const
 {
-    if (!request.hasRawHeader("referer"))
-        return false;
-
     if (m_thirdPartyOption)
     {
         const QString referer = request.rawHeader("referer");
         const QString host = request.url().host();
-        bool isThirdParty = !referer.contains(host);
 
-        if (!isThirdParty)
+        if (referer.contains(host)) // is NOT third party
             return false;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/adblock/adblockrulenullimpl.cpp 
new/rekonq-0.7.90/src/adblock/adblockrulenullimpl.cpp
--- old/rekonq-0.7.80/src/adblock/adblockrulenullimpl.cpp       2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/adblock/adblockrulenullimpl.cpp       2011-09-18 
23:53:07.000000000 +0200
@@ -58,6 +58,10 @@
 
     Q_FOREACH(const QString & option, options)
     {
+        // third_party: managed inside adblockrulefallbackimpl
+        if (option == QL1S("third-party"))
+            return false;
+
         // script
         if (option == QL1S("script"))
             return true;
@@ -110,10 +114,6 @@
         if (option == QL1S("other"))
             return true;
 
-        // third_party: managed inside adblockrulefallbackimpl
-        if (option == QL1S("third-party"))
-            return false;
-
         // collapse
         if (option == QL1S("collapse"))
             return true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rekonq-0.7.80/src/adblock/adblockruletextmatchimpl.cpp 
new/rekonq-0.7.90/src/adblock/adblockruletextmatchimpl.cpp
--- old/rekonq-0.7.80/src/adblock/adblockruletextmatchimpl.cpp  2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/adblock/adblockruletextmatchimpl.cpp  2011-09-18 
23:53:07.000000000 +0200
@@ -46,10 +46,7 @@
 
 bool AdBlockRuleTextMatchImpl::match(const QNetworkRequest &request, const 
QString &encodedUrl, const QString &encodedUrlLowerCase) const
 {
-    // this basically lets the "first request" to pass...
-    if (!request.hasRawHeader("referer"))
-        return false;
-
+    Q_UNUSED(request);
     Q_UNUSED(encodedUrl);
     // Case sensitive compare is faster, but would be incorrect with 
encodedUrl since
     // we do want case insensitive.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/application.cpp 
new/rekonq-0.7.90/src/application.cpp
--- old/rekonq-0.7.80/src/application.cpp       2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/application.cpp       2011-09-18 23:53:07.000000000 
+0200
@@ -61,6 +61,7 @@
 #include <KWindowInfo>
 #include <KGlobal>
 #include <KCharsets>
+#include <KMessageBox>
 
 // Qt Includes
 #include <QVBoxLayout>
@@ -544,16 +545,19 @@
     // compute font size
     // (I have to admit I know nothing about these DPI questions..: copied 
from kwebkitpart, as someone suggested)
     // font size in pixels =  font size in inches × screen dpi
-    int defaultFontSize = ReKonfig::defaultFontSize();
-    int minimumFontSize = ReKonfig::minFontSize();
+    if (mainWindow() && mainWindow()->currentTab())
+    {
+        int logDpiY = mainWindow()->currentTab()->view()->logicalDpiY();
+        float toPix = (logDpiY < 96.0)
+                      ? 96.0 / 72.0
+                      : logDpiY / 72.0 ;
 
-    int logDpiY = mainWindow()->currentTab()->view()->logicalDpiY();
-    float toPix = (logDpiY < 96.0)
-                  ? 96.0 / 72.0
-                  : logDpiY / 72.0 ;
+        int defaultFontSize = ReKonfig::defaultFontSize();
+        int minimumFontSize = ReKonfig::minFontSize();
 
-    defaultSettings->setFontSize(QWebSettings::DefaultFontSize, 
qRound(defaultFontSize * toPix));
-    defaultSettings->setFontSize(QWebSettings::MinimumFontSize, 
qRound(minimumFontSize * toPix));
+        defaultSettings->setFontSize(QWebSettings::DefaultFontSize, 
qRound(defaultFontSize * toPix));
+        defaultSettings->setFontSize(QWebSettings::MinimumFontSize, 
qRound(minimumFontSize * toPix));
+    }
 
     // encodings
     QString enc = ReKonfig::defaultEncoding();
@@ -598,6 +602,12 @@
 
     // ====== load Settings on main classes
     historyManager()->loadSettings();
+
+    defaultSettings = 0;
+
+    if (!mainWindow())
+        return;
+
     if (!ReKonfig::useFavicon())
         mainWindow()->setWindowIcon(KIcon("rekonq"));
     else
@@ -633,7 +643,6 @@
         break;
     }
 
-    defaultSettings = 0;
 }
 
 
@@ -687,3 +696,37 @@
             loadUrl(KUrl("about:home"), Rekonq::NewWindow);
     }
 }
+
+
+void Application::queryQuit()
+{
+    if (mainWindowList().count() > 1)
+    {
+        int answer = KMessageBox::questionYesNoCancel(
+                         mainWindow(),
+                         i18n("Wanna close the window or the whole app?"),
+                         i18n("Application/Window closing..."),
+                         KGuiItem(i18n("C&lose Current Window"),
+                                  KIcon("window-close")),
+                         KStandardGuiItem::quit(),
+                         KStandardGuiItem::cancel(),
+                         "confirmClosingMultipleWindows"
+                     );
+
+        switch (answer)
+        {
+        case KMessageBox::Yes:
+            mainWindow()->close();
+            return;
+
+        case KMessageBox::No:
+            break;
+
+        default:
+            return;
+        }
+    }
+
+    // in case of just one window...
+    quit();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/application.h 
new/rekonq-0.7.90/src/application.h
--- old/rekonq-0.7.80/src/application.h 2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/application.h 2011-09-18 23:53:07.000000000 +0200
@@ -132,6 +132,8 @@
     // the general place to set private browsing
     void setPrivateBrowsingMode(bool);
 
+    void queryQuit();
+
 private:
     QWeakPointer<HistoryManager> m_historyManager;
     QWeakPointer<BookmarkProvider> m_bookmarkProvider;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/mainview.cpp 
new/rekonq-0.7.90/src/mainview.cpp
--- old/rekonq-0.7.80/src/mainview.cpp  2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/mainview.cpp  2011-09-18 23:53:07.000000000 +0200
@@ -93,6 +93,7 @@
 
     // current page index changing
     connect(this, SIGNAL(currentChanged(int)), this, 
SLOT(currentChanged(int)));
+    connect(this, SIGNAL(currentChanged(int)), rApp->sessionManager(), 
SLOT(saveSession()));
 
     QTimer::singleShot(0, this, SLOT(postLaunch()));
 }
@@ -109,9 +110,6 @@
         m_recentlyClosedTabs.prepend(tab);
     }
 
-    // Session Manager
-    connect(this, SIGNAL(tabsChanged()), rApp->sessionManager(), 
SLOT(saveSession()));
-
     m_addTabButton->setDefaultAction(m_parentWindow->actionByName("new_tab"));
 
     m_addTabButton->setAutoRaise(true);
@@ -278,8 +276,6 @@
         tab->view()->setFocus();
 
     tabBar()->resetTabHighlighted(index);
-
-    emit tabsChanged();
 }
 
 
@@ -331,12 +327,6 @@
     {
         setCurrentWidget(tab);
     }
-    else
-    {
-        // if tab is not focused,
-        // current index doesn't change...
-        emit tabsChanged();
-    }
 
     return tab;
 }
@@ -508,11 +498,6 @@
     {
         tabToClose->deleteLater();
     }
-
-    // if tab was not focused, current index does not change...
-    if (index != currentIndex())
-        emit tabsChanged();
-
 }
 
 void MainView::webViewLoadStarted()
@@ -627,8 +612,6 @@
     }
     if (ReKonfig::hoveringTabOption() == 2)
         tabBar()->setTabToolTip(index, 
webTab(index)->url().toMimeDataString());
-
-    emit tabsChanged();
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/mainview.h 
new/rekonq-0.7.90/src/mainview.h
--- old/rekonq-0.7.80/src/mainview.h    2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/mainview.h    2011-09-18 23:53:07.000000000 +0200
@@ -106,13 +106,6 @@
     }
 
 Q_SIGNALS:
-    // tabs change when:
-    // - current tab change
-    // - one tab is closed
-    // - one tab is added
-    // - one tab is updated (eg: changes url)
-    void tabsChanged();
-
     // current tab signals
     void currentTitle(const QString &url);
     void showStatusBarMessage(const QString &message, Rekonq::Notify status = 
Rekonq::Info);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/mainwindow.cpp 
new/rekonq-0.7.90/src/mainwindow.cpp
--- old/rekonq-0.7.80/src/mainwindow.cpp        2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/mainwindow.cpp        2011-09-18 23:53:07.000000000 
+0200
@@ -274,8 +274,8 @@
     // Ctrl + wheel handling
     connect(this->currentTab()->view(), SIGNAL(zoomChanged(int)), m_zoomBar, 
SLOT(setValue(int)));
 
-    // Save session when last window is closed
-    connect(this, SIGNAL(lastWindowClosed()), rApp->sessionManager(), 
SLOT(saveSession()));
+    // Save session on window closing
+    connect(this, SIGNAL(windowClosing()), rApp->sessionManager(), 
SLOT(saveSession()));
 
     // setting up toolbars to NOT have context menu enabled
     setContextMenuPolicy(Qt::DefaultContextMenu);
@@ -295,6 +295,7 @@
     return size;
 }
 
+
 void MainWindow::changeWindowIcon(int index)
 {
     if (ReKonfig::useFavicon())
@@ -305,6 +306,7 @@
     }
 }
 
+
 void MainWindow::setupActions()
 {
     // this let shortcuts work..
@@ -322,7 +324,7 @@
     KStandardAction::open(this, SLOT(fileOpen()), actionCollection());
     KStandardAction::saveAs(this, SLOT(fileSaveAs()), actionCollection());
     KStandardAction::print(this, SLOT(printRequested()), actionCollection());
-    KStandardAction::quit(rApp, SLOT(quit()), actionCollection());
+    KStandardAction::quit(rApp, SLOT(queryQuit()), actionCollection());
 
     a = KStandardAction::find(m_findBar, SLOT(show()), actionCollection());
     KShortcut findShortcut = KStandardShortcut::find();
@@ -1194,8 +1196,9 @@
     m_popup->setFixedSize(labelSize);
     m_popup->setText(fm.elidedText(msg, Qt::ElideMiddle, labelSize.width()));
 
-    bool horizontalScrollbarIsVisible = 
tab->page()->currentFrame()->scrollBarMaximum(Qt::Horizontal);
-    bool verticalScrollbarIsVisible = 
tab->page()->currentFrame()->scrollBarMaximum(Qt::Vertical);
+    const bool horizontalScrollbarIsVisible = 
tab->page()->currentFrame()->scrollBarMaximum(Qt::Horizontal);
+    const bool verticalScrollbarIsVisible = 
tab->page()->currentFrame()->scrollBarMaximum(Qt::Vertical);
+    const bool actionBarsVisible = m_findBar->isVisible() || 
m_zoomBar->isVisible();
 
     const int scrollbarExtent = 
style()->pixelMetric(QStyle::PM_ScrollBarExtent);
     const int hScrollbarSize = horizontalScrollbarIsVisible ? scrollbarExtent 
: 0;
@@ -1205,7 +1208,7 @@
     const QPoint bottomPoint = m_view->mapTo(this, 
m_view->geometry().bottomLeft());
     // +1 because bottom() returns top() + height() - 1 , see QRect doku
     int y = bottomPoint.y() + 1 - m_popup->height() - hScrollbarSize;
-    int x = QRect(QPoint(0, y), labelSize).contains(mousePos)
+    int x = QRect(QPoint(0, y), labelSize).contains(mousePos) || 
actionBarsVisible
             ? width() - labelSize.width() - vScrollbarSize
             : 0;
 
@@ -1290,6 +1293,7 @@
     dialog->deleteLater();
 }
 
+
 void MainWindow::aboutToShowBackMenu()
 {
     m_historyBackMenu->clear();
@@ -1403,6 +1407,7 @@
     history->goToItem(history->itemAt(index));
 }
 
+
 void MainWindow::openActionTab(QAction* action)
 {
     int index = action->data().toInt();
@@ -1481,46 +1486,6 @@
 }
 
 
-bool MainWindow::queryClose()
-{
-    // this should fux bug 240432
-    if (rApp->sessionSaving())
-        return true;
-
-    // smooth private browsing mode
-    if 
(QWebSettings::globalSettings()->testAttribute(QWebSettings::PrivateBrowsingEnabled))
-        return true;
-
-    if (rApp->mainWindowList().count() > 1)
-    {
-        int answer = KMessageBox::questionYesNoCancel(
-                         this,
-                         i18n("Wanna close the window or the whole app?"),
-                         i18n("Application/Window closing..."),
-                         KGuiItem(i18n("C&lose Current Window"), 
KIcon("window-close")),
-                         KStandardGuiItem::quit(),
-                         KStandardGuiItem::cancel(),
-                         "confirmClosingMultipleWindows"
-                     );
-
-        switch (answer)
-        {
-        case KMessageBox::Yes:
-            return true;
-
-        case KMessageBox::No:
-            rApp->quit();
-            return true;
-
-        default:
-            return false;
-        }
-    }
-    emit lastWindowClosed();
-    return true;
-}
-
-
 void MainWindow::saveNewToolbarConfig()
 {
     KXmlGuiWindow::saveNewToolbarConfig();
@@ -1586,3 +1551,10 @@
 {
     currentTab()->page()->setContentEditable(on);
 }
+
+
+bool MainWindow::close()
+{
+    emit windowClosing();
+    return KMainWindow::close();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/mainwindow.h 
new/rekonq-0.7.90/src/mainwindow.h
--- old/rekonq-0.7.80/src/mainwindow.h  2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/mainwindow.h  2011-09-18 23:53:07.000000000 +0200
@@ -115,6 +115,8 @@
 
     void changeWindowIcon(int index);
 
+    bool close();
+
 Q_SIGNALS:
     // switching tabs
     void ctrlTabPressed();
@@ -123,7 +125,7 @@
     void triggerPartPrint();
     void triggerPartFind();
 
-    void lastWindowClosed();
+    void windowClosing();
 
 protected Q_SLOTS:
     void saveNewToolbarConfig();
@@ -138,7 +140,6 @@
     void moveEvent(QMoveEvent *event);
     void resizeEvent(QResizeEvent *event);
     bool event(QEvent *event);
-    bool queryClose();
     void finalizeGUI(KXMLGUIClient *client);
 
 private Q_SLOTS:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/newtabpage.cpp 
new/rekonq-0.7.90/src/newtabpage.cpp
--- old/rekonq-0.7.80/src/newtabpage.cpp        2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/newtabpage.cpp        2011-09-18 23:53:07.000000000 
+0200
@@ -122,6 +122,9 @@
         return;
     }
 
+    // webFrame can be null. See bug:282092
+    if (!m_root.webFrame())
+        return;
     WebPage *page = qobject_cast <WebPage *>(m_root.webFrame()->page());
     page->mainFrame()->setHtml(m_html);
     page->setIsOnRekonqPage(true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/sessionmanager.cpp 
new/rekonq-0.7.90/src/sessionmanager.cpp
--- old/rekonq-0.7.80/src/sessionmanager.cpp    2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/sessionmanager.cpp    2011-09-18 23:53:07.000000000 
+0200
@@ -58,6 +58,7 @@
         return;
     m_safe = false;
 
+    kDebug() << "SAVING SESSION...";
 
     QFile sessionFile(m_sessionFilePath);
     if (!sessionFile.open(QFile::WriteOnly | QFile::Truncate))
@@ -79,7 +80,7 @@
             QDomElement tab = document.createElement("tab");
             tab.setAttribute("title", mv->webTab(tabNo)->view()->title()); // 
redundant, but needed for closedSites()
             // as there's not way to read out the historyData
-            tab.setAttribute("url", 
mv->webTab(tabNo)->view()->url().toString());
+            tab.setAttribute("url", mv->webTab(tabNo)->url().url()); // Use 
WebTab's instead of WebView's url() to fix about links
             if (mv->tabBar()->currentIndex() == tabNo)
             {
                 tab.setAttribute("currentTab", 1);
@@ -151,6 +152,11 @@
 
             QDataStream readingStream(&history, QIODevice::ReadOnly);
             readingStream >> *(view->history());
+
+            // Get sure about urls are loaded
+            KUrl u = KUrl(tab.attribute("url"));
+            if (u.protocol() == QL1S("about"))
+                view->load(u);
         }
 
         mv->tabBar()->setCurrentIndex(currentTab);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/tabpreviewpopup.cpp 
new/rekonq-0.7.90/src/tabpreviewpopup.cpp
--- old/rekonq-0.7.80/src/tabpreviewpopup.cpp   2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/tabpreviewpopup.cpp   2011-09-18 23:53:07.000000000 
+0200
@@ -43,10 +43,6 @@
 #include <QStylePainter>
 #include <QStyleOptionFrame>
 
-// static
-static const int borderRadius = 5;
-static const double transparency = 0.90;
-
 
 TabPreviewPopup::TabPreviewPopup(WebTab* tab, QWidget* parent)
     : KPassivePopup(parent),
@@ -66,6 +62,7 @@
 
     setPopupStyle(KPassivePopup::CustomStyle + 1);
 
+    // use ToolTip appearance
     QPalette p;
 
     // adjust background color to use tooltip colors
@@ -77,8 +74,15 @@
     p.setColor(QPalette::Text, p.color(QPalette::ToolTipText));
 
     setPalette(p);
-    setWindowOpacity(transparency);
+
+    // window flags and attributes
     setWindowFlags(Qt::ToolTip);
+    setAttribute(Qt::WA_TranslucentBackground);
+    setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, 0, 
this) / 255.0);
+
+    // margins
+    const int margin = 1 + 
style()->pixelMetric(QStyle::PM_ToolTipLabelFrameWidth, 0, this);
+    setContentsMargins(margin, margin, margin, margin);
 
     setWebTab(tab);
 }
@@ -115,7 +119,8 @@
 void TabPreviewPopup::setFixedSize(int w, int h)
 {
     KPassivePopup::setFixedSize(w, h);
-    m_url->setText(m_url->fontMetrics().elidedText(m_url->text(), 
Qt::ElideMiddle, this->width() - borderRadius));
+    const int margin = 1 + 
style()->pixelMetric(QStyle::PM_ToolTipLabelFrameWidth, 0, this);
+    m_url->setText(m_url->fontMetrics().elidedText(m_url->text(), 
Qt::ElideMiddle, this->width() - margin * 2));
 
     //calculate mask
     QStyleOptionFrame opt;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/urlbar/bookmarkwidget.cpp 
new/rekonq-0.7.90/src/urlbar/bookmarkwidget.cpp
--- old/rekonq-0.7.80/src/urlbar/bookmarkwidget.cpp     2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/urlbar/bookmarkwidget.cpp     2011-09-18 
23:53:07.000000000 +0200
@@ -65,7 +65,6 @@
     QFont f = bookmarkInfo->font();
     f.setBold(true);
     bookmarkInfo->setFont(f);
-    bookmarkInfo->setAlignment(Qt::AlignCenter);
     vLayout->addWidget(bookmarkInfo);
 
     // Remove button
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/urlbar/favoritewidget.cpp 
new/rekonq-0.7.90/src/urlbar/favoritewidget.cpp
--- old/rekonq-0.7.80/src/urlbar/favoritewidget.cpp     2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/urlbar/favoritewidget.cpp     2011-09-18 
23:53:07.000000000 +0200
@@ -55,21 +55,17 @@
     setAttribute(Qt::WA_DeleteOnClose);
     setFixedWidth(350);
 
-    QVBoxLayout *layout = new QVBoxLayout(this);
-
-    // Title
-    QLabel *favoriteInfo = new QLabel(this);
-    favoriteInfo->setText(i18n("<h4>Remove this favorite?</h4>"));
-    layout->addWidget(favoriteInfo, 0, Qt::AlignCenter);
-
-    QHBoxLayout *hLay = new QHBoxLayout(this);
+    QFormLayout *layout = new QFormLayout(this);
+    QVBoxLayout *vLay = new QVBoxLayout(this);
 
     // Favorite icon
     QLabel *bookmarkIcon = new QLabel(this);
     bookmarkIcon->setPixmap(KIcon("emblem-favorite").pixmap(32, 32));
-    hLay->addWidget(bookmarkIcon);
 
-    QVBoxLayout *vLay = new QVBoxLayout(this);
+    // Title
+    QLabel *favoriteInfo = new QLabel(this);
+    favoriteInfo->setText(i18n("<h4>Remove this favorite?</h4>"));
+    vLay->addWidget(favoriteInfo);
 
     // Favorite name
     QLabel *nameLabel = new QLabel(this);
@@ -81,8 +77,7 @@
     urlLabel->setText(i18n("URL: %1", m_tab->url().url()));
     vLay->addWidget(urlLabel);
 
-    hLay->addLayout(vLay);
-    layout->addLayout(hLay);
+    layout->addRow(bookmarkIcon, vLay);
 
     // Ok & Cancel buttons
     QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | 
QDialogButtonBox::Cancel, Qt::Horizontal, this);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/urlbar/rsswidget.cpp 
new/rekonq-0.7.90/src/urlbar/rsswidget.cpp
--- old/rekonq-0.7.80/src/urlbar/rsswidget.cpp  2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/urlbar/rsswidget.cpp  2011-09-18 23:53:07.000000000 
+0200
@@ -56,7 +56,7 @@
     , m_map(map)
 {
     setAttribute(Qt::WA_DeleteOnClose);
-    setMinimumWidth(250);
+    setFixedWidth(350);
 
     QFormLayout *layout = new QFormLayout(this);
 
@@ -66,7 +66,6 @@
     QFont f = title->font();
     f.setBold(true);
     title->setFont(f);
-    title->setAlignment(Qt::AlignCenter);
     layout->addRow(title);
 
     // Agregators
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/urlbar/urlbar.cpp 
new/rekonq-0.7.90/src/urlbar/urlbar.cpp
--- old/rekonq-0.7.80/src/urlbar/urlbar.cpp     2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/urlbar/urlbar.cpp     2011-09-18 23:53:07.000000000 
+0200
@@ -46,6 +46,7 @@
 #include "bookmarkwidget.h"
 #include "iconmanager.h"
 #include "favoritewidget.h"
+#include "searchengine.h"
 
 // KDE Includes
 #include <KCompletionBox>
@@ -182,7 +183,7 @@
     QPalette p = palette();
 
     int progr = _tab->progress();
-    if (progr == 0)
+    if (progr == 0 || progr == 100)
     {
         if (_tab->url().scheme() == QL1S("https"))
         {
@@ -482,8 +483,17 @@
     menu.addAction(a);
 
     // Paste & Go
-    a = new KAction(i18n("Paste && Go"), this);
-    connect(a, SIGNAL(triggered(bool)), this, SLOT(pasteAndGo()));
+    const QString clipboardText = rApp->clipboard()->text();
+    if (isValidURL(clipboardText) || clipboardText.isEmpty())
+    {
+        a = new KAction(i18n("Paste && Go"), this);
+        connect(a, SIGNAL(triggered(bool)), this, SLOT(pasteAndGo()));
+    }
+    else
+    {
+        a = new KAction(i18n("Paste && Search"), this);
+        connect(a, SIGNAL(triggered(bool)), this, SLOT(pasteAndSearch()));
+    }
     a->setEnabled(clipboardFilled);
     menu.addAction(a);
 
@@ -504,6 +514,17 @@
 }
 
 
+bool UrlBar::isValidURL(QString url)
+{
+    bool isValid = false;
+    if (url.startsWith("http://";) || url.startsWith("https://";) || 
url.startsWith("ftp://";))
+        url = url.remove(QRegExp("(http|https|ftp)://"));
+    if (url.contains('.') && url.indexOf('.') > 0 && url.indexOf('.') < 
url.length() && !url.trimmed().contains(" ") && 
QUrl::fromUserInput(url).isValid())
+        isValid = true;
+    return isValid;
+}
+
+
 IconButton *UrlBar::addRightIcon(UrlBar::icon ic)
 {
     IconButton *rightIcon = new IconButton(this);
@@ -696,6 +717,14 @@
 }
 
 
+void UrlBar::pasteAndSearch()
+{
+    KService::Ptr defaultEngine = SearchEngine::defaultEngine();
+    if (defaultEngine)
+        activated(KUrl(SearchEngine::buildQuery(defaultEngine, 
rApp->clipboard()->text())));
+}
+
+
 void UrlBar::delSlot()
 {
     del();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/urlbar/urlbar.h 
new/rekonq-0.7.90/src/urlbar/urlbar.h
--- old/rekonq-0.7.80/src/urlbar/urlbar.h       2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/urlbar/urlbar.h       2011-09-18 23:53:07.000000000 
+0200
@@ -116,7 +116,9 @@
     void refreshFavicon();
 
     void pasteAndGo();
+    void pasteAndSearch();
     void delSlot();
+    bool isValidURL(QString url);
 
 protected:
     void paintEvent(QPaintEvent *event);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/urlbar/webshortcutwidget.cpp 
new/rekonq-0.7.90/src/urlbar/webshortcutwidget.cpp
--- old/rekonq-0.7.80/src/urlbar/webshortcutwidget.cpp  2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/urlbar/webshortcutwidget.cpp  2011-09-18 
23:53:07.000000000 +0200
@@ -19,92 +19,70 @@
  * Boston, MA 02110-1301, USA.
  */
 
+// Self Includes
 #include "webshortcutwidget.h"
 #include "rekonq_defines.h"
 
-#include <QtCore/QTimer>
-#include <QtCore/QSet>
-#include <QtGui/QBoxLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QLineEdit>
-#include <QtGui/QPushButton>
-#include <QtGui/QFormLayout>
-
-
+// KDE Includes
 #include <KGlobalSettings>
 #include <KIcon>
 #include <KLocale>
 #include <KServiceTypeTrader>
 
+// Qt Includes
+#include <QSet>
+#include <QLabel>
+#include <QLineEdit>
+#include <QDialogButtonBox>
+#include <QFormLayout>
+
 WebShortcutWidget::WebShortcutWidget(QWidget *parent)
-    : QDialog(parent)
+    : QMenu(parent)
+    , m_wsLineEdit(new QLineEdit(this))
+    , m_nameLineEdit(new QLineEdit(this))
+    , m_noteLabel(new QLabel(this))
 {
-    QVBoxLayout *mainLayout = new QVBoxLayout();
-    QHBoxLayout *titleLayout = new QHBoxLayout();
-    mainLayout->addLayout(titleLayout);
-    QLabel *iconLabel = new QLabel(this);
+    setAttribute(Qt::WA_DeleteOnClose);
+    setFixedWidth(350);
 
-    KIcon wsIcon("edit-web-search");
-    if (wsIcon.isNull())
-    {
-        wsIcon = KIcon("preferences-web-browser-shortcuts");
-    }
+    QFormLayout *layout = new QFormLayout(this);
+    QVBoxLayout *vLay = new QVBoxLayout(this);
+
+    // Web Search Icon
+    QLabel *webSearchIcon = new QLabel(this);
+    webSearchIcon->setPixmap(KIcon("edit-web-search").pixmap(32, 32));
+
+    // Title
+    QLabel *titleLabel = new QLabel(this);
+    titleLabel->setText("<h4>" + i18n("Add Search Engine") + "</h4>");
+    vLay->addWidget(titleLabel);
+
+    // Name
+    vLay->addWidget(m_nameLineEdit);
 
-    iconLabel->setPixmap(wsIcon.pixmap(22, 22));
-    titleLayout->addWidget(iconLabel);
-    m_searchTitleLabel = new QLabel(i18n("Add Search Engine"), this);
-    QFont boldFont = KGlobalSettings::generalFont();
-    boldFont.setBold(true);
-    m_searchTitleLabel->setFont(boldFont);
-    titleLayout->addWidget(m_searchTitleLabel);
-    titleLayout->addStretch();
-
-    QFormLayout *formLayout = new QFormLayout();
-    mainLayout->addLayout(formLayout);
-
-    QFont smallFont = KGlobalSettings::smallestReadableFont();
-    m_nameLineEdit = new QLineEdit(this);
-    m_nameLineEdit->setEnabled(false);
-    m_nameLineEdit->setFont(smallFont);
-    QLabel *nameLabel = new QLabel(i18n("Name:"), this);
-    nameLabel->setFont(smallFont);
-    formLayout->addRow(nameLabel, m_nameLineEdit);
+    layout->addRow(webSearchIcon, vLay);
 
+    // Shortcuts
     QLabel *shortcutsLabel = new QLabel(i18n("Shortcuts:"), this);
-    shortcutsLabel->setFont(smallFont);
-    m_wsLineEdit = new QLineEdit(this);
-    m_wsLineEdit->setMinimumWidth(100);
-    m_wsLineEdit->setFont(smallFont);
-    formLayout->addRow(shortcutsLabel, m_wsLineEdit);
+    layout->addRow(shortcutsLabel, m_wsLineEdit);
     connect(m_wsLineEdit,  SIGNAL(textChanged(QString)), 
SLOT(shortcutsChanged(const QString&)));
 
-    m_noteLabel = new QLabel(this);
-    m_noteLabel->setFont(boldFont);
+    // Note
     m_noteLabel->setWordWrap(true);
-    formLayout->addRow(m_noteLabel);
-    m_noteLabel->setVisible(false);
+    layout->addRow(m_noteLabel);
+    m_noteLabel->hide();
 
-    mainLayout->addStretch();
+    // Ok & Cancel buttons
+    QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | 
QDialogButtonBox::Cancel, Qt::Horizontal, this);
+    connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+    connect(buttonBox, SIGNAL(rejected()), this, SLOT(close()));
+    layout->addWidget(buttonBox);
 
-    QHBoxLayout *buttonLayout = new QHBoxLayout();
-    mainLayout->addLayout(buttonLayout);
-    buttonLayout->addStretch();
-    m_okButton = new QPushButton(i18n("Ok"), this);
-    m_okButton->setDefault(true);
-    buttonLayout->addWidget(m_okButton);
-    connect(m_okButton, SIGNAL(clicked()), this, SLOT(okClicked()));
-
-    QPushButton *cancelButton = new QPushButton(i18n("Cancel"), this);
-    buttonLayout->addWidget(cancelButton);
-    connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelClicked()));
-
-    setLayout(mainLayout);
-
-    setMinimumWidth(250);
+    setLayout(layout);
 
     m_providers = KServiceTypeTrader::self()->query("SearchProvider");
 
-    QTimer::singleShot(0, m_wsLineEdit, SLOT(setFocus()));
+    m_wsLineEdit->setFocus();
 }
 
 
@@ -112,12 +90,9 @@
 {
     adjustSize();
 
-    QPoint p;
-    p.setX(pos.x() - width());
-    p.setY(pos.y() + 10);
-
+    QPoint p(pos.x() - width(), pos.y() + 10);
     move(p);
-    QDialog::show();
+    exec();
 }
 
 
@@ -130,16 +105,10 @@
 }
 
 
-void WebShortcutWidget::okClicked()
+void WebShortcutWidget::accept()
 {
-    hide();
     emit webShortcutSet(m_url, m_nameLineEdit->text(), m_wsLineEdit->text());
-}
-
-
-void WebShortcutWidget::cancelClicked()
-{
-    hide();
+    close();
 }
 
 
@@ -169,14 +138,12 @@
 
     if (!contenderName.isEmpty())
     {
-        m_okButton->setEnabled(false);
         m_noteLabel->setText(i18n("The shortcut \"%1\" is already assigned to 
\"%2\".", contenderWS, contenderName));
         m_noteLabel->setVisible(true);
         resize(minimumSize().width(), minimumSizeHint().height() + 15);
     }
     else
     {
-        m_okButton->setEnabled(true);
         m_noteLabel->clear();
         bool noteIsVisible = m_noteLabel->isVisible();
         m_noteLabel->setVisible(false);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/urlbar/webshortcutwidget.h 
new/rekonq-0.7.90/src/urlbar/webshortcutwidget.h
--- old/rekonq-0.7.80/src/urlbar/webshortcutwidget.h    2011-09-09 
18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/urlbar/webshortcutwidget.h    2011-09-18 
23:53:07.000000000 +0200
@@ -22,35 +22,33 @@
 #ifndef WEBSHORTCUTWIDGET_H
 #define WEBSHORTCUTWIDGET_H
 
-#include <QtGui/QDialog>
+#include <QMenu>
 #include <KUrl>
 #include <KService>
 
 class QLabel;
 class QLineEdit;
+class QPushButton;
 
-class WebShortcutWidget : public QDialog
+class WebShortcutWidget : public QMenu
 {
     Q_OBJECT
 public:
-    explicit WebShortcutWidget(QWidget *parent = 0);
+    WebShortcutWidget(QWidget *parent = 0);
 
     void show(const KUrl &url, const QString &openSearchName, const QPoint 
&pos);
 
 private slots:
-    void okClicked();
-    void cancelClicked();
+    void accept();
     void shortcutsChanged(const QString& newShorthands);
 
 signals:
     void webShortcutSet(const KUrl &url, const QString &openSearchName, const 
QString &webShortcut);
 
 private:
-    QLabel *m_searchTitleLabel;
     QLineEdit *m_wsLineEdit;
     QLineEdit *m_nameLineEdit;
     QLabel *m_noteLabel;
-    QPushButton *m_okButton;
 
     KService::List m_providers;
     KUrl m_url;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/webpage.cpp 
new/rekonq-0.7.90/src/webpage.cpp
--- old/rekonq-0.7.80/src/webpage.cpp   2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/webpage.cpp   2011-09-18 23:53:07.000000000 +0200
@@ -49,6 +49,7 @@
 #include "urlbar.h"
 #include "webpluginfactory.h"
 #include "webtab.h"
+#include "searchengine.h"
 #include "sslwidget.h"
 #include "sslinfodialog.h"
 
@@ -658,6 +659,16 @@
     msg += QL1S("<input type=\"button\" id=\"reloadButton\" 
onClick=\"document.location.href='") + urlString + QL1S("';\" value=\"");
     msg += i18n("Try Again") + QL1S("\" />");
 
+    //Default SearchEngine
+    KService::Ptr defaultEngine = SearchEngine::defaultEngine();
+
+    if (defaultEngine)
+    {
+        msg += i18n("or");
+        msg += QL1S(" <a href=\"") + SearchEngine::buildQuery(defaultEngine, 
urlString) + QL1S("\">");
+        msg += i18n("Search with %1", defaultEngine->name()) + QL1S("</a>");
+    }
+
     QString html = QString(QL1S(file.readAll()))
                    .arg(title)
                    .arg(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/webpluginfactory.cpp 
new/rekonq-0.7.90/src/webpluginfactory.cpp
--- old/rekonq-0.7.80/src/webpluginfactory.cpp  2011-09-09 18:42:07.000000000 
+0200
+++ new/rekonq-0.7.90/src/webpluginfactory.cpp  2011-09-18 23:53:07.000000000 
+0200
@@ -69,7 +69,7 @@
         if (_loadClickToFlash)
         {
             emit signalLoadClickToFlash(false);
-            return 0; //KWebPluginFactory::create(mimeType, url, 
argumentNames, argumentValues);
+            return KWebPluginFactory::create(mimeType, url, argumentNames, 
argumentValues);
         }
         else
         {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/webtab.cpp 
new/rekonq-0.7.90/src/webtab.cpp
--- old/rekonq-0.7.80/src/webtab.cpp    2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/webtab.cpp    2011-09-18 23:53:07.000000000 +0200
@@ -87,6 +87,9 @@
     connect(m_webView, SIGNAL(loadProgress(int)), this, 
SLOT(updateProgress(int)));
     connect(m_webView, SIGNAL(loadFinished(bool)), this, 
SLOT(loadFinished(bool)));
     connect(m_webView, SIGNAL(titleChanged(const QString &)), this, 
SIGNAL(titleChanged(const QString &)));
+
+    // Session Manager
+    connect(m_webView, SIGNAL(loadFinished(bool)), rApp->sessionManager(), 
SLOT(saveSession()));
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rekonq-0.7.80/src/webview.cpp 
new/rekonq-0.7.90/src/webview.cpp
--- old/rekonq-0.7.80/src/webview.cpp   2011-09-09 18:42:07.000000000 +0200
+++ new/rekonq-0.7.90/src/webview.cpp   2011-09-18 23:53:07.000000000 +0200
@@ -402,6 +402,23 @@
                 update();
             }
         }
+
+        if (!ReKonfig::autoScroll())
+        {
+            const QString clipboardContent = rApp->clipboard()->text();
+
+            if (clipboardContent.isEmpty())
+                break;
+
+            if (QUrl::fromUserInput(clipboardContent).isValid())
+                loadUrl(clipboardContent, Rekonq::CurrentTab);
+            else // Search with default Engine
+            {
+                KService::Ptr defaultEngine = SearchEngine::defaultEngine();
+                if (defaultEngine) // check if a default engine is set
+                    loadUrl(KUrl(SearchEngine::buildQuery(defaultEngine, 
clipboardContent)), Rekonq::CurrentTab);
+            }
+        }
         break;
 
     default:


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to