dirs_list.cpp

来自「linux 下的 图形化的 SVN 相当于 VSS」· C++ 代码 · 共 573 行 · 第 1/2 页

CPP
573
字号
                    item->setPixmap(0, QPixmap::fromMimeSource( "FileLocked16x16.xpm" ) );                    item->setText(1, "symlink");                }                item->setText(2, svn_file_info.revision_);                item->setText(3, svn_file_info.commited_revision_);                item->setText(4, svn_file_info.commited_dtm_.toString("yy/MM/dd hh:mm:ss"));                if (svn_file_info.modif_dtm_.isValid() )                    item->setText(5, svn_file_info.modif_dtm_.toString("yy/MM/dd hh:mm:ss"));                item->setText(6, svn_file_info.last_author_);                //cout <<"tb:" <<  svn_file_info.tag_ << " " << svn_file_info.branch_ << endl;                if (svn_file_info.tag_ != "") {                    item->setText(7, svn_file_info.tag_);                    item->setPixmap(7, QPixmap::fromMimeSource("t-16x16.xpm" ) );                }                if (svn_file_info.branch_ != "") {                    item->setText(7, svn_file_info.branch_);                    item->setPixmap(7, QPixmap::fromMimeSource("b-16x16.xpm" ) );                }                if (svn_file_info.branch_ == "" && svn_file_info.tag_ == "")                    item->setText(7, "trunk");            }            else {                if (svn_file_info.kind_ == QString("dir") ) {                    item->setPixmap(0, QPixmap::fromMimeSource( "folder_grey.png")) ;                    item->SetIsDir(true);                }                else                     item->setPixmap(0, QPixmap::fromMimeSource( "FileUnknown16x16.xpm" ) );                item->setText(1, "unknown");            }        }        // allow descend to subdirs        if (flat_view && svn_file_info.kind_ == QString("dir") ) {            load_real(curr_rel_path, base_path, list_files, hide_unknown, flat_view, show_changed_items_only, show_dirs, svn_status);        } else {            // simple fallthrough allows to skip descending to unknown dirs        }    }    //cout << "rest:" << curr_svn_entries.getData().size() << endl;;    Name2SvnFileMap::iterator iter_entries;    for (iter_entries = curr_svn_entries.getData().begin(); iter_entries != curr_svn_entries.getData().end(); ++iter_entries) {        C_SvnFile svn_file_info = iter_entries->second;        if (!show_dirs && svn_file_info.kind_ != "file")             continue;        if (!svn_file_info.is_svn_controled_ || svn_file_info.name_ == "" || svn_file_info.name_ == "." || svn_file_info.name_ == ".."  || svn_file_info.name_ == svn_dir_  || /*svn_file_info.kind_ != "file" ||*/ svn_file_info.deleted_ == "true")             continue;        QString curr_rel_path = C_Path::Concat(rel_path_prefix, svn_file_info.name_);        C_NumSortedFileListItem* item = new C_NumSortedFileListItem(base_path, curr_rel_path, list_files, 0);        if (svn_file_info.schedule_ == "delete") {            if (svn_file_info.kind_ == QString("dir") ) {                               item->setPixmap(0, QPixmap::fromMimeSource( "folder_orange.png")) ;                item->SetIsDir(true);            }            else                item->setPixmap(0, QPixmap::fromMimeSource( "FileRemoved16x16.xpm" ) );            item->setText(1, "removed");        }        else {            if (svn_file_info.is_svn_controled_) {                if (svn_file_info.kind_ == QString("dir") ) {                                   item->setPixmap(0, QPixmap::fromMimeSource( "folder_violet.png")) ;                    item->SetIsDir(true);                }                else                    item->setPixmap(0, QPixmap::fromMimeSource( "FileNeedsCheckout16x16.xpm" ) );                item->setText(1, "missing");            }        }        item->setText(2, svn_file_info.revision_);        item->setText(3, svn_file_info.commited_revision_);        item->setText(4, svn_file_info.commited_dtm_.toString("yy/MM/dd hh:mm:ss"));        if (svn_file_info.modif_dtm_.isValid())            item->setText(5, svn_file_info.modif_dtm_.toString("yy/MM/dd hh:mm:ss"));        item->setText(6, svn_file_info.last_author_);        // allow descend to subdirs        if (flat_view && svn_file_info.kind_ == QString("dir") ) {            load_real(curr_rel_path, base_path, list_files, hide_unknown, flat_view, show_changed_items_only, show_dirs, svn_status);        } else {            // simple fallthrough allows to skip descending to unknown dirs        }    }    return true;}C_DirViewItem::C_DirViewItem(QListView *parent, QListViewItem *after): QListViewItem(parent, after){}C_DirViewItem::C_DirViewItem(QListViewItem *parent, QListViewItem *after): QListViewItem(parent, after){}C_DirViewItem::~C_DirViewItem(){}QString C_DirViewItem::text(int column) const{    switch (column) {    case EsvnLVI::ITEM_NAME:    case EsvnLVI::ITEM_RELATIVE_PATH:        return Name();        break;    case EsvnLVI::ITEM_WORKING_DIRECTORY:        return Path();        break;    case EsvnLVI::ITEM_FULL_PATH:        return FullPath();        break;    default:        break;    }    return QListViewItem::text(column);}QString C_NumSortedFileListItem::text(int column) const{    switch (column) {    case EsvnLVI::ITEM_NAME:    case EsvnLVI::ITEM_RELATIVE_PATH:        return Name();        break;    case EsvnLVI::ITEM_WORKING_DIRECTORY:        return Path();        break;    case EsvnLVI::ITEM_FULL_PATH:        return FullPath();        break;    default:        break;    }    return QListViewItem::text(column);}C_Path::C_Path(){}C_Path::~C_Path(){}C_DirPath::C_DirPath(){}C_DirPath::~C_DirPath(){}void C_DirPath::SetName(const QString& name){    name_ = name;}QString C_DirPath::Name() const{    return name_;}void C_DirPath::SetPath(const QString& pathname){    pathname_ = pathname;}QString C_DirPath::Path() const{    return pathname_;}C_DirPath& C_DirPath::operator =(const QDir& path){    QDir baseDir = path;    if (baseDir.cdUp()) {        SetPath(QDir::cleanDirPath(baseDir.absPath()));        SetName(path.dirName());        //std::cout << "Split path " << path.absPath() << std::endl;        //std::cout << "      into " << Path() << " : " << Name() << std::endl;    } else {        std::cout << "Unable to cdUp() from path " << path.absPath() << std::endl;    }    return *this;}bool C_DirPath::isDir() const{    return true;}C_RelativePath::C_RelativePath(const C_Path& parent, const QString& name): parent_(parent), name_(name), is_dir_(false){}C_RelativePath::~C_RelativePath(){}void C_RelativePath::SetIsDir(bool is_dir){    is_dir_ = is_dir;}QString C_RelativePath::Name() const{    return name_;}QString C_RelativePath::Path() const{    return parent_.FullPath();}bool C_RelativePath::isDir() const{    return is_dir_;}// Standalone path object implementationC_PathCopy::C_PathCopy(){}C_PathCopy::C_PathCopy(const C_Path& from){    *this = from;}C_PathCopy::~C_PathCopy(){}C_PathCopy& C_PathCopy::operator=(const C_Path& from){    name_ = from.Name();    pathname_ = from.Path();    is_dir_ = from.isDir();    return *this;}QString C_PathCopy::Name() const{    return name_;}QString C_PathCopy::Path() const{    return pathname_;}bool C_PathCopy::isDir() const{    return is_dir_;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?