FreshBooks Plasmoid

Plasma 4 Extensions

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

1
7 .4
Description:

Simple time tracking plasmoid synchronizing with the FreshBooks (www.freshbooks.com) on-line time tracking service using the FreshBooks API.

The plasmoid can communicate with FreshBooks Plasmoid Monitor (http://www.kde-look.org/content/show.php?content=115880) via DBus. FreshBooks Plasmoid Monitor is a tiny monitor for FreshBooks Plasmoid to be placed in a plasma panel.

All contributions (bug fixing, features, artwork, translations etc.) are very much welcome. Contact details can be found in the plasmoid package.

Functionality:
* Listing FreshBooks projects and tasks connected with the projects.
* Simple time counting.
* Time can be input manually in various formats: 0.000, mm:ss, hh:mm:ss.
* Logging time (with notes) to FreshBooks.
* Customizable background.
* Global keyboard shortcut for starting/pausing the counter.
* Token stored in KWallet.
* DBus interface
* Communicates with FreshBooks Plasmoid Monitor

Depends on plasma-scriptengine-python.
Uses freshbooks.py by Matt Culbreth (http://mattculbreth.com).
Last changelog:

10 years ago

2010-03-09 - Version 0.4.1
* Fixed regression related to KWallet interface and KDE 4.3

2010-02-17 - Version 0.4
* Now compatible with KDE 4.4

2009-11-25 - Version 0.3.1
Bugs:
* Fixed the bug causing errors when logging time without refreshing.

2009-11-25 - Version 0.3
Features:
* Hours edit accepts time in different formats: 0.000, 00:00, 00:00:00
* The projects and tasks are now saved, therefore refreshing is not required on startup.
Bugs:
* Changed 'Reset' to 'Clear'
* Now it is possible to modify the counter's state by editing the hours.
* Now countingStopped DBus signal is sent when time is logged (updates button status in Monitor)


2009-11-22 - Version 0.2
Features:
* Added configuration options enabling/disabling automatic refresh on startup and setting the delay
* DBus interface for monitoring and controlling the plasmoid
* Compatible with the FreshBooks Plasmoid Monitor
Bugs:
* Notes are now cleared when resetting or logging
* Added missing i18n()
* Fixed the problem with saving size of the plasmoid

2009-11-20 - Version 0.1
* Initial version

SzntGbor

8 years ago

Hi! I tried your widget, set my account and token, but the project and task options are empty.
I've tried to reinstall the widget, but nothing to change.
I see this when run plasmoidviewer freshbooks-plasmoid:
Quote:
: plasmoidviewer freshbooks-plasmoid
plasmoidviewer(19977)/plasma main: setting FormFactor to "planar"
plasmoidviewer(19977)/plasma main: setting Location to "floating"
plasmoidviewer(19977)/plasma main: setting containment to "null"
plasmoidviewer(19977)/plasma main: setting auth policy
plasmoidviewer(19977)/libplasma Plasma::Corona::Corona: !!{} STARTUP TIME 23156706 Corona ctor start
plasmoidviewer(19977)/plasma main: just load applet
plasmoidviewer(19977)/plasma FullView::addApplet: adding applet "freshbooks-plasmoid" in "null"
plasmoidviewer(19977)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-szantogabor/ksycoca4"
plasmoidviewer(19977)/kdecore (services) KServiceFactory::findServiceByDesktopPath: "" not found
plasmoidviewer(19977)/libplasma Plasma::AppletPrivate::init: Check your constructor! You probably want to be passing in a Service::Ptr or a QVariantList with a valid storageid as arg[0].
plasmoidviewer(19977)/libplasma Plasma::PluginLoader::loadApplet: we have a script using the "python" API
plasmoidviewer(19977)/python (plugin) KPythonPluginFactory::KPythonPluginFactory: KPythonPluginFactory::KPythonPluginFactory()
plasmoidviewer(19977)/python (plugin) KPythonPluginFactory::initialize: Initializing Python interpreter.
plasmoidviewer(19977)/python (plugin) KPythonPluginFactory::initialize: Succesfully initialized Python interpreter.
plasmoidviewer(19977)/python (plugin) KPythonPluginFactory::create: KPythonPluginFactory::create iface: Plasma::AppletScript
plasmoidviewer(19977)/python (plugin) KPythonPluginFactory::create: keyword to be used for finding the plugin code: "plasma_scriptengine_python/pyappletscript.py"
plasmoidviewer(19977)/python (plugin) KPythonPluginFactory::create: Path to plugin code is: "/usr/share/kde4/apps/plasma_scriptengine_python/pyappletscript.py"
plasmoidviewer(19977)/python (plugin) KPythonPluginFactory::create: Returning result qobject
plasmoidviewer(19977)/libplasma Plasma::AppletPrivate::setupScriptSupport: setting up script support, package is in "/home/szantogabor/.kde/share/apps/plasma/plasmoids/freshbooks-plasmoid/" which is a "Plasmoid" package , main script is "/home/szantogabor/.kde/share/apps/plasma/plasmoids/freshbooks-plasmoid/contents/code/main.py"
Installing icons...
Done!
plasmoidviewer(19977)/kdeui (Wallet) KWallet::Wallet::openWallet: Pass a valid window to KWallet::Wallet::openWallet().
plasmoidviewer(19977)/plasma FullView::addApplet: connecting ----------------
Using wallet.
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::end: Painter not active, aborted
plasmoidviewer(19977)/kdeui (Wallet) KWallet::Wallet::openWallet: Pass a valid window to KWallet::Wallet::openWallet().

I'm using the latest kubuntu, the KDE version is 4.7.2

Could you help me, what i miss?

Report

C

pronobis

8 years ago

I have just tried in Kubuntu 11.10 and KDE 4.7.2 and it worked without problems. Also the messages you pasted do not indicate any error. I don't really have any idea here, sorry.

Report

mrthebob

9 years ago

OK, I removed that folder you were talking about and re-installed. All's good now. Thanks :)

Report

mrthebob

9 years ago

After "installing" and adding the widget to the Plasmoid Desktop, the widget tells me:

==========
This object could not be created for the following reason:

Could not locate the freshbooks-plasmoid package for the FreshBooks Plasmoid widget.
==========

I do have the required plasma-scriptengine-python package installed.

This works on my desktop, but not on my new laptop (on which I put the latest Kubuntu).

Many thanks for your help!

Report

C

pronobis

9 years ago

Looks like some installation problem. Which KDE version are you using? Could you check if you have the package installed in .kde/share/apps/plasma/plasmoids? What happens if you run "plasmoidviewer freshbooks-plasmoid"?

Report

gribelu

10 years ago

Hi. First of all thanks for this. I was tired of using the web interface.

Any idea why it freezes plasma while it's refreshing the projects? It takes about 2 minutes to refresh too.

I'm on KDE 4.4.1, Kubuntu 9.10 64 bit.

Report

C

pronobis

10 years ago

Yes, I am aware of both problems. The first problem can be fixed. Currently, the refreshing runs in the main thread which blocks the whole plasma for some time. Will fix that as soon as I find some time (of course, patches are welcome!). Unfortunately, the second problem is difficult to solve. Simply the Freshbooks API is very inefficient and requires multiple queries to be sent to the server.

Report

warnec

10 years ago

Non-related question - your profile says You are from Stockholm, yet the screens prove the system the screenshots were taken from was in Polish.

How's that possible? ;)

Report

C

pronobis

10 years ago

Well, it's that difficult to spot a Pole in Stockholm these days :)

Report

Creap

10 years ago

Looks interesting, though I already track my time through an ERP system.

Would be nice with something similar but connected to for instance KTimeTracker.

Report

C

pronobis

10 years ago

I'm not using KTimeTracker myself, but the code could serve as an example for someone willing to implement that functionality.

Report

10 years ago

2010-03-09 - Version 0.4.1
* Fixed regression related to KWallet interface and KDE 4.3

2010-02-17 - Version 0.4
* Now compatible with KDE 4.4

2009-11-25 - Version 0.3.1
Bugs:
* Fixed the bug causing errors when logging time without refreshing.

2009-11-25 - Version 0.3
Features:
* Hours edit accepts time in different formats: 0.000, 00:00, 00:00:00
* The projects and tasks are now saved, therefore refreshing is not required on startup.
Bugs:
* Changed 'Reset' to 'Clear'
* Now it is possible to modify the counter's state by editing the hours.
* Now countingStopped DBus signal is sent when time is logged (updates button status in Monitor)


2009-11-22 - Version 0.2
Features:
* Added configuration options enabling/disabling automatic refresh on startup and setting the delay
* DBus interface for monitoring and controlling the plasmoid
* Compatible with the FreshBooks Plasmoid Monitor
Bugs:
* Notes are now cleared when resetting or logging
* Added missing i18n()
* Fixed the problem with saving size of the plasmoid

2009-11-20 - Version 0.1
* Initial version

12345678910
6
product-maker alvanx Aug 10 2011 9 excellent
product-maker JazzyAl Jul 03 2011 9 excellent
product-maker barril May 24 2011 9 excellent
product-maker Y7lc1n665j5I Apr 24 2011 9 excellent
product-maker tobru Feb 09 2011 9 excellent
product-maker SlyderBY Jan 13 2011 9 excellent
product-maker Base: 4 x 5.0 Ratings
Be the first to comment
Landis
Dec 02 2013
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.4.1
updated Mar 14 2010
added Nov 20 2009
downloads 24h
0
mediaviews 24h 0
pageviews 24h 1