File indexing completed on 2024-04-28 16:26:31
0001 /************************************************************************** 0002 * Copyright (C) 2011-2012 by Michel Ludwig (michel.ludwig@kdemail.net) * 0003 ***************************************************************************/ 0004 0005 /************************************************************************** 0006 * * 0007 * This program is free software; you can redistribute it and/or modify * 0008 * it under the terms of the GNU General Public License as published by * 0009 * the Free Software Foundation; either version 2 of the License, or * 0010 * (at your option) any later version. * 0011 * * 0012 ***************************************************************************/ 0013 0014 #include "livepreviewconfigwidget.h" 0015 0016 #include "kileconfig.h" 0017 0018 #include "livepreview_utils.h" 0019 0020 #include "kiledebug.h" 0021 #include "kiletoolmanager.h" 0022 #include <KToggleAction> 0023 0024 0025 KileWidgetLivePreviewConfig::KileWidgetLivePreviewConfig(KConfig *config, QWidget *parent) 0026 : QWidget(parent), 0027 m_config(config) 0028 { 0029 setupUi(this); 0030 } 0031 0032 KileWidgetLivePreviewConfig::~KileWidgetLivePreviewConfig() 0033 { 0034 } 0035 0036 void KileWidgetLivePreviewConfig::readConfig() 0037 { 0038 if(KileConfig::livePreviewCompileOnlyAfterSaving()) { 0039 m_compileDocumentOnSaveRadioButton->setChecked(true); 0040 } 0041 else { 0042 m_compileDocumentOnChangesRadioButton->setChecked(true); 0043 } 0044 0045 QString defaultToolName = KileConfig::livePreviewDefaultTool(); 0046 if(defaultToolName.isEmpty()) { 0047 defaultToolName = LIVEPREVIEW_DEFAULT_TOOL_NAME; 0048 } 0049 KileTool::ToolConfigPair defaultTool = KileTool::ToolConfigPair::fromConfigStringRepresentation(defaultToolName); 0050 0051 int currentIndex = 0; 0052 int defaultToolNameIndex = 0; 0053 0054 QList<KileTool::ToolConfigPair> toolList = KileTool::toolsWithConfigurationsBasedOnClass(m_config, "LaTeXLivePreview"); 0055 std::sort(toolList.begin(), toolList.end()); 0056 m_previewDefaultToolComboBox->clear(); 0057 for(QList<KileTool::ToolConfigPair>::iterator i = toolList.begin(); i != toolList.end(); ++i) { 0058 KileTool::ToolConfigPair currentTool = KileTool::ToolConfigPair(QString((*i).first), QString((*i).second)); 0059 0060 if(currentTool == defaultTool) { 0061 defaultToolNameIndex = currentIndex; 0062 } 0063 m_previewDefaultToolComboBox->addItem(currentTool.userStringRepresentation().remove("LivePreview-"), QVariant::fromValue(currentTool)); 0064 currentIndex++; 0065 } 0066 m_previewDefaultToolComboBox->setCurrentIndex(defaultToolNameIndex); 0067 } 0068 0069 void KileWidgetLivePreviewConfig::writeConfig() 0070 { 0071 KileConfig::setLivePreviewCompileOnlyAfterSaving(m_compileDocumentOnSaveRadioButton->isChecked()); 0072 0073 KileTool::ToolConfigPair defaultTool = m_previewDefaultToolComboBox->itemData(m_previewDefaultToolComboBox->currentIndex()).value<KileTool::ToolConfigPair>(); 0074 KileConfig::setLivePreviewDefaultTool(defaultTool.configStringRepresentation()); 0075 } 0076 0077