Skip to content

Commit a379f57

Browse files
authored
Merge pull request #346 from samikbanik/Issue_#288
Font size settings changed to percentages
2 parents a5d00eb + 08cbf30 commit a379f57

File tree

4 files changed

+46
-9
lines changed

4 files changed

+46
-9
lines changed

app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,22 +151,30 @@ class SettingsActivity : SimpleActivity() {
151151
}
152152

153153
private fun setupFontSize() {
154-
settings_font_size.text = getFontSizeText()
154+
settings_font_size.text = getFontSizePercentText(config.fontSize)
155155
settings_font_size_holder.setOnClickListener {
156156
val items = arrayListOf(
157-
RadioItem(FONT_SIZE_SMALL, getString(R.string.small)),
158-
RadioItem(FONT_SIZE_MEDIUM, getString(R.string.medium)),
159-
RadioItem(FONT_SIZE_LARGE, getString(R.string.large)),
160-
RadioItem(FONT_SIZE_EXTRA_LARGE, getString(R.string.extra_large)))
157+
RadioItem(FONT_SIZE_50_PERCENT, getFontSizePercentText(FONT_SIZE_50_PERCENT)),
158+
RadioItem(FONT_SIZE_75_PERCENT, getFontSizePercentText(FONT_SIZE_75_PERCENT)),
159+
RadioItem(FONT_SIZE_100_PERCENT, getFontSizePercentText(FONT_SIZE_100_PERCENT)),
160+
RadioItem(FONT_SIZE_125_PERCENT, getFontSizePercentText(FONT_SIZE_125_PERCENT)),
161+
RadioItem(FONT_SIZE_150_PERCENT, getFontSizePercentText(FONT_SIZE_150_PERCENT)),
162+
RadioItem(FONT_SIZE_175_PERCENT, getFontSizePercentText(FONT_SIZE_175_PERCENT)),
163+
RadioItem(FONT_SIZE_200_PERCENT, getFontSizePercentText(FONT_SIZE_200_PERCENT)),
164+
RadioItem(FONT_SIZE_250_PERCENT, getFontSizePercentText(FONT_SIZE_250_PERCENT)),
165+
RadioItem(FONT_SIZE_300_PERCENT, getFontSizePercentText(FONT_SIZE_300_PERCENT))
166+
)
161167

162168
RadioGroupDialog(this@SettingsActivity, items, config.fontSize) {
163169
config.fontSize = it as Int
164-
settings_font_size.text = getFontSizeText()
170+
settings_font_size.text = getFontSizePercentText(config.fontSize)
165171
updateWidgets()
166172
}
167173
}
168174
}
169175

176+
private fun getFontSizePercentText(fontSizePercentage: Int): String = "$fontSizePercentage%"
177+
170178
private fun setupGravity() {
171179
settings_gravity.text = getGravityText()
172180
settings_gravity_holder.setOnClickListener {

app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/Context.kt

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@ import android.appwidget.AppWidgetManager
44
import android.content.ComponentName
55
import android.content.Context
66
import android.content.Intent
7+
import com.simplemobiletools.commons.extensions.baseConfig
8+
import com.simplemobiletools.commons.helpers.FONT_SIZE_LARGE
9+
import com.simplemobiletools.commons.helpers.FONT_SIZE_MEDIUM
10+
import com.simplemobiletools.commons.helpers.FONT_SIZE_SMALL
11+
import com.simplemobiletools.notes.pro.R
712
import com.simplemobiletools.notes.pro.databases.NotesDatabase
8-
import com.simplemobiletools.notes.pro.helpers.Config
9-
import com.simplemobiletools.notes.pro.helpers.MyWidgetProvider
13+
import com.simplemobiletools.notes.pro.helpers.*
1014
import com.simplemobiletools.notes.pro.interfaces.NotesDao
1115
import com.simplemobiletools.notes.pro.interfaces.WidgetsDao
1216

@@ -26,3 +30,16 @@ fun Context.updateWidgets() {
2630
}
2731
}
2832
}
33+
34+
fun Context.getEditorFontSize(): Float {
35+
val defaultFontSizeDimension = when(resources.getInteger(R.integer.default_font_size)) {
36+
FONT_SIZE_SMALL -> resources.getDimension(R.dimen.small_text_size)
37+
FONT_SIZE_MEDIUM -> resources.getDimension(R.dimen.middle_text_size)
38+
FONT_SIZE_LARGE -> resources.getDimension(R.dimen.big_text_size)
39+
else -> resources.getDimension(R.dimen.extra_big_text_size)
40+
}
41+
return when(baseConfig.fontSize) {
42+
resources.getInteger(R.integer.default_font_size) -> defaultFontSizeDimension
43+
else -> defaultFontSizeDimension * baseConfig.fontSize / 100
44+
}
45+
}

app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/TextFragment.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import com.simplemobiletools.commons.extensions.*
1818
import com.simplemobiletools.notes.pro.R
1919
import com.simplemobiletools.notes.pro.activities.MainActivity
2020
import com.simplemobiletools.notes.pro.extensions.config
21+
import com.simplemobiletools.notes.pro.extensions.getEditorFontSize
2122
import com.simplemobiletools.notes.pro.extensions.updateWidgets
2223
import com.simplemobiletools.notes.pro.helpers.MyMovementMethod
2324
import com.simplemobiletools.notes.pro.helpers.NOTE_ID
@@ -126,7 +127,7 @@ class TextFragment : NoteFragment() {
126127

127128
val adjustedPrimaryColor = context.getAdjustedPrimaryColor()
128129
setColors(config.textColor, adjustedPrimaryColor, config.backgroundColor)
129-
setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize())
130+
setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getEditorFontSize())
130131
highlightColor = adjustedPrimaryColor.adjustAlpha(.4f)
131132

132133
gravity = config.getTextGravity()

app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,14 @@ enum class NoteType(val value: Int) { TYPE_TEXT(0), TYPE_CHECKLIST(1) }
4141

4242
// mime types
4343
const val MIME_TEXT_PLAIN = "text/plain"
44+
45+
// font size percentage options
46+
const val FONT_SIZE_50_PERCENT = 50
47+
const val FONT_SIZE_75_PERCENT = 75
48+
const val FONT_SIZE_100_PERCENT = 100
49+
const val FONT_SIZE_125_PERCENT = 125
50+
const val FONT_SIZE_150_PERCENT = 150
51+
const val FONT_SIZE_175_PERCENT = 175
52+
const val FONT_SIZE_200_PERCENT = 200
53+
const val FONT_SIZE_250_PERCENT = 250
54+
const val FONT_SIZE_300_PERCENT = 300

0 commit comments

Comments
 (0)