![]() Bonus: ability to break out a copy of a playlist (tracks list) into separate window, showing only that tracks list, window has no adornment or other controls, but may be used for drag and drop.currently the Library playlist just shows the ENTIRE (main) db table, but it should instead show a separate, curated table containing only the tracks we want to see in the Library (QSortFilterProxyModel) (ie: don't show music store songs unless the user turns that on, don't show songs from any mounted CDs).Similarly CDs, they have a separate playlist not shown in the library, but meta data is stored for them, so next time you put i the same CD, you see it's data.alread kinda done: updating these stores (getting new catalog) must be done in such a way as to merge new changes without invalidating the existing song IDs) ![]() users can turn these stores on and off at will in the preferences UI, they each have their own separate playlist (store) but also they (or a subset) MAY be included (shown) within the main Library playlist along with the rest of the user's songs (so it's a little tricky). To change several columns behavior at once, unhide a column or change the order of the columns, choose Organize columns. #Db browser for sqlite sort multiple columns freeusers should be free to delete these DB tables in the file system between runs, and not mess up the main tables. note some "playlists" are not part of the main DB (not stored in main table), and need separate persistent storage, merged in viewer upon running the app, but still separately saved.this is kinda done: ability to convert existing DB model to new DB model (so when new app is run, old data is sucked in and converted), then on subsequent runs it reads new DB data file(s).database updates / queries must never block UI thread (expensive ops must be on back thread, & obviously be thread safe).Specifically, support for quoted, numeric, targeted (only a specific sort column), and "exact" search function will search only the shown (visible) meta data columns, does NOT search in columns that are hidden.searches must scale to hundreds of thousands of items, and be very quick (probably never more than 500k items, yet each item may have three dozen elements which may be strings, numbers, date / times, booleans etc).ability to drag and drop single or group from tracks list (on right) to other playlists (on left).drag and drop reordering of tracks (Rows) when sorted by “#” (no reorder when sorted by any other column), including dis-contiguous groups.ability to sort by any meta data column (quickly), sorts are "stable", ie: if user clicks to sort sort by artist THEN clicks to sort by song name, songs will be sorted by song name, but within each group of songs by the same name, they'll be sorted by artist.fully configurable and customizable list of meta data “sort columns” on the right, ability to hide / show / drag reorder as user wishes (old DB model & data provided, you create new DB model).when selecting a “Source” on the left, show the contents of that source on the right, in the “Tracks” list.playlist may contain tracks (songs) OR other playlists (ie: like folders).tracks lists must use "model backed view", using QSortFilterProxyModel.“main browser” window has a “Tracks” list (table view) on the right side side (showing contents of currently selected playlist) (multi-column, flat, configurable) (bulk of your work is in implementing this).“main browser” window has a “Source” list (tree view) on the left side (listing the “Library” and other “Playlists”) (single column, heirarchical, as some act as folders) (this part is working well enough but needs finishing touches).utilize SQLite tables and FTS if necessary for fast db searches.By default the order is always ASC ( Ascending ).īoth class and mark columns are in descending order.Looking to hire a freelancer for this project: ![]() We can use ASC for ascending order and DESC for descending order against each columns. Here is the output or error message we will get.Įrror: no such column: class1 Using ASC and DESC Let us change the query to q="SELECT * FROM student ORDER BY class1,mark", Note that there is no column as class1. Q="SELECT * FROM student ORDER BY class,mark " So first the order will be using class column and then within the class column mark is used from lowest ( mark ) to highest ( mark ) to order the records. In our query we will use two columns class and mark. We can display error message if there is any error by using try except. Q="SELECT id,name,class,mark,sex FROM student ORDER BY class DESC" #Db browser for sqlite sort multiple columns codeIn above code we changed the query part only by adding DESC. We can reverse the order ( from Z to A ) by using DESC. Print(row,row,row,row,row)īased on alphabetical forward order (from A to Z ) we displayed records based on class column in above code. Q="SELECT id,name,class,mark,sex FROM student ORDER BY class" ![]() As class column is storing text data, we will display rows in alphabetical order of class column. ![]() Order by query will take one or more column as input. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |