Skip to content

Commit 9f0cbf2

Browse files
committed
Add GUI config tool on path addon/rime/custom_config
1 parent e20996d commit 9f0cbf2

19 files changed

+2101
-1
lines changed

Diff for: CMakeLists.txt

+5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ add_definitions(-DFCITX_RIME_VERSION=\"${PROJECT_VERSION}\")
2525

2626
include("${FCITX_INSTALL_CMAKECONFIG_DIR}/Fcitx5Utils/Fcitx5CompilerSettings.cmake")
2727

28+
option(ENABLE_GUI "Build Fcitx5 Rime Config GUI Tool" ON)
29+
2830
add_subdirectory(po)
2931
add_subdirectory(src)
3032
add_subdirectory(data)
33+
if(ENABLE_GUI)
34+
add_subdirectory(gui)
35+
endif()

Diff for: Messages.sh

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ source_files=$(find . -name \*.cpp -o -name \*.h)
77
$XGETTEXT --keyword=_ --keyword=N_ --language=C++ -o ${POT_FILE} $source_files
88
desktop_files=$(find . -name \*.conf.in -o -name \*.conf.in.in -o -name \*.desktop.in)
99
$XGETTEXT --language=Desktop -k --keyword=Name --keyword=GenericName --keyword=Comment --keyword=Keywords $desktop_files -j -o ${POT_FILE}
10+
ui_files=$(find . -name \*.ui)
11+
extractrc $ui_files > rc.cpp
12+
$XGETTEXT --kde --language=C++ --add-comments --sort-output -j -o ${POT_FILE} rc.cpp
13+
rm -f rc.cpp
1014

1115
sed -i 's|^"Content-Type: text/plain; charset=CHARSET\\n"|"Content-Type: text/plain; charset=utf-8\\n"|g' ${POT_FILE}
1216

Diff for: gui/CMakeLists.txt

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
set(REQUIRED_QT5_VERSION 5.7)
2+
3+
find_package(Qt5 ${REQUIRED_QT5_VERSION} CONFIG REQUIRED COMPONENTS Core Widgets Concurrent)
4+
find_package(Fcitx5Qt5WidgetsAddons REQUIRED)
5+
6+
set(RIME_CONFIG_SRCS
7+
Main.cpp
8+
ConfigMain.cpp
9+
Model.cpp
10+
RimeConfigParser.cpp
11+
ErrorOverlay.cpp
12+
keylistwidget.cpp)
13+
14+
set(RIME_CONFIG_HDRS
15+
Main.h
16+
ConfigMain.h
17+
Model.h
18+
Common.h
19+
RimeConfigParser.h
20+
ErrorOverlay.h
21+
keylistwidget.h)
22+
23+
add_library(rime-config
24+
MODULE ${RIME_CONFIG_SRCS})
25+
26+
target_include_directories(rime-config PRIVATE ${PROJECT_SOURCE_DIR}/gui)
27+
28+
set_target_properties(rime-config PROPERTIES
29+
LINK_FLAGS "-Wl,--no-undefined"
30+
AUTOMOC TRUE
31+
AUTOUIC TRUE
32+
AUTOUIC_OPTIONS "-tr=fcitx::tr2fcitx;--include=fcitxqti18nhelper.h")
33+
34+
target_link_libraries(rime-config
35+
Qt5::Widgets
36+
Qt5::Concurrent
37+
Fcitx5::Core
38+
Fcitx5Qt5::WidgetsAddons
39+
PkgConfig::Rime)
40+
41+
install(TARGETS rime-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/fcitx5/qt5)

0 commit comments

Comments
 (0)