This feature was requested on irc last night...

I have attached a patch for the library search function. Any spaces in the search string are replaced by a wild card '%' so that someone searching for phil collins
can simply type 'ph coll' into the search box.

Regards


Graeme
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: mathi...@mathieg2-sony32-20100529112614-\
#   l49bo9osq5z3uy0u
# target_branch: http://bazaar.launchpad.net/~mixxxdevelopers/mixxx\
#   /trunk/
# testament_sha1: 148dc73240e2876a09fa276a940e344a4acec1db
# timestamp: 2010-05-29 12:31:07 +0100
# base_revision_id: albe...@mixxx.org-20100529222107-2keaetgqw2y7rcrr
# 
# Begin patch
=== modified file 'mixxx/src/library/cratetablemodel.cpp'
--- mixxx/src/library/cratetablemodel.cpp       2010-05-10 22:16:10 +0000
+++ mixxx/src/library/cratetablemodel.cpp       2010-05-29 11:26:14 +0000
@@ -158,9 +158,9 @@
         search.setValue("%" + searchText + "%");
         QString escapedText = database().driver()->formatValue(search);
         filter = "(" + LibraryTableModel::DEFAULT_LIBRARYFILTER + " AND " +
-                "(artist LIKE " + escapedText + " OR " +
-                "album LIKE " + escapedText + " OR " +
-                "title  LIKE " + escapedText + "))";
+                "(artist LIKE replace(" + escapedText + ",' ','%') OR " +
+                "album LIKE replace(" + escapedText + ",' ','%') OR " +
+                "title  LIKE replace(" + escapedText + ",' ','%') ))";
     }
 
     setFilter(filter);

=== modified file 'mixxx/src/library/librarytablemodel.cpp'
--- mixxx/src/library/librarytablemodel.cpp     2010-05-22 23:02:57 +0000
+++ mixxx/src/library/librarytablemodel.cpp     2010-05-29 11:26:14 +0000
@@ -150,9 +150,9 @@
         search.setValue("%" + searchText + "%");
         QString escapedText = database().driver()->formatValue(search);
         filter = "(" + LibraryTableModel::DEFAULT_LIBRARYFILTER + " AND " +
-                "(artist LIKE " + escapedText + " OR " +
-                "album LIKE " + escapedText + " OR " +
-                "title  LIKE " + escapedText + "))";
+                "(artist LIKE replace(" + escapedText + ",' ','%') OR " +
+                "album LIKE replace(" + escapedText + ",' ','%') OR " +
+                "title  LIKE replace(" + escapedText + ",' ','%') ))";
     }
     setFilter(filter);
 }

=== modified file 'mixxx/src/library/missingtablemodel.cpp'
--- mixxx/src/library/missingtablemodel.cpp     2010-05-10 22:16:10 +0000
+++ mixxx/src/library/missingtablemodel.cpp     2010-05-29 11:26:14 +0000
@@ -141,9 +141,9 @@
         search.setValue("%" + searchText + "%");
         QString escapedText = database().driver()->formatValue(search);
         filter = "(" + LibraryTableModel::DEFAULT_LIBRARYFILTER + " AND " +
-                "(artist LIKE " + escapedText + " OR " +
-                "album LIKE " + escapedText + " OR " +
-                "title  LIKE " + escapedText + "))";
+                "(artist LIKE replace(" + escapedText + ",' ','%') OR " +
+                "album LIKE replace(" + escapedText + ",' ','%') OR " +
+                "title  LIKE replace(" + escapedText + ",' ','%') ))";
     }
     setFilter(filter);
 }

=== modified file 'mixxx/src/library/playlisttablemodel.cpp'
--- mixxx/src/library/playlisttablemodel.cpp    2010-05-10 22:16:10 +0000
+++ mixxx/src/library/playlisttablemodel.cpp    2010-05-29 11:26:14 +0000
@@ -286,9 +286,9 @@
         search.setValue("%" + searchText + "%");
         QString escapedText = database().driver()->formatValue(search);
         filter = "(" + LibraryTableModel::DEFAULT_LIBRARYFILTER + " AND " +
-                "(artist LIKE " + escapedText + " OR " +
-                "album LIKE " + escapedText + " OR " +
-                "title  LIKE " + escapedText + "))";
+                "(artist LIKE replace(" + escapedText + ",' ','%') OR " +
+                "album LIKE replace(" + escapedText + ",' ','%') OR " +
+                "title  LIKE replace(" + escapedText + ",' ','%') ))";
     }
     setFilter(filter);
 }

=== modified file 'mixxx/src/library/preparelibrarytablemodel.cpp'
--- mixxx/src/library/preparelibrarytablemodel.cpp      2010-05-10 22:16:10 
+0000
+++ mixxx/src/library/preparelibrarytablemodel.cpp      2010-05-29 11:26:14 
+0000
@@ -60,9 +60,9 @@
         search.setValue("%" + searchText + "%");
         QString escapedText = database().driver()->formatValue(search);
         filter = "(" + baseFilter + " AND " +
-                "(artist LIKE " + escapedText + " OR " +
-                "album LIKE " + escapedText + " OR " +
-                "title  LIKE " + escapedText + "))";
+                "(artist LIKE replace(" + escapedText + ",' ','%') OR " +
+                "album LIKE replace(" + escapedText + ",' ','%') OR " +
+                "title  LIKE replace(" + escapedText + ",' ','%') ))";
     }
     setFilter(filter);
 }

# Begin bundle
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
0MCY7DrO0WrUPqJnmX9h/4u5IpwoSCsoC3YA
------------------------------------------------------------------------------

_______________________________________________
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to