21 #ifndef __konqpopupmenu_h
22 #define __konqpopupmenu_h
24 #include <sys/types.h>
26 #include <tqpopupmenu.h>
30 #include <tqstringlist.h>
32 #include <kfileitem.h>
33 #include <kmimetype.h>
34 #include <libkonq_export.h>
36 #include <kparts/browserextension.h>
38 #include "konq_xmlguiclient.h"
40 typedef TQValueList<KDEDesktopMimeType::Service> ServiceList;
42 class KPropertiesDialog;
45 class KonqPopupMenuPlugin;
46 class KBookmarkManager;
77 const KFileItemList &items,
79 KActionCollection & actions,
81 bool showPropertiesAndFileType =
true ) KDE_DEPRECATED;
88 const KFileItemList &items,
90 KActionCollection & actions,
92 TQWidget * parentWidget,
93 bool showPropertiesAndFileType = true ) KDE_DEPRECATED;
116 const KFileItemList &items,
118 KActionCollection & actions,
120 TQWidget * parentWidget,
122 KParts::BrowserExtension::PopupFlags f );
133 void setURLTitle( const TQString& urlTitle );
135 class LIBKONQ_EXPORT ProtocolInfo {
138 bool supportsReading()
const;
139 bool supportsWriting()
const;
140 bool supportsDeleting()
const;
141 bool supportsMoving()
const;
142 bool trashIncluded()
const;
149 bool m_TrashIncluded:1;
154 virtual KAction *
action(
const TQDomElement &element )
const;
157 virtual KActionCollection *actionCollection()
const;
158 TQString mimeType( )
const;
160 KFileItemList fileItemList()
const;
161 KURL::List popupURLList( )
const;
162 ProtocolInfo protocolInfo()
const;
165 void slotPopupNewDir();
166 void slotPopupNewView();
167 void slotPopupEmptyTrashBin();
168 void slotPopupRestoreTrashedItems();
169 void slotPopupOpenWith();
170 void slotPopupAddToBookmark();
171 void slotRunService();
172 void slotPopupMimeType();
173 void slotPopupProperties();
174 void slotOpenShareFileDialog();
176 KActionCollection &m_actions;
177 KActionCollection m_ownActions;
180 void init (TQWidget * parentWidget,
KonqPopupFlags kpf, KParts::BrowserExtension::PopupFlags itemFlags);
183 int insertServicesSubmenus(
const TQMap<TQString, ServiceList>& list, TQDomElement& menu,
bool isBuiltin);
184 int insertServices(
const ServiceList& list, TQDomElement& menu,
bool isBuiltin);
185 bool KIOSKAuthorizedAction(KConfig& cfg);
186 KPropertiesDialog* showPropertiesDialog();
188 class KonqPopupMenuPrivate;
189 KonqPopupMenuPrivate *d;
192 TQString m_sMimeType;
193 KFileItemList m_lstItems;
194 KURL::List m_lstPopupURLs;
195 TQMap<int,KService::Ptr> m_mapPopup;
196 TQMap<int,KDEDesktopMimeType::Service> m_mapPopupServices;
197 bool m_bHandleEditOperations;
198 KXMLGUIFactory *m_factory;
199 KXMLGUIBuilder *m_builder;
202 TQPtrList<KonqPopupMenuPlugin> m_pluginList;
203 KBookmarkManager* m_pManager;
206 class LIBKONQ_EXPORT KonqPopupMenuPlugin :
public TQObject,
public KonqXMLGUIClient {
216 KonqPopupMenuPlugin(
KonqPopupMenu *_popup,
const char *name );
217 virtual ~KonqPopupMenuPlugin ( );