Merge branch '1.9.0' of tasktools.org:task into 1.9.0

Conflicts:
	src/Context.cpp
This commit is contained in:
Federico Hernandez 2010-01-16 23:45:07 +01:00
commit 70a0cd670b
10 changed files with 85 additions and 32 deletions

View file

@ -62,17 +62,17 @@ std::string Config::defaults =
"annotation.details=2 # Level of verbosity for annotations in reports\n"
"next=2 # How many tasks per project in next report\n"
"bulk=2 # > 2 tasks considered 'a lot', for confirmation\n"
"nag=You have higher priority tasks. # Nag message to keep you honest\n"
"nag=You have higher priority tasks. # Nag message to keep you honest\n" // TODO
"\n"
"# Dates\n"
"dateformat=m/d/Y # Preferred input and display date format\n"
"#reportdateformat=m/d/Y # Preferred input and display date format\n"
"weekstart=Sunday # Sunday or Monday only\n"
"displayweeknumber=yes # Show week numbers on calendar\n"
"#reportdateformat=m/d/Y # Preferred display date format for repors\n"
"weekstart=Sunday # Sunday or Monday only\n" // TODO
"displayweeknumber=yes # Show week numbers on calendar\n" // TODO
"due=7 # Task is considered due in 7 days\n"
"#calendar.details=yes # Calendar shows information for tasks w/due dates\n"
"#calendar.details.report=list # Report to use when showing task information in cal\n"
"#monthsperline=3 # Number of calendar months on a line\n"
"#calendar.details.report=list # Report to use when showing task information in cal\n" // TODO
"#monthsperline=3 # Number of calendar months on a line\n" // TODO
"\n"
"# Color controls.\n"
"color=on # Enable color\n"
@ -101,21 +101,22 @@ std::string Config::defaults =
"color.history.delete=on yellow # Color of deleted tasks in the history reports\n"
"color.history.done=on green # Color of completed tasks in the history reports\n"
"\n"
"# Shadow file support\n"
"#shadow.file=/tmp/shadow.txt # Location of shadow file\n"
"#shadow.command=list # Task command for shadow file\n"
"#shadow.notify=on # Footnote when updated\n"
"\n"
"#default.project=foo # Default project for 'add' command\n"
"#default.priority=M # Default priority for 'add' command\n"
"default.command=list # When no arguments are specified\n"
"default.command=list # When no arguments are specified\n" // TODO
"\n"
"_forcecolor=no # Forces color to be on, even for non TTY output\n"
"blanklines=true # Use more whitespace in output\n"
"complete.all.projects=no # Include old project names in 'projects' command\n"
"complete.all.tags=no # Include old tag names in 'tags' command\n"
"complete.all.projects=no # Include old project names in 'projects' command\n" // TODO
"complete.all.tags=no # Include old tag names in 'tags' command\n" // TODO
"debug=no # Display diagnostics\n"
"fontunderline=yes # Uses underlines rather than -------\n"
"shell.prompt=task> # Prompt used by the shell command\n"
"shell.prompt=task> # Prompt used by the shell command\n" // TODO
"\n"
"# Import heuristics - alternate names for fields (comma-separated list of names)\n"
"#import.synonym.bg=?\n"
@ -133,12 +134,13 @@ std::string Config::defaults =
"#import.synonym.tags=?\n"
"#import.synonym.uuid=?\n"
"\n"
"# Aliases - alternate names for commands\n"
"alias.rm=delete # Alias for the delete command\n"
"\n"
"# Fields: id,uuid,project,priority,priority_long,entry,entry_time,\n"
"# start,entry_time,due,recur,recurrence_indicator,age,\n"
"# age_compact,active,tags,tag_indicator,description,\n"
"# description_only,end,end_time\n"
"# Fields: id,uuid,project,priority,priority_long,entry,entry_time,\n" // TODO
"# start,entry_time,due,recur,recurrence_indicator,age,\n" // TODO
"# age_compact,active,tags,tag_indicator,description,\n" // TODO
"# description_only,end,end_time\n" // TODO
"# Description: This report is ...\n"
"# Sort: due+,priority-,project+\n"
"# Filter: pro:x pri:H +bug limit:10\n"
@ -321,7 +323,7 @@ void Config::parse (const std::string& input, int nest /* = 1 */)
if (included.is_absolute ())
{
if (included.readable ())
this->load (included.data, nest + 1);
this->load (included, nest + 1);
else
throw std::string ("Could not read include file '") + included.data + "'";
}

View file

@ -125,7 +125,7 @@ void Context::initialize ()
// init TDB.
tdb.clear ();
std::vector <std::string> all;
split (all, location.data, ',');
split (all, location, ',');
foreach (path, all)
tdb.location (*path);
}
@ -372,7 +372,7 @@ void Context::loadCorrectConfigFile ()
file_override = *arg;
rc = File (arg->substr (3));
home = rc.data;
home = rc;
std::string::size_type last_slash = rc.data.rfind ("/");
if (last_slash != std::string::npos)
home = rc.data.substr (0, last_slash);
@ -387,7 +387,7 @@ void Context::loadCorrectConfigFile ()
// Load rc file.
config.clear (); // Dump current values.
config.load (rc.data); // Load new file.
config.load (rc); // Load new file.
if (config.get ("data.location") != "")
data = Directory (config.get ("data.location"));
@ -416,20 +416,20 @@ void Context::loadCorrectConfigFile ()
+ rc.data
+ " created, so task can proceed?"))
{
config.createDefaultRC (rc.data, data.data);
config.createDefaultRC (rc, data);
}
else
throw std::string ("Cannot proceed without rc file.");
}
// Create data location, if necessary.
config.createDefaultData (data.data);
config.createDefaultData (data);
// TODO find out why this was done twice - see tw #355
// Load rc file.
//config.clear (); // Dump current values.
//config.setDefaults (); // Add in the custom reports.
//config.load (rc.data); // Load new file.
//config.load (rc); // Load new file.
// Apply overrides of type: "rc.name:value", or "rc.name=value".
std::vector <std::string> filtered;

View file

@ -65,6 +65,12 @@ Path& Path::operator= (const Path& other)
return *this;
}
////////////////////////////////////////////////////////////////////////////////
Path::operator std::string () const
{
return data;
}
////////////////////////////////////////////////////////////////////////////////
std::string Path::name () const
{

View file

@ -39,6 +39,8 @@ public:
virtual ~Path ();
Path& operator= (const Path&);
operator std::string () const;
std::string name () const;
std::string parent () const;
std::string extension () const;

View file

@ -114,7 +114,7 @@ void TDB::location (const std::string& path)
path +
"' does not exist, or is not readable and writable.";
mLocations.push_back (Location (d.data));
mLocations.push_back (Location (d));
}
////////////////////////////////////////////////////////////////////////////////

View file

@ -1535,7 +1535,7 @@ int handleReportCalendar (std::string &outs)
// task cal 2010
monthsToDisplay = 12;
mFrom = 1;
yFrom = atoi( context.args[1].data());
yFrom = atoi (context.args[1].c_str ());
}
}
else if (numberOfArgs == 3) {
@ -1547,15 +1547,15 @@ int handleReportCalendar (std::string &outs)
else {
// task cal 8 2010
monthsToDisplay = monthsPerLine;
mFrom = atoi( context.args[1].data());
yFrom = atoi( context.args[2].data());
mFrom = atoi (context.args[1].c_str ());
yFrom = atoi (context.args[2].c_str ());
}
}
else if (numberOfArgs == 4) {
// task cal 8 2010 y
monthsToDisplay = 12;
mFrom = atoi( context.args[1].data());
yFrom = atoi( context.args[2].data());
mFrom = atoi (context.args[1].c_str ());
yFrom = atoi (context.args[2].c_str ());
}
int countDueDates = 0;
@ -1728,7 +1728,7 @@ int handleReportStats (std::string &outs)
dataSize += undo.size ();
std::vector <std::string> undoTxns;
slurp (undo.data, undoTxns, false);
slurp (undo, undoTxns, false);
int undoCount = 0;
foreach (tx, undoTxns)
if (tx->substr (0, 3) == "---")

View file

@ -33,7 +33,7 @@ Context context;
int main (int argc, char** argv)
{
UnitTest t (20);
UnitTest t (21);
// Directory (const File&);
// Directory (const Path&);
@ -55,6 +55,9 @@ int main (int argc, char** argv)
Directory d5 = d4;
t.is (d5.data, "/tmp/test_directory", "Directory::operator=");
// operator (std::string) const;
t.is ((std::string) d3, "/tmp", "Directory::operator (std::string) const");
// virtual bool create ();
t.ok (d5.create (), "Directory::create /tmp/test_directory");
t.ok (d5.exists (), "Directory::exists /tmp/test_directory");

View file

@ -33,7 +33,7 @@ Context context;
int main (int argc, char** argv)
{
UnitTest t (5);
UnitTest t (6);
File::write ("/tmp/file.t.txt", "This is a test\n");
File f6 ("/tmp/file.t.txt");
@ -41,6 +41,9 @@ int main (int argc, char** argv)
t.ok (f6.mode () & S_IRUSR, "File::mode /tmp/file.t.txt good");
t.ok (File::remove ("/tmp/file.t.txt"), "File::remove /tmp/file.t.txt good");
// operator (std::string) const;
t.is ((std::string) f6, "/tmp/file.t.txt", "File::operator (std::string) const");
t.ok (File::create ("/tmp/file.t.create"), "File::create /tmp/file.t.create good");
t.ok (File::remove ("/tmp/file.t.create"), "File::remove /tmp/file.t.create good");

View file

@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// task - a command line task list manager.
//
// Copyright 2006 - 2009, Paul Beckingham.
// Copyright 2006 - 2010, Paul Beckingham.
// All rights reserved.
//
// This program is free software; you can redistribute it and/or modify it under
@ -33,7 +33,7 @@ Context context;
int main (int argc, char** argv)
{
UnitTest t (31);
UnitTest t (32);
// Path ();
Path p0;
@ -54,6 +54,9 @@ int main (int argc, char** argv)
Path p3_copy (p3);
t.is (p3.data, p3_copy.data, "Path::Path (Path&)");
// operator (std::string) const;
t.is ((std::string) p3, "/tmp", "Path::operator (std::string) const");
// std::string name () const;
Path p4 ("/a/b/c/file.ext");
t.is (p4.name (), "file.ext", "/a/b/c/file.ext name is file.ext");