Releases: alketola/harbour-ostos
Ostos the shopping list, first version released
This is a shopping list application for SailfishOS and Jolla smartphone.
There are out some other shopping list apps, but still I felt I'd like to write one.
Even though there is a built in help. I'll do a brief presentation.
These are the most used pages, First page, Add (Search to buy) page, and Item Edit page:
On the first page, the first three items are have a switch ON, marking that the item is to be bought
The fourth item has been marked as bought, by tapping the switch (to off).
The fifth item is flagged, you'll find use to it.
Whenever one changes the switch states on items by tapping, the list will then re-arrage itself so that the switch ON are first, then come Flagged and finally switch OFF items. The latest modified sit on the top.
You can add new items and search those in history (items that are in OFF, Flagged or Hidden state).
You can enter search page, then go to edit page and accept by swiping left or other forward navigation.
You can select a shop for each item. The items can be filtered by the shop. There are 2 special shop names: * and ?.
- * will show all items regardless of the shop assignment
- ? is the default shop, the value each item will have if you don't set it. It can be also be used to designate items that you can buy anywhere, or you don't really care about the shop thing for the item. :-)
In this version (v1.01)
- The logs have been mostly been eliminated by commenting out.
- In the few earlier versions, I attempted to intenationalize the ? default shop as qsTr( "unassigned").
It became a mess and the proper place for the translation didn't come clear. Sometimes it worked in
view delegate, sometimes not, while putting it to model or database would cause trouble and structural problems.
Cleaned it up so that "?" is the default shop name in all languages. Even that required a dirty trick, bypassing input escaping in the special case of "?" as unknown shop name. - I wrote the help files in English, Finnish, Spanish and even German. - You can help in translation.
- There are additional Google translations available via internet access. The web help page is at application's support page, which currently is:
http://mobilitio.com/app-support/ostos/help/ostoshelp.html
I wrote this because I can
During the last years I have spent a lot of time in domestic work and buying groceries.
This is also a show of the fact that I can and have updated my skills once again, continuous learning has never stopped.
I used to work as a senior software engineer and project manager, and I loved my work. I want back to business!
Ostos the shopping list application for SailfishOS version v1.00
There is a little but annoying issue with this, please use v1.01 coming up very soon.
Ostos the shopping list alpha release
There are quite many improvements in the looks, features and behaviour:
- I wrote a couple of internationalized help files. They're now available in en, fi, es, de. If someone get upset from my translations, please help me to improve, by all means.
- The app will show in all orientations
- Layout and other UI improvements
- The icon was improved, and is available in all required sizes.
- Cover page shows now the list contents. No cover actions are available, I could't invent any useful one so far.
- A 'toast' shows up over the shopping list when there is an update going on.
- In the settings there is a delay setting; it determines the delay when the shopping list will become unresponsive after last tipping on a switch. At zero, the database update starts ASAP, while 2000 ms gives 2 secs between switch tips, so you can
pass the whole visible list before database and especially screen update steals the focus for a couple of seconds. - This version is quite ready to be released to Harbour. I still need to have a practical use round before releasing.
Ostos the shopping list beta release (second amendment)
Ostos the shopping list got a Help, cover page, better performance and better looks!
Note: uninstallation is not proper yet, the associated sqlite3 database and its tables remain. You can delete them from command line anyway.
Ostos the shopping list beta release (first amendment)
This the Ostos app for Jolla running SailfishOS: The unlike shopping list app. ;-)
Changes to previous: The navigation is now smoother.
Lessor learned:
I have come to believe that the right way to do things when page has changed is to use onStatusChange: signal handler. Each Page has a property called status, and slightly confusingly, can have four values:
PageStatus.Inactive, PageStatus.Activating, PageStatus.Active and PageStatus.Deactivating.
PageStatus.Inactive and PageStatus.Active seem to be final states in which the System does not do anything heavy such as transition. In contraryPageStatus.Activating and PageStatus.Deactivating are transitional states where system is doing something heavy such as transition effects
On a Page, in the onStatusChange: signal handler the status change can be checked, to which status the page has changhed to. In my experience it is not wise to to put anything elaborate in signal handler when a transition is running (status == PageStatus.Activating or status == PageStatus.Deactivating). It's ok to do something after the transition has finished i.e. (status == PageStatus.Active or status == PageStatus.Inactive). Well, doing a database refresh in onStatusChange: { if (status == PageStatus.Active) {.......}}, is visible.
I would like to have instructions on usage of PageStatus to be included in documentation. I have spent long hours to learn this basic thing.
Description of the software (repeated from last release):
As a dad of three, I found myself quite often doing shopping, buying groceries. I had long used a mobile to hold and write shopping lists. It's not very handy compared to paper.
There were a number of problems using 'Notepad':
Writing all text on a mobile phone is awkward.
Marking what you have collected is dummy by writing an X to the start of the line
One has to select the right text document from a number of documents
It's no way helpful, no organisation what so ever
So I came up with an app idea.
Ostos opens with the shopping list directly (FirstPage.qml)
You tap on the left side toggle to items BUY (light on) / GOT (light off) status. If you do not see immediately on the item on the list you want to set to BUY or GOT status, you can forward to the next page to search.
On the search page (ItemAddPage.qml) you see items that you have not yet put to BUY state. It's possible to scroll or filter them by typing to the Search field. You can tap any of them Item names listed below to select, and pass forward (Accept) to next page to edit. On the edit page you can modify the item as you wish and Accept. The item will be added to the shopping list.
Each shopping list item has a context menu with six icon buttons.
X = Hide item from the list (it will remain available for Search)
[Flag] = Just put a flag instead of the standard highlighted lamp
[keyboard] = Edit the item
[up arrow] = increase quantity (it simply adds to quantity if it is a number)
[down arrow] = increase quantity (it simply adds to quantity if it is a number)
[trascan] = delete the item completely, so it's not available in Search. It is deleted from (sqlite3) local persistent storage
My personal beta criterion is that I dare to show my work to the world. Ostos, the SailfishOS shopping list has now reached the point. It is quite useful, has its main features, but still has some things to improve. The performance could be snappier, it's just not very clever to read/read all the information frequently from the local storage (sqlite3) database.
The development has been about learning. The number of changes I have made during the process shows that it hasn't been straightforward. Sailfish Silica is not that intuitive and well documented.
Ostos the shopping list beta release
May I present you the Ostos app for SailfishOS: The unlike shopping list app.
As a dad of three, I found myself quite often doing shopping, buying groceries. I had long used a mobile to hold and write shopping lists. It's not very handy compared to paper.
There were a number of problems using 'Notepad':
- Writing all text on a mobile phone is awkward.
- Marking what you have collected is dummy by writing an X to the start of the line
- One has to select the right text document from a number of documents
- It's no way helpful, no organisation what so ever
So I came up with an app idea.
Ostos opens with the shopping list directly (FirstPage.qml)
You tap on the left side toggle to items BUY (light on) / GOT (light off) status. If you do not see immediately on the item on the list you want to set to BUY or GOT status, you can forward to the next page to search.
On the search page (ItemAddPage.qml) you see items that you have not yet put to BUY state. It's possible to scroll or filter them by typing to the Search field. You can tap any of them Item names listed below to select, and pass forward (Accept) to next page to edit. On the edit page you can modify the item as you wish and Accept. The item will be added to the shopping list.
Each shopping list item has a context menu with six icon buttons.
- X = Hide item from the list (it will remain available for Search)
- [Flag] = Just put a flag instead of the standard highlighted lamp
- [keyboard] = Edit the item
- [up arrow] = increase quantity (it simply adds to quantity if it is a number)
- [down arrow] = increase quantity (it simply adds to quantity if it is a number)
- [trascan] = delete the item completely, so it's not available in Search. It is deleted from (sqlite3) local persistent storage
My personal beta criterion is that I dare to show my work to the world. Ostos, the SailfishOS shopping list has now reached the point. It is quite useful, has its main features, but still has some things to improve. The performance could be snappier, it's just not very clever to read/read all the information frequently from the local storage (sqlite3) database.
The development has been about learning. The number of changes I have made during the process shows that it hasn't been straightforward. Sailfish Silica is not that intuitive and well documented.