File indexing completed on 2024-04-28 16:26:36
0001 /****************************************************************************************** 0002 begin : Sat 3-1 20:40:00 CEST 2004 0003 copyright : (C) 2004 by Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net) 0004 2007-2017 by Michel Ludwig (michel.ludwig@kdemail.net) 0005 ******************************************************************************************/ 0006 0007 /*************************************************************************** 0008 * * 0009 * This program is free software; you can redistribute it and/or modify * 0010 * it under the terms of the GNU General Public License as published by * 0011 * the Free Software Foundation; either version 2 of the License, or * 0012 * (at your option) any later version. * 0013 * * 0014 ***************************************************************************/ 0015 0016 #include "widgets/toolconfigwidget.h" 0017 0018 #include <QCheckBox> 0019 #include <QInputDialog> 0020 #include <QLabel> 0021 #include <QLayout> 0022 #include <QRegExp> 0023 #include <QSpinBox> 0024 #include <QStackedWidget> 0025 #include <QTabWidget> 0026 #include <QVBoxLayout> 0027 0028 #include "kiledebug.h" 0029 #include <KLocalizedString> 0030 #include <kicondialog.h> 0031 #include <kiconloader.h> 0032 #include <kcombobox.h> 0033 #include <QPushButton> 0034 #include <kconfig.h> 0035 #include <kmessagebox.h> 0036 #include <KConfigGroup> 0037 0038 #include "kiletool_enums.h" 0039 #include "kiletoolmanager.h" 0040 #include "kilestdtools.h" 0041 #include "widgets/maintoolconfigwidget.h" 0042 #include "widgets/processtoolconfigwidget.h" 0043 #include "widgets/quicktoolconfigwidget.h" 0044 #include "widgets/latextoolconfigwidget.h" 0045 #include "dialogs/newtoolwizard.h" 0046 0047 namespace KileWidget 0048 { 0049 ToolConfig::ToolConfig(KileTool::Manager *mngr, QWidget *parent, const char *name) : 0050 QWidget(parent), 0051 m_manager(mngr) 0052 { 0053 setObjectName(name); 0054 m_config = m_manager->config(); 0055 QVBoxLayout *layout = new QVBoxLayout(); 0056 layout->setContentsMargins(0, 0, 0, 0); 0057 //TODO PORT QT5 layout->setSpacing(QDialog::spacingHint()); 0058 setLayout(layout); 0059 m_configWidget = new ToolConfigWidget(this); 0060 layout->addWidget(m_configWidget); 0061 0062 m_tabGeneral = m_configWidget->m_tab->widget(0); 0063 m_tabAdvanced = m_configWidget->m_tab->widget(1); 0064 m_tabMenu = m_configWidget->m_tab->widget(2); 0065 0066 updateToollist(); 0067 QListWidgetItem *item = m_configWidget->m_lstbTools->item(indexQuickBuild()); 0068 if (item) 0069 m_configWidget->m_lstbTools->setCurrentItem(item); 0070 0071 connect(m_configWidget->m_cbConfig, SIGNAL(activated(int)), this, SLOT(switchConfig(int))); 0072 0073 // 'm_cbMenu' also stores a mapping from English menu names to their translation 0074 m_configWidget->m_cbMenu->addItem(i18n("Quick"), QVariant("Quick")); 0075 m_configWidget->m_cbMenu->addItem(i18n("Compile"), QVariant("Compile")); 0076 m_configWidget->m_cbMenu->addItem(i18n("Convert"), QVariant("Convert")); 0077 m_configWidget->m_cbMenu->addItem(i18n("View"), QVariant("View")); 0078 m_configWidget->m_cbMenu->addItem(i18n("Other"), QVariant("Other")); 0079 connect(m_configWidget->m_cbMenu, SIGNAL(activated(int)), this, SLOT(setMenu(int))); 0080 connect(m_configWidget->m_pshbIcon, SIGNAL(clicked()), this, SLOT(selectIcon())); 0081 0082 connect(m_configWidget->m_pshbRemoveTool, SIGNAL(clicked()), this, SLOT(removeTool())); 0083 connect(m_configWidget->m_pshbNewTool, SIGNAL(clicked()), this, SLOT(newTool())); 0084 connect(m_configWidget->m_pshbRemoveConfig, SIGNAL(clicked()), this, SLOT(removeConfig())); 0085 connect(m_configWidget->m_pshbNewConfig, SIGNAL(clicked()), this, SLOT(newConfig())); 0086 connect(m_configWidget->m_pshbDefault, SIGNAL(clicked()), this, SLOT(writeDefaults())); 0087 0088 //--->m_current = m_configWidget->m_lstbTools->text(0); 0089 QListWidgetItem *currentItem = m_configWidget->m_lstbTools->currentItem(); 0090 if(currentItem) { 0091 m_current = currentItem->text(); 0092 } 0093 m_manager->retrieveEntryMap(m_current, m_map, false, false); 0094 QString cfg = KileTool::configName(m_current, m_config); 0095 m_configWidget->m_cbConfig->addItem(cfg); 0096 0097 setupGeneral(); 0098 setupAdvanced(); 0099 0100 switchConfig(cfg); 0101 switchTo(m_current, false); 0102 connect(m_configWidget->m_lstbTools, SIGNAL(currentTextChanged(QString)), this, SLOT(switchTo(QString))); 0103 0104 connect(this, SIGNAL(changed()), this, SLOT(updateAdvanced())); 0105 connect(this, SIGNAL(changed()), this, SLOT(updateGeneral())); 0106 } 0107 0108 void ToolConfig::setupAdvanced() 0109 { 0110 m_configWidget->m_cbType->addItem(i18n("Run Outside of Kile")); 0111 m_configWidget->m_cbType->addItem(i18n("Run in Konsole")); 0112 m_configWidget->m_cbType->addItem(i18n("Use Document Viewer")); 0113 m_configWidget->m_cbType->addItem(i18n("Run Sequence of Tools")); 0114 connect(m_configWidget->m_cbType, SIGNAL(activated(int)), this, SLOT(switchType(int))); 0115 connect(m_configWidget->m_ckClose, SIGNAL(toggled(bool)), this, SLOT(setClose(bool))); 0116 0117 m_classes << "Compile" << "Convert" << "Archive" << KileTool::BibliographyCompile::ToolClass << "View" << "Sequence" << "LaTeX" << "ViewHTML" << "ViewBib" << "ForwardDVI" << "Base"; 0118 m_configWidget->m_cbClass->addItems(m_classes); 0119 connect(m_configWidget->m_cbClass, SIGNAL(activated(QString)), this, SLOT(switchClass(QString))); 0120 0121 connect(m_configWidget->m_leSource, SIGNAL(textChanged(QString)), this, SLOT(setFrom(QString))); 0122 connect(m_configWidget->m_leTarget, SIGNAL(textChanged(QString)), this, SLOT(setTo(QString))); 0123 connect(m_configWidget->m_leFile, SIGNAL(textChanged(QString)), this, SLOT(setTarget(QString))); 0124 connect(m_configWidget->m_leRelDir, SIGNAL(textChanged(QString)), this, SLOT(setRelDir(QString))); 0125 } 0126 0127 void ToolConfig::updateAdvanced() 0128 { 0129 bool enablekonsoleclose = false; 0130 QString type = m_map["type"]; 0131 if(type == "Process") { 0132 m_configWidget->m_cbType->setCurrentIndex(0); 0133 } 0134 else if(type == "Konsole") { 0135 m_configWidget->m_cbType->setCurrentIndex(1); 0136 enablekonsoleclose = true; 0137 } 0138 else if(type == "DocumentViewer") { 0139 m_configWidget->m_cbType->setCurrentIndex(2); 0140 } 0141 else if(type == "Sequence") { 0142 m_configWidget->m_cbType->setCurrentIndex(3); 0143 } 0144 m_configWidget->m_ckClose->setEnabled(enablekonsoleclose); 0145 0146 int index = m_classes.indexOf(m_map["class"]); 0147 if(index == -1) { 0148 index = m_classes.count() - 1; 0149 } 0150 m_configWidget->m_cbClass->setCurrentIndex(index); 0151 m_configWidget->m_ckClose->setChecked(m_map["close"] == "yes"); 0152 m_configWidget->m_leSource->setText(m_map["from"]); 0153 m_configWidget->m_leTarget->setText(m_map["to"]); 0154 m_configWidget->m_leFile->setText(m_map["target"]); 0155 m_configWidget->m_leRelDir->setText(m_map["relDir"]); 0156 } 0157 0158 void ToolConfig::setupGeneral() 0159 { 0160 m_configWidget->m_stackBasic->insertWidget(GBS_None, new QLabel(i18n("Use the \"Advanced\" tab to configure this tool."), this)); 0161 0162 m_ptcw = new ProcessToolConfigWidget(m_configWidget->m_stackBasic); 0163 m_configWidget->m_stackBasic->insertWidget(GBS_Process, m_ptcw); 0164 connect(m_ptcw->m_command, SIGNAL(textChanged(QString)), this, SLOT(setCommand(QString))); 0165 connect(m_ptcw->m_options, SIGNAL(textChanged()), this, SLOT(setOptions())); 0166 0167 m_qtcw = new QuickToolConfigWidget(m_configWidget->m_stackBasic); 0168 m_configWidget->m_stackBasic->insertWidget(GBS_Sequence, m_qtcw); 0169 connect(m_qtcw, SIGNAL(sequenceChanged(QString)), this, SLOT(setSequence(QString))); 0170 0171 m_configWidget->m_stackBasic->insertWidget(GBS_Error, new QLabel(i18n("Unknown tool type; your configuration data is malformed.\nPerhaps it is a good idea to restore the default settings."), this)); 0172 0173 m_configWidget->m_stackExtra->insertWidget(GES_None, new QWidget(this)); 0174 0175 m_LaTeXtcw = new LaTeXToolConfigWidget(m_configWidget->m_stackExtra); 0176 m_configWidget->m_stackExtra->insertWidget(GES_LaTeX, m_LaTeXtcw); 0177 connect(m_LaTeXtcw->m_ckRootDoc, SIGNAL(toggled(bool)), this, SLOT(setLaTeXCheckRoot(bool))); 0178 connect(m_LaTeXtcw->m_ckJump, SIGNAL(toggled(bool)), this, SLOT(setLaTeXJump(bool))); 0179 connect(m_LaTeXtcw->m_ckAutoRun, SIGNAL(toggled(bool)), this, SLOT(setLaTeXAuto(bool))); 0180 0181 } 0182 0183 void ToolConfig::updateGeneral() 0184 { 0185 QString type = m_map["type"]; 0186 0187 int basicPage = GBS_None; 0188 int extraPage = GES_None; 0189 0190 if(type == "Process" || type == "Konsole") { 0191 basicPage = GBS_Process; 0192 } 0193 else if(type == "DocumentViewer") { 0194 basicPage = GBS_None; 0195 } 0196 else if(type == "Sequence") { 0197 basicPage = GBS_Sequence; 0198 m_qtcw->updateSequence(m_map["sequence"]); 0199 } 0200 else { 0201 basicPage = GBS_Error; 0202 } 0203 0204 QString cls = m_map["class"]; 0205 if(cls == "LaTeX") { 0206 extraPage = GES_LaTeX; 0207 } 0208 0209 m_ptcw->m_command->setText(m_map["command"]); 0210 m_ptcw->m_options->setText(m_map["options"]); 0211 0212 m_LaTeXtcw->m_ckRootDoc->setChecked(m_map["checkForRoot"] == "yes"); 0213 m_LaTeXtcw->m_ckJump->setChecked(m_map["jumpToFirstError"] == "yes"); 0214 m_LaTeXtcw->m_ckAutoRun->setChecked(m_map["autoRun"] == "yes"); 0215 0216 KILE_DEBUG_MAIN << "showing pages " << basicPage << " " << extraPage; 0217 m_configWidget->m_stackBasic->setCurrentIndex(basicPage); 0218 m_configWidget->m_stackExtra->setCurrentIndex(extraPage); 0219 0220 } 0221 0222 void ToolConfig::writeDefaults() 0223 { 0224 if (KMessageBox::warningContinueCancel(this, i18n("All your tool settings will be overwritten with the default settings.\nAre you sure you want to continue?")) == KMessageBox::Continue) { 0225 m_manager->factory()->resetToolConfigurations(); 0226 m_config->sync(); 0227 updateToollist(); 0228 QStringList tools = KileTool::toolList(m_config, true); 0229 for (int i = 0; i < tools.count(); ++i) { 0230 switchTo(tools[i], false);// needed to retrieve the new map 0231 switchTo(tools[i], true); // this writes the newly retrieved entry map (and not an perhaps changed old one) 0232 } 0233 int index = indexQuickBuild(); 0234 if(!tools.empty()) { 0235 switchTo(tools[index], false); 0236 m_configWidget->m_lstbTools->item(index)->setSelected(true); 0237 } 0238 } 0239 } 0240 0241 void ToolConfig::updateToollist() 0242 { 0243 //KILE_DEBUG_MAIN << "==ToolConfig::updateToollist()===================="; 0244 m_configWidget->m_lstbTools->clear(); 0245 m_configWidget->m_lstbTools->addItems(KileTool::toolList(m_config, true)); 0246 m_configWidget->m_lstbTools->sortItems(); 0247 } 0248 0249 void ToolConfig::setMenu(int index) 0250 { 0251 // internally, menu names are stored in English 0252 m_map["menu"] = m_configWidget->m_cbMenu->itemData(index).toString(); 0253 } 0254 0255 void ToolConfig::writeConfig() 0256 { 0257 //KILE_DEBUG_MAIN << "==ToolConfig::writeConfig()===================="; 0258 //save config 0259 m_manager->saveEntryMap(m_current, m_map, false, false); 0260 // internally, menu names are stored in English 0261 KileTool::setGUIOptions(m_current, 0262 m_configWidget->m_cbMenu->itemData(m_configWidget->m_cbMenu->currentIndex()).toString(), 0263 m_icon, 0264 m_config); 0265 } 0266 0267 int ToolConfig::indexQuickBuild() 0268 { 0269 QList<QListWidgetItem *> itemsList = m_configWidget->m_lstbTools->findItems("QuickBuild", Qt::MatchExactly); 0270 if(itemsList.isEmpty()) { 0271 return 0; 0272 } 0273 0274 return m_configWidget->m_lstbTools->row(itemsList.first()); 0275 } 0276 0277 void ToolConfig::switchConfig(int /*index*/) 0278 { 0279 //KILE_DEBUG_MAIN << "==ToolConfig::switchConfig(int /*index*/)===================="; 0280 switchTo(m_current); 0281 } 0282 0283 void ToolConfig::switchConfig(const QString & cfg) 0284 { 0285 //KILE_DEBUG_MAIN << "==ToolConfig::switchConfig(const QString & cfg)=========="; 0286 for(int i = 0; i < m_configWidget->m_cbConfig->count(); ++i) { 0287 if (m_configWidget->m_cbConfig->itemText(i) == cfg) { 0288 m_configWidget->m_cbConfig->setCurrentIndex(i); 0289 } 0290 } 0291 } 0292 0293 void ToolConfig::switchTo(const QString & tool, bool save /* = true */) 0294 { 0295 //KILE_DEBUG_MAIN << "==ToolConfig::switchTo(const QString & tool, bool save /* = true */)===================="; 0296 //save config 0297 if(save) { 0298 writeConfig(); 0299 0300 //update the config number 0301 QString cf = m_configWidget->m_cbConfig->currentText(); 0302 KileTool::setConfigName(m_current, cf, m_config); 0303 } 0304 0305 m_current = tool; 0306 0307 m_map.clear(); 0308 if (!m_manager->retrieveEntryMap(m_current, m_map, false, false)) { 0309 qWarning() << "no entrymap"; 0310 } 0311 0312 updateConfiglist(); 0313 updateGeneral(); 0314 updateAdvanced(); 0315 0316 //show GUI info 0317 QString menu = KileTool::menuFor(m_current, m_config); 0318 int i = m_configWidget->m_cbMenu->findData(menu); 0319 if(i >= 0) { 0320 m_configWidget->m_cbMenu->setCurrentIndex(i); 0321 } 0322 else { 0323 m_configWidget->m_cbMenu->addItem(menu, QVariant(menu)); 0324 m_configWidget->m_cbMenu->setCurrentIndex(m_configWidget->m_cbMenu->count() - 1); 0325 } 0326 m_icon = KileTool::iconFor(m_current, m_config); 0327 if(m_icon.isEmpty()) { 0328 m_configWidget->m_pshbIcon->setIcon(QIcon::fromTheme(QString())); 0329 } 0330 else { 0331 m_configWidget->m_pshbIcon->setIcon(QIcon::fromTheme(m_icon)); 0332 } 0333 } 0334 0335 void ToolConfig::updateConfiglist() 0336 { 0337 //KILE_DEBUG_MAIN << "==ToolConfig::updateConfiglist()====================="; 0338 m_configWidget->m_groupBox->setTitle(i18n("Choose a configuration for the tool %1",m_current)); 0339 m_configWidget->m_cbConfig->clear(); 0340 m_configWidget->m_cbConfig->addItems(KileTool::configNames(m_current, m_config)); 0341 QString cfg = KileTool::configName(m_current, m_config); 0342 switchConfig(cfg); 0343 m_configWidget->m_cbConfig->setEnabled(m_configWidget->m_cbConfig->count() > 1); 0344 } 0345 0346 void ToolConfig::selectIcon() 0347 { 0348 KILE_DEBUG_MAIN << "icon ---> " << m_icon; 0349 //KILE_DEBUG_MAIN << "==ToolConfig::selectIcon()====================="; 0350 KIconDialog *dlg = new KIconDialog(this); 0351 QString res = dlg->openDialog(); 0352 if(m_icon != res) { 0353 if(res.isEmpty()) { 0354 return; 0355 } 0356 0357 m_icon = res; 0358 writeConfig(); 0359 if (m_icon.isEmpty()) { 0360 m_configWidget->m_pshbIcon->setIcon(QIcon::fromTheme(QString())); 0361 } 0362 else { 0363 m_configWidget->m_pshbIcon->setIcon(QIcon::fromTheme(m_icon)); 0364 } 0365 } 0366 } 0367 0368 void ToolConfig::newTool() 0369 { 0370 //KILE_DEBUG_MAIN << "==ToolConfig::newTool()====================="; 0371 NewToolWizard *ntw = new NewToolWizard(this); 0372 if (ntw->exec()) { 0373 QString toolName = ntw->toolName(); 0374 QString parentTool = ntw->parentTool(); 0375 0376 writeStdConfig(toolName, "Default"); 0377 if(parentTool != ntw->customTool()) { 0378 //copy tool info 0379 KileTool::Config tempMap; 0380 m_manager->retrieveEntryMap(parentTool, tempMap, false, false); 0381 KConfigGroup toolGroup = m_config->group(KileTool::groupFor(toolName, "Default")); 0382 toolGroup.writeEntry("class", tempMap["class"]); 0383 toolGroup.writeEntry("type", tempMap["type"]); 0384 toolGroup.writeEntry("close", tempMap["close"]); 0385 toolGroup.writeEntry("checkForRoot", tempMap["checkForRoot"]); 0386 toolGroup.writeEntry("autoRun", tempMap["autoRun"]); 0387 toolGroup.writeEntry("jumpToFirstError", tempMap["jumpToFirstError"]); 0388 } 0389 0390 m_configWidget->m_lstbTools->blockSignals(true); 0391 updateToollist(); 0392 switchTo(toolName); 0393 for(int i = 0; i < m_configWidget->m_lstbTools->count(); ++i) { 0394 if(m_configWidget->m_lstbTools->item(i)->text() == toolName) { 0395 m_configWidget->m_lstbTools->setCurrentRow(i); 0396 break; 0397 } 0398 } 0399 m_configWidget->m_lstbTools->blockSignals(false); 0400 } 0401 } 0402 0403 void ToolConfig::newConfig() 0404 { 0405 //KILE_DEBUG_MAIN << "==ToolConfig::newConfig()====================="; 0406 writeConfig(); 0407 bool ok; 0408 QString cfg = QInputDialog::getText(this, i18n("New Configuration"), i18n("Enter new configuration name:"), QLineEdit::Normal, "", &ok); 0409 if (ok && (!cfg.isEmpty())) { 0410 //copy config 0411 KConfigGroup toolGroup = m_config->group(KileTool::groupFor(m_current, cfg)); 0412 for (QMap<QString,QString>::Iterator it = m_map.begin(); it != m_map.end(); ++it) { 0413 toolGroup.writeEntry(it.key(), it.value()); 0414 } 0415 KileTool::setConfigName(m_current, cfg, m_config); 0416 switchTo(m_current, false); 0417 switchConfig(cfg); 0418 } 0419 } 0420 0421 void ToolConfig::writeStdConfig(const QString & tool, const QString & cfg) 0422 { 0423 KConfigGroup toolGroup = m_config->group(KileTool::groupFor(tool, cfg)); 0424 toolGroup.writeEntry("class", "Compile"); 0425 toolGroup.writeEntry("type", "Process"); 0426 toolGroup.writeEntry("menu", "Compile"); 0427 toolGroup.writeEntry("close", "no"); 0428 0429 m_config->group("Tools").writeEntry(tool, cfg); 0430 } 0431 0432 void ToolConfig::removeTool() 0433 { 0434 // KILE_DEBUG_MAIN << "==ToolConfig::removeTool()====================="; 0435 if(KMessageBox::warningContinueCancel(this, i18n("Are you sure you want to remove the tool %1?", m_current)) == KMessageBox::Continue) { 0436 QStringList cfgs = KileTool::configNames(m_current, m_config); 0437 // KILE_DEBUG_MAIN << "cfgs " << cfgs.join(", "); 0438 for(int i = 0; i < cfgs.count(); ++i) { 0439 // KILE_DEBUG_MAIN << "group " << KileTool::groupFor(m_current, cfgs[i]); 0440 m_config->deleteGroup(KileTool::groupFor(m_current, cfgs[i])); 0441 } 0442 m_config->group("Tools").deleteEntry(m_current); 0443 m_config->group("ToolsGUI").deleteEntry(m_current); 0444 m_config->sync(); 0445 0446 int index = m_configWidget->m_lstbTools->currentRow() - 1; 0447 if(index < 0) { 0448 index = 0; 0449 } 0450 QString tool = m_configWidget->m_lstbTools->item(index)->text(); 0451 // KILE_DEBUG_MAIN << "tool is " << tool; 0452 m_configWidget->m_lstbTools->blockSignals(true); 0453 updateToollist(); 0454 m_configWidget->m_lstbTools->setCurrentRow(index); 0455 switchTo(tool, false); 0456 m_configWidget->m_lstbTools->blockSignals(false); 0457 } 0458 } 0459 0460 void ToolConfig::removeConfig() 0461 { 0462 //KILE_DEBUG_MAIN << "==ToolConfig::removeConfig()====================="; 0463 writeConfig(); 0464 if ( m_configWidget->m_cbConfig->count() > 1) { 0465 if(KMessageBox::warningContinueCancel(this, i18n("Are you sure that you want to remove this configuration?") ) 0466 == KMessageBox::Continue) { 0467 m_config->deleteGroup(KileTool::groupFor(m_current, m_configWidget->m_cbConfig->currentText())); 0468 int currentIndex = m_configWidget->m_cbConfig->currentIndex(); 0469 int newIndex = 0; 0470 if(currentIndex == 0 ) 0471 newIndex = 1; 0472 KileTool::setConfigName(m_current, m_configWidget->m_cbConfig->itemText(newIndex), m_config); 0473 m_config->reparseConfiguration(); // FIXME should be not needed 0474 updateConfiglist(); 0475 switchTo(m_current, false); 0476 } 0477 } 0478 else { 0479 KMessageBox::error(this, i18n("You need at least one configuration for each tool."), i18n("Cannot Remove Configuration")); 0480 } 0481 } 0482 0483 void ToolConfig::switchClass(const QString & cls) 0484 { 0485 if(m_map["class"] != cls) { 0486 setClass(cls); 0487 emit(changed()); 0488 } 0489 } 0490 0491 void ToolConfig::switchType(int index) 0492 { 0493 switch (index) { 0494 case 0 : 0495 m_map["type"] = "Process"; 0496 break; 0497 case 1 : 0498 m_map["type"] = "Konsole"; 0499 break; 0500 case 2 : 0501 m_map["type"] = "DocumentViewer"; 0502 break; 0503 case 3 : 0504 m_map["type"] = "Sequence"; 0505 break; 0506 default : 0507 m_map["type"] = "Process"; 0508 break; 0509 } 0510 emit(changed()); 0511 } 0512 0513 void ToolConfig::setCommand(const QString & command) { 0514 m_map["command"] = command.trimmed(); 0515 } 0516 void ToolConfig::setOptions() { 0517 m_map["options"] = m_ptcw->m_options->toPlainText().trimmed(); 0518 } 0519 void ToolConfig::setSequence(const QString & sequence) { 0520 m_map["sequence"] = sequence.trimmed(); 0521 } 0522 void ToolConfig::setClose(bool on) { 0523 m_map["close"] = on ? "yes" : "no"; 0524 } 0525 void ToolConfig::setTarget(const QString & trg) { 0526 m_map["target"] = trg.trimmed(); 0527 } 0528 void ToolConfig::setRelDir(const QString & rd) { 0529 m_map["relDir"] = rd.trimmed(); 0530 } 0531 void ToolConfig::setLaTeXCheckRoot(bool ck) { 0532 m_map["checkForRoot"] = ck ? "yes" : "no"; 0533 } 0534 void ToolConfig::setLaTeXJump(bool ck) { 0535 m_map["jumpToFirstError"] = ck ? "yes" : "no"; 0536 } 0537 void ToolConfig::setLaTeXAuto(bool ck) { 0538 m_map["autoRun"] = ck ? "yes" : "no"; 0539 } 0540 void ToolConfig::setRunLyxServer(bool ck) 0541 { 0542 //KILE_DEBUG_MAIN << "setRunLyxServer"; 0543 m_config->group("Tools").writeEntry("RunLyxServer", ck); 0544 } 0545 void ToolConfig::setFrom(const QString & from) { 0546 m_map["from"] = from.trimmed(); 0547 } 0548 void ToolConfig::setTo(const QString & to) { 0549 m_map["to"] = to.trimmed(); 0550 } 0551 void ToolConfig::setClass(const QString & cls) { 0552 m_map["class"] = cls.trimmed(); 0553 } 0554 } 0555