do not limit system tray to Windows and Mac only. Hide the exit behavior option if tray not supported.

pull/53/head
Zlatin Balevsky 2020-10-10 13:10:21 +01:00
parent 45c2bec0ad
commit 9acb49c22a
No known key found for this signature in database
GPG Key ID: A72832072D525E41
3 changed files with 16 additions and 9 deletions

View File

@ -12,6 +12,7 @@ import javax.annotation.Nonnull
import javax.swing.JFileChooser
import javax.swing.JOptionPane
import java.awt.Font
import java.awt.SystemTray
import com.muwire.core.Core
import com.muwire.core.MuWireSettings
@ -238,9 +239,11 @@ class OptionsController {
model.storeSearchHistory = storeSearchHistory
uiSettings.storeSearchHistory = storeSearchHistory
uiSettings.exitOnClose = model.exitOnClose
if (model.closeDecisionMade)
uiSettings.closeWarning = false
if (SystemTray.isSupported()) {
uiSettings.exitOnClose = model.exitOnClose
if (model.closeDecisionMade)
uiSettings.closeWarning = false
}
saveUISettings()

View File

@ -135,7 +135,7 @@ class Initialize extends AbstractLifecycleHandler {
System.setProperty("apple.eawt.quitStrategy", "CLOSE_ALL_WINDOWS");
if (SystemTray.isSupported() && (SystemVersion.isMac() || SystemVersion.isWindows())) {
if (SystemTray.isSupported()) {
try {
def tray = SystemTray.getSystemTray()
def url = Initialize.class.getResource("/MuWire-16x16.png")

View File

@ -18,6 +18,7 @@ import com.muwire.core.Core
import java.awt.BorderLayout
import java.awt.GridBagConstraints
import java.awt.SystemTray
import java.awt.event.WindowAdapter
import java.awt.event.WindowEvent
@ -277,11 +278,14 @@ class OptionsView {
label(text : trans("OPTIONS_CLEAR_FINISHED_UPLOADS"), constraints:gbc(gridx:0, gridy:4, anchor: GridBagConstraints.LINE_START, weightx : 100))
clearUploadsCheckbox = checkBox(selected : bind {model.clearUploads},
constraints : gbc(gridx:1, gridy: 4, anchor:GridBagConstraints.LINE_END))
label(text : trans("OPTIONS_WHEN_CLOSING_MUWIRE"), constraints : gbc(gridx: 0, gridy : 5, anchor : GridBagConstraints.LINE_START, weightx: 100))
panel (constraints : gbc(gridx:1, gridy: 5, anchor : GridBagConstraints.LINE_END)) {
buttonGroup(id : "closeBehaviorGroup")
radioButton(text : trans("OPTIONS_MINIMIZE_TO_TRAY"), selected : bind {!model.exitOnClose}, buttonGroup: closeBehaviorGroup, minimizeOnCloseAction)
radioButton(text : trans("EXIT"), selected : bind {model.exitOnClose}, buttonGroup : closeBehaviorGroup, exitOnCloseAction)
if (SystemTray.isSupported()) {
label(text : trans("OPTIONS_WHEN_CLOSING_MUWIRE"), constraints : gbc(gridx: 0, gridy : 5, anchor : GridBagConstraints.LINE_START, weightx: 100))
panel (constraints : gbc(gridx:1, gridy: 5, anchor : GridBagConstraints.LINE_END)) {
buttonGroup(id : "closeBehaviorGroup")
radioButton(text : trans("OPTIONS_MINIMIZE_TO_TRAY"), selected : bind {!model.exitOnClose}, buttonGroup: closeBehaviorGroup, minimizeOnCloseAction)
radioButton(text : trans("EXIT"), selected : bind {model.exitOnClose}, buttonGroup : closeBehaviorGroup, exitOnCloseAction)
}
}
}
panel (constraints : gbc(gridx: 0, gridy: 3, weighty: 100))