2007-03-25 06:44:28 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at> *
|
|
|
|
* *
|
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
|
* it under the terms of the GNU General Public License as published by *
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
|
|
* (at your option) any later version. *
|
|
|
|
* *
|
|
|
|
* This program is distributed in the hope that it will be useful, *
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
|
|
* GNU General Public License for more details. *
|
|
|
|
* *
|
|
|
|
* 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., *
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#ifndef TREEVIEWCONTEXTMENU_H
|
|
|
|
#define TREEVIEWCONTEXTMENU_H
|
|
|
|
|
2007-05-09 22:23:52 +00:00
|
|
|
#include <QtCore/QObject>
|
2007-08-13 21:57:20 +00:00
|
|
|
#include <KFileItem>
|
2007-03-25 06:44:28 +00:00
|
|
|
|
2008-03-23 15:51:30 +00:00
|
|
|
class TreeViewSidebarPage;
|
|
|
|
|
2007-03-25 06:44:28 +00:00
|
|
|
/**
|
|
|
|
* @brief Represents the context menu which appears when doing a right
|
|
|
|
* click on an item of the treeview.
|
|
|
|
*/
|
|
|
|
class TreeViewContextMenu : public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
/**
|
2008-03-23 15:51:30 +00:00
|
|
|
* @parent Pointer to the treeview sidebar page the context menu
|
2007-03-25 06:44:28 +00:00
|
|
|
* belongs to.
|
|
|
|
* @fileInfo Pointer to the file item the context menu
|
|
|
|
* is applied. If 0 is passed, the context menu
|
|
|
|
* is above the viewport.
|
|
|
|
*/
|
2008-03-23 15:51:30 +00:00
|
|
|
TreeViewContextMenu(TreeViewSidebarPage* parent,
|
2007-08-13 21:57:20 +00:00
|
|
|
const KFileItem& fileInfo);
|
2007-03-25 06:44:28 +00:00
|
|
|
|
|
|
|
virtual ~TreeViewContextMenu();
|
|
|
|
|
|
|
|
/** Opens the context menu modal. */
|
|
|
|
void open();
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
/** Cuts the item m_fileInfo. */
|
|
|
|
void cut();
|
|
|
|
|
|
|
|
/** Copies the item m_fileInfo. */
|
|
|
|
void copy();
|
|
|
|
|
|
|
|
/** Paste the clipboard to m_fileInfo. */
|
|
|
|
void paste();
|
|
|
|
|
|
|
|
/** Renames the item m_fileInfo. */
|
|
|
|
void rename();
|
|
|
|
|
|
|
|
/** Moves the item m_fileInfo to the trash. */
|
|
|
|
void moveToTrash();
|
|
|
|
|
|
|
|
/** Deletes the item m_fileInfo. */
|
|
|
|
void deleteItem();
|
|
|
|
|
|
|
|
/** Shows the properties of the item m_fileInfo. */
|
|
|
|
void showProperties();
|
|
|
|
|
2008-03-23 15:51:30 +00:00
|
|
|
/**
|
|
|
|
* Sets the 'Show Hidden Files' setting for the
|
|
|
|
* folders panel to \a show.
|
|
|
|
*/
|
|
|
|
void setShowHiddenFiles(bool show);
|
|
|
|
|
2007-03-25 06:44:28 +00:00
|
|
|
private:
|
2008-03-23 15:51:30 +00:00
|
|
|
TreeViewSidebarPage* m_parent;
|
2007-08-13 21:57:20 +00:00
|
|
|
KFileItem m_fileInfo;
|
2007-03-25 06:44:28 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|