Coder Social home page Coder Social logo

jrbrtsn / qtimemage Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 3.0 183 KB

Time tracking and reporting program for Linux that doesn't suck!

License: GNU Lesser General Public License v3.0

C++ 81.65% Makefile 17.46% QMake 0.71% C 0.17%
time-tracker qt5 cplusplus linux timesheet consulting time-reporting

qtimemage's Introduction

qtimemage

QTimeMage is a time tracking program that doesn't suck!

Important qualities include:

  1. Written in C++.
  2. All events are stored using an sqlite3 database.
  3. GUI is intuitive, and implemented using Qt5.
  4. Effortlessly supports multiple clients, each with multiple projects, subprojects, subsubprojects, ...
  5. Simple time sheet reports for week & month, stored in HTML format (easy to email).
  6. Not full of bugs - I've been using it for several months, and it doesn't crash or do crazy things.

Please read the INSTALL file before trying to run the program!

DOCUMENTATION

----- First Client Record ---- After initializing the database as described in the INSTALL file, you'll need to create at least one client. To do this, click on the '+' icon at the left of the tool bar at the top left of the window. If you hold the button down, a full client menu will appear, and you can also edit or delete a client.

----- First Project Record ---- Next, you need to create a project. This is done by clicking on the '+' icon near the top left of the client page. Again, if you hold the button down, the full project menu will appear. Also, you can right-click anywhere in the project tree view area.

----- Tracking Time ---- Once you have created a project, and it is selected in the combo box in the tool bar at the top of the window, you can begin tracking time by clicking on the "record" button. You may later either pause or stop timekeeping with the "pause" or "stop" buttons. The difference between pause and stop is that using "stop" will cause the timesheet report to charge at minimum the client's 'minimum billing quantum' for any start/stop pair of records. The main purpose of "stop" is to penalize clients who interrupt you frequently for short periods of time, like phone calls and emails which require prompt attention.

----- Window Close Button ---- Clicking on the window manager 'close' button will cause the main GUI window to disappear, but the system tray icon will remain. You may reopen the GUI window at any time by choosing the 'Show GUI' menu item for the system tray icon.

----- Time Sheet Reports ---- You may create either a timesheet report for either a week or month by clicking on the menu at the top right of the client page. When presented with the Qt calendar widget, select a date within the week or month you want reported.

----- Project Start/Stop/Pause Records ---- Records from one project can be moved to another project by selecting them, and then right-clicking and choosing 'Move event to another Project'. At this point you will be presented with a list of all project to choose from. This feature is useful if you realize that you have been charging the wrong project for some period of time.

----- Time Stamps ------------ You may edit a time stamp by right clicking on it, and choosing 'Edit Timestamp'.

----- Data Persistance -------- Your sqlite3 database is where all important records are stored. The state of time keeping is determined by the records in the sqlite3 database, regardless of whether or not QTimeMage happens to be running. If you log out or otherwise cause QTimeMage to exit, time is still being tracked. Program settings are written to a file every 5 minutes.

qtimemage's People

Contributors

jrbrtsn avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

qtimemage's Issues

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.