Beispiel #1
0
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);
}
Beispiel #2
0
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;
}