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
steps:
- name: gnu-linux
image: maven
commands:
- mvn clean package
- name: maven
image: maven
commands:
- mvn clean package

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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