All pastes #341391 Raw Edit

Stuff

public text v1 · immutable
#341391 ·published 2007-02-05 16:40 UTC
rendered paste body
Index: mythtv/libs/libmythtv/progfind.cpp
===================================================================
--- mythtv/libs/libmythtv/progfind.cpp  (revision 12723)
+++ mythtv/libs/libmythtv/progfind.cpp  (working copy)
@@ -1274,35 +1274,54 @@
                                           MSqlBindings &bindings)
 {
     QDateTime progStart = QDateTime::currentDateTime();
+    QString lang = gContext->getSetting("Language");

     if (searchData[charNum].contains('@'))
     {
+        if (lang == "EN_GB")
+        {
+            QString localerules = " AND title NOT REGEXP '^The [A-Z0-9]' AND "
+            "title NOT REGEXP '^A [A-Z0-9]' AND "
+            "title NOT REGEXP '^An [A-Z0-9]'";
+        }
+
         where = "SELECT DISTINCT title FROM program WHERE ( "
-                   "title NOT REGEXP '^[A-Z0-9]' AND "
-                   "title NOT REGEXP '^The [A-Z0-9]' AND "
-                   "title NOT REGEXP '^A [A-Z0-9]' AND "
-                   "title NOT REGEXP '^An [A-Z0-9]' AND "
-                   "starttime > :STARTTIME ) ORDER BY title;";
+                   "title NOT REGEXP '^[A-Z0-9]'"
+                   + localerules +
+                   " AND starttime > :STARTTIME ) ORDER BY title;";
         bindings[":STARTTIME"] = progStart.toString("yyyy-MM-ddThh:mm:50");
     }
     else
     {
-        QString one = searchData[charNum] + "%";
-        QString two = QString("The ") + one;
-        QString three = QString("A ") + one;
-        QString four = QString("An ") + one;
-        where = "SELECT DISTINCT title "
-                "FROM program "
-                "WHERE ( title LIKE :ONE OR title LIKE :TWO "
-                "        OR title LIKE :THREE "
-                "        OR title LIKE :FOUR ) "
-                "AND starttime > :STARTTIME "
-                "ORDER BY title;";
-        bindings[":ONE"] = one.utf8();
-        bindings[":TWO"] = two.utf8();
-        bindings[":THREE"] = three.utf8();
-        bindings[":FOUR"] = four.utf8();
-        bindings[":STARTTIME"] = progStart.toString("yyyy-MM-ddThh:mm:50");
+        if (lang == "EN_GB")
+        {
+            QString one = searchData[charNum] + "%";
+            QString two = QString("The ") + one;
+            QString three = QString("A ") + one;
+            QString four = QString("An ") + one;
+            where = "SELECT DISTINCT title "
+                    "FROM program "
+                    "WHERE ( title LIKE :ONE OR title LIKE :TWO "
+                    "        OR title LIKE :THREE "
+                    "        OR title LIKE :FOUR ) "
+                    "AND starttime > :STARTTIME "
+                    "ORDER BY title;";
+            bindings[":ONE"] = one.utf8();
+            bindings[":TWO"] = two.utf8();
+            bindings[":THREE"] = three.utf8();
+            bindings[":FOUR"] = four.utf8();
+            bindings[":STARTTIME"] = progStart.toString("yyyy-MM-ddThh:mm:50");
+        }
+        else {
+            QString one = searchData[charNum] + "%";
+            where = "SELECT DISTINCT title "
+                    "FROM program "
+                    "WHERE title LIKE :ONE "
+                    "AND starttime > :STARTTIME "
+                    "ORDER BY title;";
+            bindings[":ONE"] = one.utf8();
+            bindings[":STARTTIME"] = progStart.toString("yyyy-MM-ddThh:mm:50");
+        }
     }
 }

@@ -1310,37 +1329,41 @@
 {
     bool retval = true;

-    if (searchData[curSearch] == "T" || searchData[curSearch] == "A")
+    QString lang = gContext->getSetting("Language");
+    if (lang == "EN_GB")
     {
-        if (data.left(5) == "The T" && searchData[curSearch] == "T")
-            data = data.mid(4) + ", The";
-        else if (data.left(5) == "The A" && searchData[curSearch] == "A")
-            data = data.mid(4) + ", The";
-        else if (data.left(3) == "A T" && searchData[curSearch] == "T")
-            data = data.mid(2) + ", A";
-        else if (data.left(3) == "A A" && searchData[curSearch] == "A")
-             data = data.mid(2) + ", A";
-        else if (data.left(4) == "An A" && searchData[curSearch] == "A")
-             data = data.mid(3) + ", An";
-        else if (data.left(4) != "The " && data.left(2) != "A ")
+        if (searchData[curSearch] == "T" || searchData[curSearch] == "A")
         {
-             // nothing, use as is
+            if (data.left(5) == "The T" && searchData[curSearch] == "T")
+                data = data.mid(4) + ", The";
+            else if (data.left(5) == "The A" && searchData[curSearch] == "A")
+                data = data.mid(4) + ", The";
+            else if (data.left(3) == "A T" && searchData[curSearch] == "T")
+                data = data.mid(2) + ", A";
+            else if (data.left(3) == "A A" && searchData[curSearch] == "A")
+                data = data.mid(2) + ", A";
+            else if (data.left(4) == "An A" && searchData[curSearch] == "A")
+                data = data.mid(3) + ", An";
+            else if (data.left(4) != "The " && data.left(2) != "A ")
+            {
+                // nothing, use as is
+            }
+            else
+            {
+                // don't add
+                retval = false;
+            }
         }
         else
         {
-            // don't add
-            retval = false;
+            if (data.left(4) == "The ")
+                data = data.mid(4) + ", The";
+            if (data.left(2) == "A ")
+                data = data.mid(2) + ", A";
+            if (data.left(3) == "An ")
+                data = data.mid(3) + ", An";
         }
     }
-    else
-    {
-        if (data.left(4) == "The ")
-            data = data.mid(4) + ", The";
-        if (data.left(2) == "A ")
-            data = data.mid(2) + ", A";
-        if (data.left(3) == "An ")
-            data = data.mid(3) + ", An";
-    }

     return retval;
 }
@@ -1349,37 +1372,41 @@
 {
     bool retval = true;

-    if (charNum == 29 || charNum == 10)
+    QString lang = gContext->getSetting("Language");
+    if (lang == "EN_GB")
     {
-        if (data.left(5) == "The T" && charNum == 29)
-            data = data.mid(4) + ", The";
-        else if (data.left(5) == "The A" && charNum == 10)
-            data = data.mid(4) + ", The";
-        else if (data.left(3) == "A T" && charNum == 29)
-            data = data.mid(2) + ", A";
-        else if (data.left(3) == "A A" && charNum == 10)
-            data = data.mid(2) + ", A";
-        else if (data.left(4) == "An A" && charNum == 10)
-             data = data.mid(3) + ", An";
-        else if (data.left(4) != "The " && data.left(2) != "A ")
+        if (charNum == 29 || charNum == 10)
         {
-            // use as is
+            if (data.left(5) == "The T" && charNum == 29)
+                data = data.mid(4) + ", The";
+            else if (data.left(5) == "The A" && charNum == 10)
+                data = data.mid(4) + ", The";
+            else if (data.left(3) == "A T" && charNum == 29)
+                data = data.mid(2) + ", A";
+            else if (data.left(3) == "A A" && charNum == 10)
+                data = data.mid(2) + ", A";
+            else if (data.left(4) == "An A" && charNum == 10)
+                data = data.mid(3) + ", An";
+            else if (data.left(4) != "The " && data.left(2) != "A ")
+            {
+                // use as is
+            }
+            else
+            {
+                // don't add
+                retval = false;
+            }
         }
         else
         {
-            // don't add
-            retval = false;
+            if (data.left(4) == "The ")
+                data = data.mid(4) + ", The";
+            if (data.left(2) == "A ")
+                data = data.mid(2) + ", A";
+            if (data.left(3) == "An ")
+                data = data.mid(3) + ", An";
         }
     }
-    else
-    {
-        if (data.left(4) == "The ")
-            data = data.mid(4) + ", The";
-        if (data.left(2) == "A ")
-            data = data.mid(2) + ", A";
-        if (data.left(3) == "An ")
-            data = data.mid(3) + ", An";
-    }

     return retval;
 }