mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 10:10:05 +00:00 
			
		
		
		
	Connecting font selection to settings dialog, in-work
This commit is contained in:
		
							parent
							
								
									d82fb666f9
								
							
						
					
					
						commit
						4e5aa7b5e1
					
				
					 6 changed files with 245 additions and 95 deletions
				
			
		|  | @ -9,6 +9,7 @@ | ||||||
| #include <QCheckBox> | #include <QCheckBox> | ||||||
| #include <QComboBox> | #include <QComboBox> | ||||||
| #include <QCoreApplication> | #include <QCoreApplication> | ||||||
|  | #include <QLabel> | ||||||
| #include <QLineEdit> | #include <QLineEdit> | ||||||
| #include <QSpinBox> | #include <QSpinBox> | ||||||
| #include <QWidget> | #include <QWidget> | ||||||
|  | @ -33,6 +34,9 @@ public: | ||||||
| 
 | 
 | ||||||
|    ~Impl() {} |    ~Impl() {} | ||||||
| 
 | 
 | ||||||
|  |    template<class U> | ||||||
|  |    void SetWidgetText(U* widget, const T& currentValue); | ||||||
|  | 
 | ||||||
|    void UpdateEditWidget(); |    void UpdateEditWidget(); | ||||||
|    void UpdateResetButton(); |    void UpdateResetButton(); | ||||||
| 
 | 
 | ||||||
|  | @ -105,6 +109,11 @@ void SettingsInterface<T>::SetEditWidget(QWidget* widget) | ||||||
| 
 | 
 | ||||||
|    p->editWidget_ = widget; |    p->editWidget_ = widget; | ||||||
| 
 | 
 | ||||||
|  |    if (widget == nullptr) | ||||||
|  |    { | ||||||
|  |       return; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|    if (QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(widget)) |    if (QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(widget)) | ||||||
|    { |    { | ||||||
|       if constexpr (std::is_same_v<T, std::string>) |       if constexpr (std::is_same_v<T, std::string>) | ||||||
|  | @ -274,33 +283,36 @@ void SettingsInterface<T>::SetResetButton(QAbstractButton* button) | ||||||
| 
 | 
 | ||||||
|    p->resetButton_ = button; |    p->resetButton_ = button; | ||||||
| 
 | 
 | ||||||
|    QObject::connect(p->resetButton_, |    if (p->resetButton_ != nullptr) | ||||||
|                     &QAbstractButton::clicked, |    { | ||||||
|                     p->context_.get(), |       QObject::connect(p->resetButton_, | ||||||
|                     [this]() |                        &QAbstractButton::clicked, | ||||||
|                     { |                        p->context_.get(), | ||||||
|                        T defaultValue = p->variable_->GetDefault(); |                        [this]() | ||||||
| 
 |  | ||||||
|                        if (p->variable_->GetValue() == defaultValue) |  | ||||||
|                        { |                        { | ||||||
|                           // If the current value is default, reset the staged
 |                           T defaultValue = p->variable_->GetDefault(); | ||||||
|                           // value
 |  | ||||||
|                           p->variable_->Reset(); |  | ||||||
|                           p->stagedValid_ = true; |  | ||||||
|                           p->UpdateEditWidget(); |  | ||||||
|                           p->UpdateResetButton(); |  | ||||||
|                        } |  | ||||||
|                        else |  | ||||||
|                        { |  | ||||||
|                           // Stage the default value
 |  | ||||||
|                           p->stagedValid_ = |  | ||||||
|                              p->variable_->StageValue(defaultValue); |  | ||||||
|                           p->UpdateEditWidget(); |  | ||||||
|                           p->UpdateResetButton(); |  | ||||||
|                        } |  | ||||||
|                     }); |  | ||||||
| 
 | 
 | ||||||
|    p->UpdateResetButton(); |                           if (p->variable_->GetValue() == defaultValue) | ||||||
|  |                           { | ||||||
|  |                              // If the current value is default, reset the
 | ||||||
|  |                              // staged value
 | ||||||
|  |                              p->variable_->Reset(); | ||||||
|  |                              p->stagedValid_ = true; | ||||||
|  |                              p->UpdateEditWidget(); | ||||||
|  |                              p->UpdateResetButton(); | ||||||
|  |                           } | ||||||
|  |                           else | ||||||
|  |                           { | ||||||
|  |                              // Stage the default value
 | ||||||
|  |                              p->stagedValid_ = | ||||||
|  |                                 p->variable_->StageValue(defaultValue); | ||||||
|  |                              p->UpdateEditWidget(); | ||||||
|  |                              p->UpdateResetButton(); | ||||||
|  |                           } | ||||||
|  |                        }); | ||||||
|  | 
 | ||||||
|  |       p->UpdateResetButton(); | ||||||
|  |    } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| template<class T> | template<class T> | ||||||
|  | @ -317,6 +329,39 @@ void SettingsInterface<T>::SetMapToValueFunction( | ||||||
|    p->mapToValue_ = function; |    p->mapToValue_ = function; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | template<class T> | ||||||
|  | template<class U> | ||||||
|  | void SettingsInterface<T>::Impl::SetWidgetText(U* widget, const T& currentValue) | ||||||
|  | { | ||||||
|  |    if constexpr (std::is_integral_v<T>) | ||||||
|  |    { | ||||||
|  |       widget->setText(QString::number(currentValue)); | ||||||
|  |    } | ||||||
|  |    else if constexpr (std::is_same_v<T, std::string>) | ||||||
|  |    { | ||||||
|  |       if (mapFromValue_ != nullptr) | ||||||
|  |       { | ||||||
|  |          widget->setText(QString::fromStdString(mapFromValue_(currentValue))); | ||||||
|  |       } | ||||||
|  |       else | ||||||
|  |       { | ||||||
|  |          widget->setText(QString::fromStdString(currentValue)); | ||||||
|  |       } | ||||||
|  |    } | ||||||
|  |    else if constexpr (std::is_same_v<T, std::vector<std::int64_t>>) | ||||||
|  |    { | ||||||
|  |       if (mapFromValue_ != nullptr) | ||||||
|  |       { | ||||||
|  |          widget->setText(QString::fromStdString(mapFromValue_(currentValue))); | ||||||
|  |       } | ||||||
|  |       else | ||||||
|  |       { | ||||||
|  |          widget->setText(QString::fromStdString( | ||||||
|  |             fmt::format("{}", fmt::join(currentValue, ", ")))); | ||||||
|  |       } | ||||||
|  |    } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| template<class T> | template<class T> | ||||||
| void SettingsInterface<T>::Impl::UpdateEditWidget() | void SettingsInterface<T>::Impl::UpdateEditWidget() | ||||||
| { | { | ||||||
|  | @ -327,35 +372,11 @@ void SettingsInterface<T>::Impl::UpdateEditWidget() | ||||||
| 
 | 
 | ||||||
|    if (QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(editWidget_)) |    if (QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(editWidget_)) | ||||||
|    { |    { | ||||||
|       if constexpr (std::is_integral_v<T>) |       SetWidgetText(lineEdit, currentValue); | ||||||
|       { |    } | ||||||
|          lineEdit->setText(QString::number(currentValue)); |    else if (QLabel* label = dynamic_cast<QLabel*>(editWidget_)) | ||||||
|       } |    { | ||||||
|       else if constexpr (std::is_same_v<T, std::string>) |       SetWidgetText(label, currentValue); | ||||||
|       { |  | ||||||
|          if (mapFromValue_ != nullptr) |  | ||||||
|          { |  | ||||||
|             lineEdit->setText( |  | ||||||
|                QString::fromStdString(mapFromValue_(currentValue))); |  | ||||||
|          } |  | ||||||
|          else |  | ||||||
|          { |  | ||||||
|             lineEdit->setText(QString::fromStdString(currentValue)); |  | ||||||
|          } |  | ||||||
|       } |  | ||||||
|       else if constexpr (std::is_same_v<T, std::vector<std::int64_t>>) |  | ||||||
|       { |  | ||||||
|          if (mapFromValue_ != nullptr) |  | ||||||
|          { |  | ||||||
|             lineEdit->setText( |  | ||||||
|                QString::fromStdString(mapFromValue_(currentValue))); |  | ||||||
|          } |  | ||||||
|          else |  | ||||||
|          { |  | ||||||
|             lineEdit->setText(QString::fromStdString( |  | ||||||
|                fmt::format("{}", fmt::join(currentValue, ", ")))); |  | ||||||
|          } |  | ||||||
|       } |  | ||||||
|    } |    } | ||||||
|    else if (QCheckBox* checkBox = dynamic_cast<QCheckBox*>(editWidget_)) |    else if (QCheckBox* checkBox = dynamic_cast<QCheckBox*>(editWidget_)) | ||||||
|    { |    { | ||||||
|  |  | ||||||
|  | @ -239,6 +239,12 @@ std::optional<T> SettingsVariable<T>::GetStaged() const | ||||||
|    return p->staged_; |    return p->staged_; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | template<class T> | ||||||
|  | T SettingsVariable<T>::GetStagedOrValue() const | ||||||
|  | { | ||||||
|  |    return p->staged_.value_or(GetValue()); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| template<class T> | template<class T> | ||||||
| T SettingsVariable<T>::GetDefault() const | T SettingsVariable<T>::GetDefault() const | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -103,6 +103,14 @@ public: | ||||||
|     */ |     */ | ||||||
|    std::optional<T> GetStaged() const; |    std::optional<T> GetStaged() const; | ||||||
| 
 | 
 | ||||||
|  |    /**
 | ||||||
|  |     * Gets the staged value of the settings variable, if defined, otherwise the | ||||||
|  |     * current value. | ||||||
|  |     * | ||||||
|  |     * @return Staged value or current value | ||||||
|  |     */ | ||||||
|  |    T GetStagedOrValue() const; | ||||||
|  | 
 | ||||||
|    /**
 |    /**
 | ||||||
|     * Validate the value against the defined parameters of the settings |     * Validate the value against the defined parameters of the settings | ||||||
|     * variable. |     * variable. | ||||||
|  |  | ||||||
|  | @ -79,6 +79,13 @@ public: | ||||||
| 
 | 
 | ||||||
|    void InitializeFontVariables(); |    void InitializeFontVariables(); | ||||||
| 
 | 
 | ||||||
|  |    friend bool operator==(const FontData& lhs, const FontData& rhs) | ||||||
|  |    { | ||||||
|  |       return (lhs.fontFamily_ == rhs.fontFamily_ && | ||||||
|  |               lhs.fontStyle_ == rhs.fontStyle_ && | ||||||
|  |               lhs.fontPointSize_ == rhs.fontPointSize_); | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|    TextSettings* self_; |    TextSettings* self_; | ||||||
| 
 | 
 | ||||||
|    std::unordered_map<types::FontCategory, FontData> fontData_ {}; |    std::unordered_map<types::FontCategory, FontData> fontData_ {}; | ||||||
|  | @ -168,7 +175,8 @@ TextSettings& TextSettings::Instance() | ||||||
| 
 | 
 | ||||||
| bool operator==(const TextSettings& lhs, const TextSettings& rhs) | bool operator==(const TextSettings& lhs, const TextSettings& rhs) | ||||||
| { | { | ||||||
|    return (lhs.p->hoverTextWrap_ == rhs.p->hoverTextWrap_ && |    return (lhs.p->fontData_ == rhs.p->fontData_ && | ||||||
|  |            lhs.p->hoverTextWrap_ == rhs.p->hoverTextWrap_ && | ||||||
|            lhs.p->tooltipMethod_ == rhs.p->tooltipMethod_); |            lhs.p->tooltipMethod_ == rhs.p->tooltipMethod_); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -9,6 +9,7 @@ | ||||||
| #include <scwx/qt/settings/settings_interface.hpp> | #include <scwx/qt/settings/settings_interface.hpp> | ||||||
| #include <scwx/qt/settings/text_settings.hpp> | #include <scwx/qt/settings/text_settings.hpp> | ||||||
| #include <scwx/qt/types/alert_types.hpp> | #include <scwx/qt/types/alert_types.hpp> | ||||||
|  | #include <scwx/qt/types/font_types.hpp> | ||||||
| #include <scwx/qt/types/text_types.hpp> | #include <scwx/qt/types/text_types.hpp> | ||||||
| #include <scwx/qt/ui/placefile_settings_widget.hpp> | #include <scwx/qt/ui/placefile_settings_widget.hpp> | ||||||
| #include <scwx/qt/ui/radar_site_dialog.hpp> | #include <scwx/qt/ui/radar_site_dialog.hpp> | ||||||
|  | @ -119,7 +120,10 @@ public: | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       // Configure font dialog
 |       // Configure font dialog
 | ||||||
|       fontDialog_->setOptions(QFontDialog::FontDialogOption::ScalableFonts); |       fontDialog_->setOptions( | ||||||
|  |          QFontDialog::FontDialogOption::DontUseNativeDialog | | ||||||
|  |          QFontDialog::FontDialogOption::ScalableFonts); | ||||||
|  |       fontDialog_->setWindowModality(Qt::WindowModality::WindowModal); | ||||||
|    } |    } | ||||||
|    ~SettingsDialogImpl() = default; |    ~SettingsDialogImpl() = default; | ||||||
| 
 | 
 | ||||||
|  | @ -133,6 +137,10 @@ public: | ||||||
|    void ShowColorDialog(QLineEdit* lineEdit, QFrame* frame = nullptr); |    void ShowColorDialog(QLineEdit* lineEdit, QFrame* frame = nullptr); | ||||||
|    void UpdateRadarDialogLocation(const std::string& id); |    void UpdateRadarDialogLocation(const std::string& id); | ||||||
| 
 | 
 | ||||||
|  |    QFont GetSelectedFont(); | ||||||
|  |    void  SelectFontCategory(types::FontCategory fontCategory); | ||||||
|  |    void  UpdateFontDisplayData(); | ||||||
|  | 
 | ||||||
|    void ApplyChanges(); |    void ApplyChanges(); | ||||||
|    void DiscardChanges(); |    void DiscardChanges(); | ||||||
|    void ResetToDefault(); |    void ResetToDefault(); | ||||||
|  | @ -157,6 +165,8 @@ public: | ||||||
| 
 | 
 | ||||||
|    QStandardItemModel* fontCategoryModel_; |    QStandardItemModel* fontCategoryModel_; | ||||||
| 
 | 
 | ||||||
|  |    types::FontCategory selectedFontCategory_ {types::FontCategory::Unknown}; | ||||||
|  | 
 | ||||||
|    settings::SettingsInterface<std::string>               defaultRadarSite_ {}; |    settings::SettingsInterface<std::string>               defaultRadarSite_ {}; | ||||||
|    settings::SettingsInterface<std::vector<std::int64_t>> fontSizes_ {}; |    settings::SettingsInterface<std::vector<std::int64_t>> fontSizes_ {}; | ||||||
|    settings::SettingsInterface<std::int64_t>              gridWidth_ {}; |    settings::SettingsInterface<std::int64_t>              gridWidth_ {}; | ||||||
|  | @ -251,18 +261,6 @@ void SettingsDialogImpl::ConnectSignals() | ||||||
|                        } |                        } | ||||||
|                     }); |                     }); | ||||||
| 
 | 
 | ||||||
|    QObject::connect(self_->ui->fontSelectButton, |  | ||||||
|                     &QAbstractButton::clicked, |  | ||||||
|                     self_, |  | ||||||
|                     [this]() { fontDialog_->show(); }); |  | ||||||
| 
 |  | ||||||
|    QObject::connect( |  | ||||||
|       fontDialog_, |  | ||||||
|       &QFontDialog::fontSelected, |  | ||||||
|       self_, |  | ||||||
|       [this](const QFont& font) |  | ||||||
|       { logger_->debug("Selected font: {}", font.toString().toStdString()); }); |  | ||||||
| 
 |  | ||||||
|    // Update the Radar Site dialog "map" location with the currently selected
 |    // Update the Radar Site dialog "map" location with the currently selected
 | ||||||
|    // radar site
 |    // radar site
 | ||||||
|    auto& defaultRadarSite = *defaultRadarSite_.GetSettingsVariable(); |    auto& defaultRadarSite = *defaultRadarSite_.GetSettingsVariable(); | ||||||
|  | @ -270,6 +268,66 @@ void SettingsDialogImpl::ConnectSignals() | ||||||
|       [this](const std::string& newValue) |       [this](const std::string& newValue) | ||||||
|       { UpdateRadarDialogLocation(newValue); }); |       { UpdateRadarDialogLocation(newValue); }); | ||||||
| 
 | 
 | ||||||
|  |    QObject::connect( | ||||||
|  |       self_->ui->fontListView->selectionModel(), | ||||||
|  |       &QItemSelectionModel::selectionChanged, | ||||||
|  |       self_, | ||||||
|  |       [this](const QItemSelection& selected, const QItemSelection& deselected) | ||||||
|  |       { | ||||||
|  |          if (selected.size() == 0 && deselected.size() == 0) | ||||||
|  |          { | ||||||
|  |             // Items which stay selected but change their index are not
 | ||||||
|  |             // included in selected and deselected. Thus, this signal might
 | ||||||
|  |             // be emitted with both selected and deselected empty, if only
 | ||||||
|  |             // the indices of selected items change.
 | ||||||
|  |             return; | ||||||
|  |          } | ||||||
|  | 
 | ||||||
|  |          if (selected.size() > 0) | ||||||
|  |          { | ||||||
|  |             QModelIndex selectedIndex = selected[0].indexes()[0]; | ||||||
|  |             QVariant    variantData = | ||||||
|  |                self_->ui->fontListView->model()->data(selectedIndex); | ||||||
|  |             if (variantData.typeId() == QMetaType::QString) | ||||||
|  |             { | ||||||
|  |                types::FontCategory fontCategory = | ||||||
|  |                   types::GetFontCategory(variantData.toString().toStdString()); | ||||||
|  |                SelectFontCategory(fontCategory); | ||||||
|  |                UpdateFontDisplayData(); | ||||||
|  |             } | ||||||
|  |          } | ||||||
|  |       }); | ||||||
|  | 
 | ||||||
|  |    QObject::connect(self_->ui->fontSelectButton, | ||||||
|  |                     &QAbstractButton::clicked, | ||||||
|  |                     self_, | ||||||
|  |                     [this]() | ||||||
|  |                     { | ||||||
|  |                        fontDialog_->setCurrentFont(GetSelectedFont()); | ||||||
|  |                        fontDialog_->show(); | ||||||
|  |                     }); | ||||||
|  | 
 | ||||||
|  |    QObject::connect(fontDialog_, | ||||||
|  |                     &QFontDialog::fontSelected, | ||||||
|  |                     self_, | ||||||
|  |                     [this](const QFont& font) | ||||||
|  |                     { | ||||||
|  |                        logger_->debug("Selected font: {}", | ||||||
|  |                                       font.toString().toStdString()); | ||||||
|  | 
 | ||||||
|  |                        fontFamilies_.at(selectedFontCategory_) | ||||||
|  |                           .GetSettingsVariable() | ||||||
|  |                           ->StageValue(font.family().toStdString()); | ||||||
|  |                        fontStyles_.at(selectedFontCategory_) | ||||||
|  |                           .GetSettingsVariable() | ||||||
|  |                           ->StageValue(font.styleName().toStdString()); | ||||||
|  |                        fontPointSizes_.at(selectedFontCategory_) | ||||||
|  |                           .GetSettingsVariable() | ||||||
|  |                           ->StageValue(font.pointSizeF()); | ||||||
|  | 
 | ||||||
|  |                        UpdateFontDisplayData(); | ||||||
|  |                     }); | ||||||
|  | 
 | ||||||
|    QObject::connect( |    QObject::connect( | ||||||
|       self_->ui->buttonBox, |       self_->ui->buttonBox, | ||||||
|       &QDialogButtonBox::clicked, |       &QDialogButtonBox::clicked, | ||||||
|  | @ -706,6 +764,8 @@ void SettingsDialogImpl::SetupTextTab() | ||||||
|       fontSize.SetSettingsVariable(textSettings.font_point_size(fontCategory)); |       fontSize.SetSettingsVariable(textSettings.font_point_size(fontCategory)); | ||||||
|    } |    } | ||||||
|    self_->ui->fontListView->setCurrentIndex(fontCategoryModel_->index(0, 0)); |    self_->ui->fontListView->setCurrentIndex(fontCategoryModel_->index(0, 0)); | ||||||
|  |    SelectFontCategory(*types::FontCategoryIterator().begin()); | ||||||
|  |    UpdateFontDisplayData(); | ||||||
| 
 | 
 | ||||||
|    hoverTextWrap_.SetSettingsVariable(textSettings.hover_text_wrap()); |    hoverTextWrap_.SetSettingsVariable(textSettings.hover_text_wrap()); | ||||||
|    hoverTextWrap_.SetEditWidget(self_->ui->hoverTextWrapSpinBox); |    hoverTextWrap_.SetEditWidget(self_->ui->hoverTextWrapSpinBox); | ||||||
|  | @ -861,6 +921,73 @@ void SettingsDialogImpl::UpdateRadarDialogLocation(const std::string& id) | ||||||
|    } |    } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | QFont SettingsDialogImpl::GetSelectedFont() | ||||||
|  | { | ||||||
|  |    std::string fontFamily = fontFamilies_.at(selectedFontCategory_) | ||||||
|  |                                .GetSettingsVariable() | ||||||
|  |                                ->GetStagedOrValue(); | ||||||
|  |    std::string fontStyle = fontStyles_.at(selectedFontCategory_) | ||||||
|  |                               .GetSettingsVariable() | ||||||
|  |                               ->GetStagedOrValue(); | ||||||
|  |    units::font_size::points<double> fontSize { | ||||||
|  |       fontPointSizes_.at(selectedFontCategory_) | ||||||
|  |          .GetSettingsVariable() | ||||||
|  |          ->GetStagedOrValue()}; | ||||||
|  | 
 | ||||||
|  |    QFont font(QString::fromStdString(fontFamily)); | ||||||
|  |    font.setStyleName(QString::fromStdString(fontStyle)); | ||||||
|  |    font.setPointSizeF(fontSize.value()); | ||||||
|  | 
 | ||||||
|  |    return font; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SettingsDialogImpl::SelectFontCategory(types::FontCategory fontCategory) | ||||||
|  | { | ||||||
|  |    if (selectedFontCategory_ != types::FontCategory::Unknown && | ||||||
|  |        selectedFontCategory_ != fontCategory) | ||||||
|  |    { | ||||||
|  |       auto& fontFamily = fontFamilies_.at(selectedFontCategory_); | ||||||
|  |       auto& fontStyle  = fontStyles_.at(selectedFontCategory_); | ||||||
|  |       auto& fontSize   = fontPointSizes_.at(selectedFontCategory_); | ||||||
|  | 
 | ||||||
|  |       fontFamily.SetResetButton(nullptr); | ||||||
|  |       fontStyle.SetResetButton(nullptr); | ||||||
|  |       fontSize.SetResetButton(nullptr); | ||||||
|  | 
 | ||||||
|  |       fontFamily.SetEditWidget(nullptr); | ||||||
|  |       fontStyle.SetEditWidget(nullptr); | ||||||
|  |       fontSize.SetEditWidget(nullptr); | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    if (selectedFontCategory_ != fontCategory) | ||||||
|  |    { | ||||||
|  |       auto& fontFamily = fontFamilies_.at(fontCategory); | ||||||
|  |       auto& fontStyle  = fontStyles_.at(fontCategory); | ||||||
|  |       auto& fontSize   = fontPointSizes_.at(fontCategory); | ||||||
|  | 
 | ||||||
|  |       fontFamily.SetResetButton(self_->ui->resetFontButton); | ||||||
|  |       fontStyle.SetResetButton(self_->ui->resetFontButton); | ||||||
|  |       fontSize.SetResetButton(self_->ui->resetFontButton); | ||||||
|  | 
 | ||||||
|  |       fontFamily.SetEditWidget(self_->ui->fontNameLabel); | ||||||
|  |       fontStyle.SetEditWidget(self_->ui->fontStyleLabel); | ||||||
|  |       fontSize.SetEditWidget(self_->ui->fontSizeLabel); | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    selectedFontCategory_ = fontCategory; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SettingsDialogImpl::UpdateFontDisplayData() | ||||||
|  | { | ||||||
|  |    QFont font = GetSelectedFont(); | ||||||
|  | 
 | ||||||
|  |    self_->ui->fontNameLabel->setText(font.family()); | ||||||
|  |    self_->ui->fontStyleLabel->setText(font.styleName()); | ||||||
|  |    self_->ui->fontSizeLabel->setText(QString::number(font.pointSizeF())); | ||||||
|  | 
 | ||||||
|  |    self_->ui->fontPreviewLabel->setFont(font); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void SettingsDialogImpl::ApplyChanges() | void SettingsDialogImpl::ApplyChanges() | ||||||
| { | { | ||||||
|    logger_->info("Applying settings changes"); |    logger_->info("Applying settings changes"); | ||||||
|  |  | ||||||
|  | @ -102,7 +102,7 @@ | ||||||
|          </sizepolicy> |          </sizepolicy> | ||||||
|         </property> |         </property> | ||||||
|         <property name="currentIndex"> |         <property name="currentIndex"> | ||||||
|          <number>0</number> |          <number>2</number> | ||||||
|         </property> |         </property> | ||||||
|         <widget class="QWidget" name="general"> |         <widget class="QWidget" name="general"> | ||||||
|          <layout class="QVBoxLayout" name="verticalLayout_2"> |          <layout class="QVBoxLayout" name="verticalLayout_2"> | ||||||
|  | @ -468,36 +468,16 @@ | ||||||
|                 <property name="bottomMargin"> |                 <property name="bottomMargin"> | ||||||
|                  <number>0</number> |                  <number>0</number> | ||||||
|                 </property> |                 </property> | ||||||
|                 <item row="2" column="1"> |                 <item row="0" column="0" colspan="2"> | ||||||
|                  <spacer name="horizontalSpacer_2"> |  | ||||||
|                   <property name="orientation"> |  | ||||||
|                    <enum>Qt::Horizontal</enum> |  | ||||||
|                   </property> |  | ||||||
|                   <property name="sizeHint" stdset="0"> |  | ||||||
|                    <size> |  | ||||||
|                     <width>40</width> |  | ||||||
|                     <height>20</height> |  | ||||||
|                    </size> |  | ||||||
|                   </property> |  | ||||||
|                  </spacer> |  | ||||||
|                 </item> |  | ||||||
|                 <item row="2" column="0"> |  | ||||||
|                  <widget class="QPushButton" name="resetAllFontsButton"> |  | ||||||
|                   <property name="text"> |  | ||||||
|                    <string>Reset All Fonts</string> |  | ||||||
|                   </property> |  | ||||||
|                  </widget> |  | ||||||
|                 </item> |  | ||||||
|                 <item row="1" column="0" colspan="3"> |  | ||||||
|                  <widget class="QListView" name="fontListView"/> |  | ||||||
|                 </item> |  | ||||||
|                 <item row="0" column="0" colspan="3"> |  | ||||||
|                  <widget class="QLabel" name="label_10"> |                  <widget class="QLabel" name="label_10"> | ||||||
|                   <property name="text"> |                   <property name="text"> | ||||||
|                    <string>Display Item:</string> |                    <string>Display Item:</string> | ||||||
|                   </property> |                   </property> | ||||||
|                  </widget> |                  </widget> | ||||||
|                 </item> |                 </item> | ||||||
|  |                 <item row="1" column="0" colspan="2"> | ||||||
|  |                  <widget class="QListView" name="fontListView"/> | ||||||
|  |                 </item> | ||||||
|                </layout> |                </layout> | ||||||
|               </widget> |               </widget> | ||||||
|              </item> |              </item> | ||||||
|  | @ -538,10 +518,10 @@ | ||||||
|                 <item row="7" column="0" colspan="5"> |                 <item row="7" column="0" colspan="5"> | ||||||
|                  <widget class="QFrame" name="frame_7"> |                  <widget class="QFrame" name="frame_7"> | ||||||
|                   <property name="frameShape"> |                   <property name="frameShape"> | ||||||
|                    <enum>QFrame::StyledPanel</enum> |                    <enum>QFrame::Panel</enum> | ||||||
|                   </property> |                   </property> | ||||||
|                   <property name="frameShadow"> |                   <property name="frameShadow"> | ||||||
|                    <enum>QFrame::Raised</enum> |                    <enum>QFrame::Plain</enum> | ||||||
|                   </property> |                   </property> | ||||||
|                   <layout class="QVBoxLayout" name="verticalLayout_7"> |                   <layout class="QVBoxLayout" name="verticalLayout_7"> | ||||||
|                    <item> |                    <item> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat