mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 04:20:05 +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 <QColorDialog> | ||||
| #include <QFileDialog> | ||||
| #include <QFontDialog> | ||||
| #include <QToolButton> | ||||
| 
 | ||||
| namespace scwx | ||||
|  | @ -84,6 +85,7 @@ public: | |||
|    explicit SettingsDialogImpl(SettingsDialog* self) : | ||||
|        self_ {self}, | ||||
|        radarSiteDialog_ {new RadarSiteDialog(self)}, | ||||
|        fontDialog_ {new QFontDialog(self)}, | ||||
|        settings_ {std::initializer_list<settings::SettingsInterfaceBase*> { | ||||
|           &defaultRadarSite_, | ||||
|           &fontSizes_, | ||||
|  | @ -113,6 +115,9 @@ public: | |||
|             QColor(QString::fromStdString( | ||||
|                paletteSettings.alert_color(phenomenon, false).GetDefault()))); | ||||
|       } | ||||
| 
 | ||||
|       // Configure font dialog
 | ||||
|       fontDialog_->setOptions(QFontDialog::FontDialogOption::ScalableFonts); | ||||
|    } | ||||
|    ~SettingsDialogImpl() = default; | ||||
| 
 | ||||
|  | @ -146,6 +151,7 @@ public: | |||
|    SettingsDialog*          self_; | ||||
|    PlacefileSettingsWidget* placefileSettingsWidget_ {nullptr}; | ||||
|    RadarSiteDialog*         radarSiteDialog_; | ||||
|    QFontDialog*             fontDialog_; | ||||
| 
 | ||||
|    settings::SettingsInterface<std::string>               defaultRadarSite_ {}; | ||||
|    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
 | ||||
|    // radar site
 | ||||
|    auto& defaultRadarSite = *defaultRadarSite_.GetSettingsVariable(); | ||||
|  |  | |||
|  | @ -438,6 +438,214 @@ | |||
|         </widget> | ||||
|         <widget class="QWidget" name="text"> | ||||
|          <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> | ||||
|            <widget class="QFrame" name="frame_3"> | ||||
|             <property name="frameShape"> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat