forked from len0rd/rockbox
Theme Editor: Began working on special cases for device option panel. Implemented path info for current and next file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27346 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
eb93e3b3d2
commit
6358d41f31
4 changed files with 67 additions and 21 deletions
|
@ -198,6 +198,36 @@ DeviceState::~DeviceState()
|
|||
QVariant DeviceState::data(QString tag, int paramCount,
|
||||
skin_tag_parameter *params)
|
||||
{
|
||||
/* Handling special cases */
|
||||
if(tag.toLower() == "fm")
|
||||
{
|
||||
QString path = tag[0].isLower()
|
||||
? data("file").toString() : data("nextfile").toString();
|
||||
return fileName(path, true);
|
||||
}
|
||||
else if(tag.toLower() == "fn")
|
||||
{
|
||||
QString path = tag[0].isLower()
|
||||
? data("file").toString() : data("nextfile").toString();
|
||||
return fileName(path, false);
|
||||
}
|
||||
else if(tag.toLower() == "fp")
|
||||
{
|
||||
if(tag[0].isLower())
|
||||
return data("file").toString();
|
||||
else
|
||||
return data("nextfile").toString();
|
||||
}
|
||||
else if(tag.toLower() == "d")
|
||||
{
|
||||
QString path = tag[0].isLower()
|
||||
? data("file").toString() : data("nextfile").toString();
|
||||
if(paramCount > 0)
|
||||
return directory(path, params[0].data.numeric);
|
||||
else
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
QPair<InputType, QWidget*> found =
|
||||
inputs.value(tag, QPair<InputType, QWidget*>(Slide, 0));
|
||||
|
||||
|
@ -279,3 +309,29 @@ void DeviceState::input()
|
|||
{
|
||||
emit settingsChanged();
|
||||
}
|
||||
|
||||
QString DeviceState::fileName(QString path, bool extension)
|
||||
{
|
||||
path = path.split("/").last();
|
||||
if(!extension)
|
||||
{
|
||||
QString sum;
|
||||
QStringList name = path.split(".");
|
||||
for(int i = 0; i < name.count() - 1; i++)
|
||||
sum.append(name[i]);
|
||||
return sum;
|
||||
}
|
||||
else
|
||||
{
|
||||
return path;
|
||||
}
|
||||
}
|
||||
|
||||
QString DeviceState::directory(QString path, int level)
|
||||
{
|
||||
QStringList dirs = path.split("/");
|
||||
int index = dirs.count() - 1 - level;
|
||||
if(index < 0)
|
||||
index = 0;
|
||||
return dirs[index];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue