Patch from Will Stephenson to use 'translucency' consistently and some tweaks.

svn path=/trunk/KDE/kdebase/workspace/; revision=865928
icc-effect-5.14.5
Luboš Luňák 2008-09-29 13:33:58 +00:00
parent a6c023ee84
commit e2598cbd22
3 changed files with 467 additions and 369 deletions

View File

@ -54,8 +54,7 @@ MakeTransparentEffectConfig::MakeTransparentEffectConfig(QWidget* parent, const
connect(m_ui->dialogs, SIGNAL(valueChanged(int)), this, SLOT(changed()));
connect(m_ui->comboboxpopup, SIGNAL(valueChanged(int)), this, SLOT(changed()));
connect(m_ui->menus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
connect(m_ui->individualmenuconfig, SIGNAL(stateChanged(int)), this, SLOT(setIndividualMenuConfig(int)));
connect(m_ui->individualmenuconfig, SIGNAL(stateChanged(int)), this, SLOT(changed()));
connect(m_ui->individualmenuconfig, SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(m_ui->dropdownmenus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
connect(m_ui->popupmenus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
connect(m_ui->tornoffmenus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
@ -64,19 +63,6 @@ MakeTransparentEffectConfig::MakeTransparentEffectConfig(QWidget* parent, const
load();
}
void MakeTransparentEffectConfig::setIndividualMenuConfig(int state)
{
m_ui->menus->setEnabled( state == Qt::Checked ? false : true );
m_ui->menus_label->setEnabled( state == Qt::Checked ? false : true );
m_ui->dropdownmenus->setEnabled( state == Qt::Checked ? true : false );
m_ui->dropdownmenus_label->setEnabled( state == Qt::Checked ? true : false );
m_ui->popupmenus->setEnabled( state == Qt::Checked ? true : false );
m_ui->popupmenus_label->setEnabled( state == Qt::Checked ? true : false );
m_ui->tornoffmenus->setEnabled( state == Qt::Checked ? true : false );
m_ui->tornoffmenus_label->setEnabled( state == Qt::Checked ? true : false );
}
void MakeTransparentEffectConfig::load()
{
kDebug() ;
@ -95,7 +81,6 @@ void MakeTransparentEffectConfig::load()
m_ui->tornoffmenus->setValue( (int)( conf.readEntry( "TornOffMenus", 1.0) * 100 ) );
m_ui->duration->setValue( conf.readEntry( "Duration", 0) );
setIndividualMenuConfig( m_ui->individualmenuconfig->isChecked() ? Qt::Checked : Qt::Unchecked );
emit changed(false);
}

View File

@ -45,9 +45,6 @@ class MakeTransparentEffectConfig : public KCModule
virtual void load();
virtual void defaults();
public slots:
void setIndividualMenuConfig(int);
private:
MakeTransparentEffectConfigForm* m_ui;
};

View File

@ -5,337 +5,297 @@
<rect>
<x>0</x>
<y>0</y>
<width>497</width>
<height>634</height>
<width>350</width>
<height>483</height>
</rect>
</property>
<property name="windowTitle" >
<string>Translucency</string>
</property>
<layout class="QGridLayout" name="gridLayout_3" >
<property name="margin" >
<number>0</number>
</property>
<item row="1" column="0" >
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<string>Advanced opacity settings for menus:</string>
</property>
<layout class="QGridLayout" name="gridLayout_2" >
<item row="0" column="0" colspan="2" >
<widget class="QCheckBox" name="individualmenuconfig" >
<property name="text" >
<string>Set individual opacity for different menu types</string>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="dropdownmenus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Dropdown menus:</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QSpinBox" name="dropdownmenus" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="popupmenus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Popup menus:</string>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QSpinBox" name="popupmenus" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QLabel" name="tornoffmenus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Torn-off menus:</string>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QSpinBox" name="tornoffmenus" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" >
<widget class="QGroupBox" name="m_opacityGroupBox" >
<property name="title" >
<string>General opacity settings:</string>
<string>General translucency settings:</string>
</property>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" colspan="2" >
<widget class="QLabel" name="decorations_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Decorations:</string>
</property>
</widget>
</item>
<item row="0" column="2" >
<widget class="QSpinBox" name="decorations" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2" >
<widget class="QLabel" name="inactive_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Inactive windows:</string>
</property>
</widget>
</item>
<item row="1" column="2" >
<widget class="QSpinBox" name="inactive" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2" >
<widget class="QLabel" name="moveresize_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Moved or resized windows:</string>
</property>
</widget>
</item>
<item row="2" column="2" >
<widget class="QSpinBox" name="moveresize" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2" >
<widget class="QLabel" name="dialogs_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Dialogs:</string>
</property>
</widget>
</item>
<item row="3" column="2" >
<widget class="QSpinBox" name="dialogs" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2" >
<widget class="QLabel" name="comboboxpopup_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Combobox Popups:</string>
</property>
</widget>
</item>
<item row="4" column="2" >
<widget class="QSpinBox" name="comboboxpopup" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2" >
<widget class="QLabel" name="menus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Menus:</string>
</property>
</widget>
</item>
<item row="5" column="2" >
<widget class="QSpinBox" name="menus" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix" >
<string>%</string>
</property>
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
</widget>
</item>
<item row="6" column="0" >
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QLabel" name="label" >
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="1" >
<layout class="QHBoxLayout" name="horizontalLayout_2" >
<item>
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>Transparent</string>
</property>
</widget>
</item>
<item>
<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>
<item>
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>Opaque</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="decorations_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Fading duration:</string>
<string>Decorations:</string>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="durationSlider" >
<item row="1" column="1" >
<widget class="QSlider" name="decorations" >
<property name="minimum" >
<number>0</number>
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="inactive_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Inactive windows:</string>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QSlider" name="inactive" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QLabel" name="moveresize_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Moved or resized windows:</string>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QSlider" name="moveresize" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QLabel" name="dialogs_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Dialogs:</string>
</property>
</widget>
</item>
<item row="4" column="1" >
<widget class="QSlider" name="dialogs" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="5" column="0" >
<widget class="QLabel" name="comboboxpopup_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Combobox Popups:</string>
</property>
</widget>
</item>
<item row="5" column="1" >
<widget class="QSlider" name="comboboxpopup" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="6" column="0" >
<widget class="QLabel" name="menus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Menus:</string>
</property>
</widget>
</item>
<item row="6" column="1" >
<widget class="QSlider" name="menus" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="7" column="0" >
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QLabel" name="label" >
<property name="text" >
<string>Fading duration:</string>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="durationSlider" >
<property name="minimum" >
<number>0</number>
</property>
<property name="maximum" >
<number>5000</number>
</property>
<property name="singleStep" >
<number>100</number>
</property>
<property name="pageStep" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBothSides</enum>
</property>
<property name="tickInterval" >
<number>500</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="1" >
<widget class="QSpinBox" name="duration" >
<property name="minimumSize" >
<size>
<width>60</width>
<height>0</height>
</size>
</property>
<property name="specialValueText" >
<string>Default</string>
</property>
<property name="suffix" >
<string>msec</string>
</property>
<property name="maximum" >
<number>5000</number>
@ -343,42 +303,182 @@
<property name="singleStep" >
<number>100</number>
</property>
<property name="pageStep" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBothSides</enum>
</property>
<property name="tickInterval" >
<number>500</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="6" column="2" >
<widget class="QSpinBox" name="duration" >
<property name="minimumSize" >
<item>
<spacer name="verticalSpacer_2" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>60</width>
<height>0</height>
<width>20</width>
<height>40</height>
</size>
</property>
<property name="specialValueText" >
<string>Default</string>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="individualmenuconfig" >
<property name="title" >
<string>Set menu translucency independently:</string>
</property>
<property name="suffix" >
<string>msec</string>
<property name="checkable" >
<bool>true</bool>
</property>
<property name="maximum" >
<number>5000</number>
</property>
<property name="singleStep" >
<number>100</number>
<property name="checked" >
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2" >
<item>
<layout class="QGridLayout" name="gridLayout_2" >
<item row="0" column="1" >
<layout class="QHBoxLayout" name="horizontalLayout_4" >
<item>
<widget class="QLabel" name="label_6" >
<property name="text" >
<string>Transparent</string>
</property>
</widget>
</item>
<item>
<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>
<item>
<widget class="QLabel" name="label_7" >
<property name="text" >
<string>Opaque</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="dropdownmenus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Dropdown menus:</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QSlider" name="dropdownmenus" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="popupmenus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Popup menus:</string>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QSlider" name="popupmenus" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QLabel" name="tornoffmenus_label" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Torn-off menus:</string>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QSlider" name="tornoffmenus" >
<property name="minimum" >
<number>10</number>
</property>
<property name="maximum" >
<number>100</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition" >
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval" >
<number>10</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
</layout>
<zorder>verticalSpacer</zorder>
<zorder></zorder>
</widget>
</item>
</layout>
@ -395,12 +495,12 @@
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel" >
<x>476</x>
<y>280</y>
<x>337</x>
<y>274</y>
</hint>
<hint type="destinationlabel" >
<x>246</x>
<y>283</y>
<x>178</x>
<y>281</y>
</hint>
</hints>
</connection>
@ -411,12 +511,28 @@
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel" >
<x>246</x>
<y>283</y>
<x>178</x>
<y>281</y>
</hint>
<hint type="destinationlabel" >
<x>476</x>
<y>280</y>
<x>337</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>individualmenuconfig</sender>
<signal>toggled(bool)</signal>
<receiver>menus</receiver>
<slot>setDisabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>109</x>
<y>316</y>
</hint>
<hint type="destinationlabel" >
<x>212</x>
<y>220</y>
</hint>
</hints>
</connection>