LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
iactionsexporter.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #ifndef INTERFACES_IACTIONSEXPORTER_H
10 #define INTERFACES_IACTIONSEXPORTER_H
11 #include <QList>
12 #include <QMap>
13 #include <QtPlugin>
14 
15 class QAction;
16 
17 namespace LC
18 {
21  enum class ActionsEmbedPlace
22  {
25  ToolsMenu,
26 
35 
51 
54  TrayMenu,
55 
63  LCTray
64  };
65 }
66 
70 class Q_DECL_EXPORT IActionsExporter
71 {
72 public:
73  virtual ~IActionsExporter () {}
74 
84  virtual QList<QAction*> GetActions (LC::ActionsEmbedPlace area) const = 0;
85 
96  {
97  return {};
98  }
99 protected:
110  virtual void gotActions (QList<QAction*> actions, LC::ActionsEmbedPlace area) = 0;
111 };
112 
113 Q_DECLARE_INTERFACE (IActionsExporter, "org.Deviant.LeechCraft.IActionsExporter/1.0")
114 
115 #endif
QList
Definition: ianrulesstorage.h:14
LC::ActionsEmbedPlace::LCTray
@ LCTray
The tray area.
IActionsExporter
Interface for embedding actions and menus into various places.
Definition: iactionsexporter.h:70
IActionsExporter::GetMenuActions
virtual QMap< QString, QList< QAction * > > GetMenuActions() const
Returns the actions to embed into the menu.
Definition: iactionsexporter.h:95
LC::ActionsEmbedPlace::TrayMenu
@ TrayMenu
The context menu of the LeechCraft tray icon.
LC::ActionsEmbedPlace::CommonContextMenu
@ CommonContextMenu
The common tabbar context menu.
IActionsExporter::~IActionsExporter
virtual ~IActionsExporter()
Definition: iactionsexporter.h:73
LC::ActionsEmbedPlace
ActionsEmbedPlace
Specifies where the actions should be embedded.
Definition: iactionsexporter.h:21
LC
Definition: constants.h:14
LC::ActionsEmbedPlace::ToolsMenu
@ ToolsMenu
The Tools submenu of main LeechCraft menu.
QMap
Definition: anutil.h:17
LC::ActionsEmbedPlace::QuickLaunch
@ QuickLaunch
The quick launch area.