mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Merge branch 'master' into 1.9.0
Conflicts: AUTHORS ChangeLog configure.ac doc/man/task-tutorial.5 doc/man/task.1 doc/man/taskrc.5
This commit is contained in:
commit
e319359935
8 changed files with 40 additions and 93 deletions
3
AUTHORS
3
AUTHORS
|
@ -18,6 +18,7 @@ The following submitted code, packages or analysis, and deserve special thanks:
|
||||||
Johan Friis
|
Johan Friis
|
||||||
Steven de Brouwer
|
Steven de Brouwer
|
||||||
Pietro Cerutti
|
Pietro Cerutti
|
||||||
|
Cory Donnelly
|
||||||
|
|
||||||
Thanks to the following, who submitted detailed bug reports and excellent suggestions:
|
Thanks to the following, who submitted detailed bug reports and excellent suggestions:
|
||||||
Eugene Kramer
|
Eugene Kramer
|
||||||
|
@ -40,4 +41,4 @@ Thanks to the following, who submitted detailed bug reports and excellent sugges
|
||||||
Ian Mortimer
|
Ian Mortimer
|
||||||
Zach Frazier
|
Zach Frazier
|
||||||
Ivo Jimenez
|
Ivo Jimenez
|
||||||
|
Joe Pulliam
|
||||||
|
|
11
ChangeLog
11
ChangeLog
|
@ -12,6 +12,17 @@
|
||||||
|
|
||||||
------ old releases ------------------------------
|
------ old releases ------------------------------
|
||||||
|
|
||||||
|
1.8.4 (11/17/2009) 12c4983936d27317df100f05da8244139dd06a3f
|
||||||
|
+ Fixed bug that caused wait: dates to not be properly rendered in a
|
||||||
|
readable and preferred format with the "edit" command.
|
||||||
|
+ Fixed bug that caused a hang on cygwin, when a task with multiple
|
||||||
|
annotations was edited (thanks to Joe Pulliam).
|
||||||
|
+ Fixed bug #314 where the edit command fails when data.location includes
|
||||||
|
directories containing spaces (thanks to Cory Donnelly).
|
||||||
|
+ Added a warning (issue #312) when modifying recurring tasks, that all
|
||||||
|
instances of that task may be modified. When task confirms a bulk edit
|
||||||
|
the recurrence is again indicated (thanks to Cory Donnelly).
|
||||||
|
|
||||||
1.8.3 (10/21/2009) bcdcbeeea0d92f21c3565aebfaf6332b959f4025
|
1.8.3 (10/21/2009) bcdcbeeea0d92f21c3565aebfaf6332b959f4025
|
||||||
+ Added support for Haiku R1/alpha1
|
+ Added support for Haiku R1/alpha1
|
||||||
|
|
||||||
|
|
|
@ -57,8 +57,15 @@ bool Permission::confirmed (const Task& task, const std::string& question)
|
||||||
<< task.id
|
<< task.id
|
||||||
<< " \""
|
<< " \""
|
||||||
<< task.get ("description")
|
<< task.get ("description")
|
||||||
<< "\""
|
<< "\"";
|
||||||
<< std::endl;
|
|
||||||
|
if (task.getStatus () == Task::recurring ||
|
||||||
|
task.has ("parent"))
|
||||||
|
{
|
||||||
|
std::cout << " (Recurring)";
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << std::endl;
|
||||||
|
|
||||||
int answer = confirm3 (question);
|
int answer = confirm3 (question);
|
||||||
if (answer == 2)
|
if (answer == 2)
|
||||||
|
|
12
src/Task.cpp
12
src/Task.cpp
|
@ -134,7 +134,7 @@ void Task::setEntry ()
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
Task::status Task::getStatus ()
|
Task::status Task::getStatus () const
|
||||||
{
|
{
|
||||||
return textToStatus (get ("status")); // No i18n
|
return textToStatus (get ("status")); // No i18n
|
||||||
}
|
}
|
||||||
|
@ -441,10 +441,14 @@ void Task::addAnnotation (const std::string& description)
|
||||||
void Task::removeAnnotations ()
|
void Task::removeAnnotations ()
|
||||||
{
|
{
|
||||||
// Erase old annotations.
|
// Erase old annotations.
|
||||||
Record::iterator i;
|
Record::iterator i = this->begin ();
|
||||||
for (i = this->begin (); i != this->end (); ++i)
|
while (i != this->end ())
|
||||||
|
{
|
||||||
if (i->first.substr (0, 11) == "annotation_") // No i18n
|
if (i->first.substr (0, 11) == "annotation_") // No i18n
|
||||||
this->erase (i);
|
this->erase (i++);
|
||||||
|
else
|
||||||
|
i++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -57,7 +57,7 @@ public:
|
||||||
|
|
||||||
void setEntry ();
|
void setEntry ();
|
||||||
|
|
||||||
status getStatus ();
|
status getStatus () const;
|
||||||
void setStatus (status);
|
void setStatus (status);
|
||||||
|
|
||||||
int getTagCount ();
|
int getTagCount ();
|
||||||
|
|
|
@ -987,6 +987,13 @@ int handleModify (std::string &outs)
|
||||||
task->get ("parent") == other->get ("parent")) || // Sibling
|
task->get ("parent") == other->get ("parent")) || // Sibling
|
||||||
other->get ("uuid") == task->get ("parent")) // Parent
|
other->get ("uuid") == task->get ("parent")) // Parent
|
||||||
{
|
{
|
||||||
|
if (task->has ("parent"))
|
||||||
|
std::cout << "Task "
|
||||||
|
<< task->id
|
||||||
|
<< " is a recurring task, and all other instances of this"
|
||||||
|
<< " task may be modified."
|
||||||
|
<< std::endl;
|
||||||
|
|
||||||
Task before (*other);
|
Task before (*other);
|
||||||
|
|
||||||
// A non-zero value forces a file write.
|
// A non-zero value forces a file write.
|
||||||
|
|
|
@ -150,7 +150,7 @@ static std::string formatTask (Task task)
|
||||||
<< " Due: " << formatDate (task, "due") << std::endl
|
<< " Due: " << formatDate (task, "due") << std::endl
|
||||||
<< " Until: " << formatDate (task, "until") << std::endl
|
<< " Until: " << formatDate (task, "until") << std::endl
|
||||||
<< " Recur: " << task.get ("recur") << std::endl
|
<< " Recur: " << task.get ("recur") << std::endl
|
||||||
<< " Wait until: " << task.get ("wait") << std::endl
|
<< " Wait until: " << formatDate (task, "wait") << std::endl
|
||||||
<< " Parent: " << task.get ("parent") << std::endl
|
<< " Parent: " << task.get ("parent") << std::endl
|
||||||
<< " Foreground color: " << task.get ("fg") << std::endl
|
<< " Foreground color: " << task.get ("fg") << std::endl
|
||||||
<< " Background color: " << task.get ("bg") << std::endl
|
<< " Background color: " << task.get ("bg") << std::endl
|
||||||
|
@ -543,7 +543,7 @@ void editFile (Task& task)
|
||||||
|
|
||||||
// Complete the command line.
|
// Complete the command line.
|
||||||
editor += " ";
|
editor += " ";
|
||||||
editor += file.str ();
|
editor += "\"" + file.str () + "\"";
|
||||||
|
|
||||||
ARE_THESE_REALLY_HARMFUL:
|
ARE_THESE_REALLY_HARMFUL:
|
||||||
// Launch the editor.
|
// Launch the editor.
|
||||||
|
|
83
src/task.h
83
src/task.h
|
@ -1,83 +0,0 @@
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// task - a command line task list manager.
|
|
||||||
//
|
|
||||||
// Copyright 2006 - 2009, Paul Beckingham.
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// This program is free software; you can redistribute it and/or modify it under
|
|
||||||
// the terms of the GNU General Public License as published by the Free Software
|
|
||||||
// Foundation; either version 2 of the License, or (at your option) any later
|
|
||||||
// version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
// details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU General Public License along with
|
|
||||||
// this program; if not, write to the
|
|
||||||
//
|
|
||||||
// Free Software Foundation, Inc.,
|
|
||||||
// 51 Franklin Street, Fifth Floor,
|
|
||||||
// Boston, MA
|
|
||||||
// 02110-1301
|
|
||||||
// USA
|
|
||||||
//
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
#ifndef INCLUDED_TASK
|
|
||||||
#define INCLUDED_TASK
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include "Record.h"
|
|
||||||
#include "Subst.h"
|
|
||||||
#include "Sequence.h"
|
|
||||||
|
|
||||||
class Task : public Record
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Task (); // Default constructor
|
|
||||||
Task (const Task&); // Copy constructor
|
|
||||||
Task& operator= (const Task&); // Assignment operator
|
|
||||||
bool operator== (const Task&); // Comparison operator
|
|
||||||
Task (const std::string&); // Parse
|
|
||||||
~Task (); // Destructor
|
|
||||||
|
|
||||||
void parse (const std::string&);
|
|
||||||
std::string composeCSV () const;
|
|
||||||
|
|
||||||
// Status values.
|
|
||||||
enum status {pending, completed, deleted, recurring, waiting};
|
|
||||||
|
|
||||||
// Public data.
|
|
||||||
int id;
|
|
||||||
|
|
||||||
// Series of helper functions.
|
|
||||||
static status textToStatus (const std::string&);
|
|
||||||
static std::string statusToText (status);
|
|
||||||
|
|
||||||
void setEntry ();
|
|
||||||
|
|
||||||
status getStatus ();
|
|
||||||
void setStatus (status);
|
|
||||||
|
|
||||||
int getTagCount ();
|
|
||||||
bool hasTag (const std::string&);
|
|
||||||
void addTag (const std::string&);
|
|
||||||
void addTags (const std::vector <std::string>&);
|
|
||||||
void getTags (std::vector<std::string>&) const;
|
|
||||||
void removeTag (const std::string&);
|
|
||||||
|
|
||||||
void getAnnotations (std::vector <Att>&) const;
|
|
||||||
void setAnnotations (const std::vector <Att>&);
|
|
||||||
void addAnnotation (const std::string&);
|
|
||||||
void removeAnnotations ();
|
|
||||||
|
|
||||||
void validate () const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
int determineVersion (const std::string&);
|
|
||||||
void legacyParse (const std::string&);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
Loading…
Add table
Add a link
Reference in a new issue