Mercurial > cgi-bin > hgweb.cgi > JpegWasher
comparison src/name/blackcap/exifwasher/HelpDialog.kt @ 52:39895d44a287
Get help working on Linux.
author | David Barts <n5jrn@me.com> |
---|---|
date | Thu, 07 May 2020 09:59:28 -0700 |
parents | fb407182ba76 |
children | 61a06e050bac |
comparison
equal
deleted
inserted
replaced
51:d4ccc5ccdc6d | 52:39895d44a287 |
---|---|
2 * The dialog that displays the Exif data in a single file (display only, | 2 * The dialog that displays the Exif data in a single file (display only, |
3 * no changing). We do this after washing. | 3 * no changing). We do this after washing. |
4 */ | 4 */ |
5 package name.blackcap.exifwasher | 5 package name.blackcap.exifwasher |
6 | 6 |
7 import java.awt.Color | |
8 import java.awt.Dimension | 7 import java.awt.Dimension |
9 import java.awt.event.ActionEvent | 8 import java.awt.event.ActionEvent |
10 import java.awt.event.ActionListener | 9 import java.awt.event.ActionListener |
11 import java.io.File | 10 import java.io.File |
12 import java.io.IOException | 11 import java.io.IOException |
14 import java.io.InputStream | 13 import java.io.InputStream |
15 import java.io.InputStreamReader | 14 import java.io.InputStreamReader |
16 import java.util.logging.Level | 15 import java.util.logging.Level |
17 import java.util.logging.Logger | 16 import java.util.logging.Logger |
18 import javax.swing.* | 17 import javax.swing.* |
19 import javax.swing.table.DefaultTableModel | |
20 import javax.swing.table.TableColumn | |
21 import javax.swing.table.TableColumnModel | |
22 | 18 |
23 import name.blackcap.exifwasher.exiv2.* | 19 import name.blackcap.exifwasher.exiv2.* |
24 | 20 |
25 class HelpDialog : JDialog(Application.mainFrame) { | 21 class HelpDialog : JDialog(Application.mainFrame) { |
26 private val BW = 9 | 22 private val BW = 9 |
30 | 26 |
31 private val dismissButton = JButton("Dismiss").also { | 27 private val dismissButton = JButton("Dismiss").also { |
32 it.addActionListener(ActionListener { setVisible(false) }) | 28 it.addActionListener(ActionListener { setVisible(false) }) |
33 } | 29 } |
34 | 30 |
35 private val helpPane = JTextPane().also { | 31 private val helpPane = JScrollPane(JTextPane().also { |
36 it.contentType = "text/html"; | 32 it.contentType = "text/html"; |
37 it.text = ::class.java.getResourceAsStream("help.html").bufferedReader().use { it.readText() } | 33 it.text = this::class.java.getResourceAsStream("help.html").bufferedReader().use { it.readText() } |
34 }).apply { | |
35 alignmentX = JScrollPane.CENTER_ALIGNMENT | |
36 border = BorderFactory.createEmptyBorder(BW2, BW2, BW, BW2) | |
37 verticalScrollBarPolicy = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS | |
38 horizontalScrollBarPolicy = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER | |
39 preferredSize = Dimension(WIDTH, HEIGHT) | |
40 background = Application.mainFrame.background | |
41 } | |
42 | |
43 override fun setVisible(vis: Boolean) { | |
44 if (vis) | |
45 helpPane.verticalScrollBar.run { value = minimum } | |
46 super.setVisible(vis) | |
38 } | 47 } |
39 | 48 |
40 init { | 49 init { |
41 setVisible(false) | 50 setVisible(false) |
42 title = "Help" | 51 title = "Help" |
43 contentPane.apply { | 52 contentPane.apply { |
44 layout = BoxLayout(this, BoxLayout.Y_AXIS) | 53 layout = BoxLayout(this, BoxLayout.Y_AXIS) |
45 add(JScrollPane(helpPane).apply { | 54 add(helpPane) |
46 alignmentX = JScrollPane.CENTER_ALIGNMENT | |
47 border = BorderFactory.createEmptyBorder(BW2, BW2, BW, BW2) | |
48 verticalScrollBarPolicy = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS | |
49 horizontalScrollBarPolicy = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER | |
50 preferredSize = Dimension(WIDTH, HEIGHT) | |
51 background = Application.mainFrame.background | |
52 }) | |
53 add(Box(BoxLayout.X_AXIS).apply { | 55 add(Box(BoxLayout.X_AXIS).apply { |
54 alignmentX = Box.CENTER_ALIGNMENT | 56 alignmentX = Box.CENTER_ALIGNMENT |
55 border = BorderFactory.createEmptyBorder(BW, BW2, BW2, BW2) | 57 border = BorderFactory.createEmptyBorder(BW, BW2, BW2, BW2) |
56 add(Box.createHorizontalGlue()) | 58 add(Box.createHorizontalGlue()) |
57 add(dismissButton) | 59 add(dismissButton) |