From 2dd68338ed7470d8ae72c13a6f0200ba1a46feda Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Wed, 1 Aug 2018 23:09:36 +0900
Subject: [PATCH 1/3] refs #461 Add toot visibility setting in preferences
---
src/main/preferences.js | 3 +-
.../components/Preferences/General.vue | 100 ++++++++++++------
src/renderer/store/Preferences/General.js | 20 +++-
3 files changed, 86 insertions(+), 37 deletions(-)
diff --git a/src/main/preferences.js b/src/main/preferences.js
index ac3482b0..3c0b1e1b 100644
--- a/src/main/preferences.js
+++ b/src/main/preferences.js
@@ -9,7 +9,8 @@ const Base = {
},
theme: 'white',
fontSize: 14,
- displayNameStyle: 0
+ displayNameStyle: 0,
+ tootVisibility: 0
},
state: {
collapse: false
diff --git a/src/renderer/components/Preferences/General.vue b/src/renderer/components/Preferences/General.vue
index 98b6df1d..e7d8dc9b 100644
--- a/src/renderer/components/Preferences/General.vue
+++ b/src/renderer/components/Preferences/General.vue
@@ -34,6 +34,26 @@
+
+
Toot
+
+
+
+ Default Visibility: |
+
+
+
+
+
+ |
+
+
+
+
Sounds
@@ -82,6 +102,20 @@ export default {
name: 'username',
value: 2
}
+ ],
+ visibilities: [
+ {
+ name: 'public',
+ value: 0
+ },
+ {
+ name: 'unlisted',
+ value: 1
+ },
+ {
+ name: 'private',
+ value: 2
+ }
]
}
},
@@ -106,6 +140,14 @@ export default {
this.$store.dispatch('Preferences/General/updateDisplayNameStyle', value)
}
},
+ tootVisibility: {
+ get () {
+ return this.$store.state.Preferences.General.general.tootVisibility
+ },
+ set (value) {
+ this.$store.dispatch('Preferences/General/updateTootVisibility', value)
+ }
+ },
sound_fav_rb: {
get () {
return this.$store.state.Preferences.General.general.sound.fav_rb
@@ -146,52 +188,40 @@ export default {
diff --git a/src/renderer/store/Preferences/General.js b/src/renderer/store/Preferences/General.js
index fd3cd3b5..8aa33d33 100644
--- a/src/renderer/store/Preferences/General.js
+++ b/src/renderer/store/Preferences/General.js
@@ -10,7 +10,8 @@ const General = {
},
theme: 'white',
fontSize: 14,
- displayNameStyle: 0
+ displayNameStyle: 0,
+ tootVisibility: 0
},
loading: false
},
@@ -94,6 +95,23 @@ const General = {
commit('updateGeneral', conf.general)
})
},
+ updateTootVisibility ({ dispatch, commit, state }, value) {
+ const newGeneral = Object.assign({}, state.general, {
+ tootVisibility: value
+ })
+ const config = {
+ general: newGeneral
+ }
+ ipcRenderer.send('save-preferences', config)
+ ipcRenderer.once('error-save-preferences', (event, err) => {
+ ipcRenderer.removeAllListeners('response-save-preferences')
+ })
+ ipcRenderer.once('response-save-preferences', (event, conf) => {
+ ipcRenderer.removeAllListeners('error-save-preferences')
+ dispatch('App/loadPreferences', null, { root: true })
+ commit('updateGeneral', conf.general)
+ })
+ },
updateSound ({ commit, state }, sound) {
commit('changeLoading', true)
const newSound = Object.assign({}, state.general.sound, sound)
From 8638bee417f88f3156da50461c16dbad004d8e9d Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Wed, 1 Aug 2018 23:41:05 +0900
Subject: [PATCH 2/3] refs #461 Use constants for visibility
---
src/constants/visibility.js | 18 +++++++++++
src/main/preferences.js | 3 +-
.../components/Preferences/General.vue | 16 +++-------
.../TimelineSpace/Modals/NewToot.vue | 11 +++----
src/renderer/store/Preferences/General.js | 3 +-
.../store/TimelineSpace/Modals/NewToot.js | 30 +++++++++++++++----
6 files changed, 56 insertions(+), 25 deletions(-)
create mode 100644 src/constants/visibility.js
diff --git a/src/constants/visibility.js b/src/constants/visibility.js
new file mode 100644
index 00000000..a9adca12
--- /dev/null
+++ b/src/constants/visibility.js
@@ -0,0 +1,18 @@
+export default {
+ Public: {
+ name: 'public',
+ value: 0
+ },
+ Unlisted: {
+ name: 'unlisted',
+ value: 1
+ },
+ Private: {
+ name: 'private',
+ value: 2
+ },
+ Direct: {
+ name: 'direct',
+ value: 3
+ }
+}
diff --git a/src/main/preferences.js b/src/main/preferences.js
index 3c0b1e1b..2f8ceddf 100644
--- a/src/main/preferences.js
+++ b/src/main/preferences.js
@@ -1,5 +1,6 @@
import storage from 'electron-json-storage'
import objectAssignDeep from 'object-assign-deep'
+import Visibility from '../constants/visibility'
const Base = {
general: {
@@ -10,7 +11,7 @@ const Base = {
theme: 'white',
fontSize: 14,
displayNameStyle: 0,
- tootVisibility: 0
+ tootVisibility: Visibility.Public.value
},
state: {
collapse: false
diff --git a/src/renderer/components/Preferences/General.vue b/src/renderer/components/Preferences/General.vue
index e7d8dc9b..de571754 100644
--- a/src/renderer/components/Preferences/General.vue
+++ b/src/renderer/components/Preferences/General.vue
@@ -84,6 +84,7 @@