From 2915402526b6227d738e93fec7ebf8f74a9411c0 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 11 Apr 2017 12:21:15 +0300 Subject: [PATCH] Removed Community page from Preferences. --HG-- branch : release --- src/app/valentina/dialogs/configdialog.cpp | 7 +- src/app/valentina/dialogs/configdialog.h | 1 - .../dialogs/configpages/communitypage.cpp | 242 ------------------ .../dialogs/configpages/communitypage.h | 95 ------- src/app/valentina/dialogs/configpages/pages.h | 1 - src/app/valentina/dialogs/dialogs.pri | 2 - src/libs/vmisc/share/resources/icon.qrc | 1 - .../share/resources/icon/community_config.png | Bin 22379 -> 0 bytes 8 files changed, 1 insertion(+), 348 deletions(-) delete mode 100644 src/app/valentina/dialogs/configpages/communitypage.cpp delete mode 100644 src/app/valentina/dialogs/configpages/communitypage.h delete mode 100644 src/libs/vmisc/share/resources/icon/community_config.png diff --git a/src/app/valentina/dialogs/configdialog.cpp b/src/app/valentina/dialogs/configdialog.cpp index 5cccea4fa..00915aaea 100644 --- a/src/app/valentina/dialogs/configdialog.cpp +++ b/src/app/valentina/dialogs/configdialog.cpp @@ -38,7 +38,7 @@ //--------------------------------------------------------------------------------------------------------------------- ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent), contentsWidget(nullptr), pagesWidget(nullptr), configurationPage(nullptr), patternPage(nullptr), - communityPage(nullptr), pathPage(nullptr), applyButton(nullptr), cancelButton(nullptr), okButton(nullptr), + pathPage(nullptr), applyButton(nullptr), cancelButton(nullptr), okButton(nullptr), isInitialized(false) { contentsWidget = new QListWidget; @@ -58,9 +58,6 @@ ConfigDialog::ConfigDialog(QWidget *parent) : patternPage = new PatternPage(); pagesWidget->addWidget(patternPage); - communityPage = new CommunityPage(); - pagesWidget->addWidget(communityPage); - pathPage = new PathPage(); pagesWidget->addWidget(pathPage); @@ -164,7 +161,6 @@ void ConfigDialog::createIcons() { createIcon("://icon/config.png", tr("Configuration")); createIcon("://icon/pattern_config.png", tr("Pattern")); - createIcon("://icon/community_config.png", tr("Community")); createIcon("://icon/path_config.png", tr("Paths")); connect(contentsWidget, &QListWidget::currentItemChanged, @@ -195,7 +191,6 @@ void ConfigDialog::Apply() { configurationPage->Apply(); patternPage->Apply(); - communityPage->Apply(); pathPage->Apply(); qApp->ValentinaSettings()->GetOsSeparator() ? setLocale(QLocale()) : setLocale(QLocale::c()); diff --git a/src/app/valentina/dialogs/configdialog.h b/src/app/valentina/dialogs/configdialog.h index 7f289a5e8..836ccb7bc 100644 --- a/src/app/valentina/dialogs/configdialog.h +++ b/src/app/valentina/dialogs/configdialog.h @@ -54,7 +54,6 @@ private: QStackedWidget *pagesWidget; ConfigurationPage *configurationPage; PatternPage *patternPage; - CommunityPage *communityPage; PathPage *pathPage; QPushButton *applyButton; QPushButton *cancelButton; diff --git a/src/app/valentina/dialogs/configpages/communitypage.cpp b/src/app/valentina/dialogs/configpages/communitypage.cpp deleted file mode 100644 index 7893e5259..000000000 --- a/src/app/valentina/dialogs/configpages/communitypage.cpp +++ /dev/null @@ -1,242 +0,0 @@ -/************************************************************************ - ** - ** @file communitypage.cpp - ** @author Roman Telezhynskyi - ** @date 21 6, 2014 - ** - ** @brief - ** @copyright - ** This source code is part of the Valentine project, a pattern making - ** program, whose allow create and modeling patterns of clothing. - ** Copyright (C) 2013-2015 Valentina project - ** All Rights Reserved. - ** - ** Valentina is free software: you can redistribute it and/or modify - ** it under the terms of the GNU General Public License as published by - ** the Free Software Foundation, either version 3 of the License, or - ** (at your option) any later version. - ** - ** Valentina is distributed in the hope that it will be useful, - ** but WITHOUT ANY WARRANTY; without even the implied warranty of - ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ** GNU General Public License for more details. - ** - ** You should have received a copy of the GNU General Public License - ** along with Valentina. If not, see . - ** - *************************************************************************/ - -#include "communitypage.h" -#include "../../options.h" -#include "../../core/vapplication.h" -#include "../vmisc/vsettings.h" -#include -#include -#include -#include -#include - -//--------------------------------------------------------------------------------------------------------------------- -CommunityPage::CommunityPage(QWidget *parent): - QWidget(parent), - serverGroup(nullptr), - server(nullptr), - secureComm(nullptr), - serverNameLabel(nullptr), - secureConnectionLabel(nullptr), - proxyGroup(nullptr), - useProxy(nullptr), - proxyAddress(nullptr), - proxyPort(nullptr), - proxyUser(nullptr), - proxyPass(nullptr), - useProxyLabel(nullptr), - proxyAddressLabel(nullptr), - proxyPortLabel(nullptr), - proxyUserLabel(nullptr), - proxyPassLabel(nullptr), - userGroup(nullptr), - username(nullptr), - savePassword(nullptr), - userpassword(nullptr), - usernameLabel(nullptr), - savePasswordLabel(nullptr), - userpasswordLabel(nullptr) -{ - QGroupBox *serverGroup = ServerGroup(); - QGroupBox *proxyGroup = ProxyGroup(); - QGroupBox *userGroup = UserGroup(); - - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(serverGroup); - mainLayout->addWidget(userGroup); - mainLayout->addWidget(proxyGroup); - mainLayout->addStretch(1); - setLayout(mainLayout); -} - -//--------------------------------------------------------------------------------------------------------------------- -void CommunityPage::Apply() -{ - VSettings *settings = qApp->ValentinaSettings(); - settings->SetServer(this->server->text()); - settings->SetServerSecure(this->secureComm->isChecked()); - settings->SetProxy(this->useProxy->isChecked()); - settings->SetProxyAddress(this->proxyAddress->text()); - settings->SetProxyPort(this->proxyPort->text()); - settings->SetProxyUser(this->proxyUser->text()); - settings->SetProxyPass(this->proxyPass->text()); - - settings->SetUsername(this->username->text()); - settings->SetSavePassword(this->savePassword->isChecked()); - settings->SetUserPassword(this->userpassword->text()); -} - -//--------------------------------------------------------------------------------------------------------------------- -void CommunityPage::ProxyCheckChanged() -{ - if (this->useProxy->isChecked() == false) - { - this->proxyAddress->setEnabled(false); - this->proxyPort->setEnabled(false); - this->proxyUser->setEnabled(false); - this->proxyPass->setEnabled(false); - } - else - { - this->proxyAddress->setEnabled(true); - this->proxyPort->setEnabled(true); - this->proxyUser->setEnabled(true); - this->proxyPass->setEnabled(true); - } -} - -//--------------------------------------------------------------------------------------------------------------------- -void CommunityPage::PasswordCheckChanged() -{ - this->userpassword->setEnabled(this->savePassword->isChecked()); -} - -//--------------------------------------------------------------------------------------------------------------------- -QGroupBox *CommunityPage::ServerGroup() -{ - serverGroup = new QGroupBox(tr("Server")); - QFormLayout *serverLayout = new QFormLayout; - serverLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); - - serverNameLabel = new QLabel(tr("Server name/IP:")); - secureConnectionLabel = new QLabel(tr("Secure connection")); - - CommunityPage::AddLineedit(&this->server, serverLayout, qApp->ValentinaSettings()->GetServer(), serverNameLabel); - - CommunityPage::AddCheckbox(&this->secureComm, serverLayout, qApp->ValentinaSettings()->GetServerSecure(), - secureConnectionLabel); - - serverGroup->setLayout(serverLayout); - return serverGroup; -} - -//--------------------------------------------------------------------------------------------------------------------- -void CommunityPage::AddCheckbox(QCheckBox** thebox, QFormLayout *layout, bool checked, QLabel *label) -{ - (*thebox)= new QCheckBox; - (*thebox)->setChecked(checked); - layout->addRow(label, *thebox); -} - -//--------------------------------------------------------------------------------------------------------------------- -void CommunityPage::AddLineedit(QLineEdit** theline, QFormLayout *layout, QString value, QLabel *label) -{ - (*theline)= new QLineEdit; -#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0) - (*theline)->setClearButtonEnabled(true); -#endif - (*theline)->setText(value); - layout->addRow(label, *theline); -} - -//--------------------------------------------------------------------------------------------------------------------- -void CommunityPage::changeEvent(QEvent *event) -{ - if (event->type() == QEvent::LanguageChange) - { - // retranslate designer form (single inheritance approach) - RetranslateUi(); - } - - // remember to call base class implementation - QWidget::changeEvent(event); -} - -//--------------------------------------------------------------------------------------------------------------------- -QGroupBox *CommunityPage::ProxyGroup() -{ - proxyGroup = new QGroupBox(tr("Proxy settings")); - - QFormLayout *proxyLayout = new QFormLayout; - proxyLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); - - useProxyLabel = new QLabel(tr("Use Proxy")); - proxyAddressLabel = new QLabel(tr("Proxy address:")); - proxyPortLabel = new QLabel(tr("Proxy port:")); - proxyUserLabel = new QLabel(tr("Proxy user:")); - proxyPassLabel = new QLabel(tr("Proxy pass:")); - - const VSettings *settings = qApp->ValentinaSettings(); - CommunityPage::AddCheckbox(&this->useProxy, proxyLayout, settings->GetProxy(), useProxyLabel); - CommunityPage::AddLineedit(&this->proxyAddress, proxyLayout, settings->GetProxyAddress(), - proxyAddressLabel); - CommunityPage::AddLineedit(&this->proxyPort, proxyLayout, settings->GetProxyPort(), proxyPortLabel); - CommunityPage::AddLineedit(&this->proxyUser, proxyLayout, settings->GetProxyUser(), proxyUserLabel); - CommunityPage::AddLineedit(&this->proxyPass, proxyLayout, settings->GetProxyPass(), proxyPassLabel); - connect(this->useProxy, &QCheckBox::stateChanged, this, &CommunityPage::ProxyCheckChanged); - this->ProxyCheckChanged(); - - proxyGroup->setLayout(proxyLayout); - - return proxyGroup; -} - -//--------------------------------------------------------------------------------------------------------------------- -QGroupBox *CommunityPage::UserGroup() -{ - userGroup = new QGroupBox(tr("User settings")); - QFormLayout *userLayout = new QFormLayout; - userLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); - - usernameLabel = new QLabel(tr("User Name:")); - savePasswordLabel = new QLabel(tr("Save password")); - userpasswordLabel = new QLabel(tr("Password:")); - - const VSettings *settings = qApp->ValentinaSettings(); - CommunityPage::AddLineedit(&this->username, userLayout, settings->GetUsername(), usernameLabel); - CommunityPage::AddCheckbox(&this->savePassword, userLayout, settings->GetSavePassword(), savePasswordLabel); - CommunityPage::AddLineedit(&this->userpassword, userLayout, settings->GetUserPassword(), userpasswordLabel); - - connect(this->savePassword, &QCheckBox::stateChanged, this, &CommunityPage::PasswordCheckChanged); - this->PasswordCheckChanged(); - - userGroup->setLayout(userLayout); - - return userGroup; -} - -//--------------------------------------------------------------------------------------------------------------------- -void CommunityPage::RetranslateUi() -{ - serverGroup->setTitle(tr("Server")); - serverNameLabel->setText(tr("Server name/IP:")); - secureConnectionLabel->setText(tr("Secure connection")); - - proxyGroup->setTitle(tr("Proxy settings")); - useProxyLabel->setText(tr("Use Proxy")); - proxyAddressLabel->setText(tr("Proxy address:")); - proxyPortLabel->setText(tr("Proxy port:")); - proxyUserLabel->setText(tr("Proxy user:")); - proxyPassLabel->setText(tr("Proxy pass:")); - - userGroup->setTitle(tr("User settings")); - usernameLabel->setText(tr("User Name:")); - savePasswordLabel->setText(tr("Save password")); - userpasswordLabel->setText(tr("Password:")); -} diff --git a/src/app/valentina/dialogs/configpages/communitypage.h b/src/app/valentina/dialogs/configpages/communitypage.h deleted file mode 100644 index bce521213..000000000 --- a/src/app/valentina/dialogs/configpages/communitypage.h +++ /dev/null @@ -1,95 +0,0 @@ -/************************************************************************ - ** - ** @file communitypage.h - ** @author Roman Telezhynskyi - ** @date 21 6, 2014 - ** - ** @brief - ** @copyright - ** This source code is part of the Valentine project, a pattern making - ** program, whose allow create and modeling patterns of clothing. - ** Copyright (C) 2013-2015 Valentina project - ** All Rights Reserved. - ** - ** Valentina is free software: you can redistribute it and/or modify - ** it under the terms of the GNU General Public License as published by - ** the Free Software Foundation, either version 3 of the License, or - ** (at your option) any later version. - ** - ** Valentina is distributed in the hope that it will be useful, - ** but WITHOUT ANY WARRANTY; without even the implied warranty of - ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ** GNU General Public License for more details. - ** - ** You should have received a copy of the GNU General Public License - ** along with Valentina. If not, see . - ** - *************************************************************************/ - -#ifndef COMMUNITYPAGE_H -#define COMMUNITYPAGE_H - -#include -#include -#include - -class QCheckBox; -class QGroupBox; -class QLineEdit; -class QLabel; - -class CommunityPage : public QWidget -{ - Q_OBJECT -public: - explicit CommunityPage(QWidget *parent = nullptr); - void Apply(); -protected: - virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE; -private: - Q_DISABLE_COPY(CommunityPage) - // server name and https connection - QGroupBox *serverGroup; - QLineEdit *server; - QCheckBox *secureComm; - QLabel *serverNameLabel; - QLabel *secureConnectionLabel; - - // proxy stuff - QGroupBox *proxyGroup; - QCheckBox *useProxy; - QLineEdit *proxyAddress; - QLineEdit *proxyPort; - QLineEdit *proxyUser; - QLineEdit *proxyPass; - - QLabel *useProxyLabel; - QLabel *proxyAddressLabel; - QLabel *proxyPortLabel; - QLabel *proxyUserLabel; - QLabel *proxyPassLabel; - - // username and password - QGroupBox *userGroup; - QLineEdit *username; - QCheckBox *savePassword; - QLineEdit *userpassword; - - QLabel *usernameLabel; - QLabel *savePasswordLabel; - QLabel *userpasswordLabel; - - static void AddCheckbox(QCheckBox** thebox, QFormLayout *layout, bool checked, QLabel* label); - static void AddLineedit(QLineEdit** theline, QFormLayout *layout, QString value, QLabel *label); - - void ProxyCheckChanged(); - void PasswordCheckChanged(); - - QGroupBox *ServerGroup() Q_REQUIRED_RESULT; - QGroupBox *ProxyGroup() Q_REQUIRED_RESULT; - QGroupBox *UserGroup() Q_REQUIRED_RESULT; - - void RetranslateUi(); -}; - -#endif // COMMUNITYPAGE_H diff --git a/src/app/valentina/dialogs/configpages/pages.h b/src/app/valentina/dialogs/configpages/pages.h index 7df2cfb5b..5ec82a7c3 100644 --- a/src/app/valentina/dialogs/configpages/pages.h +++ b/src/app/valentina/dialogs/configpages/pages.h @@ -31,7 +31,6 @@ #include "configurationpage.h" #include "patternpage.h" -#include "communitypage.h" #include "pathpage.h" #endif // PAGES_H diff --git a/src/app/valentina/dialogs/dialogs.pri b/src/app/valentina/dialogs/dialogs.pri index ed9694592..9fef62f74 100644 --- a/src/app/valentina/dialogs/dialogs.pri +++ b/src/app/valentina/dialogs/dialogs.pri @@ -12,7 +12,6 @@ HEADERS += \ $$PWD/dialogaboutapp.h \ $$PWD/configpages/configurationpage.h \ $$PWD/configpages/patternpage.h \ - $$PWD/configpages/communitypage.h \ $$PWD/configpages/pathpage.h \ $$PWD/dialoglayoutsettings.h \ $$PWD/dialoglayoutprogress.h \ @@ -29,7 +28,6 @@ SOURCES += \ $$PWD/dialogaboutapp.cpp \ $$PWD/configpages/configurationpage.cpp \ $$PWD/configpages/patternpage.cpp \ - $$PWD/configpages/communitypage.cpp \ $$PWD/configpages/pathpage.cpp \ $$PWD/dialoglayoutsettings.cpp \ $$PWD/dialoglayoutprogress.cpp \ diff --git a/src/libs/vmisc/share/resources/icon.qrc b/src/libs/vmisc/share/resources/icon.qrc index 45ab2b772..0f67bcfa5 100644 --- a/src/libs/vmisc/share/resources/icon.qrc +++ b/src/libs/vmisc/share/resources/icon.qrc @@ -16,7 +16,6 @@ icon/16x16/mirror.png icon/config.png icon/pattern_config.png - icon/community_config.png icon/32x32/arrowLeft.png icon/32x32/arrowRight.png icon/32x32/arrowRightDown.png diff --git a/src/libs/vmisc/share/resources/icon/community_config.png b/src/libs/vmisc/share/resources/icon/community_config.png deleted file mode 100644 index 77af431a60cd5758833d0a79a46f76849227764e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22379 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 i2laB_PPqP~{{1gU9QcevvJ1ih0000