GccToolChain::GccToolChain(const GccToolChain &tc) : ToolChain(tc), m_compilerPath(tc.compilerPath()), m_debuggerCommand(tc.debuggerCommand()), m_forcedTo32Bit(tc.m_forcedTo32Bit), m_supports64Bit(tc.m_supports64Bit), m_targetAbi(tc.m_targetAbi) { setCompilerPath(tc.m_compilerPath); }
bool Configuration::load(const QSettings& settings) { QVariant tmp; // コンパイラパスを取得 setCompilerPath(settings.value("path/compiler", QDir::currentPath()).toString()); // HSPディレクトリの取得 setHspPath(settings.value("path/hsp", QDir::currentPath()).toString()); // Commonディレクトリの取得 setHspCommonPath(settings.value("path/hsp-common", hspPath() + "/common/").toString()); // エディタ関連の設定を取得 setEditorTabWidth(settings.value("editor/tab-width", editorTabWidth()).toInt()); setEditorLineNumberVisible(settings.value("editor/line-number-visible", editorLineNumberVisibled()).toBool()); setEditorLineNumberFontName(settings.value("editor/line-number-font-name", editorLineNumberFontName()).toString()); setEditorLineNumberFontSize(settings.value("editor/line-number-font-size", editorLineNumberFontSize()).toInt()); setEditorFontName(settings.value("editor/font-name", editorFontName()).toString()); setEditorFontSize(settings.value("editor/font-size", editorFontSize()).toInt()); // 色設定 QStringList listItems = colorMetricsItemNames(); for(int i = 0; i < listItems.size(); i++) { Configuration::ColorMetricsInfoType metrics = colorMetrics(Configuration::ColorMetricsEnum(i)); metrics.enable = settings.value( QString("editor-color/%1-enable" ).arg(listItems.at(i)), metrics.enable).toBool(); metrics.useBoldFont = settings.value( QString("editor-color/%1-use-bold-font" ).arg(listItems.at(i)), metrics.useBoldFont).toBool(); metrics.backgroundColor = QColor(settings.value(QString("editor-color/%1-foreground-color").arg(listItems.at(i)), metrics.backgroundColor.name()).toString()); metrics.foregroundColor = QColor(settings.value(QString("editor-color/%1-background-color").arg(listItems.at(i)), metrics.foregroundColor.name()).toString()); setColorMetrics(Configuration::ColorMetricsEnum(i), metrics); } // キー割り当て QVector<KeyAssignPresetInfoType> oldKeyAssignInfo = m_keyAssignInfo; QStringList listKeyAssignItems = actionItemNames(); for(int i = 0, presetNum = 0; i < 1 + presetNum; i++) { QString keyBase = 0 == i ? "key-assign" : QString("key-assign/%1") .arg(i - 1); QString presetTitle; if( 0 == i ) { QVariant value = settings.value("key-assign/preset-num"); if( !value.isValid() ) { break; // 設定が存在しない } presetNum = value.toInt(); m_keyAssignInfo.resize(1 + presetNum); } else { QString key = QString("key-assign/%1/preset-name").arg(i - 1); presetTitle = settings.value(key, tr("untitled")).toString(); } m_keyAssignInfo[i].name = presetTitle; m_keyAssignInfo[i].keyAssign.resize(ActionNum); for(int j = 0; j < listKeyAssignItems.size(); j++) { QString key = QString("%1/%2") .arg(keyBase) .arg(listKeyAssignItems.at(j)); QString defaultValue = i < oldKeyAssignInfo.size() ? oldKeyAssignInfo[i].keyAssign[j].keys.toString() : ""; KeyAssignInfoType info; info.keys = QKeySequence(settings.value(key, defaultValue).toString()); setKeyAssign(i - 1, Configuration::ActionEnum(j), info); } } // ツールバー QVector<ToolbarPresetInfoType> oldToolbarInfo = m_toolbarInfo; listKeyAssignItems.push_back("----"); // セパレータ for(int i = 0, presetNum = 0; i < 1 + presetNum; i++) { QString keyBase = 0 == i ? "toolbar" : QString("toolbar/%1") .arg(i - 1); QString presetTitle; int buttonNum = 0; if( 0 == i ) { QVariant value = settings.value("toolbar/preset-num"); if( !value.isValid() ) { break; // 設定が存在しない } presetNum = value.toInt(); m_toolbarInfo.resize(1 + presetNum); } else { QString key = QString("toolbar/%1/preset-name").arg(i - 1); presetTitle = settings.value(key, tr("untitled")).toString(); } buttonNum = settings.value(QString("%1/button-num").arg(keyBase), 0).toInt(); m_toolbarInfo[i].name = presetTitle; m_toolbarInfo[i].toolbar.clear(); for(int j = 0; j < buttonNum; j++) { QString key = QString("%1/button-%2") .arg(keyBase) .arg(j); QString defaultValue = i < oldToolbarInfo.size() && j < oldToolbarInfo[i].toolbar.size() ? listKeyAssignItems[oldToolbarInfo[i].toolbar[j]] : ""; QString value = settings.value(key, defaultValue).toString(); int k = listKeyAssignItems.indexOf(value); if( 0 <= k && k <= Configuration::ActionNum ) { m_toolbarInfo[i].toolbar.push_back(Configuration::ActionEnum(k)); } } } emit updateConfiguration(this); return true; }