Giter VIP home page Giter VIP logo

taskplanner's Issues

memleak in tasks with favicons

if a task has an attached url whose favicon gets displayed, memory consumption grows unbounded. Removing the task gets rid of the excess memory (which suggests its not a leak per se) and stabilizes memory consumption.

search doesn't update properly

when searching for a term, its results aren't updated if tasks are edited/added/a delete undone.

When certain actions are performed, the search controller needs to be notified in order to be able to refresh its search results.

  • text change in task
  • new task
  • undo on deleted/modified task

scrollbar on windows looks ugly

default windows style scrollbar should be replaced by a transient (mac-style) scrollbar that disappears when not in use. If too much hassle, a narrower, more style-conforming scrollbar would be nice.

checkable items within a task

a task might consist of several steps, but instead of creating subtasks, add checkboxes to visualize their state.

performance: when loading a file, create task widgets of subtasks on-demand

If a task is collapsed, its subtasks don't need to be created upon loading the file. Instead, some sort of proxy could be inserted that gets replaced by the correct widget as soon as its parent is expanded.

This would be especially beneficial when loading large documents with hundreds/thousands of hierarchically organized tasks.

time tracking keeps intervals open

Sometimes tasks that are being tracked aren't properly finalized when switching to another task, leaving them with a start time but no stop time.
This results in the task having a wrong time delta. Usually, the broken entry is immediately followed by a 'correct' one that has both start and stop time set correctly.

Search: flags

  • case sensitivity
  • match whole words only
  • regular expression

show time tracked for a certain task

add the option to show time fragments that have already been recorded for a certain task.

e.g. via context menu show -> tracked time -> overlay

add a 'statistics' submenu entry

just for fun:
in the ? -> statistics or ? -> about menus
show statistics like

  • how many tasks are there?
  • what's the task with the deepest nesting (and how deep/how many children)?
  • what's the oldest task and how old is it?

Log time with task subsequently

It should be possible to - while time tracking of another task is running - log time with a different task.

Example:

  • Task T1 is being tracked.
  • Task T0 is not being tracked, the user has done some work but forgot to enable tracking
  • Using a menu entry, it should be possible to enter start/stop time for that task
  • The system should automatically insert new stop markers for the task that was being tracked at the beginning of the new time segment
  • The system should automatically insert a new start marker for the task that was being tracked at the end of the new time segment
T1: |-------------------------------------------------|
->
T0:               |----|
T1: |-------------|    |------------------------------|

changing the search term takes forever in large documents

searching for a string within a document with several thousand (sometimes deeply) nested tasks taskes forever.

The reason for this is that any tasks that match the search term that haven't been visualized yet are being created on-demand.
When typing a new search term, the first character entered will match with almost every task in existence, resulting in the creation of its widget.

This should be addressed by only highlighting search terms in existing widgets and only creating the non-existing ones whenever the search-cursor "jumps" to such a task.

show booked time in tooltip

when hovering over a task, display a tooltip that shows time spent with that task.

multiple views could be available:

  • cumulative time spent
  • time spent per day
  • all logged time fragments

create task_manager library

the task_manager functionality has to be separated into a library in order to successfully create plugins that access task_manager functions

add tags

  • let the user define a set of tags (with optional color for each tag)
  • show the tags i.e. in the toolbar
  • let the user drag&drop tags to tasks
  • when creating report sheets, show tags there as well

this serves as a different approach to categorizing tasks than to simply add them as sub tasks to "category super tasks".
When organizing tasks in super tasks, sorting becomes more or less obsolete since the most pressing tasks don't necessarily show up at the very top of the list.

infinite wait in search

there's a potential infinite-loop when preparing to highlight all matches.
while trying to get to the first parent widget of a task that has been created, the parent task isn't being updated, resulting in an infinite loop:

while (nullptr == pTaskWidget)
{
  vWidgetsToReconstruct.push_front(id);
  id = pTask->parentTask();

  if (-1 == id) { break; }
  pTaskWidget = m_pWidgetManager->taskWidget(id);
  }

should be

while (nullptr == pTaskWidget)
{
  vWidgetsToReconstruct.push_front(id);
  id = pTask->parentTask();
  pTask = m_pTaskManager->task(id);

  if (-1 == id) { break; }
  pTaskWidget = m_pWidgetManager->taskWidget(id);
}

show images in tasks

if the user pastes a link to an image, show a preview to that image in the task.
Optionally, if the complete image data is pasted, embed the image in the task and save it in the file.

date/time entry

date and time entries are inconsistent:

  • when entering a due date "at 17:00", it is rejected.
  • When entering "2019-08-12 17:00", it is accepted and displayed as "at 17:00".

Any values that are generated for display have to be accepted as valid input.

qt.svg missing

No rule to make target '../../taskplanner/application/resources/qt.svg', needed by 'qrc_resource.cpp'. Stop.

UnitTests

libtaskmanager should be unit tested

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.