Ignore:
Timestamp:
Feb 25, 2013, 5:52:49 PM (12 years ago)
Author:
alloc
Message:

AEI2 0.99r:

  • Add number of selected mods label to main win
  • Add "Redownload package" to package tables context menu
  • Unpacker: Filter out mac specific ".DS_Store" files
Location:
AE/installer2/src/net/oni2/aeinstaller
Files:
1 added
1 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties

    r672 r673  
    11appname=AE Installer 2
    2 appversion=0.99q
     2appversion=0.99r
  • AE/installer2/src/net/oni2/aeinstaller/backend/packages/unpack/Unpacker.java

    r648 r673  
    119119
    120120                                                zf = new ZipFile(zip);
    121                                                
     121
    122122                                                if (target.exists())
    123123                                                        FileUtils.deleteDirectory(target);
     
    145145                                                        if (!ze.isDirectory()) {
    146146                                                                if (ze.getName().startsWith(pathStartName)) {
    147                                                                         File targetFile = new File(target, ze
    148                                                                                         .getName().substring(pathStart));
    149                                                                         File parent = targetFile.getParentFile();
    150                                                                         parent.mkdirs();
     147                                                                        if (!(ze.getName().endsWith("aei.cfg") || ze
     148                                                                                        .getName().endsWith(".DS_Store"))) {
     149                                                                                File targetFile = new File(target, ze
     150                                                                                                .getName().substring(pathStart));
     151                                                                                File parent = targetFile
     152                                                                                                .getParentFile();
     153                                                                                parent.mkdirs();
    151154
    152                                                                         InputStream in = zf.getInputStream(ze);
     155                                                                                InputStream in = zf.getInputStream(ze);
    153156
    154                                                                         int read = 0;
    155                                                                         byte[] data = new byte[1024];
    156                                                                         FileOutputStream fileOut = new FileOutputStream(
    157                                                                                         targetFile);
    158                                                                         while ((read = in.read(data, 0, 1024)) != -1) {
    159                                                                                 fileOut.write(data, 0, read);
     157                                                                                int read = 0;
     158                                                                                byte[] data = new byte[1024];
     159                                                                                FileOutputStream fileOut = new FileOutputStream(
     160                                                                                                targetFile);
     161                                                                                while ((read = in.read(data, 0, 1024)) != -1) {
     162                                                                                        fileOut.write(data, 0, read);
     163                                                                                }
     164                                                                                fileOut.close();
    160165                                                                        }
    161                                                                         fileOut.close();
    162166                                                                }
    163167                                                        }
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java

    r672 r673  
    6060import net.oni2.aeinstaller.gui.corepackages.CorePackagesDialog;
    6161import net.oni2.aeinstaller.gui.downloadwindow.Downloader;
    62 import net.oni2.aeinstaller.gui.modtable.DownloadSizeListener;
     62import net.oni2.aeinstaller.gui.modtable.ModInstallSelectionListener;
    6363import net.oni2.aeinstaller.gui.modtable.EApplyFilterTo;
    6464import net.oni2.aeinstaller.gui.modtable.ModSelectionListener;
     
    8080 */
    8181public class MainWin extends JFrame implements ApplicationListener,
    82                 DownloadSizeListener, ModSelectionListener {
     82                ModInstallSelectionListener, ModSelectionListener {
    8383        private static final long serialVersionUID = -4027395051382659650L;
    8484
     
    103103        private JScrollPane scrollMods;
    104104        private ModTable tblMods;
     105        private JLabel lblSelectedModsVal;
    105106        private JLabel lblDownloadSizeVal;
    106107
     
    147148
    148149                getRootPane().setDefaultButton(btnInstall);
     150                lblSelectedModsVal.setText("0");
    149151                lblDownloadSizeVal.setText(SizeFormatter.format(0, 2));
    150152                radAll.setSelected(true);
     
    492494                                                                                JOptionPane.ERROR_MESSAGE);
    493495                                                        if (ex.getMessage().contains(".NET"))
    494                                                                 JOptionPane.showMessageDialog(null,
     496                                                                JOptionPane.showMessageDialog(
     497                                                                                null,
    495498                                                                                bundle.getString("dotNetNotFound.text"),
    496499                                                                                bundle.getString("dotNetNotFound.title"),
     
    782785
    783786        @Override
    784         public void downloadSizeChanged(int newSize) {
     787        public void modInstallSelectionChanged(int newSize, int newCount) {
     788                lblSelectedModsVal.setText(String.valueOf(newCount));
    785789                lblDownloadSizeVal.setText(SizeFormatter.format(newSize, 2));
    786790        }
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml

    r661 r673  
    6464            - JButton(name=btnRevertSelection, icon=img.undo16, text=btnRevertSelection.text, toolTipText=btnRevertSelection.tooltip, onAction=[revertSelection])
    6565            - JButton(name=btnInstall, icon=img.install, text=btnInstall.text, toolTipText=btnInstall.tooltip, onAction=[install,installExec,installDone])
     66            - JLabel(name=lblSelectedMods, text=lblSelectedMods.text)
     67            - JLabel(name=lblSelectedModsVal)
    6668            - JLabel(name=lblDownloadSize, text=lblDownloadSize.text)
    6769            - JLabel(name=lblDownloadSizeVal)
    6870            - MigLayout: |
    69                  [min]           [grow]
    70                  >lblModTypes    cmbModTypes                       [min]
    71                  >lblShowOnly    radAll,radOnline,radLocal         [min]
    72                  >lblShowFilter  txtShowFilter>,cmbShowFilterTo<   [min]
    73                  scrollMods+*                                      [grow]
    74                  >btnUnSelectAll+*,>btnRevertSelection,btnInstall  [min]
    75                  lblDownloadSize+*,lblDownloadSizeVal              [min]
     71                 [min]           [grow]                           [min]
     72                 >lblModTypes    cmbModTypes+*                                     [min]
     73                 >lblShowOnly    radAll+*,radOnline,radLocal                       [min]
     74                 >lblShowFilter  txtShowFilter+*>,cmbShowFilterTo<                 [min]
     75                 scrollMods+*                                                      [grow]
     76                 >btnUnSelectAll+*,btnRevertSelection                              [min]
     77                 lblSelectedMods+2,lblSelectedModsVal             >btnInstall+*+*  [min]
     78                 lblDownloadSize+2,lblDownloadSizeVal                              [min]
    7679        - PackageInfoBox(name=pkgInfo)
    7780    - MigLayout:
  • AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java

    r660 r673  
    3838import net.oni2.aeinstaller.backend.packages.Package;
    3939import net.oni2.aeinstaller.backend.packages.Type;
     40import net.oni2.aeinstaller.gui.downloadwindow.Downloader;
    4041
    4142/**
     
    173174         *            Listener to add
    174175         */
    175         public void addDownloadSizeListener(DownloadSizeListener listener) {
     176        public void addDownloadSizeListener(ModInstallSelectionListener listener) {
    176177                model.addDownloadSizeListener(listener);
    177178        }
     
    181182         *            Listener to remove
    182183         */
    183         public void removeDownloadSizeListener(DownloadSizeListener listener) {
     184        public void removeDownloadSizeListener(ModInstallSelectionListener listener) {
    184185                model.removeDownloadSizeListener(listener);
    185186        }
     
    332333                                                });
    333334                                                popup.add(openDepotPage);
     335                                        }
     336
     337                                        if (mod.getFile() != null) {
     338                                                // Download package
     339                                                JMenuItem downloadPackage = new JMenuItem(
     340                                                                bundle.getString("downloadPackage.text"));
     341                                                downloadPackage.addActionListener(new ActionListener() {
     342                                                        @Override
     343                                                        public void actionPerformed(ActionEvent arg0) {
     344                                                                TreeSet<Package> toDo = new TreeSet<Package>();
     345                                                                TreeSet<Package> deps = new TreeSet<Package>();
     346                                                                toDo.add(mod);
     347                                                                Downloader dl = new Downloader(toDo, deps);
     348                                                                try {
     349                                                                        dl.setVisible(true);
     350                                                                } finally {
     351                                                                        dl.dispose();
     352                                                                }
     353                                                                invalidate();
     354                                                                repaint();
     355                                                        }
     356                                                });
     357                                                popup.add(downloadPackage);
    334358                                        }
    335359
  • AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java

    r658 r673  
    2929        private Vector<Boolean> install = new Vector<Boolean>();
    3030
    31         private HashSet<DownloadSizeListener> listeners = new HashSet<DownloadSizeListener>();
     31        private HashSet<ModInstallSelectionListener> listeners = new HashSet<ModInstallSelectionListener>();
    3232
    3333        private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
     
    210210        public void revertSelection() {
    211211                install.clear();
     212                int count = 0;
    212213                for (int i = 0; i < items.size(); i++) {
    213                         install.add(i, items.get(i).isInstalled());
    214                 }
    215                 notifyDownloadSize(0);
     214                        boolean installed = items.get(i).isInstalled();
     215                        install.add(i, installed);
     216                        if (installed)
     217                                count++;
     218                }
     219                notifyDownloadSize(0, count);
    216220                fireTableDataChanged();
    217221        }
     
    262266        }
    263267
    264         private void notifyDownloadSize(int size) {
    265                 for (DownloadSizeListener dsl : listeners)
    266                         dsl.downloadSizeChanged(size);
     268        private void notifyDownloadSize(int size, int count) {
     269                for (ModInstallSelectionListener dsl : listeners)
     270                        dsl.modInstallSelectionChanged(size, count);
    267271        }
    268272
     
    274278
    275279                        int size = 0;
     280                        int count = 0;
    276281                        for (int i = 0; i < items.size(); i++) {
    277282                                if (install.get(i)) {
     283                                        count++;
    278284                                        Package m = items.get(i);
    279285                                        if (!m.isLocalAvailable())
     
    281287                                }
    282288                        }
    283                         notifyDownloadSize(size);
     289                        notifyDownloadSize(size, count);
    284290                }
    285291        }
     
    289295         *            Listener to receive download size changed events
    290296         */
    291         public void addDownloadSizeListener(DownloadSizeListener lis) {
     297        public void addDownloadSizeListener(ModInstallSelectionListener lis) {
    292298                listeners.add(lis);
    293299        }
     
    297303         *            Listener to no longer receive download size changed events
    298304         */
    299         public void removeDownloadSizeListener(DownloadSizeListener lis) {
     305        public void removeDownloadSizeListener(ModInstallSelectionListener lis) {
    300306                listeners.remove(lis);
    301307        }
  • AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties

    r672 r673  
    4444radLocal.text=Downloaded
    4545lblShowFilter.text=Filter:
     46lblSelectedMods.text=Mods selected for installation:
    4647lblDownloadSize.text=Size of files to download:
    4748
  • AE/installer2/src/net/oni2/aeinstaller/localization/ModTable.properties

    r660 r673  
    2020openModFolder.text=Open mod folder
    2121openDepotPage.text=Open Depot page in browser
     22downloadPackage.text=(Re)Download the package
    2223deletePackage.text=Delete package locally
    2324
Note: See TracChangeset for help on using the changeset viewer.