#include <kabstractfileitemactionplugin.h>
#include <KFileItemActions>
#include <KFileItemListProperties>
-#include <KFilePlacesModel>
#include <KGlobal>
#include <KIconLoader>
#include <KIO/NetAccess>
#include <KStandardDirs>
#include <KToolBar>
+#include <panels/places/placesitem.h>
+#include <panels/places/placesitemmodel.h>
+
#include <QApplication>
#include <QClipboard>
#include <QDir>
-#include "views/dolphinplacesmodel.h"
#include "views/dolphinview.h"
#include "views/viewmodecontroller.h"
emptyTrashAction->setEnabled(!trashConfig.group("Status").readEntry("Empty", true));
m_popup->addAction(emptyTrashAction);
- QAction* addToPlacesAction = m_popup->addAction(KIcon("bookmark-new"),
- i18nc("@action:inmenu Add current folder to places", "Add to Places"));
-
- // Don't show if url is already in places
- if (placeExists(m_mainWindow->activeViewContainer()->url())) {
- addToPlacesAction->setVisible(false);
- }
-
addCustomActions();
QAction* propertiesAction = m_mainWindow->actionCollection()->action("properties");
addShowMenuBarAction();
- QAction *action = m_popup->exec(m_pos);
- if (action == emptyTrashAction) {
+ if (m_popup->exec(m_pos) == emptyTrashAction) {
KonqOperations::emptyTrash(m_mainWindow);
- } else if (action == addToPlacesAction) {
- const KUrl url = m_mainWindow->activeViewContainer()->url();
- if (url.isValid()) {
- DolphinPlacesModel::instance()->addPlace(i18nc("@label", "Trash"), url);
- }
}
}
if (activatedAction == addToPlacesAction) {
const KUrl selectedUrl(m_fileInfo.url());
if (selectedUrl.isValid()) {
- DolphinPlacesModel::instance()->addPlace(placesName(selectedUrl),
- selectedUrl);
+ PlacesItemModel model;
+ const QString text = selectedUrl.fileName();
+ PlacesItem* item = model.createPlacesItem(text, selectedUrl);
+ model.appendItemToGroup(item);
}
} else if (activatedAction == openParentInNewWindowAction) {
m_command = OpenParentFolderInNewWindow;
QAction* action = m_popup->exec(m_pos);
if (addToPlacesAction && (action == addToPlacesAction)) {
- const KUrl url = m_mainWindow->activeViewContainer()->url();
- if (url.isValid()) {
- DolphinPlacesModel::instance()->addPlace(placesName(url), url);
+ const DolphinViewContainer* container = m_mainWindow->activeViewContainer();
+ if (container->url().isValid()) {
+ PlacesItemModel model;
+ PlacesItem* item = model.createPlacesItem(container->placesText(),
+ container->url());
+ model.appendItemToGroup(item);
}
}
}
}
}
-QString DolphinContextMenu::placesName(const KUrl& url) const
-{
- QString name = url.fileName();
- if (name.isEmpty()) {
- name = url.host();
- }
- return name;
-}
-
bool DolphinContextMenu::placeExists(const KUrl& url) const
{
- const KFilePlacesModel* placesModel = DolphinPlacesModel::instance();
- const int count = placesModel->rowCount();
+ PlacesItemModel model;
+ const int count = model.count();
for (int i = 0; i < count; ++i) {
- const QModelIndex index = placesModel->index(i, 0);
-
- if (url.equals(placesModel->url(index), KUrl::CompareWithoutTrailingSlash)) {
+ const KUrl placeUrl = model.placesItem(i)->url();
+ if (placeUrl.equals(url, KUrl::CompareWithoutTrailingSlash)) {
return true;
}
}
+
return false;
}
bool DolphinContextMenu::moveToTrash() const
{
- return selectedItemsProperties().isLocal() && !m_shiftPressed;
+ return !m_shiftPressed;
}
#include "dolphincontextmenu.moc"