package it.angrydroids.epub3reader;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Spinner;
public class ChangeCSSMenu extends DialogFragment {
protected float value = (float) 0.2;
protected Button[] buttons = new Button[5];
protected Builder builder;
protected Spinner spinColor;
protected Spinner spinBack;
protected Spinner spinFontStyle;
protected Spinner spinAlignText;
protected Spinner spinFontSize;
protected Spinner spinLineH;
protected Button defaultButton;
protected Spinner spinLeft;
protected Spinner spinRight;
protected int colInt, backInt, fontInt, alignInt, sizeInt, heightInt,
marginLInt, marginRInt;
protected MainActivity a;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
builder = new AlertDialog.Builder(getActivity());
// Get the layout inflater
LayoutInflater inflater = getActivity().getLayoutInflater();
// Inflate and set the layout for the dialog
// Pass null as the parent view because its going in the dialog layout
a = (MainActivity)getActivity();
View view = inflater.inflate(R.layout.change_css, null);
final SharedPreferences preferences = a.getPreferences(Context.MODE_PRIVATE);
spinColor = (Spinner) view.findViewById(R.id.spinnerColor);
colInt = preferences.getInt("spinColorValue", 0);
spinColor.setSelection(colInt);
spinBack = (Spinner) view.findViewById(R.id.spinnerBack);
backInt = preferences.getInt("spinBackValue", 0);
spinBack.setSelection(backInt);
spinFontStyle = (Spinner) view.findViewById(R.id.spinnerFontFamily);
fontInt = preferences.getInt("spinFontStyleValue", 0);
spinFontStyle.setSelection(fontInt);
spinAlignText = (Spinner) view.findViewById(R.id.spinnerAlign);
alignInt = preferences.getInt("spinAlignTextValue", 0);
spinAlignText.setSelection(alignInt);
spinFontSize = (Spinner) view.findViewById(R.id.spinnerFS);
sizeInt = preferences.getInt("spinFontSizeValue", 0);
spinFontSize.setSelection(sizeInt);
spinLineH = (Spinner) view.findViewById(R.id.spinnerLH);
heightInt = preferences.getInt("spinLineHValue", 0);
spinLineH.setSelection(heightInt);
spinLeft = (Spinner) view.findViewById(R.id.spinnerLeft);
marginLInt = preferences.getInt("spinLeftValue", 0);
spinLeft.setSelection(marginLInt);
spinRight = (Spinner) view.findViewById(R.id.spinnerRight);
marginRInt = preferences.getInt("spinRightValue", 0);
spinRight.setSelection(marginRInt);
defaultButton = (Button) view.findViewById(R.id.buttonDefault);
// editTextTop = (EditText) view.findViewById(R.id.editText1);
// editTextBottom = (EditText) view.findViewById(R.id.editText2);
// editTextLeft = (EditText) view.findViewById(R.id.editText3);
// editTextRight = (EditText) view.findViewById(R.id.editText4);
builder.setTitle("Style");
builder.setView(view);
spinColor
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
colInt = (int) id;
switch ((int) id) {
case 0:
a.setColor(getString(R.string.black_rgb));
break;
case 1:
a.setColor(getString(R.string.red_rgb));
break;
case 2:
a.setColor(getString(R.string.green_rgb));
break;
case 3:
a.setColor(getString(R.string.blue_rgb));
break;
case 4:
a.setColor(getString(R.string.white_rgb));
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinBack.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
backInt = (int) id;
switch ((int) id) {
case 0:
a.setBackColor(getString(R.string.white_rgb));
break;
case 1:
a.setBackColor(getString(R.string.red_rgb));
break;
case 2:
a.setBackColor(getString(R.string.green_rgb));
break;
case 3:
a.setBackColor(getString(R.string.blue_rgb));
break;
case 4:
a.setBackColor(getString(R.string.black_rgb));
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinFontStyle
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
fontInt = (int) id;
switch ((int) id) {
case 0:
a.setFontType(getString(R.string.Arial));
break;
case 1:
a.setFontType(getString(R.string.Serif));
break;
case 2:
a.setFontType(getString(R.string.Monospace));
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinAlignText
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
alignInt = (int) id;
switch ((int) id) {
case 0:
a.setAlign(getString(R.string.Left_Align));
break;
case 1:
a.setAlign(getString(R.string.Center_Align));
break;
case 2:
a.setAlign(getString(R.string.Right_Align));
break;
case 3:
a.setAlign(getString(R.string.Justify));
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinFontSize
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
sizeInt = (int) id;
switch ((int) id) {
case 0:
a.setFontSize("100");
break;
case 1:
a.setFontSize("125");
break;
case 2:
a.setFontSize("150");
break;
case 3:
a.setFontSize("175");
break;
case 4:
a.setFontSize("200");
break;
case 5:
a.setFontSize("90");
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinLineH
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
heightInt = (int) id;
switch ((int) id) {
case 0:
a.setLineHeight("1");
break;
case 1:
a.setLineHeight("1.25");
break;
case 2:
a.setLineHeight("1.5");
break;
case 3:
a.setLineHeight("1.75");
break;
case 4:
a.setLineHeight("2");
break;
case 5:
a.setLineHeight("0.9");
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinLeft.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
marginLInt = (int) id;
switch ((int) id) {
case 0:
a.setMarginLeft("0");
break;
case 1:
a.setMarginLeft("5");
break;
case 2:
a.setMarginLeft("10");
break;
case 3:
a.setMarginLeft("15");
break;
case 4:
a.setMarginLeft("20");
break;
case 5:
a.setMarginLeft("25");
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinRight
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
marginRInt = (int) id;
switch ((int) id) {
case 0:
a.setMarginRight("0");
break;
case 1:
a.setMarginRight("5");
break;
case 2:
a.setMarginRight("10");
break;
case 3:
a.setMarginRight("15");
break;
case 4:
a.setMarginRight("20");
break;
case 5:
a.setMarginRight("25");
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
defaultButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a.setColor("");
a.setBackColor("");
a.setFontType("");
a.setFontSize("");
a.setLineHeight("");
a.setAlign("");
a.setMarginLeft("");
a.setMarginRight("");
a.setCSS();
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("spinColorValue", 0);
editor.putInt("spinBackValue", 0);
editor.putInt("spinFontStyleValue", 0);
editor.putInt("spinAlignTextValue", 0);
editor.putInt("spinFontSizeValue", 0);
editor.putInt("spinLineHValue", 0);
editor.putInt("spinLeftValue", 0);
editor.putInt("spinRightValue", 0);
editor.commit();
dismiss();
}
});
builder.setPositiveButton(getString(R.string.OK),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// a.setLineHeight(editTextLineH.getText()
// .toString());
// a.setMargin(editTextTop.getText()
// .toString(), editTextBottom.getText()
// .toString(), editTextLeft.getText().toString(),
// editTextRight.getText().toString());
a.setCSS();
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("spinColorValue", colInt);
editor.putInt("spinBackValue", backInt);
editor.putInt("spinFontStyleValue", fontInt);
editor.putInt("spinAlignTextValue", alignInt);
editor.putInt("spinFontSizeValue", sizeInt);
editor.putInt("spinLineHValue", heightInt);
editor.putInt("spinLeftValue", marginLInt);
editor.putInt("spinRightValue", marginRInt);
editor.commit();
}
});
builder.setNegativeButton(getString(R.string.Cancel),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
return builder.create();
}
}