Browse Source

Merge pull request #1602 from yann300/ui_macos

Mix - Logs Panel UI improvement
cl-refactor
Arkadiy Paronyan 10 years ago
parent
commit
34d6a39a23
  1. 8
      mix/qml/LogsPane.qml
  2. 71
      mix/qml/StatusPane.qml

8
mix/qml/LogsPane.qml

@ -6,7 +6,9 @@ import org.ethereum.qml.SortFilterProxyModel 1.0
Rectangle Rectangle
{ {
property variant currentStatus; property variant currentStatus
property int contentXPos: logStyle.generic.layout.dateWidth + logStyle.generic.layout.typeWidth - 70
function clear() function clear()
{ {
logsModel.clear(); logsModel.clear();
@ -117,6 +119,10 @@ Rectangle
return cl; return cl;
} }
Component.onCompleted:
{
logsPane.contentXPos = logContent.x
}
MouseArea MouseArea
{ {

71
mix/qml/StatusPane.qml

@ -187,25 +187,32 @@ Rectangle {
else else
width = undefined width = undefined
} }
}
Button Button
{ {
anchors.fill: parent anchors.fill: parent
id: toolTip id: toolTip
action: toolTipInfo action: toolTipInfo
text: "" text: ""
z: 3; z: 3;
style: style:
ButtonStyle { ButtonStyle {
background:Rectangle { background:Rectangle {
color: "transparent" color: "transparent"
}
} }
MouseArea { }
anchors.fill: parent MouseArea {
onClicked: { anchors.fill: parent
onClicked: {
var globalCoord = goToLineBtn.mapToItem(statusContainer, 0, 0);
if (mouseX > globalCoord.x
&& mouseX < globalCoord.x + goToLineBtn.width
&& mouseY > globalCoord.y
&& mouseY < globalCoord.y + goToLineBtn.height)
goToCompilationError.trigger(goToLineBtn);
else
logsContainer.toggle(); logsContainer.toggle();
}
} }
} }
} }
@ -240,13 +247,13 @@ Rectangle {
background: Rectangle { background: Rectangle {
color: "transparent" color: "transparent"
Image { Image {
source: "qrc:/qml/img/warningicon.png" source: "qrc:/qml/img/warningicon.png"
height: 30 height: 30
width: 30 width: 30
sourceSize.width: 30 sourceSize.width: 30
sourceSize.height: 30 sourceSize.height: 30
anchors.centerIn: parent anchors.centerIn: parent
} }
} }
} }
@ -297,14 +304,17 @@ Rectangle {
{ {
if (logsContainer.state === "opened") if (logsContainer.state === "opened")
{ {
statusContainer.visible = true
logsContainer.state = "closed" logsContainer.state = "closed"
} }
else else
{ {
statusContainer.visible = false
logsContainer.state = "opened"; logsContainer.state = "opened";
logsContainer.focus = true; logsContainer.focus = true;
forceActiveFocus(); forceActiveFocus();
calCoord(); calCoord()
move()
} }
} }
@ -317,20 +327,29 @@ Rectangle {
function calCoord() function calCoord()
{ {
if (!logsContainer.parent.parent)
return
var top = logsContainer; var top = logsContainer;
while (top.parent) while (top.parent)
top = top.parent top = top.parent
var coordinates = logsContainer.mapToItem(top, 0, 0); var coordinates = logsContainer.mapToItem(top, 0, 0);
logsContainer.parent = top; logsContainer.parent = top;
logsShadow.parent = top; logsShadow.parent = top;
logsContainer.x = status.x + statusContainer.x - logStyle.generic.layout.dateWidth - logStyle.generic.layout.typeWidth + 70 top.onWidthChanged.connect(move)
logsShadow.x = status.x + statusContainer.x - logStyle.generic.layout.dateWidth - logStyle.generic.layout.typeWidth + 70; top.onHeightChanged.connect(move)
}
function move()
{
var statusGlobalCoord = status.mapToItem(null, 0, 0);
logsContainer.x = statusGlobalCoord.x - logPane.contentXPos
logsShadow.x = statusGlobalCoord.x - logPane.contentXPos
logsShadow.z = 1 logsShadow.z = 1
logsContainer.z = 2 logsContainer.z = 2
if (Qt.platform.os === "osx") if (Qt.platform.os === "osx")
{ {
logsContainer.y = statusContainer.y; logsContainer.y = statusGlobalCoord.y;
logsShadow.y = statusContainer.y; logsShadow.y = statusGlobalCoord.y;
} }
} }
@ -341,6 +360,10 @@ Rectangle {
LogsPane LogsPane
{ {
id: logPane; id: logPane;
onContentXPosChanged:
{
parent.move();
}
} }
states: [ states: [

Loading…
Cancel
Save