From 5984ef2bb6a7d4af1a075f13a86fb66fa1312417 Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Wed, 4 Mar 2015 16:33:12 -0300 Subject: [PATCH 1/9] Start the no top bar branch --- cmd/mist/assets/qml/main.qml | 172 ++++++++++++++++++++++++++++++++++- 1 file changed, 168 insertions(+), 4 deletions(-) diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index a909916b7e..9ca690a466 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -13,9 +13,10 @@ import "../ext/http.js" as Http ApplicationWindow { id: root - //flags: Qt.FramelessWindowHint + flags: Qt.FramelessWindowHint // Use this to make the window frameless. But then you'll need to do move and resize by hand + property var ethx : Eth.ethx property var catalog; @@ -23,6 +24,10 @@ ApplicationWindow { height: 820 minimumHeight: 600 minimumWidth: 800 + x: 50 + y: 50 + + // You can use (Screen.desktopAvailableHeight - height)/2 but that would keep title: "Mist" @@ -262,6 +267,9 @@ ApplicationWindow { id: mainSplit anchors.fill: parent + anchors.margins: 2 + // radius: 3 + //resizing: false // this is NOT where we remove that damning resizing handle.. handleDelegate: Item { //This handle is a way to remove the line between the split views @@ -307,6 +315,7 @@ ApplicationWindow { id: menu Layout.minimumWidth: 192 Layout.maximumWidth: 192 + anchors.top: parent.top FontLoader { id: sourceSansPro @@ -332,8 +341,10 @@ ApplicationWindow { source: "fonts/Simple-Line-Icons.ttf" } + + Rectangle { - color: "steelblue" + id: sideMenuInteractions anchors.fill: parent MouseArea { @@ -357,7 +368,6 @@ ApplicationWindow { - anchors.top: parent.top Rectangle { width: parent.height height: parent.width @@ -679,7 +689,63 @@ ApplicationWindow { anchors.right: parent.right spacing: 3 + RowLayout { + id: semaphorButtons + anchors { + top: parent.top + left: parent.left + right: parent.right + leftMargin: 8 + } + height: 16 + spacing: 6 + + Rectangle { + color: 'red' + width: 14 + height: 14 + radius: 7 + MouseArea { + anchors.fill: parent + onClicked: { + console.log("quit"); + Qt.quit(); + } + } + } + + Rectangle { + color: 'yellow' + width: 14 + height: 14 + radius: 7 + MouseArea { + anchors.fill: parent + onClicked: { + console.log("quit"); + Qt.quit(); + } + } + } + + Rectangle { + color: 'green' + width: 14 + height: 14 + radius: 7 + MouseArea { + anchors.fill: parent + onClicked: { + console.log("quit"); + Qt.quit(); + } + } + } + + } + + ColumnLayout { id: menuBegin @@ -843,7 +909,105 @@ ApplicationWindow { return view; } } - } + + /************************/ + /* */ + /* Resizeable Borders */ + /* */ + /************************/ + + + MouseArea { + id: rightResizableBar + anchors { + top: parent.top + bottom: parent.bottom + right: parent.right + } + width: 5 + cursorShape: Qt.SizeHorCursor; + + property real lastMouseX: 0 + onPressed: { + lastMouseX = mouseX + } + onPositionChanged: { + if (!(root.width + mouseX - lastMouseX < root.minimumWidth)) { + root.width += (mouseX - lastMouseX) + } + } + } + + MouseArea { + id: leftResizableBar + anchors { + top: parent.top + bottom: parent.bottom + left: parent.left + } + width: 5 + cursorShape: Qt.SizeHorCursor; + + property real lastMouseX: 0 + property real lastRight: root.x + root.width + onPressed: { + lastMouseX = mouseX + lastRight = root.x + root.width + } + onPositionChanged: { + if (!(root.width - mouseX + lastMouseX < root.minimumWidth)) { + //root.x += (mouseX - lastMouseX) + root.width -= (mouseX - lastMouseX) + root.x = lastRight - root.width + } + } + } + + MouseArea { + id: bottomResizableBar + anchors { + bottom: parent.bottom + right: parent.right + left: parent.left + } + height: 5 + cursorShape: Qt.SizeVerCursor; + + property real lastMouseY: 0 + onPressed: { + lastMouseY = mouseY + } + onPositionChanged: { + if (!(root.height + mouseY - lastMouseY < root.minimumHeight)) { + root.height += (mouseY - lastMouseY) + } + } + } + + MouseArea { + id: topResizableBar + anchors { + top: parent.top + right: parent.right + left: parent.left + } + height: 5 + cursorShape: Qt.SizeVerCursor; + + property real lastMouseY: 0 + property real lastTop: root.y + root.height + onPressed: { + lastMouseY = mouseY + lastTop = root.y + root.height + } + onPositionChanged: { + if (!(root.height - mouseY + lastMouseY < root.minimumHeight)) { + root.height -= (mouseY - lastMouseY) + root.y = lastTop - root.height + } + } + } + } } From df4dc6026b0e41d813f402d4b6bcd1b56c693f7d Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Wed, 4 Mar 2015 18:41:49 -0300 Subject: [PATCH 2/9] creating the semafor buttons and the resizable borders --- cmd/mist/assets/qml/main.qml | 247 ++++++++++++++++++----------------- 1 file changed, 130 insertions(+), 117 deletions(-) diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index 9ca690a466..18174e4c71 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -13,9 +13,10 @@ import "../ext/http.js" as Http ApplicationWindow { id: root - flags: Qt.FramelessWindowHint + flags: Qt.FramelessWindowHint | Qt.Window + //flags: Qt.Window | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint // Use this to make the window frameless. But then you'll need to do move and resize by hand - + color: "transparent" property var ethx : Eth.ethx property var catalog; @@ -262,13 +263,118 @@ ApplicationWindow { id: blockModel } + Rectangle { + id: windowChrome + color: "#EBE8E8" + anchors.fill: parent + radius: 3 + + /************************/ + /* */ + /* Resizeable Borders */ + /* */ + /************************/ + + MouseArea { + id: rightResizableBar + anchors { + top: parent.top + bottom: parent.bottom + right: parent.right + } + width: 5 + cursorShape: Qt.SizeHorCursor; + + property real lastMouseX: 0 + onPressed: { + lastMouseX = mouseX + } + onPositionChanged: { + if (!(root.width + mouseX - lastMouseX < root.minimumWidth)) { + root.width += (mouseX - lastMouseX) + } + } + } + + MouseArea { + id: leftResizableBar + anchors { + top: parent.top + bottom: parent.bottom + left: parent.left + } + width: 5 + cursorShape: Qt.SizeHorCursor; + + property real lastMouseX: 0 + property real lastRight: root.x + root.width + onPressed: { + lastMouseX = mouseX + lastRight = root.x + root.width + } + onPositionChanged: { + if (!(root.width - mouseX + lastMouseX < root.minimumWidth)) { + //root.x += (mouseX - lastMouseX) + root.width -= (mouseX - lastMouseX) + root.x = lastRight - root.width + } + } + } + + MouseArea { + id: bottomResizableBar + anchors { + bottom: parent.bottom + right: parent.right + left: parent.left + } + height: 5 + cursorShape: Qt.SizeVerCursor; + + property real lastMouseY: 0 + onPressed: { + lastMouseY = mouseY + } + onPositionChanged: { + if (!(root.height + mouseY - lastMouseY < root.minimumHeight)) { + root.height += (mouseY - lastMouseY) + } + } + } + + MouseArea { + id: topResizableBar + anchors { + top: parent.top + right: parent.right + left: parent.left + } + height: 5 + cursorShape: Qt.SizeVerCursor; + + property real lastMouseY: 0 + property real lastTop: root.y + root.height + onPressed: { + lastMouseY = mouseY + lastTop = root.y + root.height + } + onPositionChanged: { + if (!(root.height - mouseY + lastMouseY < root.minimumHeight)) { + root.height -= (mouseY - lastMouseY) + root.y = lastTop - root.height + } + } + } + } + SplitView { property var views: []; id: mainSplit - anchors.fill: parent + anchors.fill: windowChrome anchors.margins: 2 - // radius: 3 + //color: "brown" + //radius: 5 //resizing: false // this is NOT where we remove that damning resizing handle.. handleDelegate: Item { @@ -689,56 +795,61 @@ ApplicationWindow { anchors.right: parent.right spacing: 3 + + + + /************************/ + /* Semafor Buttons */ + /************************/ + RowLayout { - id: semaphorButtons + id: semaforButtons anchors { top: parent.top left: parent.left right: parent.right leftMargin: 8 + bottomMargin: 8 } - height: 16 - + height: 37 spacing: 6 Rectangle { color: 'red' - width: 14 - height: 14 + width: 11 + height: 11 radius: 7 MouseArea { anchors.fill: parent onClicked: { - console.log("quit"); - Qt.quit(); + console.log("stop"); + //gui.stop(); } } } Rectangle { color: 'yellow' - width: 14 - height: 14 + width: 11 + height: 11 radius: 7 MouseArea { anchors.fill: parent onClicked: { - console.log("quit"); - Qt.quit(); + console.log("minimize window"); } } } Rectangle { color: 'green' - width: 14 - height: 14 + width: 11 + height: 11 radius: 7 MouseArea { anchors.fill: parent onClicked: { - console.log("quit"); - Qt.quit(); + console.log("maximize window"); } } } @@ -909,104 +1020,6 @@ ApplicationWindow { return view; } } - - /************************/ - /* */ - /* Resizeable Borders */ - /* */ - /************************/ - - - MouseArea { - id: rightResizableBar - anchors { - top: parent.top - bottom: parent.bottom - right: parent.right - } - width: 5 - cursorShape: Qt.SizeHorCursor; - - property real lastMouseX: 0 - onPressed: { - lastMouseX = mouseX - } - onPositionChanged: { - if (!(root.width + mouseX - lastMouseX < root.minimumWidth)) { - root.width += (mouseX - lastMouseX) - } - } - } - - MouseArea { - id: leftResizableBar - anchors { - top: parent.top - bottom: parent.bottom - left: parent.left - } - width: 5 - cursorShape: Qt.SizeHorCursor; - - property real lastMouseX: 0 - property real lastRight: root.x + root.width - onPressed: { - lastMouseX = mouseX - lastRight = root.x + root.width - } - onPositionChanged: { - if (!(root.width - mouseX + lastMouseX < root.minimumWidth)) { - //root.x += (mouseX - lastMouseX) - root.width -= (mouseX - lastMouseX) - root.x = lastRight - root.width - } - } - } - - MouseArea { - id: bottomResizableBar - anchors { - bottom: parent.bottom - right: parent.right - left: parent.left - } - height: 5 - cursorShape: Qt.SizeVerCursor; - - property real lastMouseY: 0 - onPressed: { - lastMouseY = mouseY - } - onPositionChanged: { - if (!(root.height + mouseY - lastMouseY < root.minimumHeight)) { - root.height += (mouseY - lastMouseY) - } - } - } - - MouseArea { - id: topResizableBar - anchors { - top: parent.top - right: parent.right - left: parent.left - } - height: 5 - cursorShape: Qt.SizeVerCursor; - - property real lastMouseY: 0 - property real lastTop: root.y + root.height - onPressed: { - lastMouseY = mouseY - lastTop = root.y + root.height - } - onPositionChanged: { - if (!(root.height - mouseY + lastMouseY < root.minimumHeight)) { - root.height -= (mouseY - lastMouseY) - root.y = lastTop - root.height - } - } - } } } From a4663a3f5b712d37848f3b008faf775e1691db95 Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Thu, 5 Mar 2015 16:37:29 -0300 Subject: [PATCH 3/9] added images for buttons --- cmd/mist/assets/qml/main.qml | 103 +++++++++++------- .../window-control/window-close-hover.png | Bin 0 -> 434 bytes .../window-control/window-close-hover@2x.png | Bin 0 -> 877 bytes .../assets/window-control/window-close.png | Bin 0 -> 448 bytes .../assets/window-control/window-close@2x.png | Bin 0 -> 894 bytes .../window-control/window-minimize-hover.png | Bin 0 -> 368 bytes .../window-minimize-hover@2x.png | Bin 0 -> 699 bytes .../assets/window-control/window-minimize.png | Bin 0 -> 378 bytes .../window-control/window-minimize@2x.png | Bin 0 -> 706 bytes .../window-control/window-zoom-hover.png | Bin 0 -> 357 bytes .../window-control/window-zoom-hover@2x.png | Bin 0 -> 712 bytes .../assets/window-control/window-zoom.png | Bin 0 -> 368 bytes .../assets/window-control/window-zoom@2x.png | Bin 0 -> 720 bytes 13 files changed, 64 insertions(+), 39 deletions(-) create mode 100644 cmd/mist/assets/window-control/window-close-hover.png create mode 100644 cmd/mist/assets/window-control/window-close-hover@2x.png create mode 100644 cmd/mist/assets/window-control/window-close.png create mode 100644 cmd/mist/assets/window-control/window-close@2x.png create mode 100644 cmd/mist/assets/window-control/window-minimize-hover.png create mode 100644 cmd/mist/assets/window-control/window-minimize-hover@2x.png create mode 100644 cmd/mist/assets/window-control/window-minimize.png create mode 100644 cmd/mist/assets/window-control/window-minimize@2x.png create mode 100644 cmd/mist/assets/window-control/window-zoom-hover.png create mode 100644 cmd/mist/assets/window-control/window-zoom-hover@2x.png create mode 100644 cmd/mist/assets/window-control/window-zoom.png create mode 100644 cmd/mist/assets/window-control/window-zoom@2x.png diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index 18174e4c71..8042e90a3e 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -14,7 +14,7 @@ ApplicationWindow { id: root flags: Qt.FramelessWindowHint | Qt.Window - //flags: Qt.Window | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint + //flags: Qt.Window | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowCloseButtonHint | Qt.WindowMinimizeButtonHint // Use this to make the window frameless. But then you'll need to do move and resize by hand color: "transparent" @@ -794,9 +794,6 @@ ApplicationWindow { anchors.left: parent.left anchors.right: parent.right spacing: 3 - - - /************************/ /* Semafor Buttons */ @@ -810,49 +807,77 @@ ApplicationWindow { right: parent.right leftMargin: 8 bottomMargin: 8 + topMargin: 0 } + height: 37 spacing: 6 - + Rectangle { - color: 'red' - width: 11 - height: 11 - radius: 7 - MouseArea { - anchors.fill: parent - onClicked: { - console.log("stop"); - //gui.stop(); + color: "transparent" + anchors.fill: parent + } + + Rectangle { + color: 'transparent' + width: 13 + height: 20 + + Image { + height: 13 + width: 13 + source: toolbarCloseButton.containsMouse ? "../window-control/window-close.png" : "../window-control/window-close-hover.png" + anchors.centerIn: parent + + MouseArea { + id: toolbarCloseButton + anchors.fill: parent + hoverEnabled: true + onClicked: Qt.quit() //gui.stop(); } - } + } + } + Rectangle { + color: 'transparent' + width: 13 + height: 20 + + Image { + height: 13 + width: 13 + source: toolbarminimizeButton.containsMouse ? "../window-control/window-minimize.png" : "../window-control/window-minimize-hover.png" + anchors.centerIn: parent + + MouseArea { + id: toolbarminimizeButton + anchors.fill: parent + hoverEnabled: true + onClicked: Qt.quit() //gui.stop(); + } + } + } + + Rectangle { + color: 'transparent' + width: 13 + height: 20 + + Image { + height: 13 + width: 13 + source: toolbarzoomButton.containsMouse ? "../window-control/window-zoom.png" : "../window-control/window-zoom-hover.png" + anchors.centerIn: parent + + MouseArea { + id: toolbarzoomButton + anchors.fill: parent + hoverEnabled: true + onClicked: Qt.quit() //gui.stop(); + } + } } - Rectangle { - color: 'yellow' - width: 11 - height: 11 - radius: 7 - MouseArea { - anchors.fill: parent - onClicked: { - console.log("minimize window"); - } - } - } - Rectangle { - color: 'green' - width: 11 - height: 11 - radius: 7 - MouseArea { - anchors.fill: parent - onClicked: { - console.log("maximize window"); - } - } - } } diff --git a/cmd/mist/assets/window-control/window-close-hover.png b/cmd/mist/assets/window-control/window-close-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a0455b040a0f0bc65cda0f3137d2c8595cb5a6 GIT binary patch literal 434 zcmV;j0ZsmiP)Px$Y)M2xR45glQe95MKp6bGl-+_A8W4zxCPt6I0n``c4U8x82%f}v1K-qppfM5D zpa?~Z^k>_;v$DnqAB^*|Upw>d?l-d*{lMe>!?Bd{nT+F3mZglbLS}P5ux)<2vAuO+ zq!x-^uO}RfUB*$g=T<#S2#4$|CJNNmSLV9AvokPTUrdeVKu(-A3RPx&CrLy>R7efImRoMqKoo|LXA(O}NzMcum{8r zDkL6&2T)K`QPHTVxtd&TXKdzoG}gqi(-w&yDe~={|MO(d#Rgqqr$E<#uWHI8HN#9 zx%^j$g2&Bf(@_u{mq49%d*5-qPp&&F%P1;tZc(wcMT~JhX64-X1=+&^*`onb5Rhr+ z`j(Y_RBJSjm2(8bO0pv80Kzz@>a7}?R!;d{>gYN%I{)1vUx*OqaigYI#*_m7E(O`C z?OquI9lRJ~@uJXzrqT~V*m&#-{w}P9XBPXQoUU?2EHt16O=u%N1R=Yy@z|62-zC$U z@LOk|ObXqg0WD}k8_(EDyZsC)jO@b3>jpsY?3etVrozTD0nR%oG`5F&Xs88EXrmSx z3I7E=kiyB?WzgJn6Jdai`rRdfx_}lmVJLWpipK@&ByO_msj^e2Ox9e1>5$Dzl{Si{ zczC1mYDYnqWkAlmyW4VP(0( zjp!DW8?9eQ4^mF#o-q&4(7VA8g7_f-=)y@BhakHa33B^Fn9>A;5od2hkZkqn!n&d2Rh`5)egQ-3FIG0{ zo$H~Y7RCn*gE8#h$KSqpQNhJhnM&pDr2tj&Np%88?8B(nrIM^AG*e|mS;+RVFT1$a z+rM{rJIp#vMhq>?6SR8W07!$t4=G%}xw8a;2DG3FZTLm==x6K4=h<}f0B?m>|F0cf z%;$6_dmm;}E?@Yv*Szx(ps0>8elZ#00LS>s;CzuGMnRwjO%)TZ2sf@}lq>SJe4Hp4 zj{p60ONZecgAp?etsY%iHDUb&61BM7XuOZd>eqh(SfTy;BLB4M00000NkvXXu0mjf DgU6dE literal 0 HcmV?d00001 diff --git a/cmd/mist/assets/window-control/window-close.png b/cmd/mist/assets/window-control/window-close.png new file mode 100644 index 0000000000000000000000000000000000000000..39ecae905c0990685e912e4d057f6c719b31204f GIT binary patch literal 448 zcmV;x0YCnUP)Px$dPzhjx!RHx3n-#Y>I*?g8YE$CHjNtOZtSqB>ID(z@i?4 z9(pJXQ$xrLsF_waIu~b}edAbDk2rU6|ap!eE!WJNh^bURy_OvYrS zO6f6c+xA8{IthTx3sBuU2rLJ%;T#2t_7Xns9^{ zNhNBUM>*BA_&iZq7B7=XYUg@irq86*QrGS0000Px&I7vi7R7efImfcR&KorMMXO^}LE+1ml1wj_w=mi+WsCXga!VurVXHcI-eFon_ zjTfjFN=%F*5O9%2N!V!QYggE|yKSBSm}$DD-31dl$)@e>Isad0=A1dzsD*8;u1>q2 z|Il^ao32~Wc&^um5XM=J^Hha%KFgW*sBd`qMKdWa>CcU|^?Q!B|JZTtlSw||aa}jI zbhG_I-_XF*@VL4^04fv;hC$kU+p3QEzOQMFQM$c@(&-LL={kv7$XGEusyhx_!}C~f+n=_CtEKT?;?efUD)`r0r2+q4840ZlL#xWe4$q_ zpVPP1ui;Rs1x;w978$wTeRv>+aqfQ2EWW7p{X@P%l2pb3Tm)idxwF~(UOtgy5g%p?gC)&zs8vrAR{VPMOP z^U|#u1P)3QjG&I<0O2vrtnb`lFofr`{r$mns~fRrtOh5XUCj)8qGke!%E)G^uQb6B zMVzVtfCDngq8mSXXPQoAI_Y<%EYm*;rZmA2AU+EKPT@Fk01G>-3|vE_;%hZvQ-(zjy_pppMXf(HYUS;2515 zoLd=U6a-q(R58JfFmNobT#=9E<3z!5{qLV!VHobw7}2wueL$iX2XeV*(b(|w9~Jid U-kf4GI{*Lx07*qoM6N<$f?hDEH~;_u literal 0 HcmV?d00001 diff --git a/cmd/mist/assets/window-control/window-minimize-hover.png b/cmd/mist/assets/window-control/window-minimize-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..97a7a4cb0b2dd035325e867e955626ee97db5b24 GIT binary patch literal 368 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 Date: Thu, 5 Mar 2015 17:00:33 -0300 Subject: [PATCH 4/9] fixed position of buttons --- cmd/mist/assets/qml/main.qml | 66 +++++++++++++++++------------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index 8042e90a3e..b723de2c0d 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -787,41 +787,26 @@ ApplicationWindow { return comp } - ColumnLayout { - id: menuColumn - y: 10 - width: parent.width - anchors.left: parent.left - anchors.right: parent.right - spacing: 3 + /************************/ + /* Semafor Buttons */ + /************************/ - /************************/ - /* Semafor Buttons */ - /************************/ + Rectangle { + id: semaforButtons + color: "transparent" + height: 32 + + anchors { + top: parent.top + left: parent.left + right: parent.right + } - RowLayout { - id: semaforButtons - anchors { - top: parent.top - left: parent.left - right: parent.right - leftMargin: 8 - bottomMargin: 8 - topMargin: 0 - } - - height: 37 - spacing: 6 - - Rectangle { - color: "transparent" - anchors.fill: parent - } - - Rectangle { + Rectangle { color: 'transparent' width: 13 height: 20 + x: 3 Image { height: 13 @@ -841,6 +826,7 @@ ApplicationWindow { color: 'transparent' width: 13 height: 20 + x: 21 Image { height: 13 @@ -861,7 +847,8 @@ ApplicationWindow { color: 'transparent' width: 13 height: 20 - + x: 40 + Image { height: 13 width: 13 @@ -876,12 +863,21 @@ ApplicationWindow { } } } - - - - } + + } + + ColumnLayout { + id: menuColumn + y: 10 + width: parent.width + anchors.left: parent.left + anchors.right: parent.right + spacing: 3 + Rectangle { + height: 18.4 + } ColumnLayout { id: menuBegin From 56dbe20540af324c82df5e8b785297c434f9072a Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Thu, 5 Mar 2015 18:35:00 -0300 Subject: [PATCH 5/9] added bottom right resizable handle --- cmd/mist/assets/qml/main.qml | 81 ++++++++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 4 deletions(-) diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index 0410827e83..58ccbfd25a 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -13,7 +13,7 @@ import "../ext/http.js" as Http ApplicationWindow { id: root - flags: Qt.FramelessWindowHint | Qt.Window + flags: Qt.FramelessWindowHint //flags: Qt.Window | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowCloseButtonHint | Qt.WindowMinimizeButtonHint // Use this to make the window frameless. But then you'll need to do move and resize by hand color: "transparent" @@ -372,6 +372,70 @@ ApplicationWindow { } } } + + MouseArea { + id: bottomRightResizableHandle + anchors { + bottom: parent.bottom + right: parent.right + } + width: 5 + height: 5 + cursorShape: Qt.SizeFDiagCursor; + + property real lastMouseX: 0 + property real lastMouseY: 0 + onPressed: { + lastMouseX = mouseX + lastMouseY = mouseY + } + onPositionChanged: { + if (!(root.width + mouseX - lastMouseX < root.minimumWidth)) { + root.width += (mouseX - lastMouseX) + } + + if (!(root.height + mouseY - lastMouseY < root.minimumHeight)) { + root.height += (mouseY - lastMouseY) + } + } + } + + // Commenting this out because it's causing too many crashes + // MouseArea { + // id: bottomLeftResizableHandle + // anchors { + // bottom: parent.bottom + // left: parent.left + // } + // width: 5 + // height: 5 + // cursorShape: Qt.SizeBDiagCursor; + + // Rectangle { + // anchors.fill: parent + // color: "red" + // } + + // property real lastMouseX: 0 + // property real lastMouseY: 0 + // property real lastRight: root.x + root.width + + // onPressed: { + // lastMouseX = mouseX + // lastMouseY = mouseY + // lastRight = root.x + root.width + // } + // onPositionChanged: { + // if (!(root.width + mouseX - lastMouseX < root.minimumWidth)) { + // root.width += (mouseX - lastMouseX) + // } + + // if (!(root.height - mouseY + lastMouseY < root.minimumHeight)) { + // root.height -= (mouseY - lastMouseY) + // root.y = lastTop - root.height + // } + // } + // } } SplitView { @@ -847,7 +911,12 @@ ApplicationWindow { id: toolbarminimizeButton anchors.fill: parent hoverEnabled: true - onClicked: Qt.quit() //gui.stop(); + onClicked: { + console.log("Minimize"); + // Neither works.. + //root.visibility = QWindow.minimized; + // root.showMinimized(); + } } } } @@ -868,8 +937,12 @@ ApplicationWindow { id: toolbarzoomButton anchors.fill: parent hoverEnabled: true - onClicked: Qt.quit() //gui.stop(); - } + onClicked: { + console.log("Maximize"); + // Neither works.. + //root.visibility = QWindow.maximized; + //root.showMaximized(); + } } } } From 93575c8dcede5a43b08bed015826201941f18dc7 Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Thu, 5 Mar 2015 18:42:20 -0300 Subject: [PATCH 6/9] Added a thin invisible top handle for moving the window around --- cmd/mist/assets/qml/main.qml | 80 ++++++++------------------- cmd/mist/assets/qml/views/catalog.qml | 2 + 2 files changed, 26 insertions(+), 56 deletions(-) diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index 58ccbfd25a..db617c704d 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -321,7 +321,6 @@ ApplicationWindow { } onPositionChanged: { if (!(root.width - mouseX + lastMouseX < root.minimumWidth)) { - //root.x += (mouseX - lastMouseX) root.width -= (mouseX - lastMouseX) root.x = lastRight - root.width } @@ -518,8 +517,6 @@ ApplicationWindow { source: "fonts/Simple-Line-Icons.ttf" } - - Rectangle { id: sideMenuInteractions anchors.fill: parent @@ -536,15 +533,9 @@ ApplicationWindow { root.x += (mouseX - lastMouseX) root.y += (mouseY - lastMouseY) } - /*onDoubleClicked: { - //!maximized ? view.set_max() : view.set_normal()} - visibility = "Minimized" - }*/ } } - - Rectangle { width: parent.height height: parent.width @@ -1068,54 +1059,31 @@ ApplicationWindow { anchors.top: parent.top color: "#00000000" - /*Rectangle { - id: urlPane - height: 40 - color: "#00000000" - anchors { - left: parent.left - right: parent.right - leftMargin: 5 - rightMargin: 5 - top: parent.top - topMargin: 5 - } - TextField { - id: url - objectName: "url" - placeholderText: "DApp URL" - anchors { - left: parent.left - right: parent.right - top: parent.top - topMargin: 5 - rightMargin: 5 - leftMargin: 5 - } + Rectangle { + id: topMovingHandle + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: 37 + color: "transparent" + z: 100 - Keys.onReturnPressed: { - if(/^https?/.test(this.text)) { - newBrowserTab(this.text); - } else { - addPlugin(this.text, {close: true, section: "apps"}) - } - } - } - - } - - // Border - Rectangle { - id: divider - anchors { - left: parent.left - right: parent.right - top: urlPane.bottom - } - z: -1 - height: 1 - color: "#CCCCCC" - }*/ + MouseArea { + anchors.fill: parent + property real lastMouseX: 0 + property real lastMouseY: 0 + onPressed: { + lastMouseX = mouseX + lastMouseY = mouseY + } + onPositionChanged: { + root.x += (mouseX - lastMouseX) + root.y += (mouseY - lastMouseY) + } + } + } Rectangle { id: mainView diff --git a/cmd/mist/assets/qml/views/catalog.qml b/cmd/mist/assets/qml/views/catalog.qml index 29e1330742..f0f8d4a2a1 100644 --- a/cmd/mist/assets/qml/views/catalog.qml +++ b/cmd/mist/assets/qml/views/catalog.qml @@ -70,6 +70,8 @@ Rectangle { anchors.fill: parent state: "inspectorShown" + + WebEngineView { objectName: "webView" id: webview From 4486608a26e7b1f1b881c4de3bd4d55ed0d2c3d7 Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Fri, 6 Mar 2015 15:54:12 -0300 Subject: [PATCH 7/9] added slight gradient on top bar --- cmd/mist/assets/qml/main.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index db617c704d..4b05bef1d4 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -1067,7 +1067,6 @@ ApplicationWindow { right: parent.right } height: 37 - color: "transparent" z: 100 MouseArea { @@ -1083,6 +1082,11 @@ ApplicationWindow { root.y += (mouseY - lastMouseY) } } + + gradient: Gradient { + GradientStop { position: 0.0; color: "#FFFFFFFF" } + GradientStop { position: 1.0; color: "#00FFFFFF" } + } } Rectangle { From 03953d6bd13b86dcea77b6179f84bf5f9853fd81 Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Mon, 9 Mar 2015 19:27:49 -0300 Subject: [PATCH 8/9] Top bar integrated with on hover opacity effect --- cmd/mist/assets/qml/main.qml | 379 ++++++++++-------- .../assets/window-control/window-close.png | Bin 448 -> 479 bytes .../assets/window-control/window-close@2x.png | Bin 894 -> 920 bytes .../assets/window-control/window-minimize.png | Bin 378 -> 0 bytes .../window-control/window-minimize@2x.png | Bin 706 -> 748 bytes .../assets/window-control/window-zoom.png | Bin 368 -> 406 bytes .../assets/window-control/window-zoom@2x.png | Bin 720 -> 775 bytes 7 files changed, 204 insertions(+), 175 deletions(-) delete mode 100644 cmd/mist/assets/window-control/window-minimize.png diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index 4b05bef1d4..4255cdb6ee 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -270,12 +270,22 @@ ApplicationWindow { id: blockModel } + + + + Rectangle { id: windowChrome color: "#EBE8E8" anchors.fill: parent radius: 3 + + + + + + /************************/ /* */ /* Resizeable Borders */ @@ -348,30 +358,6 @@ ApplicationWindow { } } - MouseArea { - id: topResizableBar - anchors { - top: parent.top - right: parent.right - left: parent.left - } - height: 5 - cursorShape: Qt.SizeVerCursor; - - property real lastMouseY: 0 - property real lastTop: root.y + root.height - onPressed: { - lastMouseY = mouseY - lastTop = root.y + root.height - } - onPositionChanged: { - if (!(root.height - mouseY + lastMouseY < root.minimumHeight)) { - root.height -= (mouseY - lastMouseY) - root.y = lastTop - root.height - } - } - } - MouseArea { id: bottomRightResizableHandle anchors { @@ -397,52 +383,211 @@ ApplicationWindow { root.height += (mouseY - lastMouseY) } } + } + } + + Rectangle { + id: topBar + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: 18.4 + z: 100 + color: "transparent" + + MouseArea { + id: menuMouseArea + anchors.fill: parent + property real lastMouseX: 0 + property real lastMouseY: 0 + hoverEnabled: true + onPressed: { + lastMouseX = mouseX + lastMouseY = mouseY + } + onPositionChanged: { + if (menuMouseArea.pressed){ + root.x += (mouseX - lastMouseX) + root.y += (mouseY - lastMouseY) + } + + } + onEntered: { + topBar.state = "hovered" + } + onExited: { + topBar.state = "normal" + } } - // Commenting this out because it's causing too many crashes - // MouseArea { - // id: bottomLeftResizableHandle - // anchors { - // bottom: parent.bottom - // left: parent.left - // } - // width: 5 - // height: 5 - // cursorShape: Qt.SizeBDiagCursor; + // gradient: Gradient { + // GradientStop { position: 0.0; color: "#FFFFFFFF" } + // GradientStop { position: 1.0; color: "#00FFFFFF" } + // } - // Rectangle { - // anchors.fill: parent - // color: "red" - // } + - // property real lastMouseX: 0 - // property real lastMouseY: 0 - // property real lastRight: root.x + root.width + Rectangle { + anchors { + top: parent.top + right: parent.right + bottom: parent.bottom + left: parent.left + leftMargin: 194 + } + radius: 3 + gradient: Gradient { + GradientStop { position: 0.0; color: "#FFFFFFFF" } + GradientStop { position: 1.0; color: "#00FFFFFF" } + } + } - // onPressed: { - // lastMouseX = mouseX - // lastMouseY = mouseY - // lastRight = root.x + root.width - // } - // onPositionChanged: { - // if (!(root.width + mouseX - lastMouseX < root.minimumWidth)) { - // root.width += (mouseX - lastMouseX) - // } + Rectangle { + id: topbarBackground + anchors.fill: parent + opacity: 0.0 + radius: 3 + color: "#AAA0A0" + } + - // if (!(root.height - mouseY + lastMouseY < root.minimumHeight)) { - // root.height -= (mouseY - lastMouseY) - // root.y = lastTop - root.height - // } - // } - // } + states: [ + State { + name: "normal" + when: menuMouseArea.hovered + PropertyChanges { + target: topbarBackground + opacity: 0 + } + }, + State { + name: "hovered" + when: menuMouseArea.hovered + PropertyChanges { + target: topbarBackground + opacity: 1 + } + }] + + + transitions: Transition { + NumberAnimation { + properties: "opacity" + duration: 250 + easing.type: Easing.InOutQuad + } + } + + /************************/ + /* Semafor Buttons */ + /************************/ + + Rectangle { + id: semaforButtons + color: "transparent" + height: 32 + + anchors { + top: parent.top + left: parent.left + right: parent.right + } + + Rectangle { + color: 'transparent' + width: 13 + height: 20 + x: 3 + + Image { + height: 13 + width: 13 + source: toolbarCloseButton.containsMouse ? "../window-control/window-close.png" : "../window-control/window-close-hover.png" + anchors.centerIn: parent + + MouseArea { + id: toolbarCloseButton + anchors.fill: parent + hoverEnabled: true + onClicked: Qt.quit() //gui.stop(); + + onEntered: { + topBar.state = "hovered" + } + } + } + } + Rectangle { + color: 'transparent' + width: 13 + height: 20 + x: 21 + + Image { + height: 13 + width: 13 + source: toolbarminimizeButton.containsMouse ? "../window-control/window-minimize.png" : "../window-control/window-minimize-hover.png" + anchors.centerIn: parent + + MouseArea { + id: toolbarminimizeButton + anchors.fill: parent + hoverEnabled: true + onClicked: { + console.log("Minimize"); + // Neither works.. + //root.visibility = QWindow.minimized; + // root.showMinimized(); + } + onEntered: { + topBar.state = "hovered" + console.log(topBar.state ) + } + } + } + } + + Rectangle { + color: 'transparent' + width: 13 + height: 20 + x: 40 + + Image { + height: 13 + width: 13 + source: toolbarzoomButton.containsMouse ? "../window-control/window-zoom.png" : "../window-control/window-zoom-hover.png" + anchors.centerIn: parent + + MouseArea { + id: toolbarzoomButton + anchors.fill: parent + hoverEnabled: true + onClicked: { + console.log("Maximize"); + // Neither works.. + //root.visibility = QWindow.maximized; + //root.showMaximized(); + } + onEntered: { + topBar.state = "hovered" + } + } + } + } + } } + SplitView { property var views: []; id: mainSplit anchors.fill: windowChrome anchors.margins: 2 + z: 50 //color: "brown" //radius: 5 @@ -484,6 +629,8 @@ ApplicationWindow { return {view: view, menuItem: menuItem} } + + /********************* * Main menu. ********************/ @@ -851,94 +998,6 @@ ApplicationWindow { return comp } - /************************/ - /* Semafor Buttons */ - /************************/ - - Rectangle { - id: semaforButtons - color: "transparent" - height: 32 - - anchors { - top: parent.top - left: parent.left - right: parent.right - } - - Rectangle { - color: 'transparent' - width: 13 - height: 20 - x: 3 - - Image { - height: 13 - width: 13 - source: toolbarCloseButton.containsMouse ? "../window-control/window-close.png" : "../window-control/window-close-hover.png" - anchors.centerIn: parent - - MouseArea { - id: toolbarCloseButton - anchors.fill: parent - hoverEnabled: true - onClicked: Qt.quit() //gui.stop(); - } - } - } - Rectangle { - color: 'transparent' - width: 13 - height: 20 - x: 21 - - Image { - height: 13 - width: 13 - source: toolbarminimizeButton.containsMouse ? "../window-control/window-minimize.png" : "../window-control/window-minimize-hover.png" - anchors.centerIn: parent - - MouseArea { - id: toolbarminimizeButton - anchors.fill: parent - hoverEnabled: true - onClicked: { - console.log("Minimize"); - // Neither works.. - //root.visibility = QWindow.minimized; - // root.showMinimized(); - } - } - } - } - - Rectangle { - color: 'transparent' - width: 13 - height: 20 - x: 40 - - Image { - height: 13 - width: 13 - source: toolbarzoomButton.containsMouse ? "../window-control/window-zoom.png" : "../window-control/window-zoom-hover.png" - anchors.centerIn: parent - - MouseArea { - id: toolbarzoomButton - anchors.fill: parent - hoverEnabled: true - onClicked: { - console.log("Maximize"); - // Neither works.. - //root.visibility = QWindow.maximized; - //root.showMaximized(); - } } - } - } - - - } ColumnLayout { id: menuColumn @@ -1059,36 +1118,6 @@ ApplicationWindow { anchors.top: parent.top color: "#00000000" - Rectangle { - id: topMovingHandle - anchors { - top: parent.top - left: parent.left - right: parent.right - } - height: 37 - z: 100 - - MouseArea { - anchors.fill: parent - property real lastMouseX: 0 - property real lastMouseY: 0 - onPressed: { - lastMouseX = mouseX - lastMouseY = mouseY - } - onPositionChanged: { - root.x += (mouseX - lastMouseX) - root.y += (mouseY - lastMouseY) - } - } - - gradient: Gradient { - GradientStop { position: 0.0; color: "#FFFFFFFF" } - GradientStop { position: 1.0; color: "#00FFFFFF" } - } - } - Rectangle { id: mainView color: "#00000000" @@ -1102,7 +1131,7 @@ ApplicationWindow { return view; } - } + } } } diff --git a/cmd/mist/assets/window-control/window-close.png b/cmd/mist/assets/window-control/window-close.png index 39ecae905c0990685e912e4d057f6c719b31204f..fe7f4b9d734a9e667d6a4e1a2bf2f167add11863 100644 GIT binary patch delta 440 zcmV;p0Z0D81K$IXF@Kp!L_t(26`fMsN&-<7T{GxR4~}UU3A3bzE)+!+1rbF_7y5(f z2mFOTp)ZNP!03WS5kWx@Wn!ZCp!v`}$1EMu&KjDiw`jrPoU_;3GkdRnB>ceH;qgkr zcwH|R3IWrs$WEtHbGh9)x7N5eJ~OpxOC=s6k%+1}m93}8hkseUw_j>%Zh=eFP&5pP z7}Ci^UBnLJneB?~Ie@ ii=f{66A#2+-`*$v+t%2`EDfvx0000Q=`m~D_C`2536DqO5B{vfp@o-L1Mb(S$vJgXppph!?;sXW2!9bc zlZefF)$xt_cSY)fO5%i4ArDRaU|7pEQ7#qGX+N_H2uFC4nx-CjghF9lWKU49R&bs@ zhV3{AMJ8C9aDRjsNhNBUM>*BA_&iZq7B7=XYUg@iW1#3zt^cn00000NkvXXu0mjf D3i!Yh diff --git a/cmd/mist/assets/window-control/window-close@2x.png b/cmd/mist/assets/window-control/window-close@2x.png index 49bd12a0ebe2233666bbe405a7917ab53a5ad9fe..042342d2ee67203ea13f7d840903006e12c8d48a 100644 GIT binary patch delta 884 zcmV-)1B?9r2ABtsF@I7?L_t(Y4ZW6IPt-sZ$IlkKEvwuGxfnG-kOwqe6xkpIqalU| z0R+?sE`r>3>28H}f5oX~Z-9xOr0L9b&i~ixoHM6B z*~JF>`#XPzt()QSk8_boB*%_MbX;`5VH<|A9ta$KaUfvcYJX{M?a3tNOZV{2^U$@$ zZwt3qR+b9W&GC-s=NB#&9WK7nbUt|3JFePEpziK&BjC$=wJ<+d7mLMwx~|KSvI;3J zuaHAIxngFUj<2<0$@xn%7igL$m4DSWQgyOcblvauNow16R3^tpWolwvwzjq;ub^PLq@<*=AsGCuCc7Y3 zl4aYoKuj}R&IDT}zhF;aO=-!>@{+s`^^0X~IIvA!FH$#}^H>&_o*%2SjwS@qg?|;^&G)EaA#z1cleoKnqQ@ zd8WPW>$^+{6J2b)*8qf`^~ykBZ(7)=cmO6jv z#>&c%9&?B2msTWyZg&EW*q@%pDNL8ME0eJ&Y9&BaL}m(o%i7k2p>fm$_`bfDmXo;g z?Uy>8J;jIcPX|-^1w*5rK$x4EP68dmTB)r&?Sg2ij8By(JdecpftRVP zZxFxVV92r2p+T7#9~BB>=hZ7kPSjBuDO%JMj(V>FNC#n_VVcs|+_D3L23lyM%{&K0 z`E8{#QnaWi8yjJs{gvU123lyU((dLF<(JAx(dvKlIB8{jp|TQuRpCQZ`MDLAf&Ws< z6?s2DCqx@*vG1P~1>^qDf496a+7w1=R;C|FaqOh z-@#{4pGAEJ-$9KRs2561j3N+lkwr<^Xyj{G*tWZEo&T6=x~1I(6FJGI?d&=KUuWi= zIn}6zZLF?NyPp5hb={k;ThDl|*M<yd3nf9n}cz^gsGbt_U&yBV9dycjL z*m3NWNj~9mT{pILv;9He(7@C1xVk?8DijKaLE3xUs*d=+uW5`?y1j$a=?+TiI*D1x zSTQ@QI}TN=dsN-uBj58#(=^{O)AKg@*Yo+jtsuBIfJ(*UkZspKIF8jLqA1hZO_{E4 zVvL7l4%~a5OMjK!9jcUfh_!}C~f`2Bo@h4j^7Vjd3kzLsMumSM) z^$fjxGm{7_u6&_aFQ3!5)vw`DsRd1FqZS#t-hFr=h2yeItboX-ax4sxg}ILn0QCSZ zXu?qN3>A+D)JfC~u>=#hr^GUJ9)N`*qhr_T{P2Znc%TV}0M#?_KrzNy9IUXk7|bLI z64nHRseiLeRs3OK%Zu~Utr-LkN)wErj^Y5}G0d#*++Z+-=d=C&!E>t{v1hCXC!Af) z411zx0*K1UW~r|Lj}H5`QLAU(IacQ)4|r3+)4j#wbtkwWZ}v zRB)!Nhq`)t!>pj<Hq)$ diff --git a/cmd/mist/assets/window-control/window-minimize.png b/cmd/mist/assets/window-control/window-minimize.png deleted file mode 100644 index ff68c8da9372e4258e0b1dc679f8b4ef795971b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmV-=0fqjFP)Px$G)Y83R45glQqe90K@^>t9W$#b8qyMq2%oSYfEST?>O&*G#3%R?5f7du-tZH= zY#U06RETM&E2ln>Od=1H6~_^Ife_-=3MMA ztSlX6REmY~`_iTCOhwUpajHb6bO|35L=P2-qLB37gG5Mq*$LjZJkJ}ZMfZ*7xiMyA zx;#r9hi4al$2ivH^|?cA>x;#;)lG^gh5g=PWxh&(E66HQ*nMm#ZlSnGTYlr#9WN|T zOqR0z$oTmYkZ{m%F$|3v@&G*WIaI>X!0E~H$l9G+JrxIh+Pu2fGnF|<L_t(Y4ZW7jZqq;%hR4%5aYEB3g{DorL4be-8}3A*3xtGF z#EJzQo&k6k;2GGkV1*)tgjkd)+}W@I1c*&9q>!WyI8L0#@J%(Yq4eTnI8x-9c;@?O z>^bMRAvTG}mCCuE?Oe0%?ZJYuc{c6(8Qd5g*^b6a9W)3}>^ATrPLyaG~%? z5B7!F$$;z5A!1ocajZ}jne3LHnr4Y+qb{CTE5dQwN^IFQ^Ll4ekK%D@k>Z)Np+(@Z zFy^vQSTHqT3Gw22Cp<28l1!%b{m@tD!hi)6HV`Gm>3`zI^G?D(u0O2=1}vDcmC)1a z>GK?6P8Tmes#rNhrhrW@%C6JB0-Phf+35PQa_DxGM#{PCKJhM!0N-6$L0DlA47?)7?cYS&;|6=roe zxU$vZ;eT3=4uZ>^&s3CY_a1-=!Hz zP|;x$7^6HfHFXcu!cQpmQ3WiRuyJ2?>TpI(3qPUM|82m41rs(rC4~LrjF=XF(r(+^ z)?zLUSTMD<`+0=@;*6M9<>7;E?Tno;R~sKpy+C5$Vfo{~Sh-dX^KnA%krtspPP7=; tfBv}@6r+tX;#nJgK$453$?tQ6{U6}Dg-fe~;e-GH002ovPDHLkV1hM*Yi9re delta 669 zcmV;O0%HB_1;Pc8F@JnXL_t(Y4ZW7nZqq;zhsV2)?W776gg~hj)KugK9FP!ifH-jC zz=dZ3o&|UYE*v;fe;j;Cb8qS@#kobp|mBz?HuA=XXpFvznQTk zN7&BR)=iV74~;Q5jES3xNou$#t!7%gBdztOR?effjg41_p?{o%{@mFf+>55;$59lX zJ!nk%z32H~y`b@6ZN2@p{NA?r3H5qC-xud~IGtQh)6{X4l6qrB>h%?IJx{V#`fF+&tzWGJhdv#)2pJC zF8l0jCy9~K_kUd({n!;rQ}MjuoA1}IwK|<`JGc;HB{h={5m8#px$`aY{J@U;r)LyS z<;&-xB*x@oGwrnO%9JIrT~_2mtG%!Y943Y@6NLrS@^c{$o-<*)Sc!J$=U@jd^28Sg zESRwI&xN>M96V>T=yv^W5-?!Fgq;fw`u$s6VQv=(Uw@Usf(e^gRAQ3*z`4Rl-L6F@ z0ShKZz$+r24slYoStc5pP~1d-V656K6AjnqE*tSy?8WnEwz<&r_MN-Mc*{hih@;}) zV`{i$VG}1Fxl5^E+gG01vf3~)G_oLeM|4P#Rhwm^kqPNd1jxcwn`NS*M5`ycP?qY+ z!c`e8%6|t&VN~r-=OsmpdP1tN%3#5SP4&%h9hH%yMLi+a|F6M-1rs*Bq8@$heRw;a zjIWU5N%hNSa1+P!X*kGhQc!QayV$*S6`>-ID8E!jiWUQxSs6Z71Qtw0uwq4YPNbA0 zgq_I8$y{pwd+eWEWii?mMrzh!ACSZ%Ve+SMxfcHu;5v8-2CKR800000NkvXXu0mjf D3(QbB diff --git a/cmd/mist/assets/window-control/window-zoom.png b/cmd/mist/assets/window-control/window-zoom.png index fe30855db659ed073704a540d7281e4670a7a235..63250608469893dbaee8ca6bf01b2b25b1e94726 100644 GIT binary patch delta 366 zcmV-!0g?Xj0+s`iF@I1=L_t(26^)Y3O2a@9$0uvj^pI4o-Ygz0h`3#D~2(`ls0Mn<#3H<6pv9`0_7vs3xgFi=uli4*1) z7XKt1A07UrN~9BqgICnRm69j?(g}w+9K51vY8b@e;B~r0(OB|I{p+pm9kDE1;C0#> zc4>%$3B<+*$!9gX?|TBTm;-Gc#Ngl+gJTZuR_ot9;&AZMaIeoVD$J?B?eQ)ogmaRV zXZ_`*s`f-pk9YS6#^@uX^|H0O zl+w2<2>MC|hf8a#$79rE6UTAb@#MMAvdzhrLQMq1jDNJqvQ&J3Bt;O0SA*nz zCyJs`>GW{hyRg=7&CD$b-&f;+)tcugl+D35jl0m^S2ip3Vu*1RsZ%#x{3%kqUhEM(C>oallNQE1AxpL+nJ3j)x%)|z@ a{d+&f0J~xunW*>x0000E z+xNXk6KmLmT<&D#@av~HbG z@8{2b{ z#bWWE{P}koG{J0BwIF&q*|G-yx1;9l0JH@ZxV2r z7-N|zSYRrANyNc(CTtfg35CL{e^q(?+Eu~V%@_*?Sbt!Gjjtr)c5(2WNx$3mD?%{9 z0uyXW^k{neBv+W*#ld@JE0@R+U=xda(`=pxoGZN6?doR|V1bDd@H!DsgE;Zp63KB1 z35QNvp+zuyZIPj22?>W!sbo}gZG+9yIfs6)$0LCED|O^k9D`d0Wubf UI%BnwrvLx|07*qoM6N<$f?>06MgRZ+ delta 683 zcmV;c0#yBn2G9kNF@K6lL_t(Y4ZW7ZZqq;zhR3^(?W78{2!T>5sHw;eI3QKL0ph@k z0~ekFcoyIpxNzXa0r3VE5(nTG)Ko-j1VT`Vn#7LR#-Gs|LrF@&?MT+H?b+|&_3q5r zkt1wxXXm;}()-4kYsSRQ#3VI_D6M8%yCbdjwpPxA_07!}i+@ngyq9~sgFDf5{4k2b zGxL1P&ppro>;;W`>l^LI<>$74NT}EA`Mx+W!|CKwnx>AUl++t5Qm?Ow>v@u`A|IQr zPU0w%$>cyL;{!>PL>$LS{hTz?XT0ShMVTxihm-+$l;bGq30stguP*uGv&U16Sq?B9b6Ztu@VzkHpyHysWPb6WaW-a=GBo+yi-^Z5kzXKFqfh{X< R6^#G@002ovPDHLkV1h4dRz&~+ From 961dc92a155963a2eae225a42fe25cfaf66df5c1 Mon Sep 17 00:00:00 2001 From: Alexandre Van de Sande Date: Mon, 9 Mar 2015 19:28:11 -0300 Subject: [PATCH 9/9] image left behind --- .../assets/window-control/window-minimize.png | Bin 0 -> 407 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 cmd/mist/assets/window-control/window-minimize.png diff --git a/cmd/mist/assets/window-control/window-minimize.png b/cmd/mist/assets/window-control/window-minimize.png new file mode 100644 index 0000000000000000000000000000000000000000..d09056579f89fd52ad407ac577d9dfa0bd15c4f6 GIT binary patch literal 407 zcmV;I0cie-P)Px$QAtEWR45gVQp-xiKoq?*=FvqGwYsX+g#{6pf`W*}1|JBnT!{Ds`2|10FA;I! zN+Ld}QV~JHrAV>eC|zmQB#S0ftaE~ux-jHGn8`ioBy;Z>Mm@NzTyJ^)=WgJ6c_AXM zs@j)fSud8^zcW*u-|tEpHm>XHrm7t`-(D9B6O$}EG)#tRQsDa}YgDT~c4Y1HpAUTtz|mXek%X~002ovPDHLkV1n@G BtmFUy literal 0 HcmV?d00001