build(cmake): implement modular build system and align service dependencies

This commit is contained in:
jolavillette 2026-05-18 16:04:01 +02:00
parent 6b5947b73e
commit 4bd02cf0bb
14 changed files with 443 additions and 64 deletions

7
plugins/CMakeLists.txt Normal file
View File

@ -0,0 +1,7 @@
# plugins/CMakeLists.txt
cmake_minimum_required(VERSION 3.18)
if(RS_GUI)
add_subdirectory(FeedReader)
add_subdirectory(VOIP)
endif()

View File

@ -0,0 +1,129 @@
# plugins/FeedReader/CMakeLists.txt
cmake_minimum_required(VERSION 3.18)
project(FeedReaderPlugin)
# --- Dependencies ---
find_package(CURL REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBXML2 REQUIRED libxml-2.0)
pkg_check_modules(LIBXSLT REQUIRED libxslt)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
# --- Sources ---
set(FEEDREADER_SOURCES
FeedReaderPlugin.cpp
services/p3FeedReader.cc
services/p3FeedReaderThread.cc
services/rsFeedReaderItems.cc
gui/FeedReaderDialog.cpp
gui/FeedReaderMessageWidget.cpp
gui/AddFeedDialog.cpp
gui/PreviewFeedDialog.cpp
gui/FeedReaderNotify.cpp
gui/FeedReaderConfig.cpp
gui/FeedReaderStringDefs.cpp
gui/FeedReaderFeedNotify.cpp
gui/FeedReaderUserNotify.cpp
gui/FeedReaderFeedItem.cpp
gui/FeedTreeWidget.cpp
gui/ProxyWidget.cpp
util/CURLWrapper.cpp
util/XMLWrapper.cpp
util/HTMLWrapper.cpp
util/XPathWrapper.cpp
)
set(FEEDREADER_FORMS
gui/FeedReaderDialog.ui
gui/FeedReaderMessageWidget.ui
gui/AddFeedDialog.ui
gui/PreviewFeedDialog.ui
gui/FeedReaderConfig.ui
gui/FeedReaderFeedItem.ui
gui/ProxyWidget.ui
)
set(FEEDREADER_RESOURCES
gui/FeedReader_images.qrc
lang/FeedReader_lang.qrc
qss/FeedReader_qss.qrc
)
# --- Translations (.ts -> .qm) ---
file(GLOB TS_FILES "lang/*.ts")
if(Qt5LinguistTools_FOUND)
qt5_add_translation(QM_FILES ${TS_FILES})
else()
find_program(LRELEASE_EXECUTABLE NAMES lrelease-qt5 lrelease)
foreach(ts_file ${TS_FILES})
get_filename_component(ts_name ${ts_file} NAME_WE)
set(qm_src_file "${CMAKE_CURRENT_SOURCE_DIR}/lang/${ts_name}.qm")
set(qm_bin_file "${CMAKE_CURRENT_BINARY_DIR}/${ts_name}.qm")
if(EXISTS ${qm_src_file})
list(APPEND QM_FILES ${qm_src_file})
elseif(LRELEASE_EXECUTABLE)
add_custom_command(
OUTPUT ${qm_bin_file}
COMMAND ${LRELEASE_EXECUTABLE} ${ts_file} -qm ${qm_bin_file}
DEPENDS ${ts_file}
VERBATIM
)
list(APPEND QM_FILES ${qm_bin_file})
endif()
endforeach()
endif()
# --- CTarget ---
add_library(FeedReader MODULE
${FEEDREADER_SOURCES}
${FEEDREADER_FORMS}
${FEEDREADER_RESOURCES}
${QM_FILES}
)
set_target_properties(FeedReader PROPERTIES
PREFIX "lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins"
AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/gui"
)
# --- Links ---
if(WIN32)
target_link_libraries(FeedReader PRIVATE retroshare)
endif()
target_link_libraries(FeedReader PRIVATE
Qt5::Core
Qt5::Widgets
Qt5::Xml
Qt5::Network
CURL::libcurl
${LIBXML2_LIBRARIES}
${LIBXSLT_LIBRARIES}
)
if(RS_DEVELOPMENT_BUILD)
target_compile_options(FeedReader PRIVATE "-g" "-O0")
endif()
# --- Includes ---
target_include_directories(FeedReader PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/gui
${CMAKE_CURRENT_SOURCE_DIR}/services
${CMAKE_CURRENT_SOURCE_DIR}/interface
${CMAKE_CURRENT_SOURCE_DIR}/util
${CMAKE_SOURCE_DIR}/libretroshare/src
${CMAKE_SOURCE_DIR}/retroshare-gui/src
${CMAKE_SOURCE_DIR}/retroshare-gui/src/gui
${CMAKE_SOURCE_DIR}/supportlibs/rapidjson/include
${LIBXML2_INCLUDE_DIRS}
${LIBXSLT_INCLUDE_DIRS}
)
# --- Installation ---
install(TARGETS FeedReader DESTINATION lib/retroshare/plugins)

129
plugins/VOIP/CMakeLists.txt Normal file
View File

@ -0,0 +1,129 @@
# plugins/VOIP/CMakeLists.txt
cmake_minimum_required(VERSION 3.18)
project(VOIPPlugin)
# --- Dependencies ---
find_package(Qt5 COMPONENTS Multimedia REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(AVCODEC REQUIRED libavcodec)
pkg_check_modules(AVUTIL REQUIRED libavutil)
pkg_check_modules(SPEEX REQUIRED speex)
pkg_check_modules(SPEEXDSP REQUIRED speexdsp)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
# --- Definitions ---
add_definitions(-D__STDC_CONSTANT_MACROS)
# --- Sources ---
set(VOIP_SOURCES
VOIPPlugin.cpp
gui/VOIPConfigPanel.cpp
services/p3VOIP.cc
services/rsVOIPItems.cc
gui/AudioStats.cpp
gui/AudioWizard.cpp
gui/SpeexProcessor.cpp
gui/audiodevicehelper.cpp
gui/VideoProcessor.cpp
gui/QVideoDevice.cpp
gui/VOIPChatWidgetHolder.cpp
gui/VOIPGUIHandler.cpp
gui/VOIPNotify.cpp
gui/VOIPToasterItem.cpp
gui/VOIPToasterNotify.cpp
)
set(VOIP_FORMS
gui/AudioStats.ui
gui/AudioWizard.ui
gui/VOIPConfigPanel.ui
gui/VOIPToasterItem.ui
)
set(VOIP_RESOURCES
gui/VOIP_images.qrc
lang/VOIP_lang.qrc
qss/VOIP_qss.qrc
)
# --- Translations (.ts -> .qm) ---
file(GLOB TS_FILES "lang/*.ts")
if(Qt5LinguistTools_FOUND)
qt5_add_translation(QM_FILES ${TS_FILES})
else()
find_program(LRELEASE_EXECUTABLE NAMES lrelease-qt5 lrelease)
foreach(ts_file ${TS_FILES})
get_filename_component(ts_name ${ts_file} NAME_WE)
set(qm_src_file "${CMAKE_CURRENT_SOURCE_DIR}/lang/${ts_name}.qm")
set(qm_bin_file "${CMAKE_CURRENT_BINARY_DIR}/${ts_name}.qm")
if(EXISTS ${qm_src_file})
list(APPEND QM_FILES ${qm_src_file})
elseif(LRELEASE_EXECUTABLE)
add_custom_command(
OUTPUT ${qm_bin_file}
COMMAND ${LRELEASE_EXECUTABLE} ${ts_file} -qm ${qm_bin_file}
DEPENDS ${ts_file}
VERBATIM
)
list(APPEND QM_FILES ${qm_bin_file})
endif()
endforeach()
endif()
# --- Target ---
add_library(VOIP MODULE
${VOIP_SOURCES}
${VOIP_FORMS}
${VOIP_RESOURCES}
${QM_FILES}
)
set_target_properties(VOIP PROPERTIES
PREFIX "lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins"
AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/gui"
)
# --- Links ---
if(WIN32)
target_link_libraries(VOIP PRIVATE retroshare)
endif()
target_link_libraries(VOIP PRIVATE
Qt5::Core
Qt5::Widgets
Qt5::Multimedia
Qt5::Xml
Qt5::Network
${AVCODEC_LIBRARIES}
${AVUTIL_LIBRARIES}
${SPEEX_LIBRARIES}
${SPEEXDSP_LIBRARIES}
)
if(RS_DEVELOPMENT_BUILD)
target_compile_options(VOIP PRIVATE "-g" "-O0")
endif()
# --- Includes ---
target_include_directories(VOIP PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/gui
${CMAKE_CURRENT_SOURCE_DIR}/services
${CMAKE_CURRENT_SOURCE_DIR}/interface
${CMAKE_SOURCE_DIR}/libretroshare/src
${CMAKE_SOURCE_DIR}/retroshare-gui/src
${CMAKE_SOURCE_DIR}/retroshare-gui/src/gui
${CMAKE_SOURCE_DIR}/supportlibs/rapidjson/include
${AVCODEC_INCLUDE_DIRS}
${AVUTIL_INCLUDE_DIRS}
${SPEEX_INCLUDE_DIRS}
${SPEEXDSP_INCLUDE_DIRS}
)
# --- Installation ---
install(TARGETS VOIP DESTINATION lib/retroshare/plugins)

View File

@ -0,0 +1,95 @@
# CMakeLists.txt for retroshare-friendserver
#
# SPDX-License-Identifier: AGPL-3.0-or-later
cmake_minimum_required (VERSION 3.18.0)
project(retroshare-friendserver)
include(CMakeDependentOption)
set(
RS_BIN_INSTALL_DIR
"${CMAKE_INSTALL_PREFIX}/bin"
CACHE PATH
"Path where to install retroshare-friendserver compiled binary" )
option(
RS_DEVELOPMENT_BUILD
"Disable optimization to speed up build, enable verbose build log"
OFF )
option(
RS_RNPLIB
"Enable use RNP lib for PGP"
ON )
find_package(ZLIB REQUIRED)
find_package(BZip2 REQUIRED)
find_package(Git REQUIRED)
if(RS_DEVELOPMENT_BUILD)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
endif(RS_DEVELOPMENT_BUILD)
# Sources
set(FRIENDSERVER_SOURCES
src/retroshare-friendserver.cc
src/friendserver.cc
src/network.cc
)
add_executable(${PROJECT_NAME} ${FRIENDSERVER_SOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
target_compile_options(${PROJECT_NAME} PRIVATE -Wno-deprecated-declarations)
# Find libretroshare
set(LIBRETROSHARE_DEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../libretroshare/")
if(EXISTS "${LIBRETROSHARE_DEVEL_DIR}/CMakeLists.txt" )
message(STATUS "libretroshare source found at ${LIBRETROSHARE_DEVEL_DIR} using it" )
add_subdirectory("${LIBRETROSHARE_DEVEL_DIR}" "${CMAKE_BINARY_DIR}/libretroshare" )
else()
include(FetchContent)
FetchContent_Declare(
libretroshare
GIT_REPOSITORY "https://github.com/RetroShare/libretroshare.git"
GIT_TAG "origin/master"
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
TIMEOUT 10
)
FetchContent_MakeAvailable(libretroshare)
endif()
# Include directories
target_include_directories(${PROJECT_NAME} PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/src"
)
# Link libraries
target_link_libraries(${PROJECT_NAME} PRIVATE retroshare)
if(RS_RNPLIB)
# Add RNP build directories to linker search path
target_link_directories(${PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_BINARY_DIR}/supportlibs/librnp/Build/src/lib
${CMAKE_CURRENT_BINARY_DIR}/supportlibs/librnp/Build/src/libsexpp
)
# Link libraries by name, including RNP libs and dependencies first
target_link_libraries(${PROJECT_NAME} PRIVATE
rnp # Link by name
sexpp
botan-2
json-c
bz2
z
retroshare
)
endif(RS_RNPLIB)
# Link only libretroshare, it should handle its own dependencies now
target_link_libraries(${PROJECT_NAME} PRIVATE retroshare)
install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR})

View File

@ -17,7 +17,7 @@
################################################################################
cmake_minimum_required (VERSION 3.18.0)
project(retroshare-gui VERSION 0.6.6 LANGUAGES CXX)
project(retroshare-gui VERSION 0.6.6 LANGUAGES CXX C)
include(CMakeDependentOption)
@ -33,10 +33,7 @@ option(
just for development purposes, not suitable for library usage"
ON )
option(
RS_JSON_API
"Use restbed to expose libretroshare as JSON API via HTTP"
OFF )
set(RS_JSON_API ON CACHE BOOL "Use restbed to expose libretroshare as JSON API via HTTP" FORCE)
option(
RS_SERVICE_DESKTOP
@ -53,6 +50,8 @@ option( RS_GXSCHANNELS "Enable GXS channels in GUI" ON )
option( RS_GXSFORUMS "Enable GXS forums in GUI" ON )
option( RS_GXSPOSTED "Enable GXS posted in GUI" ON )
option( RS_GXSCIRCLES "Enable GXS circles in GUI" ON )
set(RS_GXSIDENTITIES ON CACHE BOOL "Enable GXS identities in GUI" FORCE)
set(RS_IDLE ON CACHE BOOL "Enable Idle support" FORCE)
cmake_dependent_option(
RS_SERVICE_TERMINAL_WEBUI_PASSWORD
@ -70,30 +69,26 @@ cmake_dependent_option(
################################ QT FILES #######################################
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
find_package( Qt6 COMPONENTS Core REQUIRED)
find_package( Qt6 COMPONENTS Widgets REQUIRED)
find_package( Qt6 COMPONENTS Xml REQUIRED)
find_package( Qt6 COMPONENTS Network REQUIRED)
find_package( Qt6 COMPONENTS Multimedia REQUIRED)
find_package( Qt6 COMPONENTS PrintSupport REQUIRED)
find_package( Qt5 COMPONENTS Core REQUIRED)
find_package( Qt5 COMPONENTS Widgets REQUIRED)
find_package( Qt5 COMPONENTS Xml REQUIRED)
find_package( Qt5 COMPONENTS Network REQUIRED)
find_package( Qt5 COMPONENTS Multimedia REQUIRED)
find_package( Qt5 COMPONENTS PrintSupport REQUIRED)
if(UNIX AND NOT APPLE)
find_package( Qt5 COMPONENTS X11Extras REQUIRED )
endif()
list( APPEND RS_LINK_LIBRARIES Qt6::Multimedia Qt6::Widgets Qt6::Xml Qt6::Network Qt6::PrintSupport)
if (NOT Qt6_FOUND)
find_package( Qt5 COMPONENTS Core REQUIRED)
find_package( Qt5 COMPONENTS Widgets REQUIRED)
find_package( Qt5 COMPONENTS Xml REQUIRED)
find_package( Qt5 COMPONENTS Network REQUIRED)
find_package( Qt5 COMPONENTS Multimedia REQUIRED)
find_package( Qt5 COMPONENTS PrintSupport REQUIRED)
list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport)
list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport)
if(UNIX AND NOT APPLE)
list( APPEND RS_LINK_LIBRARIES Qt5::X11Extras )
endif()
################################################################################
@ -106,7 +101,7 @@ find_package(Git REQUIRED)
################################################################################
if(RS_DEVELOPMENT_BUILD)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
endif(RS_DEVELOPMENT_BUILD)
@ -114,12 +109,18 @@ endif(RS_DEVELOPMENT_BUILD)
include(src/CMakeLists.txt)
link_directories(
"${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/librnp/Build/src/lib"
"${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/librnp/Build/src/libsexpp"
)
qt_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
if (NOT Qt6_FOUND)
qt5_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
endif()
add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES})
add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_IMPLEMENTATION_HEADERS} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "retroshare")
install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR})
include_directories( ${CMAKE_BINARY_DIR} )
@ -201,6 +202,10 @@ if(RS_JSON_API)
target_compile_definitions(${PROJECT_NAME} PUBLIC RS_JSONAPI)
endif(RS_JSON_API)
if(RS_WEBUI)
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_WEBUI)
endif(RS_WEBUI)
################################# CMark ########################################
if(RS_GUI_CMARK)
@ -224,19 +229,18 @@ endif(RS_GUI_CMARK)
################################# LibSam v3 ####################################
set(SAM3_DEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/libsam3/")
if(EXISTS "${SAM3_DEVEL_DIR}/.git" )
message( STATUS "libsam3 submodule found at ${SAM3_DEVEL_DIR} using it" )
add_subdirectory( "${SAM3_DEVEL_DIR}" "${CMAKE_BINARY_DIR}/libsam3" )
if(EXISTS "${SAM3_DEVEL_DIR}" )
message( STATUS "libsam3 found at ${SAM3_DEVEL_DIR}, defining target sam3" )
add_library(sam3 STATIC
"${SAM3_DEVEL_DIR}/src/libsam3/libsam3.c"
"${SAM3_DEVEL_DIR}/src/libsam3a/libsam3a.c"
)
target_include_directories(sam3 PUBLIC
"${SAM3_DEVEL_DIR}/src/libsam3"
"${SAM3_DEVEL_DIR}/src/libsam3a"
)
else()
FetchContent_Declare(
libsam3
GIT_REPOSITORY "https://github.com/i2p/libsam3.git"
GIT_TAG "origin/master"
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
TIMEOUT 10
)
FetchContent_MakeAvailable(libsam3)
message( WARNING "libsam3 not found!" )
endif()
################################################################################
@ -305,7 +309,7 @@ if(UNIX)
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_XSS)
target_compile_definitions(${PROJECT_NAME} PRIVATE _FILE_OFFSET_BITS=64)
target_link_options(${PROJECT_NAME} PRIVATE LINKER:-rdynamic)
target_link_options(${PROJECT_NAME} PRIVATE -rdynamic)
endif(UNIX)
if(RS_SANITIZE)
@ -496,10 +500,12 @@ set( CMAKE_CXX_FLAGS "-Wno-deprecated-declarations" )
target_compile_definitions(${PROJECT_NAME} PUBLIC RS_NO_WARN_DEPRECATED )
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_RELEASE_VERSION )
target_compile_definitions(${PROJECT_NAME} PRIVATE TARGET=\"retroshare\")
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_DIRECT_CHAT)
if(RS_GXS_CIRCLES)
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_USE_CIRCLES )
endif(RS_GXS_CIRCLES)
#add_dependencies(${PROJECT_NAME} libretroshare)
target_link_libraries(${PROJECT_NAME} PRIVATE retroshare)
target_link_libraries(${PROJECT_NAME} PRIVATE -Wl,--no-as-needed z bz2 json-c botan-2 -Wl,--as-needed)

View File

@ -23,7 +23,7 @@ list(
src/main.cpp
src/rshare.cpp
src/gui/notifyqt.cpp
src/gui/RsGUIEventManager.cpp
src/gui/AboutDialog.cpp
src/gui/AboutWidget.cpp
src/gui/QuickStartWizard.cpp
@ -90,6 +90,7 @@ list(
src/util/RichTextEdit.cpp
src/util/ClickableLabel.cpp
src/util/AspectRatioPixmapLabel.cpp
src/util/FontSizeHandler.cpp
src/gui/profile/ProfileWidget.cpp
src/gui/profile/StatusMessage.cpp
@ -126,6 +127,7 @@ list(
src/gui/common/ElidedLabel.cpp
src/gui/common/vmessagebox.cpp
src/gui/common/RsCollectionDialog.cpp
src/gui/common/RsCollectionModel.cpp
src/gui/common/RsCollection.cpp
src/gui/common/RsUrlHandler.cpp
src/gui/common/rwindow.cpp
@ -265,6 +267,8 @@ list(
src/gui/statistics/StatisticsWindow.cpp
src/gui/statistics/BwCtrlWindow.cpp
src/gui/statistics/RttStatistics.cpp
src/gui/statistics/GxsNetTunnelsDialog.cpp
src/gui/statistics/TunnelStatisticsDialog.cpp
src/gui/statistics/BWGraph.cpp
src/util/RsSyntaxHighlighter.cpp
@ -396,6 +400,8 @@ list(
src/gui/statistics/StatisticsWindow.ui
src/gui/statistics/BwCtrlWindow.ui
src/gui/statistics/RttStatistics.ui
src/gui/statistics/GxsNetTunnelsDialog.ui
src/gui/statistics/TunnelStatisticsDialog.ui
src/util/RichTextEdit.ui
)
@ -405,11 +411,6 @@ list(
src/TorControl/TorControlWindow.h
src/chat/distantchat.h
src/chat/distributedchat.h
src/chat/p3chatservice.h
src/chat/rschatitems.h
src/rshare.h
src/retroshare-gui/configpage.h
src/retroshare-gui/RsAutoUpdatePage.h
@ -419,7 +420,7 @@ list(
src/control/eventtype.h
src/gui/QuickStartWizard.h
src/gui/notifyqt.h
src/gui/RsGUIEventManager.h
src/gui/GetStartedDialog.h
src/gui/StartDialog.h
src/gui/HomePage.h
@ -439,8 +440,6 @@ list(
src/gui/SearchTreeWidget.h
src/gui/ShareManager.h
src/gui/NewsFeed.h
src/gui/ShareDialog.h
src/gui/SFListDelegate.h
src/gui/SoundManager.h
src/gui/HelpDialog.h
src/gui/LogoBar.h
@ -476,6 +475,8 @@ list(
src/gui/statistics/BwCtrlWindow.h
src/gui/statistics/BWGraph.h
src/gui/statistics/RttStatistics.h
src/gui/statistics/GxsNetTunnelsDialog.h
src/gui/statistics/TunnelStatisticsDialog.h
src/gui/plugins/PluginInterface.h
@ -500,7 +501,6 @@ list(
src/util/dllexport.h
src/util/global.h
src/util/rsqtutildll.h
src/util/Interface.h
src/util/PixmapMerging.h
src/util/MouseEventFilter.h
src/util/EventFilter.h
@ -511,6 +511,7 @@ list(
src/util/log.h
src/util/misc.h
src/util/HandleRichText.h
src/util/FontSizeHandler.h
src/util/ObjectPainter.h
src/util/RsQtVersion.h
src/util/RsFile.h
@ -592,8 +593,8 @@ list(
src/gui/common/RSGraphWidget.h
src/gui/common/ElidedLabel.h
src/gui/common/vmessagebox.h
src/gui/common/RsUrlHandler.h
src/gui/common/RsCollectionDialog.h
src/gui/common/RsCollectionModel.h
src/gui/common/rwindow.h
src/gui/common/rshtml.h
src/gui/common/AvatarDefs.h
@ -714,8 +715,7 @@ if(RS_WEBUI)
list(
APPEND RS_IMPLEMENTATION_HEADERS
src/jsonapi/p3webui.h
src/gui/settings/WebuiPage.h
src/gui/settings/WebuiPage.h
)
list(
@ -1050,6 +1050,7 @@ if(RS_GXSIDENTITIES)
src/gui/Identity/IdDialog.h
src/gui/Identity/IdEditDialog.h
src/gui/Identity/IdDetailsDialog.h
src/gui/Identity/IdentityListModel.h
)
list(
@ -1064,6 +1065,7 @@ if(RS_GXSIDENTITIES)
src/gui/Identity/IdDialog.cpp
src/gui/Identity/IdEditDialog.cpp
src/gui/Identity/IdDetailsDialog.cpp
src/gui/Identity/IdentityListModel.cpp
)
endif(RS_GXSIDENTITIES)
@ -1113,8 +1115,8 @@ if(RS_GXSGUI)
src/gui/gxs/GxsGroupFrameDialog.h
src/gui/gxs/GxsMessageFrameWidget.h
src/gui/gxs/GxsMessageFramePostWidget.h
src/gui/gxs/GxsGroupFeedItem.h
src/gui/gxs/GxsFeedItem.h
src/gui/feeds/GxsGroupFeedItem.h
src/gui/feeds/GxsFeedItem.h
src/gui/gxs/GxsGroupShareKey.h
src/gui/gxs/GxsUserNotify.h
src/gui/gxs/GxsFeedWidget.h
@ -1150,8 +1152,8 @@ if(RS_GXSGUI)
src/gui/gxs/GxsGroupFrameDialog.cpp
src/gui/gxs/GxsMessageFrameWidget.cpp
src/gui/gxs/GxsMessageFramePostWidget.cpp
src/gui/gxs/GxsGroupFeedItem.cpp
src/gui/gxs/GxsFeedItem.cpp
src/gui/feeds/GxsGroupFeedItem.cpp
src/gui/feeds/GxsFeedItem.cpp
src/gui/gxs/GxsUserNotify.cpp
src/gui/gxs/GxsFeedWidget.cpp
src/util/TokenQueue.cpp
@ -1250,6 +1252,8 @@ if(RS_GXSPOSTED)
src/gui/Posted/PostedCreatePostDialog.h
src/gui/Posted/PhotoView.h
src/gui/Posted/PostedUserNotify.h
src/gui/feeds/BoardsPostItem.h
src/gui/Posted/BoardPostImageHelper.h
)
list(
@ -1262,6 +1266,7 @@ if(RS_GXSPOSTED)
src/gui/Posted/PostedCardView.ui
src/gui/Posted/PostedCreatePostDialog.ui
src/gui/Posted/PhotoView.ui
src/gui/feeds/BoardsPostItem.ui
)
list(
@ -1277,6 +1282,8 @@ if(RS_GXSPOSTED)
src/gui/Posted/PostedCreatePostDialog.cpp
src/gui/Posted/PhotoView.cpp
src/gui/Posted/PostedUserNotify.cpp
src/gui/feeds/BoardsPostItem.cpp
src/gui/Posted/BoardPostImageHelper.cpp
)
list(

View File

@ -101,7 +101,7 @@ void PhotoDialog::toggleComments()
RsGxsId current_author;
// create CommentDialog.
RsGxsCommentService *commentService = dynamic_cast<RsGxsCommentService *>(mRsPhoto);
GxsCommentDialog *commentDialog = new GxsCommentDialog(this,current_author, mRsPhoto->getTokenService(), commentService);
GxsCommentDialog *commentDialog = new GxsCommentDialog(this,current_author, commentService);
// TODO: Need to fetch all msg versions, otherwise - won't get all the comments.
// For the moment - use current msgid.

View File

@ -217,7 +217,8 @@ PluginManager::pluginWidget(QString pluginName)
QString em = tr("Error: no plugin with name '%1' found")
.arg(pluginName);
emit errorAppeared( em );
}
}
return 0;
}
//=============================================================================

View File

@ -20,6 +20,8 @@
#include "PluginManagerWidget.h"
#include "gui/settings/rsharesettings.h"
#include "util/misc.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
@ -160,9 +162,8 @@ PluginManagerWidget::registerNewPlugin(QString pluginName)
void
PluginManagerWidget::installPluginButtonClicked()
{
QString fileName = misc::getOpenFileName(this, RshareSettings::LASTDIR_PLUGIN, tr("Open Plugin to install"), "./", tr("Plugins (*.so *.dll)"));
if (!fileName.isNull())
QString fileName;
if (misc::getOpenFileName(this, RshareSettings::LASTDIR_PLUGIN, tr("Open Plugin to install"), tr("Plugins (*.so *.dll)"), fileName))
emit installPluginRequested(fileName);
}

View File

@ -42,6 +42,8 @@
#include "PluginsPage.h"
#include "PluginManager.h"
namespace gui {
//==============================================================================
PluginsPage::PluginsPage(QWidget *parent )
@ -95,5 +97,6 @@ PluginsPage::pluginRegistered(QString pluginName)
pluginTabs->addTab( pw , pluginName );
}
} // namespace gui
//==============================================================================

View File

@ -1,5 +1,7 @@
#pragma once
#include <QAbstractItemModel>
#include "RsCollection.h"
class RsCollectionModel: public QAbstractItemModel

View File

@ -19,7 +19,7 @@
*******************************************************************************/
#include "GxsFeedWidget.h"
#include "gui/gxs/GxsFeedItem.h"
#include "gui/feeds/GxsFeedItem.h"
#define PAIR(groupId,messageId) QPair<RsGxsGroupId, RsGxsMessageId>(groupId, messageId)

View File

@ -359,8 +359,7 @@ void GxsGroupDialog::setupDefaults()
#ifndef RS_USE_CIRCLES
ui.typeGroup->setEnabled(false);
ui.typeGroup_3->setEnabled(false);
ui.typeLocal_3->setEnabled(false);
ui.typeLocal->setEnabled(false);
#endif
}

View File

@ -144,7 +144,7 @@ if(RS_RNPLIB)
target_link_libraries(${PROJECT_NAME} PRIVATE
rnp # Link by name
sexpp
botan-3
botan-2
json-c
bz2
z