summaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'setup.c')
-rw-r--r--setup.c38
1 files changed, 37 insertions, 1 deletions
diff --git a/setup.c b/setup.c
index 1f2f22f..71ef0b9 100644
--- a/setup.c
+++ b/setup.c
@@ -199,6 +199,18 @@ eOSState cSkinDesignerSetup::ProcessKey(eKeys Key) {
}
// KEY RED
if (Key == kRed) {
+ string versionNeeded = "";
+ bool versionOk = config.CheckVersion(currentSkin, versionNeeded);
+ if (!versionOk) {
+ cString error = cString::sprintf("%s %s %s %s %s",
+ tr("Skin Designer"),
+ tr("version"),
+ versionNeeded.c_str(),
+ tr("or higher"),
+ tr("needed"));
+ Skins.Message(mtError, *error);
+ return state;
+ }
if (type == itSkinRepo) {
Skins.Message(mtStatus, *cString::sprintf("%s ...", tr("Installing Skin")));
StartInstallation(currentSkin);
@@ -388,6 +400,18 @@ eOSState cSkindesignerSkinSetup::ProcessKey(eKeys Key) {
}
}
case kRed: {
+ string versionNeeded = "";
+ bool versionOk = config.CheckVersion(skin, versionNeeded);
+ if (!versionOk) {
+ cString error = cString::sprintf("%s %s %s %s %s",
+ tr("Skin Designer"),
+ tr("version"),
+ versionNeeded.c_str(),
+ tr("or higher"),
+ tr("needed"));
+ Skins.Message(mtError, *error);
+ break;
+ }
bool gitAvailable = StartUpdate(skin);
if (gitAvailable) {
Skins.Message(mtStatus, *cString::sprintf("%s ...", tr("Updating Skin from Git")));
@@ -487,7 +511,19 @@ eOSState cSkindesignerSkinPreview::ProcessKey(eKeys Key) {
state = osContinue;
break;
} case kRed: {
- StartInstallation(currentSkin);
+ string versionNeeded = "";
+ bool versionOk = config.CheckVersion(currentSkin, versionNeeded);
+ if (!versionOk) {
+ cString error = cString::sprintf("%s %s %s %s %s",
+ tr("Skin Designer"),
+ tr("version"),
+ versionNeeded.c_str(),
+ tr("or higher"),
+ tr("needed"));
+ Skins.Message(mtError, *error);
+ } else {
+ StartInstallation(currentSkin);
+ }
state = osContinue;
break;
} default: