Giter Club home page Giter Club logo

harbour-pocketcacher's Introduction

Pocket Cacher

My geocaching application for SailfishOS.

I have been wanting to create a phone based geocaching application for some time, as I haven't yet found one with all of the features that I'm after. I finally decided to give it a go after getting a new phone and installing SailfishOS on it, and not finding an existing application that would work with geocaching.com.

This application is still in the very early stages of development, although it is at the stage where you can load a geocaching.com pocket query and use it to navigate to a cache. It has a few bugs, which are mostly user interface issues/improvements as I only got this phone (and SailfishOS) in December and only started Qt/QML development a week ago.

I still have a lot of features that I want to implement, but I also have a full time job that keeps me busy during the week.

Despite the name, this application has not been submitted to SailfishOS' Harbour. I've prefixed the name with 'harbour-' as I am intending to submit it once it has more features and less bugs/issues.

harbour-pocketcacher's People

Contributors

malwaremuser avatar

Watchers

James Cloos avatar  avatar

harbour-pocketcacher's Issues

'Label' items are parsing <img src="..."> tags in description fields

If the cache description (or presumably any other text used in a 'Label' item) field contains HTML tags, then the 'Label' item attempts to load the file specified in the 'src' attribute!

This raises security concerns.

This is fixed by adding 'textFormat: Text.PlainText' to the 'Label's. However, some cache descriptions include '

' tags and other HTML formatting which may be good to include. Is it possible to strip local/relative image tags from the description text? Should we just strip all tags?

Can't delete logbook entries from current session from database

Adding a new logbook entry and then deleting it in the same session (that is, without restarting the app) deletes the entry from the ListModel, but not from the SQLite database.

This is because it deletes based on rowid, and the rowid is assigned by the SQLite database and hence is only populated in the ListModel when the app reads the database on startup.
Calling refresh() is going to make a mess because that will trigger the rowsInserted() signal which will cause the existing entries to be added to the database.

May need to assign our own unique id and use that instead of rowid.

Handle errors from OpenCaching servers

searchCompleted() causes an assertion error if it gets an error back from the OpenCaching server -- presumably trying to print an empty list:
[F] unknown:0 - ASSERT failure in QList::operator[]: "index out of range", file /usr/include/qt5/QtCore/qlist.h, line 539

Loaded cache count not working

Loaded cache count on FirstPage stopped working on transition from QML PocketQuery to C++ PocketQueryDataSource.

Suspect binding issue.

Cache objects mysteriously being destroyed

[D] onClicked:219 - Clicked GC49JKP
[D] onClicked:220 - 4

[D] Cache::~Cache:10 - [D] Cache destructor called for Cache(0x72796e20) : "GC49JKP"
*** Error in `/usr/bin/harbour-pocketcacher': free(): invalid pointer: 0x62697274 ***
Process killed by signal

That pointer value looks like ASCII characters actually: "birt". Could be a coincidence.

Cache description page is not scrollable

Need to figure out how to make the cache description page scrollable.

Suspect that this is because the components are filling the parent, so the size of the last component will only take it down to the bottom of the screen, rather than as tall as it needs to be to display the text.

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.