[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/apps/konqueror
From: David Faure <faure () kde ! org>
Date: 2009-11-17 19:56:59
Message-ID: 1258487819.020622.31657.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1050644 by dfaure:
Provide "Open in new tab" in addition to "Open in new window" in the history dialog \
and sidebar. Fix existing "Open in new window" items (including the one in the \
bookmark module) so that it does create a new window even if the user preference is \
tabbing. Fixed for: 4.4.0
BUG: 135964
M +20 -0 sidebar/history_module/history_module.cpp
M +2 -0 sidebar/history_module/history_module.h
M +9 -3 sidebar/trees/bookmark_module/bookmark_module.cpp
M +4 -4 sidebar/trees/dirtree_module/dirtree_module.cpp
M +12 -3 src/konqhistorydialog.cpp
M +5 -2 src/konqhistorydialog.h
M +17 -1 src/konqhistoryview.cpp
M +2 -0 src/konqhistoryview.h
M +2 -3 src/konqmainwindow.cpp
--- trunk/KDE/kdebase/apps/konqueror/sidebar/history_module/history_module.cpp \
#1050643:1050644 @@ -39,6 +39,8 @@
connect(m_historyView->treeView(), SIGNAL(activated(QModelIndex)), this, \
SLOT(slotActivated(QModelIndex)));
connect(m_historyView->treeView(), SIGNAL(pressed(QModelIndex)), this, \
SLOT(slotPressed(QModelIndex)));
connect(m_historyView->treeView(), SIGNAL(clicked(QModelIndex)), this, \
SLOT(slotClicked(QModelIndex))); + connect(m_historyView, \
SIGNAL(openUrlInNewWindow(KUrl)), this, SLOT(slotOpenWindow(KUrl))); + \
connect(m_historyView, SIGNAL(openUrlInNewTab(KUrl)), this, SLOT(slotOpenTab(KUrl))); \
}
KonqSidebarHistoryModule::~KonqSidebarHistoryModule()
@@ -79,6 +81,24 @@
}
}
+void KonqSidebarHistoryModule::slotOpenWindow(const KUrl& url)
+{
+ KParts::OpenUrlArguments args;
+ args.setActionRequestedByUser(true);
+ KParts::BrowserArguments browserArgs;
+ browserArgs.setForcesNewWindow(true);
+ createNewWindow(url, args, browserArgs);
+}
+
+void KonqSidebarHistoryModule::slotOpenTab(const KUrl& url)
+{
+ KParts::OpenUrlArguments args;
+ args.setActionRequestedByUser(true);
+ KParts::BrowserArguments browserArgs;
+ browserArgs.setNewTab(true);
+ createNewWindow(url, args, browserArgs);
+}
+
class KonqSidebarHistoryPlugin : public KonqSidebarPlugin
{
public:
--- trunk/KDE/kdebase/apps/konqueror/sidebar/history_module/history_module.h \
#1050643:1050644 @@ -38,6 +38,8 @@
void slotActivated(const QModelIndex& index);
void slotPressed(const QModelIndex& index);
void slotClicked(const QModelIndex& index);
+ void slotOpenWindow(const KUrl& url);
+ void slotOpenTab(const KUrl& url);
private:
KonqHistoryView* m_historyView;
--- trunk/KDE/kdebase/apps/konqueror/sidebar/trees/bookmark_module/bookmark_module.cpp \
#1050643:1050644 @@ -397,7 +397,11 @@
if (!bi)
return;
- emit tree()->createNewWindow( bi->bookmark().url() );
+ KParts::OpenUrlArguments args;
+ args.setActionRequestedByUser(true);
+ KParts::BrowserArguments browserArgs;
+ browserArgs.setForcesNewWindow(true);
+ emit tree()->createNewWindow(bi->bookmark().url(), args, browserArgs);
}
void KonqSidebarBookmarkModule::slotOpenTab()
@@ -413,6 +417,8 @@
else
return;
+ KParts::OpenUrlArguments args;
+ args.setActionRequestedByUser(true);
KParts::BrowserArguments browserArguments;
browserArguments.setNewTab(true);
if (bookmark.isGroup()) {
@@ -421,14 +427,14 @@
while (!bookmark.isNull()) {
if (!bookmark.isGroup() && !bookmark.isSeparator()) {
emit tree()->createNewWindow(bookmark.url(),
- KParts::OpenUrlArguments(),
+ args,
browserArguments);
}
bookmark = group.next(bookmark);
}
} else {
emit tree()->createNewWindow(bookmark.url(),
- KParts::OpenUrlArguments(),
+ args,
browserArguments);
}
}
--- trunk/KDE/kdebase/apps/konqueror/sidebar/trees/dirtree_module/dirtree_module.cpp \
#1050643:1050644 @@ -530,7 +530,7 @@
void KonqSidebarDirTreeModule::slotRedirection( const KUrl & oldUrl, const KUrl & \
newUrl ) {
- kDebug(1201) << \
"******************************KonqSidebarDirTreeModule::slotRedirection(" << \
newUrl.prettyUrl() << ")"; + kDebug(1201) << newUrl;
QString oldUrlStr = oldUrl.url( KUrl::RemoveTrailingSlash );
QString newUrlStr = newUrl.url( KUrl::RemoveTrailingSlash );
@@ -561,7 +561,7 @@
void KonqSidebarDirTreeModule::slotListingStopped( const KUrl & url )
{
- kDebug(1201) << "KonqSidebarDirTree::slotListingStopped " << url.url( \
KUrl::RemoveTrailingSlash ); + //kDebug(1201) << url;
Q3PtrList<KonqSidebarTreeItem> *itemList;
KonqSidebarTreeItem * item;
@@ -580,7 +580,7 @@
}
delete itemList;
- kDebug(1201) << "m_selectAfterOpening " << m_selectAfterOpening.prettyUrl();
+ //kDebug(1201) << "m_selectAfterOpening " << m_selectAfterOpening.prettyUrl();
if ( !m_selectAfterOpening.isEmpty() && url.isParentOf( m_selectAfterOpening ) )
{
KUrl theURL( m_selectAfterOpening );
@@ -628,7 +628,7 @@
} else
{
m_selectAfterOpening = url;
- kDebug() << "KonqSidebarDirTreeModule::followURL: m_selectAfterOpening=" \
<< m_selectAfterOpening.url(); + //kDebug() << \
"KonqSidebarDirTreeModule::followURL: m_selectAfterOpening=" << \
m_selectAfterOpening.url(); }
}
}
--- trunk/KDE/kdebase/apps/konqueror/src/konqhistorydialog.cpp #1050643:1050644
@@ -21,6 +21,7 @@
#include "konqhistoryview.h"
#include "konqhistory.h"
+#include "konqmainwindow.h"
#include "konqmisc.h"
#include <QtCore/QTimer>
@@ -37,8 +38,8 @@
#include <klocale.h>
#include <ktoggleaction.h>
-KonqHistoryDialog::KonqHistoryDialog(QWidget *parent)
- : KDialog(parent)
+KonqHistoryDialog::KonqHistoryDialog(KonqMainWindow *parent)
+ : KDialog(parent), m_mainWindow(parent)
{
setCaption(i18nc("@title:window", "History"));
setButtons(KDialog::Close);
@@ -49,6 +50,7 @@
m_historyView = new KonqHistoryView(mainWidget());
connect(m_historyView->treeView(), SIGNAL(doubleClicked(QModelIndex)), this, \
SLOT(slotOpenWindowForIndex(QModelIndex)));
connect(m_historyView, SIGNAL(openUrlInNewWindow(KUrl)), this, \
SLOT(slotOpenWindow(KUrl))); + connect(m_historyView, \
SIGNAL(openUrlInNewTab(KUrl)), this, SLOT(slotOpenTab(KUrl)));
KActionCollection* collection = m_historyView->actionCollection();
@@ -89,11 +91,18 @@
KonqMisc::createNewWindow(url);
}
+void KonqHistoryDialog::slotOpenTab(const KUrl& url)
+{
+ m_mainWindow->openMultiURL(KUrl::List() << url);
+}
+
+// Called when double-clicking on a row
void KonqHistoryDialog::slotOpenWindowForIndex(const QModelIndex& index)
{
const KUrl url = m_historyView->urlForIndex(index);
if (url.isValid()) {
- slotOpenWindow(url);
+ slotOpenWindow(url); // should we call slotOpenTab instead?
}
}
+
#include "konqhistorydialog.moc"
--- trunk/KDE/kdebase/apps/konqueror/src/konqhistorydialog.h #1050643:1050644
@@ -22,6 +22,7 @@
#include <kdialog.h>
+class KonqMainWindow;
class KonqHistoryView;
class QModelIndex;
@@ -30,17 +31,19 @@
Q_OBJECT
public:
- KonqHistoryDialog(QWidget *parent = 0);
+ KonqHistoryDialog(KonqMainWindow *parent = 0);
~KonqHistoryDialog();
QSize sizeHint() const;
private Q_SLOTS:
void slotOpenWindow(const KUrl& url);
+ void slotOpenTab(const KUrl& url);
void slotOpenWindowForIndex(const QModelIndex& index);
private:
- KonqHistoryView *m_historyView;
+ KonqHistoryView* m_historyView;
+ KonqMainWindow* m_mainWindow;
};
#endif // KONQ_HISTORYDIALOG_H
--- trunk/KDE/kdebase/apps/konqueror/src/konqhistoryview.cpp #1050643:1050644
@@ -58,17 +58,25 @@
QAction *action = m_collection->addAction("open_new");
action->setIcon(KIcon("window-new"));
action->setText(i18n("Open in New &Window"));
- connect(action, SIGNAL(triggered(bool)), this, SLOT(slotNewWindow()));
+ connect(action, SIGNAL(triggered()), this, SLOT(slotNewWindow()));
+
+ action = m_collection->addAction("open_tab");
+ action->setIcon(KIcon("tab-new"));
+ action->setText(i18n("Open in New Tab"));
+ connect(action, SIGNAL(triggered()), this, SLOT(slotNewTab()));
+
action = m_collection->addAction("remove");
action->setIcon(KIcon("edit-delete"));
action->setText(i18n("&Remove Entry"));
action->setShortcut(Qt::Key_Delete); // #135966
action->setShortcutContext(Qt::WidgetWithChildrenShortcut);
connect(action, SIGNAL(triggered(bool)), this, SLOT(slotRemoveEntry()));
+
action = m_collection->addAction("clear");
action->setIcon(KIcon("edit-clear-history"));
action->setText(i18n("C&lear History"));
connect(action, SIGNAL(triggered(bool)), this, SLOT(slotClearHistory()));
+
action = m_collection->addAction("preferences");
action->setIcon(KIcon("configure"));
action->setText(i18n("&Preferences..."));
@@ -118,6 +126,7 @@
if (nodeType == KonqHistory::HistoryType) {
menu->addAction(m_collection->action("open_new"));
+ menu->addAction(m_collection->action("open_tab"));
menu->addSeparator();
}
@@ -205,6 +214,13 @@
emit openUrlInNewWindow(url);
}
+void KonqHistoryView::slotNewTab()
+{
+ const KUrl url = urlForIndex(m_treeView->currentIndex());
+ if (url.isValid())
+ emit openUrlInNewTab(url);
+}
+
KUrl KonqHistoryView::urlForIndex(const QModelIndex& index) const
{
if (!index.isValid() || (index.data(KonqHistory::TypeRole).toInt() != \
KonqHistory::HistoryType)) {
--- trunk/KDE/kdebase/apps/konqueror/src/konqhistoryview.h #1050643:1050644
@@ -52,6 +52,7 @@
Q_SIGNALS:
void openUrlInNewWindow(const KUrl& url);
+ void openUrlInNewTab(const KUrl& url);
private Q_SLOTS:
void slotContextMenu(const QPoint &pos);
@@ -62,6 +63,7 @@
void slotFilterTextChanged(const QString &text);
void slotTimerTimeout();
void slotNewWindow();
+ void slotNewTab();
private:
QTreeView* m_treeView;
--- trunk/KDE/kdebase/apps/konqueror/src/konqmainwindow.cpp #1050643:1050644
@@ -1161,12 +1161,11 @@
bool createTab = false;
if (args.actionRequestedByUser()) { // MMB or some RMB popupmenu action
createTab = KonqSettings::mmbOpensTab() &&
- !args.metaData().contains("forcenewwindow"); // RMB / Frame / \
Open in New Window + !browserArgs.forcesNewWindow(); // RMB / \
Frame / Open in New Window } else {
createTab = KonqSettings::popupsWithinTabs() &&
!isPopupWindow( windowArgs );
}
-
kDebug() << "createTab=" << createTab << "part=" << part;
if ( createTab ) {
@@ -1732,7 +1731,7 @@
void KonqMainWindow::slotGoHistory()
{
if (!m_historyDialog) {
- m_historyDialog = new KonqHistoryDialog();
+ m_historyDialog = new KonqHistoryDialog(this);
m_historyDialog->setAttribute(Qt::WA_DeleteOnClose);
m_historyDialog->setModal(false);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic