MCPcopy Create free account
hub / github.com/SpartanJ/eepp / data

Method data

src/tools/ecode/plugins/git/gitstatusmodel.cpp:123–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121}
122
123Variant GitStatusModel::data( const ModelIndex& index, ModelRole role ) const {
124 switch ( role ) {
125 case ModelRole::Display: {
126 if ( index.internalId() == Repo ) {
127 if ( index.column() == Column::File )
128 return Variant( mStatus[index.row()].repo.c_str() );
129 return Variant( GIT_EMPTY );
130 } else if ( index.internalId() == Status ) {
131 if ( index.column() == Column::File ) {
132 return Variant(
133 mStatus[index.parent().row()].type[index.row()].typeStr.c_str() );
134 }
135 return Variant( GIT_EMPTY );
136 }
137 const Git::DiffFile& s = mStatus[index.parent().parent().row()]
138 .type[index.parent().row()]
139 .files[index.row()];
140 switch ( index.column() ) {
141 case Column::File:
142 return Variant( FileSystem::fileNameFromPath( s.file ) );
143 case Column::Inserted:
144 return Variant( String::format( "+%d ", s.inserts ) );
145 case Column::Removed:
146 return Variant( String::format( "-%d ", s.deletes ) );
147 case Column::State:
148 return Variant( String::format( "%c", s.report.symbol ) );
149 case Column::RelativeDirectory:
150 return Variant( FileSystem::fileRemoveFileName( s.file ) );
151 }
152 break;
153 }
154 case ModelRole::Class: {
155 if ( index.internalId() == GitFile ) {
156 switch ( index.column() ) {
157 case Column::Inserted:
158 return Variant( GIT_SUCCESS );
159 case Column::Removed:
160 return Variant( GIT_ERROR );
161 default:
162 break;
163 }
164 }
165 break;
166 }
167 case ModelRole::Icon: {
168 if ( (Int64)treeColumn() == index.column() ) {
169 if ( index.internalId() == Repo ) {
170 return Variant( mPlugin->findIcon( "repo" ) );
171 } else if ( index.internalId() == GitFile ) {
172 const Git::DiffFile& s = mStatus[index.parent().parent().row()]
173 .type[index.parent().row()]
174 .files[index.row()];
175 std::string iconName = UIIconThemeManager::getIconNameFromFileName( s.file );
176 auto* scene = mPlugin->getUISceneNode();
177 auto* d = scene->findIcon( iconName );
178 if ( !d )
179 return scene->findIcon( "file" );
180 return d;

Callers

nothing calls this directly

Calls 9

VariantFunction · 0.85
formatFunction · 0.85
columnMethod · 0.80
c_strMethod · 0.80
rowMethod · 0.80
treeColumnFunction · 0.50
parentMethod · 0.45
findIconMethod · 0.45
getUISceneNodeMethod · 0.45

Tested by

no test coverage detected