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 + -
显示快捷键?