diff --git a/app/src/main/java/i2p/bote/android/util/IconicsPreference.java b/app/src/main/java/i2p/bote/android/util/IconicsPreference.java
new file mode 100644
index 0000000..a21e114
--- /dev/null
+++ b/app/src/main/java/i2p/bote/android/util/IconicsPreference.java
@@ -0,0 +1,44 @@
+package i2p.bote.android.util;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.os.Build;
+import android.preference.Preference;
+import android.util.AttributeSet;
+
+import com.mikepenz.iconics.IconicsDrawable;
+
+import i2p.bote.android.R;
+
+public class IconicsPreference extends Preference {
+ public IconicsPreference(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ @SuppressLint("NewApi")
+ public IconicsPreference(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs);
+
+ // Icons only work on API 11+
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB)
+ return;
+
+ TypedArray a = context.obtainStyledAttributes(attrs,
+ R.styleable.IconicsPreference, defStyle, 0);
+ String iconName = a.getString(R.styleable.IconicsPreference_ip_icon);
+ if (iconName == null)
+ return;
+
+ IconicsDrawable icon = new IconicsDrawable(context, iconName);
+ int color = a.getColor(R.styleable.IconicsPreference_ip_color, 0);
+ if (color != 0)
+ icon.color(color);
+ int size = a.getDimensionPixelSize(R.styleable.IconicsPreference_ip_size, 0);
+ if (size != 0)
+ icon.sizePx(size);
+
+ a.recycle();
+ setIcon(icon);
+ }
+}
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 7ce840e..0e2ce7a 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -1,12 +1,18 @@
+
+
+
+
+
+
-
-
+
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 153e61a..c737436 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -17,4 +17,5 @@
#B2000000
+ @android:color/black
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index c18e9d6..4bb8d72 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -37,4 +37,6 @@
200dp
300dp
+
+ 30dp
diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml
index 1d9ed3b..531a504 100644
--- a/app/src/main/res/xml/settings.xml
+++ b/app/src/main/res/xml/settings.xml
@@ -1,27 +1,40 @@
-
-
+
-
+
-
+
-
+
-
+
-
+
+ android:title="@string/settings_label_advanced"
+ app:ip_color="@color/pref_icon"
+ app:ip_icon="gmd-settings"
+ app:ip_size="@dimen/pref_icon"/>
\ No newline at end of file