
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
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).
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
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
9 years ago
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
pronobis
9 years ago
Report
mrthebob
10 years ago
Report
mrthebob
10 years ago
==========
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
pronobis
10 years ago
Report
gribelu
10 years ago
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
pronobis
10 years ago
Report
warnec
10 years ago
How's that possible? ;)
Report
pronobis
10 years ago
Report
Creap
11 years ago
Would be nice with something similar but connected to for instance KTimeTracker.
Report
pronobis
10 years ago
Report