LeechCraft  0.6.70-16373-g319c272718
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
ActionsEmbedPlace
Specifies where the actions should be embedded.
Interface for embedding actions and menus into various places.
virtual ~IActionsExporter()
The quick launch area.
The context menu of the LeechCraft tray icon.
The common tabbar context menu.
virtual QMap< QString, QList< QAction * > > GetMenuActions() const
Returns the actions to embed into the menu.
The Tools submenu of main LeechCraft menu.
Definition: anutil.h:17