Skip to content

Commit

Permalink
Added ability to list with TAG
Browse files Browse the repository at this point in the history
  • Loading branch information
Kardelio committed Jul 15, 2021
1 parent 4fd47a0 commit 7b788f6
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 6 deletions.
35 changes: 29 additions & 6 deletions src/todo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ bool isThereText(char *argv[], int argc, string thisOpt);
void readAllTodos();
void readTodosInSingleList(int listNum);
void readTodosInSinglePriority(int priNum);
void readTodosInSingleTag(string tag);
void addATodo(string thing); void addATDItemToFile(TodoItem item, string file);
void deleteSingleTodo(int id);
TodoItem getSingleTodoItem(int id, string file);
Expand Down Expand Up @@ -128,13 +129,11 @@ int main(int argc, char *argv[])
}
break;
case 't':
//currentListToPutIn = stoi(optarg);
//if(!isThereText(argv,argc,optarg)){
// readTodosInSingleList(stoi(optarg));
// exit(0);
//}
// TODO issue
currentTag = optarg;
if(!isThereText(argv,argc,optarg)){
readTodosInSingleTag(optarg);
exit(0);
}
break;
case 'h':
Help::printHelp();
Expand Down Expand Up @@ -245,6 +244,30 @@ void readAllTodos(){
}
}

void readTodosInSingleTag(string tag){
vector<ListItem> list_items = TodoFileHandler::readTodoFileIntoListItemsWithSingleTag(tag);
if(list_items.size() > 0){
for(size_t i = 0; i < list_items.size(); i++)
{
int res = identifierListContainsId(listOfLists,list_items.at(i).getId());
if(res > -1){
Identifier item = listOfLists.at(res);
cout << endl;
cout << item.getColorWithEscapes() << " " << item.getId() << ". " << escape << "[1m" << item.getTitle() << " " << clear << endl;

for(size_t j = 0; j < list_items.at(i).getListOfTodoItems().size(); j++)
{
TodoItem t = list_items.at(i).getListOfTodoItems().at(j);
t.printWithFGandBGNew(listOfLists.at(res).getColorWithEscapes(), *cnfgReader,listOfPriorities);
}
}
}
} else {
cout << "Empty" << endl;
}
cout << endl;
}

void readTodosInSinglePriority(int priNum){
vector<ListItem> list_items = TodoFileHandler::readTodoFileIntoListItemsWithSinglePriority(priNum);
if(list_items.size() > 0){
Expand Down
25 changes: 25 additions & 0 deletions src/todoFileHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,31 @@ std::vector<ListItem> TodoFileHandler::readTodoFileIntoListItems(){
return listOfLists;
}

std::vector<ListItem> TodoFileHandler::readTodoFileIntoListItemsWithSingleTag(std::string tag){
vector<ListItem> listOfLists;
std::ifstream file(TodoFileHandler::getSpecificConfig(todoFileName).c_str());
if (file.is_open()) {
std::string line;
while (getline(file, line)) {
vector<string> a = splitStringIntoArrayUsingDelim(line,seperator);
std::string taga = a.at(1);
if(taga == tag){
int ida = stoi(a.at(0));
int listid = stoi(a.at(4));
TodoItem item(ida, listid, taga, a.at(2), stoi(a.at(3)));
int indexOfOtherList = containsListItemWithId(listOfLists,listid);
if(indexOfOtherList > -1){
listOfLists.at(indexOfOtherList).addTodoItemToList(item);
} else {
listOfLists.push_back(ListItem(listid,{item}));
}
}
}
file.close();
}
return listOfLists;
}

std::vector<ListItem> TodoFileHandler::readTodoFileIntoListItemsWithSinglePriority(int priNum){
vector<ListItem> listOfLists;
std::ifstream file(TodoFileHandler::getSpecificConfig(todoFileName).c_str());
Expand Down
1 change: 1 addition & 0 deletions src/todoFileHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class TodoFileHandler{
static std::vector<ListItem> readTodoFileIntoListItems();
static std::vector<ListItem> readTodoFileIntoListItemsWithSingleList(int listNum);
static std::vector<ListItem> readTodoFileIntoListItemsWithSinglePriority(int priNum);
static std::vector<ListItem> readTodoFileIntoListItemsWithSingleTag(std::string tag);
static std::vector<TodoItem> readBackLogFileIntoListItems();
static int containsTodoItemWithId(std::vector<TodoItem> vec,int id);
static int containsListItemWithId(std::vector<ListItem> vec,int id);
Expand Down

0 comments on commit 7b788f6

Please sign in to comment.