mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-11 21:27:01 -04:00
Finally got precompiled headers to work.
Now all C++ files need to #include <util/prec.hpp>
That is why all .cpp files are touched by this commit
Many changes to installers and update checking:
- the window is now called PackagesWindow, in a new source file
- update checking is now independent from the PackagesWindow. For update checking only a list of package versions are needed (vector<PackageDependency>). This is much less information to download at each startup.
- the list of available packages is now a list of available Installers, since an installer can contain multiple packages.
- moved the logic of dependency checking etc. to data/installer
- moved the actual installation to util/io/package_manager
- moved directory iteration/creation logic to util/file_utils
- added PackageDirectory: the local and global package directory now have their own object (was part of PackageManager)
- added PackageVersion: for detecting if a package has been modified after it was installed.
- added PackageDescription: description/header of a package. Basicly the same as what Packaged provides.
- added DownloadableInstaller: where to find an insaller, what does it contain?
- added InstallablePackage: brining it all together: installer, package, status, action.
Current status: the insaller is currently broken in a few places, more on that soon.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@792 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include <util/reflect.hpp>
|
||||
#include <util/dynamic_arg.hpp>
|
||||
#include <util/error.hpp>
|
||||
#include <util/file_utils.hpp>
|
||||
|
||||
class Package;
|
||||
class wxFileInputStream;
|
||||
@@ -147,8 +148,8 @@ class Package : public IntrusivePtrVirtualBase {
|
||||
bool keep; ///< Should this file be kept in the package? (as opposed to deleting it)
|
||||
String tempName; ///< Name of the temporary file where new contents of this file are placed
|
||||
wxZipEntry* zipEntry; ///< Entry in the zip file for this file
|
||||
inline bool wasWritten() ///< Is this file changed, and therefore written to a temporary file?
|
||||
{ return !tempName.empty(); }
|
||||
/// Is this file changed, and therefore written to a temporary file?
|
||||
inline bool wasWritten() const { return !tempName.empty(); }
|
||||
};
|
||||
|
||||
/// Filename of the package
|
||||
@@ -160,6 +161,8 @@ class Package : public IntrusivePtrVirtualBase {
|
||||
/** Note: must be public for DECLARE_TYPEOF to work */
|
||||
typedef map<String, FileInfo> FileInfos;
|
||||
inline const FileInfos& getFileInfos() const { return files; }
|
||||
/// When was a file last modified?
|
||||
DateTime modificationTime(const pair<String, FileInfo>& fi) const;
|
||||
private:
|
||||
/// All files in the package
|
||||
FileInfos files;
|
||||
@@ -175,7 +178,6 @@ class Package : public IntrusivePtrVirtualBase {
|
||||
void saveToZipfile(const String&, bool);
|
||||
void saveToDirectory(const String&, bool);
|
||||
FileInfos::iterator addFile(const String& file);
|
||||
static String toStandardName(const String& file);
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------- : Packaged
|
||||
@@ -199,6 +201,7 @@ class Packaged : public Package {
|
||||
|
||||
Version version; ///< Version number of this package
|
||||
Version compatible_version; ///< Earliest version number this package is compatible with
|
||||
String installer_group; ///< Group to place this package in in the installer
|
||||
String short_name; ///< Short name of this package
|
||||
String full_name; ///< Name of this package, for menus etc.
|
||||
String icon_filename; ///< Filename of icon to use in package lists
|
||||
|
||||
Reference in New Issue
Block a user