File MIES_MiesUtilities_Settings.ipf

This file holds MIES utility functions for settings management.

Functions

variable GenerateSettingsDefaults()

Generate a default settings file in JSON format.

{
  "diagnostics": {
    "last upload": "2020-03-05T13:43:32Z"
  },
  "version": 1
}

Explanation:

Window coordinates are stored as


{“coordinates” : {“left” : 123, “top” : 456, “bottom” 789, “right” : 101112}}

Entries:

  • “version”: Major version number to track breaking changes

  • ”diagnostics”: Groups settings related to diagnostics and crash dump handling

  • ”diagnostics/last upload”: ISO8601 timestamp when the last successfull upload of crash dumps was tried. This is also set when no crash dumps have been uploadad.

  • ”analysisbrowser”: Groups settings related to the Analysisbrowser

  • ”analysisbrowser/directory”: The directory initially opened for browsing existing NWB/PXP files

  • ”logfiles”: Groups settings related to log files

  • ”logfiles/last upload”: ISO8601 timestamp when the last successfull upload of log files was tried. This is also set when no log files have been uploadad.

  • ”/<group>/<name>/coordinates”: window coordinates

Caller is responsible for releasing the document.

Returns:

JSONid

variable UpgradeSettings(variable JSONid)
static variable UpgradeCoordinateSavePaths(variable jsonID)

Upgrade save paths for panels/graphs.

v1:

"datasweepbrowser": {
  "coordinates": {
    "bottom": 664.25,
    "left": 427.5,
    "right": 916.5,
    "top": 292.25
  }
}

v2:

"datasweepbrowser": {
  "DataBrowser": {
    "coordinates": {
      "bottom": 981.5,
      "left": 427.5,
      "right": 1548,
      "top": 292.25
    }
  }
 }

This is done for a couple of windows.

variable ToggleUserPingSetting()
variable GetUserPingEnabled()
string GetUserPingTimestamp()
variable SetUserPingTimestamp(variable timeStamp)