Ignore:
Timestamp:
Feb 23, 2013, 6:40:47 PM (12 years ago)
Author:
alloc
Message:

AEI2 0.99q:

  • Updates dialog: Updating the to-download-size on (un)checking updates to download
  • Updates dialog: Show download size of individual updates
  • Tool execution: Support for .NET tools (Mod_Info.cfg added ExeType flag)
  • Depot backend: Ignore mod nodes with an empty package number field
File:
1 edited

Legend:

Unmodified
Added
Removed
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java

    r671 r672  
    4444import net.oni2.aeinstaller.backend.Paths;
    4545import net.oni2.aeinstaller.backend.Settings;
     46import net.oni2.aeinstaller.backend.ToolLauncher;
    4647import net.oni2.aeinstaller.backend.Settings.Platform;
    4748import net.oni2.aeinstaller.backend.SizeFormatter;
     
    229230                                TreeSet<Package> tools = PackageManager.getInstance()
    230231                                                .getUpdatableTools();
    231                                 int size = 0;
    232232                                JPanel panPackages = new JPanel(new GridLayout(0, 1));
    233233                                execUpdates = new TreeSet<Package>();
    234234                                execUpdates.addAll(mods);
    235235                                execUpdates.addAll(tools);
     236                                final JLabel lblSize = new JLabel("<html>"
     237                                                + String.format(
     238                                                                bundle.getString("updatesAvailableSize.text"),
     239                                                                SizeFormatter.format(0, 3)) + "</html>");
     240                                int size = 0;
    236241                                for (final Package m : mods) {
    237242                                        size += m.getZipSize();
    238                                         JCheckBox check = new JCheckBox("Mod: " + m.getName());
     243                                        JCheckBox check = new JCheckBox("Mod: " + m.getName()
     244                                                        + " (" + SizeFormatter.format(size, 1) + ")");
    239245                                        check.setSelected(true);
    240246                                        check.addItemListener(new ItemListener() {
     
    245251                                                        else
    246252                                                                execUpdates.remove(m);
     253                                                        int s = 0;
     254                                                        for (Package p : execUpdates)
     255                                                                s += p.getZipSize();
     256                                                        lblSize.setText("<html>"
     257                                                                        + String.format(
     258                                                                                        bundle.getString("updatesAvailableSize.text"),
     259                                                                                        SizeFormatter.format(s, 3))
     260                                                                        + "</html>");
    247261                                                }
    248262                                        });
     
    251265                                for (final Package m : tools) {
    252266                                        size += m.getZipSize();
    253                                         JCheckBox check = new JCheckBox("Tool: " + m.getName());
     267                                        JCheckBox check = new JCheckBox("Tool: " + m.getName()
     268                                                        + " (" + SizeFormatter.format(size, 1) + ")");
    254269                                        check.setSelected(true);
     270                                        check.addItemListener(new ItemListener() {
     271                                                @Override
     272                                                public void itemStateChanged(ItemEvent e) {
     273                                                        if (e.getStateChange() == ItemEvent.SELECTED)
     274                                                                execUpdates.add(m);
     275                                                        else
     276                                                                execUpdates.remove(m);
     277                                                        int s = 0;
     278                                                        for (Package p : execUpdates)
     279                                                                s += p.getZipSize();
     280                                                        lblSize.setText("<html>"
     281                                                                        + String.format(
     282                                                                                        bundle.getString("updatesAvailableSize.text"),
     283                                                                                        SizeFormatter.format(s, 3))
     284                                                                        + "</html>");
     285                                                }
     286                                        });
    255287                                        panPackages.add(check);
    256288                                }
     289                                lblSize.setText("<html>"
     290                                                + String.format(
     291                                                                bundle.getString("updatesAvailableSize.text"),
     292                                                                SizeFormatter.format(size, 3)) + "</html>");
    257293                                if (size > 0) {
    258294                                        // Build info dialog content
     
    261297                                                        + bundle.getString("updatesAvailable.text")
    262298                                                        + "</html>");
    263                                         JLabel lblSize = new JLabel("<html>"
    264                                                         + String.format(bundle
    265                                                                         .getString("updatesAvailableSize.text"),
    266                                                                         SizeFormatter.format(size, 3)) + "</html>");
    267299                                        packages.add(lblIntro, BorderLayout.NORTH);
    268300                                        packages.add(panPackages, BorderLayout.CENTER);
     
    433465                }
    434466                toolsMenuItems.clear();
    435                 for (Package m : PackageManager.getInstance().getInstalledTools()) {
     467                for (final Package m : PackageManager.getInstance().getInstalledTools()) {
    436468                        File exe = m.getExeFile();
    437469                        if (exe != null && exe.exists()) {
    438470                                JMenuItem item = new JMenuItem();
    439                                 final Vector<String> params = new Vector<String>();
    440                                 if (exe.getName().toLowerCase().endsWith(".jar")) {
    441                                         File jre = null;
    442                                         if (Settings.getPlatform() == Platform.WIN)
    443                                                 jre = new File(System.getProperties().getProperty(
    444                                                                 "java.home"), "bin/javaw.exe");
    445                                         else
    446                                                 jre = new File(System.getProperties().getProperty(
    447                                                                 "java.home"), "bin/java");
    448                                         params.add(jre.getPath());
    449                                         params.add("-jar");
    450                                 }
    451                                 params.add(exe.getPath());
    452                                 final File wd = m.getWorkingDir();
    453471                                ImageIcon ico = null;
    454472                                if (m.getIconFile() != null && m.getIconFile().exists()) {
     
    464482
    465483                                        @Override
    466                                         public void actionPerformed(ActionEvent e) {
    467                                                 AppExecution.execute(params, wd);
     484                                        public void actionPerformed(ActionEvent evt) {
     485                                                try {
     486                                                        ToolLauncher.launch(m);
     487                                                } catch (Exception ex) {
     488                                                        if (ex.getMessage().contains("JRE"))
     489                                                                JOptionPane.showMessageDialog(null,
     490                                                                                bundle.getString("jreNotFound.text"),
     491                                                                                bundle.getString("jreNotFound.title"),
     492                                                                                JOptionPane.ERROR_MESSAGE);
     493                                                        if (ex.getMessage().contains(".NET"))
     494                                                                JOptionPane.showMessageDialog(null,
     495                                                                                bundle.getString("dotNetNotFound.text"),
     496                                                                                bundle.getString("dotNetNotFound.title"),
     497                                                                                JOptionPane.ERROR_MESSAGE);
     498                                                }
    468499                                        }
    469500                                });
Note: See TracChangeset for help on using the changeset viewer.