summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--src/application.cpp59
-rw-r--r--src/application.h37
-rw-r--r--src/bookmarks/bookmarkcontextmenu.cpp11
-rw-r--r--src/bookmarks/bookmarksmanager.cpp33
-rw-r--r--src/bookmarks/bookmarksmanager.h6
-rw-r--r--src/bookmarks/bookmarkspanel.cpp8
-rw-r--r--src/bookmarks/bookmarkspanel.h4
-rw-r--r--src/bookmarks/bookmarkstreemodel.cpp85
-rw-r--r--src/bookmarks/bookmarkstreemodel.h4
-rw-r--r--src/data/rekonq.desktop2
-rw-r--r--src/history/historymanager.cpp95
-rw-r--r--src/history/historymanager.h34
-rw-r--r--src/mainwindow.cpp21
-rw-r--r--src/newtabpage.cpp2
-rw-r--r--src/protocolhandler.cpp17
-rw-r--r--src/urlbar/urlresolver.cpp2
-rw-r--r--src/webpage.cpp4
18 files changed, 243 insertions, 183 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cbef7e92..2bfde0a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,7 @@ PROJECT( rekonq )
# Informations to update before to release this package.
# rekonq info
-SET(REKONQ_VERSION "0.5.0" )
+SET(REKONQ_VERSION "0.5.51" )
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.h )
diff --git a/src/application.cpp b/src/application.cpp
index 5b98fafa..07a3067b 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -548,3 +548,62 @@ void Application::updateConfiguration()
defaultSettings = 0;
}
+
+
+
+
+void Application::addDownload(const QString &srcUrl, const QString &destUrl)
+{
+ QWebSettings *globalSettings = QWebSettings::globalSettings();
+ if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
+ return;
+ QString downloadFilePath = KStandardDirs::locateLocal("appdata" , "downloads");
+ QFile downloadFile(downloadFilePath);
+ if (!downloadFile.open(QFile::WriteOnly | QFile::Append))
+ {
+ kDebug() << "Unable to open download file (WRITE mode)..";
+ return;
+ }
+ QDataStream out(&downloadFile);
+ out << srcUrl;
+ out << destUrl;
+ out << QDateTime::currentDateTime();
+ downloadFile.close();
+}
+
+
+DownloadList Application::downloads()
+{
+ DownloadList list;
+
+ QString downloadFilePath = KStandardDirs::locateLocal("appdata" , "downloads");
+ QFile downloadFile(downloadFilePath);
+ if (!downloadFile.open(QFile::ReadOnly))
+ {
+ kDebug() << "Unable to open download file (READ mode)..";
+ return list;
+ }
+
+ QDataStream in(&downloadFile);
+ while (!in.atEnd())
+ {
+ QString srcUrl;
+ in >> srcUrl;
+ QString destUrl;
+ in >> destUrl;
+ QDateTime dt;
+ in >> dt;
+ DownloadItem item(srcUrl, destUrl, dt);
+ list << item;
+ }
+ return list;
+}
+
+
+bool Application::clearDownloadsHistory()
+{
+ QString downloadFilePath = KStandardDirs::locateLocal("appdata" , "downloads");
+ QFile downloadFile(downloadFilePath);
+ return downloadFile.remove();
+}
+
diff --git a/src/application.h b/src/application.h
index 7b58ab18..18c99afb 100644
--- a/src/application.h
+++ b/src/application.h
@@ -56,6 +56,38 @@ class WebView;
typedef QList< QWeakPointer<MainWindow> > MainWindowList;
+// ---------------------------------------------------------------------------------------------------------------
+
+
+#include <QDateTime>
+
+
+class DownloadItem
+{
+public:
+ DownloadItem() {}
+ explicit DownloadItem(const QString &srcUrl,
+ const QString &destUrl,
+ const QDateTime &d
+ )
+ : srcUrlString(srcUrl)
+ , destUrlString(destUrl)
+ , dateTime(d)
+ {}
+
+ QString srcUrlString;
+ QString destUrlString;
+ QDateTime dateTime;
+};
+
+
+typedef QList<DownloadItem> DownloadList;
+
+
+// ---------------------------------------------------------------------------------------------------------------
+
+
+
/**
*
*/
@@ -80,6 +112,11 @@ public:
static SessionManager *sessionManager();
static AdBlockManager *adblockManager();
+ // DOWNLOADS MANAGEMENT METHODS
+ void addDownload(const QString &srcUrl, const QString &destUrl);
+ DownloadList downloads();
+ bool clearDownloadsHistory();
+
public slots:
/**
* Save application's configuration
diff --git a/src/bookmarks/bookmarkcontextmenu.cpp b/src/bookmarks/bookmarkcontextmenu.cpp
index b5df463c..dec4382f 100644
--- a/src/bookmarks/bookmarkcontextmenu.cpp
+++ b/src/bookmarks/bookmarkcontextmenu.cpp
@@ -212,6 +212,7 @@ void BookmarkContextMenu::copyToClipboard()
void BookmarkContextMenu::deleteBookmark()
{
KBookmark bm = bookmark();
+ KBookmarkGroup bmg = bm.parentGroup();
bool folder = bm.isGroup();
QString name = QString(bm.text()).replace("&&", "&");
@@ -226,8 +227,8 @@ void BookmarkContextMenu::deleteBookmark()
)
return;
- bm.parentGroup().deleteBookmark(bm);
- manager()->emitChanged();
+ bmg.deleteBookmark(bm);
+ manager()->emitChanged(bmg);
}
@@ -266,7 +267,7 @@ void BookmarkContextMenu::newBookmarkGroup()
KBookmark newBk;
newBk = dialog->createNewFolder("New folder", selected.parentGroup());
selected.parentGroup().moveBookmark(newBk, selected);
- manager()->emitChanged();
+ manager()->emitChanged(newBk.parentGroup());
}
}
else
@@ -303,7 +304,7 @@ void BookmarkContextMenu::newSeparator()
if (!selected.isNull())
parent.moveBookmark(newBk, selected);
- manager()->emitChanged();
+ manager()->emitChanged(newBk.parentGroup());
}
@@ -328,6 +329,6 @@ void BookmarkContextMenu::bookmarkCurrentPage()
parent.addBookmark(owner()->currentTitle(), KUrl(owner()->currentUrl()), "text-html");
}
- manager()->emitChanged();
+ manager()->emitChanged(parent);
}
diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp
index 954a633a..57a29907 100644
--- a/src/bookmarks/bookmarksmanager.cpp
+++ b/src/bookmarks/bookmarksmanager.cpp
@@ -234,7 +234,7 @@ void BookmarkMenu::addOpenFolderInTabs()
if (!bookmark.isNull())
{
action = new KAction(KIcon("tab-new"), i18n("Open Folder in Tabs"), this);
- action->setHelpText(i18n("Open all bookmarks in this folder as a new tab."));
+ action->setHelpText(i18n("Open all bookmarks in this folder as new tabs."));
connect(action, SIGNAL(triggered(bool)), this, SLOT(slotOpenFolderInTabs()));
parentMenu()->addAction(action);
}
@@ -483,3 +483,34 @@ void BookmarkProvider::slotAddBookmark()
parentBookmark.addBookmark(bookmarkOwner()->currentTitle(), bookmarkOwner()->currentUrl());
bookmarkManager()->emitChanged();
}
+
+
+void BookmarkProvider::registerBookmarkPanel(BookmarksPanel *panel)
+{
+ if (panel && !m_bookmarkPanels.contains(panel))
+ {
+ m_bookmarkPanels.append(panel);
+ connect(panel, SIGNAL(expansionChanged()), this, SLOT(slotPanelChanged()));
+ }
+}
+
+
+void BookmarkProvider::removeBookmarkPanel(BookmarksPanel *panel)
+{
+ m_bookmarkPanels.removeOne(panel);
+
+ if (m_bookmarkPanels.isEmpty())
+ {
+ Application::bookmarkProvider()->bookmarkManager()->emitChanged();
+ }
+}
+
+
+void BookmarkProvider::slotPanelChanged()
+{
+ foreach (BookmarksPanel *panel, m_bookmarkPanels)
+ {
+ if (panel && panel != sender())
+ panel->startLoadFoldedState();
+ }
+}
diff --git a/src/bookmarks/bookmarksmanager.h b/src/bookmarks/bookmarksmanager.h
index 4be3a94b..0915e894 100644
--- a/src/bookmarks/bookmarksmanager.h
+++ b/src/bookmarks/bookmarksmanager.h
@@ -37,6 +37,7 @@
// Local Includes
#include "application.h"
#include "urlresolver.h"
+#include "bookmarkspanel.h"
// Qt Includes
#include <QWidget>
@@ -234,6 +235,9 @@ public:
QString titleForBookmarkUrl(QString url);
+ void registerBookmarkPanel(BookmarksPanel *panel);
+ void removeBookmarkPanel(BookmarksPanel *panel);
+
signals:
/**
* @short This signal is emitted when an url has to be loaded
@@ -263,6 +267,7 @@ public slots:
private slots:
void triggerBookmarkMenu();
void slotAddBookmark();
+ void slotPanelChanged();
private:
void fillBookmarkBar(KToolBar *toolBar);
@@ -272,6 +277,7 @@ private:
BookmarkOwner *m_owner;
KActionCollection *m_actionCollection;
QList<KToolBar*> m_bookmarkToolBars;
+ QList<BookmarksPanel*> m_bookmarkPanels;
AwesomeUrlCompletion *m_completion;
KActionMenu *_bookmarkActionMenu;
diff --git a/src/bookmarks/bookmarkspanel.cpp b/src/bookmarks/bookmarkspanel.cpp
index 0dbb89c4..25aab516 100644
--- a/src/bookmarks/bookmarkspanel.cpp
+++ b/src/bookmarks/bookmarkspanel.cpp
@@ -126,7 +126,7 @@ void BookmarksPanel::setup()
connect(m_treeView, SIGNAL(collapsed(const QModelIndex &)), this, SLOT(onCollapse(const QModelIndex &)));
connect(m_treeView, SIGNAL(expanded(const QModelIndex &)), this, SLOT(onExpand(const QModelIndex &)));
connect(search, SIGNAL(textChanged(const QString &)), proxy, SLOT(setFilterFixedString(const QString &)));
- loadFoldedState();
+ startLoadFoldedState();
_loaded = true;
}
@@ -152,7 +152,7 @@ void BookmarksPanel::onCollapse(const QModelIndex &index)
KBookmark bookmark = bookmarkForIndex(index);
bookmark.internalElement().setAttribute("folded", "yes");
- emit saveOnlyRequested();
+ emit expansionChanged();
}
@@ -163,11 +163,11 @@ void BookmarksPanel::onExpand(const QModelIndex &index)
KBookmark bookmark = bookmarkForIndex(index);
bookmark.internalElement().setAttribute("folded", "no");
- emit saveOnlyRequested();
+ emit expansionChanged();
}
-void BookmarksPanel::loadFoldedState()
+void BookmarksPanel::startLoadFoldedState()
{
m_loadingState = true;
loadFoldedState(QModelIndex());
diff --git a/src/bookmarks/bookmarkspanel.h b/src/bookmarks/bookmarkspanel.h
index 3d2dc26b..d94f2b99 100644
--- a/src/bookmarks/bookmarkspanel.h
+++ b/src/bookmarks/bookmarkspanel.h
@@ -59,10 +59,11 @@ public:
signals:
void openUrl(const KUrl &, const Rekonq::OpenType &);
void itemHovered(const QString &);
- void saveOnlyRequested();
+ void expansionChanged();
public slots:
void showing(bool);
+ void startLoadFoldedState();
private slots:
void contextMenu(const QPoint &pos);
@@ -71,7 +72,6 @@ private slots:
void onCollapse(const QModelIndex &index);
void onExpand(const QModelIndex &index);
void loadFoldedState(const QModelIndex &root);
- void loadFoldedState();
private:
void setup();
diff --git a/src/bookmarks/bookmarkstreemodel.cpp b/src/bookmarks/bookmarkstreemodel.cpp
index 82748ba3..b58b66e9 100644
--- a/src/bookmarks/bookmarkstreemodel.cpp
+++ b/src/bookmarks/bookmarkstreemodel.cpp
@@ -148,9 +148,8 @@ BookmarksTreeModel::BookmarksTreeModel(QObject *parent)
, m_root(0)
{
resetModel();
- connect(this, SIGNAL(bookmarksUpdated()), parent, SLOT(loadFoldedState()));
- connect(Application::bookmarkProvider()->bookmarkManager(), SIGNAL(changed(QString, QString)), this, SLOT(bookmarksChanged()));
- connect(parent, SIGNAL(saveOnlyRequested()), this, SLOT(saveOnly()));
+ connect(Application::bookmarkProvider()->bookmarkManager(), SIGNAL(changed(const QString &, const QString &)), this, SLOT(bookmarksChanged(const QString &)));
+ connect(this, SIGNAL(bookmarksUpdated()), parent, SLOT(startLoadFoldedState()));
}
@@ -284,10 +283,37 @@ QVariant BookmarksTreeModel::data(const QModelIndex &index, int role) const
}
-void BookmarksTreeModel::bookmarksChanged()
+void BookmarksTreeModel::bookmarksChanged(const QString &groupAddress)
{
- resetModel();
- emit bookmarksUpdated();
+ if (groupAddress.isEmpty())
+ {
+ resetModel();
+ emit bookmarksUpdated();
+ }
+ else
+ {
+ beginResetModel();
+ BtmItem *node = m_root;
+ QModelIndex nodeIndex;
+
+ QStringList indexChain( groupAddress.split( '/', QString::SkipEmptyParts) );
+ foreach( const QString &sIndex, indexChain )
+ {
+ bool ok;
+ int i = sIndex.toInt( &ok );
+ if( !ok )
+ break;
+
+ if( i < 0 || i >= node->childCount() )
+ break;
+
+ node = node->child( i );
+ nodeIndex = index( i, 0, nodeIndex );
+ }
+ populate(node, Application::bookmarkProvider()->bookmarkManager()->findByAddress(groupAddress).toGroup());
+ endResetModel();
+ emit bookmarksUpdated();
+ }
}
@@ -299,6 +325,7 @@ void BookmarksTreeModel::resetModel()
void BookmarksTreeModel::setRoot(KBookmarkGroup bmg)
{
+ beginResetModel();
delete m_root;
m_root = new BtmItem(KBookmark());
@@ -306,7 +333,7 @@ void BookmarksTreeModel::setRoot(KBookmarkGroup bmg)
return;
populate(m_root, bmg);
- reset();
+ endResetModel();
}
@@ -336,20 +363,6 @@ KBookmark BookmarksTreeModel::bookmarkForIndex(const QModelIndex &index) const
}
-void BookmarksTreeModel::saveOnly()
-{
- disconnect(Application::bookmarkProvider()->bookmarkManager(), SIGNAL(changed(QString, QString)), this, SLOT(bookmarksChanged()));
- connect(Application::bookmarkProvider()->bookmarkManager(), SIGNAL(changed(QString, QString)), this, SLOT(reconnectManager()));
- Application::bookmarkProvider()->bookmarkManager()->emitChanged();
-}
-
-
-void BookmarksTreeModel::reconnectManager()
-{
- connect(Application::bookmarkProvider()->bookmarkManager(), SIGNAL(changed(QString, QString)), this, SLOT(bookmarksChanged()));
-}
-
-
Qt::DropActions BookmarksTreeModel::supportedDropActions() const
{
return Qt::MoveAction;
@@ -366,8 +379,8 @@ QMimeData* BookmarksTreeModel::mimeData(const QModelIndexList & indexes) const
{
QMimeData *mimeData = new QMimeData;
- QByteArray addresse = bookmarkForIndex(indexes.first()).address().toLatin1();
- mimeData->setData("application/rekonq-bookmark", addresse);
+ QByteArray address = bookmarkForIndex(indexes.first()).address().toLatin1();
+ mimeData->setData("application/rekonq-bookmark", address);
bookmarkForIndex(indexes.first()).populateMimeData(mimeData);
return mimeData;
@@ -395,32 +408,16 @@ bool BookmarksTreeModel::dropMimeData(const QMimeData *data, Qt::DropAction acti
if (!destIndex.isValid())
{
- if (!parent.isValid()) // Drop into a blank area
- {
- Application::bookmarkProvider()->rootGroup().deleteBookmark(bookmark);
- Application::bookmarkProvider()->rootGroup().addBookmark(bookmark);
- }
- else // Drop at the last item of the group or directly on the main item of the group
- {
- root.deleteBookmark(bookmark);
- root.addBookmark(bookmark);
- }
+ root.deleteBookmark(bookmark);
+ root.addBookmark(bookmark);
}
- else
+ else if (row != 1)
{
- if (row == -1)
- {
- root.deleteBookmark(bookmark);
- root.addBookmark(bookmark);
- }
- else // A classic drop
- {
- root.moveBookmark(bookmark, root.previous(dropDestBookmark));
- }
+ root.moveBookmark(bookmark, root.previous(dropDestBookmark));
}
- Application::bookmarkProvider()->bookmarkManager()->emitChanged(root);
+ Application::bookmarkProvider()->bookmarkManager()->emitChanged();
}
}
return true;
diff --git a/src/bookmarks/bookmarkstreemodel.h b/src/bookmarks/bookmarkstreemodel.h
index 8dd0923c..c509840b 100644
--- a/src/bookmarks/bookmarkstreemodel.h
+++ b/src/bookmarks/bookmarkstreemodel.h
@@ -84,9 +84,7 @@ public:
virtual QMimeData *mimeData(const QModelIndexList & indexes) const;
private slots:
- void bookmarksChanged();
- void saveOnly();
- void reconnectManager();
+ void bookmarksChanged(const QString &groupAddress);
signals:
void bookmarksUpdated();
diff --git a/src/data/rekonq.desktop b/src/data/rekonq.desktop
index f47dbf70..a45dfc20 100644
--- a/src/data/rekonq.desktop
+++ b/src/data/rekonq.desktop
@@ -11,6 +11,7 @@ Name[fr]=rekonq
Name[ga]=rekonq
Name[it]=rekonq
Name[lt]=rekonq
+Name[nb]=rekonq
Name[nds]=Rekonq
Name[nl]=rekonq
Name[pl]=rekonq
@@ -32,6 +33,7 @@ GenericName[en_GB]=WebKit KDE Browser
GenericName[es]=Navegador WebKit para KDE
GenericName[et]=KDE WebKiti veebibrauser
GenericName[fr]=Navigateur Webkit pour KDE
+GenericName[nb]=WebKit KDE Browser
GenericName[nds]=KDE-Kieker för Nettbuukasten
GenericName[nl]=Webkit KDE Browser
GenericName[pt]=Navegador do KDE Usando o WebKit
diff --git a/src/history/historymanager.cpp b/src/history/historymanager.cpp
index d531c189..13c3df24 100644
--- a/src/history/historymanager.cpp
+++ b/src/history/historymanager.cpp
@@ -119,6 +119,10 @@ bool HistoryManager::historyContains(const QString &url) const
void HistoryManager::addHistoryEntry(const QString &url)
{
+ QWebSettings *globalSettings = QWebSettings::globalSettings();
+ if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
+ return;
+
QUrl cleanUrl(url);
// don't store about: urls (home page related)
@@ -128,8 +132,13 @@ void HistoryManager::addHistoryEntry(const QString &url)
cleanUrl.setPassword(QString());
cleanUrl.setHost(cleanUrl.host().toLower());
HistoryItem item(cleanUrl.toString(), QDateTime::currentDateTime());
- addHistoryEntry(item);
+ m_history.prepend(item);
+ emit entryAdded(item);
+
+ if (m_history.count() == 1)
+ checkForExpired();
+
// Add item to completion object
QString _url(url);
_url.remove(QRegExp("^http://|/$"));
@@ -213,20 +222,6 @@ void HistoryManager::checkForExpired()
}
-void HistoryManager::addHistoryEntry(const HistoryItem &item)
-{
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return;
-
- m_history.prepend(item);
- emit entryAdded(item);
-
- if (m_history.count() == 1)
- checkForExpired();
-}
-
-
void HistoryManager::updateHistoryEntry(const KUrl &url, const QString &title)
{
for (int i = 0; i < m_history.count(); ++i)
@@ -244,14 +239,6 @@ void HistoryManager::updateHistoryEntry(const KUrl &url, const QString &title)
}
-void HistoryManager::removeHistoryEntry(const HistoryItem &item)
-{
- m_lastSavedUrl.clear();
- m_history.removeOne(item);
- emit entryRemoved(item);
-}
-
-
void HistoryManager::removeHistoryEntry(const KUrl &url, const QString &title)
{
HistoryItem item;
@@ -261,7 +248,9 @@ void HistoryManager::removeHistoryEntry(const KUrl &url, const QString &title)
&& (title.isEmpty() || title == m_history.at(i).title))
{
item = m_history.at(i);
- removeHistoryEntry(item);
+ m_lastSavedUrl.clear();
+ m_history.removeOne(item);
+ emit entryRemoved(item);
break;
}
}
@@ -464,63 +453,7 @@ AwesomeUrlCompletion * HistoryManager::completionObject() const
}
-void HistoryManager::addDownload(const QString &srcUrl, const QString &destUrl)
-{
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return;
- QString downloadFilePath = KStandardDirs::locateLocal("appdata" , "downloads");
- QFile downloadFile(downloadFilePath);
- if (!downloadFile.open(QFile::WriteOnly | QFile::Append))
- {
- kDebug() << "Unable to open download file (WRITE mode)..";
- return;
- }
- QDataStream out(&downloadFile);
- out << srcUrl;
- out << destUrl;
- out << QDateTime::currentDateTime();
- downloadFile.close();
-}
-
-
-DownloadList HistoryManager::downloads()
-{
- DownloadList list;
-
- QString downloadFilePath = KStandardDirs::locateLocal("appdata" , "downloads");
- QFile downloadFile(downloadFilePath);
- if (!downloadFile.open(QFile::ReadOnly))
- {
- kDebug() << "Unable to open download file (READ mode)..";
- return list;
- }
-
- QDataStream in(&downloadFile);
- while (!in.atEnd())
- {
- QString srcUrl;
- in >> srcUrl;
- QString destUrl;
- in >> destUrl;
- QDateTime dt;
- in >> dt;
- DownloadItem item(srcUrl, destUrl, dt);
- list << item;
- }
- return list;
-}
-
-
-bool HistoryManager::clearDownloadsHistory()
-{
- QString downloadFilePath = KStandardDirs::locateLocal("appdata" , "downloads");
- QFile downloadFile(downloadFilePath);
- return downloadFile.remove();
-}
-
-
-QString HistoryManager::titleForHistoryUrl(QString url)
+QString HistoryManager::titleForHistoryUrl(const QString &url)
{
return history().at(m_historyFilterModel->historyLocation(url)).title;
}
diff --git a/src/history/historymanager.h b/src/history/historymanager.h
index 7b82579d..ce712919 100644
--- a/src/history/historymanager.h
+++ b/src/history/historymanager.h
@@ -84,30 +84,6 @@ public:
// ---------------------------------------------------------------------------------------------------------------
-class DownloadItem
-{
-public:
- DownloadItem() {}
- explicit DownloadItem(const QString &srcUrl,
- const QString &destUrl,
- const QDateTime &d
- )
- : srcUrlString(srcUrl)
- , destUrlString(destUrl)
- , dateTime(d)
- {}
-
- QString srcUrlString;
- QString destUrlString;
- QDateTime dateTime;
-};
-
-
-typedef QList<DownloadItem> DownloadList;
-
-// ---------------------------------------------------------------------------------------------------------------
-
-
// Forward Declarations
class AutoSaver;
class HistoryModel;
@@ -139,7 +115,7 @@ public:
void updateHistoryEntry(const KUrl &url, const QString &title);
void removeHistoryEntry(const KUrl &url, const QString &title = QString());
- QString titleForHistoryUrl(QString url);
+ QString titleForHistoryUrl(const QString &url);
int historyLimit() const;
void setHistoryLimit(int limit);
@@ -157,10 +133,6 @@ public:
*/
AwesomeUrlCompletion *completionObject() const;
- void addDownload(const QString &srcUrl, const QString &destUrl);
- DownloadList downloads();
- bool clearDownloadsHistory();
-
public slots:
void clear();
void loadSettings();
@@ -169,10 +141,6 @@ private slots:
void save();
void checkForExpired();
-protected:
- void addHistoryEntry(const HistoryItem &item);
- void removeHistoryEntry(const HistoryItem &item);
-
private:
void load();
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index b27b7c81..55cc7a69 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -161,6 +161,7 @@ MainWindow::MainWindow()
MainWindow::~MainWindow()
{
Application::bookmarkProvider()->removeToolBar(m_bmBar);
+ Application::bookmarkProvider()->removeBookmarkPanel(m_bookmarksPanel);
Application::instance()->removeMainWindow(this);
delete m_view;
@@ -195,15 +196,20 @@ void MainWindow::setupToolbars()
m_mainBar->addAction(actionByName(KStandardAction::name(KStandardAction::Forward)));
m_mainBar->addSeparator();
m_mainBar->addAction(actionByName( QL1S("stop_reload") ));
- m_mainBar->addAction(actionByName(KStandardAction::name(KStandardAction::Home)));
+// m_mainBar->addAction(actionByName(KStandardAction::name(KStandardAction::Home)));
// location bar
KAction *urlBarAction = new KAction(this);
urlBarAction->setDefaultWidget(m_view->widgetBar());
m_mainBar->addAction(urlBarAction);
- m_mainBar->addAction(actionByName( QL1S("bookmarksActionMenu") ));
+// m_mainBar->addAction(actionByName( QL1S("bookmarksActionMenu") ));
+ connect(actionByName(QL1S("bookmarksActionMenu")), SIGNAL(triggered()),
+ qobject_cast<QToolButton*>(m_mainBar->widgetForAction(actionByName(QL1S("bookmarksActionMenu")))), SLOT(showMenu()));
+
m_mainBar->addAction(actionByName( QL1S("rekonq_tools") ));
+ connect(actionByName(QL1S("rekonq_tools")), SIGNAL(triggered()),
+ qobject_cast<QToolButton*>(m_mainBar->widgetForAction(actionByName(QL1S("rekonq_tools")))), SLOT(showMenu()));
m_mainBar->show(); // this just to fix reopening rekonq after fullscreen close
@@ -217,7 +223,6 @@ void MainWindow::setupToolbars()
m_bmBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
m_bmBar->setIconDimensions(16);
- m_bmBar->hide();
KToolBar::setToolBarsEditable(false);
KToolBar::setToolBarsLocked(true);
@@ -447,6 +452,8 @@ void MainWindow::setupActions()
KActionMenu *bmMenu = Application::bookmarkProvider()->bookmarkActionMenu(this);
bmMenu->setIcon(KIcon("bookmarks"));
bmMenu->setDelayed(false);
+ bmMenu->setShortcutConfigurable(true);
+ bmMenu->setShortcut( KShortcut(Qt::ALT + Qt::Key_B) );
actionCollection()->addAction(QL1S("bookmarksActionMenu"), bmMenu);
@@ -464,7 +471,9 @@ void MainWindow::setupTools()
kDebug() << "setup tools...";
KActionMenu *toolsMenu = new KActionMenu(KIcon("configure"), i18n("&Tools"), this);
toolsMenu->setDelayed(false);
-
+ toolsMenu->setShortcutConfigurable(true);
+ toolsMenu->setShortcut( KShortcut(Qt::ALT + Qt::Key_T) );
+
toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Open)));
toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::SaveAs)));
toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Print)));
@@ -566,6 +575,8 @@ void MainWindow::setupPanels()
addDockWidget(Qt::LeftDockWidgetArea, m_bookmarksPanel);
+ Application::bookmarkProvider()->registerBookmarkPanel(m_bookmarksPanel);
+
// setup bookmarks panel action
a = (KAction *) m_bookmarksPanel->toggleViewAction();
a->setShortcut(KShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_B));
@@ -1195,7 +1206,7 @@ void MainWindow::clearPrivateData()
if (clearWidget.clearDownloads->isChecked())
{
- Application::historyManager()->clearDownloadsHistory();
+ Application::instance()->clearDownloadsHistory();
}
if (clearWidget.clearCookies->isChecked())
diff --git a/src/newtabpage.cpp b/src/newtabpage.cpp
index cbdbe306..bbf6714e 100644
--- a/src/newtabpage.cpp
+++ b/src/newtabpage.cpp
@@ -549,7 +549,7 @@ void NewTabPage::downloadsPage()
clearData.findFirst("span").appendInside(i18n("Clear Private Data"));
m_root.document().findFirst("#actions").appendInside(clearData);
- DownloadList list = Application::historyManager()->downloads();
+ DownloadList list = Application::instance()->downloads();
if (list.isEmpty())
{
diff --git a/src/protocolhandler.cpp b/src/protocolhandler.cpp
index 568aa400..1f84b420 100644
--- a/src/protocolhandler.cpp
+++ b/src/protocolhandler.cpp
@@ -53,6 +53,7 @@
#include <KJob>
#include <kio/udsentry.h>
#include <KMessageBox>
+#include <kprocess.h>
// Qt Includes
#include <QLatin1String>
@@ -118,6 +119,22 @@ bool ProtocolHandler::preHandling(const QNetworkRequest &request, QWebFrame *fra
return true;
}
+ // "apturl" handling
+ if (_url.protocol() == QL1S ("apt"))
+ {
+ //Declare apturl as QString
+ QString apturl="apturl";
+ //We need to convert the url to QStringList to pass as a argument to apturl
+ QStringList host;
+ host << _url.url();
+
+ if ( KProcess::execute (apturl,host)==0)
+ return true;
+ else
+ return false;
+
+ }
+
// "abp" handling
if (_url.protocol() == QL1S("abp"))
{
diff --git a/src/urlbar/urlresolver.cpp b/src/urlbar/urlresolver.cpp
index 1f4f9f9c..d457e1fb 100644
--- a/src/urlbar/urlresolver.cpp
+++ b/src/urlbar/urlresolver.cpp
@@ -68,7 +68,7 @@ UrlResolver::UrlResolver(const QString &typedUrl)
{
kDebug() << "browse regexp empty. Setting value..";
- QString protocol = "^(http://|https://|file://|ftp://|man:|info:)";
+ QString protocol = "^(http://|https://|file://|ftp://|man:|info:|apt:)";
QString localhost = "^localhost";
diff --git a/src/webpage.cpp b/src/webpage.cpp
index 939d7128..a63940b0 100644
--- a/src/webpage.cpp
+++ b/src/webpage.cpp
@@ -136,8 +136,8 @@ static bool downloadResource (const KUrl& srcUrl, const KIO::MetaData& metaData
}
while (result == KIO::R_CANCEL && destUrl.isValid());
- // Save download on history manager
- Application::historyManager()->addDownload(srcUrl.pathOrUrl() , destUrl.pathOrUrl());
+ // Save download history
+ Application::instance()->addDownload(srcUrl.pathOrUrl() , destUrl.pathOrUrl());
if (ReKonfig::kgetDownload())
{