Browse Source

windows: Replace CToggleGroup volume widget with CVolumeSlider

Sandy Carter 10 năm trước cách đây
mục cha
commit
bf353a4f5b
2 tập tin đã thay đổi với 4 bổ sung11 xóa
  1. 2 10
      client/windows/GUIClasses.cpp
  2. 2 1
      client/windows/GUIClasses.h

+ 2 - 10
client/windows/GUIClasses.cpp

@@ -575,18 +575,10 @@ CSystemOptionsWindow::CSystemOptionsWindow():
 	mapScrollSpeed->setSelected(settings["adventure"]["scrollSpeed"].Float());
 	mapScrollSpeed->addCallback(std::bind(&setIntSetting, "adventure", "scrollSpeed", _1));
 
-	musicVolume = new CToggleGroup(0, true);
-	for(int i=0; i<10; ++i)
-		musicVolume->addToggle(i*11, new CToggleButton(Point(29 + 19*i, 359), "syslb.def", CGI->generaltexth->zelp[326+i]));
-
-	musicVolume->setSelected(CCS->musich->getVolume());
+	musicVolume = new CVolumeSlider(Point(29, 359), "syslb.def", CCS->musich->getVolume(), &CGI->generaltexth->zelp[326]);
 	musicVolume->addCallback(std::bind(&setIntSetting, "general", "music", _1));
 
-	effectsVolume = new CToggleGroup(0, true);
-	for(int i=0; i<10; ++i)
-		effectsVolume->addToggle(i*11, new CToggleButton(Point(29 + 19*i, 425), "syslb.def", CGI->generaltexth->zelp[336+i]));
-
-	effectsVolume->setSelected(CCS->soundh->getVolume());
+	effectsVolume = new CVolumeSlider(Point(29, 425), "syslb.def", CCS->soundh->getVolume(), &CGI->generaltexth->zelp[336]);
 	effectsVolume->addCallback(std::bind(&setIntSetting, "general", "sound", _1));
 
 	showReminder = new CToggleButton(Point(246, 87), "sysopchk.def", CGI->generaltexth->zelp[361],

+ 2 - 1
client/windows/GUIClasses.h

@@ -31,6 +31,7 @@ class CListBox;
 class CLabelGroup;
 class CToggleButton;
 class CToggleGroup;
+class CVolumeSlider;
 class CGStatusBar;
 
 /// Recruitment window where you can recruit creatures
@@ -192,7 +193,7 @@ private:
 	CToggleGroup * heroMoveSpeed;
 	CToggleGroup * enemyMoveSpeed;
 	CToggleGroup * mapScrollSpeed;
-	CToggleGroup * musicVolume, * effectsVolume;
+	CVolumeSlider * musicVolume, * effectsVolume;
 
 	//CHighlightableButton * showPath;
 	CToggleButton * showReminder;