00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KO_DOCUMENT_SECTION_PROPERTY_ACTION_P_H
00021 #define KO_DOCUMENT_SECTION_PROPERTY_ACTION_P_H
00022
00023 #include <QPersistentModelIndex>
00024 #include "KoDocumentSectionModel.h"
00025 #include "KoDocumentSectionView.h"
00026
00027 class KoDocumentSectionView::PropertyAction: public QAction
00028 {
00029 typedef QAction super;
00030 Q_OBJECT
00031 Model::Property m_property;
00032 int m_num;
00033 QPersistentModelIndex m_index;
00034
00035 signals:
00036 void toggled( bool on, const QPersistentModelIndex &index, int property );
00037
00038 public:
00039 PropertyAction( int num, const Model::Property &p, const QPersistentModelIndex &index, QObject *parent = 0 )
00040 : QAction( parent ), m_property( p ), m_num( num ), m_index( index )
00041 {
00042 connect( this, SIGNAL( triggered( bool ) ), this, SLOT( slotTriggered() ) );
00043 setText( m_property.name );
00044 setIcon( m_property.state.toBool() ? m_property.onIcon : m_property.offIcon );
00045 }
00046
00047 private slots:
00048 void slotTriggered()
00049 {
00050 m_property.state = !m_property.state.toBool();
00051 setIcon( m_property.state.toBool() ? m_property.onIcon : m_property.offIcon );
00052 emit toggled( m_property.state.toBool(), m_index, m_num );
00053 }
00054 };
00055
00056 #endif