From 5d7bfc6a496d627e007b6df5cc8ec2ccdf8550bb Mon Sep 17 00:00:00 2001 From: Digital Artifex <7929434+DigitalArtifex@users.noreply.github.com> Date: Tue, 9 Jun 2026 00:25:17 -0400 Subject: [PATCH] Added individual paginators for API endpoints --- .../paginators/featuredcubemapspaginator.h | 45 +++++++++++++++++++ .../paginators/featuredimagespaginator.h | 45 +++++++++++++++++++ .../paginators/featuredpackspaginator.h | 45 +++++++++++++++++++ .../paginators/featuredshaderspaginator.h | 45 +++++++++++++++++++ .../paginators/newestcubemapspaginator.h | 45 +++++++++++++++++++ .../paginators/newestshaderspaginator.h | 45 +++++++++++++++++++ .../paginators/searchcubemapspaginator.h | 45 +++++++++++++++++++ .../paginators/searchimagespaginator.h | 45 +++++++++++++++++++ .../paginators/searchpackspaginator.h | 45 +++++++++++++++++++ .../paginators/searchshaderspaginator.h | 45 +++++++++++++++++++ .../paginators/searchvideospaginator.h | 45 +++++++++++++++++++ 11 files changed, 495 insertions(+) create mode 100644 KomplexHubPlugin/paginators/featuredcubemapspaginator.h create mode 100644 KomplexHubPlugin/paginators/featuredimagespaginator.h create mode 100644 KomplexHubPlugin/paginators/featuredpackspaginator.h create mode 100644 KomplexHubPlugin/paginators/featuredshaderspaginator.h create mode 100644 KomplexHubPlugin/paginators/newestcubemapspaginator.h create mode 100644 KomplexHubPlugin/paginators/newestshaderspaginator.h create mode 100644 KomplexHubPlugin/paginators/searchcubemapspaginator.h create mode 100644 KomplexHubPlugin/paginators/searchimagespaginator.h create mode 100644 KomplexHubPlugin/paginators/searchpackspaginator.h create mode 100644 KomplexHubPlugin/paginators/searchshaderspaginator.h create mode 100644 KomplexHubPlugin/paginators/searchvideospaginator.h diff --git a/KomplexHubPlugin/paginators/featuredcubemapspaginator.h b/KomplexHubPlugin/paginators/featuredcubemapspaginator.h new file mode 100644 index 0000000..ac63a74 --- /dev/null +++ b/KomplexHubPlugin/paginators/featuredcubemapspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef FEATUREDCUBEMAPSPAGINATOR_H +#define FEATUREDCUBEMAPSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT FeaturedCubemapsPaginator : public WallpaperPaginator +{ +public: + explicit FeaturedCubemapsPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/cubemaps/featured/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // FEATUREDCUBEMAPSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/featuredimagespaginator.h b/KomplexHubPlugin/paginators/featuredimagespaginator.h new file mode 100644 index 0000000..2b75547 --- /dev/null +++ b/KomplexHubPlugin/paginators/featuredimagespaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef FEATUREDIMAGESPAGINATOR_H +#define FEATUREDIMAGESPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT FeaturedImagesPaginator : public WallpaperPaginator +{ +public: + explicit FeaturedImagesPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/images/featured/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // FEATUREDIMAGESPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/featuredpackspaginator.h b/KomplexHubPlugin/paginators/featuredpackspaginator.h new file mode 100644 index 0000000..989666f --- /dev/null +++ b/KomplexHubPlugin/paginators/featuredpackspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef FEATUREDPACKSPAGINATOR_H +#define FEATUREDPACKSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT FeaturedPacksPaginator : public WallpaperPaginator +{ +public: + explicit FeaturedPacksPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/packs/featured/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // FEATUREDPACKSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/featuredshaderspaginator.h b/KomplexHubPlugin/paginators/featuredshaderspaginator.h new file mode 100644 index 0000000..c2eabcc --- /dev/null +++ b/KomplexHubPlugin/paginators/featuredshaderspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef FEATUREDSHADERSPAGINATOR_H +#define FEATUREDSHADERSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT FeaturedShadersPaginator : public WallpaperPaginator +{ +public: + explicit FeaturedShadersPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/shaders/featured/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // FEATUREDSHADERSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/newestcubemapspaginator.h b/KomplexHubPlugin/paginators/newestcubemapspaginator.h new file mode 100644 index 0000000..beadba8 --- /dev/null +++ b/KomplexHubPlugin/paginators/newestcubemapspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef NEWESTCUBEMAPSPAGINATOR_H +#define NEWESTCUBEMAPSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT NewestCubemapsPaginator : public WallpaperPaginator +{ +public: + explicit NewestCubemapsPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/cubemaps/newest/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // NEWESTCUBEMAPSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/newestshaderspaginator.h b/KomplexHubPlugin/paginators/newestshaderspaginator.h new file mode 100644 index 0000000..15d4caa --- /dev/null +++ b/KomplexHubPlugin/paginators/newestshaderspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef NEWESTSHADERSPAGINATOR_H +#define NEWESTSHADERSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT NewestShadersPaginator : public WallpaperPaginator +{ +public: + explicit NewestShadersPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/shaders/newest/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // NEWESTSHADERSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/searchcubemapspaginator.h b/KomplexHubPlugin/paginators/searchcubemapspaginator.h new file mode 100644 index 0000000..5bd6afb --- /dev/null +++ b/KomplexHubPlugin/paginators/searchcubemapspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef SEARCHCUBEMAPSPAGINATOR_H +#define SEARCHCUBEMAPSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT SearchCubemapsPaginator : public WallpaperPaginator +{ +public: + explicit SearchCubemapsPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/cubemaps/search/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // SEARCHCUBEMAPSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/searchimagespaginator.h b/KomplexHubPlugin/paginators/searchimagespaginator.h new file mode 100644 index 0000000..fd2558c --- /dev/null +++ b/KomplexHubPlugin/paginators/searchimagespaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef SEARCHIMAGESPAGINATOR_H +#define SEARCHIMAGESPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT SearchImagesPaginator : public WallpaperPaginator +{ +public: + explicit SearchImagesPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/images/search/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // SEARCHIMAGESPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/searchpackspaginator.h b/KomplexHubPlugin/paginators/searchpackspaginator.h new file mode 100644 index 0000000..8705289 --- /dev/null +++ b/KomplexHubPlugin/paginators/searchpackspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef SEARCHPACKSPAGINATOR_H +#define SEARCHPACKSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT SearchPacksPaginator : public WallpaperPaginator +{ +public: + explicit SearchPacksPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/packs/search/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // SEARCHPACKSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/searchshaderspaginator.h b/KomplexHubPlugin/paginators/searchshaderspaginator.h new file mode 100644 index 0000000..c57e174 --- /dev/null +++ b/KomplexHubPlugin/paginators/searchshaderspaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef SEARCHSHADERSPAGINATOR_H +#define SEARCHSHADERSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT SearchShadersPaginator : public WallpaperPaginator +{ +public: + explicit SearchShadersPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/shaders/search/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // SEARCHSHADERSPAGINATOR_H diff --git a/KomplexHubPlugin/paginators/searchvideospaginator.h b/KomplexHubPlugin/paginators/searchvideospaginator.h new file mode 100644 index 0000000..5fca450 --- /dev/null +++ b/KomplexHubPlugin/paginators/searchvideospaginator.h @@ -0,0 +1,45 @@ +/* + * Komplex Wallpaper Engine + * Copyright (C) 2026 @DigitalArtifex + * https://digitalartifex.dev - https://github.com/DigitalArtifex + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ +#ifndef SEARCHVIDEOSPAGINATOR_H +#define SEARCHVIDEOSPAGINATOR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wallpaperpaginator.h" + +class KOMPLEX_EXPORT SearchVideosPaginator : public WallpaperPaginator +{ +public: + explicit SearchVideosPaginator() : WallpaperPaginator() + { + setUri( + QString::fromUtf8("%1/v2/videos/search/").arg(KOMPLEX_API_HOST) + ); + } +}; + +#endif // SEARCHVIDEOSPAGINATOR_H