mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
43c3885249
This refactors the undo-commands (which are now only "commands"). - Move everything in namespace Command. This allows shortening of names without polluting the global namespace. Moreover, the prefix Command:: will immediately signal that the undo-machinery is invoked. This is more terse than UndoCommands::instance()->... - Remove the Undo in front of the class-names. Creating an "UndoX" object to do "X" is paradoxical. - Create a base class for all commands that defines the Qt-translation functions. Thus all translations end up in the "Command" context. - Add a workToBeDone() function, which signals whether this should be added to the UndoStack. Thus the caller doesn't have to check itself whether this any work will be done. Note: Qt5.9 introduces "setObsolete" which does the same. - Split into public and internal header files. In the public header file only export the function calls, thus hiding all implementation details from the caller. - Split in different translation units: One for the stubs, one for the base classes and one for groups of commands. Currently, there is only one class of commands: divelist-commands. - Move the undoStack from the MainWindow class into commands_base.cpp. If we want to implement MDI, this can easily be moved into an appropriate Document class. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
141 lines
3.2 KiB
CMake
141 lines
3.2 KiB
CMake
# create the libraries
|
|
file(GLOB SUBSURFACE_UI *.ui)
|
|
qt5_wrap_ui(SUBSURFACE_UI_HDRS ${SUBSURFACE_UI})
|
|
source_group("Subsurface Interface Files" FILES ${SUBSURFACE_UI})
|
|
|
|
if(BTSUPPORT)
|
|
set(BT_SRC_FILES btdeviceselectiondialog.cpp)
|
|
endif()
|
|
|
|
if (FBSUPPORT)
|
|
add_definitions(-DFBSUPPORT)
|
|
endif()
|
|
|
|
|
|
include_directories(.
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_BINARY_DIR}
|
|
)
|
|
|
|
add_subdirectory(preferences)
|
|
if(NOT DISABLE_PLUGINS)
|
|
add_subdirectory(plugins)
|
|
endif()
|
|
|
|
set (SUBSURFACE_UI
|
|
about.ui
|
|
btdeviceselectiondialog.ui
|
|
configuredivecomputerdialog.ui
|
|
divecomponentselection.ui
|
|
divecomputermanagementdialog.ui
|
|
divelogexportdialog.ui
|
|
divelogimportdialog.ui
|
|
diveplanner.ui
|
|
diveshareexportdialog.ui
|
|
downloadfromdivecomputer.ui
|
|
filterwidget.ui
|
|
findmovedimagesdialog.ui
|
|
listfilter.ui
|
|
locationInformation.ui
|
|
mainwindow.ui
|
|
plannerDetails.ui
|
|
plannerSettings.ui
|
|
printoptions.ui
|
|
renumber.ui
|
|
searchbar.ui
|
|
setpoint.ui
|
|
shiftimagetimes.ui
|
|
shifttimes.ui
|
|
tableview.ui
|
|
templateedit.ui
|
|
urldialog.ui
|
|
usersurvey.ui
|
|
webservices.ui
|
|
tab-widgets/maintab.ui
|
|
tab-widgets/TabDiveStatistics.ui
|
|
tab-widgets/TabDiveInformation.ui
|
|
tab-widgets/TabDivePhotos.ui
|
|
tab-widgets/TabDiveExtraInfo.ui
|
|
)
|
|
|
|
# the interface, in C++
|
|
set(SUBSURFACE_INTERFACE
|
|
updatemanager.cpp
|
|
about.cpp
|
|
divecomputermanagementdialog.cpp
|
|
divelistview.cpp
|
|
diveplanner.cpp
|
|
diveshareexportdialog.cpp
|
|
downloadfromdivecomputer.cpp
|
|
findmovedimagesdialog.cpp
|
|
kmessagewidget.cpp
|
|
mainwindow.cpp
|
|
mapwidget.cpp
|
|
../map-widget/qmlmapwidgethelper.cpp
|
|
modeldelegates.cpp
|
|
notificationwidget.cpp
|
|
simplewidgets.cpp
|
|
starwidget.cpp
|
|
subsurfacewebservices.cpp
|
|
tableview.cpp
|
|
divelogimportdialog.cpp
|
|
tagwidget.cpp
|
|
groupedlineedit.cpp
|
|
divelogexportdialog.cpp
|
|
divepicturewidget.cpp
|
|
usersurvey.cpp
|
|
configuredivecomputerdialog.cpp
|
|
command.cpp
|
|
command_base.cpp
|
|
command_divelist.cpp
|
|
locationinformation.cpp
|
|
qtwaitingspinner.cpp
|
|
tab-widgets/TabDiveStatistics.cpp
|
|
tab-widgets/TabDiveInformation.cpp
|
|
tab-widgets/TabDivePhotos.cpp
|
|
tab-widgets/TabDiveExtraInfo.cpp
|
|
tab-widgets/maintab.cpp
|
|
tab-widgets/TabBase.cpp
|
|
)
|
|
|
|
if(NOT NO_USERMANUAL)
|
|
set(SUBSURFACE_INTERFACE ${SUBSURFACE_INTERFACE}
|
|
usermanual.cpp
|
|
)
|
|
endif()
|
|
|
|
if(NOT NO_PRINTING)
|
|
set(SUBSURFACE_INTERFACE ${SUBSURFACE_INTERFACE}
|
|
templateedit.cpp
|
|
printdialog.cpp
|
|
printoptions.cpp
|
|
printer.cpp
|
|
templatelayout.cpp
|
|
)
|
|
endif()
|
|
|
|
if (BTSUPPORT)
|
|
set(SUBSURFACE_INTERFACE ${SUBSURFACE_INTERFACE}
|
|
btdeviceselectiondialog.cpp
|
|
)
|
|
endif()
|
|
|
|
source_group("Subsurface Interface" FILES ${SUBSURFACE_INTERFACE})
|
|
|
|
# the yearly statistics widget.
|
|
set(SUBSURFACE_STATISTICS_LIB_SRCS
|
|
statistics/statisticswidget.cpp
|
|
statistics/yearstatistics.cpp
|
|
statistics/statisticsbar.cpp
|
|
statistics/monthstatistics.cpp
|
|
)
|
|
source_group("Subsurface Statistics" FILES ${SUBSURFACE_STATISTICS_LIB_SRCS})
|
|
|
|
qt5_wrap_ui(SUBSURFACE_UI_SRCS ${SUBSURFACE_UI})
|
|
|
|
add_library(subsurface_statistics STATIC ${SUBSURFACE_STATISTICS_LIB_SRCS})
|
|
target_link_libraries(subsurface_statistics ${QT_LIBRARIES})
|
|
add_library(subsurface_generated_ui STATIC ${SUBSURFACE_UI_HDRS})
|
|
target_link_libraries(subsurface_generated_ui ${QT_LIBRARIES})
|
|
add_library(subsurface_interface STATIC ${SUBSURFACE_INTERFACE} ${SUBSURFACE_UI_SRCS})
|
|
target_link_libraries(subsurface_interface ${QT_LIBRARIES} ${GRANTLEE_LIBRARIES} subsurface_desktop_preferences)
|