From 0c1bbb349d5da9fc9c6ccf509d011c43ae949a4d Mon Sep 17 00:00:00 2001
From: mathiasdm <mathiasdm@mail.i2p>
Date: Mon, 21 Feb 2011 17:03:27 +0000
Subject: [PATCH] Cancel and OK should work every time now (before, they only
 worked if the mouse did not move while clicking).

---
 .../gui/DesktopguiConfigurationFrame.java     | 34 +++++++++++--------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java b/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java
index 83711e95d6..ae45bf2471 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java
@@ -40,7 +40,7 @@ public class DesktopguiConfigurationFrame extends javax.swing.JFrame {
         okButton = new javax.swing.JButton();
         cancelButton = new javax.swing.JButton();
 
-        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
         setTitle(_("Tray icon configuration"));
 
         desktopguiEnabled.setSelected(true);
@@ -49,15 +49,15 @@ public class DesktopguiConfigurationFrame extends javax.swing.JFrame {
 
         okButton.setText("OK");
         okButton.addMouseListener(new java.awt.event.MouseAdapter() {
-            public void mouseClicked(java.awt.event.MouseEvent evt) {
-                okButtonMouseClicked(evt);
+            public void mouseReleased(java.awt.event.MouseEvent evt) {
+                okButtonMouseReleased(evt);
             }
         });
 
         cancelButton.setText("Cancel");
         cancelButton.addMouseListener(new java.awt.event.MouseAdapter() {
-            public void mouseClicked(java.awt.event.MouseEvent evt) {
-                cancelButtonMouseClicked(evt);
+            public void mouseReleased(java.awt.event.MouseEvent evt) {
+                cancelButtonMouseReleased(evt);
             }
         });
 
@@ -90,7 +90,20 @@ public class DesktopguiConfigurationFrame extends javax.swing.JFrame {
         pack();
     }// </editor-fold>//GEN-END:initComponents
 
-    private void okButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_okButtonMouseClicked
+    private void cancelButtonMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cancelButtonMouseReleased
+        System.out.println("Cancelling configuration change.");
+        this.dispose();
+    }//GEN-LAST:event_cancelButtonMouseReleased
+
+    private void okButtonMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_okButtonMouseReleased
+        configureDesktopgui();
+    }//GEN-LAST:event_okButtonMouseReleased
+
+    protected static String _(String s) {
+        return DesktopguiTranslator._(s);
+    }
+
+    private void configureDesktopgui() {
         String property = "desktopgui.enabled";
         String value;
         if(!desktopguiEnabled.isSelected()) {
@@ -108,15 +121,6 @@ public class DesktopguiConfigurationFrame extends javax.swing.JFrame {
         }
         System.out.println("Applying desktopgui configuration!");
         this.dispose();
-    }//GEN-LAST:event_okButtonMouseClicked
-
-    private void cancelButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cancelButtonMouseClicked
-        System.out.println("Cancelling configuration!");
-        this.dispose();
-    }//GEN-LAST:event_cancelButtonMouseClicked
-
-    protected static String _(String s) {
-        return DesktopguiTranslator._(s);
     }
 
     // Variables declaration - do not modify//GEN-BEGIN:variables
-- 
GitLab