Ignore:
Timestamp:
Mar 21, 2013, 12:33:53 PM (12 years ago)
Author:
alloc
Message:

AEI2: Looooots of refactorings for breaking out independent features into libraries

Location:
AE/installer2/src/net/oni2/aeinstaller/gui
Files:
6 edited

Legend:

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

    r708 r720  
    1010import java.awt.event.KeyEvent;
    1111import java.io.File;
     12import java.io.FileNotFoundException;
    1213import java.net.URL;
    1314import java.util.Date;
     
    3940import javax.swing.filechooser.FileFilter;
    4041
     42import net.oni2.SettingsManager;
    4143import net.oni2.aeinstaller.AEInstaller2;
    4244import net.oni2.aeinstaller.backend.ImageResizer;
    4345import net.oni2.aeinstaller.backend.Paths;
    44 import net.oni2.aeinstaller.backend.ToolLauncher;
    4546import net.oni2.aeinstaller.backend.SizeFormatter;
    4647import net.oni2.aeinstaller.backend.depot.DepotManager;
    4748import net.oni2.aeinstaller.backend.oni.InstallProgressListener;
    4849import net.oni2.aeinstaller.backend.oni.Installer;
     50import net.oni2.aeinstaller.backend.oni.OniLauncher;
    4951import net.oni2.aeinstaller.backend.oni.OniSplit;
    5052import net.oni2.aeinstaller.backend.packages.Package;
     
    5759import net.oni2.aeinstaller.gui.corepackages.CorePackagesDialog;
    5860import net.oni2.aeinstaller.gui.downloadwindow.Downloader;
     61import net.oni2.aeinstaller.gui.modtable.EApplyFilterTo;
    5962import net.oni2.aeinstaller.gui.modtable.ModInstallSelectionListener;
    60 import net.oni2.aeinstaller.gui.modtable.EApplyFilterTo;
    6163import net.oni2.aeinstaller.gui.modtable.ModSelectionListener;
    6264import net.oni2.aeinstaller.gui.modtable.ModTable;
     
    6567import net.oni2.aeinstaller.gui.settings.SettingsDialog;
    6668import net.oni2.aeinstaller.gui.toolmanager.ToolManager;
    67 import net.oni2.applicationinvoker.AppExecution;
    68 import net.oni2.settingsmanager.Settings;
    69 import net.oni2.settingsmanager.Settings.Platform;
     69import net.oni2.platformtools.PlatformInformation;
     70import net.oni2.platformtools.PlatformInformation.Platform;
     71import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
     72import net.oni2.platformtools.applicationinvoker.ERuntimeNotInstalledException;
    7073
    7174import org.javabuilders.BuildResult;
     
    138141                scrollMods.setViewportView(tblMods);
    139142
    140                 contents.setDividerLocation(Settings.getInstance().get("win_main_divloc", 550));
     143                contents.setDividerLocation(SettingsManager.getInstance().get(
     144                                "win_main_divloc", 550));
    141145                contents.setResizeWeight(0.4);
    142146
    143                 if (Settings.getPlatform() == Platform.MACOS) {
     147                if (PlatformInformation.getPlatform() == Platform.MACOS) {
    144148                        mainMenu.setVisible(false);
    145149                }
     
    165169                tblMods.addModSelectionListener(this);
    166170                tblMods.addDownloadSizeListener(this);
    167                
    168                 setSize(Settings.getInstance().get("win_main_width", 950), Settings.getInstance().get("win_main_height", 600));
     171
     172                setSize(SettingsManager.getInstance().get("win_main_width", 950),
     173                                SettingsManager.getInstance().get("win_main_height", 600));
    169174                setLocationRelativeTo(null);
    170175        }
     
    190195
    191196        private void saveLocalData() {
    192                 Settings.getInstance().put("win_main_divloc", contents.getDividerLocation());
    193                 Settings.getInstance().put("win_main_width", getWidth());
    194                 Settings.getInstance().put("win_main_height", getHeight());
    195                 Settings.getInstance().serializeToFile(Paths.getSettingsFilename());
     197                SettingsManager.getInstance().put("win_main_divloc",
     198                                contents.getDividerLocation());
     199                SettingsManager.getInstance().put("win_main_width", getWidth());
     200                SettingsManager.getInstance().put("win_main_height", getHeight());
     201                SettingsManager.getInstance().serializeToFile(
     202                                Paths.getSettingsFilename());
    196203        }
    197204
    198205        @DoInBackground(progressMessage = "updateDepot.title", cancelable = false, indeterminateProgress = false)
    199206        private void execDepotUpdate(final BackgroundEvent evt) {
    200                 if (!Settings.getInstance().isOfflineMode()
    201                                 && !Settings.getInstance().isNoCacheUpdateMode()) {
     207                if (!SettingsManager.getInstance().isOfflineMode()
     208                                && !SettingsManager.getInstance().isNoCacheUpdateMode()) {
    202209                        long start = new Date().getTime();
    203210
     
    222229        private void checkUpdates(Object evtSource) {
    223230                if ((evtSource != this)
    224                                 || Settings.getInstance().get("notifyupdates", true)) {
    225                         if (Settings.getInstance().isOfflineMode()) {
     231                                || SettingsManager.getInstance().get("notifyupdates", true)) {
     232                        if (SettingsManager.getInstance().isOfflineMode()) {
    226233                                if (evtSource != this) {
    227234                                        JOptionPane.showMessageDialog(
     
    250257                                        size += m.getZipSize();
    251258                                        JCheckBox check = new JCheckBox("Mod: " + m.getName()
    252                                                         + " (" + SizeFormatter.format(m.getZipSize(), 1) + ")");
     259                                                        + " (" + SizeFormatter.format(m.getZipSize(), 1)
     260                                                        + ")");
    253261                                        check.setSelected(true);
    254262                                        check.addItemListener(new ItemListener() {
     
    274282                                        size += m.getZipSize();
    275283                                        JCheckBox check = new JCheckBox("Tool: " + m.getName()
    276                                                         + " (" + SizeFormatter.format(m.getZipSize(), 1) + ")");
     284                                                        + " (" + SizeFormatter.format(m.getZipSize(), 1)
     285                                                        + ")");
    277286                                        check.setSelected(true);
    278287                                        check.addItemListener(new ItemListener() {
     
    313322                                        JCheckBox checkFutureUpdates = new JCheckBox(
    314323                                                        bundle.getString("checkOnStartup.text"));
    315                                         checkFutureUpdates.setSelected(Settings.getInstance().get(
    316                                                         "notifyupdates", true));
     324                                        checkFutureUpdates.setSelected(SettingsManager
     325                                                        .getInstance().get("notifyupdates", true));
    317326                                        checkFutureUpdates.addItemListener(new ItemListener() {
    318327                                                @Override
    319328                                                public void itemStateChanged(ItemEvent evt) {
    320                                                         Settings.getInstance().put("notifyupdates",
     329                                                        SettingsManager.getInstance().put("notifyupdates",
    321330                                                                        evt.getStateChange() == ItemEvent.SELECTED);
    322331                                                }
     
    492501                                        public void actionPerformed(ActionEvent evt) {
    493502                                                try {
    494                                                         ToolLauncher.launch(m);
    495                                                 } catch (Exception ex) {
    496                                                         if (ex.getMessage().contains("JRE"))
     503                                                        ApplicationInvoker.execute(m.getExeType(),
     504                                                                        m.getWorkingDir(), m.getExeFile(), null);
     505                                                } catch (ERuntimeNotInstalledException e) {
     506                                                        JOptionPane.showMessageDialog(null,
     507                                                                        bundle.getString("exeNotFound.text"),
     508                                                                        bundle.getString("exeNotFound.title"),
     509                                                                        JOptionPane.ERROR_MESSAGE);
     510                                                        e.printStackTrace();
     511                                                } catch (FileNotFoundException e) {
     512                                                        if (e.getMessage().contains("JRE"))
    497513                                                                JOptionPane.showMessageDialog(null,
    498514                                                                                bundle.getString("jreNotFound.text"),
    499515                                                                                bundle.getString("jreNotFound.title"),
    500516                                                                                JOptionPane.ERROR_MESSAGE);
    501                                                         if (ex.getMessage().contains(".NET"))
     517                                                        if (e.getMessage().contains(".NET"))
    502518                                                                JOptionPane.showMessageDialog(
    503519                                                                                null,
     
    505521                                                                                bundle.getString("dotNetNotFound.title"),
    506522                                                                                JOptionPane.ERROR_MESSAGE);
     523                                                        if (e.getMessage().contains("Wine"))
     524                                                                JOptionPane.showMessageDialog(null,
     525                                                                                bundle.getString("wineNotFound.text"),
     526                                                                                bundle.getString("wineNotFound.title"),
     527                                                                                JOptionPane.ERROR_MESSAGE);
     528                                                        e.printStackTrace();
    507529                                                }
    508530                                        }
     
    525547        @DoInBackground(progressMessage = "checkCorePackages.title", cancelable = false, indeterminateProgress = false)
    526548        private void checkCorePackages(final BackgroundEvent evt) {
    527                 if (!Settings.getInstance().isOfflineMode()) {
     549                if (!SettingsManager.getInstance().isOfflineMode()) {
    528550                        for (Package m : PackageManager.getInstance().getCoreTools()) {
    529551                                if (m.isNewerAvailable()) {
     
    558580                        }
    559581                        evt.setProgressMessage(bundle.getString("coreToolsInstall.title"));
    560                         Installer.installTools(PackageManager.getInstance().getCoreTools(), false);
     582                        Installer.installTools(PackageManager.getInstance().getCoreTools(),
     583                                        false);
    561584                }
    562585        }
     
    594617                        }
    595618
    596                         if (toDownload.size() > 0 && Settings.getInstance().isOfflineMode()) {
     619                        if (toDownload.size() > 0
     620                                        && SettingsManager.getInstance().isOfflineMode()) {
    597621                                installState = EInstallState.OFFLINE;
    598622                                break;
     
    647671                                                        .getString("installDependencies.none");
    648672
    649                                 if (!Settings.getInstance()
    650                                                 .get("notifyDepsAfterInstall", false)) {
     673                                if (!SettingsManager.getInstance().get(
     674                                                "notifyDepsAfterInstall", false)) {
    651675                                        int res = JOptionPane.showConfirmDialog(this, String
    652676                                                        .format(bundle
     
    736760                                revertSelection();
    737761                                if (installDeps.size() > 0
    738                                                 && Settings.getInstance().get("notifyDepsAfterInstall",
    739                                                                 false)) {
     762                                                && SettingsManager.getInstance().get(
     763                                                                "notifyDepsAfterInstall", false)) {
    740764                                        String installedDeps = "";
    741765                                        for (Package m : installDeps) {
     
    835859        }
    836860
    837         private Vector<String> getBasicOniLaunchParams() {
    838                 Vector<String> params = new Vector<String>();
    839                 File exe = null;
    840                 switch (Settings.getPlatform()) {
    841                         case WIN:
    842                                 exe = new File(Paths.getEditionBasePath(), "Oni.exe");
    843                                 if (exe.exists())
    844                                         params.add(exe.getPath());
    845                                 break;
    846                         case MACOS:
    847                                 exe = new File(Paths.getEditionBasePath(),
    848                                                 "Oni.app/Contents/MacOS/Oni");
    849                                 if (exe.exists())
    850                                         params.add(exe.getPath());
    851                                 break;
    852                         case LINUX:
    853                                 String wine = Settings.getWinePath();
    854                                 exe = new File(Paths.getEditionBasePath(), "Oni.exe");
    855                                 if (exe.exists()) {
    856                                         if (wine != null) {
    857                                                 params.add(wine);
    858                                                 params.add(exe.getPath());
    859                                         }
    860                                 }
    861                                 break;
    862                         default:
    863                 }
    864                 if (params.size() > 0) {
    865                         params.add("-debugfiles");
    866                 }
    867                 return params;
     861        private void oni(boolean windowed) {
     862                try {
     863                        OniLauncher.launch(windowed);
     864                } catch (FileNotFoundException e) {
     865                        JOptionPane.showMessageDialog(this,
     866                                        bundle.getString("oniExeNotFound.text"),
     867                                        bundle.getString("oniExeNotFound.title"),
     868                                        JOptionPane.ERROR_MESSAGE);
     869                        e.printStackTrace();
     870                } catch (ERuntimeNotInstalledException e) {
     871                        JOptionPane.showMessageDialog(this,
     872                                        bundle.getString("wineNotFound.text"),
     873                                        bundle.getString("wineNotFound.title"),
     874                                        JOptionPane.ERROR_MESSAGE);
     875                        e.printStackTrace();
     876                }
    868877        }
    869878
    870879        @SuppressWarnings("unused")
    871880        private void oniFull() {
    872                 Vector<String> params = getBasicOniLaunchParams();
    873                 if (params.size() > 0) {
    874                         AppExecution.execute(params, Paths.getEditionBasePath());
    875                 }
     881                oni(false);
    876882        }
    877883
    878884        @SuppressWarnings("unused")
    879885        private void oniWin() {
    880                 Vector<String> params = getBasicOniLaunchParams();
    881                 if (params.size() > 0) {
    882                         params.add("-noswitch");
    883                         AppExecution.execute(params, Paths.getEditionBasePath());
    884                 }
     886                oni(true);
    885887        }
    886888
  • AE/installer2/src/net/oni2/aeinstaller/gui/corepackages/CorePackagesDialog.java

    r708 r720  
    1212import javax.swing.KeyStroke;
    1313
     14import net.oni2.SettingsManager;
    1415import net.oni2.aeinstaller.backend.packages.Package;
    1516import net.oni2.aeinstaller.gui.modtable.ModSelectionListener;
     
    1718import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType;
    1819import net.oni2.aeinstaller.gui.packageinfobox.PackageInfoBox;
    19 import net.oni2.settingsmanager.Settings;
    2020
    2121import org.javabuilders.BuildResult;
     
    6060                getRootPane().getActionMap().put("close", closeAction);
    6161
    62                 contents.setDividerLocation(Settings.getInstance().get("win_core_divloc", 550));
     62                contents.setDividerLocation(SettingsManager.getInstance().get("win_core_divloc", 550));
    6363                contents.setResizeWeight(0.4);
    6464
     
    6969                tblTools.addModSelectionListener(this);
    7070
    71                 setSize(Settings.getInstance().get("win_core_width", 950), Settings.getInstance().get("win_core_height", 600));
     71                setSize(SettingsManager.getInstance().get("win_core_width", 950), SettingsManager.getInstance().get("win_core_height", 600));
    7272                setLocationRelativeTo(null);
    7373        }
     
    8080        @SuppressWarnings("unused")
    8181        private void closing() {
    82                 Settings.getInstance().put("win_core_divloc", contents.getDividerLocation());
    83                 Settings.getInstance().put("win_core_width", getWidth());
    84                 Settings.getInstance().put("win_core_height", getHeight());
     82                SettingsManager.getInstance().put("win_core_divloc", contents.getDividerLocation());
     83                SettingsManager.getInstance().put("win_core_width", getWidth());
     84                SettingsManager.getInstance().put("win_core_height", getHeight());
    8585        }
    8686}
  • AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java

    r708 r720  
    3535import javax.swing.table.TableRowSorter;
    3636
     37import net.oni2.SettingsManager;
    3738import net.oni2.aeinstaller.backend.packages.Package;
    3839import net.oni2.aeinstaller.backend.packages.Type;
    3940import net.oni2.aeinstaller.gui.downloadwindow.Downloader;
    40 import net.oni2.settingsmanager.Settings;
    4141
    4242/**
     
    103103                List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
    104104
    105                 int sortCol = Settings.getInstance().get("modSortColumn", 1);
    106                 SortOrder sortOrder = SortOrder.valueOf(Settings.getInstance().get(
     105                int sortCol = SettingsManager.getInstance().get("modSortColumn", 1);
     106                SortOrder sortOrder = SortOrder.valueOf(SettingsManager.getInstance().get(
    107107                                "modSortOrder", "ASCENDING"));
    108108
     
    244244                                int col = keys.get(0).getColumn();
    245245                                SortOrder so = keys.get(0).getSortOrder();
    246                                 Settings.getInstance().put("modSortColumn", col);
    247                                 Settings.getInstance().put("modSortOrder", so.toString());
     246                                SettingsManager.getInstance().put("modSortColumn", col);
     247                                SettingsManager.getInstance().put("modSortOrder", so.toString());
    248248                        }
    249249                }
     
    459459                        for (int i = 1; i < columns.size(); i++) {
    460460                                TableColumn tc = columns.get(i);
    461                                 if (!Settings.getInstance().get(
     461                                if (!SettingsManager.getInstance().get(
    462462                                                String.format("modShowColumn%02d", tc.getModelIndex()),
    463463                                                true))
     
    506506                                                        tcm.removeColumn(col);
    507507                                                }
    508                                                 Settings.getInstance().put(
     508                                                SettingsManager.getInstance().put(
    509509                                                                String.format("modShowColumn%02d",
    510510                                                                                col.getModelIndex()), itm.isSelected());
  • AE/installer2/src/net/oni2/aeinstaller/gui/settings/LaFComboModel.java

    r708 r720  
    99import javax.swing.event.ListDataListener;
    1010
    11 import net.oni2.settingsmanager.Settings;
     11import net.oni2.SettingsManager;
    1212
    1313/**
     
    3232
    3333               
    34                 String laf = Settings.getInstance().get("lookandfeel",
     34                String laf = SettingsManager.getInstance().get("lookandfeel",
    3535                                UIManager.getLookAndFeel().getClass().getName());
    3636
  • AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java

    r708 r720  
    1414import javax.swing.UIManager;
    1515
    16 import net.oni2.settingsmanager.Settings;
     16import net.oni2.SettingsManager;
    1717
    1818import org.javabuilders.BuildResult;
     
    6666
    6767        private void initValues() {
    68                 Settings set = Settings.getInstance();
     68                SettingsManager set = SettingsManager.getInstance();
    6969
    7070                laFModel = new LaFComboModel();
     
    7979        @SuppressWarnings("unused")
    8080        private boolean save() {
    81                 Settings set = Settings.getInstance();
     81                SettingsManager set = SettingsManager.getInstance();
    8282
    8383                set.put("notifyupdates", chkNotifyOnStart.isSelected());
  • AE/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java

    r708 r720  
    1717import javax.swing.KeyStroke;
    1818
     19import net.oni2.SettingsManager;
    1920import net.oni2.aeinstaller.backend.oni.Installer;
    2021import net.oni2.aeinstaller.backend.packages.Package;
     
    2425import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType;
    2526import net.oni2.aeinstaller.gui.packageinfobox.PackageInfoBox;
    26 import net.oni2.settingsmanager.Settings;
    2727
    2828import org.javabuilders.BuildResult;
     
    7373                getRootPane().getActionMap().put("close", closeAction);
    7474
    75                 contents.setDividerLocation(Settings.getInstance().get("win_tools_divloc", 550));
     75                contents.setDividerLocation(SettingsManager.getInstance().get("win_tools_divloc", 550));
    7676                contents.setResizeWeight(0.4);
    7777
     
    8787                                SwingJavaBuilder.getConfig().getResource("img.uninstall")));
    8888
    89                 setSize(Settings.getInstance().get("win_tools_width", 950), Settings.getInstance().get("win_tools_height", 600));
     89                setSize(SettingsManager.getInstance().get("win_tools_width", 950), SettingsManager.getInstance().get("win_tools_height", 600));
    9090                setLocationRelativeTo(null);
    9191        }
     
    100100                        } else {
    101101                                if (!selectedPackage.isLocalAvailable()) {
    102                                         if (Settings.getInstance().isOfflineMode()) {
     102                                        if (SettingsManager.getInstance().isOfflineMode()) {
    103103                                                JOptionPane.showMessageDialog(this,
    104104                                                                bundle.getString("offlineMode.text"),
     
    152152        @SuppressWarnings("unused")
    153153        private void closing() {
    154                 Settings.getInstance().put("win_tools_divloc", contents.getDividerLocation());
    155                 Settings.getInstance().put("win_tools_width", getWidth());
    156                 Settings.getInstance().put("win_tools_height", getHeight());
     154                SettingsManager.getInstance().put("win_tools_divloc", contents.getDividerLocation());
     155                SettingsManager.getInstance().put("win_tools_width", getWidth());
     156                SettingsManager.getInstance().put("win_tools_height", getHeight());
    157157        }
    158158}
Note: See TracChangeset for help on using the changeset viewer.