mirror of
https://invent.kde.org/network/falkon.git
synced 2024-09-21 17:52:10 +02:00
[Bookmarks] Add new action to open bookmarks in private window
Closes #995
This commit is contained in:
parent
131eef5c9d
commit
5cf7d0b9a9
|
@ -1062,9 +1062,9 @@ Speller* MainApplication::speller()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void MainApplication::startPrivateBrowsing()
|
void MainApplication::startPrivateBrowsing(const QUrl &startUrl)
|
||||||
{
|
{
|
||||||
const QUrl url = qobject_cast<QAction*>(sender())->data().toUrl();
|
const QUrl url = !startUrl.isEmpty() ? startUrl : qobject_cast<QAction*>(sender())->data().toUrl();
|
||||||
|
|
||||||
QStringList args;
|
QStringList args;
|
||||||
foreach (const QString &arg, arguments()) {
|
foreach (const QString &arg, arguments()) {
|
||||||
|
|
|
@ -144,7 +144,7 @@ public slots:
|
||||||
void setStateChanged();
|
void setStateChanged();
|
||||||
void addNewTab(const QUrl &url = QUrl());
|
void addNewTab(const QUrl &url = QUrl());
|
||||||
|
|
||||||
void startPrivateBrowsing();
|
void startPrivateBrowsing(const QUrl &startUrl = QUrl());
|
||||||
void reloadUserStyleSheet();
|
void reloadUserStyleSheet();
|
||||||
bool checkDefaultWebBrowser();
|
bool checkDefaultWebBrowser();
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,8 @@ void BookmarksManager::createContextMenu(const QPoint &pos)
|
||||||
QMenu menu;
|
QMenu menu;
|
||||||
QAction* actNewTab = menu.addAction(QIcon::fromTheme("tab-new", QIcon(":/icons/menu/tab-new.png")), tr("Open in new tab"));
|
QAction* actNewTab = menu.addAction(QIcon::fromTheme("tab-new", QIcon(":/icons/menu/tab-new.png")), tr("Open in new tab"));
|
||||||
QAction* actNewWindow = menu.addAction(QIcon::fromTheme("window-new"), tr("Open in new window"));
|
QAction* actNewWindow = menu.addAction(QIcon::fromTheme("window-new"), tr("Open in new window"));
|
||||||
|
QAction* actNewPrivateWindow = menu.addAction(QIcon(":icons/locationbar/privatebrowsing.png"), tr("Open in new private window"));
|
||||||
|
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
menu.addAction(tr("New Bookmark"), this, SLOT(addBookmark()));
|
menu.addAction(tr("New Bookmark"), this, SLOT(addBookmark()));
|
||||||
menu.addAction(tr("New Folder"), this, SLOT(addFolder()));
|
menu.addAction(tr("New Folder"), this, SLOT(addFolder()));
|
||||||
|
@ -112,6 +114,7 @@ void BookmarksManager::createContextMenu(const QPoint &pos)
|
||||||
|
|
||||||
connect(actNewTab, SIGNAL(triggered()), this, SLOT(openBookmarkInNewTab()));
|
connect(actNewTab, SIGNAL(triggered()), this, SLOT(openBookmarkInNewTab()));
|
||||||
connect(actNewWindow, SIGNAL(triggered()), this, SLOT(openBookmarkInNewWindow()));
|
connect(actNewWindow, SIGNAL(triggered()), this, SLOT(openBookmarkInNewWindow()));
|
||||||
|
connect(actNewPrivateWindow, SIGNAL(triggered()), this, SLOT(openBookmarkInNewPrivateWindow()));
|
||||||
connect(actDelete, SIGNAL(triggered()), this, SLOT(deleteBookmarks()));
|
connect(actDelete, SIGNAL(triggered()), this, SLOT(deleteBookmarks()));
|
||||||
|
|
||||||
bool canBeDeleted = false;
|
bool canBeDeleted = false;
|
||||||
|
@ -131,6 +134,7 @@ void BookmarksManager::createContextMenu(const QPoint &pos)
|
||||||
if (!m_selectedBookmark || !m_selectedBookmark->isUrl()) {
|
if (!m_selectedBookmark || !m_selectedBookmark->isUrl()) {
|
||||||
actNewTab->setDisabled(true);
|
actNewTab->setDisabled(true);
|
||||||
actNewWindow->setDisabled(true);
|
actNewWindow->setDisabled(true);
|
||||||
|
actNewPrivateWindow->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
menu.exec(pos);
|
menu.exec(pos);
|
||||||
|
@ -154,6 +158,12 @@ void BookmarksManager::openBookmarkInNewWindow(BookmarkItem* item)
|
||||||
BookmarksTools::openBookmarkInNewWindow(item);
|
BookmarksTools::openBookmarkInNewWindow(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BookmarksManager::openBookmarkInNewPrivateWindow(BookmarkItem* item)
|
||||||
|
{
|
||||||
|
item = item ? item : m_selectedBookmark;
|
||||||
|
BookmarksTools::openBookmarkInNewPrivateWindow(item);
|
||||||
|
}
|
||||||
|
|
||||||
void BookmarksManager::addBookmark()
|
void BookmarksManager::addBookmark()
|
||||||
{
|
{
|
||||||
BookmarkItem* item = new BookmarkItem(BookmarkItem::Url);
|
BookmarkItem* item = new BookmarkItem(BookmarkItem::Url);
|
||||||
|
|
|
@ -57,6 +57,7 @@ private slots:
|
||||||
void openBookmark(BookmarkItem* item = 0);
|
void openBookmark(BookmarkItem* item = 0);
|
||||||
void openBookmarkInNewTab(BookmarkItem* item = 0);
|
void openBookmarkInNewTab(BookmarkItem* item = 0);
|
||||||
void openBookmarkInNewWindow(BookmarkItem* item = 0);
|
void openBookmarkInNewWindow(BookmarkItem* item = 0);
|
||||||
|
void openBookmarkInNewPrivateWindow(BookmarkItem* item = 0);
|
||||||
|
|
||||||
void addBookmark();
|
void addBookmark();
|
||||||
void addFolder();
|
void addFolder();
|
||||||
|
|
|
@ -259,6 +259,16 @@ void BookmarksTools::openBookmarkInNewWindow(BookmarkItem* item)
|
||||||
mApp->makeNewWindow(Qz::BW_NewWindow, item->url());
|
mApp->makeNewWindow(Qz::BW_NewWindow, item->url());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BookmarksTools::openBookmarkInNewPrivateWindow(BookmarkItem* item)
|
||||||
|
{
|
||||||
|
if (!item->isUrl()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
item->setVisitCount(item->visitCount() + 1);
|
||||||
|
mApp->startPrivateBrowsing(item->url());
|
||||||
|
}
|
||||||
|
|
||||||
void BookmarksTools::openFolderInTabs(BrowserWindow* window, BookmarkItem* folder)
|
void BookmarksTools::openFolderInTabs(BrowserWindow* window, BookmarkItem* folder)
|
||||||
{
|
{
|
||||||
Q_ASSERT(window);
|
Q_ASSERT(window);
|
||||||
|
|
|
@ -86,6 +86,7 @@ public:
|
||||||
static void openBookmark(BrowserWindow* window, BookmarkItem* item);
|
static void openBookmark(BrowserWindow* window, BookmarkItem* item);
|
||||||
static void openBookmarkInNewTab(BrowserWindow* window, BookmarkItem* item);
|
static void openBookmarkInNewTab(BrowserWindow* window, BookmarkItem* item);
|
||||||
static void openBookmarkInNewWindow(BookmarkItem* item);
|
static void openBookmarkInNewWindow(BookmarkItem* item);
|
||||||
|
static void openBookmarkInNewPrivateWindow(BookmarkItem* item);
|
||||||
static void openFolderInTabs(BrowserWindow* window, BookmarkItem* folder);
|
static void openFolderInTabs(BrowserWindow* window, BookmarkItem* folder);
|
||||||
|
|
||||||
// Create Menu
|
// Create Menu
|
||||||
|
|
|
@ -79,6 +79,12 @@ void BookmarksSidebar::openBookmarkInNewWindow(BookmarkItem* item)
|
||||||
BookmarksTools::openBookmarkInNewWindow(item);
|
BookmarksTools::openBookmarkInNewWindow(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BookmarksSidebar::openBookmarkInNewPrivateWindow(BookmarkItem* item)
|
||||||
|
{
|
||||||
|
item = item ? item : ui->tree->selectedBookmark();
|
||||||
|
BookmarksTools::openBookmarkInNewPrivateWindow(item);
|
||||||
|
}
|
||||||
|
|
||||||
void BookmarksSidebar::deleteBookmarks()
|
void BookmarksSidebar::deleteBookmarks()
|
||||||
{
|
{
|
||||||
QList<BookmarkItem*> items = ui->tree->selectedBookmarks();
|
QList<BookmarkItem*> items = ui->tree->selectedBookmarks();
|
||||||
|
@ -95,11 +101,14 @@ void BookmarksSidebar::createContextMenu(const QPoint &pos)
|
||||||
QMenu menu;
|
QMenu menu;
|
||||||
QAction* actNewTab = menu.addAction(QIcon::fromTheme("tab-new", QIcon(":/icons/menu/tab-new.png")), tr("Open in new tab"));
|
QAction* actNewTab = menu.addAction(QIcon::fromTheme("tab-new", QIcon(":/icons/menu/tab-new.png")), tr("Open in new tab"));
|
||||||
QAction* actNewWindow = menu.addAction(QIcon::fromTheme("window-new"), tr("Open in new window"));
|
QAction* actNewWindow = menu.addAction(QIcon::fromTheme("window-new"), tr("Open in new window"));
|
||||||
|
QAction* actNewPrivateWindow = menu.addAction(QIcon(":icons/locationbar/privatebrowsing.png"), tr("Open in new private window"));
|
||||||
|
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
QAction* actDelete = menu.addAction(QIcon::fromTheme("edit-delete"), tr("Delete"));
|
QAction* actDelete = menu.addAction(QIcon::fromTheme("edit-delete"), tr("Delete"));
|
||||||
|
|
||||||
connect(actNewTab, SIGNAL(triggered()), this, SLOT(openBookmarkInNewTab()));
|
connect(actNewTab, SIGNAL(triggered()), this, SLOT(openBookmarkInNewTab()));
|
||||||
connect(actNewWindow, SIGNAL(triggered()), this, SLOT(openBookmarkInNewWindow()));
|
connect(actNewWindow, SIGNAL(triggered()), this, SLOT(openBookmarkInNewWindow()));
|
||||||
|
connect(actNewPrivateWindow, SIGNAL(triggered()), this, SLOT(openBookmarkInNewPrivateWindow()));
|
||||||
connect(actDelete, SIGNAL(triggered()), this, SLOT(deleteBookmarks()));
|
connect(actDelete, SIGNAL(triggered()), this, SLOT(deleteBookmarks()));
|
||||||
|
|
||||||
bool canBeDeleted = false;
|
bool canBeDeleted = false;
|
||||||
|
@ -119,6 +128,7 @@ void BookmarksSidebar::createContextMenu(const QPoint &pos)
|
||||||
if (!ui->tree->selectedBookmark() || !ui->tree->selectedBookmark()->isUrl()) {
|
if (!ui->tree->selectedBookmark() || !ui->tree->selectedBookmark()->isUrl()) {
|
||||||
actNewTab->setDisabled(true);
|
actNewTab->setDisabled(true);
|
||||||
actNewWindow->setDisabled(true);
|
actNewWindow->setDisabled(true);
|
||||||
|
actNewPrivateWindow->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
menu.exec(pos);
|
menu.exec(pos);
|
||||||
|
|
|
@ -47,6 +47,7 @@ private slots:
|
||||||
void openBookmark(BookmarkItem* item = 0);
|
void openBookmark(BookmarkItem* item = 0);
|
||||||
void openBookmarkInNewTab(BookmarkItem* item = 0);
|
void openBookmarkInNewTab(BookmarkItem* item = 0);
|
||||||
void openBookmarkInNewWindow(BookmarkItem* item = 0);
|
void openBookmarkInNewWindow(BookmarkItem* item = 0);
|
||||||
|
void openBookmarkInNewPrivateWindow(BookmarkItem* item = 0);
|
||||||
|
|
||||||
void deleteBookmarks();
|
void deleteBookmarks();
|
||||||
void createContextMenu(const QPoint &pos);
|
void createContextMenu(const QPoint &pos);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user