20#include "KWFootNoteDia.h"
21#include "KWFootNoteDia.moc"
23#include <tqbuttongroup.h>
25#include <tqradiobutton.h>
29#include <tqlineedit.h>
30#include "KWConfigFootNoteDia.h"
37KWFootNoteDia::KWFootNoteDia( NoteType _noteType, KWFootNoteVariable::Numbering _numberingType,
const TQString & _manualString, TQWidget *parent, KWDocument *_doc,
const char *name )
38 : KDialogBase( parent, name, true, TQString(), Ok|Cancel|User1, Ok, true )
43 setCaption( i18n(
"Insert Footnote/Endnote") );
45 TQVBox *page = makeVBoxMainWidget();
47 TQButtonGroup *grp =
new TQButtonGroup( i18n(
"Numbering"), page );
48 TQGridLayout *grid =
new TQGridLayout( grp, 9, 4, KDialog::marginHint(), KDialog::spacingHint());
49 m_rbAuto =
new TQRadioButton( i18n(
"&Automatic"), grp );
50 m_rbManual=
new TQRadioButton( i18n(
"&Manual"), grp );
52 grp->setExclusive(
true );
53 int fHeight = grp->fontMetrics().height();
54 grid->addRowSpacing( 0, fHeight/2 );
55 grid->addWidget( m_rbAuto, 1, 0);
56 grid->addWidget( m_rbManual, 2, 0);
57 if ( _numberingType == KWFootNoteVariable::Auto )
58 m_rbAuto->setChecked(
true );
60 m_rbManual->setChecked(
true );
61 m_footLine =
new TQLineEdit( grp);
62 m_footLine->setText( _manualString );
63 connect( m_footLine, TQ_SIGNAL( textChanged (
const TQString & )),
this, TQ_SLOT(footLineChanged(
const TQString & )));
64 connect( grp, TQ_SIGNAL( clicked (
int ) ),
this, TQ_SLOT(footNoteTypeChanged()));
65 grid->addWidget( m_footLine, 2, 1);
68 grp =
new TQButtonGroup( 4, TQt::Vertical, page );
69 m_rbFootNote =
new TQRadioButton( i18n(
"&Footnote"), grp );
70 m_rbEndNote =
new TQRadioButton( i18n(
"&Endnote"), grp );
72 grp->setExclusive(
true );
73 grp->insert( m_rbFootNote );
74 grp->insert( m_rbEndNote );
75 if (_noteType == FootNote )
76 m_rbFootNote->setChecked(
true );
78 m_rbEndNote->setChecked(
true );
80 footNoteTypeChanged();
81 setButtonText( KDialogBase::User1, i18n(
"C&onfigure...") );
82 connect(
this, TQ_SIGNAL( user1Clicked() ),
this, TQ_SLOT(slotConfigurate()));
85void KWFootNoteDia::footNoteTypeChanged()
87 if ( m_rbManual->isChecked())
89 enableButtonOK( !m_footLine->text().isEmpty() );
90 m_footLine->setFocus();
99void KWFootNoteDia::footLineChanged(
const TQString &text )
101 m_rbManual->setChecked(
true );
102 if ( text.isEmpty() || footNoteAlreadyExists(text) )
103 enableButtonOK(
false );
105 enableButtonOK(
true );
108NoteType KWFootNoteDia::noteType()
const
110 return m_rbFootNote->isChecked() ? FootNote : EndNote;
113KWFootNoteVariable::Numbering KWFootNoteDia::numberingType()
const
115 return m_rbAuto->isChecked() ? KWFootNoteVariable::Auto : KWFootNoteVariable::Manual;
118TQString KWFootNoteDia::manualString()
const
120 return m_rbAuto->isChecked() ? TQString() : m_footLine->text();
123void KWFootNoteDia::slotConfigurate()
125 KWConfigFootNoteDia *dia =
new KWConfigFootNoteDia(
this,
"configfootnote", m_doc );
130bool KWFootNoteDia::footNoteAlreadyExists(
const TQString & text )
132 return manualFootNotes.contains( text );
135void KWFootNoteDia::appendManualFootNote(
const TQString & text )
137 manualFootNotes.append( text );