From 86bb01ba9eac879d3685c439ac9da0028bc4bc80 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Tue, 17 May 2022 11:37:19 +0200 Subject: Convert everything to CRLF. --- src/executableslist.h | 456 +++++++++++++++++++++++++------------------------- 1 file changed, 228 insertions(+), 228 deletions(-) (limited to 'src/executableslist.h') diff --git a/src/executableslist.h b/src/executableslist.h index 97d39500..b8016c72 100644 --- a/src/executableslist.h +++ b/src/executableslist.h @@ -1,228 +1,228 @@ -/* -Copyright (C) 2012 Sebastian Herbord. All rights reserved. - -This file is part of Mod Organizer. - -Mod Organizer 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. - -Mod Organizer 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 Mod Organizer. If not, see . -*/ - -#ifndef EXECUTABLESLIST_H -#define EXECUTABLESLIST_H - -#include "executableinfo.h" - -#include -#include - -#include -#include - -namespace MOBase { class IPluginGame; class ExecutableInfo; } -class Settings; - -/*! - * @brief Information about an executable - **/ -class Executable -{ -public: - enum Flag - { - ShowInToolbar = 0x02, - UseApplicationIcon = 0x04, - Hide = 0x08 - }; - - Q_DECLARE_FLAGS(Flags, Flag); - - Executable(QString title={}); - - /** - * @brief Executable from plugin - */ - Executable(const MOBase::ExecutableInfo& info, Flags flags); - - const QString& title() const; - const QFileInfo& binaryInfo() const; - const QString& arguments() const; - const QString& steamAppID() const; - const QString& workingDirectory() const; - Flags flags() const; - - Executable& title(const QString& s); - Executable& binaryInfo(const QFileInfo& fi); - Executable& arguments(const QString& s); - Executable& steamAppID(const QString& s); - Executable& workingDirectory(const QString& s); - Executable& flags(Flags f); - - bool isShownOnToolbar() const; - void setShownOnToolbar(bool state); - bool usesOwnIcon() const; - bool hide() const; - - void mergeFrom(const Executable& other); - -private: - QString m_title; - QFileInfo m_binaryInfo; - QString m_arguments; - QString m_steamAppID; - QString m_workingDirectory; - Flags m_flags; -}; - - -/*! - * @brief List of executables configured to by started from MO - **/ -class ExecutablesList { -public: - using vector_type = std::vector; - using iterator = vector_type::iterator; - using const_iterator = vector_type::const_iterator; - - /** - * standard container interface - */ - iterator begin(); - const_iterator begin() const; - iterator end(); - const_iterator end() const; - std::size_t size() const; - bool empty() const; - - /** - * @brief initializes the list from the settings and the given plugin - **/ - void load(const MOBase::IPluginGame* game, const Settings& settings); - - /** - * @brief re-adds all the executables from the plugin and renames existing - * executables that are in the way - **/ - void resetFromPlugin(MOBase::IPluginGame const *game); - - /** - * @brief writes the current list to the settings - */ - void store(Settings& settings); - - /** - * @brief get an executable by name - * - * @param title the title of the executable to look up - * @return the executable - * @exception runtime_error will throw an exception if the executable is not found - **/ - const Executable &get(const QString &title) const; - - /** - * @brief find an executable by its name - * - * @param title the title of the executable to look up - * @return the executable - * @exception runtime_error will throw an exception if the name is not correct - **/ - Executable &get(const QString &title); - - /** - * @brief find an executable by a fileinfo structure - * @param info the info object to search for - * @return the executable - * @exception runtime_error will throw an exception if the name is not correct - */ - Executable &getByBinary(const QFileInfo &info); - - /** - * @brief returns an iterator for the given executable by title, or end() - */ - iterator find(const QString &title, bool caseSensitive=true); - const_iterator find(const QString &title, bool caseSensitive=true) const; - - /** - * @brief determine if an executable exists - * @param title the title of the executable to look up - * @return true if the executable exists, false otherwise - **/ - bool titleExists(const QString &title) const; - - /** - * @brief add a new executable to the list - * @param executable - */ - void setExecutable(const Executable &executable); - - /** - * @brief remove the executable with the specified file name. This needs to - * be an absolute file path - * - * @param title title of the executable to remove - * @note if the executable name is invalid, nothing happens. There is no way - * to determine if this was successful - **/ - void remove(const QString &title); - - /** - * returns a title that starts with the given prefix and does not clash with - * an existing executable, may fail - */ - std::optional makeNonConflictingTitle(const QString& prefix); - -private: - enum SetFlags - { - // executables having the same name as existing ones are ignored - IgnoreExisting = 1, - - // executables having the same name are merged - MergeExisting, - - // an existing executable with the same name is renamed - MoveExisting - }; - - std::vector m_Executables; - - - /** - * @brief add the executables preconfigured for this game - **/ - void addFromPlugin(MOBase::IPluginGame const *game, SetFlags flags); - - /** - * @brief add a new executable to the list - * @param executable - */ - void setExecutable(const Executable &exe, SetFlags flags); - - /** - * returns the executables provided by the game plugin - **/ - std::vector getPluginExecutables( - MOBase::IPluginGame const *game) const; - - /** - * called when MO is still using the old custom executables from 2.2.0 - **/ - void upgradeFromCustom(const MOBase::IPluginGame* game); - - // logs all executables - // - void dump() const; -}; - -Q_DECLARE_OPERATORS_FOR_FLAGS(Executable::Flags) - -#endif // EXECUTABLESLIST_H +/* +Copyright (C) 2012 Sebastian Herbord. All rights reserved. + +This file is part of Mod Organizer. + +Mod Organizer 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. + +Mod Organizer 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 Mod Organizer. If not, see . +*/ + +#ifndef EXECUTABLESLIST_H +#define EXECUTABLESLIST_H + +#include "executableinfo.h" + +#include +#include + +#include +#include + +namespace MOBase { class IPluginGame; class ExecutableInfo; } +class Settings; + +/*! + * @brief Information about an executable + **/ +class Executable +{ +public: + enum Flag + { + ShowInToolbar = 0x02, + UseApplicationIcon = 0x04, + Hide = 0x08 + }; + + Q_DECLARE_FLAGS(Flags, Flag); + + Executable(QString title={}); + + /** + * @brief Executable from plugin + */ + Executable(const MOBase::ExecutableInfo& info, Flags flags); + + const QString& title() const; + const QFileInfo& binaryInfo() const; + const QString& arguments() const; + const QString& steamAppID() const; + const QString& workingDirectory() const; + Flags flags() const; + + Executable& title(const QString& s); + Executable& binaryInfo(const QFileInfo& fi); + Executable& arguments(const QString& s); + Executable& steamAppID(const QString& s); + Executable& workingDirectory(const QString& s); + Executable& flags(Flags f); + + bool isShownOnToolbar() const; + void setShownOnToolbar(bool state); + bool usesOwnIcon() const; + bool hide() const; + + void mergeFrom(const Executable& other); + +private: + QString m_title; + QFileInfo m_binaryInfo; + QString m_arguments; + QString m_steamAppID; + QString m_workingDirectory; + Flags m_flags; +}; + + +/*! + * @brief List of executables configured to by started from MO + **/ +class ExecutablesList { +public: + using vector_type = std::vector; + using iterator = vector_type::iterator; + using const_iterator = vector_type::const_iterator; + + /** + * standard container interface + */ + iterator begin(); + const_iterator begin() const; + iterator end(); + const_iterator end() const; + std::size_t size() const; + bool empty() const; + + /** + * @brief initializes the list from the settings and the given plugin + **/ + void load(const MOBase::IPluginGame* game, const Settings& settings); + + /** + * @brief re-adds all the executables from the plugin and renames existing + * executables that are in the way + **/ + void resetFromPlugin(MOBase::IPluginGame const *game); + + /** + * @brief writes the current list to the settings + */ + void store(Settings& settings); + + /** + * @brief get an executable by name + * + * @param title the title of the executable to look up + * @return the executable + * @exception runtime_error will throw an exception if the executable is not found + **/ + const Executable &get(const QString &title) const; + + /** + * @brief find an executable by its name + * + * @param title the title of the executable to look up + * @return the executable + * @exception runtime_error will throw an exception if the name is not correct + **/ + Executable &get(const QString &title); + + /** + * @brief find an executable by a fileinfo structure + * @param info the info object to search for + * @return the executable + * @exception runtime_error will throw an exception if the name is not correct + */ + Executable &getByBinary(const QFileInfo &info); + + /** + * @brief returns an iterator for the given executable by title, or end() + */ + iterator find(const QString &title, bool caseSensitive=true); + const_iterator find(const QString &title, bool caseSensitive=true) const; + + /** + * @brief determine if an executable exists + * @param title the title of the executable to look up + * @return true if the executable exists, false otherwise + **/ + bool titleExists(const QString &title) const; + + /** + * @brief add a new executable to the list + * @param executable + */ + void setExecutable(const Executable &executable); + + /** + * @brief remove the executable with the specified file name. This needs to + * be an absolute file path + * + * @param title title of the executable to remove + * @note if the executable name is invalid, nothing happens. There is no way + * to determine if this was successful + **/ + void remove(const QString &title); + + /** + * returns a title that starts with the given prefix and does not clash with + * an existing executable, may fail + */ + std::optional makeNonConflictingTitle(const QString& prefix); + +private: + enum SetFlags + { + // executables having the same name as existing ones are ignored + IgnoreExisting = 1, + + // executables having the same name are merged + MergeExisting, + + // an existing executable with the same name is renamed + MoveExisting + }; + + std::vector m_Executables; + + + /** + * @brief add the executables preconfigured for this game + **/ + void addFromPlugin(MOBase::IPluginGame const *game, SetFlags flags); + + /** + * @brief add a new executable to the list + * @param executable + */ + void setExecutable(const Executable &exe, SetFlags flags); + + /** + * returns the executables provided by the game plugin + **/ + std::vector getPluginExecutables( + MOBase::IPluginGame const *game) const; + + /** + * called when MO is still using the old custom executables from 2.2.0 + **/ + void upgradeFromCustom(const MOBase::IPluginGame* game); + + // logs all executables + // + void dump() const; +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(Executable::Flags) + +#endif // EXECUTABLESLIST_H -- cgit v1.3.1