package krasa.grepconsole.plugin;
import com.intellij.openapi.project.Project;
import krasa.grepconsole.action.OpenFileInConsoleAction;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.util.LinkedHashSet;
import java.util.Set;
public class GrepProjectState {
@NotNull
private Set<String> pinnedTailFiles = new LinkedHashSet<>();
public void openOldPins(Project project) {
for (String pinnedFile : pinnedTailFiles.toArray(new String[pinnedTailFiles.size()])) {
File file = new File(pinnedFile);
if (file.exists()) {
new OpenFileInConsoleAction().openFileInConsole(project, file);
} else {
pinnedTailFiles.remove(pinnedFile);
}
}
}
@NotNull
public Set<String> getPinnedTailFiles() {
return pinnedTailFiles;
}
public void setPinnedTailFiles(@NotNull Set<String> pinnedTailFiles) {
this.pinnedTailFiles = pinnedTailFiles;
}
public void addPinned(@NotNull File pinnedFile) {
this.pinnedTailFiles.add(pinnedFile.getAbsolutePath());
}
public void removePinned(File file) {
this.pinnedTailFiles.remove(file.getAbsolutePath());
}
public boolean isPinned(File file) {
return pinnedTailFiles.contains(file.getAbsolutePath());
}
}