Browse Source

[refactor] rebalanced levenshtein weight
[quickfix] changed colors

B Thibault 9 years ago
parent
commit
cf4b03dd51
3 changed files with 8 additions and 10 deletions
  1. 2 2
      include/levenshteinMatrice.hpp
  2. 1 1
      src/curseOutput.cpp
  3. 5 7
      src/curseSplitOutput.cpp

+ 2 - 2
include/levenshteinMatrice.hpp

@@ -98,7 +98,7 @@ class LevenshteinMatrice: public LevenshteinMatrice_base
                     LevenshteinMatrice_base *_subMatrice = matriceBuilder.build(*a, *b);
                     if (_subMatrice != nullptr)
                     {
-                        const T chCost = matrice[i -1][j -1] + (_subMatrice->areSimilar() ? 0 : 1);
+                        const T chCost = matrice[i -1][j -1] + (_subMatrice->areSimilar() ? 0 : _subMatrice->result());
 
                         if (chCost <= matrice[i -1][j] +1 &&
                                 chCost <= matrice[i][j -1] +1)
@@ -108,7 +108,7 @@ class LevenshteinMatrice: public LevenshteinMatrice_base
                             continue;
                         }
                         delete _subMatrice;
-                    } // Change is not worth or subMatrice is null (eg. a and b has different types)
+                    } // Change is not worth, consider adding/removing
                     matrice[i][j] = std::min(matrice[i -1][j], matrice[i][j -1]) +1;
                 }
             }

+ 1 - 1
src/curseOutput.cpp

@@ -296,7 +296,7 @@ void CurseOutput::init()
         init_pair(OutputFlag::TYPE_OBJKEY, COLOR_CYAN, COLOR_BLACK);
         init_pair(OutputFlag::SPECIAL_SEARCH, COLOR_WHITE, COLOR_BLUE);
         init_pair(OutputFlag::SPECIAL_ERROR, COLOR_WHITE, COLOR_RED);
-        init_pair(OutputFlag::SPECIAL_ACTIVEINPUTNAME, COLOR_WHITE, COLOR_GREEN);
+        init_pair(OutputFlag::SPECIAL_ACTIVEINPUTNAME, COLOR_BLACK, COLOR_GREEN);
         init_pair(OutputFlag::SPECIAL_INPUTNAME, COLOR_BLACK, COLOR_WHITE);
         colors.insert(OutputFlag::TYPE_NUMBER);
         colors.insert(OutputFlag::TYPE_BOOL);

+ 5 - 7
src/curseSplitOutput.cpp

@@ -59,19 +59,17 @@ void CurseSplitOutput::run(const std::deque<std::string> &inputName, const std::
 
 void CurseSplitOutput::loop()
 {
+    inputResult read;
     breakLoop = false;
 
     while (!redraw());
-    while(true)
+    do
     {
-        inputResult read = readInput();
-        if (read == inputResult::quit)
-            break;
-        if (read == inputResult::redraw)
-            while (!redrawCurrent(selectedWin));
-        else if (read == inputResult::redrawAll)
+        read = readInput();
+        if (read == inputResult::redraw || read == inputResult::redrawAll)
             while (!redraw());
     }
+    while (read != inputResult::quit);
 }
 
 void CurseSplitOutput::computeDiff()