diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/MiniComponentShopDialog.java b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/MiniComponentShopDialog.java index 0c21a4d41..81bc642b4 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/MiniComponentShopDialog.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/MiniComponentShopDialog.java @@ -1,8 +1,12 @@ package com.fr.design.mainframe.share.ui.online.mini; +import com.fr.base.ScreenResolution; import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.share.mini.MiniShopDisposingChecker; import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.stable.Constants; +import com.fr.stable.unit.FU; +import com.fr.stable.unit.UNIT; import javax.swing.JFrame; import java.awt.Container; @@ -32,7 +36,10 @@ public class MiniComponentShopDialog { final JFrame frame = new JFrame(); final MiniComponentShopPane shopPane = new MiniComponentShopPane(); - frame.setSize(1200, 800); + final UNIT width = FU.getInstance(900 * Constants.FU_PER_OLD_PIX); + final UNIT height = FU.getInstance(600 * Constants.FU_PER_OLD_PIX); + int resolution = ScreenResolution.getScreenResolution(); + frame.setSize(width.toPixI(resolution), height.toPixI(resolution)); frame.setTitle(Toolkit.i18nText("Fine-Design_Share_Online_Mini_Shop_Window_Title")); frame.add(shopPane); frame.setResizable(false); diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/bridge/NativeProductBridge.java b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/bridge/NativeProductBridge.java index a57968174..e9daf3e0e 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/bridge/NativeProductBridge.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/mini/bridge/NativeProductBridge.java @@ -13,6 +13,7 @@ import com.fr.design.mainframe.share.ui.online.installation.ComponentInstallatio import com.fr.design.mainframe.share.ui.online.installation.ComponentsPackageInstallation; import com.fr.design.mainframe.share.ui.online.installation.TemplateThemeInstallation; import com.fr.design.mainframe.share.ui.online.mini.MiniComponentShopDialog; +import com.fr.design.mainframe.share.util.OnlineShopUtils; import com.fr.form.share.Group; import com.fr.form.share.SharableWidgetProvider; import com.fr.form.share.bean.OnlineShareWidget; @@ -306,23 +307,31 @@ public class NativeProductBridge { @Override public void run() { boolean allowedDownload; - if (!widget.isCompatibleWithCurrentEnv()) { - int result = FineJOptionPane.showConfirmDialog( + OnlineShareWidget[] childrenWidgets = OnlineShopUtils.getPackageWidgets(widget, false); + boolean isCompatibleWithCurrentEnv = true; + for (OnlineShareWidget children: childrenWidgets) { + if (!children.isCompatibleWithCurrentEnv()) { + isCompatibleWithCurrentEnv = false; + break; + } + } + int result; + if (!isCompatibleWithCurrentEnv) { + result = FineJOptionPane.showConfirmDialog( MiniComponentShopDialog.getInstance().getContentPane(), Toolkit.i18nText("Fine-Design_Share_Online_Mini_Shop_Download_Incompatible_Components_Package_Tip", childrenCount), "", FineJOptionPane.YES_NO_OPTION ); - allowedDownload = result == JOptionPane.YES_OPTION; } else { - int result = FineJOptionPane.showConfirmDialog( + result = FineJOptionPane.showConfirmDialog( MiniComponentShopDialog.getInstance().getContentPane(), Toolkit.i18nText("Fine-Design_Share_Online_Mini_Shop_Download_Components_Package_Tip", childrenCount), "", FineJOptionPane.YES_NO_OPTION ); - allowedDownload = result == JOptionPane.YES_OPTION; } + allowedDownload = result == JOptionPane.YES_OPTION; if (allowedDownload) { fireStartEvent(null); action.install(); diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/util/OnlineShopUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/share/util/OnlineShopUtils.java index d0fbd83d5..fef0caed2 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/util/OnlineShopUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/util/OnlineShopUtils.java @@ -256,7 +256,12 @@ public class OnlineShopUtils { } public static OnlineShareWidget[] getPackageWidgets(OnlineShareWidget widgetPackage) { - String plistUrl = getPackageChildrenPath() + widgetPackage.getId() + "?designerVersion="+ ProductConstants.RELEASE_VERSION; + return getPackageWidgets(widgetPackage, true); + } + + public static OnlineShareWidget[] getPackageWidgets(OnlineShareWidget widgetPackage, boolean requireCompatible) { + String targetDesignerVersion = requireCompatible ? ProductConstants.RELEASE_VERSION : "0"; + String plistUrl = getPackageChildrenPath() + widgetPackage.getId() + "?designerVersion="+ targetDesignerVersion; OnlineShareWidget[] widgets = getOnlineShareWidgets(plistUrl); for (OnlineShareWidget widget : widgets) { widget.setParentPackage(widgetPackage);