From 63b59b562fb6e2dce56eef941954eb452ebd9391 Mon Sep 17 00:00:00 2001 From: Robert Vokac Date: Tue, 30 Apr 2024 18:29:57 +0200 Subject: [PATCH] Revert "Added a web browser" This reverts commit 3f5a39ff8543017a55996bbd1f64142d1af65116. --- modules/time-calc-app/pom.xml | 11 - .../timecalc/app/TimeCalcConfiguration.java | 6 - .../timecalc/app/TimeCalcProperties.java | 8 - .../utils/timecalc/swing/common/Widget.java | 8 +- .../timecalc/swing/windows/MainWindow.java | 12 +- .../timecalc/swing/windows/WeatherWindow.java | 160 +++++++++++++++ .../timecalc/swing/windows/WebBrowser.java | 192 ------------------ pom.xml | 6 +- 8 files changed, 170 insertions(+), 233 deletions(-) create mode 100644 modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/WeatherWindow.java delete mode 100644 modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/WebBrowser.java diff --git a/modules/time-calc-app/pom.xml b/modules/time-calc-app/pom.xml index cd9e00d..a9c6b98 100644 --- a/modules/time-calc-app/pom.xml +++ b/modules/time-calc-app/pom.xml @@ -72,17 +72,6 @@ flatlaf 3.4.1 - - - org.openjfx - javafx-controls - 21 - - - org.openjfx - javafx-web - 21 - \ No newline at end of file diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java index 2c92f8a..0a241c8 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java @@ -426,12 +426,6 @@ public class TimeCalcConfiguration { } return mapOfProperties.get(timeCalcProperty); } - public String getProperty(String key) { - return timeCalcProperties.getString(key); - } - public void setProperty(String key, String value) { - timeCalcProperties.setString(key, value); - } public String print() { StringBuilder sb = new StringBuilder(); diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperties.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperties.java index d10ae99..9df9c57 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperties.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperties.java @@ -83,14 +83,6 @@ public class TimeCalcProperties { getDefaultStringValue(timeCalcProperty))); } - public String getString(String key) { - return (String) properties.get(key); - } - - public void setString(String key, String value) { - properties.put(key, value); - } - private String getDefaultStringValue(TimeCalcProperty timeCalcProperty) { if (!defaultProperties .containsKey(timeCalcProperty.getKey())) { diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java index 592530f..4182638 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java @@ -101,11 +101,7 @@ public class Widget extends JPanel implements private WidgetMenu widgetMenu = null; public Widget() { setBackground(BACKGROUND_COLOR); - int timerDelay = getTimerDelay(); -// if(timerDelay > 10) { -// timerDelay = 10; -// } - new Timer(timerDelay, e -> repaint()).start(); + new Timer(getTimerDelay(), e -> repaint()).start(); this.addMouseMotionListener(new MouseMotionListener() { @Override public void mouseDragged(MouseEvent e) { @@ -212,7 +208,7 @@ public class Widget extends JPanel implements } public int getTimerDelay() { - return 10; + return 100; } // @Override diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java index 472487e..2fbb48c 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java @@ -104,7 +104,7 @@ public class MainWindow extends TWindow { private final TButton restartButton; private final TButton focusButton; private final TButton helpButton; - private final TButton webBrowserButton; + private final TButton weatherButton; private final TButton commandButton; private final TButton jokeButton; private final AboutButton aboutButton; @@ -254,7 +254,7 @@ public class MainWindow extends TWindow { this.exitButton = new TButton("Exit"); this.focusButton = new TButton(allowOnlyBasicFeaturesProperty.getValue() ? " " : "Focus"); this.helpButton = new TButton("Help"); - this.webBrowserButton = new TButton("Browse"); + this.weatherButton = new TButton("Weather"); this.commandButton = new TButton("Command"); this.jokeButton = new TButton("Joke"); this.aboutButton = new AboutButton(); @@ -360,7 +360,7 @@ public class MainWindow extends TWindow { add(walkingHumanProgress); walkingHumanProgress.visibleProperty .bindTo(timeCalcConfiguration.walkingHumanVisibleProperty); - webBrowserButton + weatherButton .setBounds(SwingUtils.MARGIN, walkingHumanProgress.getY() + walkingHumanProgress.getHeight()); @@ -631,7 +631,6 @@ public class MainWindow extends TWindow { add(elapsedTextField); add(remainingTextFieldLabel); add(remainingTextField); - add(webBrowserButton); } if(!allowOnlyBasicFeaturesProperty.getValue()) { add(saveButton); @@ -673,7 +672,6 @@ public class MainWindow extends TWindow { configButton.setBoundsFromTop(weekLabel); workDaysButton.setBoundsFromLeft(configButton); activitiesButton.setBoundsFromLeft(workDaysButton); - webBrowserButton.setBoundsFromLeft(activitiesButton); exitButton.setBounds(saveButton.getX() + saveButton.getWidth() - activitiesButton.getWidth(), workDaysButton.getY(), activitiesButton.getWidth(), activitiesButton.getHeight()); restartButton.setBounds(exitButton.getX() - SwingUtils.MARGIN - activitiesButton.getWidth(), activitiesButton.getY(), activitiesButton.getWidth(), activitiesButton.getHeight()); @@ -696,8 +694,8 @@ public class MainWindow extends TWindow { setTitle(getWindowTitle()); - webBrowserButton - .addActionListener(e -> WebBrowser.show(timeCalcConfiguration)); + weatherButton + .addActionListener(e -> new WeatherWindow().setVisible(true)); commandButton.addActionListener( new CommandActionListener(timeCalcApp, timeCalcConfiguration)); diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/WeatherWindow.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/WeatherWindow.java new file mode 100644 index 0000000..c9e815c --- /dev/null +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/WeatherWindow.java @@ -0,0 +1,160 @@ +package org.nanoboot.utils.timecalc.swing.windows; + +import org.nanoboot.utils.timecalc.utils.common.Utils; + +import javax.swing.JEditorPane; +import javax.swing.JFrame; +import javax.swing.JScrollPane; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.io.StringWriter; +import java.net.HttpURLConnection; +import java.net.URL; + +/** + * @author Robert Vokac + * @since 16.02.2024 + */ +public class WeatherWindow extends JFrame { + + public WeatherWindow() { + this.setSize(400, 300); + + JEditorPane jep = new JEditorPane(); + jep.setEditable(false); + JScrollPane scrollPane = new JScrollPane(jep); + scrollPane.setBounds(10, 10, 750, 550); + getContentPane().add(scrollPane); + + // File proxyTxt = new File("proxy.txt"); + // if (!proxyTxt.exists()) { + // jep.setText("Sorry, file proxy.txt was not found."); + // return; + // } + // final HttpProxy httpProxy; + // try { + // httpProxy = new HttpProxy(proxyTxt); + // } catch (RuntimeException e) { + // jep.setContentType("text/html"); + // jep.setText(e.getMessage()); + // return; + // } + try { + String pocasiHtml = null; + File pocasiHtmlFile = new File("pocasi.html"); + try { + pocasiHtml = downloadFile("https://pocasi.seznam.cz/praha"); + pocasiHtml = prettyFormatXml(pocasiHtml, 4); + Utils.writeTextToFile(pocasiHtmlFile, pocasiHtml); + } catch (Exception e) { + e.printStackTrace(); + pocasiHtml = pocasiHtmlFile.exists() + ? Utils.readTextFromFile(pocasiHtmlFile) + : "Sorry, pocasi.html was not found."; + } + + { + StringBuilder sb = new StringBuilder(); + boolean ogm_detailed_forecast_Started = false; + for (String line : pocasiHtml.split("\\r?\\n|\\r")) { + + if (line.contains("ogm-detailed-forecast")) { + ogm_detailed_forecast_Started = true; + } + if (ogm_detailed_forecast_Started && line + .contains("