diff --git a/casinocoin-qt.pro b/casinocoin-qt.pro index f3dc734..ad2ef96 100644 --- a/casinocoin-qt.pro +++ b/casinocoin-qt.pro @@ -278,7 +278,8 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/qtquick_controls/cpp/guimenutoolbarwidget.h \ src/qt/qtquick_controls/cpp/guimenutoolbarlistview.h \ src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.h \ - src/qt/gui20_skin.h + src/qt/gui20_skin.h \ + src/qt/cscfusionstyle.h SOURCES += src/qt/bitcoin.cpp \ src/qt/bitcoingui.cpp \ @@ -367,7 +368,8 @@ SOURCES += src/qt/bitcoin.cpp \ src/qt/qtquick_controls/cpp/guimenutoolbarwidget.cpp \ src/qt/qtquick_controls/cpp/guimenutoolbarlistview.cpp \ src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.cpp \ - src/qt/gui20_skin.cpp + src/qt/gui20_skin.cpp \ + src/qt/cscfusionstyle.cpp RESOURCES += src/qt/bitcoin.qrc @@ -443,7 +445,10 @@ OTHER_FILES += README.md \ src/qt/test/*.h \ src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml \ src/qt/qtquick_controls/qml/QmlGUIBannerListView.qml \ - src/qt/qtquick_controls/qml/QmlGUIBannerWindow.qml + src/qt/qtquick_controls/qml/QmlGUIBannerWindow.qml \ + src/qt/qtquick_controls/qml/QmlGUIMenuToolbarWindow.qml \ + src/qt/qtquick_controls/qml/QmlGUIMenuToolbarListView.qml \ + src/qt/qtquick_controls/qml/QmlGUIMenuToolbarControl.qml # platform specific defaults, if not overridden on command line isEmpty(BOOST_LIB_SUFFIX) { @@ -525,7 +530,3 @@ contains(RELEASE, 1) { system($$QMAKE_LRELEASE -silent $$TRANSLATIONS) -DISTFILES += \ - src/qt/qtquick_controls/qml/QmlGUIMenuToolbarWindow.qml \ - src/qt/qtquick_controls/qml/QmlGUIMenuToolbarListView.qml \ - src/qt/qtquick_controls/qml/QmlGUIMenuToolbarControl.qml diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 91beffa..45b599a 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -25,6 +25,8 @@ #include "ui_interface.h" #include "wallet.h" #include "init.h" +#include "cscfusionstyle.h" +#include "gui20_skin.h" #include "qtquick_controls/cpp/guimenutoolbarwidget.h" @@ -54,6 +56,7 @@ #include #include #include +#include #include @@ -163,6 +166,8 @@ BitcoinGUI::BitcoinGUI(QWidget *parent) : // Initially wallet actions should be disabled setWalletActionsEnabled(false); + + QApplication::setStyle(new CSCFusionStyle); } BitcoinGUI::~BitcoinGUI() diff --git a/src/qt/cscfusionstyle.cpp b/src/qt/cscfusionstyle.cpp new file mode 100644 index 0000000..9611719 --- /dev/null +++ b/src/qt/cscfusionstyle.cpp @@ -0,0 +1,362 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "cscfusionstyle.h" +#include "gui20_skin.h" + +CSCFusionStyle::CSCFusionStyle() : + QProxyStyle(QStyleFactory::create("fusion")) +{ +} + +void CSCFusionStyle::polish(QPalette &palette) +{ + GUI20Skin& skin = GUI20Skin::Instance(); + QLinearGradient buttonGradient; + buttonGradient.setColorAt( 0, skin.GetColorButtonTopGradient() ); + buttonGradient.setColorAt( 1, skin.GetColorButtonBottomGradient() ); + + QLinearGradient toolTipGradient; + toolTipGradient.setColorAt( 0, skin.GetColorToolbarMainGradientBegin() ); + toolTipGradient.setColorAt( 1, skin.GetColorToolbarMainGradientEnd() ); + + palette = QPalette(); + + + palette.setBrush( QPalette::Active, QPalette::Text, skin.GetColorTextActive() ); + palette.setBrush( QPalette::Active, QPalette::BrightText, skin.GetColorTextActiveAutocomplete() ); + palette.setBrush( QPalette::Active, QPalette::Base, skin.GetColorFrameBackground() ); + palette.setBrush( QPalette::Active, QPalette::AlternateBase, skin.GetColorListValueAlternative() ); + palette.setBrush( QPalette::Active, QPalette::Highlight, skin.GetColorListCurrent() ); + palette.setBrush( QPalette::Active, QPalette::HighlightedText, skin.GetColorTextActive() ); + palette.setBrush( QPalette::Active, QPalette::Button, skin.GetColorButtonBottomGradient() ); + palette.setBrush( QPalette::Active, QPalette::ButtonText, skin.GetColorTextActive() ); + palette.setBrush( QPalette::Active, QPalette::Mid, skin.GetColorButtonMid() ); + palette.setBrush( QPalette::Active, QPalette::Dark, skin.GetColorButtonDark() ); + palette.setBrush( QPalette::Active, QPalette::Light, skin.GetColorButtonLight() ); + palette.setBrush( QPalette::Active, QPalette::Window, skin.GetColorWindowBackground() ); + + palette.setBrush( QPalette::Inactive, QPalette::Text, skin.GetColorTextDisabled() ); + palette.setBrush( QPalette::Inactive, QPalette::BrightText, skin.GetColorTextDisabledAutocomplete() ); + palette.setBrush( QPalette::Inactive, QPalette::Base, skin.GetColorFrameBackground() ); + palette.setBrush( QPalette::Inactive, QPalette::AlternateBase, skin.GetColorListValueAlternative() ); + palette.setBrush( QPalette::Inactive, QPalette::Highlight, skin.GetColorListCurrent() ); + palette.setBrush( QPalette::Inactive, QPalette::HighlightedText, skin.GetColorTextDisabled() ); + palette.setBrush( QPalette::Inactive, QPalette::Button, skin.GetColorButtonBottomGradient() ); + palette.setBrush( QPalette::Inactive, QPalette::ButtonText, skin.GetColorTextDisabled() ); + palette.setBrush( QPalette::Inactive, QPalette::Mid, skin.GetColorButtonMid() ); + palette.setBrush( QPalette::Inactive, QPalette::Dark, skin.GetColorButtonDark() ); + palette.setBrush( QPalette::Inactive, QPalette::Light, skin.GetColorButtonLight() ); + palette.setBrush( QPalette::Inactive, QPalette::Window, skin.GetColorWindowBackground() ); + palette.setBrush( QPalette::Inactive, QPalette::ToolTipBase, toolTipGradient ); + palette.setBrush( QPalette::Inactive, QPalette::ToolTipText, skin.GetColorToolbarMainTextCurrent() ); + + palette.setBrush( QPalette::Disabled, QPalette::Text, skin.GetColorTextDisabled() ); + palette.setBrush( QPalette::Disabled, QPalette::BrightText, skin.GetColorTextDisabledAutocomplete() ); + palette.setBrush( QPalette::Disabled, QPalette::Base, skin.GetColorFrameBackground() ); + palette.setBrush( QPalette::Disabled, QPalette::AlternateBase, skin.GetColorListValueAlternative() ); + palette.setBrush( QPalette::Disabled, QPalette::Highlight, skin.GetColorListCurrent() ); + palette.setBrush( QPalette::Disabled, QPalette::HighlightedText, skin.GetColorTextDisabled() ); + palette.setBrush( QPalette::Disabled, QPalette::Button, skin.GetColorButtonBottomGradient() ); + palette.setBrush( QPalette::Disabled, QPalette::ButtonText, skin.GetColorTextDisabled() ); + palette.setBrush( QPalette::Disabled, QPalette::Mid, skin.GetColorButtonMid() ); + palette.setBrush( QPalette::Disabled, QPalette::Dark, skin.GetColorButtonDark() ); + palette.setBrush( QPalette::Disabled, QPalette::Light, skin.GetColorButtonLight() ); + palette.setBrush( QPalette::Disabled, QPalette::Window, skin.GetColorWindowBackground() ); + +} + +void CSCFusionStyle::polish(QWidget *widget) +{ + if ( qobject_cast(widget) + || qobject_cast(widget) + ) + { + widget->setAttribute(Qt::WA_Hover, true); + } +} + +void CSCFusionStyle::unpolish(QWidget *widget) +{ + if ( qobject_cast(widget) + || qobject_cast(widget) + ) + { + widget->setAttribute(Qt::WA_Hover, false); + } +} + +int CSCFusionStyle::pixelMetric(PixelMetric metric, + const QStyleOption *option, + const QWidget *widget) const +{ + switch (metric) + { + case PM_DefaultFrameWidth: + { + return 8; + } + case PM_ComboBoxFrameWidth: + { + return 8; + } + case PM_ScrollBarExtent: + { + return QProxyStyle::pixelMetric(metric, option, widget) + 4; + } + case PM_ToolTipLabelFrameWidth: + { + return 6; + } + default: + { + return QProxyStyle::pixelMetric(metric, option, widget); + } + } +} + +int CSCFusionStyle::styleHint(StyleHint hint, const QStyleOption *option, + const QWidget *widget, + QStyleHintReturn *returnData) const +{ + switch (hint) + { + case SH_DitherDisabledText: + { + return int(false); + } + case SH_EtchDisabledText: + { + return int(true); + } + default: + { + return QProxyStyle::styleHint(hint, option, widget, returnData); + } + } +} + +void CSCFusionStyle::drawPrimitive(PrimitiveElement element, + const QStyleOption *option, + QPainter *painter, + const QWidget *widget) const +{ + switch (element) + { + case PE_FrameDefaultButton: + { + return; + } + case PE_FrameFocusRect: + { + return; + } + case PE_FrameGroupBox: + case PE_FrameWindow: + case PE_Frame: + { + int x, y, width, height; + option->rect.getRect(&x, &y, &width, &height); + + QPainterPath roundRect = roundRectPath(option->rect, 5); + + QBrush brush = option->palette.base(); + painter->save(); + painter->setRenderHint(QPainter::Antialiasing, true); + painter->fillPath(roundRect, brush); + painter->restore(); + break; + } + case PE_PanelButtonCommand: + { + GUI20Skin& skin = GUI20Skin::Instance(); + int delta = (option->state & State_MouseOver) ? 64 : 0; + QColor semiTransparentWhite = skin.GetColorButtonLight(); + semiTransparentWhite.setAlpha(127 + delta); + QColor semiTransparentBlack = skin.GetColorButtonDark(); + semiTransparentBlack.setAlpha(127 - delta); + + int x, y, width, height; + option->rect.getRect(&x, &y, &width, &height); + + QPainterPath roundRect = roundRectPath(option->rect, 5 ); + + int radius = 5; + + QBrush brush; + + if (option->state & (State_Sunken | State_On)) + { + brush = option->palette.mid(); + } + else + { + brush = option->palette.button(); + } + + painter->save(); + painter->setRenderHint(QPainter::Antialiasing, true); + painter->fillPath(roundRect, brush); + + int penWidth; + if (radius < 10) + { + penWidth = 3; + } + else if (radius < 20) + { + penWidth = 5; + } + else + { + penWidth = 7; + } + + QPen topPen(semiTransparentWhite, penWidth); + QPen bottomPen(semiTransparentBlack, penWidth); + + if (option->state & (State_Sunken | State_On)) + { + qSwap(topPen, bottomPen); + } + + int x1 = x; + int x2 = x + radius; + int x3 = x + width - radius; + int x4 = x + width; + + if (option->direction == Qt::RightToLeft) + { + qSwap(x1, x4); + qSwap(x2, x3); + } + + QPolygon topHalf; + topHalf << QPoint(x1, y) + << QPoint(x4, y) + << QPoint(x3, y + radius) + << QPoint(x2, y + height - radius) + << QPoint(x1, y + height); + + painter->setClipPath(roundRect); + painter->setClipRegion(topHalf, Qt::IntersectClip); + painter->setPen(topPen); + painter->drawPath(roundRect); + + QPolygon bottomHalf = topHalf; + bottomHalf[0] = QPoint(x4, y + height); + + painter->setClipPath(roundRect); + painter->setClipRegion(bottomHalf, Qt::IntersectClip); + painter->setPen(bottomPen); + painter->drawPath(roundRect); + + painter->setPen(option->palette.foreground().color()); + painter->setClipping(false); + painter->drawPath(roundRect); + + painter->restore(); + break; + } + default: + { + QProxyStyle::drawPrimitive(element, option, painter, widget); + } + } +} + +void CSCFusionStyle::drawControl(ControlElement element, + const QStyleOption *option, + QPainter *painter, + const QWidget *widget) const +{ + switch (element) + { + case CE_PushButtonLabel: + { + QStyleOptionButton myButtonOption; + const QStyleOptionButton *buttonOption = + qstyleoption_cast(option); + if (buttonOption) + { + myButtonOption = *buttonOption; + if (myButtonOption.palette.currentColorGroup() != QPalette::Disabled) + { + if (myButtonOption.state & (State_Sunken | State_On)) + { + myButtonOption.palette.setBrush(QPalette::ButtonText, + myButtonOption.palette.brightText()); + } + } + } + QProxyStyle::drawControl(element, &myButtonOption, painter, widget); + break; + } + default: + { + QProxyStyle::drawControl(element, option, painter, widget); + break; + } + } +} + +QPainterPath CSCFusionStyle::roundRectPath(const QRect &rect, int radius) +{ + int diam = 2 * radius; + + int x1, y1, x2, y2; + rect.getCoords(&x1, &y1, &x2, &y2); + + QPainterPath path; + path.moveTo(x2, y1 + radius); + path.arcTo(QRect(x2 - diam, y1, diam, diam), 0.0, +90.0); + path.lineTo(x1 + radius, y1); + path.arcTo(QRect(x1, y1, diam, diam), 90.0, +90.0); + path.lineTo(x1, y2 - radius); + path.arcTo(QRect(x1, y2 - diam, diam, diam), 180.0, +90.0); + path.lineTo(x1 + radius, y2); + path.arcTo(QRect(x2 - diam, y2 - diam, diam, diam), 270.0, +90.0); + path.closeSubpath(); + return path; +} +//! [40] + diff --git a/src/qt/cscfusionstyle.h b/src/qt/cscfusionstyle.h new file mode 100644 index 0000000..a4a0610 --- /dev/null +++ b/src/qt/cscfusionstyle.h @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef CSCFUSIONSTYLE_H +#define CSCFUSIONSTYLE_H + +#include +#include + +QT_BEGIN_NAMESPACE +class QPainterPath; +QT_END_NAMESPACE + +//! [0] +class CSCFusionStyle : public QProxyStyle +{ + Q_OBJECT + +public: + CSCFusionStyle(); + + void polish(QPalette &palette) Q_DECL_OVERRIDE; + void polish(QWidget *widget) Q_DECL_OVERRIDE; + void unpolish(QWidget *widget) Q_DECL_OVERRIDE; + int pixelMetric(PixelMetric metric, const QStyleOption *option, + const QWidget *widget) const Q_DECL_OVERRIDE; + int styleHint(StyleHint hint, const QStyleOption *option, + const QWidget *widget, QStyleHintReturn *returnData) const Q_DECL_OVERRIDE; + void drawPrimitive(PrimitiveElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget) const Q_DECL_OVERRIDE; + void drawControl(ControlElement control, const QStyleOption *option, + QPainter *painter, const QWidget *widget) const Q_DECL_OVERRIDE; + +private: + static QPainterPath roundRectPath(const QRect &rect, int radius); + +}; +//! [0] + +#endif diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 49dbdac..f120a98 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -6,7 +6,7 @@ 0 0 - 760 + 993 380 @@ -24,34 +24,6 @@ - - - - Qt::CustomContextMenu - - - Double-click to edit address or label - - - false - - - true - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - true - - - false - - - @@ -177,6 +149,34 @@ + + + + Qt::CustomContextMenu + + + Double-click to edit address or label + + + false + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index 870b030..b9a6b22 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -31,11 +31,11 @@ - + - + 470 @@ -48,59 +48,7 @@ 16777215 - - QFrame::NoFrame - - - QFrame::Plain - - - - - - - - 75 - true - - - - Wallet - - - - - - - The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet. - - - QLabel { color: red; } - - - (out of sync) - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - @@ -112,17 +60,18 @@ 12 - + Balance: - + + 14 75 true @@ -144,14 +93,14 @@ - + Unconfirmed: - + @@ -176,14 +125,14 @@ - + Immature: - + @@ -205,7 +154,7 @@ - + @@ -215,7 +164,7 @@ - + Qt::Vertical @@ -228,13 +177,13 @@ - + - Hide all advertisements (temporary) + Hide all advertisements false @@ -247,9 +196,59 @@ - + + + + + + + + 14 + 75 + true + + + + color: rgb(166, 27, 31); + + + Wallet + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet. + + + color: rgb(166, 27, 31); + + + (out of sync) + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + @@ -260,42 +259,28 @@ - + 150 0 - - QFrame::NoFrame - - - QFrame::Plain - - - <b>Recent transactions</b> - - - - - - - The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet. + + + 14 + - QLabel { color: red; } + color: rgb(166, 27, 31); - (out of sync) - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + <b>Recent transactions</b> @@ -312,6 +297,22 @@ + + + + The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet. + + + color: rgb(166, 27, 31); + + + (out of sync) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + @@ -336,19 +337,6 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/src/qt/gui20_skin.cpp b/src/qt/gui20_skin.cpp index e22ec44..0cd1402 100644 --- a/src/qt/gui20_skin.cpp +++ b/src/qt/gui20_skin.cpp @@ -13,8 +13,20 @@ GUI20Skin::GUI20Skin( QObject* a_pParent ) , colorToolbarMainTextVisitWebsite( "#ffffaf" ) , colorToolbarMainTextShadow( "#c72427" ) - , colorMainWindowBackground( "#afafaf" ) - , colorMainWindowFrameBackground( "#ffffff" ) + , colorWindowBackground( "#f0f0f0" ) + , colorFrameBackground( "#ffffff" ) + , colorButtonTopGradient( colorFrameBackground ) + , colorButtonBottomGradient( "#F2F2F2" ) + , colorButtonMid( "#F8F8F8" ) + , colorButtonDark( colorButtonBottomGradient ) + , colorButtonLight( colorFrameBackground ) + , colorListCurrent( "#F5E5E5" ) + , colorListValue( colorFrameBackground ) + , colorListValueAlternative( "#F5F5F5" ) + , colorTextActive( "#404040" ) + , colorTextActiveAutocomplete( "#6B3D3D" ) + , colorTextDisabled( "#707070" ) + , colorTextDisabledAutocomplete( "#8B5D5D" ) { } diff --git a/src/qt/gui20_skin.h b/src/qt/gui20_skin.h index 2b10bdb..8a38ce5 100644 --- a/src/qt/gui20_skin.h +++ b/src/qt/gui20_skin.h @@ -23,6 +23,23 @@ class GUI20Skin : public QObject Q_PROPERTY( QColor colorToolbarMainTextWebsiteURL READ GetColorToolbarMainTextWebsiteURL CONSTANT ) Q_PROPERTY( QColor colorToolbarMainTextVisitWebsite READ GetColorToolbarMainTextVisitWebsite CONSTANT ) + Q_PROPERTY( QColor colorWindowBackground READ GetColorWindowBackground CONSTANT ) + Q_PROPERTY( QColor colorFrameBackground READ GetColorFrameBackground CONSTANT ) + + Q_PROPERTY( QColor colorButtonTopGradient READ GetColorButtonTopGradient CONSTANT ) + Q_PROPERTY( QColor colorButtonBottomGradient READ GetColorButtonBottomGradient CONSTANT ) + Q_PROPERTY( QColor colorButtonMid READ GetColorButtonMid CONSTANT ) + Q_PROPERTY( QColor colorButtonDark READ GetColorButtonDark CONSTANT ) + Q_PROPERTY( QColor colorButtonLight READ GetColorButtonLight CONSTANT ) + + Q_PROPERTY( QColor colorListCurrent READ GetColorListCurrent CONSTANT ) + Q_PROPERTY( QColor colorListValue READ GetColorListValue CONSTANT ) + Q_PROPERTY( QColor colorListValueAlternative READ GetColorListValueAlternative CONSTANT ) + + Q_PROPERTY( QColor colorTextActive READ GetColorTextActive CONSTANT ) + Q_PROPERTY( QColor colorTextActiveAutocomplete READ GetColorTextActiveAutocomplete CONSTANT ) + Q_PROPERTY( QColor colorTextDisabled READ GetColorTextDisabled CONSTANT ) + Q_PROPERTY( QColor colorTextDisabledAutocomplete READ GetColorTextDisabledAutocomplete CONSTANT ) Q_ENUMS( ESizeConstants ) @@ -45,6 +62,22 @@ public: const QColor GetColorToolbarMainTextShadow() const {return colorToolbarMainTextShadow;} const QColor GetColorToolbarMainTextWebsiteURL() const {return colorToolbarMainTextWebsiteURL;} const QColor GetColorToolbarMainTextVisitWebsite() const {return colorToolbarMainTextVisitWebsite;} + + const QColor GetColorButtonTopGradient() const {return colorButtonTopGradient;} + const QColor GetColorButtonBottomGradient() const {return colorButtonBottomGradient;} + const QColor GetColorButtonMid() const {return colorButtonMid;} + const QColor GetColorButtonDark() const {return colorButtonDark;} + const QColor GetColorButtonLight() const {return colorButtonLight;} + + const QColor GetColorListCurrent() const {return colorListCurrent;} + const QColor GetColorListValue() const {return colorListValue;} + const QColor GetColorListValueAlternative() const {return colorListValueAlternative;} + + const QColor GetColorTextActive() const {return colorTextActive;} + const QColor GetColorTextActiveAutocomplete() const {return colorTextActiveAutocomplete;} + const QColor GetColorTextDisabled() const {return colorTextDisabled;} + const QColor GetColorTextDisabledAutocomplete() const {return colorTextDisabledAutocomplete;} + private: const QColor colorToolbarMainGradientBegin; const QColor colorToolbarMainGradientEnd; @@ -58,8 +91,23 @@ private: const QColor colorToolbarMainTextWebsiteURL; const QColor colorToolbarMainTextVisitWebsite; - const QColor colorMainWindowBackground; - const QColor colorMainWindowFrameBackground; + const QColor colorWindowBackground; + const QColor colorFrameBackground; + + const QColor colorButtonTopGradient; + const QColor colorButtonBottomGradient; + const QColor colorButtonMid; + const QColor colorButtonDark; + const QColor colorButtonLight; + + const QColor colorListCurrent; + const QColor colorListValue; + const QColor colorListValueAlternative; + + const QColor colorTextActive; + const QColor colorTextActiveAutocomplete; + const QColor colorTextDisabled; + const QColor colorTextDisabledAutocomplete; public: static GUI20Skin& Instance(); diff --git a/src/qt/qtquick_controls/cpp/guibannerwidget.cpp b/src/qt/qtquick_controls/cpp/guibannerwidget.cpp index 9de8cb4..734d540 100644 --- a/src/qt/qtquick_controls/cpp/guibannerwidget.cpp +++ b/src/qt/qtquick_controls/cpp/guibannerwidget.cpp @@ -2,7 +2,10 @@ #include #include -#include +#include +#include + +#include "gui20_skin.h" // qml #include "guibannercontrol.h" @@ -43,8 +46,7 @@ void GUIBannerWidget::registerCustomQmlTypes() QWidget* GUIBannerWidget::dockQmlToWidget() { QQuickView* pBannerWindow = new QQuickView; - QWidget* pPlaceHolder = 0; - if ( pBannerWindow ) + QQmlContext* pContext = pBannerWindow->rootContext(); { pBannerWindow->setSource( QUrl( QStringLiteral( "qrc:/qml/qtquick_controls/qml/QmlGUIBannerWindow.qml" ) ) ); QQmlEngine* pEngine = pBannerWindow->engine(); diff --git a/src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml b/src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml index 1e8f911..9750936 100644 --- a/src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml +++ b/src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml @@ -5,7 +5,7 @@ GUIBannerControl { id: id_bannerControl - property color colorBackgroundInWidget: "#FFFFFF" + property color colorBackgroundInWidget: GUI20Skin.colorWindowBackground Rectangle { id: id_leftArrow diff --git a/src/qt/res/icons/_0001_Remove-user-icon.png b/src/qt/res/icons/_0001_Remove-user-icon.png new file mode 100644 index 0000000..903ca85 Binary files /dev/null and b/src/qt/res/icons/_0001_Remove-user-icon.png differ diff --git a/src/qt/res/icons/_0001_sign-icon.png b/src/qt/res/icons/_0001_sign-icon.png new file mode 100644 index 0000000..a9ff836 Binary files /dev/null and b/src/qt/res/icons/_0001_sign-icon.png differ diff --git a/src/qt/res/icons/_0002_logo bottom.png b/src/qt/res/icons/_0002_logo bottom.png new file mode 100644 index 0000000..ecd80ae Binary files /dev/null and b/src/qt/res/icons/_0002_logo bottom.png differ diff --git a/src/qt/res/icons/add.png b/src/qt/res/icons/add.png index f98e2a8..90cd7dd 100644 Binary files a/src/qt/res/icons/add.png and b/src/qt/res/icons/add.png differ diff --git a/src/qt/res/icons/address-book.png b/src/qt/res/icons/address-book.png index a969997..4893337 100644 Binary files a/src/qt/res/icons/address-book.png and b/src/qt/res/icons/address-book.png differ diff --git a/src/qt/res/icons/buy-casinocoins-btn.png b/src/qt/res/icons/buy-casinocoins-btn.png new file mode 100644 index 0000000..26846c3 Binary files /dev/null and b/src/qt/res/icons/buy-casinocoins-btn.png differ diff --git a/src/qt/res/icons/connect0_16.png b/src/qt/res/icons/connect0_16.png index 66f3ae4..9b176ae 100644 Binary files a/src/qt/res/icons/connect0_16.png and b/src/qt/res/icons/connect0_16.png differ diff --git a/src/qt/res/icons/connect4_16.png b/src/qt/res/icons/connect4_16.png index c1232f5..7ce1dc2 100644 Binary files a/src/qt/res/icons/connect4_16.png and b/src/qt/res/icons/connect4_16.png differ diff --git a/src/qt/res/icons/editcopy.png b/src/qt/res/icons/editcopy.png index f882aa2..7184ef3 100644 Binary files a/src/qt/res/icons/editcopy.png and b/src/qt/res/icons/editcopy.png differ diff --git a/src/qt/res/icons/editpaste.png b/src/qt/res/icons/editpaste.png index a192060..47bdf5e 100644 Binary files a/src/qt/res/icons/editpaste.png and b/src/qt/res/icons/editpaste.png differ diff --git a/src/qt/res/icons/export.png b/src/qt/res/icons/export.png index 5c17cab..b3dcb2d 100644 Binary files a/src/qt/res/icons/export.png and b/src/qt/res/icons/export.png differ diff --git a/src/qt/res/icons/qrcode.png b/src/qt/res/icons/qrcode.png index a8d9717..682aa3c 100644 Binary files a/src/qt/res/icons/qrcode.png and b/src/qt/res/icons/qrcode.png differ diff --git a/src/qt/res/icons/remove.png b/src/qt/res/icons/remove.png index a44b6d1..ba842a3 100644 Binary files a/src/qt/res/icons/remove.png and b/src/qt/res/icons/remove.png differ diff --git a/src/qt/res/icons/transaction2.png b/src/qt/res/icons/transaction2.png index 01bb558..3527658 100644 Binary files a/src/qt/res/icons/transaction2.png and b/src/qt/res/icons/transaction2.png differ diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp index 15dee8c..083c88b 100644 --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -72,7 +72,7 @@ WalletView::WalletView(QWidget *parent, BitcoinGUI *_gui): addWidget(sendCoinsPage); // Clicking on a transaction on the overview page simply sends you to transaction history page - connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), this, SLOT(gotoHistoryPage())); + connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), gui->getHistoryAction(), SIGNAL(triggered())); connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex))); // Double-clicking on a transaction on the transaction history page shows details