From 52eb067cd931f9fc5369fae8a1c0c64dfd6fa5a6 Mon Sep 17 00:00:00 2001 From: Anselme Date: Mon, 24 Aug 2015 17:42:15 +0200 Subject: [PATCH] first commit of unfinished todo module --- app/app.pro | 6 ++++-- app/sparrowmodule.cpp | 5 +++++ app/todomodule.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ app/todomodule.h | 31 +++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 app/todomodule.cpp create mode 100644 app/todomodule.h diff --git a/app/app.pro b/app/app.pro index d9c3ce9..433edfa 100644 --- a/app/app.pro +++ b/app/app.pro @@ -15,7 +15,8 @@ SOURCES = main.cpp \ vocab.cpp \ poilaumodule.cpp \ fourasmodule.cpp \ - riddles.cpp + riddles.cpp \ + todomodule.cpp HEADERS += \ regismodule.h \ @@ -23,4 +24,5 @@ HEADERS += \ vocab.h \ poilaumodule.h \ fourasmodule.h \ - riddles.h + riddles.h \ + todomodule.h diff --git a/app/sparrowmodule.cpp b/app/sparrowmodule.cpp index d4847f0..3e2fc2f 100644 --- a/app/sparrowmodule.cpp +++ b/app/sparrowmodule.cpp @@ -31,6 +31,11 @@ bool SparrowModule::messageHandler(Message msg) answer = say("sparrowModule v1.0"); return true; } + else if(msg.args.compare("re", Qt::CaseInsensitive) == 0) + { + answer = say("Re"); + return true; + } else if(msg.args.startsWith("!devzone")) { QStringList paramList = msg.args.split(' '); diff --git a/app/todomodule.cpp b/app/todomodule.cpp new file mode 100644 index 0000000..f0362b1 --- /dev/null +++ b/app/todomodule.cpp @@ -0,0 +1,41 @@ +#include "todomodule.h" +#include "message.h" +#include + +TodoModule::TodoModule() +{ + +} + +bool TodoModule::messageHandler(Message msg) +{ + if(msg.command.compare(QString("PRIVMSG"), Qt::CaseInsensitive) == 0) + { + if(msg.args.startsWith("!todo ")) + { + Task t; + t.isPrivate = !msg.target.contains(getChan()); + t.emitter = msg.nick; + t.date = time(NULL); + QStringList splitter = msg.args.split(' '); + // !todo [target] durée/date [every durée_repeat] text + // date(jour/mois-[heure[:minutes[:secondes]]]) + // every day / every month / every heures[:minutes[:secondes]] + } + + + } +} + +void TodoModule::addTask(unsigned long date, unsigned long repeat, QString description, QString emitter, QString recipient, bool isPrivate) +{ + Task t; + t.date = date; + t.description = description; + t.emitter = emitter; + t.recipient = recipient; + t.repeat = repeat; + t.isPrivate = isPrivate; + tasks.push_back(t); + // TODO -> append it to save file +} diff --git a/app/todomodule.h b/app/todomodule.h new file mode 100644 index 0000000..0c33b36 --- /dev/null +++ b/app/todomodule.h @@ -0,0 +1,31 @@ +#ifndef TODOMODULE_H +#define TODOMODULE_H + +#include "module.h" +#include +#include + +class TodoModule : public Module +{ + typedef struct s_task + { + unsigned long date; + unsigned long repeat; + QString description; + QString emitter; + QString recipient; + bool isPrivate; + } Task; + + std::vector tasks; + +public: + TodoModule(); + + virtual bool messageHandler(Message msg); + virtual QString getName() {return "todo";} + + void addTask(unsigned long date, unsigned long repeat, QString description, QString emitter, QString recipient, bool isPrivate); +}; + +#endif // TODOMODULE_H