mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
Cleanup: let the DolphinView be aware about the used action collection. This will allow us cleaning up some code in DolphinMainWindow and will make it easier sharing code with DolphinPart.
CCMAIL: faure@kde.org svn path=/trunk/KDE/kdebase/apps/; revision=764347
This commit is contained in:
parent
37d4fa2d15
commit
1daef0dc52
7 changed files with 40 additions and 48 deletions
|
@ -59,7 +59,6 @@
|
|||
#include <kmenu.h>
|
||||
#include <kmenubar.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <konq_operations.h>
|
||||
#include <konqmimedata.h>
|
||||
#include <kpropertiesdialog.h>
|
||||
#include <kprotocolinfo.h>
|
||||
|
@ -423,12 +422,6 @@ void DolphinMainWindow::readProperties(const KConfigGroup& group)
|
|||
}
|
||||
}
|
||||
|
||||
void DolphinMainWindow::createDir()
|
||||
{
|
||||
const KUrl& url = m_activeViewContainer->view()->url();
|
||||
KonqOperations::newDir(this, url);
|
||||
}
|
||||
|
||||
void DolphinMainWindow::updateNewMenu()
|
||||
{
|
||||
m_newMenu->slotCheckUpToDate();
|
||||
|
@ -992,13 +985,6 @@ void DolphinMainWindow::setupActions()
|
|||
connect(menu, SIGNAL(aboutToShow()),
|
||||
this, SLOT(updateNewMenu()));
|
||||
|
||||
// This action doesn't appear in the GUI, it's for the shortcut only.
|
||||
// KNewMenu takes care of the GUI stuff.
|
||||
KAction* newDirAction = actionCollection()->addAction("create_dir");
|
||||
newDirAction->setText(i18n("Create Folder..."));
|
||||
connect(newDirAction, SIGNAL(triggered()), SLOT(createDir()));
|
||||
newDirAction->setShortcut(Qt::Key_F10);
|
||||
|
||||
KAction* newWindow = actionCollection()->addAction("new_window");
|
||||
newWindow->setIcon(KIcon("window-new"));
|
||||
newWindow->setText(i18nc("@action:inmenu File", "New &Window"));
|
||||
|
|
|
@ -163,9 +163,6 @@ protected:
|
|||
virtual void readProperties(const KConfigGroup& group);
|
||||
|
||||
private slots:
|
||||
/** Opens the dialog for creating a directory. */
|
||||
void createDir();
|
||||
|
||||
/** Updates the 'Create New...' sub menu. */
|
||||
void updateNewMenu();
|
||||
|
||||
|
|
|
@ -70,7 +70,8 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QStringLi
|
|||
KUrl(),
|
||||
m_dirLister,
|
||||
m_dolphinModel,
|
||||
m_proxyModel);
|
||||
m_proxyModel,
|
||||
actionCollection());
|
||||
setWidget(m_view);
|
||||
|
||||
setXMLFile("dolphinpart.rc");
|
||||
|
@ -144,14 +145,6 @@ void DolphinPart::createActions()
|
|||
propertiesAction->setShortcut(Qt::ALT+Qt::Key_Return);
|
||||
connect(propertiesAction, SIGNAL(triggered()), SLOT(slotProperties()));
|
||||
|
||||
// This action doesn't appear in the GUI, it's for the shortcut only.
|
||||
// KNewMenu takes care of the GUI stuff.
|
||||
KAction* newDirAction = actionCollection()->addAction( "create_dir" );
|
||||
newDirAction->setText( i18n("Create Folder..." ) );
|
||||
connect(newDirAction, SIGNAL(triggered()), SLOT(slotNewDir()));
|
||||
newDirAction->setShortcut(Qt::Key_F10);
|
||||
widget()->addAction(newDirAction);
|
||||
|
||||
// Go menu
|
||||
|
||||
QActionGroup* goActionGroup = new QActionGroup(this);
|
||||
|
@ -414,11 +407,6 @@ void DolphinPart::slotTrashActivated(Qt::MouseButtons, Qt::KeyboardModifiers mod
|
|||
m_view->trashSelectedItems();
|
||||
}
|
||||
|
||||
void DolphinPart::slotNewDir()
|
||||
{
|
||||
KonqOperations::newDir(widget(), url());
|
||||
}
|
||||
|
||||
void DolphinPart::slotEditMimeType()
|
||||
{
|
||||
const KFileItemList items = m_view->selectedItems();
|
||||
|
|
|
@ -115,11 +115,6 @@ private Q_SLOTS:
|
|||
*/
|
||||
void slotTrashActivated(Qt::MouseButtons, Qt::KeyboardModifiers);
|
||||
|
||||
/**
|
||||
* Connected to the key shortcut for "new directory" (F10)
|
||||
*/
|
||||
void slotNewDir();
|
||||
|
||||
/**
|
||||
* Connected to all "Go" menu actions provided by DolphinPart
|
||||
*/
|
||||
|
|
|
@ -62,7 +62,8 @@ DolphinView::DolphinView(QWidget* parent,
|
|||
const KUrl& url,
|
||||
KDirLister* dirLister,
|
||||
DolphinModel* dolphinModel,
|
||||
DolphinSortFilterProxyModel* proxyModel) :
|
||||
DolphinSortFilterProxyModel* proxyModel,
|
||||
KActionCollection* actionCollection) :
|
||||
QWidget(parent),
|
||||
m_active(true),
|
||||
m_showPreview(false),
|
||||
|
@ -122,6 +123,16 @@ DolphinView::DolphinView(QWidget* parent,
|
|||
|
||||
applyViewProperties(url);
|
||||
m_topLayout->addWidget(itemView());
|
||||
|
||||
Q_ASSERT(actionCollection != 0);
|
||||
if (actionCollection->action("create_dir") == 0) {
|
||||
// This action doesn't appear in the GUI, it's for the shortcut only.
|
||||
// KNewMenu takes care of the GUI stuff.
|
||||
KAction* newDirAction = actionCollection->addAction("create_dir");
|
||||
newDirAction->setText(i18n("Create Folder..."));
|
||||
connect(newDirAction, SIGNAL(triggered()), SLOT(createDir()));
|
||||
newDirAction->setShortcut(Qt::Key_F10);
|
||||
}
|
||||
}
|
||||
|
||||
DolphinView::~DolphinView()
|
||||
|
@ -1026,6 +1037,11 @@ void DolphinView::slotDeleteFileFinished(KJob* job)
|
|||
}
|
||||
}
|
||||
|
||||
void DolphinView::createDir()
|
||||
{
|
||||
KonqOperations::newDir(this, url());
|
||||
}
|
||||
|
||||
void DolphinView::cutSelectedItems()
|
||||
{
|
||||
QMimeData* mimeData = new QMimeData();
|
||||
|
|
|
@ -47,6 +47,7 @@ class DolphinModel;
|
|||
class DolphinSortFilterProxyModel;
|
||||
class IconManager;
|
||||
class KAction;
|
||||
class KActionCollection;
|
||||
class KDirLister;
|
||||
class KFileItemDelegate;
|
||||
class KUrl;
|
||||
|
@ -116,21 +117,23 @@ public:
|
|||
};
|
||||
|
||||
/**
|
||||
* @param parent Parent widget of the view.
|
||||
* @param url Specifies the content which should be shown.
|
||||
* @param dirLister Used directory lister. The lister is not owned
|
||||
* by the view and won't get deleted.
|
||||
* @param dolphinModel Used directory model. The model is not owned
|
||||
* by the view and won't get deleted.
|
||||
* @param proxyModel Used proxy model which specifies the sorting. The
|
||||
* model is not owned by the view and won't get
|
||||
* deleted.
|
||||
* @param parent Parent widget of the view.
|
||||
* @param url Specifies the content which should be shown.
|
||||
* @param dirLister Used directory lister. The lister is not owned
|
||||
* by the view and won't get deleted.
|
||||
* @param dolphinModel Used directory model. The model is not owned
|
||||
* by the view and won't get deleted.
|
||||
* @param proxyModel Used proxy model which specifies the sorting. The
|
||||
* model is not owned by the view and won't get
|
||||
* deleted.
|
||||
* @param actionCollection Action collection which contains the menu actions.
|
||||
*/
|
||||
DolphinView(QWidget* parent,
|
||||
const KUrl& url,
|
||||
KDirLister* dirLister,
|
||||
DolphinModel* dolphinModel,
|
||||
DolphinSortFilterProxyModel* proxyModel);
|
||||
DolphinSortFilterProxyModel* proxyModel,
|
||||
KActionCollection* actionCollection);
|
||||
|
||||
virtual ~DolphinView();
|
||||
|
||||
|
@ -591,6 +594,12 @@ private slots:
|
|||
*/
|
||||
void slotDeleteFileFinished(KJob* job);
|
||||
|
||||
/**
|
||||
* Opens the dialog for creating a directory. Is connected
|
||||
* with the key shortcut for "new directory" (F10).
|
||||
*/
|
||||
void createDir();
|
||||
|
||||
private:
|
||||
void loadDirectory(const KUrl& url, bool reload = false);
|
||||
|
||||
|
|
|
@ -115,7 +115,8 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow,
|
|||
url,
|
||||
m_dirLister,
|
||||
m_dolphinModel,
|
||||
m_proxyModel);
|
||||
m_proxyModel,
|
||||
mainWindow->actionCollection());
|
||||
connect(m_view, SIGNAL(urlChanged(const KUrl&)),
|
||||
m_urlNavigator, SLOT(setUrl(const KUrl&)));
|
||||
connect(m_view, SIGNAL(requestContextMenu(KFileItem, const KUrl&)),
|
||||
|
|
Loading…
Reference in a new issue