mirror of
https://github.com/status-im/nimqml.git
synced 2025-02-23 03:48:19 +00:00
feat(@desktop/general): QSettings class exposed to nim
This commit is contained in:
parent
fb44e71c57
commit
00ee27ca52
@ -31,6 +31,7 @@ include "nimqml/private/qabstractlistmodel.nim"
|
|||||||
include "nimqml/private/qabstracttablemodel.nim"
|
include "nimqml/private/qabstracttablemodel.nim"
|
||||||
include "nimqml/private/qresource.nim"
|
include "nimqml/private/qresource.nim"
|
||||||
include "nimqml/private/qdeclarative.nim"
|
include "nimqml/private/qdeclarative.nim"
|
||||||
|
include "nimqml/private/qsettings.nim"
|
||||||
include "nimqml/private/nimqmlmacros.nim"
|
include "nimqml/private/nimqmlmacros.nim"
|
||||||
include "nimqml/private/singleinstance.nim"
|
include "nimqml/private/singleinstance.nim"
|
||||||
include "nimqml/private/status/statusevent.nim"
|
include "nimqml/private/status/statusevent.nim"
|
||||||
|
@ -34,7 +34,8 @@ type
|
|||||||
DosQAbstractListModel = distinct pointer
|
DosQAbstractListModel = distinct pointer
|
||||||
DosStatusEvent = distinct pointer
|
DosStatusEvent = distinct pointer
|
||||||
DosStatusOSNotification = DosQObject
|
DosStatusOSNotification = DosQObject
|
||||||
|
DosQSettings = DosQObject
|
||||||
|
|
||||||
DosParameterDefinition = object
|
DosParameterDefinition = object
|
||||||
name: cstring
|
name: cstring
|
||||||
metaType: cint
|
metaType: cint
|
||||||
@ -347,22 +348,6 @@ proc dos_event_create_showAppEvent(engine: DosQQmlApplicationEngine): DosStatusE
|
|||||||
proc dos_event_create_osThemeEvent(engine: DosQQmlApplicationEngine): DosStatusEvent {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_event_create_osThemeEvent(engine: DosQQmlApplicationEngine): DosStatusEvent {.cdecl, dynlib: dynLibName, importc.}
|
||||||
proc dos_event_delete(vptr: DosStatusEvent) {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_event_delete(vptr: DosStatusEvent) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
# DosStatusOSNotificationObject
|
|
||||||
proc dos_statusosnotification_create(): DosStatusOSNotificationObject
|
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
|
||||||
proc dos_statusosnotification_show_notification(vptr: DosStatusOSNotificationObject,
|
|
||||||
title: cstring, messsage: cstring, identifier: cstring)
|
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
|
||||||
proc dos_statusosnotification_delete(vptr: DosStatusOSNotificationObject)
|
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
|
||||||
|
|
||||||
proc dos_to_local_file(fileUrl: cstring): cstring
|
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
|
||||||
|
|
||||||
proc dos_from_local_file(filePath: cstring): cstring
|
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
|
||||||
=======
|
|
||||||
# DosStatusOSNotification
|
# DosStatusOSNotification
|
||||||
proc dos_osnotification_create(): DosStatusOSNotification
|
proc dos_osnotification_create(): DosStatusOSNotification
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
@ -372,5 +357,22 @@ proc dos_osnotification_show_notification(vptr: DosStatusOSNotification,
|
|||||||
proc dos_osnotification_delete(vptr: DosStatusOSNotification)
|
proc dos_osnotification_delete(vptr: DosStatusOSNotification)
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
|
||||||
|
# QSettings
|
||||||
|
proc dos_qsettings_create(fileName: cstring, format: int): DosQSettings
|
||||||
{.cdecl, dynlib: dynLibName, importc.}
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
>>>>>>> c58455f... refactor(@desktop/general): status custom events and os notification renamed type and methods
|
proc dos_qsettings_value(vptr: DosQSettings, key: cstring,
|
||||||
|
defaultValue: DosQVariant): DosQVariant
|
||||||
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
proc dos_qsettings_set_value(vptr: DosQSettings, key: cstring,
|
||||||
|
value: DosQVariant)
|
||||||
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
proc dos_qsettings_remove(vptr: DosQSettings, key: cstring)
|
||||||
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
proc dos_qsettings_delete(vptr: DosQSettings)
|
||||||
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
|
||||||
|
proc dos_to_local_file(fileUrl: cstring): cstring
|
||||||
|
{.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
|
||||||
|
proc dos_from_local_file(filePath: cstring): cstring
|
||||||
|
{.cdecl, dynlib: dynLibName, importc.}
|
@ -44,6 +44,8 @@ type
|
|||||||
QResource* = ref object of RootObj ## \
|
QResource* = ref object of RootObj ## \
|
||||||
# A QResource
|
# A QResource
|
||||||
|
|
||||||
|
QSettings* = ref object of QObject ## \
|
||||||
|
|
||||||
QtItemFlag*{.pure, size: sizeof(cint).} = enum ## \
|
QtItemFlag*{.pure, size: sizeof(cint).} = enum ## \
|
||||||
## Item flags
|
## Item flags
|
||||||
##
|
##
|
||||||
|
30
src/nimqml/private/qsettings.nim
Normal file
30
src/nimqml/private/qsettings.nim
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
type
|
||||||
|
QSettingsFormat* {.pure.} = enum
|
||||||
|
NativeFormat = 0
|
||||||
|
IniFormat
|
||||||
|
|
||||||
|
proc setup(self: QSettings, fileName: string, format: int) =
|
||||||
|
self.vptr = dos_qsettings_create(fileName, format)
|
||||||
|
|
||||||
|
proc delete*(self: QSettings) =
|
||||||
|
dos_qsettings_delete(self.vptr)
|
||||||
|
self.vptr.resetToNil
|
||||||
|
|
||||||
|
proc newQSettings*(fileName: string,
|
||||||
|
format: QSettingsFormat = QSettingsFormat.NativeFormat): QSettings =
|
||||||
|
## Available values for format are:
|
||||||
|
## 0 - QSettings::NativeFormat
|
||||||
|
## 1 - QSettings::IniFormat
|
||||||
|
## any other value will be converted to 0 (QSettings::NativeFormat)
|
||||||
|
new(result, delete)
|
||||||
|
result.setup(fileName, format.int)
|
||||||
|
|
||||||
|
proc value*(self: QSettings, key: string, defaultValue: QVariant = newQVariant()):
|
||||||
|
QVariant =
|
||||||
|
newQVariant(dos_qsettings_value(self.vptr, key, defaultValue.vptr), Ownership.Take)
|
||||||
|
|
||||||
|
proc setValue*(self: QSettings, key: string, value: QVariant) =
|
||||||
|
dos_qsettings_set_value(self.vptr, key, value.vptr)
|
||||||
|
|
||||||
|
proc remove*(self: QSettings, key: string) =
|
||||||
|
dos_qsettings_remove(self.vptr, key)
|
Loading…
x
Reference in New Issue
Block a user