21#include "KWDocument.h"
24#include <tqlineedit.h>
25#include <tqpushbutton.h>
27#include <tdemessagebox.h>
29#include "KWCreateBookmarkDia.h"
30#include "KWCreateBookmarkDiaBase.h"
32#include "KWFrameSet.h"
34KWCreateBookmarkDia::KWCreateBookmarkDia(
const TQStringList & _list, TQWidget *parent,
const char *name )
35 : KDialogBase( parent, name , true,
"", Ok|Cancel, Ok, true )
37 setCaption( i18n(
"Create New Bookmark") );
42KWCreateBookmarkDia::KWCreateBookmarkDia(
const TQStringList & _list,
const TQString & _name, TQWidget *parent,
const char *name )
43 : KDialogBase( parent, name , true,
"", Ok|Cancel, Ok, true )
45 setCaption( i18n(
"Rename Bookmark") );
48 m_bookmarkName->setText(_name);
51void KWCreateBookmarkDia::init()
53 KWCreateBookmarkDiaBase *dia =
new KWCreateBookmarkDiaBase(
this );
54 m_bookmarkName = dia->m_bookmarkName;
55 enableButtonOK(
false );
56 connect( m_bookmarkName, TQ_SIGNAL(textChanged (
const TQString & )),
this, TQ_SLOT(nameChanged(
const TQString &)));
58 m_bookmarkName->setFocus();
61void KWCreateBookmarkDia::slotOk()
63 if ( listBookMark.findIndex(m_bookmarkName->text() ) != -1 )
65 KMessageBox::error(
this, i18n(
"That name already exists, please choose another name."));
68 KDialogBase::slotOk();
71TQString KWCreateBookmarkDia::bookmarkName()
const
73 return m_bookmarkName->text();
76void KWCreateBookmarkDia::nameChanged(
const TQString &text)
78 enableButtonOK( !text.isEmpty() );
83KWSelectBookmarkDia::KWSelectBookmarkDia(
const TQStringList & _list, KWDocument *_doc, TQWidget *parent,
const char *name )
84 : KDialogBase( parent, name , true,
"", Ok|Cancel, Ok, true )
87 setCaption( i18n(
"Select Bookmark") );
88 TQWidget *page =
new TQWidget(
this );
91 TQGridLayout * grid =
new TQGridLayout(page, 5, 2, KDialog::marginHint(), KDialog::spacingHint());
92 m_bookmarkList =
new TQListBox( page );
93 grid->addMultiCellWidget(m_bookmarkList, 0, 4, 0, 0);
94 m_bookmarkList->insertStringList(_list);
96 connect(m_bookmarkList, TQ_SIGNAL( selectionChanged ()),
this, TQ_SLOT(slotSelectionChanged()));
97 connect(m_bookmarkList, TQ_SIGNAL(doubleClicked ( TQListBoxItem * )),
this, TQ_SLOT(slotOk()));
98 connect(m_bookmarkList, TQ_SIGNAL(returnPressed ( TQListBoxItem * )),
this, TQ_SLOT(slotOk()));
100 m_pbRename =
new TQPushButton( i18n(
"Rename Bookmark"), page );
101 grid->addWidget( m_pbRename, 0, 1);
102 connect( m_pbRename, TQ_SIGNAL(clicked()),
this, TQ_SLOT(slotRenameBookmark()));
104 m_pbDelete =
new TQPushButton( i18n(
"Delete Bookmark"), page );
105 grid->addWidget( m_pbDelete, 1, 1);
107 connect( m_pbDelete, TQ_SIGNAL(clicked()),
this, TQ_SLOT(slotDeleteBookmark()));
109 m_bookmarkList->setFocus();
110 slotSelectionChanged();
113void KWSelectBookmarkDia::slotRenameBookmark()
115 TQString tmp =m_bookmarkList->currentText();
119 TQStringList lst =m_doc->listOfBookmarkName(0L);
121 KWCreateBookmarkDia dia( lst, tmp,
this, 0 );
123 TQString newName = dia.bookmarkName();
124 KWRenameBookmarkCommand *cmd =
new KWRenameBookmarkCommand( i18n(
"Rename Bookmark"), tmp, newName, m_doc);
125 m_doc->addCommand( cmd );
127 m_bookmarkList->changeItem ( newName, m_bookmarkList->currentItem() );
131void KWSelectBookmarkDia::slotDeleteBookmark()
133 TQString tmp =m_bookmarkList->currentText();
136 m_doc->deleteBookmark(tmp);
137 m_bookmarkList->removeItem(m_bookmarkList->currentItem());
142TQString KWSelectBookmarkDia::bookmarkSelected()
const
144 return m_bookmarkList->currentText();
147void KWSelectBookmarkDia::slotSelectionChanged()
149 bool state =!m_bookmarkList->currentText().isEmpty();
150 enableButtonOK( state );
151 m_pbRename->setEnabled( state);
152 m_pbDelete->setEnabled( state && m_doc->isReadWrite());
155#include "KWCreateBookmarkDia.moc"