/* * Modern effects for a modern Streamer * Copyright (C) 2020 Michael Fabian Dirks * * 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 2 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #pragma once #include "common.hpp" #include "ui-common.hpp" #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable : 4251 4365 4371 4619 4946) #endif #include "ui_about.h" #ifdef _MSC_VER #pragma warning(pop) #endif namespace streamfx::ui { class about : public QDialog, public Ui::About { Q_OBJECT public: enum class role_type : int32_t { NONE, SPACER, THANKYOU, CONTRIBUTOR, TRANSLATOR, FAMILY, FRIEND, PATREON_SUPPORTER, GITHUB_SUPPORTER, TWITCH_SUPPORTER, CREATOR, }; enum class link_type : int32_t { NONE, GENERIC, // Social Links SOCIAL_TWITCH = 2000, SOCIAL_YOUTUBE, SOCIAL_DISCORD, SOCIAL_TWITTER, SOCIAL_FACEBOOK, }; struct entry { std::string name; ui::about::role_type role; std::string role_custom; ui::about::link_type link1_type; std::string link1_address; std::string link1_text; ui::about::link_type link2_type; std::string link2_address; std::string link2_text; }; public: about(); ~about(); public slots: ; // Not having this breaks some linters. void on_ok(); }; } // namespace streamfx::ui