settings.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. "use strict";
  2. // Global modules
  3. const Lang = imports.lang;
  4. const Signals = imports.signals;
  5. // Internal modules
  6. const ExtensionUtils = imports.misc.extensionUtils;
  7. const Me = ExtensionUtils.getCurrentExtension();
  8. const Convenience = Me.imports.convenience;
  9. // Schema keys
  10. var SETTING_BEHAVIOR_MODE = "behavior-mode";
  11. var SETTING_FOCUS_HIDDEN = "focus-hidden";
  12. var SETTING_INITIAL_ZOOM = "initial-zoom";
  13. var SETTING_INITIAL_LEFT_CROP = "initial-left-crop";
  14. var SETTING_INITIAL_RIGHT_CROP = "initial-right-crop";
  15. var SETTING_INITIAL_TOP_CROP = "initial-top-crop";
  16. var SETTING_INITIAL_BOTTOM_CROP = "initial-bottom-crop";
  17. var SETTING_INITIAL_CORNER = "initial-corner";
  18. var SETTING_LAST_WINDOW_HASH = "last-window-hash";
  19. var WindowCornerSettings = new Lang.Class({
  20. Name: "WindowCornerPreview.settings",
  21. _init: function() {
  22. this._settings = Convenience.getSettings();
  23. this._settings.connect("changed", Lang.bind(this, this._onChanged));
  24. },
  25. _onChanged: function(settings, key) {
  26. // "my-property-name" => myPropertyName
  27. const property = key.replace(/-[a-z]/g, function (az) {
  28. return az.substr(1).toUpperCase();
  29. });
  30. this.emit("changed", property);
  31. },
  32. get focusHidden() {
  33. return this._settings.get_boolean(SETTING_FOCUS_HIDDEN);
  34. },
  35. set focusHidden(value) {
  36. this._settings.set_boolean(SETTING_FOCUS_HIDDEN, value);
  37. },
  38. get initialZoom() {
  39. return this._settings.get_double(SETTING_INITIAL_ZOOM);
  40. },
  41. set initialZoom(value) {
  42. this._settings.set_double(SETTING_INITIAL_ZOOM, value);
  43. },
  44. get initialLeftCrop() {
  45. return this._settings.get_double(SETTING_INITIAL_LEFT_CROP);
  46. },
  47. set initialLeftCrop(value) {
  48. this._settings.set_double(SETTING_INITIAL_LEFT_CROP, value);
  49. },
  50. get initialRightCrop() {
  51. return this._settings.get_double(SETTING_INITIAL_RIGHT_CROP);
  52. },
  53. set initialRightCrop(value) {
  54. this._settings.set_double(SETTING_INITIAL_RIGHT_CROP, value);
  55. },
  56. get initialTopCrop() {
  57. return this._settings.get_double(SETTING_INITIAL_TOP_CROP);
  58. },
  59. set initialTopCrop(value) {
  60. this._settings.set_double(SETTING_INITIAL_TOP_CROP, value);
  61. },
  62. get initialBottomCrop() {
  63. return this._settings.get_double(SETTING_INITIAL_BOTTOM_CROP);
  64. },
  65. set initialBottomCrop(value) {
  66. this._settings.set_double(SETTING_INITIAL_BOTTOM_CROP, value);
  67. },
  68. get initialCorner() {
  69. return this._settings.get_enum(SETTING_INITIAL_CORNER);
  70. },
  71. set initialCorner(value) {
  72. this._settings.set_enum(SETTING_INITIAL_CORNER, value);
  73. },
  74. get behaviorMode() {
  75. return this._settings.get_string(SETTING_BEHAVIOR_MODE);
  76. },
  77. set behaviorMode(value) {
  78. this._settings.set_string(SETTING_BEHAVIOR_MODE, value);
  79. },
  80. get lastWindowHash() {
  81. return this._settings.get_string(SETTING_LAST_WINDOW_HASH);
  82. },
  83. set lastWindowHash(value) {
  84. this._settings.set_string(SETTING_LAST_WINDOW_HASH, value);
  85. }
  86. });
  87. Signals.addSignalMethods(WindowCornerSettings.prototype);