The bell overload times are now measured in milliseconds, although
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 28 Apr 2001 15:47:26 +0000 (15:47 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 28 Apr 2001 15:47:26 +0000 (15:47 +0000)
the config box still enters them in seconds (it allows fractions).

git-svn-id: svn://svn.tartarus.org/sgt/putty@1089 cda61777-01e9-0310-a592-d414129be87e

settings.c
terminal.c
windlg.c

index 5cde21c..256e2b2 100644 (file)
@@ -267,8 +267,8 @@ void load_settings (char *section, int do_host, Config *cfg) {
          sizeof(cfg->bell_wavefile));
     gppi (sesskey, "BellOverload", 1, &cfg->bellovl);
     gppi (sesskey, "BellOverloadN", 5, &cfg->bellovl_n);
-    gppi (sesskey, "BellOverloadT", 2, &cfg->bellovl_t);
-    gppi (sesskey, "BellOverloadS", 5, &cfg->bellovl_s);
+    gppi (sesskey, "BellOverloadT", 2000, &cfg->bellovl_t);
+    gppi (sesskey, "BellOverloadS", 5000, &cfg->bellovl_s);
     gppi (sesskey, "ScrollbackLines", 200, &cfg->savelines);
     gppi (sesskey, "DECOriginMode", 0, &cfg->dec_om);
     gppi (sesskey, "AutoWrapMode", 1, &cfg->wrap_mode);
index 731bc1f..95bd89f 100644 (file)
@@ -906,7 +906,7 @@ void term_out(void) {
                     * t seconds ago.
                     */
                    while (beephead &&
-                          beephead->ticks < ticks - cfg.bellovl_t*1000) {
+                          beephead->ticks < ticks - cfg.bellovl_t) {
                        struct beeptime *tmp = beephead;
                        beephead = tmp->next;
                        sfree(tmp);
@@ -916,7 +916,7 @@ void term_out(void) {
                    }
 
                    if (cfg.bellovl && beep_overloaded &&
-                       ticks-lastbeep >= cfg.bellovl_s * 1000) {
+                       ticks-lastbeep >= cfg.bellovl_s) {
                        /*
                         * If we're currently overloaded and the
                         * last beep was more than s seconds ago,
index 95b4840..22683ac 100644 (file)
--- a/windlg.c
+++ b/windlg.c
@@ -43,6 +43,20 @@ static void MyGetDlgItemInt (HWND hwnd, int id, int *result) {
        *result = n;
 }
 
+static void MyGetDlgItemFlt (HWND hwnd, int id, int *result, int scale) {
+    char text[80];
+    BOOL ok;
+    ok = GetDlgItemText (hwnd, id, text, sizeof(text)-1);
+    if (ok && text[0])
+       *result = (int) (scale * atof(text));
+}
+
+static void MySetDlgItemFlt (HWND hwnd, int id, double value) {
+    char text[80];
+    sprintf(text, "%g", value);
+    SetDlgItemText (hwnd, id, text);
+}
+
 static int CALLBACK LogProc (HWND hwnd, UINT msg,
                             WPARAM wParam, LPARAM lParam) {
     int i;
@@ -585,8 +599,8 @@ static void init_dlg_ctrls(HWND hwnd) {
     SetDlgItemText (hwnd, IDC_BELL_WAVEEDIT, cfg.bell_wavefile);
     CheckDlgButton (hwnd, IDC_BELLOVL, cfg.bellovl);
     SetDlgItemInt (hwnd, IDC_BELLOVLN, cfg.bellovl_n, FALSE);
-    SetDlgItemInt (hwnd, IDC_BELLOVLT, cfg.bellovl_t, FALSE);
-    SetDlgItemInt (hwnd, IDC_BELLOVLS, cfg.bellovl_s, FALSE);
+    MySetDlgItemFlt (hwnd, IDC_BELLOVLT, cfg.bellovl_t / 1000.0);
+    MySetDlgItemFlt (hwnd, IDC_BELLOVLS, cfg.bellovl_s / 1000.0);
 
     CheckDlgButton (hwnd, IDC_BCE, cfg.bce);
     CheckDlgButton (hwnd, IDC_BLINKTEXT, cfg.blinktext);
@@ -1727,11 +1741,11 @@ static int GenericMainDlgProc (HWND hwnd, UINT msg,
             break;
           case IDC_BELLOVLT:
             if (HIWORD(wParam) == EN_CHANGE)
-                MyGetDlgItemInt (hwnd, IDC_BELLOVLT, &cfg.bellovl_t);
+                MyGetDlgItemFlt (hwnd, IDC_BELLOVLT, &cfg.bellovl_t, 1000);
             break;
           case IDC_BELLOVLS:
             if (HIWORD(wParam) == EN_CHANGE)
-                MyGetDlgItemInt (hwnd, IDC_BELLOVLS, &cfg.bellovl_s);
+                MyGetDlgItemFlt (hwnd, IDC_BELLOVLS, &cfg.bellovl_s, 1000);
             break;
          case IDC_BLINKTEXT:
            if (HIWORD(wParam) == BN_CLICKED ||