-
App
-- as main application instance. It provides lots of useful properties, liketablet
-- to check if it is tablet mode,settings
for persistent settings storage, values for work with pixel density on different screens etc. -
For application structure and navigation:
Navigation
-- as a native look and feel navigation control. Respectively:NavigationItem
-- as a base type for items insideNavigation
.NavigationStack
-- as a stack ofPages
with navigation.Page
-- container for the contents of a single page, designed to be used together with components likeNavigation
orNavigationStack
to provide a native-looking UI and user experience.
-
As Native-looking controls:
AppCheckBox
-- widely used as native component "check box".AppListView
-- as a native-looking view with scroll indicator.AppText
-- a styled text control.AppButton
-- native-looking button.AppSlider
-- native-looking slider with one handle.Dialog
-- dialog with custom content and one or two buttons.
-
For data manipulations:
JsonListModel
-- very easy to use proxy view model for JSON data sources.SortFilterProxyModel
-- sort and/or filter proxy model to apply filter and/or sorting settings to QML ListModel items.Storage
-- for persistent and offline storage for arbitrary key-value pair data. In future it could be changed forWebStorage
.
Constants
-- to ease usage of components. We created one component that holds all constants, that could be used application wide.DaysPicker
-- visual component that has days checkboxes on a grid.IconPicker
-- as component for choosing icon from available inIconType
icons. unfortunatelyIconType
have no possibility to use and store human names for icons. That's whyIconTypeHelper
was created.WarningPaper
-- asAppPaper
override for any in-place message boxes. Appearance and dissappearance of this box is animated.Secrets.qml
-- file didn't presented in repository and excluded from.gitignore
. SeeSecrets.qml_template
for reference. This file intended to be secret and available only on build-machine. One just can put Felgolicense
string here,gameId
andgameSecret
.
GHDeleteButton
-- button with trashcan on it.GHPaper
--AppPaper
override for ease of use inside the application. Component has predefined radius and could react to clicks.GHScrollView
-- simpleScrollView
override with predefined \c padding, \c spacing and \cScrollBar
policies.GHTextInputTime
-- simpleTextInput
with predefined \c placeholderText (as"00:00"
) and with applied \c RegExp validator to filter only time in 24H format.
HabitDetailPage
-- application page for display habit details.HabitsListPage
-- application page for displaing a list of habits.ImportExportPage
-- application page where user can import and export data managed by this application.ProfilePage
-- application page that contains information about application and leads to another pages where user can Export/Import his habits, records, apply settings, etc.RecordPage
-- application page that displays details on specific record. It gives ability to view and edit record.ReportPage
-- application page that display list of user's records.SettingsPage
-- application page to access to settings. Mostly check-boxes for settings user can change.