diff --git a/CMakeLists.txt b/CMakeLists.txt index 5039b8b48..b3eda4429 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -337,6 +337,7 @@ add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_settings ${CMAKE_BINARY_DIR}/ add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_card ${CMAKE_BINARY_DIR}/libcockatrice_card) add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_utility ${CMAKE_BINARY_DIR}/libcockatrice_utility) add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_models ${CMAKE_BINARY_DIR}/libcockatrice_models) +add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_filters ${CMAKE_BINARY_DIR}/libcockatrice_filters) if(WITH_SERVER) add_subdirectory(servatrice) set(CPACK_INSTALL_CMAKE_PROJECTS "Servatrice;Servatrice;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS}) diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index 665a44d17..3ba24b31e 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -46,9 +46,6 @@ set(cockatrice_SOURCES src/interface/widgets/dialogs/tip_of_the_day.cpp src/filters/deck_filter_string.cpp src/filters/filter_builder.cpp - src/filters/filter_card.cpp - src/filters/filter_string.cpp - src/filters/filter_tree.cpp src/filters/filter_tree_model.cpp src/filters/syntax_help.cpp src/game/abstract_game.cpp @@ -364,6 +361,7 @@ if(Qt5_FOUND) cockatrice libcockatrice_card libcockatrice_deck_list + libcockatrice_filters libcockatrice_utility libcockatrice_network libcockatrice_models @@ -376,6 +374,7 @@ else() cockatrice PUBLIC libcockatrice_card libcockatrice_deck_list + libcockatrice_filters libcockatrice_utility libcockatrice_network libcockatrice_models diff --git a/cockatrice/src/filters/deck_filter_string.cpp b/cockatrice/src/filters/deck_filter_string.cpp index ad0cdc336..351f34796 100644 --- a/cockatrice/src/filters/deck_filter_string.cpp +++ b/cockatrice/src/filters/deck_filter_string.cpp @@ -1,8 +1,7 @@ #include "deck_filter_string.h" -#include "filter_string.h" - #include +#include #include static peg::parser search(R"( diff --git a/cockatrice/src/filters/filter_builder.cpp b/cockatrice/src/filters/filter_builder.cpp index 8f91bcca7..7178ce95a 100644 --- a/cockatrice/src/filters/filter_builder.cpp +++ b/cockatrice/src/filters/filter_builder.cpp @@ -1,11 +1,11 @@ #include "filter_builder.h" #include "../interface/widgets/utility/custom_line_edit.h" -#include "filter_card.h" #include #include #include +#include FilterBuilder::FilterBuilder(QWidget *parent) : QWidget(parent) { diff --git a/cockatrice/src/filters/filter_tree_model.cpp b/cockatrice/src/filters/filter_tree_model.cpp index c4ce3aa35..f0a02ec79 100644 --- a/cockatrice/src/filters/filter_tree_model.cpp +++ b/cockatrice/src/filters/filter_tree_model.cpp @@ -1,9 +1,8 @@ #include "filter_tree_model.h" -#include "filter_card.h" -#include "filter_tree.h" - #include +#include +#include FilterTreeModel::FilterTreeModel(QObject *parent) : QAbstractItemModel(parent) { diff --git a/cockatrice/src/filters/filter_tree_model.h b/cockatrice/src/filters/filter_tree_model.h index 9e407f748..ce6eb85fc 100644 --- a/cockatrice/src/filters/filter_tree_model.h +++ b/cockatrice/src/filters/filter_tree_model.h @@ -7,9 +7,8 @@ #ifndef FILTERTREEMODEL_H #define FILTERTREEMODEL_H -#include "filter_card.h" - #include +#include class FilterTree; class CardFilter; diff --git a/cockatrice/src/game/dialogs/dlg_move_top_cards_until.cpp b/cockatrice/src/game/dialogs/dlg_move_top_cards_until.cpp index 3ea164f1e..a9db4cef6 100644 --- a/cockatrice/src/game/dialogs/dlg_move_top_cards_until.cpp +++ b/cockatrice/src/game/dialogs/dlg_move_top_cards_until.cpp @@ -1,7 +1,5 @@ #include "dlg_move_top_cards_until.h" -#include "../../filters/filter_string.h" - #include #include #include @@ -12,6 +10,7 @@ #include #include #include +#include DlgMoveTopCardsUntil::DlgMoveTopCardsUntil(QWidget *parent, QStringList exprs, uint _numberOfHits, bool autoPlay) : QDialog(parent) diff --git a/cockatrice/src/game/player/player.h b/cockatrice/src/game/player/player.h index eb62437fa..23d5f9841 100644 --- a/cockatrice/src/game/player/player.h +++ b/cockatrice/src/game/player/player.h @@ -7,7 +7,6 @@ #ifndef PLAYER_H #define PLAYER_H -#include "../../filters/filter_string.h" #include "../../interface/widgets/menus/tearoff_menu.h" #include "../board/abstract_graphics_item.h" #include "../dialogs/dlg_create_token.h" @@ -24,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/cockatrice/src/game/player/player_actions.h b/cockatrice/src/game/player/player_actions.h index aba3726e8..2317d0b92 100644 --- a/cockatrice/src/game/player/player_actions.h +++ b/cockatrice/src/game/player/player_actions.h @@ -13,6 +13,7 @@ #include #include #include +#include #include namespace google diff --git a/cockatrice/src/game/zones/view_zone.h b/cockatrice/src/game/zones/view_zone.h index 06c1e77fb..2ebb65cf0 100644 --- a/cockatrice/src/game/zones/view_zone.h +++ b/cockatrice/src/game/zones/view_zone.h @@ -7,12 +7,12 @@ #ifndef ZONEVIEWERZONE_H #define ZONEVIEWERZONE_H -#include "../../filters/filter_string.h" #include "logic/view_zone_logic.h" #include "select_zone.h" #include #include +#include #include inline Q_LOGGING_CATEGORY(ViewZoneLog, "view_zone"); diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp index e8eb97125..d4947d6c5 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp @@ -1,10 +1,10 @@ #include "visual_database_display_color_filter_widget.h" -#include "../../../filters/filter_tree.h" #include "../cards/additional_info/mana_symbol_widget.h" #include #include +#include /** * This widget provides a graphical control element for the CardFilter::Attr::AttrColor filters applied to the filter diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp index 6a85dfcb1..062774969 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp @@ -1,13 +1,13 @@ #include "visual_database_display_filter_save_load_widget.h" #include "../../../client/settings/cache_settings.h" -#include "../../../filters/filter_tree.h" #include "visual_database_filter_display_widget.h" #include #include #include #include +#include VisualDatabaseDisplayFilterSaveLoadWidget::VisualDatabaseDisplayFilterSaveLoadWidget(QWidget *parent, FilterTreeModel *_filterModel) diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_main_type_filter_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_main_type_filter_widget.cpp index 8ffb29eca..32652c346 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_main_type_filter_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_main_type_filter_widget.cpp @@ -1,12 +1,12 @@ #include "visual_database_display_main_type_filter_widget.h" -#include "../../../filters/filter_tree.h" #include "../../../filters/filter_tree_model.h" #include #include #include #include +#include VisualDatabaseDisplayMainTypeFilterWidget::VisualDatabaseDisplayMainTypeFilterWidget(QWidget *parent, FilterTreeModel *_filterModel) diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp index 06844121e..1ea6e8e67 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_set_filter_widget.cpp @@ -1,7 +1,6 @@ #include "visual_database_display_set_filter_widget.h" #include "../../../client/settings/cache_settings.h" -#include "../../../filters/filter_tree.h" #include "../../../filters/filter_tree_model.h" #include @@ -9,6 +8,7 @@ #include #include #include +#include VisualDatabaseDisplayRecentSetFilterSettingsWidget::VisualDatabaseDisplayRecentSetFilterSettingsWidget(QWidget *parent) : QWidget(parent) diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_sub_type_filter_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_sub_type_filter_widget.cpp index ece3fca3b..7a88b51cf 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_sub_type_filter_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_sub_type_filter_widget.cpp @@ -1,6 +1,5 @@ #include "visual_database_display_sub_type_filter_widget.h" -#include "../../../filters/filter_tree.h" #include "../../../filters/filter_tree_model.h" #include @@ -8,6 +7,7 @@ #include #include #include +#include VisualDatabaseDisplaySubTypeFilterWidget::VisualDatabaseDisplaySubTypeFilterWidget(QWidget *parent, FilterTreeModel *_filterModel) diff --git a/libcockatrice_filters/CMakeLists.txt b/libcockatrice_filters/CMakeLists.txt new file mode 100644 index 000000000..74566ca05 --- /dev/null +++ b/libcockatrice_filters/CMakeLists.txt @@ -0,0 +1,24 @@ +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) + +set(HEADERS libcockatrice/filters/filter_card.h libcockatrice/filters/filter_string.h + libcockatrice/filters/filter_tree.h +) + +if(Qt6_FOUND) + qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) +elseif(Qt5_FOUND) + qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) +endif() + +add_library( + libcockatrice_filters STATIC ${MOC_SOURCES} libcockatrice/filters/filter_card.cpp + libcockatrice/filters/filter_string.cpp libcockatrice/filters/filter_tree.cpp +) + +add_dependencies(libcockatrice_filters libcockatrice_card) + +target_include_directories(libcockatrice_filters PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +target_link_libraries(libcockatrice_filters PUBLIC libcockatrice_card ${QT_CORE_MODULE}) diff --git a/cockatrice/src/filters/filter_card.cpp b/libcockatrice_filters/libcockatrice/filters/filter_card.cpp similarity index 100% rename from cockatrice/src/filters/filter_card.cpp rename to libcockatrice_filters/libcockatrice/filters/filter_card.cpp diff --git a/cockatrice/src/filters/filter_card.h b/libcockatrice_filters/libcockatrice/filters/filter_card.h similarity index 100% rename from cockatrice/src/filters/filter_card.h rename to libcockatrice_filters/libcockatrice/filters/filter_card.h diff --git a/cockatrice/src/filters/filter_string.cpp b/libcockatrice_filters/libcockatrice/filters/filter_string.cpp similarity index 100% rename from cockatrice/src/filters/filter_string.cpp rename to libcockatrice_filters/libcockatrice/filters/filter_string.cpp diff --git a/cockatrice/src/filters/filter_string.h b/libcockatrice_filters/libcockatrice/filters/filter_string.h similarity index 100% rename from cockatrice/src/filters/filter_string.h rename to libcockatrice_filters/libcockatrice/filters/filter_string.h diff --git a/cockatrice/src/filters/filter_tree.cpp b/libcockatrice_filters/libcockatrice/filters/filter_tree.cpp similarity index 100% rename from cockatrice/src/filters/filter_tree.cpp rename to libcockatrice_filters/libcockatrice/filters/filter_tree.cpp diff --git a/cockatrice/src/filters/filter_tree.h b/libcockatrice_filters/libcockatrice/filters/filter_tree.h similarity index 100% rename from cockatrice/src/filters/filter_tree.h rename to libcockatrice_filters/libcockatrice/filters/filter_tree.h diff --git a/libcockatrice_models/CMakeLists.txt b/libcockatrice_models/CMakeLists.txt index a9fc34bfd..7af35b2d5 100644 --- a/libcockatrice_models/CMakeLists.txt +++ b/libcockatrice_models/CMakeLists.txt @@ -2,40 +2,11 @@ set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) -set(HEADERS - libcockatrice/models/database/card_database_model.h - libcockatrice/models/database/card_database_display_model.h - libcockatrice/models/database/card/card_completer_proxy_model.h - libcockatrice/models/database/card/card_search_model.h - libcockatrice/models/database/card_set/card_sets_model.h - libcockatrice/models/database/token/token_display_model.h - libcockatrice/models/database/token/token_edit_model.h - libcockatrice/models/deck_list/deck_list_model.h - libcockatrice/models/deck_list/deck_list_sort_filter_proxy_model.h - libcockatrice/models/deck_list/deck_loader.h -) +add_subdirectory(libcockatrice/models/database) +add_subdirectory(libcockatrice/models/deck_list) -if(Qt6_FOUND) - qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) -endif() +add_library(libcockatrice_models INTERFACE) -add_library( - libcockatrice_models STATIC - ${MOC_SOURCES} - libcockatrice/models/database/card_database_model.cpp - libcockatrice/models/database/card_database_display_model.cpp - libcockatrice/models/database/card/card_completer_proxy_model.cpp - libcockatrice/models/database/card/card_search_model.cpp - libcockatrice/models/database/card_set/card_sets_model.cpp - libcockatrice/models/database/token/token_display_model.cpp - libcockatrice/models/database/token/token_edit_model.cpp - libcockatrice/models/deck_list/deck_list_model.cpp - libcockatrice/models/deck_list/deck_list_sort_filter_proxy_model.cpp - libcockatrice/models/deck_list/deck_loader.cpp -) +target_include_directories(libcockatrice_models INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) -target_include_directories(libcockatrice_models PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) - -target_link_libraries(libcockatrice_models PUBLIC libcockatrice_card libcockatrice_deck_list ${COCKATRICE_QT_MODULES}) +target_link_libraries(libcockatrice_models INTERFACE libcockatrice_models_database libcockatrice_models_deck_list) diff --git a/libcockatrice_models/libcockatrice/models/database/CMakeLists.txt b/libcockatrice_models/libcockatrice/models/database/CMakeLists.txt new file mode 100644 index 000000000..dd290fd1d --- /dev/null +++ b/libcockatrice_models/libcockatrice/models/database/CMakeLists.txt @@ -0,0 +1,37 @@ +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) + +set(HEADERS + card_database_model.h + card_database_display_model.h + card/card_completer_proxy_model.h + card/card_search_model.h + card_set/card_sets_model.h + token/token_display_model.h + token/token_edit_model.h +) + +if(Qt6_FOUND) + qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) +elseif(Qt5_FOUND) + qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) +endif() + +add_library( + libcockatrice_models_database STATIC + ${MOC_SOURCES} + card_database_model.cpp + card_database_display_model.cpp + card/card_completer_proxy_model.cpp + card/card_search_model.cpp + card_set/card_sets_model.cpp + token/token_display_model.cpp + token/token_edit_model.cpp +) + +target_include_directories(libcockatrice_models_database PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +target_link_libraries( + libcockatrice_models_database PUBLIC libcockatrice_card libcockatrice_filters ${COCKATRICE_QT_MODULES} +) diff --git a/libcockatrice_models/libcockatrice/models/database/card_database_display_model.h b/libcockatrice_models/libcockatrice/models/database/card_database_display_model.h index a1e949eba..467b7f0a5 100644 --- a/libcockatrice_models/libcockatrice/models/database/card_database_display_model.h +++ b/libcockatrice_models/libcockatrice/models/database/card_database_display_model.h @@ -8,12 +8,11 @@ #ifndef COCKATRICE_CARD_DATABASE_DISPLAY_MODEL_H #define COCKATRICE_CARD_DATABASE_DISPLAY_MODEL_H -#include "filter_string.h" - #include #include #include #include +#include class FilterTree; class CardDatabaseDisplayModel : public QSortFilterProxyModel diff --git a/libcockatrice_models/libcockatrice/models/deck_list/CMakeLists.txt b/libcockatrice_models/libcockatrice/models/deck_list/CMakeLists.txt new file mode 100644 index 000000000..cadc98cde --- /dev/null +++ b/libcockatrice_models/libcockatrice/models/deck_list/CMakeLists.txt @@ -0,0 +1,22 @@ +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) + +set(HEADERS deck_list_model.h deck_list_sort_filter_proxy_model.h deck_loader.h) + +if(Qt6_FOUND) + qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) +elseif(Qt5_FOUND) + qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) +endif() + +add_library( + libcockatrice_models_deck_list STATIC ${MOC_SOURCES} deck_list_model.cpp deck_list_sort_filter_proxy_model.cpp + deck_loader.cpp +) + +target_include_directories(libcockatrice_models_deck_list PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +target_link_libraries( + libcockatrice_models_deck_list PUBLIC libcockatrice_card libcockatrice_deck_list ${COCKATRICE_QT_MODULES} +) diff --git a/tests/carddatabase/CMakeLists.txt b/tests/carddatabase/CMakeLists.txt index 35b18a061..4eeffc363 100644 --- a/tests/carddatabase/CMakeLists.txt +++ b/tests/carddatabase/CMakeLists.txt @@ -31,20 +31,11 @@ add_test(NAME carddatabase_test COMMAND carddatabase_test) # ------------------------ # Filter String Test # ------------------------ -add_executable( - filter_string_test - ${MOCKS_SOURCES} - ${VERSION_STRING_CPP} - ../../cockatrice/src/filters/filter_card.cpp - ../../cockatrice/src/filters/filter_string.cpp - ../../cockatrice/src/filters/filter_tree.cpp - filter_string_test.cpp - mocks.cpp -) +add_executable(filter_string_test ${MOCKS_SOURCES} ${VERSION_STRING_CPP} filter_string_test.cpp mocks.cpp) target_link_libraries( filter_string_test - PRIVATE libcockatrice_card + PRIVATE libcockatrice_filters PRIVATE Threads::Threads PRIVATE ${GTEST_BOTH_LIBRARIES} PRIVATE ${TEST_QT_MODULES} diff --git a/tests/carddatabase/filter_string_test.cpp b/tests/carddatabase/filter_string_test.cpp index ed81109b0..c3e8c6fb7 100644 --- a/tests/carddatabase/filter_string_test.cpp +++ b/tests/carddatabase/filter_string_test.cpp @@ -1,8 +1,8 @@ -#include "../../cockatrice/src/filters/filter_string.h" #include "mocks.h" #include "test_card_database_path_provider.h" #include "gtest/gtest.h" +#include #include #include