test_sdk/gui/config/gtl_gui_config_widget_playe...

93 lines
2.9 KiB
C++

#include "gtl_gui_config_widget_player_files.h"
namespace gtl
{
namespace gui
{
namespace config
{
widget_player_files::widget_player_files(QObject *parent)
: QFileSystemModel(parent)
{
}
widget_player_files::~widget_player_files()
{
}
int widget_player_files::columnCount(const QModelIndex &parent /* = QModelIndex() */) const
{
return /*QFileSystemModel::columnCount(parent) + 1*/3;
}
QVariant widget_player_files::data(const QModelIndex &index, int role /*= Qt::DisplayRole*/) const
{
QString value;
if (role == Qt::DisplayRole)
{
if (index.column() == 2)
{
QFileInfo info = fileInfo(index);
if (info.isFile())
return QVariant(info.lastModified());
else
return "";
}
}
else if (role == Qt::ToolTipRole)
{
//QString str_info;
//QVariant value;
QFileInfo info = fileInfo(index);
if (info.suffix().toLower() == "gtr")
{
gtl::hw::player_file_gtr file(NULL, filePath(index));
value = file.info();
}
else if (info.suffix().toLower() == "wav")
{
gtl::hw::player_file_wav file(NULL, filePath(index));
value = file.info();
}
//value = "1234";
//return value;
return value;
}
//return data;
return QFileSystemModel::data(index, role);
}
QVariant widget_player_files::headerData(int section, Qt::Orientation orientation, int role /*= Qt::DisplayRole*/) const
{
if (role == Qt::DisplayRole)
{
if (orientation == Qt::Orientation::Horizontal)
{
if (section == 0)
return tr("name");
else if (section == 1)
return tr("size");
else if (section == 2)
return tr("date modified");
else if (section == 3)
return tr("info");
// else
// return "";
}
}
return QFileSystemModel::headerData(section, orientation, role);
}
}
}
}