use of org.wikipediacleaner.api.data.Page in project wpcleaner by WPCleaner.
the class PageListMouseListener method mouseClicked.
/**
* @param e Event.
* @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent)
*/
@Override
public void mouseClicked(MouseEvent e) {
if ((!e.isConsumed()) && (e.getButton() == MouseEvent.BUTTON1) && (e.getClickCount() == 2)) {
if (e.getSource() instanceof JTable) {
JTable table = (JTable) e.getSource();
if (table.getModel() instanceof PageListTableModel) {
PageListTableModel model = (PageListTableModel) table.getModel();
int column = table.columnAtPoint(e.getPoint());
int row = table.rowAtPoint(e.getPoint());
if ((column >= 0) && (row >= 0)) {
row = Utilities.convertRowIndexToModel(table, row);
Page page = model.getPage(row);
if (Boolean.TRUE.equals(page.isDisambiguationPage())) {
Controller.runDisambiguationAnalysis(page.getTitle(), page.getWikipedia());
} else {
Controller.runFullAnalysis(page.getTitle(), null, page.getWikipedia());
}
e.consume();
}
}
}
}
super.mouseClicked(e);
}
use of org.wikipediacleaner.api.data.Page in project wpcleaner by WPCleaner.
the class PageListWindow method actionSetComments.
/**
* Action called when Set comments button is pressed.
*/
public void actionSetComments() {
List<Page> selectedPages = tablePages.getSelectedPages();
for (Page selectedPage : selectedPages) {
commentsByPageTitle.computeIfAbsent(selectedPage.getTitle(), pageTitle -> PageComment.getOrCreate(getWiki(), pageTitle));
}
Controller.runPageComments(selectedPages, commentsByPageTitle, getWikipedia());
}
use of org.wikipediacleaner.api.data.Page in project wpcleaner by WPCleaner.
the class PageListWindow method updateBacklinksCount.
/**
* Update the total count of backlinks.
*/
void updateBacklinksCount() {
int backlinksMain = 0;
int backlinks = 0;
int maxMain = 0;
int actualMain = 0;
for (Page page : pages) {
if (page != null) {
Integer tmpLinks = page.getBacklinksCountInMainNamespace();
if (tmpLinks != null) {
backlinksMain += tmpLinks.intValue();
Integer maxMainArticles = Optional.ofNullable(commentsByPageTitle.get(page.getTitle())).map(PageComment::getMaxMainArticles).orElse(null);
if (maxMainArticles != null) {
maxMain += maxMainArticles.intValue();
actualMain += tmpLinks.intValue();
}
}
tmpLinks = page.getBacklinksCount();
if (tmpLinks != null) {
backlinks += tmpLinks.intValue();
}
}
}
String txtMain = null;
if ((actualMain > 0) || (maxMain > 0)) {
if (backlinksMain != actualMain) {
if (actualMain != maxMain) {
txtMain = "" + backlinksMain + " (" + actualMain + "/" + maxMain + ")";
} else {
txtMain = "" + backlinksMain + " (" + actualMain + ")";
}
} else if (actualMain != maxMain) {
txtMain = "" + actualMain + "/" + maxMain;
} else {
txtMain = "" + actualMain;
}
} else {
txtMain = "" + backlinksMain;
}
String txtAll = null;
txtAll = "" + backlinks;
labelLinksCount.setText(GT.__("{0} page", "{0} pages", pages.size(), Integer.toString(pages.size())) + ", " + GT._T("Backlinks - Main namespace: {0}, All namespaces: {1}", new Object[] { txtMain, txtAll }));
}
use of org.wikipediacleaner.api.data.Page in project wpcleaner by WPCleaner.
the class PageListWindow method actionAdd.
/**
* Action called when Add button is pressed.
*/
public void actionAdd() {
String value = askForValue(GT._T("Enter the page title you want to add to your local watchlist"), "", null);
if (value != null) {
Page page = DataManager.getPage(getWikipedia(), value, null, null, null);
Configuration config = Configuration.getConfiguration();
List<String> watchedPages = config.getStringList(getWikipedia(), Configuration.ARRAY_WATCH_PAGES);
if (!watchedPages.contains(page.getTitle())) {
watchedPages.add(page.getTitle());
Collections.sort(watchedPages);
config.setStringList(getWikipedia(), Configuration.ARRAY_WATCH_PAGES, watchedPages);
tablePages.addPage(page);
}
}
}
use of org.wikipediacleaner.api.data.Page in project wpcleaner by WPCleaner.
the class PageListWindow method actionUpdateInfo.
/**
* Action called when Update information button is pressed.
*/
public void actionUpdateInfo() {
List<Page> selectedPages = tablePages.getSelectedPages();
if ((selectedPages == null) || (selectedPages.size() == 0)) {
return;
}
final UpdateInfoWorker updateWorker = new UpdateInfoWorker(getWikipedia(), this, selectedPages);
updateWorker.setListener(new DefaultBasicWorkerListener() {
/* (non-Javadoc)
* @see org.wikipediacleaner.gui.swing.basic.DefaultBasicWorkerListener#afterFinished(org.wikipediacleaner.gui.swing.basic.BasicWorker, boolean)
*/
@Override
public void afterFinished(BasicWorker worker, boolean ok) {
tablePages.updateWatchedPages();
super.afterFinished(worker, ok);
updateBacklinksCount();
}
});
updateWorker.start();
}
Aggregations