Example #1
0
        private void AppendDirRows(TreeStore store, TreeIter parent, DirectoryVolumeItem item)
        {
            bool					parentIsRoot	= (parent.Stamp == TreeIter.Zero.Stamp);
            DirectoryVolumeItem[]	dirs			= item.GetDirectories();
            FileVolumeItem[]		files			= item.GetFiles();

            // if no files or dirs have been found, add an empty node
            if (dirs.Length == 0 && files.Length == 0) {
                AppendDirValues(store, parent, parentIsRoot, null, STR_EMPTY, null);
            } else {
                foreach (DirectoryVolumeItem dir in dirs) {
                    TreeIter iter = AppendDirValues(store, parent, parentIsRoot, GetImage(dir), dir.Name, dir);
                    if (iter.Stamp != TreeIter.Zero.Stamp)
                        AppendDirValues(store, iter, false, loadingIcon, STR_LOADING, null);
                }

                foreach (FileVolumeItem file in files) {
                    AppendDirValues(store, parent, parentIsRoot, GetImage(file), file.Name, file);
                }
            }
        }