Mercurial > cgi-bin > hgweb.cgi > JpegWasher
annotate 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 |
rev | line source |
---|---|
50
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
1 /* |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
2 * The dialog that displays the Exif data in a single file (display only, |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
3 * no changing). We do this after washing. |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
4 */ |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
5 package name.blackcap.exifwasher |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
6 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
7 import java.awt.Dimension |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
8 import java.awt.event.ActionEvent |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
9 import java.awt.event.ActionListener |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
10 import java.io.File |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
11 import java.io.IOException |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
12 import java.io.BufferedReader |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
13 import java.io.InputStream |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
14 import java.io.InputStreamReader |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
15 import java.util.logging.Level |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
16 import java.util.logging.Logger |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
17 import javax.swing.* |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
18 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
19 import name.blackcap.exifwasher.exiv2.* |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
20 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
21 class HelpDialog : JDialog(Application.mainFrame) { |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
22 private val BW = 9 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
23 private val BW2 = BW * 2 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
24 private val WIDTH = 640 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
25 private val HEIGHT = 480 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
26 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
27 private val dismissButton = JButton("Dismiss").also { |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
28 it.addActionListener(ActionListener { setVisible(false) }) |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
29 } |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
30 |
52 | 31 private val helpPane = JScrollPane(JTextPane().also { |
50
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
32 it.contentType = "text/html"; |
52 | 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) | |
50
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
47 } |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
48 |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
49 init { |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
50 setVisible(false) |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
51 title = "Help" |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
52 contentPane.apply { |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
53 layout = BoxLayout(this, BoxLayout.Y_AXIS) |
52 | 54 add(helpPane) |
50
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
55 add(Box(BoxLayout.X_AXIS).apply { |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
56 alignmentX = Box.CENTER_ALIGNMENT |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
57 border = BorderFactory.createEmptyBorder(BW, BW2, BW2, BW2) |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
58 add(Box.createHorizontalGlue()) |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
59 add(dismissButton) |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
60 }) |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
61 } |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
62 pack() |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
63 } |
fb407182ba76
Add help menu item, UNTESTED.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
64 } |