mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
This is the first of a set of commits that are (very) similar. It appeared that a number of more or less static lists, which are constructed by a loop over all dives in the logbook, were executed when changing focus to a next dive. For example, the in this commit addressed list of used dive suits. What was wrong was that the suitList was linked to a dive. There is only a need to construct the list of used suits when data is changed (and obviously, once on startup of the app). Further, it appeared that a lot of code was duplicated and that we can use (in this case) the same code from the desktop completionmodels.cpp. Basically, this commit involves the following changes: - include completionmodels.cpp in mobile and desktop (so move it from the desktop only category to the generic category). - remove double code from DiveObjectHelper.cpp - Do not differentiate in the init phase and the normal refresh of the list - the per dive logic is now only the getting of a previously constructed list (in init or update of the divelist). There are no visible changes in the UI, other than a better performance when scrolling over dive details. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
47 lines
1.3 KiB
CMake
47 lines
1.3 KiB
CMake
# the data models that will interface
|
|
# with the views.
|
|
|
|
# models used both mobile and desktop builds
|
|
set(SUBSURFACE_GENERIC_MODELS_LIB_SRCS
|
|
diveplotdatamodel.cpp
|
|
diveimportedmodel.cpp
|
|
completionmodels.cpp
|
|
)
|
|
|
|
# models exclusively used in desktop builds
|
|
set(SUBSURFACE_DESKTOP_MODELS_LIB_SRCS
|
|
divepicturemodel.cpp
|
|
cleanertablemodel.cpp
|
|
models.cpp
|
|
tankinfomodel.cpp
|
|
treemodel.cpp
|
|
maplocationmodel.cpp
|
|
cylindermodel.cpp
|
|
yearlystatisticsmodel.cpp
|
|
weigthsysteminfomodel.cpp
|
|
weightmodel.cpp
|
|
filtermodels.cpp
|
|
divecomputermodel.cpp
|
|
divetripmodel.cpp
|
|
diveplannermodel.cpp
|
|
divecomputerextradatamodel.cpp
|
|
divelocationmodel.cpp
|
|
ssrfsortfilterproxymodel.cpp
|
|
)
|
|
|
|
# models exclusively used in mobile builds
|
|
set(SUBSURFACE_MOBILE_MODELS_LIB_SRCS
|
|
divelistmodel.cpp
|
|
messagehandlermodel.cpp
|
|
gpslistmodel.cpp
|
|
)
|
|
|
|
if(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "DesktopExecutable")
|
|
add_library(subsurface_models_desktop STATIC ${SUBSURFACE_GENERIC_MODELS_LIB_SRCS}
|
|
${SUBSURFACE_DESKTOP_MODELS_LIB_SRCS})
|
|
target_link_libraries(subsurface_models_desktop ${QT_LIBRARIES})
|
|
elseif(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "MobileExecutable")
|
|
add_library(subsurface_models_mobile STATIC ${SUBSURFACE_GENERIC_MODELS_LIB_SRCS}
|
|
${SUBSURFACE_MOBILE_MODELS_LIB_SRCS})
|
|
target_link_libraries(subsurface_models_mobile ${QT_LIBRARIES})
|
|
endif()
|