mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Print: label update on height slider move
The PrintOptions widget has value labels next to the horizontal sliders. Add slots to update these labels when a slider moves. Patch also makes a modification so that the PrintOptions constructor requires a 'struct options' pointer. If an options struct is not received we do not set predefined values and do not connect signals to slots, where options will be updated immediately. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
		
							parent
							
								
									5d81eee0da
								
							
						
					
					
						commit
						2c7a208bc1
					
				
					 3 changed files with 58 additions and 11 deletions
				
			
		|  | @ -1,14 +1,50 @@ | |||
| #include "printoptions.h" | ||||
| #include "ui_printoptions.h" | ||||
| 
 | ||||
| PrintOptions *PrintOptions::instance() | ||||
| { | ||||
| 	static PrintOptions *self = new PrintOptions();	 | ||||
| 	return self; | ||||
| } | ||||
| 
 | ||||
| PrintOptions::PrintOptions(QWidget *parent, Qt::WindowFlags f) | ||||
| PrintOptions::PrintOptions(QWidget *parent, struct options *printOpt) | ||||
| : ui( new Ui::PrintOptions()) | ||||
| { | ||||
| 	if (parent) | ||||
| 		setParent(parent); | ||||
| 	if (!printOpt) | ||||
| 		return; | ||||
| 	printOptions = printOpt; | ||||
| 	ui->setupUi(this); | ||||
| 	// make height sliders update the labels next to them
 | ||||
| 	connect(ui->sliderPHeight, SIGNAL(sliderMoved(int)), this, SLOT(sliderPHeightMoved(int))); | ||||
| 	connect(ui->sliderOHeight, SIGNAL(sliderMoved(int)), this, SLOT(sliderOHeightMoved(int))); | ||||
| 	connect(ui->sliderNHeight, SIGNAL(sliderMoved(int)), this, SLOT(sliderNHeightMoved(int))); | ||||
| 	initSliderWithLabel(ui->sliderPHeight, ui->valuePHeight, printOptions->profile_height); | ||||
| 	initSliderWithLabel(ui->sliderOHeight, ui->valueOHeight, printOptions->notes_height); | ||||
| 	initSliderWithLabel(ui->sliderNHeight, ui->valueNHeight, printOptions->tanks_height); | ||||
| } | ||||
| 
 | ||||
| void PrintOptions::initSliderWithLabel(QSlider *slider, QLabel *label, int value) | ||||
| { | ||||
| 	slider->setValue(value); | ||||
| 	label->setText(formatSliderValueText(value)); | ||||
| } | ||||
| 
 | ||||
| QString PrintOptions::formatSliderValueText(int value) | ||||
| { | ||||
| 	QString str = QString("%1%").arg(QString::number(value)); | ||||
| 	return str; | ||||
| } | ||||
| 
 | ||||
| void PrintOptions::sliderPHeightMoved(int value) | ||||
| { | ||||
| 	ui->valuePHeight->setText(formatSliderValueText(value)); | ||||
| 	printOptions->profile_height = value; | ||||
| } | ||||
| 
 | ||||
| void PrintOptions::sliderOHeightMoved(int value) | ||||
| { | ||||
| 	ui->valueOHeight->setText(formatSliderValueText(value)); | ||||
| 	printOptions->notes_height = value; | ||||
| } | ||||
| 
 | ||||
| void PrintOptions::sliderNHeightMoved(int value) | ||||
| { | ||||
| 	ui->valueNHeight->setText(formatSliderValueText(value)); | ||||
| 	printOptions->tanks_height = value; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue