MCPcopy Create free account
hub / github.com/ElementsProject/elements / minimumSizeHint

Function minimumSizeHint

src/qt/bitcoinamountfield.cpp:178–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176 }
177
178 QSize minimumSizeHint() const override
179 {
180 if(cachedMinimumSizeHint.isEmpty())
181 {
182 ensurePolished();
183
184 const QFontMetrics fm(fontMetrics());
185 int h = lineEdit()->minimumSizeHint().height();
186 int w = GUIUtil::TextWidth(fm, BitcoinUnits::format(BitcoinUnits::BTC, BitcoinUnits::maxMoney(), false, BitcoinUnits::SeparatorStyle::ALWAYS));
187 w += 2; // cursor blinking space
188
189 QStyleOptionSpinBox opt;
190 initStyleOption(&opt);
191 QSize hint(w, h);
192 QSize extra(35, 6);
193 opt.rect.setSize(hint + extra);
194 extra += hint - style()->subControlRect(QStyle::CC_SpinBox, &opt,
195 QStyle::SC_SpinBoxEditField, this).size();
196 // get closer to final result by repeating the calculation
197 opt.rect.setSize(hint + extra);
198 extra += hint - style()->subControlRect(QStyle::CC_SpinBox, &opt,
199 QStyle::SC_SpinBoxEditField, this).size();
200 hint += extra;
201 hint.setHeight(h);
202
203 opt.rect = rect();
204
205 cachedMinimumSizeHint = style()->sizeFromContents(QStyle::CT_SpinBox, &opt, hint, this)
206 .expandedTo(QApplication::globalStrut());
207 }
208 return cachedMinimumSizeHint;
209 }
210
211private:
212 CAsset current_asset;

Callers

nothing calls this directly

Calls 4

TextWidthFunction · 0.85
formatFunction · 0.50
heightMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected