feat: add 5 more favorites views for a total of 10.
This commit is contained in:
parent
d9212fdaed
commit
40e2f2b42d
|
@ -29,11 +29,11 @@ public class GameListDataRenderer extends DefaultListCellRenderer
|
|||
private Color fav5ColorSelected = Color.PINK;
|
||||
|
||||
private final Font bold;
|
||||
private final Font plain;
|
||||
private final Font boldItalic;
|
||||
|
||||
public GameListDataRenderer()
|
||||
{
|
||||
this.plain = getFont().deriveFont(Font.PLAIN);
|
||||
this.boldItalic = getFont().deriveFont(Font.BOLD + Font.ITALIC);
|
||||
this.bold = getFont().deriveFont(Font.BOLD);
|
||||
}
|
||||
|
||||
|
@ -81,6 +81,26 @@ public class GameListDataRenderer extends DefaultListCellRenderer
|
|||
case 5:
|
||||
this.setForeground(isSelected ? fav5ColorSelected : fav5Color);
|
||||
break;
|
||||
case 6:
|
||||
this.setForeground(isSelected ? fav1ColorSelected : fav1Color);
|
||||
this.setFont(boldItalic);
|
||||
break;
|
||||
case 7:
|
||||
this.setForeground(isSelected ? fav2ColorSelected : fav2Color);
|
||||
this.setFont(boldItalic);
|
||||
break;
|
||||
case 8:
|
||||
this.setForeground(isSelected ? fav3ColorSelected : fav3Color);
|
||||
this.setFont(boldItalic);
|
||||
break;
|
||||
case 9:
|
||||
this.setForeground(isSelected ? fav4ColorSelected : fav4Color);
|
||||
this.setFont(boldItalic);
|
||||
break;
|
||||
case 10:
|
||||
this.setForeground(isSelected ? fav5ColorSelected : fav5Color);
|
||||
this.setFont(boldItalic);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -119,6 +139,31 @@ public class GameListDataRenderer extends DefaultListCellRenderer
|
|||
{
|
||||
this.setFont(bold);
|
||||
this.setForeground(isSelected ? fav5ColorSelected : fav5Color);
|
||||
}
|
||||
else if (view.getGameViewId() == GameView.FAVORITES_6_ID)
|
||||
{
|
||||
this.setFont(boldItalic);
|
||||
this.setForeground(isSelected ? fav1ColorSelected : fav1Color);
|
||||
}
|
||||
else if (view.getGameViewId() == GameView.FAVORITES_7_ID)
|
||||
{
|
||||
this.setFont(boldItalic);
|
||||
this.setForeground(isSelected ? fav2ColorSelected : fav2Color);
|
||||
}
|
||||
else if (view.getGameViewId() == GameView.FAVORITES_8_ID)
|
||||
{
|
||||
this.setFont(boldItalic);
|
||||
this.setForeground(isSelected ? fav3ColorSelected : fav3Color);
|
||||
}
|
||||
else if (view.getGameViewId() == GameView.FAVORITES_9_ID)
|
||||
{
|
||||
this.setFont(boldItalic);
|
||||
this.setForeground(isSelected ? fav4ColorSelected : fav4Color);
|
||||
}
|
||||
else if (view.getGameViewId() == GameView.FAVORITES_10_ID)
|
||||
{
|
||||
this.setFont(boldItalic);
|
||||
this.setForeground(isSelected ? fav5ColorSelected : fav5Color);
|
||||
if(index > -1)
|
||||
{
|
||||
this.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.LIGHT_GRAY));
|
||||
|
|
|
@ -530,7 +530,67 @@ public class ListPanel extends JPanel
|
|||
mainPanel.repaintAfterModifications();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void toggleFavorite6()
|
||||
{
|
||||
if (!uiModel.isDataChanged())
|
||||
{
|
||||
for (GameListData glData : list.getSelectedValuesList())
|
||||
{
|
||||
uiModel.toggleFavorite6(glData);
|
||||
}
|
||||
mainPanel.repaintAfterModifications();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite7()
|
||||
{
|
||||
if (!uiModel.isDataChanged())
|
||||
{
|
||||
for (GameListData glData : list.getSelectedValuesList())
|
||||
{
|
||||
uiModel.toggleFavorite7(glData);
|
||||
}
|
||||
mainPanel.repaintAfterModifications();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite8()
|
||||
{
|
||||
if (!uiModel.isDataChanged())
|
||||
{
|
||||
for (GameListData glData : list.getSelectedValuesList())
|
||||
{
|
||||
uiModel.toggleFavorite8(glData);
|
||||
}
|
||||
mainPanel.repaintAfterModifications();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite9()
|
||||
{
|
||||
if (!uiModel.isDataChanged())
|
||||
{
|
||||
for (GameListData glData : list.getSelectedValuesList())
|
||||
{
|
||||
uiModel.toggleFavorite9(glData);
|
||||
}
|
||||
mainPanel.repaintAfterModifications();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite10()
|
||||
{
|
||||
if (!uiModel.isDataChanged())
|
||||
{
|
||||
for (GameListData glData : list.getSelectedValuesList())
|
||||
{
|
||||
uiModel.toggleFavorite10(glData);
|
||||
}
|
||||
mainPanel.repaintAfterModifications();
|
||||
}
|
||||
}
|
||||
|
||||
public void reloadCurrentGameView()
|
||||
{
|
||||
GameListData selectedData = getList().getSelectedValue();
|
||||
|
|
|
@ -198,6 +198,31 @@ public class MainPanel extends JPanel
|
|||
getListPanel().toggleFavorite5();
|
||||
}
|
||||
|
||||
public void toggleFavorite6()
|
||||
{
|
||||
getListPanel().toggleFavorite6();
|
||||
}
|
||||
|
||||
public void toggleFavorite7()
|
||||
{
|
||||
getListPanel().toggleFavorite7();
|
||||
}
|
||||
|
||||
public void toggleFavorite8()
|
||||
{
|
||||
getListPanel().toggleFavorite8();
|
||||
}
|
||||
|
||||
public void toggleFavorite9()
|
||||
{
|
||||
getListPanel().toggleFavorite9();
|
||||
}
|
||||
|
||||
public void toggleFavorite10()
|
||||
{
|
||||
getListPanel().toggleFavorite10();
|
||||
}
|
||||
|
||||
public void runCurrentGame()
|
||||
{
|
||||
if (getListPanel().isSingleGameSelected() && getListPanel().getSelectedIndexInList() > -1)
|
||||
|
|
|
@ -64,11 +64,21 @@ public class MenuManager
|
|||
private JMenuItem toggleFavorite3Item;
|
||||
private JMenuItem toggleFavorite4Item;
|
||||
private JMenuItem toggleFavorite5Item;
|
||||
private JMenuItem toggleFavorite6Item;
|
||||
private JMenuItem toggleFavorite7Item;
|
||||
private JMenuItem toggleFavorite8Item;
|
||||
private JMenuItem toggleFavorite9Item;
|
||||
private JMenuItem toggleFavorite10Item;
|
||||
private JMenuItem clearFavorites1Item;
|
||||
private JMenuItem clearFavorites2Item;
|
||||
private JMenuItem clearFavorites3Item;
|
||||
private JMenuItem clearFavorites4Item;
|
||||
private JMenuItem clearFavorites5Item;
|
||||
private JMenuItem clearFavorites6Item;
|
||||
private JMenuItem clearFavorites7Item;
|
||||
private JMenuItem clearFavorites8Item;
|
||||
private JMenuItem clearFavorites9Item;
|
||||
private JMenuItem clearFavorites10Item;
|
||||
|
||||
private JMenuItem backupDbItem;
|
||||
private JMenuItem restoreDbItem;
|
||||
|
@ -133,12 +143,22 @@ public class MenuManager
|
|||
editMenu.add(getToggleFavorite3Item());
|
||||
editMenu.add(getToggleFavorite4Item());
|
||||
editMenu.add(getToggleFavorite5Item());
|
||||
editMenu.add(getToggleFavorite6Item());
|
||||
editMenu.add(getToggleFavorite7Item());
|
||||
editMenu.add(getToggleFavorite8Item());
|
||||
editMenu.add(getToggleFavorite9Item());
|
||||
editMenu.add(getToggleFavorite10Item());
|
||||
editMenu.addSeparator();
|
||||
editMenu.add(getClearFavorites1Item());
|
||||
editMenu.add(getClearFavorites2Item());
|
||||
editMenu.add(getClearFavorites3Item());
|
||||
editMenu.add(getClearFavorites4Item());
|
||||
editMenu.add(getClearFavorites5Item());
|
||||
editMenu.add(getClearFavorites6Item());
|
||||
editMenu.add(getClearFavorites7Item());
|
||||
editMenu.add(getClearFavorites8Item());
|
||||
editMenu.add(getClearFavorites9Item());
|
||||
editMenu.add(getClearFavorites10Item());
|
||||
toolsMenu = new JMenu("Tools");
|
||||
toolsMenu.setMnemonic('T');
|
||||
toolsMenu.add(getBackupDbItem());
|
||||
|
@ -160,10 +180,10 @@ public class MenuManager
|
|||
uiModel.addSaveChangeListener(e -> {
|
||||
boolean okToEnable = !uiModel.isDataChanged();
|
||||
addGameItem.setEnabled(okToEnable);
|
||||
importCarouselItem.setEnabled(okToEnable);
|
||||
importGamebaseItem.setEnabled(okToEnable);
|
||||
importMenu.setEnabled(okToEnable);
|
||||
exportItem.setEnabled(okToEnable);
|
||||
toggleFavorite1Item.setEnabled(okToEnable);
|
||||
toolsMenu.setEnabled(okToEnable);
|
||||
editMenu.setEnabled(okToEnable);
|
||||
runGameItem.setEnabled(!uiModel.getInfoModel().getGamesFile().isEmpty());
|
||||
refreshItem.setEnabled(okToEnable);
|
||||
});
|
||||
|
@ -362,6 +382,71 @@ public class MenuManager
|
|||
return toggleFavorite5Item;
|
||||
}
|
||||
|
||||
private JMenuItem getToggleFavorite6Item()
|
||||
{
|
||||
toggleFavorite6Item = new JMenuItem("Add/remove from favorites 6");
|
||||
KeyStroke keyStrokeToToggleFav = KeyStroke.getKeyStroke(KeyEvent.VK_F6, InputEvent.CTRL_DOWN_MASK);
|
||||
toggleFavorite6Item.setAccelerator(keyStrokeToToggleFav);
|
||||
toggleFavorite6Item.addActionListener(e -> {
|
||||
mainWindow.setWaitCursor(true);
|
||||
mainWindow.getMainPanel().toggleFavorite6();
|
||||
mainWindow.setWaitCursor(false);
|
||||
});
|
||||
return toggleFavorite6Item;
|
||||
}
|
||||
|
||||
private JMenuItem getToggleFavorite7Item()
|
||||
{
|
||||
toggleFavorite7Item = new JMenuItem("Add/remove from favorites 7");
|
||||
KeyStroke keyStrokeToToggleFav = KeyStroke.getKeyStroke(KeyEvent.VK_F7, InputEvent.CTRL_DOWN_MASK);
|
||||
toggleFavorite7Item.setAccelerator(keyStrokeToToggleFav);
|
||||
toggleFavorite7Item.addActionListener(e -> {
|
||||
mainWindow.setWaitCursor(true);
|
||||
mainWindow.getMainPanel().toggleFavorite7();
|
||||
mainWindow.setWaitCursor(false);
|
||||
});
|
||||
return toggleFavorite7Item;
|
||||
}
|
||||
|
||||
private JMenuItem getToggleFavorite8Item()
|
||||
{
|
||||
toggleFavorite8Item = new JMenuItem("Add/remove from favorites 8");
|
||||
KeyStroke keyStrokeToToggleFav = KeyStroke.getKeyStroke(KeyEvent.VK_F8, InputEvent.CTRL_DOWN_MASK);
|
||||
toggleFavorite8Item.setAccelerator(keyStrokeToToggleFav);
|
||||
toggleFavorite8Item.addActionListener(e -> {
|
||||
mainWindow.setWaitCursor(true);
|
||||
mainWindow.getMainPanel().toggleFavorite8();
|
||||
mainWindow.setWaitCursor(false);
|
||||
});
|
||||
return toggleFavorite8Item;
|
||||
}
|
||||
|
||||
private JMenuItem getToggleFavorite9Item()
|
||||
{
|
||||
toggleFavorite9Item = new JMenuItem("Add/remove from favorites 9");
|
||||
KeyStroke keyStrokeToToggleFav = KeyStroke.getKeyStroke(KeyEvent.VK_F9, InputEvent.CTRL_DOWN_MASK);
|
||||
toggleFavorite9Item.setAccelerator(keyStrokeToToggleFav);
|
||||
toggleFavorite9Item.addActionListener(e -> {
|
||||
mainWindow.setWaitCursor(true);
|
||||
mainWindow.getMainPanel().toggleFavorite9();
|
||||
mainWindow.setWaitCursor(false);
|
||||
});
|
||||
return toggleFavorite9Item;
|
||||
}
|
||||
|
||||
private JMenuItem getToggleFavorite10Item()
|
||||
{
|
||||
toggleFavorite10Item = new JMenuItem("Add/remove from favorites 10");
|
||||
KeyStroke keyStrokeToToggleFav = KeyStroke.getKeyStroke(KeyEvent.VK_F10, InputEvent.CTRL_DOWN_MASK);
|
||||
toggleFavorite10Item.setAccelerator(keyStrokeToToggleFav);
|
||||
toggleFavorite10Item.addActionListener(e -> {
|
||||
mainWindow.setWaitCursor(true);
|
||||
mainWindow.getMainPanel().toggleFavorite10();
|
||||
mainWindow.setWaitCursor(false);
|
||||
});
|
||||
return toggleFavorite10Item;
|
||||
}
|
||||
|
||||
private JMenuItem getClearFavorites1Item()
|
||||
{
|
||||
clearFavorites1Item = new JMenuItem("Clear favorites 1");
|
||||
|
@ -369,7 +454,7 @@ public class MenuManager
|
|||
KeyStroke.getKeyStroke(KeyEvent.VK_F1, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites1Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites1Item.addActionListener(e -> {
|
||||
clearFavorites();
|
||||
clearFavorites(1);
|
||||
});
|
||||
return clearFavorites1Item;
|
||||
}
|
||||
|
@ -381,7 +466,7 @@ public class MenuManager
|
|||
KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites2Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites2Item.addActionListener(e -> {
|
||||
clearFavorites2();
|
||||
clearFavorites(2);
|
||||
});
|
||||
return clearFavorites2Item;
|
||||
}
|
||||
|
@ -393,7 +478,7 @@ public class MenuManager
|
|||
KeyStroke.getKeyStroke(KeyEvent.VK_F3, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites3Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites3Item.addActionListener(e -> {
|
||||
clearFavorites3();
|
||||
clearFavorites(3);
|
||||
});
|
||||
return clearFavorites3Item;
|
||||
}
|
||||
|
@ -405,7 +490,7 @@ public class MenuManager
|
|||
KeyStroke.getKeyStroke(KeyEvent.VK_F4, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites4Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites4Item.addActionListener(e -> {
|
||||
clearFavorites4();
|
||||
clearFavorites(4);
|
||||
});
|
||||
return clearFavorites4Item;
|
||||
}
|
||||
|
@ -417,11 +502,71 @@ public class MenuManager
|
|||
KeyStroke.getKeyStroke(KeyEvent.VK_F5, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites5Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites5Item.addActionListener(e -> {
|
||||
clearFavorites5();
|
||||
clearFavorites(5);
|
||||
});
|
||||
return clearFavorites5Item;
|
||||
}
|
||||
|
||||
private JMenuItem getClearFavorites6Item()
|
||||
{
|
||||
clearFavorites6Item = new JMenuItem("Clear favorites 6");
|
||||
KeyStroke keyStrokeToClearFav =
|
||||
KeyStroke.getKeyStroke(KeyEvent.VK_F6, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites6Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites6Item.addActionListener(e -> {
|
||||
clearFavorites(6);
|
||||
});
|
||||
return clearFavorites6Item;
|
||||
}
|
||||
|
||||
private JMenuItem getClearFavorites7Item()
|
||||
{
|
||||
clearFavorites7Item = new JMenuItem("Clear favorites 7");
|
||||
KeyStroke keyStrokeToClearFav =
|
||||
KeyStroke.getKeyStroke(KeyEvent.VK_F7, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites7Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites7Item.addActionListener(e -> {
|
||||
clearFavorites(7);
|
||||
});
|
||||
return clearFavorites7Item;
|
||||
}
|
||||
|
||||
private JMenuItem getClearFavorites8Item()
|
||||
{
|
||||
clearFavorites8Item = new JMenuItem("Clear favorites 8");
|
||||
KeyStroke keyStrokeToClearFav =
|
||||
KeyStroke.getKeyStroke(KeyEvent.VK_F8, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites8Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites8Item.addActionListener(e -> {
|
||||
clearFavorites(8);
|
||||
});
|
||||
return clearFavorites8Item;
|
||||
}
|
||||
|
||||
private JMenuItem getClearFavorites9Item()
|
||||
{
|
||||
clearFavorites9Item = new JMenuItem("Clear favorites 9");
|
||||
KeyStroke keyStrokeToClearFav =
|
||||
KeyStroke.getKeyStroke(KeyEvent.VK_F9, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites9Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites9Item.addActionListener(e -> {
|
||||
clearFavorites(9);
|
||||
});
|
||||
return clearFavorites9Item;
|
||||
}
|
||||
|
||||
private JMenuItem getClearFavorites10Item()
|
||||
{
|
||||
clearFavorites10Item = new JMenuItem("Clear favorites 10");
|
||||
KeyStroke keyStrokeToClearFav =
|
||||
KeyStroke.getKeyStroke(KeyEvent.VK_F10, InputEvent.CTRL_DOWN_MASK + InputEvent.SHIFT_DOWN_MASK);
|
||||
clearFavorites10Item.setAccelerator(keyStrokeToClearFav);
|
||||
clearFavorites10Item.addActionListener(e -> {
|
||||
clearFavorites(10);
|
||||
});
|
||||
return clearFavorites10Item;
|
||||
}
|
||||
|
||||
private JMenuItem getBackupDbItem()
|
||||
{
|
||||
backupDbItem = new JMenuItem("Backup database");
|
||||
|
@ -670,58 +815,17 @@ public class MenuManager
|
|||
}
|
||||
}
|
||||
|
||||
private void clearFavorites()
|
||||
private void clearFavorites(int number)
|
||||
{
|
||||
String message = "Are you sure you want to clear all games marked as favorites 1?";
|
||||
int option = JOptionPane.showConfirmDialog(MainWindow.getInstance()
|
||||
.getMainPanel(), message, "Clear all favorites 1", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
|
||||
String message = "Are you sure you want to clear all games marked as favorites " + number + "?";
|
||||
int option = JOptionPane.showConfirmDialog(MainWindow.getInstance().getMainPanel(),
|
||||
message,
|
||||
"Clear all favorites " + number,
|
||||
JOptionPane.YES_NO_OPTION,
|
||||
JOptionPane.QUESTION_MESSAGE);
|
||||
if (option == JOptionPane.YES_OPTION)
|
||||
{
|
||||
uiModel.clearFavorites(1);
|
||||
}
|
||||
}
|
||||
|
||||
private void clearFavorites2()
|
||||
{
|
||||
String message = "Are you sure you want to clear all games marked as favorites 2?";
|
||||
int option = JOptionPane.showConfirmDialog(MainWindow.getInstance()
|
||||
.getMainPanel(), message, "Clear all favorites 2", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
|
||||
if (option == JOptionPane.YES_OPTION)
|
||||
{
|
||||
uiModel.clearFavorites(2);
|
||||
}
|
||||
}
|
||||
|
||||
private void clearFavorites3()
|
||||
{
|
||||
String message = "Are you sure you want to clear all games marked as favorites 3?";
|
||||
int option = JOptionPane.showConfirmDialog(MainWindow.getInstance()
|
||||
.getMainPanel(), message, "Clear all favorites 3", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
|
||||
if (option == JOptionPane.YES_OPTION)
|
||||
{
|
||||
uiModel.clearFavorites(3);
|
||||
}
|
||||
}
|
||||
|
||||
private void clearFavorites4()
|
||||
{
|
||||
String message = "Are you sure you want to clear all games marked as favorites 4?";
|
||||
int option = JOptionPane.showConfirmDialog(MainWindow.getInstance()
|
||||
.getMainPanel(), message, "Clear all favorites 4", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
|
||||
if (option == JOptionPane.YES_OPTION)
|
||||
{
|
||||
uiModel.clearFavorites(4);
|
||||
}
|
||||
}
|
||||
|
||||
private void clearFavorites5()
|
||||
{
|
||||
String message = "Are you sure you want to clear all games marked as favorites 5?";
|
||||
int option = JOptionPane.showConfirmDialog(MainWindow.getInstance()
|
||||
.getMainPanel(), message, "Clear all favorites 5", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
|
||||
if (option == JOptionPane.YES_OPTION)
|
||||
{
|
||||
uiModel.clearFavorites(5);
|
||||
uiModel.clearFavorites(number);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package se.lantz.model;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.io.File;
|
||||
|
@ -19,7 +18,6 @@ import se.lantz.manager.ImportManager;
|
|||
import se.lantz.model.data.GameDetails;
|
||||
import se.lantz.model.data.GameListData;
|
||||
import se.lantz.model.data.GameView;
|
||||
import se.lantz.model.data.ScraperFields;
|
||||
import se.lantz.scraper.MobyGamesScraper;
|
||||
import se.lantz.scraper.Scraper;
|
||||
import se.lantz.util.FileManager;
|
||||
|
@ -35,17 +33,27 @@ public class MainViewModel extends AbstractModel
|
|||
|
||||
private GameView selectedGameView;
|
||||
private int allGamesCount = 0;
|
||||
private int favoritesCount = 0;
|
||||
private int favorites1Count = 0;
|
||||
private int favorites2Count = 0;
|
||||
private int favorites3Count = 0;
|
||||
private int favorites4Count = 0;
|
||||
private int favorites5Count = 0;
|
||||
private int favorites6Count = 0;
|
||||
private int favorites7Count = 0;
|
||||
private int favorites8Count = 0;
|
||||
private int favorites9Count = 0;
|
||||
private int favorites10Count = 0;
|
||||
private GameView allGameView;
|
||||
private GameView favoritesView;
|
||||
private GameView favorites1View;
|
||||
private GameView favorites2View;
|
||||
private GameView favorites3View;
|
||||
private GameView favorites4View;
|
||||
private GameView favorites5View;
|
||||
private GameView favorites6View;
|
||||
private GameView favorites7View;
|
||||
private GameView favorites8View;
|
||||
private GameView favorites9View;
|
||||
private GameView favorites10View;
|
||||
|
||||
private InfoModel infoModel = new InfoModel();
|
||||
private JoystickModel joy1Model = new JoystickModel(true);
|
||||
|
@ -77,7 +85,7 @@ public class MainViewModel extends AbstractModel
|
|||
|
||||
resetDataChangedAfterInit();
|
||||
}
|
||||
|
||||
|
||||
public DbConnector getDbConnector()
|
||||
{
|
||||
return this.dbConnector;
|
||||
|
@ -105,38 +113,63 @@ public class MainViewModel extends AbstractModel
|
|||
{
|
||||
//Setup game views
|
||||
allGameView = new GameView(GameView.ALL_GAMES_ID);
|
||||
|
||||
|
||||
allGameView.setName("All Games");
|
||||
allGameView.setSqlQuery("");
|
||||
allGameView.setSqlQuery("");
|
||||
selectedGameView = allGameView;
|
||||
|
||||
|
||||
//Add favorites views
|
||||
favoritesView = new GameView(GameView.FAVORITES_ID);
|
||||
favoritesView.setName("Favorites 1");
|
||||
favoritesView.setSqlQuery(" WHERE Favorite = 1");
|
||||
|
||||
favorites1View = new GameView(GameView.FAVORITES_ID);
|
||||
favorites1View.setName("Favorites 1");
|
||||
favorites1View.setSqlQuery(" WHERE Favorite = 1");
|
||||
|
||||
favorites2View = new GameView(GameView.FAVORITES_2_ID);
|
||||
favorites2View.setName("Favorites 2");
|
||||
favorites2View.setSqlQuery(" WHERE Favorite = 2");
|
||||
|
||||
|
||||
favorites3View = new GameView(GameView.FAVORITES_3_ID);
|
||||
favorites3View.setName("Favorites 3");
|
||||
favorites3View.setSqlQuery(" WHERE Favorite = 3");
|
||||
|
||||
|
||||
favorites4View = new GameView(GameView.FAVORITES_4_ID);
|
||||
favorites4View.setName("Favorites 4");
|
||||
favorites4View.setSqlQuery(" WHERE Favorite = 4");
|
||||
|
||||
|
||||
favorites5View = new GameView(GameView.FAVORITES_5_ID);
|
||||
favorites5View.setName("Favorites 5");
|
||||
favorites5View.setSqlQuery(" WHERE Favorite = 5");
|
||||
|
||||
|
||||
favorites6View = new GameView(GameView.FAVORITES_6_ID);
|
||||
favorites6View.setName("Favorites 6");
|
||||
favorites6View.setSqlQuery(" WHERE Favorite = 6");
|
||||
|
||||
favorites7View = new GameView(GameView.FAVORITES_7_ID);
|
||||
favorites7View.setName("Favorites 7");
|
||||
favorites7View.setSqlQuery(" WHERE Favorite = 7");
|
||||
|
||||
favorites8View = new GameView(GameView.FAVORITES_8_ID);
|
||||
favorites8View.setName("Favorites 8");
|
||||
favorites8View.setSqlQuery(" WHERE Favorite = 8");
|
||||
|
||||
favorites9View = new GameView(GameView.FAVORITES_9_ID);
|
||||
favorites9View.setName("Favorites 9");
|
||||
favorites9View.setSqlQuery(" WHERE Favorite = 9");
|
||||
|
||||
favorites10View = new GameView(GameView.FAVORITES_10_ID);
|
||||
favorites10View.setName("Favorites 10");
|
||||
favorites10View.setSqlQuery(" WHERE Favorite = 10");
|
||||
|
||||
gameViewModel.addElement(allGameView);
|
||||
gameViewModel.addElement(favoritesView);
|
||||
gameViewModel.addElement(favorites1View);
|
||||
gameViewModel.addElement(favorites2View);
|
||||
gameViewModel.addElement(favorites3View);
|
||||
gameViewModel.addElement(favorites4View);
|
||||
gameViewModel.addElement(favorites5View);
|
||||
gameViewModel.addElement(favorites6View);
|
||||
gameViewModel.addElement(favorites7View);
|
||||
gameViewModel.addElement(favorites8View);
|
||||
gameViewModel.addElement(favorites9View);
|
||||
gameViewModel.addElement(favorites10View);
|
||||
|
||||
List<GameView> gameViewList = dbConnector.loadGameViews();
|
||||
Collections.sort(gameViewList);
|
||||
|
@ -217,11 +250,14 @@ public class MainViewModel extends AbstractModel
|
|||
TextComponentSupport.clearUndoManagers();
|
||||
}
|
||||
|
||||
public StringBuilder importGameInfo(List<String> rowValues, ImportManager.Options option, int addAsFavorite, String viewTag)
|
||||
public StringBuilder importGameInfo(List<String> rowValues,
|
||||
ImportManager.Options option,
|
||||
int addAsFavorite,
|
||||
String viewTag)
|
||||
{
|
||||
return dbConnector.importRowsInGameInfoTable(rowValues, option, addAsFavorite, viewTag);
|
||||
}
|
||||
|
||||
|
||||
public void cleanupAfterImport()
|
||||
{
|
||||
dbConnector.cleanupAfterImport();
|
||||
|
@ -286,11 +322,16 @@ public class MainViewModel extends AbstractModel
|
|||
{
|
||||
this.allGamesCount = gamesList.size();
|
||||
//Update favorites count
|
||||
favoritesCount = 0;
|
||||
favorites1Count = 0;
|
||||
favorites2Count = 0;
|
||||
favorites3Count = 0;
|
||||
favorites4Count = 0;
|
||||
favorites5Count = 0;
|
||||
favorites6Count = 0;
|
||||
favorites7Count = 0;
|
||||
favorites8Count = 0;
|
||||
favorites9Count = 0;
|
||||
favorites10Count = 0;
|
||||
for (GameListData gameListData : gamesList)
|
||||
{
|
||||
if (gameListData.isFavorite())
|
||||
|
@ -298,7 +339,7 @@ public class MainViewModel extends AbstractModel
|
|||
switch (gameListData.getFavoriteNumber())
|
||||
{
|
||||
case 1:
|
||||
favoritesCount++;
|
||||
favorites1Count++;
|
||||
break;
|
||||
case 2:
|
||||
favorites2Count++;
|
||||
|
@ -312,16 +353,36 @@ public class MainViewModel extends AbstractModel
|
|||
case 5:
|
||||
favorites5Count++;
|
||||
break;
|
||||
case 6:
|
||||
favorites6Count++;
|
||||
break;
|
||||
case 7:
|
||||
favorites7Count++;
|
||||
break;
|
||||
case 8:
|
||||
favorites8Count++;
|
||||
break;
|
||||
case 9:
|
||||
favorites9Count++;
|
||||
break;
|
||||
case 10:
|
||||
favorites10Count++;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
favoritesView.setGameCount(favoritesCount);
|
||||
favorites1View.setGameCount(favorites1Count);
|
||||
favorites2View.setGameCount(favorites2Count);
|
||||
favorites3View.setGameCount(favorites3Count);
|
||||
favorites4View.setGameCount(favorites4Count);
|
||||
favorites5View.setGameCount(favorites5Count);
|
||||
favorites6View.setGameCount(favorites6Count);
|
||||
favorites7View.setGameCount(favorites7Count);
|
||||
favorites8View.setGameCount(favorites8Count);
|
||||
favorites9View.setGameCount(favorites9Count);
|
||||
favorites10View.setGameCount(favorites10Count);
|
||||
}
|
||||
this.disableChangeNotification(false);
|
||||
logger.debug("...done.");
|
||||
|
@ -399,7 +460,7 @@ public class MainViewModel extends AbstractModel
|
|||
//Update duplicate index
|
||||
infoModel.setDuplicateIndex(dbConnector.getGameDuplicateIndexToUse(infoModel.getTitle()));
|
||||
}
|
||||
|
||||
|
||||
if (!validateRequiredFields().isEmpty())
|
||||
{
|
||||
//Validate that all required fields are set here!!
|
||||
|
@ -409,7 +470,7 @@ public class MainViewModel extends AbstractModel
|
|||
|
||||
//Update with empty cover and/or screen before saving
|
||||
infoModel.updateCoverAndScreensIfEmpty(getSystemModel().isC64());
|
||||
|
||||
|
||||
//Update all file names to match title
|
||||
infoModel.updateFileNames();
|
||||
//Create game details
|
||||
|
@ -443,29 +504,44 @@ public class MainViewModel extends AbstractModel
|
|||
selectedData.setGameId(currentGameId);
|
||||
if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_ID)
|
||||
{
|
||||
//Mark as favorites
|
||||
toggleFavorite(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_2_ID)
|
||||
{
|
||||
//Mark as favorites
|
||||
toggleFavorite2(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_3_ID)
|
||||
{
|
||||
//Mark as favorites
|
||||
toggleFavorite3(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_4_ID)
|
||||
{
|
||||
//Mark as favorites
|
||||
toggleFavorite4(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_5_ID)
|
||||
{
|
||||
//Mark as favorites
|
||||
toggleFavorite5(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_6_ID)
|
||||
{
|
||||
toggleFavorite6(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_7_ID)
|
||||
{
|
||||
toggleFavorite7(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_8_ID)
|
||||
{
|
||||
toggleFavorite8(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_9_ID)
|
||||
{
|
||||
toggleFavorite9(selectedData);
|
||||
}
|
||||
else if (getSelectedGameView().getGameViewId() == GameView.FAVORITES_10_ID)
|
||||
{
|
||||
toggleFavorite10(selectedData);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -520,13 +596,13 @@ public class MainViewModel extends AbstractModel
|
|||
//Reload the current view
|
||||
reloadCurrentGameView();
|
||||
}
|
||||
|
||||
|
||||
public void deleteAllGamesInCurrentView()
|
||||
{
|
||||
//First delete all covers, screens and games
|
||||
for (int i = 0; i < getGameListModel().getSize(); i++)
|
||||
{
|
||||
GameListData currentData = getGameListModel().getElementAt(i);
|
||||
GameListData currentData = getGameListModel().getElementAt(i);
|
||||
if (!currentData.getTitle().contains("THEC64") || currentData.getTitle().contains("VIC20"))
|
||||
{
|
||||
GameDetails details = dbConnector.getGameDetails(currentData.getGameId());
|
||||
|
@ -548,7 +624,7 @@ public class MainViewModel extends AbstractModel
|
|||
reloadGameViews();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void clearFavorites(int number)
|
||||
{
|
||||
dbConnector.clearFavorites(number);
|
||||
|
@ -600,13 +676,13 @@ public class MainViewModel extends AbstractModel
|
|||
resetDataChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void reduceFavoriteCount(int previousFavorite)
|
||||
{
|
||||
switch (previousFavorite)
|
||||
{
|
||||
case 1:
|
||||
favoritesView.setGameCount(--favoritesCount);
|
||||
favorites1View.setGameCount(--favorites1Count);
|
||||
break;
|
||||
case 2:
|
||||
favorites2View.setGameCount(--favorites2Count);
|
||||
|
@ -620,18 +696,83 @@ public class MainViewModel extends AbstractModel
|
|||
case 5:
|
||||
favorites5View.setGameCount(--favorites5Count);
|
||||
break;
|
||||
case 6:
|
||||
favorites6View.setGameCount(--favorites6Count);
|
||||
break;
|
||||
case 7:
|
||||
favorites7View.setGameCount(--favorites7Count);
|
||||
break;
|
||||
case 8:
|
||||
favorites8View.setGameCount(--favorites8Count);
|
||||
break;
|
||||
case 9:
|
||||
favorites9View.setGameCount(--favorites9Count);
|
||||
break;
|
||||
case 10:
|
||||
favorites10View.setGameCount(--favorites10Count);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite(GameListData data)
|
||||
{
|
||||
favorites1Count = toggleFavorite(data, 1, favorites1Count, favorites1View);
|
||||
}
|
||||
|
||||
public void toggleFavorite2(GameListData data)
|
||||
{
|
||||
favorites2Count = toggleFavorite(data, 2, favorites2Count, favorites2View);
|
||||
}
|
||||
|
||||
public void toggleFavorite3(GameListData data)
|
||||
{
|
||||
favorites3Count = toggleFavorite(data, 3, favorites3Count, favorites3View);
|
||||
}
|
||||
|
||||
public void toggleFavorite4(GameListData data)
|
||||
{
|
||||
favorites4Count = toggleFavorite(data, 4, favorites4Count, favorites4View);
|
||||
}
|
||||
|
||||
public void toggleFavorite5(GameListData data)
|
||||
{
|
||||
favorites5Count = toggleFavorite(data, 5, favorites5Count, favorites5View);
|
||||
}
|
||||
|
||||
public void toggleFavorite6(GameListData data)
|
||||
{
|
||||
favorites6Count = toggleFavorite(data, 6, favorites6Count, favorites6View);
|
||||
}
|
||||
|
||||
public void toggleFavorite7(GameListData data)
|
||||
{
|
||||
favorites7Count = toggleFavorite(data, 7, favorites7Count, favorites7View);
|
||||
}
|
||||
|
||||
public void toggleFavorite8(GameListData data)
|
||||
{
|
||||
favorites8Count = toggleFavorite(data, 8, favorites8Count, favorites8View);
|
||||
}
|
||||
|
||||
public void toggleFavorite9(GameListData data)
|
||||
{
|
||||
favorites9Count = toggleFavorite(data, 9, favorites9Count, favorites9View);
|
||||
}
|
||||
|
||||
public void toggleFavorite10(GameListData data)
|
||||
{
|
||||
favorites10Count = toggleFavorite(data, 10, favorites10Count, favorites10View);
|
||||
}
|
||||
|
||||
private int toggleFavorite(GameListData data, int favoritesNumber, int favoritesCount, GameView favoritesView)
|
||||
{
|
||||
if (data != null && !data.getGameId().isEmpty())
|
||||
{
|
||||
int previousFavorite = data.getFavorite();
|
||||
dbConnector.toggleFavorite(data.getGameId(), previousFavorite, 1);
|
||||
data.toggleFavorite();
|
||||
dbConnector.toggleFavorite(data.getGameId(), previousFavorite, favoritesNumber);
|
||||
data.toggleFavorite(favoritesNumber);
|
||||
if (data.isFavorite())
|
||||
{
|
||||
favoritesView.setGameCount(++favoritesCount);
|
||||
|
@ -643,93 +784,14 @@ public class MainViewModel extends AbstractModel
|
|||
}
|
||||
gameListModel.notifyChange();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite2(GameListData data)
|
||||
{
|
||||
if (data != null && !data.getGameId().isEmpty())
|
||||
{
|
||||
int previousFavorite = data.getFavorite();
|
||||
dbConnector.toggleFavorite(data.getGameId(), previousFavorite, 2);
|
||||
data.toggleFavorite2();
|
||||
if (data.isFavorite())
|
||||
{
|
||||
favorites2View.setGameCount(++favorites2Count);
|
||||
reduceFavoriteCount(previousFavorite);
|
||||
}
|
||||
else
|
||||
{
|
||||
favorites2View.setGameCount(--favorites2Count);
|
||||
}
|
||||
gameListModel.notifyChange();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite3(GameListData data)
|
||||
{
|
||||
if (data != null && !data.getGameId().isEmpty())
|
||||
{
|
||||
int previousFavorite = data.getFavorite();
|
||||
dbConnector.toggleFavorite(data.getGameId(), previousFavorite, 3);
|
||||
data.toggleFavorite3();
|
||||
if (data.isFavorite())
|
||||
{
|
||||
favorites3View.setGameCount(++favorites3Count);
|
||||
reduceFavoriteCount(previousFavorite);
|
||||
}
|
||||
else
|
||||
{
|
||||
favorites3View.setGameCount(--favorites3Count);
|
||||
}
|
||||
gameListModel.notifyChange();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite4(GameListData data)
|
||||
{
|
||||
if (data != null && !data.getGameId().isEmpty())
|
||||
{
|
||||
int previousFavorite = data.getFavorite();
|
||||
dbConnector.toggleFavorite(data.getGameId(), previousFavorite, 4);
|
||||
data.toggleFavorite4();
|
||||
if (data.isFavorite())
|
||||
{
|
||||
favorites4View.setGameCount(++favorites4Count);
|
||||
reduceFavoriteCount(previousFavorite);
|
||||
}
|
||||
else
|
||||
{
|
||||
favorites4View.setGameCount(--favorites4Count);
|
||||
}
|
||||
gameListModel.notifyChange();
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleFavorite5(GameListData data)
|
||||
{
|
||||
if (data != null && !data.getGameId().isEmpty())
|
||||
{
|
||||
int previousFavorite = data.getFavorite();
|
||||
dbConnector.toggleFavorite(data.getGameId(), previousFavorite, 5);
|
||||
data.toggleFavorite5();
|
||||
if (data.isFavorite())
|
||||
{
|
||||
favorites5View.setGameCount(++favorites5Count);
|
||||
reduceFavoriteCount(previousFavorite);
|
||||
}
|
||||
else
|
||||
{
|
||||
favorites5View.setGameCount(--favorites5Count);
|
||||
}
|
||||
gameListModel.notifyChange();
|
||||
}
|
||||
return favoritesCount;
|
||||
}
|
||||
|
||||
public void runGameInVice()
|
||||
{
|
||||
fileManager.runVice(true);
|
||||
}
|
||||
|
||||
|
||||
public void runVice()
|
||||
{
|
||||
fileManager.runVice(false);
|
||||
|
|
|
@ -39,29 +39,11 @@ public class GameListData implements Comparable
|
|||
return favorite;
|
||||
}
|
||||
|
||||
public void toggleFavorite()
|
||||
public void toggleFavorite(int number)
|
||||
{
|
||||
this.favorite = favorite == 1 ? 0 : 1;
|
||||
this.favorite = favorite == number ? 0 : number;
|
||||
}
|
||||
|
||||
public void toggleFavorite2()
|
||||
{
|
||||
this.favorite = favorite == 2 ? 0 : 2;
|
||||
}
|
||||
|
||||
public void toggleFavorite3()
|
||||
{
|
||||
this.favorite = favorite == 3 ? 0 : 3;
|
||||
}
|
||||
public void toggleFavorite4()
|
||||
{
|
||||
this.favorite = favorite == 4 ? 0 : 4;
|
||||
}
|
||||
public void toggleFavorite5()
|
||||
{
|
||||
this.favorite = favorite == 5 ? 0 : 5;
|
||||
}
|
||||
|
||||
public boolean isFavorite()
|
||||
{
|
||||
return favorite > 0;
|
||||
|
|
|
@ -14,6 +14,11 @@ public class GameView implements Comparable
|
|||
public static final int FAVORITES_3_ID = -4;
|
||||
public static final int FAVORITES_4_ID = -5;
|
||||
public static final int FAVORITES_5_ID = -6;
|
||||
public static final int FAVORITES_6_ID = -7;
|
||||
public static final int FAVORITES_7_ID = -8;
|
||||
public static final int FAVORITES_8_ID = -9;
|
||||
public static final int FAVORITES_9_ID = -10;
|
||||
public static final int FAVORITES_10_ID = -11;
|
||||
private static final Logger logger = LoggerFactory.getLogger(GameView.class);
|
||||
private String name = "";
|
||||
private List<ViewFilter> viewFilters = new ArrayList<>();
|
||||
|
|
Loading…
Reference in New Issue