mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 13:10:04 +00:00 
			
		
		
		
	Add font selection skeleton
This commit is contained in:
		
							parent
							
								
									c807188b2b
								
							
						
					
					
						commit
						e0aa327bb7
					
				
					 2 changed files with 226 additions and 0 deletions
				
			
		|  | @ -21,6 +21,7 @@ | ||||||
| #include <fmt/format.h> | #include <fmt/format.h> | ||||||
| #include <QColorDialog> | #include <QColorDialog> | ||||||
| #include <QFileDialog> | #include <QFileDialog> | ||||||
|  | #include <QFontDialog> | ||||||
| #include <QToolButton> | #include <QToolButton> | ||||||
| 
 | 
 | ||||||
| namespace scwx | namespace scwx | ||||||
|  | @ -84,6 +85,7 @@ public: | ||||||
|    explicit SettingsDialogImpl(SettingsDialog* self) : |    explicit SettingsDialogImpl(SettingsDialog* self) : | ||||||
|        self_ {self}, |        self_ {self}, | ||||||
|        radarSiteDialog_ {new RadarSiteDialog(self)}, |        radarSiteDialog_ {new RadarSiteDialog(self)}, | ||||||
|  |        fontDialog_ {new QFontDialog(self)}, | ||||||
|        settings_ {std::initializer_list<settings::SettingsInterfaceBase*> { |        settings_ {std::initializer_list<settings::SettingsInterfaceBase*> { | ||||||
|           &defaultRadarSite_, |           &defaultRadarSite_, | ||||||
|           &fontSizes_, |           &fontSizes_, | ||||||
|  | @ -113,6 +115,9 @@ public: | ||||||
|             QColor(QString::fromStdString( |             QColor(QString::fromStdString( | ||||||
|                paletteSettings.alert_color(phenomenon, false).GetDefault()))); |                paletteSettings.alert_color(phenomenon, false).GetDefault()))); | ||||||
|       } |       } | ||||||
|  | 
 | ||||||
|  |       // Configure font dialog
 | ||||||
|  |       fontDialog_->setOptions(QFontDialog::FontDialogOption::ScalableFonts); | ||||||
|    } |    } | ||||||
|    ~SettingsDialogImpl() = default; |    ~SettingsDialogImpl() = default; | ||||||
| 
 | 
 | ||||||
|  | @ -146,6 +151,7 @@ public: | ||||||
|    SettingsDialog*          self_; |    SettingsDialog*          self_; | ||||||
|    PlacefileSettingsWidget* placefileSettingsWidget_ {nullptr}; |    PlacefileSettingsWidget* placefileSettingsWidget_ {nullptr}; | ||||||
|    RadarSiteDialog*         radarSiteDialog_; |    RadarSiteDialog*         radarSiteDialog_; | ||||||
|  |    QFontDialog*             fontDialog_; | ||||||
| 
 | 
 | ||||||
|    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_ {}; | ||||||
|  | @ -232,6 +238,18 @@ 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(); | ||||||
|  |  | ||||||
|  | @ -438,6 +438,214 @@ | ||||||
|         </widget> |         </widget> | ||||||
|         <widget class="QWidget" name="text"> |         <widget class="QWidget" name="text"> | ||||||
|          <layout class="QVBoxLayout" name="verticalLayout_5"> |          <layout class="QVBoxLayout" name="verticalLayout_5"> | ||||||
|  |           <item> | ||||||
|  |            <widget class="QFrame" name="frame_4"> | ||||||
|  |             <property name="frameShape"> | ||||||
|  |              <enum>QFrame::StyledPanel</enum> | ||||||
|  |             </property> | ||||||
|  |             <property name="frameShadow"> | ||||||
|  |              <enum>QFrame::Plain</enum> | ||||||
|  |             </property> | ||||||
|  |             <layout class="QGridLayout" name="gridLayout_8" columnstretch="1,1"> | ||||||
|  |              <item row="0" column="0"> | ||||||
|  |               <widget class="QFrame" name="frame_5"> | ||||||
|  |                <property name="frameShape"> | ||||||
|  |                 <enum>QFrame::StyledPanel</enum> | ||||||
|  |                </property> | ||||||
|  |                <property name="frameShadow"> | ||||||
|  |                 <enum>QFrame::Raised</enum> | ||||||
|  |                </property> | ||||||
|  |                <layout class="QGridLayout" name="gridLayout_9"> | ||||||
|  |                 <property name="leftMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <property name="topMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <property name="rightMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <property name="bottomMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <item row="2" column="1"> | ||||||
|  |                  <widget class="QPushButton" name="resetAllFontsButton"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>Reset All Fonts</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="2" column="0"> | ||||||
|  |                  <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="1" column="0" colspan="2"> | ||||||
|  |                  <widget class="QListView" name="fontListView"/> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="0" column="0" colspan="2"> | ||||||
|  |                  <widget class="QLabel" name="label_10"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>Display Item:</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                </layout> | ||||||
|  |               </widget> | ||||||
|  |              </item> | ||||||
|  |              <item row="0" column="1"> | ||||||
|  |               <widget class="QFrame" name="frame_6"> | ||||||
|  |                <property name="frameShape"> | ||||||
|  |                 <enum>QFrame::StyledPanel</enum> | ||||||
|  |                </property> | ||||||
|  |                <property name="frameShadow"> | ||||||
|  |                 <enum>QFrame::Raised</enum> | ||||||
|  |                </property> | ||||||
|  |                <layout class="QGridLayout" name="gridLayout_6"> | ||||||
|  |                 <property name="leftMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <property name="topMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <property name="rightMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <property name="bottomMargin"> | ||||||
|  |                  <number>0</number> | ||||||
|  |                 </property> | ||||||
|  |                 <item row="8" column="0"> | ||||||
|  |                  <spacer name="verticalSpacer_5"> | ||||||
|  |                   <property name="orientation"> | ||||||
|  |                    <enum>Qt::Vertical</enum> | ||||||
|  |                   </property> | ||||||
|  |                   <property name="sizeHint" stdset="0"> | ||||||
|  |                    <size> | ||||||
|  |                     <width>20</width> | ||||||
|  |                     <height>40</height> | ||||||
|  |                    </size> | ||||||
|  |                   </property> | ||||||
|  |                  </spacer> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="7" column="0" colspan="5"> | ||||||
|  |                  <widget class="QFrame" name="frame_7"> | ||||||
|  |                   <property name="frameShape"> | ||||||
|  |                    <enum>QFrame::StyledPanel</enum> | ||||||
|  |                   </property> | ||||||
|  |                   <property name="frameShadow"> | ||||||
|  |                    <enum>QFrame::Raised</enum> | ||||||
|  |                   </property> | ||||||
|  |                   <layout class="QVBoxLayout" name="verticalLayout_7"> | ||||||
|  |                    <item> | ||||||
|  |                     <widget class="QLabel" name="fontPreviewLabel"> | ||||||
|  |                      <property name="text"> | ||||||
|  |                       <string>Tornado Warning expires in 15 minutes</string> | ||||||
|  |                      </property> | ||||||
|  |                      <property name="alignment"> | ||||||
|  |                       <set>Qt::AlignCenter</set> | ||||||
|  |                      </property> | ||||||
|  |                      <property name="wordWrap"> | ||||||
|  |                       <bool>true</bool> | ||||||
|  |                      </property> | ||||||
|  |                     </widget> | ||||||
|  |                    </item> | ||||||
|  |                   </layout> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="0" column="3"> | ||||||
|  |                  <widget class="QToolButton" name="fontSelectButton"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>...</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="3" column="2"> | ||||||
|  |                  <widget class="QLabel" name="fontStyleLabel"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>[Style]</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="0" column="2"> | ||||||
|  |                  <widget class="QLabel" name="fontNameLabel"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>[Font Name]</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="0" column="4"> | ||||||
|  |                  <widget class="QToolButton" name="resetFontButton"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>...</string> | ||||||
|  |                   </property> | ||||||
|  |                   <property name="icon"> | ||||||
|  |                    <iconset resource="../../../../scwx-qt.qrc"> | ||||||
|  |                     <normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="5" column="2"> | ||||||
|  |                  <widget class="QLabel" name="fontSizeLabel"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>[Size]</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="0" column="0"> | ||||||
|  |                  <widget class="QLabel" name="label_11"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>Font:</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="3" column="0"> | ||||||
|  |                  <widget class="QLabel" name="label_15"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>Style:</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="5" column="0"> | ||||||
|  |                  <widget class="QLabel" name="label_18"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>Size:</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="6" column="0" colspan="2"> | ||||||
|  |                  <widget class="QLabel" name="label_13"> | ||||||
|  |                   <property name="text"> | ||||||
|  |                    <string>Preview:</string> | ||||||
|  |                   </property> | ||||||
|  |                  </widget> | ||||||
|  |                 </item> | ||||||
|  |                 <item row="6" column="2"> | ||||||
|  |                  <spacer name="horizontalSpacer"> | ||||||
|  |                   <property name="orientation"> | ||||||
|  |                    <enum>Qt::Horizontal</enum> | ||||||
|  |                   </property> | ||||||
|  |                   <property name="sizeHint" stdset="0"> | ||||||
|  |                    <size> | ||||||
|  |                     <width>40</width> | ||||||
|  |                     <height>20</height> | ||||||
|  |                    </size> | ||||||
|  |                   </property> | ||||||
|  |                  </spacer> | ||||||
|  |                 </item> | ||||||
|  |                </layout> | ||||||
|  |               </widget> | ||||||
|  |              </item> | ||||||
|  |             </layout> | ||||||
|  |            </widget> | ||||||
|  |           </item> | ||||||
|           <item> |           <item> | ||||||
|            <widget class="QFrame" name="frame_3"> |            <widget class="QFrame" name="frame_3"> | ||||||
|             <property name="frameShape"> |             <property name="frameShape"> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat