Druck-Erweiterung / Print Plugin 3.2.5 beta

ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von ThorstenBerlin »

Hallo zusammen,

ich habe mal eine neue Beta der Druck-Erweiterung erstellt und hochgeladen:
tvbrowser-plugins-print 3.2.5 beta
(SVN: https://sourceforge.net/p/tvbrowser/code/9077/)
  • Java 1.8 support (benötigt TV-Browser 4.0.1 und höher)
  • Veraltete interne API-Aufrufe entfernt bzw. ersetzt
  • "Sendungsbeschreibung drucken" (Programminfo) nutzt nun den Standard-Druckdialog (integriert)
  • Vorlagen jetzt auch für Sendungsbeschreibungen speicherbar
  • Druckvorschau jetzt mit Mausrad-/ Touchpad-Unterstüzung, Zoom-Schaltflächen vertauscht, Seitenformat in Titelzeile
  • Schriftglättung für Vorschauen
  • Schriftvorschau in Schriftauswahl-Dialogen
  • Schriftart Roboto Condensed (Apache 2 Lizenz von Google) für Druck Standardschrift
  • Druckrand auf 2cm verkleinert
  • Fortschrittsanzeige in TVB-Statusleiste während des Drucks
  • Kleinere UI Optimierungen
  • Code aufgeräumt (Redundanzen beseitigt, Generics, Lamdafunktionen)
  • Wiki aktualisiert unter https://wiki.tvbrowser.org/index.php/Drucken
In der Hoffnung dass nur wenige Fehler in der Beta auftauchen... :roll:

Gruß aus Berlin,
Thorsten
rif
Platin Member
Beiträge: 780
Registriert: 16 Jan 2008, 15:36

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von rif »

(SVN: https://sourceforge.net/p/tvbrowser/code/9077/)
= Die Website ist nicht erreichbar Verbindung wurde zurückgesetzt .... ERR_CONNECTION_RESET

Über Einstellungen gibt es eine 3.0.2.5 beta (Fehler im Link?).
ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Re: Druck-Erweiterung / Print Plugin 3.0.2.5 beta

Beitrag von ThorstenBerlin »

Hallo, der Link zum Source-Repository unter https://sourceforge.net/p/tvbrowser/code/9077/ funktioniert bei mir.
Es muss natürlich 3.0.2.5 beta heißen. In der TV-Browser Plugin Verwaltung unter Einstellungen stimmts.
ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Print Plugin 3.0.2.6 beta (Java 1.8, TV-Browser 3.4.4.50+)

Beitrag von ThorstenBerlin »

2020-01-30
Print Preview: Keyboard support
UI: Queue Print Dialog: queue data presented by a navigable list / ProgramListCellRenderer (multiple selection, keyboard support)
UI: Template/Schema management dialogs (Localization fixes due SDK 11 changes by Oracle)
UI: JOptionPane's (Localization fixes due SDK 11 changes by Oracle)
UI: Minor layout and navigation optimization in ChannelSelectionPanel and MainPrintDialog
Code: Removal of old CVS header information (obsolete)
Code: BaseAction builder to reduce boilerplate code
Code: Additional helper methods in Utils
Code: Added JavaDoc, Clean Code
Settings: Preparation for additional plugin settings (tabbed pane)
ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Print Plugin 3.0.2.8 beta (Java 1.8, TV-Browser 3.4.4.50+)

Beitrag von ThorstenBerlin »

Print Plugin 3.0.2.8 beta (Java 1.8, TV-Browser 3.4.4.50+)
2010-01-31/2

Fix: FontChooserPanel: Font#canDisplayUpto is not working as expected on MacOS due the Glyph fallback mechanism of MacOS
Fix: GeneralTab: list cell height fixes for MacOS (rework of 3.0.2.7)

Print Plugin 3.0.2.7 beta (Java 1.8, TV-Browser 3.4.4.50+)
2010-01-31/1

Fix: GeneralTab: Fixed adding list items (print from queue dialog); DefaultListModel#addAll only available starting with Java 11+
Fix: ProgramListCellRenderer: Computing dynamic list entry heights ProgramListCellRenderer is not functional on MacOs; set a fixed cell height
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von ds10 »

Wenn das Plugin die Untermenüs auch für das Beispielprogramm anzeigen würde, könnte der Benutzer diesen jeweils eine separate Maus-Tastaturkombination zuordnen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von ThorstenBerlin »

Wenn das Plugin die Untermenüs auch für das Beispielprogramm anzeigen würde, könnte der Benutzer diesen jeweils eine separate Maus-Tastaturkombination zuordnen.
Das mit dem Untermenü habe ich nicht verstanden?
Zuletzt geändert von ThorstenBerlin am 07 Feb 2020, 05:35, insgesamt 1-mal geändert.
ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Print Plugin 3.0.2.9 beta (Java 1.8, TV-Browser 3.4.4.50+)

Beitrag von ThorstenBerlin »

Version 3.0.2.9 beta
2020-02-06

• Settings: Option to select a default printer (fallback to the default system printer if not available)
• Settings: Option to select a default print margin (minimum margin of the printer, 10mm, 20mm (default), 1 inch)
• Settings: Option to select a default font (fallback to the default UI font "Dialog" if not available)
• Settings: UI settings for the Preview (antialiased text, show margins as crop marks)
• Settings: UI settings for visual font selection (WYSIWYG)
• Settings: UI settings for print action button placement
• Settings: License Information, Release Information tabs
• Code: Loading and displaying HTML content (Utils),Translations
• UI: Integrate the contents of the Extras tab into the Layout tab (option)
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von ds10 »

ThorstenBerlin hat geschrieben: 07 Feb 2020, 05:32 Das mit dem Untermenü habe ich nicht verstanden?
Es gibt eine Beispielprogramm PluginManager.getExampleProgram(), dieses wird von den Einstellungen von TV-Browser an die Plugins übergeben, damit diese das Kontextmenü aufbauen und zurück geben. Das Drucken-Plugin gibt bei Übergabe des Beispielprogramm aber nur eine Aktion ohne Untermenüs zurück, daher kann man dem Drucken-Plugin dann nur allgemein eine Maustaste zuweisen. Dies löst dann immer die oberste Aktion im Untermenü für eine Sendung aus, man kann also per Maustaste nur zur Druckerwarteschlange hinzufügen/entfernen. Es gibt daher keine Möglichkeit die Sendungsbeschreibung schnell drucken zu können, man muss dann immer das Kontextmenü bemühen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
rif
Platin Member
Beiträge: 780
Registriert: 16 Jan 2008, 15:36

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von rif »

Da schon seit ewigen Zeiten die Einstellung der Druckränder möglich ist, wäre es nicht schlecht, wenn man diese auch speichern könnte.
ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von ThorstenBerlin »

In den Einstellungen zum Plugin ist nun eine Vorauswahl der Druckränder möglich (Minimal [Druckervorgabe], Schmal 1cm, Normal 2cm, Systemstandard [Win: 2,54cm Mac: Voreinstellung]).

Geplant ist pro Vorlage/Drucktyp die Randbreite, das Papierformat und die Ausrichtung zu speichern. Das erfordert noch Anpassungen.
ThorstenBerlin
Junior Member
Beiträge: 19
Registriert: 29 Jun 2016, 11:40

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von ThorstenBerlin »

ds10 hat geschrieben: 07 Feb 2020, 09:46
ThorstenBerlin hat geschrieben: 07 Feb 2020, 05:32 Das mit dem Untermenü habe ich nicht verstanden?
Es gibt eine Beispielprogramm PluginManager.getExampleProgram(), dieses wird von den Einstellungen von TV-Browser an die Plugins übergeben, damit diese das Kontextmenü aufbauen und zurück geben. Das Drucken-Plugin gibt bei Übergabe des Beispielprogramm aber nur eine Aktion ohne Untermenüs zurück, daher kann man dem Drucken-Plugin dann nur allgemein eine Maustaste zuweisen. Dies löst dann immer die oberste Aktion im Untermenü für eine Sendung aus, man kann also per Maustaste nur zur Druckerwarteschlange hinzufügen/entfernen. Es gibt daher keine Möglichkeit die Sendungsbeschreibung schnell drucken zu können, man muss dann immer das Kontextmenü bemühen.
Schaue ich mir mal an wie das in anderen Plugins umgesetzt wurde.
bea
Newbie
Beiträge: 5
Registriert: 05 Okt 2022, 00:15

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von bea »

Hallo,

nutze mittlerweile seit Jahren problemfrei das Drucken Plugin, mittlerweile in der Version 3.0.2.9 beta.

Seitdem ich nun ein MacBook Pro M1 habe funktioniert es leider nicht mehr. Das Betriebssystem ist Monterey 12.6.

Ich nutze die Druck-Funktion eigentlich nur dafür die einzelnen Sendungsbeschreibungen auszudrucken, bzw. diese als PDF zu "drucken"

Die Fehlermeldung ist: "Das Plugin "Drucken" hat einen Fehler verursacht. Soll es deaktiviert werden?"

Kann mir jemand einen Tip geben, wie ich das Plugin wieder ans laufen bekomme?

Besten Dank!

Uwe


Anbei die Details zu der Fehlermeldung:

Code: Alles auswählen

___________________________________________________________

Das Plugin "Drucken" hat einen Fehler verursacht. Soll es deaktiviert werden?

----- Start of stacktrace -----
java.lang.reflect.InaccessibleObjectException: Unable to make private sun.font.Font2D java.awt.Font.getFont2D() accessible: module java.desktop does not "opens java.awt" to unnamed module @3b0090a4
  at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
  at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
  at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
  at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
  at printplugin.util.Utils.macCanDisplayUpTo(Utils.java:539)
  at printplugin.util.Utils.isDisplayable(Utils.java:518)
  at printplugin.dlgs.components.FontChooserPanel.decodeFont(FontChooserPanel.java:157)
  at printplugin.dlgs.components.FontChooserPanel.access$1(FontChooserPanel.java:154)
  at printplugin.dlgs.components.FontChooserPanel$1.getListCellRendererComponent(FontChooserPanel.java:121)
  at java.desktop/javax.swing.JList.updateFixedCellSize(JList.java:616)
  at java.desktop/javax.swing.JList.setCellRenderer(JList.java:807)
  at java.desktop/javax.swing.plaf.basic.BasicComboPopup$Handler.propertyChange(BasicComboPopup.java:1061)
  at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
  at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
  at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
  at java.desktop/java.awt.Component.firePropertyChange(Component.java:8722)
  at java.desktop/javax.swing.JComboBox.setRenderer(JComboBox.java:501)
  at printplugin.dlgs.components.FontChooserPanel.modifyFontComboBox(FontChooserPanel.java:110)
  at printplugin.dlgs.components.FontChooserPanel.<init>(FontChooserPanel.java:95)
  at printplugin.dlgs.programinfoprintdialog.PrintProgramInfoDialogContent.getContent(PrintProgramInfoDialogContent.java:107)
  at printplugin.dlgs.SettingsDialog.<init>(SettingsDialog.java:127)
  at printplugin.PrintPlugin.showPrintDialog(PrintPlugin.java:389)
  at printplugin.PrintPlugin.lambda$3(PrintPlugin.java:186)
  at printplugin.util.BaseAction$Builder$1.actionPerformed(BaseAction.java:39)
  at tvbrowser/tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
  at tvbrowser/tvbrowser.extras.programinfo.TaskMenuAction$1.actionPerformed(TaskMenuAction.java:134)
  at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
  at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
  at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
  at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
  at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
  at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
  at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
  at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
  at java.desktop/java.awt.Component.processEvent(Component.java:6391)
  at java.desktop/java.awt.Container.processEvent(Container.java:2266)
  at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
  at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
  at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
  at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
  at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
  at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
  at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
  at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
  at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
  at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
  at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
  at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
  at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
  at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
  at java.desktop/java.awt.Component.show(Component.java:1728)
  at java.desktop/java.awt.Component.setVisible(Component.java:1675)
  at java.desktop/java.awt.Window.setVisible(Window.java:1036)
  at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1016)
  at tvbrowser/tvbrowser.extras.programinfo.ProgramInfoDialog.lambda$show$6(ProgramInfoDialog.java:945)
  at tvbrowser/util.ui.UIThreadRunner.invokeAndWait(UIThreadRunner.java:33)
  at tvbrowser/tvbrowser.extras.programinfo.ProgramInfoDialog.show(ProgramInfoDialog.java:943)
  at tvbrowser/tvbrowser.extras.programinfo.ProgramInfo.showProgramInformation(ProgramInfo.java:225)
  at tvbrowser/tvbrowser.extras.programinfo.ProgramInfo.lambda$getContextMenuActions$0(ProgramInfo.java:121)
  at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
  at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
  at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
----- End of stacktrace -----
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von ds10 »

Als Tipp würde ich empfehlen es mit einer anderen Java-Version zu probieren. TV-Browser ist auf Java 11 ausgelegt. https://adoptium.net/de/temurin/releases?version=11
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
bea
Newbie
Beiträge: 5
Registriert: 05 Okt 2022, 00:15

Re: Druck-Erweiterung / Print Plugin 3.2.5 beta

Beitrag von bea »

ds10 hat geschrieben: 19 Okt 2022, 22:39 Als Tipp würde ich empfehlen es mit einer anderen Java-Version zu probieren. TV-Browser ist auf Java 11 ausgelegt.
Danke für den Tip! Nach der Installation von Temurin 11 funktioniert die Druck-Funktion nun wieder problemlos.

Leider muckt nun das IMDb-Plugin rum. Beim Start vom TV-Browser gibt es diese Meldung: "Das Plugin "IMDb-Bewertungen" hat einen Fehler verursacht. Soll es deaktiviert werden?"

Kann es daran liegen, dass ich nun zwei Java-Versionen installiert habe?

Code: Alles auswählen

___________________________
java.lang.NullPointerException
  at imdbplugin.ImdbPlugin.updateCurrentDateAndClearCache(ImdbPlugin.java:485)
  at imdbplugin.ImdbPlugin.handleTvBrowserStartFinished(ImdbPlugin.java:352)
  at tvbrowser/tvbrowser.core.plugin.JavaPluginProxy.doHandleTvBrowserStartFinished(JavaPluginProxy.java:394)
  at tvbrowser/tvbrowser.core.plugin.AbstractPluginProxy.handleTvBrowserStartFinished(AbstractPluginProxy.java:673)
  at tvbrowser/tvbrowser.core.plugin.PluginProxyManager.fireTvBrowserStartFinished(PluginProxyManager.java:1396)
  at tvbrowser/tvbrowser.core.plugin.PluginProxyManager$TvBrowserStartFinishedThreadPoolMethod.run(PluginProxyManager.java:111)
  at tvbrowser/tvbrowser.core.plugin.PluginProxyManager.lambda$runWithThreadPool$0(PluginProxyManager.java:1337)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at java.base/java.lang.Thread.run(Thread.java:829)
Antworten