Пример #1
0
LRESULT CMainDlg::OnSettingsComboSelchange(WORD /*wNotifyCode*/, WORD wID, HWND hWndCtl, BOOL& /*bHandled*/)
{
	int cameraProperty = combobox_to_camera_property_[wID];
	CComboBox combobox(hWndCtl);
	task_runner_->InsertTask(new PropertySetterTask<int>(camera_, cameraProperty, combobox.GetItemData(combobox.GetCurSel())));
	return 0;
}
Пример #2
0
// boolean return value no longer required
// was used to detect whether all settings were present in the ini,
// since writing in 'preserved' mode would not create settings not present.
// that is now fixed, so return value redundant.
void EditorConfigDialog::syncData(ini::AttributeMap& data, bool saveDialogData)
{
	bool /*preserve = true,*/ read = !saveDialogData;

	QString pathDefaults[pathSize] = {
		paths[d2charPath]->text(),
		paths[d2dataPath]->text(),
		paths[d2expPath]->text(),
		paths[patch_d2Path]->text(),
		paths[mod_dirPath]->text()
	};
#ifdef Q_WS_WIN
	// get default mpq path based on diablo install path in registry
	QSettings diabloSettings("HKEY_CURRENT_USER\\Software\\Blizzard Entertainment\\Diablo II",
		QSettings::NativeFormat);
	if (diabloSettings.contains("InstallPath"))
	{
		QString installPath = diabloSettings.value("InstallPath").toString();
		if (installPath.length())
		{
			QDir installDir(installPath);
#define DEFPATHFROMINST(name) pathDefaults[( name##Path )] = installDir.filePath( #name ".mpq" )
			DEFPATHFROMINST(d2char);
			DEFPATHFROMINST(d2data);
			DEFPATHFROMINST(d2exp);
			DEFPATHFROMINST(patch_d2);
		}
	}
#undef DEFPATHFROMINST
#endif

//#define SYNCPATH(name) preserve *= lineedit(#name, paths[ name##Path ], \ /**/
#define SYNCPATH(name) lineedit(#name, paths[ name##Path ], \
		pathDefaults[ name##Path ], read, data)
	SYNCPATH(d2char);
	SYNCPATH(d2data);
	SYNCPATH(d2exp);
	SYNCPATH(patch_d2);
	SYNCPATH(mod_dir);
#undef SYNCPATH
	/*preserve *=*/ checkbox("full_screen", useFullscreen, true, false, read, data);
	/*preserve *=*/ lineedit("screen_width", screenWidth, "800", read, data);
	/*preserve *=*/ lineedit("screen_height", screenHeight, "600", read, data);
	/*preserve *=*/ combobox("screen_depth", screenDepth, 4, read, data);
	/*preserve *=*/ lineedit("refresh_rate", screenRefresh, "60", read, data);
	/*preserve *=*/ lineedit("keyb_scroll_x", scrollSpeeds[keyboardScroll][0], "40", read, data);
	/*preserve *=*/ lineedit("keyb_scroll_y", scrollSpeeds[keyboardScroll][1], "20", read, data);
	/*preserve *=*/ lineedit("mouse_scroll_x", scrollSpeeds[mouseScroll][0], "20", read, data);
	/*preserve *=*/ lineedit("mouse_scroll_y", scrollSpeeds[mouseScroll][1], "10", read, data);
	/*preserve *=*/ lineedit("edit_scroll_x", scrollSpeeds[tileeditScroll][0], "20", read, data);
	/*preserve *=*/ lineedit("edit_scroll_y", scrollSpeeds[tileeditScroll][1], "20", read, data);
	/*preserve *=*/ lineedit("obj_edit_scroll", editScrollSpeed, "2", read, data);
	/*preserve *=*/ lineedit("mouse_speed_x", mouseSpeeds[0], "2", read, data);
	/*preserve *=*/ lineedit("mouse_speed_y", mouseSpeeds[1], "2", read, data);
	/*preserve *=*/ combobox("gamma_correction", gammaCorrection, 23, read, data);
	/*preserve *=*/ checkbox("only_normal_type2", allowHigherType2, false, true, read, data);
	/*preserve *=*/ checkbox("always_max_layers", alwaysMaxLayerCount, true, false, read, data);
	/*preserve *=*/ checkbox("stretch_sprite", stretchSpritesOnZoom, true, false, read, data);
	/*preserve *=*/ checkbox("ds1_saved_minimize", minimizeSavedDs1, true, false, read, data);
	/*preserve *=*/ combobox("center_zoom", zoomAfterCentering, 1, read, data);
	/*preserve *=*/ checkbox("winobj_can_scroll_keyb", mouseScrollsMain, true, false, read, data);
	/*preserve *=*/ checkbox("winobj_can_scroll_mouse", keybScrollsMain, false, false, read, data);
	/*preserve *=*/ lineedit("nb_type1_per_act", type1TableSize, "60", read, data);
	/*preserve *=*/ lineedit("nb_type2_per_act", type2TableSize, "150", read, data);
	/*preserve *=*/ checkbox("lower_speed_zoom_out", lowZoomedScrollSpeed, false, false, read, data);
	/*preserve *=*/ checkbox("workspace_enable", enableWorkspace, true, false, read, data);
	//return preserve;
}