#include <KLocale>
#include <KMessageBox>
#include <KPluginFactory>
+#include <KRun>
#include <KToggleAction>
#include <KIO/NetAccess>
#include <KToolInvocation>
#include <KInputDialog>
#include <KProtocolInfo>
-#include "settings/dolphinsettings.h"
#include "views/dolphinview.h"
#include "views/dolphinviewactionhandler.h"
-#include "views/dolphinsortfilterproxymodel.h"
-#include "views/dolphinmodel.h"
#include "views/dolphinnewfilemenuobserver.h"
#include "views/dolphinremoteencoding.h"
-#include "views/dolphindirlister.h"
#include <QActionGroup>
#include <QApplication>
#include <QClipboard>
+#include <QDir>
K_PLUGIN_FACTORY(DolphinPartFactory, registerPlugin<DolphinPart>();)
K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart", "dolphin"))
m_view->setTabsForFilesEnabled(true);
setWidget(m_view);
- connect(m_view, SIGNAL(finishedPathLoading(KUrl)), this, SLOT(slotCompleted(KUrl)));
- connect(m_view, SIGNAL(pathLoadingProgress(int)), this, SLOT(updateProgress(int)));
+ connect(m_view, SIGNAL(finishedDirLoading(KUrl)), this, SLOT(slotCompleted(KUrl)));
+ connect(m_view, SIGNAL(directoryLoadingProgress(int)), this, SLOT(updateProgress(int)));
connect(m_view, SIGNAL(errorMessage(QString)), this, SLOT(slotErrorMessage(QString)));
setXMLFile("dolphinpart.rc");
this, SLOT(slotMessage(QString)));
connect(m_view, SIGNAL(errorMessage(QString)),
this, SLOT(slotErrorMessage(QString)));
- connect(m_view, SIGNAL(itemTriggered(KFileItem)),
- this, SLOT(slotItemTriggered(KFileItem)));
+ connect(m_view, SIGNAL(itemActivated(KFileItem)),
+ this, SLOT(slotItemActivated(KFileItem)));
connect(m_view, SIGNAL(tabRequested(KUrl)),
this, SLOT(createNewWindow(KUrl)));
- connect(m_view, SIGNAL(requestContextMenu(KFileItem,KUrl,QList<QAction*>)),
- this, SLOT(slotOpenContextMenu(KFileItem,KUrl,QList<QAction*>)));
+ connect(m_view, SIGNAL(requestContextMenu(QPoint,KFileItem,KUrl,QList<QAction*>)),
+ this, SLOT(slotOpenContextMenu(QPoint,KFileItem,KUrl,QList<QAction*>)));
connect(m_view, SIGNAL(selectionChanged(KFileItemList)),
m_extension, SIGNAL(selectionInfo(KFileItemList)));
connect(m_view, SIGNAL(selectionChanged(KFileItemList)),
this, SLOT(slotSelectionChanged(KFileItemList)));
connect(m_view, SIGNAL(requestItemInfo(KFileItem)),
this, SLOT(slotRequestItemInfo(KFileItem)));
- connect(m_view, SIGNAL(modeChanged()),
+ connect(m_view, SIGNAL(modeChanged(DolphinView::Mode,DolphinView::Mode)),
this, SIGNAL(viewModeChanged())); // relay signal
- connect(m_view, SIGNAL(redirection(KUrl, KUrl)),
- this, SLOT(slotRedirection(KUrl, KUrl)));
+ connect(m_view, SIGNAL(redirection(KUrl,KUrl)),
+ this, SLOT(slotDirectoryRedirection(KUrl,KUrl)));
// Watch for changes that should result in updates to the
// status bar text.
connect(m_view, SIGNAL(itemCountChanged()), this, SLOT(updateStatusBar()));
- connect(m_view, SIGNAL(selectionChanged(const KFileItemList)), this, SLOT(updateStatusBar()));
+ connect(m_view, SIGNAL(selectionChanged(KFileItemList)), this, SLOT(updateStatusBar()));
m_actionHandler = new DolphinViewActionHandler(actionCollection(), this);
m_actionHandler->setCurrentView(m_view);
DolphinPart::~DolphinPart()
{
- DolphinSettings::instance().save();
DolphinNewFileMenuObserver::instance().detach(m_newFileMenu);
}
goActionGroup);
// Tools menu
+ KAction* findFile = actionCollection()->addAction("find_file");
+ findFile->setText(i18nc("@action:inmenu Tools", "Find File..."));
+ findFile->setShortcut(Qt::CTRL | Qt::Key_F);
+ findFile->setIcon(KIcon("edit-find"));
+ connect(findFile, SIGNAL(triggered()), this, SLOT(slotFindFile()));
+
if (KAuthorized::authorizeKAction("shell_access")) {
KAction* action = actionCollection()->addAction("open_terminal");
action->setIcon(KIcon("utilities-terminal"));
connect(action, SIGNAL(triggered()), SLOT(slotOpenTerminal()));
action->setShortcut(Qt::Key_F4);
}
-
}
void DolphinPart::createGoAction(const char* name, const char* iconName,
}
}
-void DolphinPart::slotItemTriggered(const KFileItem& item)
+void DolphinPart::slotItemActivated(const KFileItem& item)
{
KParts::OpenUrlArguments args;
// Forget about the known mimetype if a target URL is used.
void DolphinPart::createNewWindow(const KUrl& url)
{
// TODO: Check issue N176832 for the missing QAIV signal; task 177399 - maybe this code
- // should be moved into DolphinPart::slotItemTriggered()
+ // should be moved into DolphinPart::slotItemActivated()
emit m_extension->createNewWindow(url);
}
-void DolphinPart::slotOpenContextMenu(const KFileItem& _item,
+void DolphinPart::slotOpenContextMenu(const QPoint& pos,
+ const KFileItem& _item,
const KUrl&,
const QList<QAction*>& customActions)
{
actionGroups.insert("editactions", editActions);
- emit m_extension->popupMenu(QCursor::pos(),
+ emit m_extension->popupMenu(pos,
items,
KParts::OpenUrlArguments(),
KParts::BrowserArguments(),
actionGroups);
}
-void DolphinPart::slotRedirection(const KUrl& oldUrl, const KUrl& newUrl)
+void DolphinPart::slotDirectoryRedirection(const KUrl& oldUrl, const KUrl& newUrl)
{
//kDebug() << oldUrl << newUrl << "currentUrl=" << url();
if (oldUrl.equals(url(), KUrl::CompareWithoutTrailingSlash /* #207572 */)) {
if (okClicked && !pattern.isEmpty()) {
QRegExp patternRegExp(pattern, Qt::CaseSensitive, QRegExp::Wildcard);
- m_view->setItemSelectionEnabled(patternRegExp, selectItems);
+ m_view->selectItems(patternRegExp, selectItems);
}
}
KToolInvocation::invokeTerminal(QString(), dir);
}
+void DolphinPart::slotFindFile()
+{
+ KRun::run("kfind", url(), widget());
+}
+
void DolphinPart::updateNewMenu()
{
// As requested by KNewFileMenu :
m_newFileMenu->checkUpToDate();
- m_newFileMenu->setViewShowsHiddenFiles(m_view->showHiddenFiles());
+ m_newFileMenu->setViewShowsHiddenFiles(m_view->hiddenFilesShown());
// And set the files that the menu apply on :
m_newFileMenu->setPopupFiles(url());
}
void DolphinPart::createDirectory()
{
- m_newFileMenu->setViewShowsHiddenFiles(m_view->showHiddenFiles());
+ m_newFileMenu->setViewShowsHiddenFiles(m_view->hiddenFilesShown());
m_newFileMenu->setPopupFiles(url());
m_newFileMenu->createDirectory();
}
void DolphinPartBrowserExtension::reparseConfiguration()
{
- m_part->view()->refresh();
+ m_part->view()->readSettings();
}
////
bool DolphinPartFileInfoExtension::hasSelection() const
{
- return part()->view()->hasSelection();
+ return part()->view()->selectedItemsCount() > 0;
}
KParts::FileInfoExtension::QueryModes DolphinPartFileInfoExtension::supportedQueryModes() const