Set minimum size for RemoteDirModel items and fixed Text Alignment role for File Size column, cleaned some code style.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3115 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
defnax 2010-06-12 18:10:39 +00:00
parent 1d4a02141f
commit 2b02e35a9e

View file

@ -229,86 +229,84 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
rsFiles->FileDetails(details.hash, 0, finfo); rsFiles->FileDetails(details.hash, 0, finfo);
return QString::fromStdString(finfo.path) ; return QString::fromStdString(finfo.path) ;
} } /* end of FileNameRole */
if (role == Qt::TextColorRole) if (role == Qt::TextColorRole)
{ {
FileInfo finfo; FileInfo finfo;
rsFiles->FileDetails(details.hash, 0, finfo); rsFiles->FileDetails(details.hash, 0, finfo);
if(details.min_age > ageIndicator) if(details.min_age > ageIndicator)
return Qt::gray ; return Qt::gray ;
else else
return Qt::black ; return Qt::black ;
} } /* end of TextColorRole */
if (role == Qt::DecorationRole) if (role == Qt::DecorationRole)
{ {
FileInfo finfo; FileInfo finfo;
rsFiles->FileDetails(details.hash, 0, finfo); rsFiles->FileDetails(details.hash, 0, finfo);
if (details.type == DIR_TYPE_PERSON)
if (details.type == DIR_TYPE_PERSON) {
{ switch(coln)
switch(coln) {
{ case 0:
case 0: if(details.min_age > ageIndicator)
if(details.min_age > ageIndicator) {
{ return QIcon(":/images/folder_grey.png");
return QIcon(":/images/folder_grey.png"); }
} else if (ageIndicator == IND_LAST_DAY )
else if (ageIndicator == IND_LAST_DAY ) {
{ return QIcon(":/images/folder_green.png");
return QIcon(":/images/folder_green.png"); }
} else if (ageIndicator == IND_LAST_WEEK )
else if (ageIndicator == IND_LAST_WEEK ) {
{ return QIcon(":/images/folder_yellow.png");
return QIcon(":/images/folder_yellow.png"); }
} else if (ageIndicator == IND_LAST_MONTH )
else if (ageIndicator == IND_LAST_MONTH ) {
{ return QIcon(":/images/folder_red.png");
return QIcon(":/images/folder_red.png"); }
} else
else {
{ return (QIcon(peerIcon));
return (QIcon(peerIcon)); }
} break;
break;
} }
} }
else if (details.type == DIR_TYPE_DIR) else if (details.type == DIR_TYPE_DIR)
{ {
switch(coln) switch(coln)
{ {
case 0: case 0:
if(details.min_age > ageIndicator) if(details.min_age > ageIndicator)
{ {
return QIcon(":/images/folder_grey.png"); return QIcon(":/images/folder_grey.png");
} }
else if (ageIndicator == IND_LAST_DAY ) else if (ageIndicator == IND_LAST_DAY )
{ {
return QIcon(":/images/folder_green.png"); return QIcon(":/images/folder_green.png");
} }
else if (ageIndicator == IND_LAST_WEEK ) else if (ageIndicator == IND_LAST_WEEK )
{ {
return QIcon(":/images/folder_yellow.png"); return QIcon(":/images/folder_yellow.png");
} }
else if (ageIndicator == IND_LAST_MONTH ) else if (ageIndicator == IND_LAST_MONTH )
{ {
return QIcon(":/images/folder_red.png"); return QIcon(":/images/folder_red.png");
} }
else else
{ {
return(QIcon(categoryIcon)); return(QIcon(categoryIcon));
} }
break; break;
} }
} }
else if (details.type == DIR_TYPE_FILE) /* File */ else if (details.type == DIR_TYPE_FILE) /* File */
{ {
// extensions predefined // extensions predefined
//QString name;
switch(coln) switch(coln)
{ {
case 0: case 0:
@ -316,7 +314,6 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
if (ext == "jpg" || ext == "jpeg" || ext == "png" || ext == "gif" if (ext == "jpg" || ext == "jpeg" || ext == "png" || ext == "gif"
|| ext == "bmp" || ext == "ico" || ext == "svg") || ext == "bmp" || ext == "ico" || ext == "svg")
{ {
//setIcon(0, QIcon(":/images/FileTypePicture.png"));
QIcon icon(":/images/FileTypePicture.png"); QIcon icon(":/images/FileTypePicture.png");
return icon; return icon;
} }
@ -324,20 +321,17 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
|| ext == "mkv" || ext == "mp4" || ext == "flv" || ext == "mov" || ext == "mkv" || ext == "mp4" || ext == "flv" || ext == "mov"
|| ext == "vob" || ext == "qt" || ext == "rm" || ext == "3gp") || ext == "vob" || ext == "qt" || ext == "rm" || ext == "3gp")
{ {
//setIcon(0, QIcon(":/images/videofile.png"));
QIcon icon(":/images/FileTypeVideo.png"); QIcon icon(":/images/FileTypeVideo.png");
return icon; return icon;
} }
else if (ext == "ogg" || ext == "mp3" || ext == "wav" || ext == "wma" || ext == "xpm") else if (ext == "ogg" || ext == "mp3" || ext == "wav" || ext == "wma" || ext == "xpm")
{ {
//setIcon(0, QIcon(":/images/soundfile.png"));
QIcon icon(":/images/FileTypeAudio.png"); QIcon icon(":/images/FileTypeAudio.png");
return icon; return icon;
} }
else if (ext == "tar" || ext == "bz2" || ext == "zip" || ext == "gz" || ext == "7z" else if (ext == "tar" || ext == "bz2" || ext == "zip" || ext == "gz" || ext == "7z"
|| ext == "rar" || ext == "rpm" || ext == "deb") || ext == "rar" || ext == "rpm" || ext == "deb")
{ {
//setIcon(0, QIcon(":/images/compressedfile.png"));
QIcon icon(":/images/FileTypeArchive.png"); QIcon icon(":/images/FileTypeArchive.png");
return icon; return icon;
} }
@ -349,32 +343,27 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
} }
else if (ext == "iso" || ext == "nrg" || ext == "mdf" ) else if (ext == "iso" || ext == "nrg" || ext == "mdf" )
{ {
//setIcon(0, QIcon(":/images/txtfile.png"));
QIcon icon(":/images/FileTypeCDImage.png"); QIcon icon(":/images/FileTypeCDImage.png");
return icon; return icon;
} }
else if (ext == "txt" || ext == "cpp" || ext == "c" || ext == "h") else if (ext == "txt" || ext == "cpp" || ext == "c" || ext == "h")
{ {
//setIcon(0, QIcon(":/images/txtfile.png"));
QIcon icon(":/images/FileTypeDocument.png"); QIcon icon(":/images/FileTypeDocument.png");
return icon; return icon;
} }
else if (ext == "doc" || ext == "rtf" || ext == "sxw" || ext == "xls" else if (ext == "doc" || ext == "rtf" || ext == "sxw" || ext == "xls"
|| ext == "sxc" || ext == "odt" || ext == "ods") || ext == "sxc" || ext == "odt" || ext == "ods")
{ {
//setIcon(0, QIcon(":/images/docfile.png"));
QIcon icon(":/images/FileTypeDocument.png"); QIcon icon(":/images/FileTypeDocument.png");
return icon; return icon;
} }
else if (ext == "html" || ext == "htm" || ext == "php") else if (ext == "html" || ext == "htm" || ext == "php")
{ {
//setIcon(0, QIcon(":/images/netfile.png"));
QIcon icon(":/images/FileTypeDocument.png"); QIcon icon(":/images/FileTypeDocument.png");
return icon; return icon;
} }
else else
{ {
//setIcon(0, QIcon(":/images/file.png"));
QIcon icon(":/images/FileTypeAny.png"); QIcon icon(":/images/FileTypeAny.png");
return icon; return icon;
} }
@ -385,20 +374,33 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
{ {
return QVariant(); return QVariant();
} }
} } /* end of DecorationRole */
/************* /*****************
Qt::EditRole Qt::EditRole
Qt::ToolTipRole Qt::ToolTipRole
Qt::StatusTipRole Qt::StatusTipRole
Qt::WhatsThisRole Qt::WhatsThisRole
Qt::SizeHintRole Qt::SizeHintRole
****************/ ****************/
if (role == Qt::SizeHintRole)
{
return QSize(18, 18);
} /* end of SizeHintRole */
if (role == Qt::TextAlignmentRole)
{
if(coln == 1)
{
return int( Qt::AlignRight | Qt::AlignVCenter);
}
} /* end of TextAlignmentRole */
if (role == Qt::DisplayRole) if (role == Qt::DisplayRole)
{ {
/* /*
* Person: name, id, 0, 0; * Person: name, id, 0, 0;
* File : name, size, rank, (0) ts * File : name, size, rank, (0) ts
* Dir : name, (0) count, (0) path, (0) ts * Dir : name, (0) count, (0) path, (0) ts
@ -429,31 +431,31 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
break; break;
case 1: case 1:
{ {
std::ostringstream out; std::ostringstream out;
return misc::friendlyUnit(details.count); return misc::friendlyUnit(details.count);
} }
break; break;
case 2: case 2:
{ {
std::ostringstream out; std::ostringstream out;
return misc::userFriendlyDuration(details.age); return misc::userFriendlyDuration(details.age);
} }
break; break;
case 3: case 3:
{ {
return getFlagsString(details.flags); return getFlagsString(details.flags);
} }
break; break;
case 4: case 4:
{ {
QString ind(""); QString ind("");
if (ageIndicator != IND_ALWAYS) if (ageIndicator != IND_ALWAYS)
ind = getAgeIndicatorString(details); ind = getAgeIndicatorString(details);
return ind; return ind;
} }
break; break;
default: default:
return QString(tr("FILE")); return QString(tr("FILE"));
break; break;
} }
} }
@ -470,34 +472,18 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
out << details.count; out << details.count;
if (details.count > 1) if (details.count > 1)
{ {
return QString::fromStdString(out.str()) + " " + tr("Files"); return QString::fromStdString(out.str()) + " " + tr("Files");
} }
else else
return QString::fromStdString(out.str()) + " " + tr("File"); return QString::fromStdString(out.str()) + " " + tr("File");
} }
break; break;
case 2: case 2:
//return QString::fromUtf8("Folder");
return misc::userFriendlyDuration(details.min_age); return misc::userFriendlyDuration(details.min_age);
break; break;
case 3: case 3:
return getFlagsString(details.flags); return getFlagsString(details.flags);
break; break;
// case 4:
// {
// if (ageIndicator == IND_DEFAULT)
// return QString("");
// QModelIndex pidx = parent(index);
// QModelIndex pidxs = pidx.sibling(pidx.row(), 4);
// if (pidxs.isValid() && pidxs.data() != tr(""))
// return pidxs.data();
// else {
// QString ind("");
// getAgeIndicatorRec(details, ind);
// return ind;
// }
// }
// break;
default: default:
return QString(tr("DIR")); return QString(tr("DIR"));
break; break;
@ -506,17 +492,8 @@ QString RemoteDirModel::getAgeIndicatorString(const DirDetails &details) const
} /* end of DisplayRole */ } /* end of DisplayRole */
return QVariant(); return QVariant();
if (role == Qt::TextAlignmentRole)
{
if(coln == 1)
{
return int( Qt::AlignRight | Qt::AlignVCenter);
}
}
}
return QVariant();
}
void RemoteDirModel::getAgeIndicatorRec(DirDetails &details, QString &ret) const { void RemoteDirModel::getAgeIndicatorRec(DirDetails &details, QString &ret) const {
if (details.type == DIR_TYPE_FILE) { if (details.type == DIR_TYPE_FILE) {