Giter Club home page Giter Club logo

baralga's Introduction

Github Actions Status for Baralga/baralga Quality Gate Status Known Vulnerabilities

Baralga Time Tracker

Simple and lightweight time tracking.

Baralga Main Screen

Record the time spent on a project or manually enter and edit activities.

Features

  • plain time tracking no fuzz
  • switch projects with tray icon
  • record your activities
  • report as Excel, CSV and iCalendar
  • manually add and edit activities
  • enter data fast with shortcuts
  • suitable for single users and teams

Editions

Use Baralga just for yourself or for your whole team.

Single User Mode

As a single user use our great Desktop application.

Multi User Mode

As a team use our great Desktop application along with our team server.

User Guide

Single User Mode

Single user mode is enabled by default so no extra settings required.

Multi User Mode

In multi-user mode all data is stored on the Baralga server backend. Multi-user mode is enabled using the Java system property -DuserMode=multiuser or the setting userMode=multiuser in the application.properties stored in the directory $USER_HOME\.baralga\application.properties.

Settings in Application Properties

# Mandatory for multiuser mode
userMode=multiuser

# Default value http://localhost:8080
backendURL=http://localhost:8080

# Default value is current system user
user=user

# Default value us3r
password=us3r

Changelog

see Changelog

baralga's People

Contributors

dependabot[bot] avatar guyou avatar habnefrage avatar remast avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

baralga's Issues

all data lost

I used baralga 1.8.0 for many months successfully under Windows 10, but now all old activities are disappeared and it is not possible to get statistics anymore .

Trouble with width columns.

Baralga don't remember width columns (General ->All activities -> Project; Date; ... | Time -> Hours by day -> Day; hours | and so on. Baralga expands the columns to the same width now; it is not good, because columns with longer text should be wider. --- Thank for care.

filter.projectId

Baralaga sets since a shot while a Filter to my Projects.
Since then I can only see and export a single project.

I found that in the Baralaga.propertys file the setting keeps
filter.projectId=6

But it keeps coming back when i manualy delete it in the file or set it to 0.

How do i get rid of that filter?

I'm using Version 1.8.0
Modus Normal (not sure how to trigger diffrent mods)

Ability to move baralga.mv.db

I would like to have a way to move baralga.mv.db to a new directory, ideally separate from the application. Maybe as simple as a config setting for database path. Is this possible?

Move word to a new line

In Activity section in description input field and in Description of all activities - words which are located at the end of the row, and does not fit with full length to the line should start from new row.

This also makes hard to select last character on row, you have to move cursor to next line.

baralga_textselect

Planned Working Time

Please add some feature for adding the planned working time to be able to calculate the overtime via week/month/year.
Add a default planned working time per weekday and add a special acitivity for vacation.
So you can track and calculate this times.

The last thing you must pay attention are regional holiday's. (Here I've still no idea for implementation)

Exception occurs after deleting some activities

Had some funky behaviour which eventually led to this. Here's what happened (to the best of my knowledge).

  1. Tried to delete 1 activity from the "All activities" tab panel. This caused my whole day and previous day to get wipped out.
  2. Added a new entry for an activity I completed today that was incorrectly deleted.
  3. Tried to edit the time on the new activity I created. This ended up creating a clone of the activity and I ended up with 2 duplicated records in my activity log.
  4. tried to delete one of the duplicates which deleted everything.
  5. Added a new activity which correctly populated in the "All Activity".
  6. Anytime I click on the activity in the activities tab, the following exception pops up

After closing an reopening the client, the activities appeared to be correct and the bad state was resolved.

`
Fatal error occured

Message:
java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
Level:
SEVERE
Stack Trace:
Index: 2, Size: 1
java.util.ArrayList.rangeCheck(Unknown Source)
java.util.ArrayList.get(Unknown Source)
ca.odell.glazedlists.impl.gui.ThreadProxyEventList.get(ThreadProxyEventList.java:136)
ca.odell.glazedlists.swing.EventTableModel.setValueAt(EventTableModel.java:286)
javax.swing.JTable.setValueAt(Unknown Source)
javax.swing.JTable.editingStopped(Unknown Source)
javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source)
javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(Unknown Source)
javax.swing.DefaultCellEditor.stopCellEditing(Unknown Source)
javax.swing.JTable$GenericEditor.stopCellEditing(Unknown Source)
javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(Unknown Source)
java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
java.awt.Component.processMouseEvent(Unknown Source)
javax.swing.JComponent.processMouseEvent(Unknown Source)
java.awt.Component.processEvent(Unknown Source)
java.awt.Container.processEvent(Unknown Source)
java.awt.Component.dispatchEventImpl(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Window.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.EventQueue.dispatchEventImpl(Unknown Source)
java.awt.EventQueue.access$500(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue$4.run(Unknown Source)
java.awt.EventQueue$4.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue.dispatchEvent(Unknown Source)
org.remast.swing.util.ExceptionUtils$ExceptionHandlingEventProcessor.dispatchEvent(ExceptionUtils.java:68)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.run(Unknown Source)
`

State of project not restored on export/import

I have had previously installed version 1.8.0 portable from where I created a backup. Then I installed 1.8.1 and imported the backup. All my projects were set to 'active' now, even if they were inactive before.

XLSX-Output shows only last line when more than 1 Line in Description

I user Drag and Drop to fill in description-dext from ATNOTES.
Had to put all domments in ONE dine to get proper dutput in XLSX-export.

TextLine1
TextLine2
TextLine3

shows up normal in program but I get get only content of TextLine3 when I open XLSX-Export in LibreOffice v5.1

Seems that it takes just last Line of description in export to XLSX when einefeed is included in eext.
Looks in XLSX like data got lost in export.

Data cleared out upon shut down

The root cause of this may be related to root cause of #13. I've seen this happen twice now.

Sometimes when editing the start time of a logged activity for the day, it will end up duplicating the activity in the activity log (deleting either entry will delete both). I've noticed that if a duplicate entry exists within the activity logs my logged activities will not be recorded for the next time i launch the application.

I'm not sure if this might be disk write error or if the data is indeed actually being persisted to a file

No Data loss

Hi developers,

Thanks for trying. :)

I seem to have lost a weeks worth of time tracking. I'll have a look to see if this can be recovered somehow, but I'm a bit gutted.

Anyway, just fair warning to other. Redundancy. Backups. All those wisdomy things. Don't use new software for your only method of time-tracking. Sigh.

Not sure how else to track this.

error in database

Is there a solution for this error?

Schwerwiegender Fehler aufgetreten

Message:
    org.h2.jdbc.JdbcSQLException: Datei fehlerhaft beim Lesen des Datensatzes: null. Mögliche Lösung: Recovery Werkzeug verwenden
File corrupted while reading record: null. Possible solution: use the recovery tool [90030-191]
Level:
    SEVERE
Stack Trace:
Datei fehlerhaft beim Lesen des Datensatzes: null. Mögliche Lösung: Recovery Werkzeug verwenden File corrupted while reading record: null. Possible solution: use the recovery tool [90030-191]
    org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    org.h2.message.DbException.get(DbException.java:168)
    org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:195)
    org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
    org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
    org.h2.engine.Database.getPageStore(Database.java:2460)
    org.h2.engine.Database.open(Database.java:692)
    org.h2.engine.Database.openDatabase(Database.java:270)
    org.h2.engine.Database.<init>(Database.java:264)
    org.h2.engine.Engine.openSession(Engine.java:65)
    org.h2.engine.Engine.openSession(Engine.java:175)
    org.h2.engine.Engine.createSessionAndValidate(Engine.java:153)
    org.h2.engine.Engine.createSession(Engine.java:136)
    org.h2.engine.Engine.createSession(Engine.java:28)
    org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
    org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
    org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
    org.h2.Driver.connect(Driver.java:72)
    java.sql.DriverManager.getConnection(Unknown Source)
    java.sql.DriverManager.getConnection(Unknown Source)
    org.remast.baralga.model.BaralgaDAO.init(BaralgaDAO.java:65)
    org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:321)
    org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)
File corrupted in chunk 265667, expected page length 4..192, got 811873889 [1.4.191/6]
    org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
    org.h2.mvstore.Page.read(Page.java:649)
    org.h2.mvstore.Page.read(Page.java:195)
    org.h2.mvstore.MVStore.readPage(MVStore.java:1939)
    org.h2.mvstore.MVMap.readPage(MVMap.java:736)
    org.h2.mvstore.Page.getChildPage(Page.java:217)
    org.h2.mvstore.Cursor.min(Cursor.java:129)
    org.h2.mvstore.Cursor.hasNext(Cursor.java:36)
    org.h2.mvstore.MVStore.loadChunkMeta(MVStore.java:689)
    org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:670)
    org.h2.mvstore.MVStore.<init>(MVStore.java:353)
    org.h2.mvstore.MVStore$Builder.open(MVStore.java:2888)
    org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
    org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
    org.h2.engine.Database.getPageStore(Database.java:2460)
    org.h2.engine.Database.open(Database.java:692)
    org.h2.engine.Database.openDatabase(Database.java:270)
    org.h2.engine.Database.<init>(Database.java:264)
    org.h2.engine.Engine.openSession(Engine.java:65)
    org.h2.engine.Engine.openSession(Engine.java:175)
    org.h2.engine.Engine.createSessionAndValidate(Engine.java:153)
    org.h2.engine.Engine.createSession(Engine.java:136)
    org.h2.engine.Engine.createSession(Engine.java:28)
    org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
    org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
    org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
    org.h2.Driver.connect(Driver.java:72)
    java.sql.DriverManager.getConnection(Unknown Source)
    java.sql.DriverManager.getConnection(Unknown Source)
    org.remast.baralga.model.BaralgaDAO.init(BaralgaDAO.java:65)
    org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:321)
    org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)

Baralga portable stop working after latest windows 10 update 1903

2020-06-15 10:58:48,193 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3.
2020-06-15 10:58:48,325 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\Corrado\4Portable\PortableApps\Baralga\data".
2020-06-15 10:58:48,619 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup..
2020-06-15 10:58:48,724 ERROR [main] org.remast.baralga.gui.BaralgaMain:
java.lang.NullPointerException
at org.remast.baralga.model.BaralgaDAO.addActivity(BaralgaDAO.java:294)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:440)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:402)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:393)
at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:153)
at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)
2020-06-15 10:58:55,031 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3.
2020-06-15 10:58:55,095 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\Corrado\4Portable\PortableApps\Baralga\data".
2020-06-15 10:58:55,288 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup..
2020-06-15 10:58:55,366 ERROR [main] org.remast.baralga.gui.BaralgaMain:
java.lang.NullPointerException
at org.remast.baralga.model.BaralgaDAO.addActivity(BaralgaDAO.java:294)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:440)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:402)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:393)
at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:153)
at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)
2020-06-15 10:59:12,026 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3.
2020-06-15 10:59:12,089 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\Corrado\4Portable\PortableApps\Baralga\data".
2020-06-15 10:59:12,282 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup..
2020-06-15 10:59:12,359 ERROR [main] org.remast.baralga.gui.BaralgaMain:
java.lang.NullPointerException
at org.remast.baralga.model.BaralgaDAO.addActivity(BaralgaDAO.java:294)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:440)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:402)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:393)
at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:153)
at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)
2020-06-15 11:00:08,098 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3.
2020-06-15 11:00:08,160 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\Corrado\4Portable\PortableApps\Baralga\data".
2020-06-15 11:00:08,352 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup..
2020-06-15 11:00:08,431 ERROR [main] org.remast.baralga.gui.BaralgaMain:
java.lang.NullPointerException
at org.remast.baralga.model.BaralgaDAO.addActivity(BaralgaDAO.java:294)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:440)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:402)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:393)
at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:153)
at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)
2020-06-15 11:00:26,183 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3.
2020-06-15 11:00:26,248 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\Corrado\4Portable\PortableApps\Baralga\data".
2020-06-15 11:00:26,440 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup..
2020-06-15 11:00:26,520 ERROR [main] org.remast.baralga.gui.BaralgaMain:
java.lang.NullPointerException
at org.remast.baralga.model.BaralgaDAO.addActivity(BaralgaDAO.java:294)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:440)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:402)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:393)
at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:153)
at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)
2020-06-15 11:00:37,542 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3.
2020-06-15 11:00:37,604 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\Corrado\4Portable\PortableApps\Baralga\data".
2020-06-15 11:00:37,794 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup..
2020-06-15 11:00:37,873 ERROR [main] org.remast.baralga.gui.BaralgaMain:
java.lang.NullPointerException
at org.remast.baralga.model.BaralgaDAO.addActivity(BaralgaDAO.java:294)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:440)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:402)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:393)
at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:153)
at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)
2020-06-15 11:01:54,077 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3.
2020-06-15 11:01:54,145 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\Corrado\4Portable\PortableApps\Baralga\data".
2020-06-15 11:01:54,338 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup..
2020-06-15 11:01:54,418 ERROR [main] org.remast.baralga.gui.BaralgaMain:
java.lang.NullPointerException
at org.remast.baralga.model.BaralgaDAO.addActivity(BaralgaDAO.java:294)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:440)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:402)
at org.remast.baralga.gui.model.PresentationModel.stop(PresentationModel.java:393)
at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:153)
at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)

Periodically prompt for update

I'd like it to prompt me periodically to update my project. Perhaps a balloon popup every x minutes on the tray icon as a reminder of what project I'm assigning time to.

Hours Per Project

Hi. I want to know, is it possible to export hours per project not by month or year?

Lot of exceptions if putting computer in standby

If I put my computer into standby and then turn it on again, I get a lot of exceptions. I am running on Linux, with several displays (I tried this with 1.7.6 and 1.8.0) and Baralga is actually running on not default display.

After I close this messages, application runs, like nothing ever happened.

2016-10-26 09:09:22,024 ERROR [AWT-EventQueue-1] org.remast.swing.util.ExceptionUtils: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
at sun.java2d.xr.XRPMBlitLoops.cacheToTmpSurface(XRPMBlitLoops.java:145)
at sun.java2d.xr.XrSwToPMBlit.Blit(XRPMBlitLoops.java:353)
at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:959)
at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:577)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:67)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1014)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:186)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3318)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3296)
at com.sun.java.swing.plaf.gtk.GTKEngine.paintCachedImage(GTKEngine.java:555)
at com.sun.java.swing.plaf.gtk.GTKPainter.paintTabbedPaneTabBackground(GTKPainter.java:883)
at javax.swing.plaf.synth.SynthPainter.paintTabbedPaneTabBackground(SynthPainter.java:1779)
at javax.swing.plaf.synth.SynthTabbedPaneUI.paintTab(SynthTabbedPaneUI.java:633)
at javax.swing.plaf.synth.SynthTabbedPaneUI.paintTabArea(SynthTabbedPaneUI.java:542)
at javax.swing.plaf.synth.SynthTabbedPaneUI.paint(SynthTabbedPaneUI.java:480)
at javax.swing.plaf.synth.SynthTabbedPaneUI.update(SynthTabbedPaneUI.java:376)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:489)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:854)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at org.remast.swing.util.ExceptionUtils$ExceptionHandlingEventProcessor.dispatchEvent(ExceptionUtils.java:70)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
at java.awt.Dialog.show(Dialog.java:1084)
at java.awt.Component.show(Component.java:1673)
at java.awt.Component.setVisible(Component.java:1625)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at org.jdesktop.swingx.JXErrorPane$1.run(JXErrorPane.java:393)
at org.jdesktop.swingx.JXErrorPane.showDialog(JXErrorPane.java:406)
at org.jdesktop.swingx.JXErrorPane.showDialog(JXErrorPane.java:371)
at org.remast.swing.util.ExceptionUtils.showErrorDialog(ExceptionUtils.java:50)
at org.remast.swing.util.ExceptionUtils$ExceptionHandlingEventProcessor.dispatchEvent(ExceptionUtils.java:73)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
at java.awt.Dialog.show(Dialog.java:1084)
at java.awt.Component.show(Component.java:1673)
at java.awt.Component.setVisible(Component.java:1625)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at org.jdesktop.swingx.JXErrorPane$1.run(JXErrorPane.java:393)
at org.jdesktop.swingx.JXErrorPane.showDialog(JXErrorPane.java:406)
at org.jdesktop.swingx.JXErrorPane.showDialog(JXErrorPane.java:371)
at org.remast.swing.util.ExceptionUtils.showErrorDialog(ExceptionUtils.java:50)
at org.remast.swing.util.ExceptionUtils$ExceptionHandlingEventProcessor.dispatchEvent(ExceptionUtils.java:73)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Absent data filter: from-to.

The program Baralga has good filters such as this day, this week, ... this year; but ti has'nt needed filter FROM one day TO other day. --- Thank for care!

Minimize on Windows 7 destroys start bar icon

When I minimize the application in Windows 7, the icon for the app disappears. I see an icon in the tray, but there is no option to restore the main program window.

If I try to run the application again I get a 'locked database' error as you might expect.

I have to close the tray icon and run the application again to see the main window.

Minimize doesn't mean close. :)

syncing accross multiple PCs

more a question than an issue: do people have experience with syncing Baralga accross multiple PCs ? DOes it work well with dropbox, for example?

Update 1.8.5 to 1.9.x: Projects cannot be added or deactivated

Hi, there is an error after updating from Baralga 1.8.5 to 1.9.x. Maybe it has something to do with change from number to UUID in project data. With imported data I'm not able to add more projects and to disable old ones.

Log snippet I found looks same in 1.9.0 and 1.9.1 like this:

2021-01-11 12:10:45,246 INFO  [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.9.1.
2021-01-11 12:10:45,439 INFO  [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "C:\Users\MyUserId\.Baralga".
2021-01-11 12:10:46,042 INFO  [main] org.remast.baralga.repository.file.BaralgaFileRepository: Using Baralga DB Version: 3, description: Migrated to uuids and added primary keys..
2021-01-11 12:11:08,187 ERROR [AWT-EventQueue-1] org.remast.swing.util.ExceptionUtils: Cannot add project without id.
java.lang.IllegalArgumentException: Cannot add project without id.
	at org.remast.baralga.repository.file.BaralgaFileRepository.addProject(BaralgaFileRepository.java:189)
	at org.remast.baralga.model.BaralgaDAO.addProject(BaralgaDAO.java:59)
	at org.remast.baralga.gui.model.PresentationModel.addProject(PresentationModel.java:189)
	at org.remast.baralga.gui.dialogs.ManageProjectsDialog.lambda$getAddProjectButton$0(ManageProjectsDialog.java:157)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at org.remast.swing.util.ExceptionUtils$ExceptionHandlingEventProcessor.dispatchEvent(ExceptionUtils.java:90)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at org.remast.baralga.gui.actions.ManageProjectsAction.actionPerformed(ManageProjectsAction.java:36)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

NumberFormatException: For input string: "null"

Hello,
getting the following exception on startup:

2016-12-29 15:07:52,962 ERROR [main] org.remast.baralga.gui.settings.UserSettings: For input string: "null"
java.lang.NumberFormatException: For input string: "null"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Long.parseLong(Long.java:589)
	at java.lang.Long.valueOf(Long.java:803)
	at org.remast.baralga.gui.settings.UserSettings.doGetLong(UserSettings.java:554)
	at org.remast.baralga.gui.settings.UserSettings.getFilterSelectedProjectId(UserSettings.java:306)
	at org.remast.baralga.gui.model.PresentationModel.initialize(PresentationModel.java:140)
	at org.remast.baralga.gui.BaralgaMain.initModel(BaralgaMain.java:324)
	at org.remast.baralga.gui.BaralgaMain.main(BaralgaMain.java:106)

This is for the 1.8.0 portable version, downloaded yesterday.

Thank you.

Project Search with Description

I had a very old Baralga that I've used for years. With a new machine, I've had to upgrade. The latest versions of Baralga do not have the ability to group all the input (dates, times) from one project together with their descriptions. In other words, the Search bar is missing from the Description tab. It is there for All Activities and Accumulated Activities. Any chance this could be added in at some stage? Much obliged if this is possible

Add usual working hours

Sometimes you forgot to stop the watch at the end of the day. Most of workers don't shut down the computer , so you can count a lot of non worked hours .
A solution could be to add usual working hours . and not counting after the hours (but could be bypassed by agreement)

Installer stuck at 0% progress.

Hello.

I have downloaded the 1.8.5 installer from the website, I select the installation destination, accept the thingy, and then the Pack installation progress and Overall installation progress are stuck at the beginning. The bars don't move and the installer is stuck and I have to end the app using Task Manager. I'm using Win 10. Any more info I could provide?

If anyone could help, I'd be grateful! Thanks!

Insufficient interface when creating new project in Baralga

Hi,
I am a happy user of Baralga, but I would like to report a minor issue: when I want to create a new project in Baralga, the text field in the subwindow for the project name is so low that I hardly can see what I type. Would there be a fix for this, and is it hard to change this?

My environment: Linux Mint 20 Ulyana Cinnamon, Baralga 1.8.4 portable, Java openjdk 11.0.7 2020-04-14

Thank you for your work, and hope you can help me...

Change position of stopwatch

As a user i want to be able to change the position of the stopwatch quick (e.g. drag n drop) to click on the underlying gui of other programs.

Better management of project list

I work in a team with a lot of projects, the active set for a given month changes frequently.

It would be really nice if there were some way to 'bulk' mark projects as active or inactive in the "manage projects" list. Currently I have to individually tick each one.

Also it would be very nice if there was a way to import and export just the list of projects without overwriting my time data, that way when a new team member joins the team we could just pass them the list of projects and they could import it.

JCache API: Error loading default cache implementation, export

Problem: Error while trying to export to iCal. Other export options work as intended.
OS: Windows 10 Pro, TZ: Russian Standard Time/(UTC+03:00) Moscow, St. Petersburg, Volgograd), locale: ru-RU (1049)

Error text: Error loading default cache implementation. Please ensure the JCache API dependency is included in the classpath, or override the cache implementation (e.g. via configuration: net.fortuna.ical4j.timezone.cache.impl=net.fortuna.ical4j.util.MapTimeZoneCache)

Log:
2020-03-20 07:33:42,036 INFO [main] org.remast.baralga.gui.BaralgaMain: Starting Baralga version 1.8.3. 2020-03-20 07:33:42,170 INFO [main] org.remast.baralga.gui.BaralgaMain: Using application data directory "D:\programs\Baralga-1.8.3\data". 2020-03-20 07:33:42,555 INFO [main] org.remast.baralga.model.BaralgaDAO: Using Baralga DB Version: 1, description: Initial database setup.. 2020-03-20 07:33:59,021 ERROR [SwingWorker-pool-3-thread-1] org.remast.baralga.gui.actions.AbstractExportAction: Error loading default cache implementation. Please ensure the JCache API dependency is included in the classpath, or override the cache implementation (e.g. via configuration: net.fortuna.ical4j.timezone.cache.impl=net.fortuna.ical4j.util.MapTimeZoneCache) java.lang.RuntimeException: Error loading default cache implementation. Please ensure the JCache API dependency is included in the classpath, or override the cache implementation (e.g. via configuration: net.fortuna.ical4j.timezone.cache.impl=net.fortuna.ical4j.util.MapTimeZoneCache) at net.fortuna.ical4j.model.TimeZoneLoader.lambda$cacheInit$1(TimeZoneLoader.java:285) at java.util.Optional.orElseGet(Unknown Source) at net.fortuna.ical4j.model.TimeZoneLoader.cacheInit(TimeZoneLoader.java:281) at net.fortuna.ical4j.model.TimeZoneLoader.<init>(TimeZoneLoader.java:85) at net.fortuna.ical4j.model.TimeZoneRegistryImpl.<init>(TimeZoneRegistryImpl.java:125) at net.fortuna.ical4j.model.TimeZoneRegistryImpl.<init>(TimeZoneRegistryImpl.java:116) at net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory.createRegistry(DefaultTimeZoneRegistryFactory.java:48) at org.remast.baralga.model.export.ICalExporter.export(ICalExporter.java:45) at org.remast.baralga.gui.actions.AbstractExportAction$ExportWorker.doInBackground(AbstractExportAction.java:151) at org.remast.baralga.gui.actions.AbstractExportAction$ExportWorker.doInBackground(AbstractExportAction.java:111) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoClassDefFoundError: javax/cache/configuration/Configuration at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at net.fortuna.ical4j.model.TimeZoneLoader.lambda$cacheInit$1(TimeZoneLoader.java:283) ... 15 more Caused by: java.lang.ClassNotFoundException: javax.cache.configuration.Configuration at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 18 more

Do not save the name of all projects!

Baralga don't save the name of all projects, which I have (it do not save some projects with the time zero). Example: I have six projects, three of them with any time; and Baralga do not save one "empty" project to its database file.

Baralga Installer Fails on Newer Java

Attempted to run the 1.8.3 installer with AdoptOpenJDK 11

C:\temp>java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.3+7)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.3+7, mixed mode)

and it generated an exception during the install:

C:\temp>java -jar c:\Users\xxx\Downloads\Baralga-Installer-1.8.3.jar
Command line arguments:
Cannot find named resource: 'packsLang.xml' AND 'packsLang.xml_eng'
WARNING: Failed to initialise shortcuts: Could not locate native library
====================
Installation started
Exception in thread "IzPack - Unpacker thread" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
        at com.izforge.izpack.installer.unpacker.UnpackerBase.logIntro(UnpackerBase.java:253)
        at com.izforge.izpack.installer.unpacker.UnpackerBase.unpack(UnpackerBase.java:285)
        at com.izforge.izpack.installer.unpacker.UnpackerBase.run(UnpackerBase.java:242)
        at java.base/java.lang.Thread.run(Thread.java:834)

Worked fine when I forced it to use an older Oracle 1.8 that I had on my box.

Unable to install/use/clean on Windows 8.1

I tried baralga-installer-1.7.6.jar:

  1. Installer complains about write access to "C:\Program Files (x86)" (I can install other soft without problems)
  2. I installed it in (C:\Install\baralga)
  3. On first run it asked me for location of "baralga-core-1.7.6.jar", then It show me error window with the following:

Could not find the main class: org.remast,baralga,gui.BaralgaMain.
Program will exit

  1. I can't find it in program list to uninstall it

Alarm when time reached

Hi !
I think it would be nice if you add a feature, that application would warn when certain time is reached. I am currently working at company where we have 7:30 working time, so everything that you are more here you don't get payed. It would be nice if Baralga could warn me when daily time is reached.

Thanks,
Andy

Subtasks

Having the option of adding subtasks for each task (another dropdown) would be great.
This could be included in the report as a new collumn after task.

You are building a simple yet very useful app. Thanks!

Could not find the main class

I'm having the same issue with standalone and installed version. When I launch, I get the message "Could not find the main class: org-remast.baralga.gui.BaralgaMain. Program will exit."

I downloaded today's current version. I'm running Java 7u55 on a Win8 PC. I tried installing at the root of C:, which was throwing requests for admin permission and then in a "My Documents" subfolder.

Minimizing the application makes it disappear from taskbar

I am testing out baralga for my own little time tracking needs. I test the v1.8.0 "portable", under Linux (OpenSUSE 42.2, KDE). It's very promising so far, but there is one major problem I run into quite often: when I click the "minimize" button of the application, then baralga disappears from my taskbar, which makes it impossible to call back. There is a tray icon that stays active, however, so things would be good IF this tray icon was working... Unfortunately, clicking, double-clicking and right-clicking on the baralga tray icon yields no effect. In the end, each time I do the mistake of trying to minimize baralga, I have to kill the process and restart it manually.

Suggested solutions: make the "disappear from taskbar when minimized" behavior optional (configurable), and/or make it possible to get back to the baralga UI through its tray icon.

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.