Minor changes
This commit is contained in:
parent
09066e09de
commit
57b1fc9a5e
7 changed files with 73 additions and 42 deletions
|
@ -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
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 fő 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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue