Browse Source

ui improvements

cl-refactor
yann300 10 years ago
committed by yann300
parent
commit
0085e600df
  1. 6
      mix/CodeModel.cpp
  2. 2
      mix/CodeModel.h
  3. 28
      mix/qml/FilesSection.qml
  4. 19
      mix/qml/MainContent.qml
  5. 43
      mix/qml/ProjectList.qml
  6. 10
      mix/qml/Style.qml
  7. BIN
      mix/qml/fonts/SourceSansPro-Black.ttf
  8. BIN
      mix/qml/fonts/SourceSansPro-BlackIt.ttf
  9. BIN
      mix/qml/fonts/SourceSansPro-Bold.ttf
  10. BIN
      mix/qml/fonts/SourceSansPro-BoldIt.ttf
  11. BIN
      mix/qml/fonts/SourceSansPro-ExtraLight.ttf
  12. BIN
      mix/qml/fonts/SourceSansPro-ExtraLightIt.ttf
  13. BIN
      mix/qml/fonts/SourceSansPro-It.ttf
  14. BIN
      mix/qml/fonts/SourceSansPro-Light.ttf
  15. BIN
      mix/qml/fonts/SourceSansPro-LightIt.ttf
  16. BIN
      mix/qml/fonts/SourceSansPro-Regular.ttf
  17. BIN
      mix/qml/fonts/SourceSansPro-Semibold.ttf
  18. BIN
      mix/qml/fonts/SourceSansPro-SemiboldIt.ttf
  19. BIN
      mix/qml/fonts/SourceSerifPro-Bold.ttf
  20. BIN
      mix/qml/fonts/SourceSerifPro-Regular.ttf
  21. BIN
      mix/qml/fonts/SourceSerifPro-Semibold.ttf
  22. BIN
      mix/qml/img/closedtriangleindicator_filesproject.png
  23. BIN
      mix/qml/img/opentriangleindicator_filesproject.png
  24. BIN
      mix/qml/img/projecticon.png
  25. 18
      mix/res.qrc

6
mix/CodeModel.cpp

@ -172,18 +172,12 @@ void CodeModel::onCompilationComplete(CompilationResult* _newResult)
m_compiling = false;
bool contractChanged = m_result->contractInterface() != _newResult->contractInterface();
bool nameChanged = false;
if (m_result->successful())
nameChanged = !(m_result->sharedContract()->name() == _newResult->sharedContract()->name()); //@todo should manage multiple contracts.
m_result.reset(_newResult);
emit compilationComplete();
emit stateChanged();
if (m_result->successful())
{
emit codeChanged();
if (nameChanged)
emit contractNameChanged(_newResult->sharedContract()->name());
if (contractChanged)
emit contractInterfaceChanged();
}

2
mix/CodeModel.h

@ -148,8 +148,6 @@ signals:
void contractInterfaceChanged();
/// Emitted on compilation complete. Internal
void compilationCompleteInternal(CompilationResult* _newResult);
/// Emitted when the contract name has changed
void contractNameChanged(QString _newName);
private slots:
void onCompilationComplete(CompilationResult* _newResult);

28
mix/qml/FilesSection.qml

@ -20,17 +20,17 @@ ColumnLayout {
function hiddenHeightTopLevel()
{
return section.state === "hidden" ? Style.documentsList.height : Style.documentsList.height * (model.count + 1);
return section.state === "hidden" ? Style.documentsList.height : Style.documentsList.fileNameHeight * model.count + Style.documentsList.height;
}
function hiddenHeightRepeater()
{
return section.state === "hidden" ? 0 : Style.documentsList.height * wrapperItem.model.count;
return section.state === "hidden" ? 0 : Style.documentsList.fileNameHeight * wrapperItem.model.count;
}
function hiddenHeightElement()
{
return section.state === "hidden" ? 0 : Style.documentsList.height;
return section.state === "hidden" ? 0 : Style.documentsList.fileNameHeight;
}
function getDocumentIndex(documentId)
@ -48,6 +48,18 @@ ColumnLayout {
model.remove(i);
}
FontLoader
{
id: sectionTitleFont
source: "qrc:/qml/fonts/SourceSansPro-Bold.ttf"
}
FontLoader
{
id: fileNameFont
source: "qrc:/qml/fonts/SourceSansPro-Regular.ttf"
}
RowLayout
{
anchors.top: parent.top
@ -56,12 +68,14 @@ ColumnLayout {
height: Style.documentsList.height
Image {
source: "qrc:/qml/img/opentriangleindicator.png"
source: "qrc:/qml/img/opentriangleindicator_filesproject.png"
width: 15
sourceSize.width: 15
id: imgArrow
anchors.right: section.left
anchors.rightMargin: 5
anchors.top: parent.top
anchors.topMargin: 8
}
Text
@ -71,13 +85,14 @@ ColumnLayout {
anchors.left: parent.left
anchors.leftMargin: Style.general.leftMargin
color: Style.documentsList.sectionColor
font.bold: true
font.family: sectionTitleFont.name
font.pointSize: Style.documentsList.fontSize
states: [
State {
name: "hidden"
PropertyChanges { target: filesList; visible: false; }
PropertyChanges { target: rowCol; Layout.minimumHeight: Style.documentsList.height; Layout.maximumHeight: Style.documentsList.height; height: Style.documentsList.height; }
PropertyChanges { target: imgArrow; source: "qrc:/qml/img/closedtriangleindicator.png" }
PropertyChanges { target: imgArrow; source: "qrc:/qml/img/closedtriangleindicator_filesproject.png" }
}
]
}
@ -126,6 +141,7 @@ ColumnLayout {
visible: !renameMode
color: rootItem.isSelected ? Style.documentsList.selectedColor : Style.documentsList.color
text: name;
font.family: fileNameFont.name
font.pointSize: Style.documentsList.fontSize
anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter

19
mix/qml/MainContent.qml

@ -7,6 +7,7 @@ import Qt.labs.settings 1.0
import org.ethereum.qml.QEther 1.0
import "js/QEtherHelper.js" as QEtherHelper
import "js/TransactionHelper.js" as TransactionHelper
import "."
Rectangle {
@ -121,6 +122,12 @@ Rectangle {
}
}
Rectangle{
Layout.fillWidth: true
height: 1
color: "#8c8c8c"
}
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: root.height - headerView.height;
@ -136,9 +143,9 @@ Rectangle {
{
anchors.fill: parent
handleDelegate: Rectangle {
width: 4
height: 4
color: "#cccccc"
width: 1
height: 1
color: "#8c8c8c"
}
orientation: Qt.Horizontal
@ -154,9 +161,9 @@ Rectangle {
Layout.fillWidth: true
SplitView {
handleDelegate: Rectangle {
width: 4
height: 4
color: "#cccccc"
width: 1
height: 1
color: "#8c8c8c"
}
id: codeWebSplitter
anchors.fill: parent

43
mix/qml/ProjectList.qml

@ -12,19 +12,47 @@ Item {
anchors.fill: parent
id: filesCol
spacing: 0
FontLoader
{
id: srcSansProLight
source: "qrc:/qml/fonts/SourceSansPro-ExtraLight.ttf"
}
Rectangle
{
color: Style.title.background
height: Style.title.height
Layout.fillWidth: true
Image {
id: projectIcon
source: "qrc:/qml/img/projecticon.png"
sourceSize.height: 30
anchors.right: projectTitle.left
anchors.verticalCenter: parent.verticalCenter
anchors.rightMargin: 6
}
Text
{
id: projectTitle
color: Style.title.color
text: projectModel.projectTitle
anchors.verticalCenter: parent.verticalCenter
visible: !projectModel.isEmpty;
anchors.left: parent.left
anchors.leftMargin: Style.general.leftMargin
font.family: srcSansProLight.name
font.pointSize: Style.title.pointSize
}
Text
{
text: "-"
anchors.right: parent.right
anchors.rightMargin: 15
font.family: srcSansProLight.name
font.pointSize: Style.title.pointSize
anchors.verticalCenter: parent.verticalCenter
}
}
@ -70,13 +98,16 @@ Item {
Connections {
target: codeModel
onContractNameChanged: {
onCompilationComplete: {
if (modelData === "Contracts")
{
var ctr = projectModel.listModel.get(0);
ctr.name = _newName;
projectModel.listModel.set(0, ctr);
sectionModel.set(0, ctr);
if (codeModel.code.contract.name !== ctr.name)
{
ctr.name = codeModel.code.contract.name;
projectModel.listModel.set(0, ctr);
sectionModel.set(0, ctr);
}
}
}
}
@ -107,9 +138,9 @@ Item {
onDocumentAdded:
{
var newDoc = projectModel.getDocumentIndex(documentId);
var newDoc = projectModel.getDocument(documentId);
if (newDoc.groupName === modelData)
ctrModel.append(newDoc);
sectionModel.append(newDoc);
}
}
}

10
mix/qml/Style.qml

@ -6,13 +6,14 @@ import QtQuick 2.0
*/
QtObject {
property QtObject general: QtObject {
property int leftMargin: 30
property int leftMargin: 45
}
property QtObject title: QtObject {
property string color: "#808080"
property string background: "#f0f0f0"
property int height: 40
property int height: 70
property int pointSize: 15
}
property QtObject documentsList: QtObject {
@ -21,7 +22,8 @@ QtObject {
property string sectionColor: "#808080"
property string selectedColor: "white"
property string highlightColor: "#4a90e2"
property int height: 30
property int fontSize: 12
property int height: 32
property int fileNameHeight: 45
property int fontSize: 15
}
}

BIN
mix/qml/fonts/SourceSansPro-Black.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-BlackIt.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-Bold.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-BoldIt.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-ExtraLight.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-ExtraLightIt.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-It.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-Light.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-LightIt.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-Regular.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-Semibold.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSansPro-SemiboldIt.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSerifPro-Bold.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSerifPro-Regular.ttf

Binary file not shown.

BIN
mix/qml/fonts/SourceSerifPro-Semibold.ttf

Binary file not shown.

BIN
mix/qml/img/closedtriangleindicator_filesproject.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

BIN
mix/qml/img/opentriangleindicator_filesproject.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

BIN
mix/qml/img/projecticon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

18
mix/res.qrc

@ -66,5 +66,23 @@
<file>qml/Style.qml</file>
<file>qml/qmldir</file>
<file>qml/FilesSection.qml</file>
<file>qml/fonts/SourceSansPro-Black.ttf</file>
<file>qml/fonts/SourceSansPro-BlackIt.ttf</file>
<file>qml/fonts/SourceSansPro-Bold.ttf</file>
<file>qml/fonts/SourceSansPro-BoldIt.ttf</file>
<file>qml/fonts/SourceSansPro-ExtraLight.ttf</file>
<file>qml/fonts/SourceSansPro-ExtraLightIt.ttf</file>
<file>qml/fonts/SourceSansPro-It.ttf</file>
<file>qml/fonts/SourceSansPro-Light.ttf</file>
<file>qml/fonts/SourceSansPro-LightIt.ttf</file>
<file>qml/fonts/SourceSansPro-Regular.ttf</file>
<file>qml/fonts/SourceSansPro-Semibold.ttf</file>
<file>qml/fonts/SourceSansPro-SemiboldIt.ttf</file>
<file>qml/fonts/SourceSerifPro-Bold.ttf</file>
<file>qml/fonts/SourceSerifPro-Regular.ttf</file>
<file>qml/fonts/SourceSerifPro-Semibold.ttf</file>
<file>qml/img/closedtriangleindicator_filesproject.png</file>
<file>qml/img/opentriangleindicator_filesproject.png</file>
<file>qml/img/projecticon.png</file>
</qresource>
</RCC>

Loading…
Cancel
Save