X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=preferencedialog.cpp;h=53c59c975b507d5b6b3a0b3741929cc7a10a155e;hb=8e5298454142ebd1730ac8c1ee874cb3d8988b68;hp=7cfb1f6352116f26f7c9be9ad7069dbad1999db3;hpb=3365a371e6b21f02010d5bdcebb76943202c5683;p=gefu%2FGefu.git diff --git a/preferencedialog.cpp b/preferencedialog.cpp index 7cfb1f6..53c59c9 100644 --- a/preferencedialog.cpp +++ b/preferencedialog.cpp @@ -8,8 +8,9 @@ #include #include #include - - +#include +#include +#include PreferenceDialog::PreferenceDialog(QWidget *parent) : QDialog(parent), @@ -21,13 +22,20 @@ PreferenceDialog::PreferenceDialog(QWidget *parent) : ui->setupUi(this); ui->tabWidget->setCurrentIndex(0); - ui->tabWidget->setTabText(0, "起動と終了"); - ui->tabWidget->setTabText(1, "色とフォント"); + // アドレスボックスの外観サンプル ui->sampleEdit->setText(QDir::homePath()); + // ファイルビューの外観サンプル ui->sampleTable->setModel(&m_model); - ui->sampleTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); - ui->sampleTable->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch); + QHeaderView *header; + header = ui->sampleTable->horizontalHeader(); + header->setSectionResizeMode(0, QHeaderView::Stretch); + header->setSectionResizeMode(1, QHeaderView::ResizeToContents); + header->setSectionResizeMode(2, QHeaderView::ResizeToContents); + header = ui->sampleTable->verticalHeader(); + header->setDefaultSectionSize(header->defaultSectionSize() * 0.75); + + // シグナル&スロット connect(ui->bootSize, SIGNAL(toggled(bool)), this, SLOT(setControlsEnabled(bool))); connect(ui->sizeAbsolute, SIGNAL(toggled(bool)), this, SLOT(setControlsEnabled(bool))); connect(ui->sizeRelative, SIGNAL(toggled(bool)), this, SLOT(setControlsEnabled(bool))); @@ -46,138 +54,245 @@ PreferenceDialog::PreferenceDialog(QWidget *parent) : connect(ui->clrFgReadonly, SIGNAL(clicked()), this, SLOT(selectViewColor())); connect(ui->clrFgSystem, SIGNAL(clicked()), this, SLOT(selectViewColor())); - connect(ui->boxFont, SIGNAL(currentFontChanged(QFont)), this, SLOT(changeFont())); - connect(ui->boxFontBold, SIGNAL(clicked()), this, SLOT(changeFont())); - connect(ui->boxFontSize, SIGNAL(valueChanged(int)), this, SLOT(changeFont())); + connect(ui->chooseBoxFont, SIGNAL(clicked()), this, SLOT(chooseFont())); + connect(ui->chooseViewFont, SIGNAL(clicked()), this, SLOT(chooseFont())); - connect(ui->viewFont, SIGNAL(currentFontChanged(QFont)), this, SLOT(changeFont())); - connect(ui->viewFontBold, SIGNAL(clicked()), this, SLOT(changeFont())); - connect(ui->viewFontSize, SIGNAL(valueChanged(int)), this, SLOT(changeFont())); + connect(ui->importAppearance, SIGNAL(clicked()), this, SLOT(importAppearance())); + connect(ui->exportAppearance, SIGNAL(clicked()), this, SLOT(exportAppearance())); + connect(ui->termBrowse, SIGNAL(clicked()), this, SLOT(browseApp())); + connect(ui->editorBrowse, SIGNAL(clicked()), this, SLOT(browseApp())); + connect(ui->chooseViewerFont, SIGNAL(clicked()), this, SLOT(chooseFont())); + connect(ui->viewerClrBg, SIGNAL(clicked()), this, SLOT(selectViewerColor())); + connect(ui->viewerClrFg, SIGNAL(clicked()), this, SLOT(selectViewerColor())); + connect(ui->viewerInherit, SIGNAL(toggled(bool)), this, SLOT(setControlsEnabled(bool))); + connect(ui->enableViewerIgnoreExt, SIGNAL(toggled(bool)), this, SLOT(setControlsEnabled(bool))); + connect(ui->defaultIgnoreExt, SIGNAL(clicked()), this, SLOT(setIgnoreExtDefault())); + + // 現在の設定で各コントロールを初期化する QSettings settings; QString strValue; QSize size; QPoint point; - QColor color; - QPalette palette; - QFont font; QRadioButton *radioBtn; //>>>>> 起動と終了 - // 終了時の確認ダイアログ - ui->confirmExit->setChecked(settings.value(IniKey_ConfirmExit, true).toBool()); // 起動時のサイズ - strValue = settings.value(IniKey_BootSizeSpec, "sizeLast").toString(); + ui->bootSize->setChecked(true); + strValue = settings.value(IniKey_BootSizeSpec).toString(); + radioBtn = findChild(strValue); + if (radioBtn == NULL) { + radioBtn = ui->sizeRelative; + } + radioBtn->setChecked(true); if (strValue.isEmpty()) { ui->bootSize->setChecked(false); } - else { - ui->bootSize->setChecked(true); - radioBtn = findChild(strValue); - if (radioBtn == NULL) { - radioBtn = ui->sizeLast; - } - radioBtn->setChecked(true); - } - size = settings.value(IniKey_BootSizeAbs, QSize(800, 600)).toSize(); + size = settings.value(IniKey_BootSizeAbs).toSize(); ui->absoluteWidth->setValue(size.width()); ui->absoluteHeight->setValue(size.height()); - size = settings.value(IniKey_BootSizeRel, QSize(50, 50)).toSize(); + size = settings.value(IniKey_BootSizeRel).toSize(); ui->relativeWidth->setValue(size.width()); ui->relativeHeight->setValue(size.height()); // 起動時の位置 - strValue = settings.value(IniKey_BootPosSpec, "posLast").toString(); + ui->bootPos->setChecked(true); + strValue = settings.value(IniKey_BootPosSpec).toString(); + radioBtn = findChild(strValue); + if (radioBtn == NULL) { + radioBtn = ui->posCenter; + } + radioBtn->setChecked(true); if (strValue.isEmpty()) { ui->bootPos->setChecked(false); } - else { - ui->bootPos->setChecked(true); - radioBtn = findChild(strValue); - if (radioBtn == NULL) { - radioBtn = ui->posLast; - } - radioBtn->setChecked(true); - } - point = settings.value(IniKey_BootPosAbs, QPoint(0, 0)).toPoint(); + point = settings.value(IniKey_BootPosAbs).toPoint(); ui->absoluteLeft->setValue(point.x()); ui->absoluteTop->setValue(point.y()); - point = settings.value(IniKey_BootPosRel, QPoint(0, 0)).toPoint(); + point = settings.value(IniKey_BootPosRel).toPoint(); ui->relativeLeft->setValue(point.x()); ui->relativeTop->setValue(point.y()); // 起動時の設定削除 - ui->resetOnBoot->setChecked(settings.value(IniKey_ResetOnBoot, false).toBool()); + ui->resetOnBoot->setChecked(settings.value(IniKey_ResetOnBoot).toBool()); + // アップデートの確認 + ui->checkUpdates->setChecked(settings.value(IniKey_CheckUpdates).toBool()); + // 終了時の確認ダイアログ + ui->confirmExit->setChecked(settings.value(IniKey_ConfirmExit).toBool()); + + //>>>>> 色とフォント、テキストビューア + loadAppearance(settings, false); + + //>>>>> ファイル操作 + // 確認ダイアログの表示 + ui->confirmCopy->setChecked(settings.value(IniKey_ConfirmCopy).toBool()); + ui->confirmDelete->setChecked(settings.value(IniKey_ConfirmDelete).toBool()); + ui->confirmMove->setChecked(settings.value(IniKey_ConfirmMove).toBool()); + ui->confirmRename->setChecked(settings.value(IniKey_ConfirmRename).toBool()); + // 完了ダイアログの自動クローズ + ui->autoCloseCopy->setChecked(settings.value(IniKey_AutoCloseCopy).toBool()); + ui->autoCloseDelete->setChecked(settings.value(IniKey_AutoCloseDelete).toBool()); + ui->autoCloseMove->setChecked(settings.value(IniKey_AutoCloseMove).toBool()); + ui->autoCloseRename->setChecked(settings.value(IniKey_AutoCloseRename).toBool()); + // 上書き時の既定動作 + strValue = settings.value(IniKey_DefaultOnCopy).toString(); + if (strValue.isEmpty()) { + strValue = "owDefIfNew"; + } + radioBtn = findChild(strValue); + if (radioBtn == NULL) { + radioBtn = ui->rbOverWriteIfNew; + } + radioBtn->setChecked(true); + ui->moveAfterCreate->setChecked(settings.value(IniKey_MoveAfterCreateFolder).toBool()); + ui->openAfterCreate->setChecked(settings.value(IniKey_OpenAfterCreateFile).toBool()); + + //>>>>> パス設定 + // エディタ + ui->editorOpt->setText(settings.value(IniKey_EditorOption).toString()); + ui->editorPath->setText(settings.value(IniKey_EditorPath).toString()); + // ターミナル + ui->termOpt->setText(settings.value(IniKey_TerminalOption).toString()); + ui->termPath->setText(settings.value(IniKey_TerminalPath).toString()); + + //>>>>> テキストビューア + ui->enableViewerIgnoreExt->setChecked(true); + ui->enableViewerIgnoreExt->setChecked(!settings.value(IniKey_ViewerForceOpen).toBool()); + ui->viewerIgnoreExt->setPlainText(settings.value(IniKey_ViewerIgnoreExt).toString()); +} + +PreferenceDialog::~PreferenceDialog() +{ + delete ui; +} + +void PreferenceDialog::saveAppearance(QSettings &settings) +{ + QFont font = ui->sampleEdit->font(); + QPalette palette = ui->sampleEdit->palette(); + settings.setValue(IniKey_BoxColorBg, palette.base().color()); + settings.setValue(IniKey_BoxColorFg, palette.text().color()); + settings.setValue(IniKey_BoxFont, font); + + settings.setValue(IniKey_ViewColorBgMark, m_colorMap["clrBgMark"]); + settings.setValue(IniKey_ViewColorBgNormal, m_colorMap["clrBgNormal"]); + settings.setValue(IniKey_ViewColorFgHidden, m_colorMap["clrFgHidden"]); + settings.setValue(IniKey_ViewColorFgMark, m_colorMap["clrFgMark"]); + settings.setValue(IniKey_ViewColorFgNormal, m_colorMap["clrFgNormal"]); + settings.setValue(IniKey_ViewColorFgReadonly, m_colorMap["clrFgReadonly"]); + settings.setValue(IniKey_ViewColorFgSystem, m_colorMap["clrFgSystem"]); + settings.setValue(IniKey_ViewFont, m_model.font()); +} + +void PreferenceDialog::loadAppearance(QSettings &settings, bool import) +{ + QPalette palette; + QColor color; + QFont font; - //>>>>> 色とフォント //>>>> アドレスボックス palette = QPalette(); // 背景色 - color = settings.value(IniKey_BoxColorBg, QPalette().base().color()).value(); - palette.setColor(QPalette::Background, color); + color = settings.value(IniKey_BoxColorBg).value(); + palette.setColor(QPalette::Base, color); // 文字色 - color = settings.value(IniKey_BoxColorFg, QPalette().text().color()).value(); + color = settings.value(IniKey_BoxColorFg).value(); palette.setColor(QPalette::Text, color); // フォント - QFont defaultFont = ui->sampleEdit->font(); - font = settings.value(IniKey_BoxFont, defaultFont).value(); - ui->boxFont->setCurrentText(font.family()); - ui->boxFontBold->setChecked(font.bold()); - ui->boxFontSize->setValue(font.pointSize()); + font = settings.value(IniKey_BoxFont).value(); + ui->boxFont->setText(tr("%1, %2pt").arg(font.family()).arg(font.pointSize())); // サンプル表示 ui->sampleEdit->setPalette(palette); ui->sampleEdit->setFont(font); + //>>>> ファイルビュー // 背景色 - color = settings.value(IniKey_ViewColorBgMark, DefaultMarkBgColor).value(); + color = settings.value(IniKey_ViewColorBgMark).value(); m_colorMap["clrBgMark"] = color; - color = settings.value(IniKey_ViewColorBgNormal, QPalette().base().color()).value(); + color = settings.value(IniKey_ViewColorBgNormal).value(); m_colorMap["clrBgNormal"] = color; // 文字色 - color = settings.value(IniKey_ViewColorFgHidden, DefaultHiddenColor).value(); + color = settings.value(IniKey_ViewColorFgHidden).value(); m_colorMap["clrFgHidden"] = color; - color = settings.value(IniKey_ViewColorFgMark, DefaultMarkFgColor).value(); + color = settings.value(IniKey_ViewColorFgMark).value(); m_colorMap["clrFgMark"] = color; - color = settings.value(IniKey_ViewColorFgNormal, QPalette().text().color()).value(); + color = settings.value(IniKey_ViewColorFgNormal).value(); m_colorMap["clrFgNormal"] = color; - color = settings.value(IniKey_ViewColorFgReadonly, DefaultReadonlyColor).value(); + color = settings.value(IniKey_ViewColorFgReadonly).value(); m_colorMap["clrFgReadonly"] = color; - color = settings.value(IniKey_ViewColorFgSystem, DefaultSystemColor).value(); + color = settings.value(IniKey_ViewColorFgSystem).value(); m_colorMap["clrFgSystem"] = color; // フォント - defaultFont = ui->sampleTable->font(); - font = settings.value(IniKey_ViewFont, defaultFont).value(); - ui->viewFont->setCurrentText(font.family()); - ui->viewFontBold->setChecked(font.bold()); - ui->viewFontSize->setValue(font.pointSize()); + font = settings.value(IniKey_ViewFont).value(); + ui->viewFont->setText(tr("%1, %2pt").arg(font.family()).arg(font.pointSize())); // サンプル表示 + QHeaderView *header = ui->sampleTable->verticalHeader(); + header->setDefaultSectionSize(QFontMetrics(font).height() * 1.5); + ui->sampleTable->setMinimumHeight(header->sectionSize(0) * 5); + ui->sampleTable->setMaximumHeight(ui->sampleTable->minimumHeight() + 2); m_model.setFont(font); m_model.update(); -} -PreferenceDialog::~PreferenceDialog() -{ - delete ui; + //>>>> テキストビューア + // 文字色と背景色 + if (settings.value(IniKey_ViewerInherit).toBool()) { + ui->viewerInherit->setChecked(true); + color = settings.value(IniKey_ViewColorBgNormal).value(); + palette.setColor(QPalette::Base, color); + color = settings.value(IniKey_ViewColorFgNormal).value(); + palette.setColor(QPalette::Text, color); + } + else if (!import){ + ui->viewerInherit->setChecked(false); + color = settings.value(IniKey_ViewerColorBg).value(); + palette.setColor(QPalette::Base, color); + color = settings.value(IniKey_ViewerColorFg).value(); + palette.setColor(QPalette::Text, color); + } + ui->viewerSample->setPalette(palette); + // フォント + if (!import) { + font = settings.value(IniKey_ViewerFont).value(); + ui->viewerFont->setText(tr("%1, %2pt").arg(font.family()).arg(font.pointSize())); + ui->viewerSample->setFont(font); + } } -void PreferenceDialog::changeFont() +void PreferenceDialog::chooseFont() { + bool ok; QFont font; + QLabel *label = NULL; - if (sender() == ui->boxFont || - sender() == ui->boxFontBold || - sender() == ui->boxFontSize) - { - font.setBold(ui->boxFontBold->isChecked()); - font.setPointSize(ui->boxFontSize->value()); - font.setFamily(ui->boxFont->currentText()); + if (sender() == ui->chooseViewerFont) { + font = ui->viewerSample->font(); + } + else if (sender() == ui->chooseBoxFont) { + font = ui->sampleEdit->font(); + } + else if (sender() == ui->chooseViewFont) { + font = m_model.font(); + } + + font = QFontDialog::getFont(&ok, font, this); + + if (sender() == ui->chooseViewerFont) { + ui->viewerSample->setFont(font); + label = ui->viewerFont; + } + else if (sender() == ui->chooseBoxFont) { ui->sampleEdit->setFont(font); + label = ui->boxFont; } - else { - font.setBold(ui->viewFontBold->isChecked()); - font.setPointSize(ui->viewFontSize->value()); - font.setFamily(ui->viewFont->currentText()); + else if (sender() == ui->chooseViewFont) { + QHeaderView *header = ui->sampleTable->verticalHeader(); + header->setDefaultSectionSize(QFontMetrics(font).height() * 1.5); + ui->sampleTable->setMinimumHeight(header->sectionSize(0) * 5); + ui->sampleTable->setMaximumHeight(ui->sampleTable->minimumHeight() + 2); m_model.setFont(font); m_model.update(); + label = ui->viewFont; } + label->setText(tr("%1, %2pt").arg(font.family()).arg(font.pointSize())); + } void PreferenceDialog::setControlsEnabled(bool enabled) @@ -225,6 +340,30 @@ void PreferenceDialog::setControlsEnabled(bool enabled) ui->relativeLeft->setEnabled(enabled); ui->relativeTop->setEnabled(enabled); } + else if (sender() == ui->viewerInherit) { + ui->viewerClrBg->setEnabled(!enabled); + ui->viewerClrFg->setEnabled(!enabled); + // サンプル表示も更新 + QPalette pal = ui->viewerSample->palette(); + if (enabled) { + pal.setColor(QPalette::Base, m_colorMap["clrBgNormal"]); + pal.setColor(QPalette::Text, m_colorMap["clrFgNormal"]); + } + else { + QSettings settings; + pal.setColor(QPalette::Base, settings.value(IniKey_ViewerColorBg).value()); + pal.setColor(QPalette::Text, settings.value(IniKey_ViewerColorFg).value()); + } + ui->viewerSample->setPalette(pal); + } + else if (sender() == ui->enableViewerIgnoreExt) { + ui->viewerIgnoreExt->setEnabled(enabled); + } +} + +void PreferenceDialog::setIgnoreExtDefault() +{ + ui->viewerIgnoreExt->setPlainText(ViewerIgnoreExt()); } void PreferenceDialog::selectBoxColor() @@ -245,12 +384,11 @@ void PreferenceDialog::selectBoxColor() if (sender() == ui->boxClrBg) { palette.setColor(QPalette::Base, color); - ui->sampleEdit->setPalette(palette); } else if (sender() == ui->boxClrFg) { palette.setColor(QPalette::Text, color); - ui->sampleEdit->setPalette(palette); } + ui->sampleEdit->setPalette(palette); } void PreferenceDialog::selectViewColor() @@ -267,14 +405,94 @@ void PreferenceDialog::selectViewColor() m_model.update(); } +void PreferenceDialog::selectViewerColor() +{ + QColor color; + QPalette palette = ui->viewerSample->palette(); + if (sender() == ui->viewerClrBg) { + color = palette.background().color(); + } + else if (sender() == ui->viewerClrFg) { + color = palette.text().color(); + } + + color = QColorDialog::getColor(color, this, tr("色選択")); + if (!color.isValid()) { + return; + } + + if (sender() == ui->viewerClrBg) { + palette.setColor(QPalette::Base, color); + } + else if (sender() == ui->viewerClrFg) { + palette.setColor(QPalette::Text, color); + } + ui->viewerSample->setPalette(palette); +} + +void PreferenceDialog::browseApp() +{ + QStringList list = QStandardPaths::standardLocations( + QStandardPaths::ApplicationsLocation); +#ifdef Q_OS_WIN + QString path = QFileDialog::getOpenFileName( + this, tr("アプリケーションを選択"), list.at(0), + tr("実行ファイル (*.exe *.com *.bat *.pif);;すべてのファイル (*)")); +#elif defined(Q_OS_MAC) + QString path = QFileDialog::getOpenFileName( + this, tr("アプリケーションを選択"), list.at(0), + tr("実行ファイル (*.app);;すべてのファイル (*)")); +#else + QString path = QFileDialog::getOpenFileName( + this, tr("アプリケーションを選択"), list.at(0), + tr("すべてのファイル (*)")); +#endif + if (!path.isEmpty()) { + if (sender() == ui->editorBrowse) { + ui->editorPath->setText(path); + } + else if (sender() == ui->termBrowse) { + ui->termPath->setText(path); + } + } +} + +void PreferenceDialog::importAppearance() +{ + QStringList list = QStandardPaths::standardLocations( + QStandardPaths::DocumentsLocation); + QString path = QFileDialog::getOpenFileName( + this, tr("ファイルを選択"), list.at(0), + tr("設定ファイル (*.ini);;すべてのファイル (*)")); + if (path.isEmpty()) { + return; + } + + QSettings settings(path, QSettings::IniFormat); + loadAppearance(settings, true); +} + +void PreferenceDialog::exportAppearance() +{ + QStringList list = QStandardPaths::standardLocations( + QStandardPaths::DocumentsLocation); + QString path = QFileDialog::getSaveFileName( + this, tr("ファイルを選択"), list.at(0) + "/gefu_appearance.ini", + tr("設定ファイル (*.ini);;すべてのファイル (*)")); + if (path.isEmpty()) { + return; + } + + QSettings settings(path, QSettings::IniFormat); + saveAppearance(settings); +} + void PreferenceDialog::accept() { QSettings settings; QAbstractButton *selected; //>>>>> 起動と終了 - // 終了時の確認ダイアログ - settings.setValue(IniKey_ConfirmExit, ui->confirmExit->isChecked()); // 起動時のサイズ if (!ui->bootSize->isChecked()) { settings.setValue(IniKey_BootSizeSpec, ""); @@ -307,22 +525,50 @@ void PreferenceDialog::accept() } // 起動時の設定削除 settings.setValue(IniKey_ResetOnBoot, ui->resetOnBoot->isChecked()); + // 終了時の確認ダイアログ + settings.setValue(IniKey_ConfirmExit, ui->confirmExit->isChecked()); + // アップデートのチェック + settings.setValue(IniKey_CheckUpdates, ui->checkUpdates->isChecked()); //>>>>> 色とフォント - QFont font = ui->sampleEdit->font(); - QPalette palette = ui->sampleEdit->palette(); - settings.setValue(IniKey_BoxColorBg, palette.base().color()); - settings.setValue(IniKey_BoxColorFg, palette.text().color()); - settings.setValue(IniKey_BoxFont, font); + saveAppearance(settings); - settings.setValue(IniKey_ViewColorBgMark, m_colorMap["clrBgMark"]); - settings.setValue(IniKey_ViewColorBgNormal, m_colorMap["clrBgNormal"]); - settings.setValue(IniKey_ViewColorFgHidden, m_colorMap["clrFgHidden"]); - settings.setValue(IniKey_ViewColorFgMark, m_colorMap["clrFgMark"]); - settings.setValue(IniKey_ViewColorFgNormal, m_colorMap["clrFgNormal"]); - settings.setValue(IniKey_ViewColorFgReadonly, m_colorMap["clrFgReadonly"]); - settings.setValue(IniKey_ViewColorFgSystem, m_colorMap["clrFgSystem"]); - settings.setValue(IniKey_ViewFont, m_model.font()); + //>>>>> ファイル操作 + settings.setValue(IniKey_ConfirmCopy, ui->confirmCopy->isChecked()); + settings.setValue(IniKey_ConfirmDelete, ui->confirmDelete->isChecked()); + settings.setValue(IniKey_ConfirmMove, ui->confirmMove->isChecked()); + settings.setValue(IniKey_ConfirmRename, ui->confirmRename->isChecked()); + + settings.setValue(IniKey_AutoCloseCopy, ui->autoCloseCopy->isChecked()); + settings.setValue(IniKey_AutoCloseDelete, ui->autoCloseDelete->isChecked()); + settings.setValue(IniKey_AutoCloseMove, ui->autoCloseMove->isChecked()); + settings.setValue(IniKey_AutoCloseRename, ui->autoCloseRename->isChecked()); + + selected = ui->overwriteOptions->checkedButton(); + settings.setValue(IniKey_DefaultOnCopy, selected->objectName()); + + settings.setValue(IniKey_MoveAfterCreateFolder, ui->moveAfterCreate->isChecked()); + settings.setValue(IniKey_OpenAfterCreateFile, ui->openAfterCreate->isChecked()); + + //>>>>> パス設定 + settings.setValue(IniKey_EditorOption, ui->editorOpt->text().trimmed()); + settings.setValue(IniKey_EditorPath, ui->editorPath->text().trimmed()); + + settings.setValue(IniKey_TerminalOption, ui->termOpt->text().trimmed()); + settings.setValue(IniKey_TerminalPath, ui->termPath->text().trimmed()); + + //>>>>> テキストビューア + settings.setValue(IniKey_ViewerFont, ui->viewerSample->font()); + settings.setValue(IniKey_ViewerColorBg, ui->viewerSample->palette().base().color()); + settings.setValue(IniKey_ViewerColorFg, ui->viewerSample->palette().text().color()); + settings.setValue(IniKey_ViewerInherit, ui->viewerInherit->isChecked()); + settings.setValue(IniKey_ViewerForceOpen, !ui->enableViewerIgnoreExt->isChecked()); + QStringList list = ui->viewerIgnoreExt->toPlainText().split(",", QString::SkipEmptyParts); + QStringList::iterator it; + for (it = list.begin(); it != list.end(); it++) { + *it = it->trimmed(); + } + settings.setValue(IniKey_ViewerIgnoreExt, list.join(",")); QDialog::accept(); }