Index: src/sdk/pluginsconfigurationdlg.cpp
===================================================================
--- src/sdk/pluginsconfigurationdlg.cpp (revision 8330)
+++ src/sdk/pluginsconfigurationdlg.cpp (working copy)
@@ -67,7 +67,8 @@
// install options
ConfigManager* cfg = Manager::Get()->GetConfigManager(_T("plugins"));
bool globalInstall = cfg->ReadBool(_T("/install_globally"), true);
- bool confirmation = cfg->ReadBool(_T("/install_confirmation"), true);
+ bool confirmation = cfg->ReadBool(_T("/install_confirmation"), true);
+ bool ignoreVersion = cfg->ReadBool(_T("/ignore_version"), false);
// verify user can install globally
DirAccessCheck access = cbDirAccessCheck(ConfigManager::GetFolder(sdPluginsGlobal));
@@ -79,6 +80,7 @@
}
XRCCTRL(*this, "chkInstallGlobally", wxCheckBox)->SetValue(globalInstall);
XRCCTRL(*this, "chkInstallConfirmation", wxCheckBox)->SetValue(confirmation);
+ XRCCTRL(*this, "chkIgnoreVersion", wxCheckBox)->SetValue(ignoreVersion);
// Set default font size based on system default font size
#ifdef __linux__
@@ -443,6 +445,7 @@
cfg->Write(_T("/install_globally"), XRCCTRL(*this, "chkInstallGlobally", wxCheckBox)->GetValue());
cfg->Write(_T("/install_confirmation"), XRCCTRL(*this, "chkInstallConfirmation", wxCheckBox)->GetValue());
+ cfg->Write(_T("/ignore_version"), XRCCTRL(*this, "chkIgnoreVersion", wxCheckBox)->GetValue());
wxScrollingDialog::EndModal(retCode);
}
Index: src/sdk/resources/plugins_configuration.xrc
===================================================================
--- src/sdk/resources/plugins_configuration.xrc (revision 8330)
+++ src/sdk/resources/plugins_configuration.xrc (working copy)
@@ -55,11 +55,18 @@
</object>
<object class="sizeritem">
<border>5</border>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP|wxEXPAND</flag>
+ <flag>wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP</flag>
<object class="wxCheckBox" name="chkInstallConfirmation">
<label>Ask for confirmation if conflicts arise.</label>
</object>
</object>
+ <object class="sizeritem">
+ <object class="wxCheckBox" name="chkIgnoreVersion">
+ <label>Ignore SDK version mismatch. Do not check unless you know what you are doing!</label>
+ </object>
+ <flag>wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
</object>
</object>
</object>
Index: src/sdk/pluginmanager.cpp
===================================================================
--- src/sdk/pluginmanager.cpp (revision 8330)
+++ src/sdk/pluginmanager.cpp (working copy)
@@ -702,7 +702,10 @@
PLUGIN_SDK_VERSION_MINOR,
PLUGIN_SDK_VERSION_RELEASE);
Manager::Get()->GetLogManager()->LogError(fmt);
- return;
+ if (Manager::Get()->GetConfigManager(wxT("plugins"))->ReadBool(wxT("/ignore_version"), false))
+ Manager::Get()->GetLogManager()->LogWarning(_(" SDK version ignored, loading ") + name + _(" anyways. Beware of side effects!"));
+ else
+ return;
}
// all done