mirror of
https://github.com/clangen/musikcube.git
synced 2025-03-14 04:18:36 +00:00
Functional TrackListViewQuery! We can actually see selected tracks for albums now.
This commit is contained in:
parent
c259e911db
commit
60cdbdded8
@ -1,41 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "CategoryListQuery.h"
|
||||
|
||||
#include <core/db/Statement.h>
|
||||
|
||||
using musik::core::db::Statement;
|
||||
using musik::core::db::Row;
|
||||
|
||||
CategoryListQuery::CategoryListQuery() {
|
||||
result.reset(new std::vector<std::string>());
|
||||
}
|
||||
|
||||
CategoryListQuery::~CategoryListQuery() {
|
||||
|
||||
}
|
||||
|
||||
CategoryListQuery::Result CategoryListQuery::GetResult() {
|
||||
return this->result;
|
||||
}
|
||||
|
||||
bool CategoryListQuery::OnRun(Connection& db) {
|
||||
if (result) {
|
||||
result.reset(new std::vector<std::string>());
|
||||
}
|
||||
|
||||
std::string query =
|
||||
"SELECT DISTINCT albums.name "
|
||||
"FROM albums, tracks "
|
||||
"WHERE albums.id = tracks.album_id "
|
||||
"ORDER BY albums.sort_order;";
|
||||
|
||||
Statement stmt(query.c_str(), db);
|
||||
|
||||
while (stmt.Step() == Row) {
|
||||
result->push_back(stmt.ColumnText(0));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <core/library/query/QueryBase.h>
|
||||
#include <core/db/Connection.h>
|
||||
|
||||
using musik::core::query::QueryBase;
|
||||
using musik::core::db::Connection;
|
||||
|
||||
class CategoryListQuery : public QueryBase {
|
||||
public:
|
||||
typedef std::shared_ptr<std::vector<std::string>> Result;
|
||||
|
||||
CategoryListQuery();
|
||||
~CategoryListQuery();
|
||||
|
||||
std::string Name() {
|
||||
return "CategoryListQuery";
|
||||
}
|
||||
|
||||
virtual Result GetResult();
|
||||
|
||||
protected:
|
||||
virtual bool OnRun(Connection &db);
|
||||
|
||||
Result result;
|
||||
};
|
@ -5,7 +5,7 @@
|
||||
#include "CategoryListView.h"
|
||||
#include "SingleLineEntry.h"
|
||||
#include "MultiLineEntry.h"
|
||||
#include "CategoryListQuery.h"
|
||||
#include "CategoryListViewQuery.h"
|
||||
#include "IWindowMessage.h"
|
||||
|
||||
using musik::core::LibraryPtr;
|
||||
@ -26,10 +26,18 @@ CategoryListView::~CategoryListView() {
|
||||
}
|
||||
|
||||
void CategoryListView::Requery() {
|
||||
this->activeQuery.reset(new CategoryListQuery());
|
||||
this->activeQuery.reset(new CategoryListViewQuery());
|
||||
this->library->Enqueue(activeQuery);
|
||||
}
|
||||
|
||||
DBID CategoryListView::GetSelectedId() {
|
||||
size_t index = this->GetSelectedIndex();
|
||||
if (this->metadata && index < this->metadata->size()) {
|
||||
return this->metadata->at(index)->id;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void CategoryListView::OnQueryCompleted(QueryPtr query) {
|
||||
if (query == this->activeQuery) {
|
||||
Post(WINDOW_MESSAGE_QUERY_COMPLETED);
|
||||
@ -58,7 +66,7 @@ size_t CategoryListView::Adapter::GetEntryCount() {
|
||||
|
||||
IScrollAdapter::EntryPtr CategoryListView::Adapter::GetEntry(size_t index) {
|
||||
int64 attrs = (index == parent.GetSelectedIndex()) ? COLOR_PAIR(BOX_COLOR_BLACK_ON_GREEN) : -1;
|
||||
IScrollAdapter::EntryPtr entry(new SingleLineEntry(parent.metadata->at(index)));
|
||||
IScrollAdapter::EntryPtr entry(new SingleLineEntry(parent.metadata->at(index)->displayValue));
|
||||
entry->SetAttrs(attrs);
|
||||
return entry;
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
|
||||
#include "ListWindow.h"
|
||||
#include "ScrollAdapterBase.h"
|
||||
#include "CategoryListQuery.h"
|
||||
#include "CategoryListViewQuery.h"
|
||||
|
||||
#include <core/library/IQuery.h>
|
||||
#include <core/library/ILibrary.h>
|
||||
@ -15,10 +15,11 @@ using musik::core::LibraryPtr;
|
||||
class CategoryListView : public ListWindow, public sigslot::has_slots<> {
|
||||
public:
|
||||
CategoryListView(LibraryPtr library, IWindow *parent = NULL);
|
||||
~CategoryListView(); /* non-virtual for now*/
|
||||
virtual ~CategoryListView();
|
||||
|
||||
void Requery();
|
||||
virtual void ProcessMessage(IWindowMessage &message);
|
||||
DBID GetSelectedId();
|
||||
|
||||
protected:
|
||||
virtual IScrollAdapter& GetScrollAdapter();
|
||||
@ -40,6 +41,6 @@ class CategoryListView : public ListWindow, public sigslot::has_slots<> {
|
||||
LibraryPtr library;
|
||||
Adapter *adapter;
|
||||
|
||||
std::shared_ptr<CategoryListQuery> activeQuery;
|
||||
std::shared_ptr<std::vector<std::string>> metadata;
|
||||
std::shared_ptr<CategoryListViewQuery> activeQuery;
|
||||
CategoryListViewQuery::ResultList metadata;
|
||||
};
|
44
src/musikbox/CategoryListViewQuery.cpp
Executable file
44
src/musikbox/CategoryListViewQuery.cpp
Executable file
@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "CategoryListViewQuery.h"
|
||||
|
||||
#include <core/db/Statement.h>
|
||||
|
||||
using musik::core::db::Statement;
|
||||
using musik::core::db::Row;
|
||||
|
||||
#define reset(x) x.reset(new std::vector<std::shared_ptr<Result>>);
|
||||
|
||||
CategoryListViewQuery::CategoryListViewQuery() {
|
||||
reset(result);
|
||||
}
|
||||
|
||||
CategoryListViewQuery::~CategoryListViewQuery() {
|
||||
|
||||
}
|
||||
|
||||
CategoryListViewQuery::ResultList CategoryListViewQuery::GetResult() {
|
||||
return this->result;
|
||||
}
|
||||
|
||||
bool CategoryListViewQuery::OnRun(Connection& db) {
|
||||
reset(result);
|
||||
|
||||
std::string query =
|
||||
"SELECT DISTINCT albums.id, albums.name "
|
||||
"FROM albums, tracks "
|
||||
"WHERE albums.id = tracks.album_id "
|
||||
"ORDER BY albums.sort_order;";
|
||||
|
||||
Statement stmt(query.c_str(), db);
|
||||
|
||||
while (stmt.Step() == Row) {
|
||||
std::shared_ptr<Result> row(new Result());
|
||||
row->id = stmt.ColumnInt64(0);
|
||||
row->displayValue = stmt.ColumnText(1);
|
||||
result->push_back(row);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
33
src/musikbox/CategoryListViewQuery.h
Executable file
33
src/musikbox/CategoryListViewQuery.h
Executable file
@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
|
||||
#include <core/library/query/QueryBase.h>
|
||||
#include <core/db/Connection.h>
|
||||
#include <memory>
|
||||
|
||||
using musik::core::query::QueryBase;
|
||||
using musik::core::db::Connection;
|
||||
|
||||
class CategoryListViewQuery : public QueryBase {
|
||||
public:
|
||||
struct Result {
|
||||
std::string displayValue;
|
||||
DBID id;
|
||||
};
|
||||
|
||||
typedef std::shared_ptr<std::vector<
|
||||
std::shared_ptr<Result>>> ResultList;
|
||||
|
||||
CategoryListViewQuery();
|
||||
~CategoryListViewQuery();
|
||||
|
||||
std::string Name() {
|
||||
return "CategoryListViewQuery";
|
||||
}
|
||||
|
||||
virtual ResultList GetResult();
|
||||
|
||||
protected:
|
||||
virtual bool OnRun(Connection &db);
|
||||
|
||||
ResultList result;
|
||||
};
|
@ -5,7 +5,7 @@
|
||||
#include "Screen.h"
|
||||
#include "Colors.h"
|
||||
|
||||
#include "CategoryListQuery.h"
|
||||
#include "CategoryListViewQuery.h"
|
||||
|
||||
#include <core/debug.h>
|
||||
#include <core/sdk/IPlugin.h>
|
||||
@ -132,7 +132,7 @@ void CommandWindow::Help() {
|
||||
this->output->WriteLine(" pa: toggle pause/resume", s);
|
||||
this->output->WriteLine(" st: stop playing", s);
|
||||
//this->output->WriteLine(" ls: list currently playing", s);
|
||||
this->output->WriteLine(" lp: list loaded plugins", s);
|
||||
this->output->WriteLine(" plugins: list loaded plugins", s);
|
||||
this->output->WriteLine(" v: <0 - 100>: set % volume", s);
|
||||
this->output->WriteLine(" sk <seconds>: seek to <seconds> into track", s);
|
||||
this->output->WriteLine(" addir <dir>: add a directory to be indexed", s);
|
||||
|
@ -33,11 +33,23 @@ void LibraryLayout::InitializeWindows() {
|
||||
this->AddWindow(this->albumList);
|
||||
this->AddWindow(this->trackList);
|
||||
|
||||
this->albumList->SelectionChanged.connect(
|
||||
this, &LibraryLayout::OnCategoryViewSelectionChanged);
|
||||
|
||||
this->Layout();
|
||||
}
|
||||
|
||||
void LibraryLayout::Show() {
|
||||
LayoutBase::Show();
|
||||
this->trackList->Requery();
|
||||
this->albumList->Requery();
|
||||
}
|
||||
|
||||
void LibraryLayout::OnCategoryViewSelectionChanged(
|
||||
ListWindow *view, size_t newIndex, size_t oldIndex) {
|
||||
if (view == this->albumList.get()) {
|
||||
DBID id = this->albumList->GetSelectedId();
|
||||
if (id != -1) {
|
||||
this->trackList->Requery("album_id", id);
|
||||
}
|
||||
}
|
||||
}
|
@ -6,9 +6,11 @@
|
||||
|
||||
#include <core/library/ILibrary.h>
|
||||
|
||||
#include <sigslot/sigslot.h>
|
||||
|
||||
using musik::core::LibraryPtr;
|
||||
|
||||
class LibraryLayout : public LayoutBase {
|
||||
class LibraryLayout : public LayoutBase, public sigslot::has_slots<> {
|
||||
public:
|
||||
LibraryLayout(LibraryPtr library);
|
||||
virtual ~LibraryLayout();
|
||||
@ -19,6 +21,9 @@ class LibraryLayout : public LayoutBase {
|
||||
private:
|
||||
void InitializeWindows();
|
||||
|
||||
void OnCategoryViewSelectionChanged(
|
||||
ListWindow *view, size_t newIndex, size_t oldIndex);
|
||||
|
||||
LibraryPtr library;
|
||||
std::shared_ptr<CategoryListView> albumList;
|
||||
std::shared_ptr<TrackListView> trackList;
|
||||
|
@ -110,11 +110,16 @@ void ListWindow::PageDown() {
|
||||
this->Repaint();
|
||||
}
|
||||
|
||||
void ListWindow::OnSelectionChanged(size_t newIndex, size_t oldIndex) {
|
||||
/* for subclass use */
|
||||
}
|
||||
|
||||
void ListWindow::SetSelectedIndex(size_t index) {
|
||||
if (this->selectedIndex != index) {
|
||||
size_t prev = this->selectedIndex;
|
||||
this->selectedIndex = index;
|
||||
this->SelectionChanged(this, index, prev);
|
||||
this->OnSelectionChanged(index, prev); /* internal */
|
||||
this->SelectionChanged(this, index, prev); /* external */
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,7 @@ class ListWindow : public ScrollableWindow {
|
||||
protected:
|
||||
virtual void SetSelectedIndex(size_t index);
|
||||
virtual void OnAdapterChanged();
|
||||
virtual void OnSelectionChanged(size_t newIndex, size_t oldIndex);
|
||||
virtual IScrollAdapter::ScrollPosition& GetScrollPosition();
|
||||
|
||||
private:
|
||||
|
@ -7,6 +7,8 @@
|
||||
#include "IWindowMessage.h"
|
||||
|
||||
#include <boost/format.hpp>
|
||||
#include <boost/format/group.hpp>
|
||||
#include <iomanip>
|
||||
|
||||
#define WINDOW_MESSAGE_QUERY_COMPLETED 1002
|
||||
|
||||
@ -24,8 +26,8 @@ TrackListView::~TrackListView() {
|
||||
|
||||
}
|
||||
|
||||
void TrackListView::Requery() {
|
||||
this->query.reset(new TracklistQuery());
|
||||
void TrackListView::Requery(const std::string& column, DBID id) {
|
||||
this->query.reset(new TrackListViewQuery(this->library, column, id));
|
||||
this->library->Enqueue(this->query);
|
||||
}
|
||||
|
||||
@ -54,13 +56,23 @@ TrackListView::Adapter::Adapter(TrackListView &parent)
|
||||
}
|
||||
|
||||
size_t TrackListView::Adapter::GetEntryCount() {
|
||||
return 23847;//parent.metadata ? parent.metadata->size() : 0;
|
||||
return parent.metadata ? parent.metadata->size() : 0;
|
||||
}
|
||||
|
||||
IScrollAdapter::EntryPtr TrackListView::Adapter::GetEntry(size_t index) {
|
||||
int64 attrs = (index == parent.GetSelectedIndex()) ? COLOR_PAIR(BOX_COLOR_BLACK_ON_GREEN) : -1;
|
||||
std::string text = boost::str(boost::format("%1% %2%") % index % "need to fill in the metadata");
|
||||
IScrollAdapter::EntryPtr entry(new SingleLineEntry(/*parent.metadata->at(index)*/ text));
|
||||
|
||||
TrackPtr track = parent.metadata->at(index);
|
||||
std::string trackNum = track->GetValue("track");
|
||||
std::string title = track->GetValue("title");
|
||||
|
||||
std::string text = boost::str(
|
||||
boost::format("%s %s")
|
||||
% boost::io::group(std::setw(3), std::setfill(' '), trackNum)
|
||||
% title);
|
||||
|
||||
IScrollAdapter::EntryPtr entry(new SingleLineEntry(text));
|
||||
|
||||
entry->SetAttrs(attrs);
|
||||
|
||||
return entry;
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "curses_config.h"
|
||||
|
||||
#include "ListWindow.h"
|
||||
#include "TracklistQuery.h"
|
||||
#include "TrackListViewQuery.h"
|
||||
#include "ScrollAdapterBase.h"
|
||||
|
||||
#include <core/library/ILibrary.h>
|
||||
@ -17,7 +17,7 @@ class TrackListView : public ListWindow, public sigslot::has_slots<> {
|
||||
~TrackListView();
|
||||
|
||||
virtual void ProcessMessage(IWindowMessage &message);
|
||||
void Requery();
|
||||
void Requery(const std::string& column, DBID id);
|
||||
|
||||
protected:
|
||||
virtual IScrollAdapter& GetScrollAdapter();
|
||||
@ -36,7 +36,7 @@ class TrackListView : public ListWindow, public sigslot::has_slots<> {
|
||||
};
|
||||
|
||||
private:
|
||||
std::shared_ptr<TracklistQuery> query;
|
||||
std::shared_ptr<TrackListViewQuery> query;
|
||||
std::shared_ptr<std::vector<TrackPtr>> metadata;
|
||||
Adapter* adapter;
|
||||
LibraryPtr library;
|
||||
|
53
src/musikbox/TrackListViewQuery.cpp
Executable file
53
src/musikbox/TrackListViewQuery.cpp
Executable file
@ -0,0 +1,53 @@
|
||||
#pragma once
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "TrackListViewQuery.h"
|
||||
|
||||
#include <core/library/track/LibraryTrack.h>
|
||||
#include <core/db/Statement.h>
|
||||
|
||||
using musik::core::db::Statement;
|
||||
using musik::core::db::Row;
|
||||
using musik::core::TrackPtr;
|
||||
using musik::core::LibraryTrack;
|
||||
|
||||
TrackListViewQuery::TrackListViewQuery(LibraryPtr library, const std::string& column, DBID id) {
|
||||
this->library = library;
|
||||
this->column = column;
|
||||
this->id = id;
|
||||
this->result.reset(new std::vector<TrackPtr>());
|
||||
}
|
||||
|
||||
TrackListViewQuery::~TrackListViewQuery() {
|
||||
|
||||
}
|
||||
|
||||
TrackListViewQuery::Result TrackListViewQuery::GetResult() {
|
||||
return this->result;
|
||||
}
|
||||
|
||||
bool TrackListViewQuery::OnRun(Connection& db) {
|
||||
if (result) {
|
||||
result.reset(new std::vector<TrackPtr>());
|
||||
}
|
||||
|
||||
std::string query = boost::str(
|
||||
boost::format(
|
||||
"SELECT DISTINCT tracks.id, tracks.track, tracks.title "
|
||||
"FROM tracks "
|
||||
"WHERE %1%=? "
|
||||
"ORDER BY tracks.track;") % this->column);
|
||||
|
||||
Statement stmt(query.c_str(), db);
|
||||
stmt.BindInt(0, this->id);
|
||||
|
||||
while (stmt.Step() == Row) {
|
||||
DBID id = stmt.ColumnInt64(0);
|
||||
TrackPtr track = TrackPtr(new LibraryTrack(id, this->library));
|
||||
track->SetValue("track", boost::lexical_cast<std::string>(stmt.ColumnInt(1)).c_str());
|
||||
track->SetValue("title", stmt.ColumnText(2));
|
||||
result->push_back(track);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
@ -3,22 +3,22 @@
|
||||
#include <core/library/query/QueryBase.h>
|
||||
#include <core/db/Connection.h>
|
||||
#include <core/library/track/Track.h>
|
||||
#include "CategoryListQuery.h"
|
||||
#include "CategoryListViewQuery.h"
|
||||
|
||||
using musik::core::query::QueryBase;
|
||||
using musik::core::db::Connection;
|
||||
using musik::core::TrackPtr;
|
||||
using musik::core::LibraryPtr;
|
||||
|
||||
class TracklistQuery : public QueryBase {
|
||||
class TrackListViewQuery : public QueryBase {
|
||||
public:
|
||||
typedef std::shared_ptr<std::vector<TrackPtr>> Result;
|
||||
typedef std::shared_ptr<CategoryListQuery> Category;
|
||||
|
||||
TracklistQuery();
|
||||
~TracklistQuery();
|
||||
TrackListViewQuery(LibraryPtr library, const std::string& column, DBID id);
|
||||
~TrackListViewQuery();
|
||||
|
||||
std::string Name() {
|
||||
return "TracklistQuery";
|
||||
return "TrackListViewQuery";
|
||||
}
|
||||
|
||||
virtual Result GetResult();
|
||||
@ -29,6 +29,7 @@ class TracklistQuery : public QueryBase {
|
||||
Result result;
|
||||
|
||||
private:
|
||||
std::vector<Category> categories;
|
||||
|
||||
LibraryPtr library;
|
||||
std::string column;
|
||||
DBID id;
|
||||
};
|
@ -1,41 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "TracklistQuery.h"
|
||||
|
||||
#include <core/db/Statement.h>
|
||||
|
||||
using musik::core::db::Statement;
|
||||
using musik::core::db::Row;
|
||||
using musik::core::TrackPtr;
|
||||
|
||||
TracklistQuery::TracklistQuery() {
|
||||
result.reset(new std::vector<TrackPtr>());
|
||||
}
|
||||
|
||||
TracklistQuery::~TracklistQuery() {
|
||||
|
||||
}
|
||||
|
||||
TracklistQuery::Result TracklistQuery::GetResult() {
|
||||
return this->result;
|
||||
}
|
||||
|
||||
bool TracklistQuery::OnRun(Connection& db) {
|
||||
if (result) {
|
||||
result.reset(new std::vector<TrackPtr>());
|
||||
}
|
||||
|
||||
std::string query =
|
||||
"SELECT DISTINCT track.name "
|
||||
"FROM tracks "
|
||||
"ORDER BY track.name;";
|
||||
|
||||
Statement stmt(query.c_str(), db);
|
||||
|
||||
while (stmt.Step() == Row) {
|
||||
//result->push_back(stmt.ColumnText(0));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
@ -115,7 +115,7 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CategoryListQuery.cpp" />
|
||||
<ClCompile Include="CategoryListViewQuery.cpp" />
|
||||
<ClCompile Include="CategoryListView.cpp" />
|
||||
<ClCompile Include="LayoutBase.cpp" />
|
||||
<ClCompile Include="ListWindow.cpp" />
|
||||
@ -125,7 +125,7 @@
|
||||
<ClCompile Include="MultiLineEntry.cpp" />
|
||||
<ClCompile Include="ScrollableWindow.cpp" />
|
||||
<ClCompile Include="SingleLineEntry.cpp" />
|
||||
<ClCompile Include="TracklistQuery.cpp" />
|
||||
<ClCompile Include="TrackListViewQuery.cpp" />
|
||||
<ClCompile Include="TrackListView.cpp" />
|
||||
<ClCompile Include="Window.cpp" />
|
||||
<ClCompile Include="Colors.cpp" />
|
||||
@ -148,7 +148,7 @@
|
||||
<ClCompile Include="WindowMessageQueue.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CategoryListQuery.h" />
|
||||
<ClInclude Include="CategoryListViewQuery.h" />
|
||||
<ClInclude Include="CategoryListView.h" />
|
||||
<ClInclude Include="IDisplayable.h" />
|
||||
<ClInclude Include="IWindowGroup.h" />
|
||||
@ -162,7 +162,7 @@
|
||||
<ClInclude Include="ScrollableWindow.h" />
|
||||
<ClInclude Include="ListWindow.h" />
|
||||
<ClInclude Include="SingleLineEntry.h" />
|
||||
<ClInclude Include="TracklistQuery.h" />
|
||||
<ClInclude Include="TrackListViewQuery.h" />
|
||||
<ClInclude Include="TrackListView.h" />
|
||||
<ClInclude Include="Window.h" />
|
||||
<ClInclude Include="Colors.h" />
|
||||
|
@ -39,9 +39,6 @@
|
||||
<ClCompile Include="Window.cpp">
|
||||
<Filter>curses</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CategoryListQuery.cpp">
|
||||
<Filter>query</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MainLayout.cpp">
|
||||
<Filter>view</Filter>
|
||||
</ClCompile>
|
||||
@ -72,15 +69,18 @@
|
||||
<ClCompile Include="LayoutBase.cpp">
|
||||
<Filter>curses</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TracklistQuery.cpp">
|
||||
<Filter>query</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="WindowMessage.cpp">
|
||||
<Filter>curses</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="WindowMessageQueue.cpp">
|
||||
<Filter>curses</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TrackListViewQuery.cpp">
|
||||
<Filter>query</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CategoryListViewQuery.cpp">
|
||||
<Filter>query</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="stdafx.h" />
|
||||
@ -123,9 +123,6 @@
|
||||
<ClInclude Include="Window.h">
|
||||
<Filter>curses</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CategoryListQuery.h">
|
||||
<Filter>query</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MainLayout.h">
|
||||
<Filter>view</Filter>
|
||||
</ClInclude>
|
||||
@ -165,9 +162,6 @@
|
||||
<ClInclude Include="IDisplayable.h">
|
||||
<Filter>curses</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TracklistQuery.h">
|
||||
<Filter>query</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IWindowMessage.h">
|
||||
<Filter>curses</Filter>
|
||||
</ClInclude>
|
||||
@ -177,6 +171,12 @@
|
||||
<ClInclude Include="WindowMessageQueue.h">
|
||||
<Filter>curses</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TrackListViewQuery.h">
|
||||
<Filter>query</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CategoryListViewQuery.h">
|
||||
<Filter>query</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="curses">
|
||||
|
Loading…
x
Reference in New Issue
Block a user