Ignore:
Timestamp:
Jan 18, 2013, 1:03:21 PM (12 years ago)
Author:
alloc
Message:

AEI2 0.89:

  • Added all/downloaded/online filter
  • Added -All- entry to type selection
  • Added creator-column to mod table
Location:
AE/installer2/src/net/oni2/aeinstaller
Files:
7 edited

Legend:

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

    r629 r630  
    11appname=AE Installer 2
    2 appversion=0.88
     2appversion=0.89
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java

    r629 r630  
    3636import javax.swing.JPanel;
    3737import javax.swing.JPopupMenu;
     38import javax.swing.JRadioButton;
    3839import javax.swing.JSplitPane;
    3940import javax.swing.JTable;
     
    99100
    100101        private JComboBox cmbModTypes;
     102        private JRadioButton radAll;
     103        private JRadioButton radOnline;
     104        private JRadioButton radLocal;
    101105        private JTable tblMods;
    102106        private ModTableModel model;
     
    139143                getRootPane().setDefaultButton(btnInstall);
    140144                lblDownloadSizeVal.setText(SizeFormatter.format(0, 2));
     145                radAll.setSelected(true);
    141146        }
    142147
     
    148153                        types.put(t.getName(), t);
    149154                }
     155                cmbModTypes.addItem("-All-");
    150156                for (Type t : types.values()) {
    151157                        cmbModTypes.addItem(t);
     
    232238                tblMods.setRowSorter(sorter);
    233239
    234                 sorter.setRowFilter(new ModTableFilter(null));
     240                sorter.setRowFilter(new ModTableFilter(null, 0));
    235241
    236242                List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
     
    662668        }
    663669
     670        private void updateTableFilter() {
     671                Object o = cmbModTypes.getSelectedItem();
     672                Type t = null;
     673                if (o instanceof Type)
     674                        t = (Type) o;
     675                int downloadState = 0;
     676                if (radOnline.isSelected())
     677                        downloadState = 1;
     678                if (radLocal.isSelected())
     679                        downloadState = 2;
     680                sorter.setRowFilter(new ModTableFilter(t, downloadState));
     681        }
     682
    664683        @SuppressWarnings("unused")
    665684        private void modTypeSelection() {
    666                 Type t = (Type) cmbModTypes.getSelectedItem();
    667                 if (t != null)
    668                         sorter.setRowFilter(new ModTableFilter(t));
    669                 else
    670                         sorter.setRowFilter(new ModTableFilter(null));
     685                updateTableFilter();
     686        }
     687
     688        @SuppressWarnings("unused")
     689        private void showTypeSelection() {
     690                updateTableFilter();
    671691        }
    672692
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml

    r623 r630  
    5050            - JLabel(name=lblModTypes, text=lblModTypes.text)
    5151            - JComboBox(name=cmbModTypes, onAction=modTypeSelection)
     52            - JLabel(name=lblShowOnly, text=lblShowOnly.text)
     53            - JRadioButton(name=radAll, text=radAll.text, onAction=showTypeSelection)
     54            - JRadioButton(name=radOnline, text=radOnline.text, onAction=showTypeSelection)
     55            - JRadioButton(name=radLocal, text=radLocal.text, onAction=showTypeSelection)
     56            - ButtonGroup: [radAll,radOnline,radLocal]
    5257            - JScrollPane(name=scrollMods, vScrollBar=always, hScrollBar=never):
    5358                JTable(name=tblMods, visible=false)
     
    5863            - MigLayout: |
    5964                 [grow]
    60                  lblModTypes<,cmbModTypes           [min]
    61                  scrollMods                         [grow]
    62                  >btnRevertSelection,btnInstall     [min]
    63                  lblDownloadSize,lblDownloadSizeVal [min]
     65                 lblModTypes<,cmbModTypes               [min]
     66                 lblShowOnly<,radAll,radOnline,radLocal [min]
     67                 scrollMods                             [grow]
     68                 >btnRevertSelection,btnInstall         [min]
     69                 lblDownloadSize,lblDownloadSizeVal     [min]
    6470        - JPanel(name=panInfo):
    6571            - JLabel(name=lblSubmitter, text=lblSubmitter.text)
  • AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableFilter.java

    r608 r630  
    1111public class ModTableFilter extends RowFilter<ModTableModel, Integer> {
    1212        Type type = null;
     13        int downloadState = 0;
    1314
    1415        /**
    1516         * @param type
    1617         *            Type of mods to show (null for all)
     18         * @param downloadState
     19         *            Show only: 0 = all, 1 = online, 2 = downloaded
    1720         */
    18         public ModTableFilter(Type type) {
     21        public ModTableFilter(Type type, int downloadState) {
    1922                super();
    2023                this.type = type;
     24                this.downloadState = downloadState;
    2125        }
    2226
     
    2529                        RowFilter.Entry<? extends ModTableModel, ? extends Integer> entry) {
    2630                Mod mod = (Mod) entry.getModel().getValueAt(entry.getIdentifier(), -1);
    27 
     31               
    2832                if (mod.isMandatoryMod())
    2933                        return false;
     
    3236                        return false;
    3337
    34                 if (type == null)
    35                         return true;
    36 
    37                 return mod.getTypes().contains(type);
     38                boolean result = true;
     39                if (type != null)
     40                        result &= mod.getTypes().contains(type);
     41                switch (downloadState) {
     42                        case 1:
     43                                result &= !mod.isLocalAvailable();
     44                                break;
     45                        case 2:
     46                                result &= mod.isLocalAvailable();
     47                                break;
     48                }
     49               
     50                return result;
    3851        }
    3952}
  • AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java

    r629 r630  
    4848                        case 2:
    4949                                return mod.getPackageNumberString();
     50                        case 3:
     51                                return mod.getCreator();
    5052                }
    5153                return null;
     
    6163                        case 2:
    6264                                return bundle.getString("mod.package_number");
     65                        case 3:
     66                                return bundle.getString("mod.creator");
    6367                }
    6468                return null;
     
    7276        @Override
    7377        public int getColumnCount() {
    74                 return 3;
     78                return 4;
    7579        }
    7680
     
    8387                                return String.class;
    8488                        case 2:
     89                                return String.class;
     90                        case 3:
    8591                                return String.class;
    8692                }
     
    100106                switch (colNum) {
    101107                        case 0:
    102                                 w = 50;
     108                                w = 60;
    103109                                col.setPreferredWidth(w);
    104110                                col.setMinWidth(w);
     
    113119                                col.setMinWidth(w);
    114120                                col.setMaxWidth(w);
     121                                break;
     122                        case 3:
     123                                col.setPreferredWidth(90);
    115124                                break;
    116125                }
  • AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties

    r629 r630  
    3636btnInstall.tooltip=Install selected mods
    3737lblModTypes.text=Mod type:
     38lblShowOnly.text=Show only:
     39radAll.text=All
     40radOnline.text=Online
     41radLocal.text=Downloaded
    3842lblDownloadSize.text=Size of files to download:
    3943
  • AE/installer2/src/net/oni2/aeinstaller/localization/ModTableModel.properties

    r629 r630  
    22mod.package_number=Pkg#
    33mod.install=Install
     4mod.creator=Creator
Note: See TracChangeset for help on using the changeset viewer.