forked from qt-creator/qt-creator
QmlDesigner: show zoom percentage as tooltip
Because of wrong dpi behavior sometimes the combobox is not big enough to show the complete zoom value, with tooltip it can be made visible. Change-Id: Id3ef7b677ea8302e0a332ff9f118483b9bff8178 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -99,22 +99,14 @@ QWidget *ZoomAction::createWidget(QWidget *parent)
|
||||
}
|
||||
|
||||
comboBox->setCurrentIndex(m_currentComboBoxIndex);
|
||||
comboBox->setToolTip(comboBox->currentText());
|
||||
connect(this, &ZoomAction::reseted, comboBox, [this, comboBox]() {
|
||||
blockSignals(true);
|
||||
comboBox->setCurrentIndex(m_currentComboBoxIndex);
|
||||
blockSignals(false);
|
||||
});
|
||||
connect(comboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
||||
this, &ZoomAction::emitZoomLevelChanged);
|
||||
connect(this, &ZoomAction::indexChanged, comboBox, &QComboBox::setCurrentIndex);
|
||||
|
||||
comboBox->setProperty("hideborder", true);
|
||||
comboBox->setMaximumWidth(qMax(comboBox->view()->sizeHintForColumn(0) / 2, 16));
|
||||
return comboBox;
|
||||
}
|
||||
|
||||
void ZoomAction::emitZoomLevelChanged(int index)
|
||||
{
|
||||
[this, comboBox](int index) {
|
||||
m_currentComboBoxIndex = index;
|
||||
|
||||
if (index == -1)
|
||||
@@ -122,6 +114,14 @@ void ZoomAction::emitZoomLevelChanged(int index)
|
||||
|
||||
const QModelIndex modelIndex(m_comboBoxModel.data()->index(index, 0));
|
||||
setZoomLevel(m_comboBoxModel.data()->data(modelIndex, Qt::UserRole).toFloat());
|
||||
comboBox->setToolTip(modelIndex.data().toString());
|
||||
});
|
||||
|
||||
connect(this, &ZoomAction::indexChanged, comboBox, &QComboBox::setCurrentIndex);
|
||||
|
||||
comboBox->setProperty("hideborder", true);
|
||||
comboBox->setMaximumWidth(qMax(comboBox->view()->sizeHintForColumn(0) / 2, 16));
|
||||
return comboBox;
|
||||
}
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
@@ -56,9 +56,6 @@ signals:
|
||||
void indexChanged(int);
|
||||
void reseted();
|
||||
|
||||
private:
|
||||
void emitZoomLevelChanged(int index);
|
||||
|
||||
private:
|
||||
QPointer<QAbstractItemModel> m_comboBoxModel;
|
||||
float m_zoomLevel;
|
||||
|
Reference in New Issue
Block a user