TheRoom.qml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /**
  2. * Copyright © 2010 Digia Plc
  3. * Copyright © 2010 Nokia Corporation
  4. *
  5. * All rights reserved.
  6. *
  7. * Nokia and Nokia Connecting People are registered trademarks of
  8. * Nokia Corporation.
  9. * Java and all Java-based marks are trademarks or registered
  10. * trademarks of
  11. * Sun Microsystems, Inc. Other product and company names
  12. * mentioned herein may be
  13. * trademarks or trade names of their respective owners.
  14. *
  15. *
  16. * Subject to the conditions below, you may, without charge:
  17. *
  18. * · Use, copy, modify and/or merge copies of this software and
  19. * associated documentation files (the "Software")
  20. *
  21. * · Publish, distribute, sub-licence and/or sell new software
  22. * derived from or incorporating the Software.
  23. *
  24. *
  25. * This file, unmodified, shall be included with all copies or
  26. * substantial portions
  27. * of the Software that are distributed in source code form.
  28. *
  29. * The Software cannot constitute the primary value of any new
  30. * software derived
  31. * from or incorporating the Software.
  32. *
  33. * Any person dealing with the Software shall not misrepresent
  34. * the source of the Software.
  35. *
  36. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
  37. * KIND, EXPRESS OR IMPLIED,
  38. * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  39. * MERCHANTABILITY, FITNESS FOR A
  40. * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  41. * AUTHORS OR COPYRIGHT
  42. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  43. * WHETHER IN AN ACTION
  44. * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  45. * CONNECTION WITH THE
  46. * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  47. */
  48. import Qt 4.7
  49. import "styles"
  50. import "../colibri"
  51. Rectangle {
  52. id: houseRoom
  53. property string room: "room1"
  54. property string text: "Bedroom 1"
  55. property bool doReload: true
  56. property real hudOpacity: 1
  57. property CLStyle style: StyleHomeControlSystem {}
  58. signal clicked( string theRoomCode )
  59. /**
  60. * Hides highlight element
  61. *
  62. * @return Nothing
  63. */
  64. function hideBlur() {
  65. blurArea.opacity = 0;
  66. houseRoom.doReload = true;
  67. houseRoom.hudOpacity = 1;
  68. }
  69. /**
  70. * Shows highlight element
  71. *
  72. * @return Nothing
  73. */
  74. function showBlur() {
  75. blurArea.opacity = 0.3;
  76. }
  77. /**
  78. * Hides icon HUD
  79. *
  80. * @return Nothing
  81. */
  82. function hideHUD() {
  83. houseRoom.doReload = false;
  84. houseRoom.hudOpacity = 0;
  85. }
  86. clip: true
  87. color: "transparent"
  88. Behavior on hudOpacity { PropertyAnimation { target: houseRoom; property: "hudOpacity"; duration: 300; easing.type: Easing.InOutQuad; } }
  89. Rectangle {
  90. id: blurArea
  91. opacity: 0
  92. anchors.fill: parent
  93. clip: true
  94. color: "white"
  95. Behavior on opacity { PropertyAnimation { target: blurArea; property: "opacity"; duration: 300; easing.type: Easing.InOutQuad; } }
  96. }
  97. Column {
  98. anchors.centerIn: parent;
  99. spacing: 5
  100. opacity: houseRoom.hudOpacity
  101. Text {
  102. text: houseRoom.text
  103. font.bold: true
  104. font.pixelSize: 18
  105. color: houseRoom.style.textColor
  106. anchors.horizontalCenter: parent.horizontalCenter
  107. }
  108. IconHUD { room: houseRoom.room; doReload: houseRoom.doReload; anchors.horizontalCenter: parent.horizontalCenter; }
  109. }
  110. MouseArea {
  111. anchors.fill: parent
  112. onClicked: {
  113. houseRoom.clicked(houseRoom.room);
  114. houseRoom.showBlur();
  115. }
  116. }
  117. }