diff --git a/pom.xml b/pom.xml index d6952fb..20fe845 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 se.lantz PCUAEManager - 2.12.1 + 2.12.2 PCUAEManager Cp1252 diff --git a/src/main/java/se/lantz/db/DbConnector.java b/src/main/java/se/lantz/db/DbConnector.java index 1834fe0..c48f98b 100644 --- a/src/main/java/se/lantz/db/DbConnector.java +++ b/src/main/java/se/lantz/db/DbConnector.java @@ -316,7 +316,7 @@ public class DbConnector //Construct SQL StringBuilder sqlBuilder = new StringBuilder(); sqlBuilder - .append("SELECT title, composer, year, author, gamefile, rowid, favorite, viewtag, disk2, disk3, disk4, disk5, disk6 FROM gameinfo "); + .append("SELECT title, composer, year, author, gamefile, rowid, favorite, viewtag, system, disk2, disk3, disk4, disk5, disk6 FROM gameinfo "); sqlBuilder.append(view.getSqlQuery()); sqlBuilder.append(" ORDER BY title COLLATE NOCASE ASC"); @@ -339,6 +339,7 @@ public class DbConnector data.setAuthor(rs.getString("Author")); data.setYear(rs.getInt("Year")); data.setViewTag(rs.getString("Viewtag")); + data.setSystem(rs.getString("System")); if (data.isInfoSlot() && !viewTag.equalsIgnoreCase("GIS:" + view.getGameViewId())) { diff --git a/src/main/java/se/lantz/gui/ListPanel.java b/src/main/java/se/lantz/gui/ListPanel.java index 852096a..50763a8 100644 --- a/src/main/java/se/lantz/gui/ListPanel.java +++ b/src/main/java/se/lantz/gui/ListPanel.java @@ -217,7 +217,7 @@ public class ListPanel extends JPanel filterTextField = new JXSearchField(); filterTextField.getDocument().addDocumentListener(filterTextFieldListener); String tooltipText = - "Type to search on game title in
the current gamelist view.


Special tags:
a: - match Author
c: - match Composer
y: - match Year
v: - match View tag

Use ',' as separator
to match several tags.


Example: a:imagine,c:martin galway"; + "Type to search on game title in
the current gamelist view.


Special tags
a: - match Author
c: - match Composer
y: - match Year
v: - match View tag
s: - match System config


Use ',' as separator to
match several tags.

Example: a:imagine,c:martin galway
"; filterTextField.setToolTipText(tooltipText); } return filterTextField; diff --git a/src/main/java/se/lantz/model/GameListModel.java b/src/main/java/se/lantz/model/GameListModel.java index 527444a..9681526 100644 --- a/src/main/java/se/lantz/model/GameListModel.java +++ b/src/main/java/se/lantz/model/GameListModel.java @@ -61,6 +61,11 @@ public class GameListModel extends DefaultListModel String viewTag = filterText.substring(2); found = data.getViewTag().toLowerCase().contains(viewTag); } + else if (filterText.startsWith("s:")) + { + String systemConfig = filterText.substring(2); + found = data.getSystem().toLowerCase().contains(systemConfig); + } else { found = data.getTitle().toLowerCase().contains(filterText); diff --git a/src/main/java/se/lantz/model/data/GameListData.java b/src/main/java/se/lantz/model/data/GameListData.java index 13d5526..e16e575 100644 --- a/src/main/java/se/lantz/model/data/GameListData.java +++ b/src/main/java/se/lantz/model/data/GameListData.java @@ -13,6 +13,7 @@ public class GameListData implements Comparable private String author = ""; private int year = 0; private String viewTag = ""; + private String system = ""; public GameListData(String title, String gameFileName, String gameId, int favorite, boolean infoSlot) { @@ -182,4 +183,14 @@ public class GameListData implements Comparable { this.viewTag = viewTag; } + + public String getSystem() + { + return system; + } + + public void setSystem(String system) + { + this.system = system; + } }