Skip to content

Commit 2d70c93

Browse files
authored
FancyMenu: new plugin for start menu (#1975)
- Based on MainMenu plugin - Looks like XFCE Whisker Menu. - Has Favorites support, which get stored inside `panel.conf` file - Supports search by keyword and comment fields of `.desktop` file - MenuCache support is removed.
1 parent 543d300 commit 2d70c93

19 files changed

+2812
-0
lines changed

CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ if(DESKTOPSWITCH_PLUGIN)
124124
add_subdirectory(plugin-desktopswitch)
125125
endif()
126126

127+
setByDefault(FANCYMENU_PLUGIN Yes)
128+
if(FANCYMENU_PLUGIN)
129+
list(APPEND STATIC_PLUGINS "fancymenu")
130+
add_definitions(-DWITH_FANCYMENU_PLUGIN)
131+
list(APPEND ENABLED_PLUGINS "Application fancy menu")
132+
add_subdirectory(plugin-fancymenu)
133+
endif()
134+
127135
setByDefault(KBINDICATOR_PLUGIN Yes)
128136
if(KBINDICATOR_PLUGIN)
129137
list(APPEND ENABLED_PLUGINS "Keyboard Indicator")

panel/plugin.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@
5757
#include "../plugin-desktopswitch/desktopswitch.h" // desktopswitch
5858
extern void * loadPluginTranslation_desktopswitch_helper;
5959
#endif
60+
#if defined(WITH_FANCYMENU_PLUGIN)
61+
#include "../plugin-fancymenu/lxqtfancymenu.h" // fancymenu
62+
extern void * loadPluginTranslation_fancymenu_helper;
63+
#endif
6064
#if defined(WITH_MAINMENU_PLUGIN)
6165
#include "../plugin-mainmenu/lxqtmainmenu.h" // mainmenu
6266
extern void * loadPluginTranslation_mainmenu_helper;
@@ -218,6 +222,9 @@ namespace
218222
#if defined(WITH_DESKTOPSWITCH_PLUGIN)
219223
std::make_tuple(QLatin1String("desktopswitch"), plugin_ptr_t{new DesktopSwitchPluginLibrary}, loadPluginTranslation_desktopswitch_helper),// desktopswitch
220224
#endif
225+
#if defined(WITH_FANCYMENU_PLUGIN)
226+
std::make_tuple(QLatin1String("fancymenu"), plugin_ptr_t{new LXQtFancyMenuPluginLibrary}, loadPluginTranslation_fancymenu_helper),// fancymenu
227+
#endif
221228
#if defined(WITH_MAINMENU_PLUGIN)
222229
std::make_tuple(QLatin1String("mainmenu"), plugin_ptr_t{new LXQtMainMenuPluginLibrary}, loadPluginTranslation_mainmenu_helper),// mainmenu
223230
#endif

plugin-fancymenu/CMakeLists.txt

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
set(PLUGIN "fancymenu")
2+
3+
set(HEADERS
4+
lxqtfancymenu.h
5+
lxqtfancymenuconfiguration.h
6+
lxqtfancymenuwindow.h
7+
lxqtfancymenuappmap.h
8+
lxqtfancymenuappmodel.h
9+
lxqtfancymenucategoriesmodel.h
10+
lxqtfancymenutypes.h
11+
)
12+
13+
set(SOURCES
14+
lxqtfancymenu.cpp
15+
lxqtfancymenuconfiguration.cpp
16+
lxqtfancymenuwindow.cpp
17+
lxqtfancymenuappmap.cpp
18+
lxqtfancymenuappmodel.cpp
19+
lxqtfancymenucategoriesmodel.cpp
20+
)
21+
22+
set(UIS
23+
lxqtfancymenuconfiguration.ui
24+
)
25+
26+
27+
# optionally use libmenu-cache to generate the application menu
28+
if(USE_MENU_CACHE)
29+
find_package(MenuCache "0.3.3")
30+
endif()
31+
32+
set(LIBRARIES
33+
lxqt
34+
lxqt-globalkeys
35+
lxqt-globalkeys-ui
36+
)
37+
38+
if(MENUCACHE_FOUND)
39+
list(APPEND SOURCES xdgcachedmenu.cpp)
40+
list(APPEND MOCS xdgcachedmenu.h)
41+
42+
include_directories(${MENUCACHE_INCLUDE_DIRS})
43+
list(APPEND LIBRARIES ${MENUCACHE_LIBRARIES})
44+
add_definitions(-DHAVE_MENU_CACHE=1)
45+
46+
endif()
47+
48+
49+
set(QT_USE_QTXML 1)
50+
set(QT_USE_QTDBUS 1)
51+
52+
BUILD_LXQT_PLUGIN(${PLUGIN})

0 commit comments

Comments
 (0)