diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/application.cpp | 59 | ||||
-rw-r--r-- | src/application.h | 37 | ||||
-rw-r--r-- | src/bookmarks/bookmarkcontextmenu.cpp | 11 | ||||
-rw-r--r-- | src/bookmarks/bookmarksmanager.cpp | 33 | ||||
-rw-r--r-- | src/bookmarks/bookmarksmanager.h | 6 | ||||
-rw-r--r-- | src/bookmarks/bookmarkspanel.cpp | 8 | ||||
-rw-r--r-- | src/bookmarks/bookmarkspanel.h | 4 | ||||
-rw-r--r-- | src/bookmarks/bookmarkstreemodel.cpp | 85 | ||||
-rw-r--r-- | src/bookmarks/bookmarkstreemodel.h | 4 | ||||
-rw-r--r-- | src/data/rekonq.desktop | 2 | ||||
-rw-r--r-- | src/history/historymanager.cpp | 95 | ||||
-rw-r--r-- | src/history/historymanager.h | 34 | ||||
-rw-r--r-- | src/mainwindow.cpp | 21 | ||||
-rw-r--r-- | src/newtabpage.cpp | 2 | ||||
-rw-r--r-- | src/protocolhandler.cpp | 17 | ||||
-rw-r--r-- | src/urlbar/urlresolver.cpp | 2 | ||||
-rw-r--r-- | src/webpage.cpp | 4 |
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()) { |