Mercurial > cgi-bin > hgweb.cgi > ClipMan
diff src/name/blackcap/clipman/CoerceDialog.kt @ 38:08eaae2aaf76
Stop dialog resizing, fix detection of bad font sizes.
author | David Barts <n5jrn@me.com> |
---|---|
date | Thu, 30 Jan 2020 22:06:37 -0800 |
parents | 376643a09b52 |
children | 33fbe3a78d84 |
line wrap: on
line diff
--- a/src/name/blackcap/clipman/CoerceDialog.kt Thu Jan 30 21:03:56 2020 -0800 +++ b/src/name/blackcap/clipman/CoerceDialog.kt Thu Jan 30 22:06:37 2020 -0800 @@ -42,8 +42,6 @@ it.selectedIndex = DSIZEI it.alignmentX = JComboBox.LEFT_ALIGNMENT it.setEditable(true) - it.actionCommand = "Size" - it.addActionListener(this) } val pSize: Float get() { @@ -65,8 +63,6 @@ it.selectedIndex = DSIZEI it.alignmentX = JComboBox.LEFT_ALIGNMENT it.setEditable(true) - it.actionCommand = "Size" - it.addActionListener(this) } val mSize: Float get() { @@ -148,17 +144,11 @@ } rootPane.setDefaultButton(_coerce) pack() + setResizable(false) } override fun actionPerformed(e: ActionEvent) { when (e.actionCommand) { - "Size" -> { - val source = e.source as? JComboBox<Float> - if (source != null && (source.selectedItem as Float) < 1.0f) { - Toolkit.getDefaultToolkit().beep() - source.selectedIndex = DSIZEI - } - } "Coerce" -> { setVisible(false) coerce() @@ -193,6 +183,9 @@ "Error", JOptionPane.ERROR_MESSAGE) } else { + if (badSize(_pSize, "proportionally-spaced") || badSize(_mSize, "monospaced")) { + return + } PasteboardItem.write( PasteboardItem.HTML( plain, @@ -202,6 +195,19 @@ } } + private fun badSize(control: JComboBox<Float>, fontType: String): Boolean { + val size = control.selectedItem as? Float + if (size == null || size < 1.0f) { + JOptionPane.showMessageDialog(frame.v, + "Invalid ${fontType} font size.", + "Error", + JOptionPane.ERROR_MESSAGE) + control.selectedIndex = DSIZEI + return true + } + return false + } + private fun getFontIndex(font: String): Int { val found = FONTS.indexOf(font) if (found < 0) {