| 
									
										
										
										
											2013-07-09 15:37:53 +03:00
										 |  |  | #include "printoptions.h"
 | 
					
						
							| 
									
										
										
										
											2013-07-11 00:45:29 +03:00
										 |  |  | #include "../display.h"
 | 
					
						
							| 
									
										
										
										
											2013-07-09 15:37:53 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-09 23:43:21 +03:00
										 |  |  | PrintOptions::PrintOptions(QWidget *parent, struct options *printOpt) | 
					
						
							| 
									
										
										
										
											2013-07-09 15:37:53 +03:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	hasSetupSlots = false; | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 	ui.setupUi(this); | 
					
						
							| 
									
										
										
										
											2013-07-09 23:43:21 +03:00
										 |  |  | 	if (parent) | 
					
						
							|  |  |  | 		setParent(parent); | 
					
						
							|  |  |  | 	if (!printOpt) | 
					
						
							|  |  |  | 		return; | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	setup(printOpt); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void PrintOptions::setup(struct options *printOpt) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2013-07-09 23:43:21 +03:00
										 |  |  | 	printOptions = printOpt; | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	// print type radio buttons
 | 
					
						
							| 
									
										
										
										
											2013-07-10 15:34:57 +03:00
										 |  |  | 	switch (printOptions->type) { | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	case options::PRETTY: | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 		ui.radioSixDives->setChecked(true); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 		break; | 
					
						
							|  |  |  | 	case options::TWOPERPAGE: | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 		ui.radioTwoDives->setChecked(true); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 		break; | 
					
						
							| 
									
										
										
										
											2014-07-24 10:56:39 -07:00
										 |  |  | 	case options::ONEPERPAGE: | 
					
						
							|  |  |  | 		ui.radioOneDive->setChecked(true); | 
					
						
							|  |  |  | 		break; | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	case options::TABLE: | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 		ui.radioTablePrint->setChecked(true); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 		break; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	// general print option checkboxes
 | 
					
						
							|  |  |  | 	if (printOptions->color_selected) | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 		ui.printInColor->setChecked(true); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	if (printOptions->print_selected) | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 		ui.printSelected->setChecked(true); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	// ordering
 | 
					
						
							|  |  |  | 	if (printOptions->notes_up) | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 		ui.notesOnTop->setChecked(true); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	else | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 		ui.profileOnTop->setChecked(true); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	// connect slots only once
 | 
					
						
							|  |  |  | 	if (hasSetupSlots) | 
					
						
							|  |  |  | 		return; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 	connect(ui.radioSixDives, SIGNAL(clicked(bool)), this, SLOT(radioSixDivesClicked(bool))); | 
					
						
							|  |  |  | 	connect(ui.radioTwoDives, SIGNAL(clicked(bool)), this, SLOT(radioTwoDivesClicked(bool))); | 
					
						
							| 
									
										
										
										
											2014-07-24 10:56:39 -07:00
										 |  |  | 	connect(ui.radioOneDive, SIGNAL(clicked(bool)), this, SLOT(radioOneDiveClicked(bool))); | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 	connect(ui.radioTablePrint, SIGNAL(clicked(bool)), this, SLOT(radioTablePrintClicked(bool))); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 	connect(ui.printInColor, SIGNAL(clicked(bool)), this, SLOT(printInColorClicked(bool))); | 
					
						
							|  |  |  | 	connect(ui.printSelected, SIGNAL(clicked(bool)), this, SLOT(printSelectedClicked(bool))); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-03 11:54:25 -07:00
										 |  |  | 	connect(ui.notesOnTop, SIGNAL(clicked(bool)), this, SLOT(notesOnTopClicked(bool))); | 
					
						
							|  |  |  | 	connect(ui.profileOnTop, SIGNAL(clicked(bool)), this, SLOT(profileOnTopClicked(bool))); | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | 	hasSetupSlots = true; | 
					
						
							| 
									
										
										
										
											2013-07-09 15:37:53 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | // print type radio buttons
 | 
					
						
							|  |  |  | void PrintOptions::radioSixDivesClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->type = options::PRETTY; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void PrintOptions::radioTwoDivesClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->type = options::TWOPERPAGE; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-24 10:56:39 -07:00
										 |  |  | void PrintOptions::radioOneDiveClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->type = options::ONEPERPAGE; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-10 10:54:25 +03:00
										 |  |  | void PrintOptions::radioTablePrintClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->type = options::TABLE; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // general print option checkboxes
 | 
					
						
							|  |  |  | void PrintOptions::printInColorClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->color_selected = (int)check; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void PrintOptions::printSelectedClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->print_selected = (int)check; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ordering
 | 
					
						
							|  |  |  | void PrintOptions::notesOnTopClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->notes_up = true; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void PrintOptions::profileOnTopClicked(bool check) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	printOptions->notes_up = false; | 
					
						
							|  |  |  | } |