void BasicTab::initConnections() { // general tab's components connect(_nameEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_descriptionEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_commentEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_execEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_execEdit, SIGNAL(urlSelected(KUrl)), SLOT(slotExecSelected())); connect(_launchCB, SIGNAL(clicked()), SLOT(launchcb_clicked())); connect(_systrayCB, SIGNAL(clicked()), SLOT(systraycb_clicked())); connect(_onlyShowInKdeCB, SIGNAL(clicked()), SLOT(onlyshowcb_clicked())); connect(_hiddenEntryCB, SIGNAL(clicked()), SLOT(hiddenentrycb_clicked())); connect(_iconButton, SIGNAL(iconChanged(QString)), SLOT(slotChanged())); // advanced tab's components connect(_pathEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_terminalCB, SIGNAL(clicked()), SLOT(termcb_clicked())); connect(_terminalOptionsEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_userCB, SIGNAL(clicked()), SLOT(uidcb_clicked())); connect(_userNameEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_keyBindingEdit, SIGNAL(keySequenceChanged(QKeySequence)), this, SLOT(slotCapturedKeySequence(QKeySequence))); }
BasicTab::BasicTab( QWidget *parent ) : KTabWidget(parent) { _menuFolderInfo = 0; _menuEntryInfo = 0; // general group QWidget *general_group = new QWidget(); QGridLayout *grid = new QGridLayout(general_group); grid->setMargin( KDialog::marginHint() ); grid->setSpacing( KDialog::spacingHint() ); general_group->setAcceptDrops(false); // setup line inputs _nameEdit = new KLineEdit(general_group); _nameEdit->setAcceptDrops(false); _descriptionEdit = new KLineSpellChecking(general_group); _descriptionEdit->setAcceptDrops(false); _commentEdit = new KLineSpellChecking(general_group); _commentEdit->setAcceptDrops(false); _execEdit = new KUrlRequester(general_group); _execEdit->lineEdit()->setAcceptDrops(false); _execEdit->setWhatsThis(i18n( "Following the command, you can have several place holders which will be replaced " "with the actual values when the actual program is run:\n" "%f - a single file name\n" "%F - a list of files; use for applications that can open several local files at once\n" "%u - a single URL\n" "%U - a list of URLs\n" "%d - the folder of the file to open\n" "%D - a list of folders\n" "%i - the icon\n" "%m - the mini-icon\n" "%c - the caption")); _launchCB = new QCheckBox(i18n("Enable &launch feedback"), general_group); _systrayCB = new QCheckBox(i18n("&Place in system tray"), general_group); _onlyShowInKdeCB = new QCheckBox( i18n( "Only show in KDE" ), general_group ); _hiddenEntryCB = new QCheckBox( i18n( "Hidden entry" ), general_group ); _hiddenEntryCB->hide(); // setup labels _nameLabel = new QLabel(i18n("&Name:"),general_group); _nameLabel->setBuddy(_nameEdit); _descriptionLabel = new QLabel(i18n("&Description:"),general_group); _descriptionLabel->setBuddy(_descriptionEdit); _commentLabel = new QLabel(i18n("&Comment:"),general_group); _commentLabel->setBuddy(_commentEdit); _execLabel = new QLabel(i18n("Co&mmand:"),general_group); _execLabel->setBuddy(_execEdit); grid->addWidget(_nameLabel, 0, 0); grid->addWidget(_descriptionLabel, 1, 0); grid->addWidget(_commentLabel, 2, 0); grid->addWidget(_execLabel, 3, 0); // connect line inputs connect(_nameEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_descriptionEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_commentEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_execEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); connect(_execEdit, SIGNAL(urlSelected(KUrl)), SLOT(slotExecSelected())); connect(_launchCB, SIGNAL(clicked()), SLOT(launchcb_clicked())); connect(_systrayCB, SIGNAL(clicked()), SLOT(systraycb_clicked())); connect(_onlyShowInKdeCB, SIGNAL(clicked()), SLOT(onlyshowcb_clicked()) ); connect( _hiddenEntryCB, SIGNAL(clicked()), SLOT(hiddenentrycb_clicked()) ); // add line inputs to the grid grid->addWidget(_nameEdit, 0, 1, 1, 1); grid->addWidget(_descriptionEdit, 1, 1, 1, 1); grid->addWidget(_commentEdit, 2, 1, 1, 2); grid->addWidget(_execEdit, 3, 1, 1, 2); grid->addWidget(_launchCB, 4, 0, 1, 3 ); grid->addWidget(_systrayCB, 5, 0, 1, 3 ); grid->addWidget(_onlyShowInKdeCB, 6, 0, 1, 3 ); grid->addWidget(_hiddenEntryCB, 7, 0, 1, 3 ); // setup icon button _iconButton = new KIconButton(general_group); _iconButton->setFixedSize(56,56); _iconButton->setIconSize(32); connect(_iconButton, SIGNAL(iconChanged(QString)), SLOT(slotChanged())); grid->addWidget(_iconButton, 0, 2, 2, 1); grid->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding), 8, 0, 1, 3); // add the general group to the main layout addTab(general_group, i18n("General")); QWidget *advanced = new QWidget(); QVBoxLayout *advancedLayout = new QVBoxLayout(advanced); // path group _path_group = new QGroupBox(this); QHBoxLayout *hboxLayout1 = new QHBoxLayout(_path_group); hboxLayout1->setSpacing(KDialog::spacingHint()); hboxLayout1->setMargin(KDialog::marginHint()); _pathLabel = new QLabel(i18n("&Work path:"), _path_group); hboxLayout1->addWidget(_pathLabel); _pathEdit = new KUrlRequester(_path_group); hboxLayout1->addWidget(_pathEdit); _pathEdit->setMode(KFile::Directory | KFile::LocalOnly); _pathEdit->lineEdit()->setAcceptDrops(false); _pathLabel->setBuddy(_pathEdit); connect(_pathEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); advancedLayout->addWidget(_path_group); // terminal group _term_group = new QGroupBox(this); QVBoxLayout *vbox = new QVBoxLayout(_term_group); vbox->setMargin(KDialog::marginHint()); vbox->setSpacing(KDialog::spacingHint()); _terminalCB = new QCheckBox(i18n("Run in term&inal"), _term_group); connect(_terminalCB, SIGNAL(clicked()), SLOT(termcb_clicked())); vbox->addWidget(_terminalCB); QWidget *hbox = new QWidget(_term_group); QHBoxLayout *hboxLayout2 = new QHBoxLayout(hbox); hbox->setLayout(hboxLayout2); hboxLayout2->setSpacing(KDialog::spacingHint()); _termOptLabel = new QLabel(i18n("Terminal &options:"), hbox); hboxLayout2->addWidget(_termOptLabel); _termOptEdit = new KLineEdit(hbox); hboxLayout2->addWidget(_termOptEdit); _termOptEdit->setAcceptDrops(false); _termOptLabel->setBuddy(_termOptEdit); connect(_termOptEdit, SIGNAL(textChanged(QString)), SLOT(slotChanged())); vbox->addWidget(hbox); advancedLayout->addWidget(_term_group); _termOptEdit->setEnabled(false); // uid group _uid_group = new QGroupBox(this); vbox = new QVBoxLayout(_uid_group); vbox->setMargin(KDialog::marginHint()); vbox->setSpacing(KDialog::spacingHint()); _uidCB = new QCheckBox(i18n("&Run as a different user"), _uid_group); connect(_uidCB, SIGNAL(clicked()), SLOT(uidcb_clicked())); vbox->addWidget(_uidCB); hbox = new QWidget(_uid_group); QHBoxLayout *hboxLayout3 = new QHBoxLayout(hbox); hbox->setLayout(hboxLayout3); hboxLayout3->setSpacing(KDialog::spacingHint()); _uidLabel = new QLabel(i18n("&Username:"******"Current shortcut &key:"), general_group_keybind); l->setBuddy( _keyEdit ); keybindLayout->addWidget(l); connect( _keyEdit, SIGNAL(keySequenceChanged(QKeySequence)), this, SLOT(slotCapturedKeySequence(QKeySequence))); keybindLayout->addWidget(_keyEdit); advancedLayout->addWidget( general_group_keybind ); advancedLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding)); addTab(advanced, i18n("Advanced")); if (!KHotKeys::present()) general_group_keybind->hide(); slotDisableAction(); }