File indexing completed on 2024-05-05 16:27:23
0001 /* This file is part of KGraphViewer. 0002 Copyright (C) 2005-2007 Gael de Chalendar <kleag@free.fr> 0003 0004 KGraphViewer is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU General Public 0006 License as published by the Free Software Foundation, version 2. 0007 0008 This program is distributed in the hope that it will be useful, 0009 but WITHOUT ANY WARRANTY; without even the implied warranty of 0010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0011 General Public License for more details. 0012 0013 You should have received a copy of the GNU General Public License 0014 along with this program; if not, write to the Free Software 0015 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 0016 02110-1301, USA 0017 */ 0018 0019 #include "kgraphviewerConfigDialog.h" 0020 #include "kgraphviewer_debug.h" 0021 #include "kgraphviewersettings.h" 0022 #include "ui_preferencesAppearance.h" 0023 #include "ui_preferencesOpenInExistingWindow.h" 0024 #include "ui_preferencesParsing.h" 0025 #include "ui_preferencesReload.h" 0026 #include "ui_preferencesReopenPreviouslyOpenedFiles.h" 0027 0028 #include <QDebug> 0029 #include <QFileDialog> 0030 #include <QTabWidget> 0031 #include <QUrl> 0032 #include <kconfig.h> 0033 #include <kedittoolbar.h> 0034 #include <kparts/partmanager.h> 0035 0036 #include <KPluginFactory> 0037 #include <KService> 0038 #include <QMessageBox> 0039 #include <QStatusBar> 0040 #include <kconfigdialog.h> 0041 #include <klocalizedstring.h> 0042 0043 //#include <kapp.h> 0044 //#include <dcopclient.h> 0045 0046 #include <QDialogButtonBox> 0047 #include <iostream> 0048 0049 KgvConfigurationDialog::KgvConfigurationDialog(QWidget *parent, const QString &name, KConfigSkeleton *config) 0050 : KConfigDialog(parent, name, config) 0051 , m_changed(false) 0052 , parsingWidget(new Ui::KGraphViewerPreferencesParsingWidget()) 0053 , reloadWidget(new Ui::KGraphViewerPreferencesReloadWidget()) 0054 , openingWidget(new Ui::KGraphViewerPreferencesOpenInExistingWindowWidget()) 0055 , reopeningWidget(new Ui::KGraphViewerPreferencesReopenPreviouslyOpenedFilesWidget()) 0056 , appearanceWidget(new Ui::KGraphViewerPreferencesAppearanceWidget()) 0057 { 0058 QWidget *page4 = new QWidget(); 0059 appearanceWidget->setupUi(page4); 0060 QWidget *page0 = new QWidget(); 0061 parsingWidget->setupUi(page0); 0062 QWidget *page1 = new QWidget(); 0063 reloadWidget->setupUi(page1); 0064 QWidget *page2 = new QWidget(); 0065 openingWidget->setupUi(page2); 0066 QWidget *page3 = new QWidget(); 0067 reopeningWidget->setupUi(page3); 0068 0069 appearanceWidget->kcolorbutton->setColor(KGraphViewerSettings::backgroundColor()); 0070 appearanceWidget->kcolorbutton->setDefaultColor(KGraphViewerSettings::backgroundColor()); 0071 addPage(page4, i18n("Appearance"), "preferences-other", i18n("Appearance"), false); 0072 addPage(page0, i18n("Parsing"), "preferences-other", i18n("Parsing"), false); 0073 addPage(page1, i18n("Reloading"), "view-refresh", i18n("Reloading"), false); 0074 addPage(page2, i18n("Opening"), "document-open", i18n("Opening"), false); 0075 addPage(page3, i18n("Session Management"), "preferences-other", i18n("Session Management"), false); 0076 connect(parsingWidget->parsingMode, &QGroupBox::clicked, this, &KgvConfigurationDialog::settingChanged); 0077 connect(reloadWidget->reloadOnChangeMode, &QGroupBox::clicked, this, &KgvConfigurationDialog::settingChanged); 0078 connect(openingWidget->openInExistingWindowMode, &QGroupBox::clicked, this, &KgvConfigurationDialog::settingChanged); 0079 connect(reopeningWidget->reopenPreviouslyOpenedFilesMode, &QGroupBox::clicked, this, &KgvConfigurationDialog::settingChanged); 0080 connect(appearanceWidget->kcolorbutton, &KColorButton::changed, this, &KgvConfigurationDialog::slotBackgroundColorChanged); 0081 } 0082 0083 KgvConfigurationDialog::~KgvConfigurationDialog() 0084 { 0085 } 0086 0087 void KgvConfigurationDialog::settingChanged(int) 0088 { 0089 // std::cerr << "KgvConfigurationDialog::settingChanged" << std::endl; 0090 m_changed = true; 0091 } 0092 0093 bool KgvConfigurationDialog::hasChanged() 0094 { 0095 // std::cerr << "KgvConfigurationDialog::hasChanged" << std::endl; 0096 return m_changed; 0097 } 0098 0099 void KgvConfigurationDialog::updateSettings() 0100 { 0101 // std::cerr << "KgvConfigurationDialog::updateSettings" << std::endl; 0102 m_changed = false; 0103 /* switch (openingWidget->openInExistingWindowMode->selectedId()) 0104 { 0105 case 0: // no 0106 KGraphViewerSettings::setOpenInExistingWindowMode("no"); 0107 break; 0108 case 1: // yes 0109 KGraphViewerSettings::setOpenInExistingWindowMode("yes"); 0110 break; 0111 case 2: // ask 0112 KGraphViewerSettings::setOpenInExistingWindowMode("ask"); 0113 break; 0114 default: ; 0115 } 0116 switch (reloadWidget->reloadOnChangeMode->selectedId()) 0117 { 0118 case 0: // no 0119 KGraphViewerSettings::setReloadOnChangeMode("no"); 0120 break; 0121 case 1: // yes 0122 KGraphViewerSettings::setReloadOnChangeMode("yes"); 0123 break; 0124 case 2: // ask 0125 KGraphViewerSettings::setReloadOnChangeMode("ask"); 0126 break; 0127 default: ; 0128 } 0129 switch (reopeningWidget->reopenPreviouslyOpenedFilesMode->selectedId()) 0130 { 0131 case 0: // no 0132 KGraphViewerSettings::setReopenPreviouslyOpenedFilesMode("no"); 0133 break; 0134 case 1: // yes 0135 KGraphViewerSettings::setReopenPreviouslyOpenedFilesMode("yes"); 0136 break; 0137 case 2: // ask 0138 KGraphViewerSettings::setReopenPreviouslyOpenedFilesMode("ask"); 0139 break; 0140 default: ; 0141 }*/ 0142 //@TODO to port 0143 // KGraphViewerSettings::writeConfig(); 0144 } 0145 0146 void KgvConfigurationDialog::updateWidgets() 0147 { 0148 m_changed = false; 0149 qCDebug(KGRAPHVIEWER_LOG) << " openInExistingWindowMode: " << KGraphViewerSettings::openInExistingWindowMode(); 0150 // if (KGraphViewerSettings::openInExistingWindowMode() == "no") 0151 // openingWidget->openInExistingWindowMode->setButton(0); 0152 // else if (KGraphViewerSettings::openInExistingWindowMode() == "yes") 0153 // openingWidget->openInExistingWindowMode->setButton(1); 0154 // else if (KGraphViewerSettings::openInExistingWindowMode() == "ask") 0155 // openingWidget->openInExistingWindowMode->setButton(2); 0156 0157 // std::cerr << " reloadOnChangeMode: " << KGraphViewerSettings::reloadOnChangeMode() << std::endl; 0158 // if (KGraphViewerSettings::reloadOnChangeMode() == "no") 0159 // reloadWidget->reloadOnChangeMode->setButton(0); 0160 // else if (KGraphViewerSettings::reloadOnChangeMode() == "yes") 0161 // reloadWidget->reloadOnChangeMode->setButton(1); 0162 // else if (KGraphViewerSettings::reloadOnChangeMode() == "ask") 0163 // reloadWidget->reloadOnChangeMode->setButton(2); 0164 0165 // std::cerr << " reopenPreviouslyOpenedFilesMode: " << KGraphViewerSettings::reopenPreviouslyOpenedFilesMode() << std::endl; 0166 /* if (KGraphViewerSettings::reopenPreviouslyOpenedFilesMode() == "no") 0167 reopeningWidget->reopenPreviouslyOpenedFilesMode->setButton(0); 0168 else if (KGraphViewerSettings::reopenPreviouslyOpenedFilesMode() == "yes") 0169 reopeningWidget->reopenPreviouslyOpenedFilesMode->setButton(1); 0170 else if (KGraphViewerSettings::reopenPreviouslyOpenedFilesMode() == "ask") 0171 reopeningWidget->reopenPreviouslyOpenedFilesMode->setButton(2);*/ 0172 } 0173 0174 void KgvConfigurationDialog::slotBackgroundColorChanged(const QColor &color) 0175 { 0176 KGraphViewerSettings::setBackgroundColor(color); 0177 emit backgroundColorChanged(color); 0178 } 0179 0180 #include "moc_kgraphviewerConfigDialog.cpp"