Hide useless action buttons when list widget is read only

This commit is contained in:
Nyall Dawson 2024-03-25 12:03:36 +10:00
parent 63c1d5cfc0
commit 317aae6f0e
2 changed files with 76 additions and 46 deletions

View File

@ -71,4 +71,15 @@ void QgsTableWidgetBase::setReadOnly( bool readOnly )
addButton->setEnabled( !mReadOnly );
removeButton->setEnabled( !mReadOnly && tableView->selectionModel()->hasSelection() );
if ( mReadOnly )
{
mWidgetActions->hide();
layout()->setSpacing( 0 );
}
else
{
mWidgetActions->show();
layout()->setSpacing( 6 );
}
}

View File

@ -58,55 +58,74 @@
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="mActionLayout">
<item>
<widget class="QToolButton" name="addButton">
<property name="toolTip">
<string>Add entry</string>
</property>
<property name="text">
<string>…</string>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/symbologyAdd.svg</normaloff>:/images/themes/default/symbologyAdd.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="removeButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Remove entry</string>
</property>
<property name="text">
<string>…</string>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/symbologyRemove.svg</normaloff>:/images/themes/default/symbologyRemove.svg</iconset>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
<widget class="QWidget" name="mWidgetActions" native="true">
<layout class="QVBoxLayout" name="verticalLayout">
<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>
<widget class="QToolButton" name="addButton">
<property name="toolTip">
<string>Add entry</string>
</property>
<property name="text">
<string>…</string>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/symbologyAdd.svg</normaloff>:/images/themes/default/symbologyAdd.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="removeButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Remove entry</string>
</property>
<property name="text">
<string>…</string>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/symbologyRemove.svg</normaloff>:/images/themes/default/symbologyRemove.svg</iconset>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>tableView</tabstop>
<tabstop>addButton</tabstop>
<tabstop>removeButton</tabstop>
</tabstops>
<resources>
<include location="../../images/images.qrc"/>
</resources>