@Override
 public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
   switch (key) {
     case "host":
       hostPref.setSummary(sharedPreferences.getString(key, ""));
       break;
     case "port":
       portPref.setSummary(sharedPreferences.getString("port", "8001"));
       break;
     case "password":
       {
         String tmp = sharedPreferences.getString("password", null);
         if (tmp == null || tmp.equals("")) {
           passPref.setSummary("None Set");
         } else {
           passPref.setSummary("******");
         }
         break;
       }
     case "text_size":
       textSizePref.setSummary(sharedPreferences.getString("text_size", "10"));
       break;
     case "timestamp_format":
       timestampformatPref.setSummary(sharedPreferences.getString("timestamp_format", "HH:mm:ss"));
       break;
     case "stunnel_cert":
       stunnelCert.setSummary(
           sharedPreferences.getString("stunnel_cert", "/sdcard/weechat/client.p12"));
       break;
     case "stunnel_pass":
       {
         String tmp = sharedPreferences.getString("stunnel_pass", null);
         if (tmp == null || tmp.equals("")) {
           stunnelPass.setSummary("None Set");
         } else {
           stunnelPass.setSummary("******");
         }
         break;
       }
     case "ssh_host":
       sshHostPref.setSummary(sharedPreferences.getString(key, ""));
       break;
     case "ssh_user":
       sshUserPref.setSummary(sharedPreferences.getString(key, ""));
       break;
     case "ssh_port":
       sshPortPref.setSummary(sharedPreferences.getString(key, "22"));
       break;
     case "ssh_pass":
       {
         String tmp = sharedPreferences.getString("ssh_pass", null);
         if (tmp == null || tmp.equals("")) {
           sshPassPref.setSummary("None Set");
         } else {
           sshPassPref.setSummary("******");
         }
         break;
       }
     case "ssh_keyfile":
       sshKeyFilePref.setSummary(
           sharedPreferences.getString(key, "/sdcard/weechat/sshkey.id_rsa"));
       break;
     case "prefix_align":
       prefixPref.setSummary(prefixPref.getEntry());
       break;
     case "connection_type":
       connectionTypePref.setSummary(connectionTypePref.getEntry());
       break;
     case "ping_enabled":
       boolean pingEnabled = sharedPreferences.getBoolean("ping_enabled", true);
       if (pingEnabled) {
         pingPreferences.setSummary("Enabled");
       } else {
         pingPreferences.setSummary("Disabled");
       }
       ((BaseAdapter) connectionSettings.getRootAdapter()).notifyDataSetChanged();
       break;
     case "buffer_font":
       updateBufferFontSummary();
       break;
   }
 }