summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--CMakeLists.txt68
-rw-r--r--TODO25
-rw-r--r--src/CMakeLists.txt33
-rw-r--r--src/application.cpp2
-rw-r--r--src/application.h2
-rw-r--r--src/history.cpp2
-rw-r--r--src/main.cpp2
-rw-r--r--src/mainview.cpp67
-rw-r--r--src/mainview.h2
-rw-r--r--src/mainwindow.cpp97
-rw-r--r--src/mainwindow.h30
-rw-r--r--src/rekonq.kcfg9
-rw-r--r--src/searchbar.cpp131
-rw-r--r--src/searchbar.h68
-rw-r--r--src/settings.cpp8
-rw-r--r--src/settings_general.ui41
-rw-r--r--src/urlbar.cpp4
-rw-r--r--src/urlbar.h1
-rw-r--r--src/webpage.cpp36
-rw-r--r--src/webpage.h5
21 files changed, 200 insertions, 434 deletions
diff --git a/.gitignore b/.gitignore
index f4cc75e9..a23aba95 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,5 +5,6 @@ src/.ctagsdb
.directory
*.tmp
build/
+qtcreator-build/
CMakeLists.txt.user
CMakeCache.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b3d7ff4..6681e5a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,7 @@ PROJECT( rekonq )
# rekonq info
SET(REKONQ_MAJOR_VERSION "0")
SET(REKONQ_MINOR_VERSION "1")
-SET(REKONQ_PATCH_VERSION "6")
+SET(REKONQ_PATCH_VERSION "7")
SET(REKONQ_VERSION_STR
"${REKONQ_MAJOR_VERSION}.${REKONQ_MINOR_VERSION}.${REKONQ_PATCH_VERSION}"
@@ -37,9 +37,22 @@ INCLUDE(FindPackageHandleStandardArgs)
INCLUDE(KDE4Defaults)
INCLUDE(MacroLibrary)
+# =================================================================================================
+# KDE Version
+
+if(${KDE_VERSION_MINOR} GREATER "2")
+ SET(KDE_OLD_VERSION false)
+else(${KDE_VERSION_MINOR} GREATER "2")
+ if(${KDE_VERSION_RELEASE} GREATER "69")
+ SET(KDE_OLD_VERSION false)
+ else(${KDE_VERSION_RELEASE} GREATER "69")
+ SET(KDE_OLD_VERSION true)
+ endif(${KDE_VERSION_RELEASE} GREATER "69")
+endif(${KDE_VERSION_MINOR} GREATER "2")
+# =================================================================================================
+
# --------------- KNetworkAccessManager
-if(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+if(KDE_OLD_VERSION)
find_package(KdeNetwork REQUIRED)
@@ -49,7 +62,8 @@ else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
MESSAGE(STATUS " classes, instead of newly KIO::AccessManager. ")
MESSAGE(STATUS "")
-endif(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+endif(KDE_OLD_VERSION)
+
# ==================================================================================================
@@ -110,21 +124,20 @@ ELSE(KDEWEBKIT_FOUND)
ENDIF(KDEWEBKIT_FOUND)
# --------------- KNetworkAccessManager
-if(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-MESSAGE(STATUS "")
-IF(KDENETWORK_FOUND)
- MESSAGE(STATUS " KDE Network library found............. YES")
-ELSE(KDENETWORK_FOUND)
- MESSAGE(STATUS " KDE Network library found............. NO")
- MESSAGE(STATUS "")
- MESSAGE(SEND_ERROR " rekonq needs, from version 0.2, KDENETWORK if compiled with a KDE version minor than 4.2.69 ")
- MESSAGE(STATUS " You can actually retrieve it from playground/libs/webkitkde/kdenetwork KDE svn")
- MESSAGE(STATUS "")
-ENDIF(KDENETWORK_FOUND)
-
-endif(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+if(KDE_OLD_VERSION)
+ MESSAGE(STATUS "")
+ IF(KDENETWORK_FOUND)
+ MESSAGE(STATUS " KDE Network library found............. YES")
+ ELSE(KDENETWORK_FOUND)
+ MESSAGE(STATUS " KDE Network library found............. NO")
+ MESSAGE(STATUS "")
+ MESSAGE(SEND_ERROR " rekonq needs, from version 0.2, KDENETWORK if compiled with a KDE version minor than 4.2.69 ")
+ MESSAGE(STATUS " You can actually retrieve it from playground/libs/webkitkde/kdenetwork KDE svn")
+ MESSAGE(STATUS "")
+ ENDIF(KDENETWORK_FOUND)
+
+endif(KDE_OLD_VERSION)
MESSAGE(STATUS "")
MESSAGE(STATUS "----------------------------------------------------------------------------------")
@@ -133,28 +146,27 @@ MESSAGE(STATUS "")
##### FINAL RESULTS #####
-if(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+if(KDE_OLD_VERSION)
- IF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND)
+ IF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND AND KDENETWORK_FOUND)
MESSAGE(STATUS " rekonq will be compiled............... YES")
SET(REKONQ_CAN_BE_COMPILED true)
- ELSE(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND)
+ ELSE(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND AND KDENETWORK_FOUND)
MESSAGE(FATAL_ERROR " rekonq will NOT be compiled!")
SET(REKONQ_CAN_BE_COMPILED false)
- ENDIF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND)
+ ENDIF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND AND KDENETWORK_FOUND)
-else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+else(KDE_OLD_VERSION)
- IF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND AND KDENETWORK_FOUND)
+ IF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND)
MESSAGE(STATUS " rekonq will be compiled............... YES")
SET(REKONQ_CAN_BE_COMPILED true)
- ELSE(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND AND KDENETWORK_FOUND)
+ ELSE(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND)
MESSAGE(FATAL_ERROR " rekonq will NOT be compiled!")
SET(REKONQ_CAN_BE_COMPILED false)
- ENDIF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND AND KDENETWORK_FOUND)
-
-endif(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+ ENDIF(QT_FOUND AND KDE4_FOUND AND KDEWEBKIT_FOUND)
+endif(KDE_OLD_VERSION)
MESSAGE(STATUS "")
diff --git a/TODO b/TODO
index 40ccda35..88cb8e92 100644
--- a/TODO
+++ b/TODO
@@ -1,8 +1,8 @@
-- QWebFrame management
-- Fix crash on example sites..
+(4.6) - QWebFrame management
++ Fix crash on example sites..
- improve DOCUMENTATION
-- Type "FormSubmitted" ("WordPress Bug")
-- cookies
++ Type "FormSubmitted" ("WordPress Bug")
++ cookies
- unit tests
LONG TERM GOALS
@@ -14,11 +14,14 @@ LONG TERM GOALS
TO 0.2 release
-- unique url/search/history bar
-- WebkitKDE (ask about status)
-- cookie system refactor
-- bookmarks panel
-- MimeType Manager
-- BETTER KDE INTEGRATION (What else to be done??)
-- error pages
++- unique url/search/history bar
++ WebkitKDE (ask about status)
++ cookie system refactor
+x- bookmarks panel
+x- MimeType Manager
++- BETTER KDE INTEGRATION (What else to be done??)
++- error pages
+- CLEAN CLEAN CLEAN code
+- remove searchbar
+- \ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ed3205b8..f3f7544a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,14 +1,10 @@
### ------- SETTING REKONQ FILES..
-if(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-
-SET( rekonq_NAM networkmanager.cpp )
-
-else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-
-SET( rekonq_NAM kaccessmanager.cpp )
-
-endif(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+if(KDE_OLD_VERSION)
+ SET( rekonq_NAM kaccessmanager.cpp )
+else(KDE_OLD_VERSION)
+ SET( rekonq_NAM networkmanager.cpp )
+endif(KDE_OLD_VERSION)
SET( rekonq_SRCS
${rekonq_NAM}
@@ -26,7 +22,6 @@ SET( rekonq_SRCS
modelmenu.cpp
urlbar.cpp
findbar.cpp
- searchbar.cpp
settings.cpp
webview.cpp
main.cpp
@@ -66,13 +61,11 @@ INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_SOURCE_DIR}
${KDEWEBKIT_INCLUDE_DIR}
)
-if(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+if(KDE_OLD_VERSION)
INCLUDE_DIRECTORIES( ${KDENETWORK_INCLUDE_DIR} )
-endif(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-
+endif(KDE_OLD_VERSION)
### -------------- ADDING DEFINITIONS...
@@ -81,13 +74,11 @@ ADD_DEFINITIONS ( ${KDE4_DEFINITIONS}
${KDEWEBKIT_DEFINITIONS}
)
-if(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+if(KDE_OLD_VERSION)
ADD_DEFINITIONS ( ${KDENETWORK_DEFINITIONS} )
-endif(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-
+endif(KDE_OLD_VERSION)
### --------------- ADDING EXECUTABLE...
@@ -107,13 +98,11 @@ TARGET_LINK_LIBRARIES ( rekonq
${KDEWEBKIT_LIBRARIES}
)
-if(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-else(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
+if(KDE_OLD_VERSION)
TARGET_LINK_LIBRARIES( ${KDENETWORK_LIBRARIES} )
-endif(${KDE_VERSION_MINOR} EQUAL "2" AND ${KDE_VERSION_RELEASE} GREATER "69")
-
+endif(KDE_OLD_VERSION)
### ------------ INSTALL FILES...
diff --git a/src/application.cpp b/src/application.cpp
index b940794a..afd6a2cc 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -185,7 +185,7 @@ BookmarkProvider *Application::bookmarkProvider()
}
-KIcon Application::icon(const KUrl &url) const
+KIcon Application::icon(const KUrl &url)
{
KIcon icon = KIcon(QWebSettings::iconForUrl(url));
if (icon.isNull())
diff --git a/src/application.h b/src/application.h
index d2e66d3f..46d013e3 100644
--- a/src/application.h
+++ b/src/application.h
@@ -90,7 +90,7 @@ public:
MainWindow *mainWindow();
WebView *newWebView(Rekonq::OpenType type = Rekonq::Default);
- KIcon icon(const KUrl &url) const;
+ static KIcon icon(const KUrl &url);
static KUrl guessUrlFromString(const QString &url);
diff --git a/src/history.cpp b/src/history.cpp
index 11cd3653..d67e65d0 100644
--- a/src/history.cpp
+++ b/src/history.cpp
@@ -500,7 +500,7 @@ QVariant HistoryModel::data(const QModelIndex &index, int role) const
case Qt::DecorationRole:
if (index.column() == 0)
{
- return Application::instance()->icon(item.url);
+ return Application::icon(item.url);
}
}
return QVariant();
diff --git a/src/main.cpp b/src/main.cpp
index d97017ca..71ba22b5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -31,7 +31,7 @@ static const char description[] =
I18N_NOOP("WebKit based Web Browser for KDE");
-static const char version[] = "0.1.6";
+static const char version[] = "0.1.7";
int main(int argc, char **argv)
diff --git a/src/mainview.cpp b/src/mainview.cpp
index 75154528..a3c6e77e 100644
--- a/src/mainview.cpp
+++ b/src/mainview.cpp
@@ -46,6 +46,7 @@
#include <KActionCollection>
#include <KDebug>
#include <KStandardDirs>
+#include <KToolInvocation>
// Qt Includes
#include <QtCore/QTimer>
@@ -501,11 +502,10 @@ void MainView::slotCloseTab(int index)
{
if (tab->isModified())
{
- int risp = KMessageBox::questionYesNo(this ,
+ int risp = KMessageBox::questionYesNo(this,
i18n("You have modified this page and when closing it you would lose the modification.\n"
- "Do you really want to close this page?\n"),
- i18n("Do you really want to close this page?")
- );
+ "Do you really want to close this page?\n"),
+ i18n("Do you really want to close this page?"));
if (risp == KMessageBox::No)
return;
}
@@ -586,7 +586,7 @@ void MainView::webViewIconChanged()
int index = webViewIndex(webView);
if (-1 != index)
{
- QIcon icon = Application::instance()->icon(webView->url());
+ QIcon icon = Application::icon(webView->url());
QLabel *label = animatedLoading(index, false);
QMovie *movie = label->movie();
delete movie;
@@ -629,24 +629,71 @@ void MainView::webViewUrlChanged(const QUrl &url)
}
+// WARNING this method is ready to be refactored with real KServices implementation
+// and moved to a RekonqRun class (0.3 target)
void MainView::loadUrl(const KUrl &url)
{
if (url.isEmpty())
return;
- currentUrlBar()->setUrl(url.prettyUrl());
+ QString scheme = url.scheme();
- WebView *webView = currentWebView();
+ if (scheme == QLatin1String("mailto"))
+ {
+ KToolInvocation::invokeMailer(url);
+ return;
+ }
KUrl loadingUrl(url);
+ // create convenience fake api:// protocol for KDE apidox search and Qt docs
+ if (scheme == QLatin1String("api"))
+ {
+ QString path;
+ QString className = url.host().toLower();
+ if (className[0] == 'k')
+ {
+ path = QString("http://api.kde.org/new.classmapper.php?class=%1").arg(className);
+ }
+ else if (className[0] == 'q')
+ {
+ path = QString("http://doc.trolltech.com/4.5/%1.html").arg(className);
+ }
+ loadingUrl.setUrl(path);
+ }
+
if (loadingUrl.isRelative())
{
- QString fn = loadingUrl.url(KUrl::RemoveTrailingSlash);
- loadingUrl.setUrl("//" + fn);
- loadingUrl.setScheme("http");
+ if(loadingUrl.path().contains('.'))
+ {
+ QString fn = loadingUrl.url(KUrl::RemoveTrailingSlash);
+ loadingUrl.setUrl("//" + fn);
+ loadingUrl.setScheme("http");
+ }
+ else
+ {
+ scheme = QLatin1String("gg");
+ }
+ }
+
+ // create convenience fake gg:// protocol, waiting for KServices learning
+ if(scheme == QLatin1String("gg"))
+ {
+ QString str = loadingUrl.path();
+ loadingUrl.setUrl( QString("http://google.com/search?&q=%1").arg(str) );
}
+ // create convenience fake wk:// protocol, waiting for KServices learning
+ if(scheme == QLatin1String("wk"))
+ {
+ QString str = loadingUrl.path();
+ loadingUrl.setUrl( QString("http://en.wikipedia.org/wiki/%1").arg(str) );
+ }
+
+ currentUrlBar()->setUrl(loadingUrl.prettyUrl());
+
+ WebView *webView = currentWebView();
+
if (webView)
{
webView->load(loadingUrl);
diff --git a/src/mainview.h b/src/mainview.h
index 7cb4e035..d338402a 100644
--- a/src/mainview.h
+++ b/src/mainview.h
@@ -2,7 +2,7 @@
*
* This file is a part of the rekonq project
*
-* Copyright (C) 2008 by Andrea Diamantini <adjam7 at gmail dot com>
+* Copyright (C) 2008-2009 by Andrea Diamantini <adjam7 at gmail dot com>
* Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot com>
*
*
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 519081d6..82f95cfa 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -92,7 +92,6 @@
MainWindow::MainWindow()
: KXmlGuiWindow()
, m_view(new MainView(this))
- , m_searchBar(new SearchBar(this))
, m_findBar(new FindBar(this))
, m_sidePanel(0)
{
@@ -119,8 +118,8 @@ MainWindow::MainWindow()
// then, setup our actions
setupActions();
- // setting up toolbars: this has to be done BEFORE setupGUI!!
- setupToolBars();
+ // setting up toolbars && location bar: this has to be done BEFORE setupGUI!!
+ setupBars();
// Bookmark Menu
KActionMenu *bmMenu = Application::bookmarkProvider()->bookmarkActionMenu();
@@ -165,10 +164,6 @@ void MainWindow::postLaunch()
connect(m_view, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int)));
connect(m_view, SIGNAL(printRequested(QWebFrame *)), this, SLOT(printRequested(QWebFrame *)));
- // "status bar" messages (new notifyMessage system)
- connect(m_view, SIGNAL(showStatusBarMessage(const QString&, Rekonq::Notify)), this, SLOT(notifyMessage(const QString&, Rekonq::Notify)));
- connect(m_view, SIGNAL(linkHovered(const QString&)), this, SLOT(notifyMessage(const QString&)));
-
// update toolbar actions signals
connect(m_view, SIGNAL(tabsChanged()), this, SLOT(slotUpdateActions()));
connect(m_view, SIGNAL(currentChanged(int)), this, SLOT(slotUpdateActions()));
@@ -195,7 +190,7 @@ QSize MainWindow::sizeHint() const
}
-void MainWindow::setupToolBars()
+void MainWindow::setupBars()
{
KAction *a;
@@ -205,13 +200,6 @@ void MainWindow::setupToolBars()
a->setDefaultWidget(m_view->urlBarStack());
actionCollection()->addAction(QLatin1String("url_bar"), a);
- // search bar
- a = new KAction(i18n("Search Bar"), this);
- a->setShortcut(KShortcut(Qt::CTRL + Qt::Key_K));
- a->setDefaultWidget(m_searchBar);
- connect(m_searchBar, SIGNAL(search(const KUrl&)), this, SLOT(loadUrl(const KUrl&)));
- actionCollection()->addAction(QLatin1String("search_bar"), a);
-
// bookmarks bar
KAction *bookmarkBarAction = Application::bookmarkProvider()->bookmarkToolBarAction();
a = actionCollection()->addAction(QLatin1String("bookmarks_bar"), bookmarkBarAction);
@@ -295,7 +283,7 @@ void MainWindow::setupActions()
a = new KAction(KIcon("view-media-artist"), i18n("Private &Browsing"), this);
a->setCheckable(true);
actionCollection()->addAction(QLatin1String("private_browsing"), a);
- connect(a, SIGNAL(triggered(bool)) , this, SLOT(slotPrivateBrowsing(bool)));
+ connect(a, SIGNAL(triggered(bool)), this, SLOT(slotPrivateBrowsing(bool)));
// ================ history related actions
m_historyBackAction = new KAction(KIcon("go-previous"), i18n("Back"), this);
@@ -360,7 +348,7 @@ void MainWindow::setupHistoryMenu()
// setting history menu position
menuBar()->insertMenu(actionCollection()->action("bookmarks"), historyMenu);
- // setting initial actions
+ // setting initial actions
QList<QAction*> historyActions;
historyActions.append(actionCollection()->action("history_back"));
historyActions.append(actionCollection()->action("history_forward"));
@@ -375,6 +363,23 @@ void MainWindow::slotUpdateConfiguration()
mainView()->showTabBar();
mainView()->setMakeBackTab( ReKonfig::openTabsBack() );
+ // "status bar" messages (new notifyMessage system)
+ if(ReKonfig::showUrlsPopup())
+ {
+ connect(m_view, SIGNAL(showStatusBarMessage(const QString&, Rekonq::Notify)),
+ this, SLOT(notifyMessage(const QString&, Rekonq::Notify)));
+ connect(m_view, SIGNAL(linkHovered(const QString&)),
+ this, SLOT(notifyMessage(const QString&)));
+ }
+ else
+ {
+ disconnect(m_view, SIGNAL(showStatusBarMessage(const QString&, Rekonq::Notify)),
+ this, SLOT(notifyMessage(const QString&, Rekonq::Notify)));
+ disconnect(m_view, SIGNAL(linkHovered(const QString&)),
+ this, SLOT(notifyMessage(const QString&)));
+ }
+
+
// =========== Fonts ==============
QWebSettings *defaultSettings = QWebSettings::globalSettings();
@@ -483,10 +488,10 @@ void MainWindow::slotUpdateWindowTitle(const QString &title)
void MainWindow::slotFileOpen()
{
QString filePath = KFileDialog::getOpenFileName(KUrl(),
- i18n("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz); All files (*.*)"),
+ i18n("*.html *.htm *.svg *.png *.gif *.svgz|Web Resources (*.html *.htm *.svg *.png *.gif *.svgz)\n" \
+ "*.*|All files (*.*)"),
this,
- i18n("Open Web Resource")
- );
+ i18n("Open Web Resource"));
if (filePath.isEmpty())
return;
@@ -531,7 +536,7 @@ void MainWindow::printRequested(QWebFrame *frame)
void MainWindow::slotPrivateBrowsing(bool enable)
{
QWebSettings *settings = QWebSettings::globalSettings();
- if (enable)
+ if (enable && !settings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
{
QString title = i18n("Are you sure you want to turn on private browsing?");
QString text = "<b>" + title + i18n("</b><br><br>When private browsing is turned on,"
@@ -542,8 +547,8 @@ void MainWindow::slotPrivateBrowsing(bool enable)
" Until you close the window, you can still click the Back and Forward buttons" \
" to return to the web pages you have opened.");
- int button = KMessageBox::questionYesNo(this, text, title);
- if (button == KMessageBox::Ok)
+ int button = KMessageBox::questionYesNo(this, text, title);
+ if (button == KMessageBox::Yes)
{
settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
}
@@ -577,15 +582,9 @@ void MainWindow::slotFindNext()
if (!currentTab() && m_lastSearch.isEmpty())
return;
- QWebPage::FindFlags options;
+ QWebPage::FindFlags options = QWebPage::FindWrapsAroundDocument;
if (m_findBar->matchCase())
- {
- options = QWebPage::FindCaseSensitively | QWebPage::FindWrapsAroundDocument;
- }
- else
- {
- options = QWebPage::FindWrapsAroundDocument;
- }
+ options |= QWebPage::FindCaseSensitively;
if (!currentTab()->findText(m_lastSearch, options))
{
@@ -599,15 +598,9 @@ void MainWindow::slotFindPrevious()
if (!currentTab() && m_lastSearch.isEmpty())
return;
- QWebPage::FindFlags options;
+ QWebPage::FindFlags options = QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument;
if (m_findBar->matchCase())
- {
- options = QWebPage::FindCaseSensitively | QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument;
- }
- else
- {
- options = QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument;
- }
+ options |= QWebPage::FindCaseSensitively;
if (!currentTab()->findText(m_lastSearch, options))
{
@@ -718,8 +711,8 @@ void MainWindow::slotToggleInspector(bool enable)
if (enable)
{
int result = KMessageBox::questionYesNo(this,
- i18n("The web inspector will only work correctly for pages that were loaded after enabling.\n"
- "Do you want to reload all pages?"),
+ i18n("The web inspector will only work correctly for pages that were loaded after enabling.\n" \
+ "Do you want to reload all pages?"),
i18n("Web Inspector")
);
@@ -810,17 +803,16 @@ bool MainWindow::queryClose()
int answer = KMessageBox::questionYesNoCancel(
this,
- i18np( "Are you sure you want to close the window?\n"
- "You have 1 tab open",
- "Are you sure you want to close the window?\n"
- "You have %1 tabs open",
- m_view->count()),
- i18n("Are you sure you want to close the window?"),
- KStandardGuiItem::quit(),
- KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close")),
- KStandardGuiItem::cancel(),
- "confirmClosingMultipleTabs"
- );
+ i18np("Are you sure you want to close the window?\n" \
+ "You have 1 tab open",
+ "Are you sure you want to close the window?\n" \
+ "You have %1 tabs open",
+ m_view->count()),
+ i18n("Are you sure you want to close the window?"),
+ KStandardGuiItem::quit(),
+ KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close")),
+ KStandardGuiItem::cancel(),
+ "confirmClosingMultipleTabs");
switch (answer)
{
@@ -891,7 +883,6 @@ void MainWindow::notifyMessage(const QString &msg, Rekonq::Notify status)
m_popup->setView(msg);
int h = KGlobalSettings::generalFont().pointSize();
- kWarning() << "h: " << h;
// setting popus in bottom-left position
int x = geometry().x();
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 4e32e215..c8ce7673 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -25,7 +25,6 @@
#define MAINWINDOW_H
// Local Includes
-#include "searchbar.h"
#include "bookmarks.h"
#include "mainview.h"
#include "webview.h"
@@ -39,8 +38,6 @@ class QWebFrame;
class KUrl;
class KAction;
-class KActionMenu;
-class KMenu;
class KPassivePopup;
class HistoryMenu;
@@ -49,23 +46,6 @@ class SidePanel;
class WebView;
-// namespace Rekonq
-// {
-// /**
-// * @short notifying message status
-// * Different message status
-// */
-//
-// enum Notify
-// {
-// Success, ///< url successfully (down)loaded
-// Error, ///< url failed to (down)load
-// Download, ///< downloading url
-// Info ///< information, (default)
-// };
-// }
-
-
/**
* This class serves as the main window for rekonq.
* It handles the menus, toolbars, and status bars.
@@ -87,7 +67,7 @@ public:
private:
void setupActions();
void setupHistoryMenu();
- void setupToolBars();
+ void setupBars();
void setupSidePanel();
SidePanel *sidePanel();
@@ -127,7 +107,6 @@ private slots:
void slotFileOpen();
void slotFilePrintPreview();
void slotFilePrint();
- void slotPrivateBrowsing(bool);
void slotFileSaveAs();
void printRequested(QWebFrame *frame);
@@ -145,6 +124,7 @@ private slots:
// Tools Menu slots
void slotToggleInspector(bool enable);
+ void slotPrivateBrowsing(bool enable);
// Settings Menu slots
void slotShowMenubar(bool enable);
@@ -152,16 +132,10 @@ private slots:
private:
MainView *m_view;
- SearchBar *m_searchBar;
FindBar *m_findBar;
SidePanel *m_sidePanel;
- KMenu *m_windowMenu;
- KActionMenu *m_historyActionMenu;
-
KAction *m_stopReloadAction;
- KAction *m_stopAction;
- KAction *m_reloadAction;
KAction *m_historyBackAction;
KAction *m_historyForwardAction;
diff --git a/src/rekonq.kcfg b/src/rekonq.kcfg
index 499258d2..d6e3a8ae 100644
--- a/src/rekonq.kcfg
+++ b/src/rekonq.kcfg
@@ -14,12 +14,6 @@
<entry name="homePage" type="String">
<default>http://www.kde.org/</default>
</entry>
- <entry name="downloadDir" type="Path">
- <default>$HOME</default>
- </entry>
- <entry name="downloadToDefaultDir" type="Bool">
- <default>false</default>
- </entry>
<entry name="alwaysShowTabBar" type="Bool">
<default>true</default>
</entry>
@@ -29,6 +23,9 @@
<entry name="openTabsBack" type="Bool">
<default>false</default>
</entry>
+ <entry name="showUrlsPopup" type="Bool">
+ <default>false</default>
+ </entry>
</group>
<!-- Fonts Settings -->
diff --git a/src/searchbar.cpp b/src/searchbar.cpp
deleted file mode 100644
index e8ffb178..00000000
--- a/src/searchbar.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* Copyright (C) 2008-2009 by Andrea Diamantini <adjam7 at gmail dot com>
-*
-*
-* This program is free software; you can redistribute it
-* and/or modify it under the terms of the GNU General
-* Public License as published by the Free Software Foundation;
-* either version 3, or (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* ============================================================ */
-
-
-// Self Includes
-#include "searchbar.h"
-#include "searchbar.moc"
-
-// Local Includes
-#include "application.h"
-#include "mainwindow.h"
-
-// KDE Includes
-#include <KUrl>
-#include <KCompletionBox>
-
-// Qt Includes
-#include <QtCore/QString>
-#include <QtGui/QSizePolicy>
-#include <QtNetwork/QNetworkAccessManager>
-#include <QtNetwork/QNetworkRequest>
-#include <QtNetwork/QNetworkReply>
-#include <QtXml/QXmlStreamReader>
-
-
-SearchBar::SearchBar(QWidget *parent)
- : LineEdit(parent)
- , m_networkAccessManager(new QNetworkAccessManager(this))
- , m_timer(new QTimer(this))
-{
- setFocusPolicy(Qt::WheelFocus);
- setMouseTracking(true);
- setAcceptDrops(true);
-
- setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
-
- setClearButtonShown(true);
-
- // better solution than using QPalette(s)..
- setClickMessage(i18n("Search..."));
-
- // setting QNetworkAccessManager..
- connect(m_networkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(handleNetworkData(QNetworkReply*)));
-
- // setting QTimer..
- m_timer->setSingleShot(true);
- m_timer->setInterval(200);
- connect(m_timer, SIGNAL(timeout()), SLOT(autoSuggest()));
- connect(this, SIGNAL(textEdited(QString)), m_timer, SLOT(start()));
-
- // connect searchNow slot..
- connect(this, SIGNAL(returnPressed()) , this , SLOT(searchNow()));
-}
-
-
-SearchBar::~SearchBar()
-{
-}
-
-
-void SearchBar::searchNow()
-{
- m_timer->stop();
- QString searchText = text();
- completionBox()->hide();
-
- KUrl url(QLatin1String("http://www.google.com/search"));
- url.addQueryItem(QLatin1String("q"), searchText);
- url.addQueryItem(QLatin1String("ie"), QLatin1String("UTF-8"));
- url.addQueryItem(QLatin1String("oe"), QLatin1String("UTF-8"));
- url.addQueryItem(QLatin1String("client"), QLatin1String("rekonq"));
- emit search(url);
-}
-
-
-void SearchBar::focusInEvent(QFocusEvent *event)
-{
- selectAll();
- LineEdit::focusInEvent(event);
-}
-
-
-void SearchBar::autoSuggest()
-{
- QString str = text();
- QString url = QString("http://google.com/complete/search?output=toolbar&q=%1").arg(str);
- m_networkAccessManager->get(QNetworkRequest(QString(url)));
-}
-
-
-void SearchBar::handleNetworkData(QNetworkReply *networkReply)
-{
- QUrl url = networkReply->url();
- if (!networkReply->error())
- {
- QStringList choices;
-
- QString response(networkReply->readAll());
- QXmlStreamReader xml(response);
- while (!xml.atEnd())
- {
- xml.readNext();
- if (xml.tokenType() == QXmlStreamReader::StartElement)
- if (xml.name() == "suggestion")
- {
- QStringRef str = xml.attributes().value("data");
- choices << str.toString();
- }
- }
-
- setCompletedItems(choices, true);
- }
-
- networkReply->deleteLater();
-}
diff --git a/src/searchbar.h b/src/searchbar.h
deleted file mode 100644
index 621c2081..00000000
--- a/src/searchbar.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* Copyright (C) 2008-2009 by Andrea Diamantini <adjam7 at gmail dot com>
-*
-*
-* This program is free software; you can redistribute it
-* and/or modify it under the terms of the GNU General
-* Public License as published by the Free Software Foundation;
-* either version 3, or (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* ============================================================ */
-
-
-
-#ifndef SEARCHBAR_H
-#define SEARCHBAR_H
-
-// Local Includes
-#include "lineedit.h"
-
-// Forward Declarations
-class KUrl;
-class QFocusEvent;
-class QTimer;
-class QNetworkAccessManager;
-class QNetworkReply;
-
-/**
- * This class defines an internet search bar.
- *
- */
-class SearchBar : public LineEdit
-{
- Q_OBJECT
-
-public:
- SearchBar(QWidget *parent = 0);
- ~SearchBar();
-
-public slots:
- void autoSuggest();
- void handleNetworkData(QNetworkReply *networkReply);
-
- /**
- * Use this slot to perform one search in one search engine
- *
- */
- void searchNow();
-
-protected:
- void focusInEvent(QFocusEvent *);
-
-signals:
- void search(const KUrl &);
-
-private:
- QNetworkAccessManager *m_networkAccessManager;
- QTimer *m_timer;
-};
-
-#endif
diff --git a/src/settings.cpp b/src/settings.cpp
index 1de69a7a..dda00a0e 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -162,9 +162,9 @@ void SettingsDialog::setWebSettingsToolTips()
void SettingsDialog::readConfig()
{
// ======= General
- d->generalUi.downloadDirUrlRequester->setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly);
- d->generalUi.downloadDirUrlRequester->setUrl(ReKonfig::downloadDir());
- connect(d->generalUi.downloadDirUrlRequester, SIGNAL(textChanged(QString)), this, SLOT(saveSettings()));
+// d->generalUi.downloadDirUrlRequester->setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly);
+// d->generalUi.downloadDirUrlRequester->setUrl(ReKonfig::downloadDir());
+// connect(d->generalUi.downloadDirUrlRequester, SIGNAL(textChanged(QString)), this, SLOT(saveSettings()));
// ======= Fonts
d->fontsUi.kcfg_fixedFont->setOnlyFixed(true);
@@ -180,7 +180,7 @@ void SettingsDialog::readConfig()
void SettingsDialog::saveSettings()
{
// General
- ReKonfig::setDownloadDir(d->generalUi.downloadDirUrlRequester->url().prettyUrl());
+// ReKonfig::setDownloadDir(d->generalUi.downloadDirUrlRequester->url().prettyUrl());
// Save
ReKonfig::self()->writeConfig();
diff --git a/src/settings_general.ui b/src/settings_general.ui
index 95723e78..d6ce4e49 100644
--- a/src/settings_general.ui
+++ b/src/settings_general.ui
@@ -64,26 +64,6 @@
</item>
</layout>
</item>
- <item row="2" column="1">
- <widget class="KUrlRequester" name="downloadDirUrlRequester"/>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Save downloads to:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QCheckBox" name="kcfg_downloadToDefaultDir">
- <property name="text">
- <string>Ask where to save downloads</string>
- </property>
- </widget>
- </item>
</layout>
</widget>
</item>
@@ -111,6 +91,22 @@
</widget>
</item>
<item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>General Settings</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QCheckBox" name="kcfg_showUrlsPopup">
+ <property name="text">
+ <string>show urls in popup hovering links</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -131,11 +127,6 @@
<extends>QLineEdit</extends>
<header>klineedit.h</header>
</customwidget>
- <customwidget>
- <class>KUrlRequester</class>
- <extends>QFrame</extends>
- <header>kurlrequester.h</header>
- </customwidget>
</customwidgets>
<resources/>
<connections/>
diff --git a/src/urlbar.cpp b/src/urlbar.cpp
index 0204d321..d107ba1a 100644
--- a/src/urlbar.cpp
+++ b/src/urlbar.cpp
@@ -137,11 +137,11 @@ void UrlBar::slotUpdateUrl()
{
if (count())
{
- changeUrl(0, Application::instance()->icon(m_currentUrl), m_currentUrl);
+ changeUrl(0, Application::icon(m_currentUrl), m_currentUrl);
}
else
{
- insertUrl(0, Application::instance()->icon(m_currentUrl), m_currentUrl);
+ insertUrl(0, Application::icon(m_currentUrl), m_currentUrl);
}
setCurrentIndex(0);
diff --git a/src/urlbar.h b/src/urlbar.h
index 32d09af4..24fea38f 100644
--- a/src/urlbar.h
+++ b/src/urlbar.h
@@ -81,7 +81,6 @@ private:
LineEdit *m_lineEdit;
- QIcon m_currentIcon;
KUrl m_currentUrl;
int m_progress;
};
diff --git a/src/webpage.cpp b/src/webpage.cpp
index 8c6c0d2a..133a263c 100644
--- a/src/webpage.cpp
+++ b/src/webpage.cpp
@@ -40,7 +40,7 @@
#include <KUrl>
#include <KActionCollection>
#include <KDebug>
-#include <KToolInvocation>
+
#include <KDE/KParts/BrowserRun>
#include <KDE/KMimeTypeTrader>
@@ -76,40 +76,6 @@ WebPage::WebPage(QObject *parent)
}
-bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type)
-{
-
- // TODO: implement ioslaves protocols
- QString scheme = request.url().scheme();
- if (scheme == QLatin1String("mailto"))
- {
- KToolInvocation::invokeMailer(request.url());
- return false;
- }
-
- // create convenience fake api:// protocol for KDE apidox search and Qt docs
- if (scheme == QLatin1String("api"))
- {
- QString path;
- QString className = request.url().host().toLower();
- if (className[0] == 'k')
- {
- path = QString("http://api.kde.org/new.classmapper.php?class=%1").arg(className);
- }
- else if (className[0] == 'q')
- {
- path = QString("http://doc.trolltech.com/4.5/%1.html").arg(className);
- }
- KUrl url(path);
-
- Application::instance()->mainWindow()->loadUrl(url);
- return false;
- }
-
- return QWebPage::acceptNavigationRequest(frame, request, type);
-}
-
-
KWebPage *WebPage::createWindow(QWebPage::WebWindowType type)
{
kDebug() << "creating window as new tab.. ";
diff --git a/src/webpage.h b/src/webpage.h
index 8fe9517d..c43212b6 100644
--- a/src/webpage.h
+++ b/src/webpage.h
@@ -48,13 +48,8 @@ public slots:
void manageNetworkErrors(QNetworkReply* reply);
protected:
- bool acceptNavigationRequest(QWebFrame *frame,
- const QNetworkRequest &request,
- NavigationType type);
-
KWebPage *createWindow(QWebPage::WebWindowType type);
-
protected Q_SLOTS:
virtual void slotHandleUnsupportedContent(QNetworkReply *reply);