From d2196eea099b53c804da99e141f4c2670dc92fdf Mon Sep 17 00:00:00 2001 From: twanvl Date: Sat, 29 Dec 2007 18:30:41 +0000 Subject: [PATCH] Finally got precompiled headers to work. Now all C++ files need to #include 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). 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 --- data/en.mse-locale/locale | 57 +- data/en.mse-locale/usgb.png | Bin 0 -> 631 bytes src/data/action/keyword.cpp | 1 + src/data/action/set.cpp | 1 + src/data/action/symbol.cpp | 1 + src/data/action/symbol_part.cpp | 1 + src/data/action/value.cpp | 1 + src/data/card.cpp | 1 + src/data/card.hpp | 2 +- src/data/export_template.cpp | 1 + src/data/field.cpp | 1 + src/data/field/boolean.cpp | 5 +- src/data/field/choice.cpp | 1 + src/data/field/color.cpp | 1 + src/data/field/image.cpp | 1 + src/data/field/information.cpp | 1 + src/data/field/multiple_choice.cpp | 1 + src/data/field/package_choice.cpp | 1 + src/data/field/symbol.cpp | 1 + src/data/field/text.cpp | 1 + src/data/font.cpp | 1 + src/data/format/apprentice.cpp | 1 + src/data/format/clipboard.cpp | 1 + src/data/format/formats.cpp | 1 + src/data/format/html.cpp | 1 + src/data/format/image.cpp | 1 + src/data/format/image_to_symbol.cpp | 1 + src/data/format/mse1.cpp | 1 + src/data/format/mse2.cpp | 1 + src/data/format/mtg_editor.cpp | 1 + src/data/format/mws.cpp | 1 + src/data/game.cpp | 1 + src/data/installer.cpp | 295 ++++++- src/data/installer.hpp | 150 +++- src/data/keyword.cpp | 1 + src/data/locale.cpp | 1 + src/data/pack.cpp | 1 + src/data/set.cpp | 1 + src/data/settings.cpp | 19 +- src/data/settings.hpp | 6 +- src/data/statistics.cpp | 1 + src/data/stylesheet.cpp | 1 + src/data/symbol.cpp | 1 + src/data/symbol_font.cpp | 1 + src/data/word_list.cpp | 1 + src/gfx/bezier.cpp | 1 + src/gfx/blend_image.cpp | 1 + src/gfx/color.cpp | 1 + src/gfx/combine_image.cpp | 1 + src/gfx/generated_image.cpp | 1 + src/gfx/image_effects.cpp | 1 + src/gfx/mask_image.cpp | 1 + src/gfx/polynomial.cpp | 1 + src/gfx/resample_image.cpp | 1 + src/gfx/resample_text.cpp | 1 + src/gfx/rotate_image.cpp | 1 + src/gui/about_window.cpp | 1 + src/gui/auto_replace_window.cpp | 1 + src/gui/card_select_window.cpp | 1 + src/gui/control/card_editor.cpp | 1 + src/gui/control/card_list.cpp | 1 + src/gui/control/card_list_column_select.cpp | 1 + src/gui/control/card_viewer.cpp | 1 + src/gui/control/filtered_card_list.cpp | 1 + src/gui/control/gallery_list.cpp | 2 +- src/gui/control/graph.cpp | 1 + src/gui/control/image_card_list.cpp | 1 + src/gui/control/item_list.cpp | 1 + src/gui/control/item_list.hpp | 2 - src/gui/control/keyword_list.cpp | 1 + src/gui/control/native_look_editor.cpp | 1 + src/gui/control/package_list.cpp | 1 + src/gui/control/select_card_list.cpp | 1 + src/gui/control/text_ctrl.cpp | 1 + src/gui/control/tree_list.cpp | 85 +- src/gui/control/tree_list.hpp | 30 +- src/gui/drop_down_list.cpp | 1 + src/gui/html_export_window.cpp | 1 + src/gui/icon_menu.cpp | 1 + src/gui/image_slice_window.cpp | 1 + src/gui/images_export_window.cpp | 1 + src/gui/new_window.cpp | 1 + src/gui/packages_window.cpp | 884 ++++++++++++++++++++ src/gui/packages_window.hpp | 76 ++ src/gui/preferences_window.cpp | 1 + src/gui/print_window.cpp | 1 + src/gui/set/cards_panel.cpp | 1 + src/gui/set/keywords_panel.cpp | 1 + src/gui/set/panel.cpp | 1 + src/gui/set/set_info_panel.cpp | 1 + src/gui/set/stats_panel.cpp | 1 + src/gui/set/style_panel.cpp | 1 + src/gui/set/window.cpp | 8 +- src/gui/symbol/basic_shape_editor.cpp | 1 + src/gui/symbol/control.cpp | 1 + src/gui/symbol/editor.cpp | 1 + src/gui/symbol/part_list.cpp | 1 + src/gui/symbol/point_editor.cpp | 1 + src/gui/symbol/select_editor.cpp | 1 + src/gui/symbol/selection.cpp | 1 + src/gui/symbol/symmetry_editor.cpp | 1 + src/gui/symbol/window.cpp | 1 + src/gui/thumbnail_thread.cpp | 1 + src/gui/update_checker.cpp | 587 ++----------- src/gui/update_checker.hpp | 58 -- src/gui/util.cpp | 1 + src/gui/value/choice.cpp | 1 + src/gui/value/color.cpp | 1 + src/gui/value/editor.cpp | 1 + src/gui/value/image.cpp | 1 + src/gui/value/information.cpp | 1 + src/gui/value/multiple_choice.cpp | 1 + src/gui/value/package_choice.cpp | 1 + src/gui/value/symbol.cpp | 1 + src/gui/value/text.cpp | 1 + src/gui/welcome_window.cpp | 12 +- src/main.cpp | 2 +- src/mse.vcproj | 47 +- src/render/card/viewer.cpp | 1 + src/render/symbol/filter.cpp | 1 + src/render/symbol/viewer.cpp | 1 + src/render/text/compound.cpp | 1 + src/render/text/element.cpp | 1 + src/render/text/font.cpp | 1 + src/render/text/symbol.cpp | 1 + src/render/text/viewer.cpp | 1 + src/render/value/choice.cpp | 1 + src/render/value/color.cpp | 1 + src/render/value/image.cpp | 1 + src/render/value/information.cpp | 1 + src/render/value/multiple_choice.cpp | 1 + src/render/value/package_choice.cpp | 1 + src/render/value/symbol.cpp | 1 + src/render/value/text.cpp | 1 + src/render/value/viewer.cpp | 1 + src/resource/common/expected_locale_keys | 2 + src/resource/common/installer_font.png | Bin 0 -> 567 bytes src/resource/common/installer_group.png | Bin 0 -> 650 bytes src/resource/common/installer_locales.png | Bin 0 -> 730 bytes src/resource/common/installer_package.png | Bin 0 -> 462 bytes src/resource/common/welcome_updates.png | Bin 0 -> 2840 bytes src/resource/msw/mse.rc | 6 + src/script/context.cpp | 1 + src/script/dependency.cpp | 1 + src/script/functions/basic.cpp | 1 + src/script/functions/editor.cpp | 1 + src/script/functions/english.cpp | 1 + src/script/functions/export.cpp | 1 + src/script/functions/image.cpp | 1 + src/script/image.cpp | 1 + src/script/parser.cpp | 1 + src/script/script.cpp | 1 + src/script/script_manager.cpp | 1 + src/script/scriptable.cpp | 1 + src/script/value.cpp | 1 + src/util/action_stack.cpp | 1 + src/util/age.cpp | 1 + src/util/alignment.cpp | 1 + src/util/atomic.hpp | 32 +- src/util/delayed_index_maps.hpp | 6 +- src/util/error.cpp | 1 + src/util/file_utils.cpp | 134 +++ src/util/file_utils.hpp | 44 + src/util/io/get_member.cpp | 1 + src/util/io/get_member.hpp | 2 + src/util/io/package.cpp | 27 +- src/util/io/package.hpp | 9 +- src/util/io/package_manager.cpp | 378 +++++++-- src/util/io/package_manager.hpp | 167 +++- src/util/io/reader.cpp | 7 + src/util/io/reader.hpp | 2 + src/util/io/writer.cpp | 1 + src/util/io/writer.hpp | 1 + src/util/prec.hpp | 24 +- src/util/reflect.hpp | 3 + src/util/rotation.cpp | 1 + src/util/smart_ptr.hpp | 3 + src/util/spec_sort.cpp | 1 + src/util/tagged_string.cpp | 1 + src/util/version.cpp | 1 + src/util/window_id.hpp | 3 - tools/gen.pl | 2 +- 182 files changed, 2508 insertions(+), 809 deletions(-) create mode 100644 data/en.mse-locale/usgb.png create mode 100644 src/gui/packages_window.cpp create mode 100644 src/gui/packages_window.hpp create mode 100644 src/resource/common/installer_font.png create mode 100644 src/resource/common/installer_group.png create mode 100644 src/resource/common/installer_locales.png create mode 100644 src/resource/common/installer_package.png create mode 100644 src/resource/common/welcome_updates.png create mode 100644 src/util/file_utils.cpp create mode 100644 src/util/file_utils.hpp diff --git a/data/en.mse-locale/locale b/data/en.mse-locale/locale index d3399689..af23a5da 100644 --- a/data/en.mse-locale/locale +++ b/data/en.mse-locale/locale @@ -1,6 +1,8 @@ -mse version: 0.3.5 +mse version: 0.3.6 +installer group: locales full name: English version: 2007-09-23 +icon: usgb.png ############################################################## Menu items menu: @@ -92,13 +94,6 @@ menu: basic shapes: &Basic Shapes F8 symmetry: S&ymmetry F9 paint: P&aint F10 - - # Updates window - apply changes: Apply changes - cancel changes: Cancel changes - install package: Install package - upgrade package: Upgrade package - remove package: Remove package ############################################################## Menu help texts help: @@ -458,6 +453,23 @@ label: # Symbol editor sides: sides + + # Packages window + package name: Package + package installed version: Installed version + package remote version: Latest version + package status: Status + package action: Action + + package conflicts: conflicting modifications + package modified: local modifications + package updates: updates available + package installed: installed + package installable: not installed + install package: install + upgrade package: upgrade + remove package: remove + ############################################################## Buttons/checkboxes/choices in the GUI button: @@ -515,6 +527,15 @@ button: defaults: Reset to &Defaults enabled: Enabled whole word: Match whole word only + + # Packages window + install package: &Install + upgrade package: &Upgrade + remove package: &Remove + install group: &Install All + upgrade group: &Upgrade All + remove group: &Remove All + ############################################################## Titles in the GUI title: @@ -639,9 +660,7 @@ error: dependency not given: The package '%s' uses files from the package '%s', but it does not list a dependency. To resolve this, add: - depends on: - package: %s - version: %s + depends on: %s %s # Script stuff has no member: %s has no member '%s' @@ -687,6 +706,22 @@ error: # Package update window no packages: Found no package updates. checking updates: Checking for updates. + can't download installer: + Unable to download installer for package %s from %s. + Nothing has been installed. + + downloading updates: Downloading updates (%d of %d) + installing updates: Updating packages (%d of %d) + + remove packages: + This will remove %s packages, do you want to continue? + remove packages modified: + This will remove %s packages, %s of those have been modified after installing. + Removing them can not be undone. + + Do you want to continue? + + cannot create file: Can not create file '%s', continue installation? ############################################################## Types used in scripts / shape names diff --git a/data/en.mse-locale/usgb.png b/data/en.mse-locale/usgb.png new file mode 100644 index 0000000000000000000000000000000000000000..196db5874bade5cf68b660dfc340ba2f935e2b5f GIT binary patch literal 631 zcmV--0*L*IP)lkXrGB=QAE7Oa;sEni}R=0E^OXpT$$y}qo$&7jtn7Oba1SRwXYMYg-G{}k? zRt6)ZHU^UwW9)9b=iYP9?YWE2yYukXf$rI0!y{1k<_D12H;U#c-ejSH$B_RGc%6plS;Gsj52lf)XN6M5v;W+0g2EAhz^2$uEy^My@@MArM6!A;jWQ z3WWmhC7aFSYAW3_rBrjA($eYJ_dl&2cZYn7Rdv^KQ(=4+i{x@S?2^f3Dx9fgG8x@- zOtDyq$y72L3-$E{gMl1q^KUXkBC(1uOi`Tk%&8^*%j#^nPd|&ZwNR?d>0$`3owWTgW;= RCDQ-^002ovPDHLkV1jJlA%Oq@ literal 0 HcmV?d00001 diff --git a/src/data/action/keyword.cpp b/src/data/action/keyword.cpp index 7917f487..8028d10e 100644 --- a/src/data/action/keyword.cpp +++ b/src/data/action/keyword.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/action/set.cpp b/src/data/action/set.cpp index ef2c4d84..a4f0c7eb 100644 --- a/src/data/action/set.cpp +++ b/src/data/action/set.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/action/symbol.cpp b/src/data/action/symbol.cpp index b610e628..0c959df7 100644 --- a/src/data/action/symbol.cpp +++ b/src/data/action/symbol.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/action/symbol_part.cpp b/src/data/action/symbol_part.cpp index 70e7f4c3..f1629833 100644 --- a/src/data/action/symbol_part.cpp +++ b/src/data/action/symbol_part.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include diff --git a/src/data/action/value.cpp b/src/data/action/value.cpp index d5c1fdf3..8051ca7c 100644 --- a/src/data/action/value.cpp +++ b/src/data/action/value.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/card.cpp b/src/data/card.cpp index 0eeec95a..df60ef45 100644 --- a/src/data/card.cpp +++ b/src/data/card.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/card.hpp b/src/data/card.hpp index 02f4bd70..79070c9f 100644 --- a/src/data/card.hpp +++ b/src/data/card.hpp @@ -49,7 +49,7 @@ class Card : public IntrusivePtrVirtualBase { /// Extra values for specitic stylesheets, indexed by stylesheet name DelayedIndexMaps extra_data; /// Styling information for a particular stylesheet - IndexMap& extraDataFor(const StyleSheet& stylesheet) ; + IndexMap& extraDataFor(const StyleSheet& stylesheet); /// Keyword usage statistics vector > keyword_usage; diff --git a/src/data/export_template.cpp b/src/data/export_template.cpp index f38ac9ed..013e8c45 100644 --- a/src/data/export_template.cpp +++ b/src/data/export_template.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/field.cpp b/src/data/field.cpp index ed98fb0e..03637fee 100644 --- a/src/data/field.cpp +++ b/src/data/field.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/field/boolean.cpp b/src/data/field/boolean.cpp index aa77fcc3..53bd4ee3 100644 --- a/src/data/field/boolean.cpp +++ b/src/data/field/boolean.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include // ----------------------------------------------------------------------------- : BooleanField @@ -31,8 +32,8 @@ BooleanStyle::BooleanStyle(const ChoiceFieldP& field) : ChoiceStyle(field) { render_style = RENDER_BOTH; - //%%choice_images[_("yes")] = ScriptableImage(_("buildin_image(\"bool_yes\")")); - //%%choice_images[_("no")] = ScriptableImage(_("buildin_image(\"bool_no\")")); + //choice_images[_("yes")] = ScriptableImage(_("buildin_image(\"bool_yes\")")); + //choice_images[_("no")] = ScriptableImage(_("buildin_image(\"bool_no\")")); choice_images[_("yes")] = ScriptableImage(new_intrusive1(_("bool_yes"))); choice_images[_("no")] = ScriptableImage(new_intrusive1(_("bool_no"))); } diff --git a/src/data/field/choice.cpp b/src/data/field/choice.cpp index a357d9bf..8e65fc83 100644 --- a/src/data/field/choice.cpp +++ b/src/data/field/choice.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include #include diff --git a/src/data/field/color.cpp b/src/data/field/color.cpp index cf8fd342..1333da81 100644 --- a/src/data/field/color.cpp +++ b/src/data/field/color.cpp @@ -6,6 +6,7 @@ // ----------------------------------------------------------------------------- : Includes +#include #include #include