Goldenseal Pro Progress (Dec 14)

Our staff is back to cruising on Goldenseal Pro. Productivity really went up once desks, equipment, wiring and amenities were all settled in at the new office.

These days, we are reinventing the wheel for the third time. Our staff built the original Goldenseal interface in the late 1990s and early 2000s. After that, we worked on improvements to the accounting and estimating code. From 2016 until Sept 2019, we tried rewriting the entire interface using the Cocoa framework: a necessity to run on 64-bit Macs. Then we started over, and repeated with MFC for Windows, until the pandemic hit. After neither of those frameworks worked out, we started over yet again with QT (cross-platform) this summer.

All that previous work wasn’t completely wasted. TCS_FOR_COCOA marks the places where our code connects with the Cocoa version. We are going through all 258 of them one by one, and writing a QT branch to do the same thing. It saves a lot of thinking and testing.

So far, QT seems pretty decent. However, it does have its oddities. For example, we will need to use four different QT classes to replace our current text fields. Cocoa and MFC only needed one, as did the original Goldenseal.

QDateEdit is pretty neat, because it pops up a calendar to enter dates. A bit nicer than just typing in text. QTimeEdit provides a similar pop-up tool for times (which we don’t use very often). For regular text, there’s QLineEdit for single-line fields, and QTextEdit for multi-lines. Splitting them is a minor nuisance, but QTextEdit does show scroll bars if multi-line text gets too big. To do that in the original Goldenseal would have required too much extra code.

The real test will be breakdown tables. We wasted almost a year on them in Cocoa, and still never got them working right. MFC was even worse. There’s other stuff to do first, but I think we’ll be able to move on to tables within a month or two.

QT just released a major update. Up until now, QT has been a weird mix of a commercial version, and one that is free and open-source. The bad news is that QT 6.0 won’t have a free option. The good news is that they dropped the license fee to something much more reasonable for small developers like us.

This may be a good thing in the long run. We wrote the original Goldenseal using a paid app (CodeWarrior). It cost something like $300 a year, but the software was a joy to use. Their support was great. These days most desktop programming happens with either Xcode (free from Apple) or Visual Studio (free from Microsoft). They and their frameworks have been a constant struggle.

Paid-but-great definitely beats out free-but-mediocre, especially when you’re using it for hundreds or thousands of hours.

Dennis Kolva
Programming Director

Author: Dennis Kolva

Programming Director for Turtle Creek Software. Design & planning of accounting and estimating software.