21#include <tqcheckbox.h>
24#include <kiconloader.h>
27#include <kpushbutton.h>
30#include "objecttreeview.h"
32#include "tabstopdialog.h"
40TabStopDialog::TabStopDialog(TQWidget *parent)
41: KDialogBase(parent,
"tabstop_dialog", true, i18n(
"Edit Tab Order"), Ok|Cancel, Ok, false)
43 TQFrame *frame = makeMainWidget();
44 TQGridLayout *l =
new TQGridLayout(frame, 2, 2, 0, 6);
46 m_treeview->setItemsMovable(
true);
47 m_treeview->setDragEnabled(
true);
48 m_treeview->setDropVisualizer(
true);
49 m_treeview->setAcceptDrops(
true);
50 m_treeview->setFocus();
51 l->addWidget(m_treeview, 0, 0);
53 m_treeview->m_form = 0;
54 connect(m_treeview, TQ_SIGNAL(currentChanged(TQListViewItem*)),
this, TQ_SLOT(updateButtons(TQListViewItem*)));
55 connect(m_treeview, TQ_SIGNAL(moved(TQListViewItem*, TQListViewItem*, TQListViewItem*)),
this, TQ_SLOT(updateButtons(TQListViewItem*)));
57 TQVBoxLayout *vbox =
new TQVBoxLayout();
58 l->addLayout(vbox, 0, 1);
59 m_btnUp =
new KPushButton(SmallIconSet(
"1uparrow"), i18n(
"Move Up"), frame);
60 TQToolTip::add( m_btnUp, i18n(
"Move widget up") );
61 vbox->addWidget(m_btnUp);
62 connect(m_btnUp, TQ_SIGNAL(clicked()),
this, TQ_SLOT(moveItemUp()));
64 m_btnDown =
new KPushButton(SmallIconSet(
"1downarrow"), i18n(
"Move Down"), frame);
65 TQToolTip::add( m_btnDown, i18n(
"Move widget down") );
66 vbox->addWidget(m_btnDown);
67 connect(m_btnDown, TQ_SIGNAL(clicked()),
this, TQ_SLOT(moveItemDown()));
70 m_check =
new TQCheckBox(i18n(
"Handle tab order automatically"), frame,
"tabstops_check");
71 connect(m_check, TQ_SIGNAL(toggled(
bool)),
this, TQ_SLOT(slotRadioClicked(
bool)));
72 l->addMultiCellWidget(m_check, 1, 1, 0, 1);
75 setInitialSize(TQSize(500+m_btnUp->width(), TQMAX(400,m_treeview->height())));
78TabStopDialog::~TabStopDialog()
82int TabStopDialog::exec(
Form *form)
85 m_treeview->m_form = form;
92 for(;it.current(); --it)
93 new ObjectTreeViewItem(m_treeview, it.current());
97 if (m_treeview->firstChild()) {
98 m_treeview->setCurrentItem(m_treeview->firstChild());
99 m_treeview->setSelected(m_treeview->firstChild(),
true);
102 if (TQDialog::Rejected == KDialogBase::exec())
103 return TQDialog::Rejected;
110 return TQDialog::Accepted;
115 ObjectTreeViewItem *item = (ObjectTreeViewItem*)m_treeview->firstChild();
121 item = (ObjectTreeViewItem*)item->nextSibling();
123 return TQDialog::Accepted;
127TabStopDialog::moveItemUp()
129 if (!m_treeview->selectedItem())
131 TQListViewItem *before = m_treeview->selectedItem()->itemAbove();
132 before->moveItem(m_treeview->selectedItem());
133 updateButtons(m_treeview->selectedItem());
137TabStopDialog::moveItemDown()
139 TQListViewItem *item = m_treeview->selectedItem();
142 item->moveItem( item->nextSibling());
147TabStopDialog::updateButtons(TQListViewItem *item)
149 m_btnUp->setEnabled( item && (item->itemAbove() && m_treeview->isEnabled()
151 m_btnDown->setEnabled( item && item->nextSibling() && m_treeview->isEnabled() );
155TabStopDialog::slotRadioClicked(
bool isOn)
157 m_treeview->setEnabled(!isOn);
158 updateButtons( m_treeview->selectedItem() );
162TabStopDialog::autoTabStops()
const
164 return m_check->isChecked();
167#include "tabstopdialog.moc"