2 * Copyright Johannes Sixt
3 * This file is licensed under the GNU General Public License Version 2.
4 * See the file COPYING in the toplevel directory of the source directory.
7 #include "pgmsettings.h"
8 #include <klocale.h> /* i18n */
10 #include <qfileinfo.h>
12 #include <qlineedit.h>
14 #include <qradiobutton.h>
15 #include <q3buttongroup.h>
16 #include <Q3VBoxLayout>
20 ChooseDriver::ChooseDriver(QWidget
* parent
) :
21 QWidget(parent
, "driver")
23 Q3VBoxLayout
* layout
= new Q3VBoxLayout(this, 10);
25 QLabel
* label
= new QLabel(this);
26 label
->setText(i18n("How to invoke &GDB - leave empty to use\n"
27 "the default from the global options:"));
28 label
->setMinimumSize(label
->sizeHint());
29 layout
->addWidget(label
);
31 m_debuggerCmd
= new QLineEdit(this);
32 m_debuggerCmd
->setMinimumSize(m_debuggerCmd
->sizeHint());
33 layout
->addWidget(m_debuggerCmd
);
34 label
->setBuddy(m_debuggerCmd
);
36 layout
->addStretch(10);
39 void ChooseDriver::setDebuggerCmd(const QString
& cmd
)
41 m_debuggerCmd
->setText(cmd
);
44 QString
ChooseDriver::debuggerCmd() const
46 return m_debuggerCmd
->text();
50 OutputSettings::OutputSettings(QWidget
* parent
) :
51 QWidget(parent
, "output")
53 // the group is invisible
54 m_group
= new Q3ButtonGroup(this);
57 Q3VBoxLayout
* layout
= new Q3VBoxLayout(this, 10);
61 btn
= new QRadioButton(i18n("&No input and output"), this);
62 m_group
->insert(btn
, 0);
63 btn
->setMinimumSize(btn
->sizeHint());
64 layout
->addWidget(btn
);
66 btn
= new QRadioButton(i18n("&Only output, simple terminal emulation"), this);
67 m_group
->insert(btn
, 1);
68 btn
->setMinimumSize(btn
->sizeHint());
69 layout
->addWidget(btn
);
71 btn
= new QRadioButton(i18n("&Full terminal emulation"), this);
72 m_group
->insert(btn
, 7);
73 btn
->setMinimumSize(btn
->sizeHint());
74 layout
->addWidget(btn
);
76 layout
->addStretch(10);
78 // there is no simpler way to get to the active button than
79 // to connect to a signal
80 connect(m_group
, SIGNAL(clicked(int)), SLOT(slotLevelChanged(int)));
83 void OutputSettings::setTTYLevel(int l
)
85 m_group
->setButton(l
);
89 void OutputSettings::slotLevelChanged(int id
)
92 TRACE("new ttyLevel: " + QString().setNum(id
));
97 ProgramSettings::ProgramSettings(QWidget
* parent
, QString exeName
, bool modal
) :
98 Q3TabDialog(parent
, "program_settings", modal
),
103 QFileInfo
fi(exeName
);
104 QString cap
= KGlobal::caption();
105 QString title
= i18n("%1: Settings for %2");
106 setCaption(title
.arg(cap
, fi
.fileName()));
108 setCancelButton(i18n("Cancel"));
109 setOKButton(i18n("OK"));
111 addTab(&m_chooseDriver
, i18n("&Debugger"));
112 addTab(&m_output
, i18n("&Output"));
115 #include "pgmsettings.moc"