From b88f4058a8775c36891f5128bf420d4396150c06 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sat, 6 Jun 2015 12:25:17 +0000 Subject: [PATCH] Moved set of banner pixmap and title format of ConnectFriendWizard to standard stylesheet. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8381 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- .../src/gui/connect/ConnectFriendWizard.cpp | 102 ++++++++++++++++-- .../src/gui/connect/ConnectFriendWizard.h | 26 ++++- .../src/gui/qss/stylesheet/Standard.qss | 8 ++ 3 files changed, 128 insertions(+), 8 deletions(-) diff --git a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp index ba52944bc..37241e1b1 100755 --- a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp +++ b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp @@ -73,12 +73,8 @@ ConnectFriendWizard::ConnectFriendWizard(QWidget *parent) : { ui->setupUi(this); - /* add stylesheet to title */ - QList ids = pageIds(); - for (QList::iterator it = ids.begin(); it != ids.end(); ++it) { - QWizardPage *p = page(*it); - p->setTitle(QString("%1").arg(p->title())); - } + mTitleFontSize = 0; // Standard + mTitleFontWeight = 0; // Standard // this define comes from Qt example. I don't have mac, so it wasn't tested #ifndef Q_WS_MAC @@ -95,7 +91,6 @@ ConnectFriendWizard::ConnectFriendWizard(QWidget *parent) : // we have no good pictures for watermarks // setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/connectFriendWatermark.png")); - setPixmap(QWizard::BannerPixmap, QPixmap(":/images/connect/connectFriendBanner1.png")); /* register global fields */ ui->ErrorMessagePage->registerField("errorMessage", ui->messageLabel, "text"); @@ -109,6 +104,99 @@ ConnectFriendWizard::ConnectFriendWizard(QWidget *parent) : connect(ui->acceptNoSignGPGCheckBox,SIGNAL(toggled(bool)), ui->_options_GB,SLOT(setEnabled(bool))) ; connect(ui->addKeyToKeyring_CB,SIGNAL(toggled(bool)), ui->acceptNoSignGPGCheckBox,SLOT(setChecked(bool))) ; + + updateStylesheet(); +} + +void ConnectFriendWizard::setBannerPixmap(const QString &pixmap) +{ + mBannerPixmap = pixmap; + setPixmap(QWizard::BannerPixmap, mBannerPixmap); +} + +QString ConnectFriendWizard::bannerPixmap() +{ + return mBannerPixmap; +} + +void ConnectFriendWizard::setTitleFontSize(int size) +{ + mTitleFontSize = size; + updateStylesheet(); +} + +int ConnectFriendWizard::titleFontSize() +{ + return mTitleFontSize; +} + +void ConnectFriendWizard::setTitleFontWeight(int weight) +{ + mTitleFontWeight = weight; + updateStylesheet(); +} + +int ConnectFriendWizard::titleFontWeight() +{ + return mTitleFontWeight; +} + +void ConnectFriendWizard::setTitleColor(const QString &color) +{ + mTitleColor = color; + updateStylesheet(); +} + +QString ConnectFriendWizard::titleColor() +{ + return mTitleColor; +} + +void ConnectFriendWizard::setTitleText(QWizardPage *page, const QString &title) +{ + if (!page) { + return; + } + + page->setTitle(title); + + mTitleString.remove(page); + updateStylesheet(); +} + +void ConnectFriendWizard::updateStylesheet() +{ + /* add stylesheet to title */ + QList ids = pageIds(); + for (QList::iterator pageIt = ids.begin(); pageIt != ids.end(); ++pageIt) { + QWizardPage *p = page(*pageIt); + + QString title; + QMap::iterator it = mTitleString.find(p); + if (it == mTitleString.end()) { + /* Save title string */ + title = p->title(); + mTitleString[p] = title; + } else { + title = it.value(); + } + + QString stylesheet = "%1").arg(title); + + p->setTitle(stylesheet); + } } QString ConnectFriendWizard::getErrorString(uint32_t error_code) diff --git a/retroshare-gui/src/gui/connect/ConnectFriendWizard.h b/retroshare-gui/src/gui/connect/ConnectFriendWizard.h index 06db8d260..963de4eaf 100755 --- a/retroshare-gui/src/gui/connect/ConnectFriendWizard.h +++ b/retroshare-gui/src/gui/connect/ConnectFriendWizard.h @@ -3,7 +3,7 @@ #include #include -#include +#include class QCheckBox; @@ -24,6 +24,11 @@ class ConnectFriendWizard : public QWizard { Q_OBJECT + Q_PROPERTY(QString bannerPixmap READ bannerPixmap WRITE setBannerPixmap) + Q_PROPERTY(int titleFontSize READ titleFontSize WRITE setTitleFontSize) + Q_PROPERTY(int titleFontWeight READ titleFontWeight WRITE setTitleFontWeight) + Q_PROPERTY(QString titleColor READ titleColor WRITE setTitleColor) + public: enum Page { Page_Intro, Page_Text, Page_Cert, Page_ErrorMessage, Page_Conclusion, Page_Foff, Page_Rsid, Page_Email, Page_FriendRequest, Page_FriendRecommendations }; @@ -39,6 +44,15 @@ public: void setGroup(const std::string &id); + void setBannerPixmap(const QString &pixmap); + QString bannerPixmap(); + void setTitleFontSize(int size); + int titleFontSize(); + void setTitleFontWeight(int weight); + int titleFontWeight(); + void setTitleColor(const QString &color); + QString titleColor(); + protected: void initializePage(int id); @@ -70,11 +84,21 @@ private slots: private: // returns the translated error string for the error code (to be found in rspeers.h) QString getErrorString(uint32_t) ; + void updateStylesheet(); + void setTitleText(QWizardPage *page, const QString &title); +private: bool error; RsPeerDetails peerDetails; std::string mCertificate; + /* Stylesheet */ + QString mBannerPixmap; + int mTitleFontSize; + int mTitleFontWeight; + QString mTitleColor; + QMap mTitleString; + /* TextPage */ QTimer *cleanfriendCertTimer; diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index 3c90af4e9..819c0705f 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -65,6 +65,14 @@ GenCertDialog QPushButton#genButton:hover { border-image: url(:/images/btn_blue_hover.png) 4; } +/* ConnectFriendWizard */ + +ConnectFriendWizard { + qproperty-bannerPixmap: url(:/images/connect/connectFriendBanner1.png); + qproperty-titleFontSize: 16; + qproperty-titleFontWeight: 500; + qproperty-titleColor: white; +} /* FriendsDialog */