* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
#include "dolphincontextmenu.h"
#include <kmenu.h>
#include <kstdaction.h>
-#include "dolphin.h"
+#include "dolphinmainwindow.h"
#include "dolphinview.h"
#include "editbookmarkdialog.h"
#include "dolphinsettings.h"
assert(m_fileInfo == 0);
KMenu* popup = new KMenu(m_dolphinView);
- Dolphin& dolphin = Dolphin::mainWin();
+ DolphinMainWindow *dolphin = m_dolphinView->mainWindow();
// setup 'Create New' menu
KMenu* createNewMenu = new KMenu();
- KAction* createFolderAction = dolphin.actionCollection()->action("create_folder");
+ QAction* createFolderAction = dolphin->actionCollection()->action("create_folder");
if (createFolderAction != 0) {
- createFolderAction->plug(createNewMenu);
+ createNewMenu->addAction(createFolderAction);
}
createNewMenu->insertSeparator();
- KAction* action = 0;
-
- Q3PtrListIterator<KAction> fileGrouptIt(dolphin.fileGroupActions());
- while ((action = fileGrouptIt.current()) != 0) {
- action->plug(createNewMenu);
- ++fileGrouptIt;
+ QLinkedListIterator<QAction*> fileGrouptIt(dolphin->fileGroupActions());
+ while (fileGrouptIt.hasNext()) {
+ createNewMenu->addAction(fileGrouptIt.next());
}
// TODO: not used yet. See documentation of Dolphin::linkGroupActions()
//
//createNewMenu->insertSeparator();
//
- //QPtrListIterator<KAction> linkGroupIt(dolphin.linkGroupActions());
+ //QPtrListIterator<KAction> linkGroupIt(dolphin->linkGroupActions());
//while ((action = linkGroupIt.current()) != 0) {
// action->plug(createNewMenu);
// ++linkGroupIt;
//}
//
//KMenu* linkToDeviceMenu = new KMenu();
- //QPtrListIterator<KAction> linkToDeviceIt(dolphin.linkToDeviceActions());
+ //QPtrListIterator<KAction> linkToDeviceIt(dolphin->linkToDeviceActions());
//while ((action = linkToDeviceIt.current()) != 0) {
// action->plug(linkToDeviceMenu);
// ++linkToDeviceIt;
popup->insertItem(SmallIcon("filenew"), i18n("Create New"), createNewMenu);
popup->insertSeparator();
- KAction* pasteAction = dolphin.actionCollection()->action(KStdAction::stdName(KStdAction::Paste));
- pasteAction->plug(popup);
+ QAction* pasteAction = dolphin->actionCollection()->action(KStdAction::stdName(KStdAction::Paste));
+ popup->addAction(pasteAction);
// setup 'View Mode' menu
KMenu* viewModeMenu = new KMenu();
- KAction* iconsMode = dolphin.actionCollection()->action("icons");
- iconsMode->plug(viewModeMenu);
+ QAction* iconsMode = dolphin->actionCollection()->action("icons");
+ viewModeMenu->addAction(iconsMode);
- KAction* detailsMode = dolphin.actionCollection()->action("details");
- detailsMode->plug(viewModeMenu);
+ QAction* detailsMode = dolphin->actionCollection()->action("details");
+ viewModeMenu->addAction(detailsMode);
- KAction* previewsMode = dolphin.actionCollection()->action("previews");
- previewsMode->plug(viewModeMenu);
+ QAction* previewsMode = dolphin->actionCollection()->action("previews");
+ viewModeMenu->addAction(previewsMode);
popup->insertItem(i18n("View Mode"), viewModeMenu);
popup->insertSeparator();
QAction *activatedAction = popup->exec(m_pos);
if (activatedAction == propertiesAction) {
- new KPropertiesDialog(dolphin.activeView()->url());
+ new KPropertiesDialog(dolphin->activeView()->url());
}
else if (activatedAction == bookmarkAction) {
- const KUrl& url = dolphin.activeView()->url();
+ const KUrl& url = dolphin->activeView()->url();
KBookmark bookmark = EditBookmarkDialog::getBookmark(i18n("Add folder as bookmark"),
url.fileName(),
url,
assert(m_fileInfo != 0);
KMenu* popup = new KMenu(m_dolphinView);
- Dolphin& dolphin = Dolphin::mainWin();
+ DolphinMainWindow* dolphin = m_dolphinView->mainWindow();
const KUrl::List urls = m_dolphinView->selectedUrls();
// insert 'Cut', 'Copy' and 'Paste'
const KStdAction::StdAction actionNames[] = { KStdAction::Cut, KStdAction::Copy, KStdAction::Paste };
const int count = sizeof(actionNames) / sizeof(KStdAction::StdAction);
for (int i = 0; i < count; ++i) {
- KAction* action = dolphin.actionCollection()->action(KStdAction::stdName(actionNames[i]));
- if (action != 0) {
- action->plug(popup);
- }
+ QAction* action = dolphin->actionCollection()->action(KStdAction::stdName(actionNames[i]));
+ if (action)
+ popup->addAction(action);
}
popup->insertSeparator();
// insert 'Rename'
- KAction* renameAction = dolphin.actionCollection()->action("rename");
- renameAction->plug(popup);
+ QAction* renameAction = dolphin->actionCollection()->action("rename");
+ popup->addAction(renameAction);
// insert 'Move to Trash' for local Urls, otherwise insert 'Delete'
- const KUrl& url = dolphin.activeView()->url();
+ const KUrl& url = dolphin->activeView()->url();
if (url.isLocalFile()) {
- KAction* moveToTrashAction = dolphin.actionCollection()->action("move_to_trash");
- moveToTrashAction->plug(popup);
+ QAction* moveToTrashAction = dolphin->actionCollection()->action("move_to_trash");
+ popup->addAction(moveToTrashAction);
}
else {
- KAction* deleteAction = dolphin.actionCollection()->action("delete");
- deleteAction->plug(popup);
+ QAction* deleteAction = dolphin->actionCollection()->action("delete");
+ popup->addAction(deleteAction);
}
// insert 'Bookmark this folder...' entry
// insert 'Properties...' entry
popup->insertSeparator();
- KAction* propertiesAction = dolphin.actionCollection()->action("properties");
- propertiesAction->plug(popup);
+ QAction* propertiesAction = dolphin->actionCollection()->action("properties");
+ popup->addAction(propertiesAction);
QAction *activatedAction = popup->exec(m_pos);
// are listed which are registered to open the item. As last entry "Other..." will be
// attached which allows to select a custom application. If no applications are registered
// no sub menu is created at all, only "Open With..." will be offered.
- const KFileItemList* list = m_dolphinView->selectedItems();
- assert(list != 0);
+ const KFileItemList list = m_dolphinView->selectedItems();
bool insertOpenWithItems = true;
const QString contextMimeType(m_fileInfo->mimetype());
- QListIterator<KFileItem*> mimeIt(*list);
+ QListIterator<KFileItem*> mimeIt(list);
while (insertOpenWithItems && mimeIt.hasNext()) {
KFileItem* item = mimeIt.next();
insertOpenWithItems = (contextMimeType == item->mimetype());
if ((*it) == "all/allfiles") {
// The service type is valid for all files, but not for directories.
// Check whether the selected items only consist of files...
- const KFileItemList* list = m_dolphinView->selectedItems();
- assert(list != 0);
+ const KFileItemList list = m_dolphinView->selectedItems();
- QListIterator<KFileItem*> mimeIt(*list);
+ QListIterator<KFileItem*> mimeIt(list);
insert = true;
while (insert && mimeIt.hasNext()) {
KFileItem* item = mimeIt.next();
// Check whether the MIME types of all selected files match
// to the mimetype of the service action. As soon as one MIME
// type does not match, no service menu is shown at all.
- const KFileItemList* list = m_dolphinView->selectedItems();
- assert(list != 0);
+ const KFileItemList list = m_dolphinView->selectedItems();
- QListIterator<KFileItem*> mimeIt(*list);
+ QListIterator<KFileItem*> mimeIt(list);
insert = true;
while (insert && mimeIt.hasNext()) {
KFileItem* item = mimeIt.next();
const QString mimeType(item->mimetype());
- const QString mimeGroup(mimeType.left(mimeType.find('/')));
+ const QString mimeGroup(mimeType.left(mimeType.indexOf('/')));
insert = (*it == mimeType) ||
((*it).right(1) == "*") &&
- ((*it).left((*it).find('/')) == mimeGroup);
+ ((*it).left((*it).indexOf('/')) == mimeGroup);
}
}