Split filters into libraries where applicable. (#6293)

* Split filters into libraries where applicable.

Took 23 minutes

Took 2 minutes

* Include filter string.

Took 5 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2025-11-09 12:19:27 +01:00 committed by GitHub
parent 484e8e64a6
commit 9f2ac78609
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 109 additions and 68 deletions

View file

@ -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)

View file

@ -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}
)

View file

@ -8,12 +8,11 @@
#ifndef COCKATRICE_CARD_DATABASE_DISPLAY_MODEL_H
#define COCKATRICE_CARD_DATABASE_DISPLAY_MODEL_H
#include "filter_string.h"
#include <QList>
#include <QSet>
#include <QSortFilterProxyModel>
#include <QTimer>
#include <libcockatrice/filters/filter_string.h>
class FilterTree;
class CardDatabaseDisplayModel : public QSortFilterProxyModel

View file

@ -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}
)