Skip to content
Permalink
Browse files

Show comments as tooltips on form

Let's face it, where we need the information is not in the layer
properties configuration, it's when we enter the data.
  • Loading branch information
m-kuhn committed Oct 26, 2017
1 parent d40447e commit 869fc604b00a9221c48e73c4edfe54113e07fdb0
Showing with 5 additions and 0 deletions.
  1. +4 −0 src/gui/qgsattributeform.cpp
  2. +1 −0 src/gui/qgsattributeform.h
@@ -1192,6 +1192,7 @@ void QgsAttributeForm::init()
tabWidget = nullptr;
WidgetInfo widgetInfo = createWidgetFromDef( widgDef, container, mLayer, mContext );
QLabel *label = new QLabel( widgetInfo.labelText );
label->setToolTip( QStringLiteral( "<b>%1</b><p>%2</p>" ).arg( widgetInfo.labelText, widgetInfo.hint ) );
if ( columnCount > 1 && !widgetInfo.labelOnTop )
{
label->setAlignment( Qt::AlignRight | Qt::AlignVCenter );
@@ -1277,6 +1278,7 @@ void QgsAttributeForm::init()

// This will also create the widget
QLabel *l = new QLabel( fieldName );
l->setToolTip( QStringLiteral( "<b>%1</b><p>%2</p>" ).arg( fieldName, field.comment() ) );
QSvgWidget *i = new QSvgWidget();
i->setFixedSize( 18, 18 );

@@ -1599,6 +1601,7 @@ QgsAttributeForm::WidgetInfo QgsAttributeForm::createWidgetFromDef( const QgsAtt

newWidgetInfo.labelOnTop = mLayer->editFormConfig().labelOnTop( fieldDef->idx() );
newWidgetInfo.labelText = mLayer->attributeDisplayName( fieldDef->idx() );
newWidgetInfo.hint = mLayer->fields().at( fieldDef->idx() ).comment();
newWidgetInfo.showLabel = widgetDef->showLabel();

break;
@@ -1687,6 +1690,7 @@ QgsAttributeForm::WidgetInfo QgsAttributeForm::createWidgetFromDef( const QgsAtt
else
{
QLabel *mypLabel = new QLabel( widgetInfo.labelText );
mypLabel->setToolTip( QStringLiteral( "<b>%1</b><p>%2</p>" ).arg( widgetInfo.labelText, widgetInfo.hint ) );
if ( columnCount > 1 && !widgetInfo.labelOnTop )
{
mypLabel->setAlignment( Qt::AlignRight | Qt::AlignVCenter );
@@ -304,6 +304,7 @@ class GUI_EXPORT QgsAttributeForm : public QWidget

QWidget *widget = nullptr;
QString labelText;
QString hint;
bool labelOnTop = false;
bool labelAlignRight = false;
bool showLabel = true;

0 comments on commit 869fc60

Please sign in to comment.
You can’t perform that action at this time.