Minor changes

This commit is contained in:
Balazs Toldi 2020-12-01 20:13:11 +01:00
parent 09066e09de
commit 57b1fc9a5e
Signed by: Bazsalanszky
GPG key ID: 933820884952BE27
7 changed files with 73 additions and 42 deletions

View file

@ -3,7 +3,7 @@ type: docker
name: default name: default
steps: steps:
- name: gnu-linux - name: maven
image: maven image: maven
commands: commands:
- mvn clean package - mvn clean package

View file

@ -34,7 +34,7 @@ public class Feed {
* A hírcsatornához tartozó cikkek listája * A hírcsatornához tartozó cikkek listája
*/ */
@XStreamAlias("articleList") @XStreamAlias("articleList")
private List<Article> articleList = new ArrayList<>();; protected List<Article> articleList = new ArrayList<>();;
/** /**
* A hírcsatorna nevének lekérése * A hírcsatorna nevének lekérése

View file

@ -41,7 +41,8 @@ public class FeedData extends AbstractTableModel {
} }
} }
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); //Nincs? Semmi gond,mostmár lesz!
save(filename);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -87,13 +88,13 @@ public class FeedData extends AbstractTableModel {
public String getColumnName(int oszlop) { public String getColumnName(int oszlop) {
switch (oszlop) { switch (oszlop) {
case 0: case 0:
return "Cím"; return "Title";
case 1: case 1:
return "Szerző"; return "Author";
case 2: case 2:
return "Dátum"; return "Date";
default: default:
return "Leírás"; return "Description";
} }
} }

View file

@ -16,15 +16,33 @@ import java.util.ArrayList;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.List; import java.util.List;
/**
* A program ablakának megvalósítása
*/
public class FeedFrame extends JFrame { public class FeedFrame extends JFrame {
/**
* A Cikkeket tároló táblázat
*/
public JTable table; public JTable table;
private JScrollPane scrollPane; /**
* @see FeedData
*/
private FeedData data; private FeedData data;
private JMenuBar menubar; /**
private JTree feeds; * A képernyő bal oldalán megjelenő fa. Itt lehet a csatornákat rendezni,csoportok esetén átnevezni,valamint eltávolítani.
private TableRowSorter<FeedData> sorter; */
private JTree tree;
/**
* A fa legfelső eleme
*/
private DefaultMutableTreeNode treeRoot; private DefaultMutableTreeNode treeRoot;
/**
* A táblázatot rendező objektum
*/
private TableRowSorter<FeedData> sorter;
/**
* Ebba fájlba menti a program az adatait
*/
private static String saveFile = "feeds.xml"; private static String saveFile = "feeds.xml";
public FeedFrame() { public FeedFrame() {
@ -49,7 +67,7 @@ public class FeedFrame extends JFrame {
*/ */
private void initTable() { private void initTable() {
table = new JTable(); table = new JTable();
scrollPane = new JScrollPane(table); JScrollPane scrollPane = new JScrollPane(table);
table.setModel(data); table.setModel(data);
table.addMouseListener(new MouseAdapter() { table.addMouseListener(new MouseAdapter() {
@Override @Override
@ -107,7 +125,7 @@ public class FeedFrame extends JFrame {
* Menusáv inicializálása * Menusáv inicializálása
*/ */
private void initMenuBar() { private void initMenuBar() {
menubar = new JMenuBar(); JMenuBar menubar = new JMenuBar();
JMenu file = new JMenu("File"); JMenu file = new JMenu("File");
JMenu Help = new JMenu("Help"); JMenu Help = new JMenu("Help");
JMenuItem addFeed = new JMenuItem("Add Feed"); JMenuItem addFeed = new JMenuItem("Add Feed");
@ -153,23 +171,23 @@ public class FeedFrame extends JFrame {
*/ */
private void initTree() { private void initTree() {
treeRoot = data.getRootNode(); treeRoot = data.getRootNode();
feeds = new JTree(treeRoot); tree = new JTree(treeRoot);
feeds.addMouseListener(new SwitchFeed()); tree.addMouseListener(new SwitchFeed());
feeds.setEditable(false); tree.setEditable(false);
feeds.setDragEnabled(true); tree.setDragEnabled(true);
feeds.setDropMode(DropMode.ON_OR_INSERT); tree.setDropMode(DropMode.ON_OR_INSERT);
feeds.setTransferHandler(new TreeTransferHandler()); tree.setTransferHandler(new TreeTransferHandler());
feeds.getSelectionModel().setSelectionMode( tree.getSelectionModel().setSelectionMode(
TreeSelectionModel.CONTIGUOUS_TREE_SELECTION); TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
expandTree(feeds); expandTree(tree);
feeds.addMouseListener(new MouseAdapter() { tree.addMouseListener(new MouseAdapter() {
@Override @Override
public void mouseClicked(MouseEvent e) { public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isRightMouseButton(e)) { if (SwingUtilities.isRightMouseButton(e)) {
int row = feeds.getClosestRowForLocation(e.getX(), e.getY()); int row = tree.getClosestRowForLocation(e.getX(), e.getY());
feeds.setSelectionRow(row); tree.setSelectionRow(row);
DefaultMutableTreeNode selected = (DefaultMutableTreeNode) feeds.getSelectionPath().getLastPathComponent(); DefaultMutableTreeNode selected = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
if (selected.isLeaf()) { if (selected.isLeaf()) {
FeedGroup feedGroup = (((DefaultMutableTreeNode) selected.getParent()).isRoot()) ? null : (FeedGroup) ((DefaultMutableTreeNode) selected.getParent()).getUserObject(); FeedGroup feedGroup = (((DefaultMutableTreeNode) selected.getParent()).isRoot()) ? null : (FeedGroup) ((DefaultMutableTreeNode) selected.getParent()).getUserObject();
FeedPopUpMenu popUpMenu = new FeedPopUpMenu((Feed) selected.getUserObject(), feedGroup, selected); FeedPopUpMenu popUpMenu = new FeedPopUpMenu((Feed) selected.getUserObject(), feedGroup, selected);
@ -183,7 +201,7 @@ public class FeedFrame extends JFrame {
} }
} }
}); });
add(feeds, BorderLayout.WEST); add(tree, BorderLayout.WEST);
} }
@ -233,7 +251,7 @@ public class FeedFrame extends JFrame {
data.addFeed(f); data.addFeed(f);
treeRoot.add(f.getTreeNode()); treeRoot.add(f.getTreeNode());
table.updateUI(); table.updateUI();
feeds.updateUI(); tree.updateUI();
} }
} }
} }
@ -296,8 +314,8 @@ public class FeedFrame extends JFrame {
@Override @Override
public void mousePressed(MouseEvent e) { public void mousePressed(MouseEvent e) {
int selRow = feeds.getRowForLocation(e.getX(), e.getY()); int selRow = tree.getRowForLocation(e.getX(), e.getY());
TreePath selPath = feeds.getPathForLocation(e.getX(), e.getY()); TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
if (selRow != -1) { if (selRow != -1) {
if (e.getClickCount() == 2) { if (e.getClickCount() == 2) {
if (selRow == 0) data.limitTo(null); if (selRow == 0) data.limitTo(null);
@ -588,7 +606,7 @@ public class FeedFrame extends JFrame {
} }
data.save(saveFile); data.save(saveFile);
feeds.updateUI(); tree.updateUI();
updateTable(); updateTable();
} }
}); });
@ -617,7 +635,7 @@ public class FeedFrame extends JFrame {
feed.setName(newname.getText()); feed.setName(newname.getText());
data.save(saveFile); data.save(saveFile);
table.updateUI(); table.updateUI();
feeds.updateUI(); tree.updateUI();
} }
} }
}); });

View file

@ -17,11 +17,7 @@ public class FeedGroup extends Feed {
* A hírcsatornák listája * A hírcsatornák listája
*/ */
List<Feed> feedList = new ArrayList<Feed>(); List<Feed> feedList = new ArrayList<Feed>();
/**
* A csoport cikkjeinek listája
*/
@XStreamOmitField
List<Article> articleList = new ArrayList<Article>();
public FeedGroup(String name){ public FeedGroup(String name){
super(name); super(name);

View file

@ -3,21 +3,33 @@ package eu.toldi.rss;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
/**
* Hírcsatornákat tároló objektum
*/
public class FeedList { public class FeedList {
/**
* A hírcsatornák listája
*/
private List<Feed> list= new ArrayList<Feed>(); private List<Feed> list= new ArrayList<Feed>();
/**
* Üres hírcsatorna konstruktora
*/
public FeedList() { public FeedList() {
} }
/**
* Hírcsatorna lista létrehozása listából
* @param list
*/
public FeedList(List<Feed> list) { public FeedList(List<Feed> list) {
this.list = list; this.list = list;
} }
/** /**
* Hírcsatorna hozzáadása a listához * Hírcsatorna hozzáadása a listához
* @param f * @param f hozzáadandó hírcsatorna
*/ */
public void add(Feed f) { public void add(Feed f) {
list.add(f); list.add(f);

View file

@ -11,6 +11,10 @@ public class UpdaterThread extends Thread{
//Tíz perc várakozás //Tíz perc várakozás
private static long updateInterval = 10*60*1000; private static long updateInterval = 10*60*1000;
/**
*
* @param data Ezt az objektumot használja majd frissítésre
*/
public UpdaterThread(FeedData data){ public UpdaterThread(FeedData data){
this.data = data; this.data = data;
} }