summaryrefslogtreecommitdiffstats
path: root/krusader/Panel/krpopupmenu.h
blob: cec82250a58d131f21363cb8edd4f16e47a99b59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef KRPOPUPMENU_H
#define KRPOPUPMENU_H

#include <tdepopupmenu.h>
#include <kurl.h>
#include <kuserprofile.h>
#include "listpanel.h"
#include "krpreviewpopup.h"
#include "../UserAction/useractionpopupmenu.h"
#ifdef __LIBKONQ__
#include <konq_popupmenu.h>
#include <konqbookmarkmanager.h>
#endif

// should be renamed to KrContextMenu or similar
class KrPopupMenu : public TDEPopupMenu {
	Q_OBJECT
  
public:
	static void run(const TQPoint &pos, ListPanel *panel);

protected:	
	KrPopupMenu(ListPanel *thePanel, TQWidget *parent=0);
	~KrPopupMenu();
	void performAction(int id);
	void addEmptyMenuEntries(); // adds the choices for a menu without selected items
	void addCreateNewMenu(); // adds a "create new" submenu

	enum ID {
		OPEN_ID,
		OPEN_WITH_ID,
		OPEN_KONQ_ID,
		OPEN_TERM_ID,
		OPEN_TAB_ID,
		PREVIEW_ID,
		KONQ_MENU_ID,
		CHOOSE_ID,
		DELETE_ID,
		COPY_ID,
		MOVE_ID,
		RENAME_ID,
		PROPERTIES_ID,
		MOUNT_ID,
		UNMOUNT_ID,
		TRASH_ID,
		SHRED_ID,
		NEW_LINK_ID,
		NEW_SYMLINK_ID,
		REDIRECT_LINK_ID,
		SYNC_SELECTED_ID,
		SEND_BY_EMAIL_ID,
		LINK_HANDLING_ID,
		EJECT_ID,
		COPY_CLIP_ID,
		MOVE_CLIP_ID,
		PASTE_CLIP_ID,
		MKDIR_ID,
		NEW_TEXT_FILE_ID,
		CREATE_NEW_ID,
		SERVICE_LIST_ID // ALWAYS KEEP THIS ONE LAST!!!
	};

private:
	ListPanel *panel;
	bool empty, multipleSelections;
	TDEPopupMenu openWith, linkPopup, createNewPopup;
   KrPreviewPopup preview;
   TDEActionCollection *actions;
   KrViewItemList items; // list of selected items
   KrViewItem *item; // the (first) selected item
   KFileItemList _items;
   TQValueList<KServiceOffer> offers;
#ifdef __LIBKONQ__
   KonqPopupMenu *konqMenu;
#endif
};

#endif