xref: /haiku/src/apps/drivesetup/InitParametersPanel.cpp (revision 4ec2ca4e1645f59237d611942f08f442370c5cfe)
1*4ec2ca4eSAxel Dörfler /*
2*4ec2ca4eSAxel Dörfler  * Copyright 2008-2013 Haiku, Inc. All rights reserved.
3*4ec2ca4eSAxel Dörfler  * Distributed under the terms of the MIT license.
4*4ec2ca4eSAxel Dörfler  *
5*4ec2ca4eSAxel Dörfler  * Authors:
6*4ec2ca4eSAxel Dörfler  *		Stephan Aßmus <superstippi@gmx.de>
7*4ec2ca4eSAxel Dörfler  *		Axel Dörfler, axeld@pinc-software.de.
8*4ec2ca4eSAxel Dörfler  *		Karsten Heimrich. <host.haiku@gmx.de>
9*4ec2ca4eSAxel Dörfler  */
10*4ec2ca4eSAxel Dörfler 
11*4ec2ca4eSAxel Dörfler 
12*4ec2ca4eSAxel Dörfler #include "InitParametersPanel.h"
13*4ec2ca4eSAxel Dörfler 
14*4ec2ca4eSAxel Dörfler #include <driver_settings.h>
15*4ec2ca4eSAxel Dörfler #include <stdio.h>
16*4ec2ca4eSAxel Dörfler 
17*4ec2ca4eSAxel Dörfler #include <Button.h>
18*4ec2ca4eSAxel Dörfler #include <Catalog.h>
19*4ec2ca4eSAxel Dörfler 
20*4ec2ca4eSAxel Dörfler 
21*4ec2ca4eSAxel Dörfler #undef B_TRANSLATION_CONTEXT
22*4ec2ca4eSAxel Dörfler #define B_TRANSLATION_CONTEXT "InitializeParametersPanel"
23*4ec2ca4eSAxel Dörfler 
24*4ec2ca4eSAxel Dörfler 
25*4ec2ca4eSAxel Dörfler InitParametersPanel::InitParametersPanel(BWindow* window,
26*4ec2ca4eSAxel Dörfler 	const BString& diskSystem, BPartition* partition)
27*4ec2ca4eSAxel Dörfler 	:
28*4ec2ca4eSAxel Dörfler 	AbstractParametersPanel(window)
29*4ec2ca4eSAxel Dörfler {
30*4ec2ca4eSAxel Dörfler 	Init(B_INITIALIZE_PARAMETER_EDITOR, diskSystem, partition);
31*4ec2ca4eSAxel Dörfler 
32*4ec2ca4eSAxel Dörfler 	fOkButton->SetLabel(B_TRANSLATE("Initialize"));
33*4ec2ca4eSAxel Dörfler }
34*4ec2ca4eSAxel Dörfler 
35*4ec2ca4eSAxel Dörfler 
36*4ec2ca4eSAxel Dörfler InitParametersPanel::~InitParametersPanel()
37*4ec2ca4eSAxel Dörfler {
38*4ec2ca4eSAxel Dörfler }
39*4ec2ca4eSAxel Dörfler 
40*4ec2ca4eSAxel Dörfler 
41*4ec2ca4eSAxel Dörfler status_t
42*4ec2ca4eSAxel Dörfler InitParametersPanel::Go(BString& name, BString& parameters)
43*4ec2ca4eSAxel Dörfler {
44*4ec2ca4eSAxel Dörfler 	status_t status = AbstractParametersPanel::Go(parameters);
45*4ec2ca4eSAxel Dörfler 	if (status == B_OK) {
46*4ec2ca4eSAxel Dörfler 		void* handle = parse_driver_settings_string(parameters.String());
47*4ec2ca4eSAxel Dörfler 		if (handle != NULL) {
48*4ec2ca4eSAxel Dörfler 			const char* string = get_driver_parameter(handle, "name",
49*4ec2ca4eSAxel Dörfler 				NULL, NULL);
50*4ec2ca4eSAxel Dörfler 			name.SetTo(string);
51*4ec2ca4eSAxel Dörfler 			delete_driver_settings(handle);
52*4ec2ca4eSAxel Dörfler 		}
53*4ec2ca4eSAxel Dörfler 	}
54*4ec2ca4eSAxel Dörfler 
55*4ec2ca4eSAxel Dörfler 	return status;
56*4ec2ca4eSAxel Dörfler }
57