i18n: update i18n references on menu labels, update chinese translation
This commit is contained in:
@@ -212,6 +212,9 @@
|
|||||||
"Search": "Search",
|
"Search": "Search",
|
||||||
"Owner": "Owner",
|
"Owner": "Owner",
|
||||||
"To server": "To server",
|
"To server": "To server",
|
||||||
"Time": "Time",
|
"Fav.": "Fav.",
|
||||||
"Fav.": "Fav."
|
"Set favorite": "Set favorite",
|
||||||
|
"Unset favorite": "Unset favorite",
|
||||||
|
"Remove from queue": "Remove from queue",
|
||||||
|
"Play song radio": "Play song radio"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
"Play Artist Radio": "播放艺术家电台",
|
"Play Artist Radio": "播放艺术家电台",
|
||||||
"Play count": "播放次数",
|
"Play count": "播放次数",
|
||||||
"Play Discography": "播放唱片集",
|
"Play Discography": "播放唱片集",
|
||||||
"Play next": "播放下一个",
|
"Play next": "下一首播放",
|
||||||
"Play Queue": "播放队列",
|
"Play Queue": "播放队列",
|
||||||
"Play random": "随机播放",
|
"Play random": "随机播放",
|
||||||
"Playback": "播放",
|
"Playback": "播放",
|
||||||
@@ -211,5 +211,10 @@
|
|||||||
"Owner": "拥有者",
|
"Owner": "拥有者",
|
||||||
"Locally": "到本地",
|
"Locally": "到本地",
|
||||||
"Time": "时长",
|
"Time": "时长",
|
||||||
"Fav.": "收藏"
|
"Fav.": "收藏",
|
||||||
|
"Set favorite": "设为收藏",
|
||||||
|
"Unset favorite": "取消收藏",
|
||||||
|
"Remove from queue": "从队列中移除",
|
||||||
|
"Size": "大小",
|
||||||
|
"Play song radio": "播放歌曲电台"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
"Play Artist Radio": "播放艺术家电台",
|
"Play Artist Radio": "播放艺术家电台",
|
||||||
"Play count": "播放次数",
|
"Play count": "播放次数",
|
||||||
"Play Discography": "播放唱片集",
|
"Play Discography": "播放唱片集",
|
||||||
"Play next": "播放下一个",
|
"Play next": "下一首播放",
|
||||||
"Play Queue": "播放队列",
|
"Play Queue": "播放队列",
|
||||||
"Play random": "随机播放",
|
"Play random": "随机播放",
|
||||||
"Playback": "播放",
|
"Playback": "播放",
|
||||||
@@ -211,5 +211,10 @@
|
|||||||
"Owner": "拥有者",
|
"Owner": "拥有者",
|
||||||
"To server": "到服务器",
|
"To server": "到服务器",
|
||||||
"Time": "时长",
|
"Time": "时长",
|
||||||
"Fav.": "收藏"
|
"Fav.": "收藏",
|
||||||
|
"Set favorite": "设为收藏",
|
||||||
|
"Unset favorite": "取消收藏",
|
||||||
|
"Remove from queue": "从队列中移除",
|
||||||
|
"Size": "大小",
|
||||||
|
"Play song radio": "播放歌曲电台"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
"Play Artist Radio": "播放藝術家電台",
|
"Play Artist Radio": "播放藝術家電台",
|
||||||
"Play count": "播放次數",
|
"Play count": "播放次數",
|
||||||
"Play Discography": "播放唱片集",
|
"Play Discography": "播放唱片集",
|
||||||
"Play next": "播放下一個",
|
"Play next": "下一首播放",
|
||||||
"Play Queue": "播放佇列",
|
"Play Queue": "播放佇列",
|
||||||
"Play random": "隨機播放",
|
"Play random": "隨機播放",
|
||||||
"Playback": "播放",
|
"Playback": "播放",
|
||||||
@@ -211,5 +211,10 @@
|
|||||||
"Owner": "擁有者",
|
"Owner": "擁有者",
|
||||||
"To server": "到伺服器",
|
"To server": "到伺服器",
|
||||||
"Time": "時长",
|
"Time": "時长",
|
||||||
"Fav.": "收藏"
|
"Fav.": "收藏",
|
||||||
|
"Set favorite": "“設為收藏",
|
||||||
|
"Unset favorite": "取消收藏",
|
||||||
|
"Remove from queue": "從隊列中移除",
|
||||||
|
"Size": "大小",
|
||||||
|
"Play song radio": "播放歌曲電台"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ func (t *TrackInfoDialog) CreateRenderer() fyne.WidgetRenderer {
|
|||||||
|
|
||||||
addFormRow(c, lang.L("Title"), t.track.Title)
|
addFormRow(c, lang.L("Title"), t.track.Title)
|
||||||
|
|
||||||
c.Add(newFormText("Album", true))
|
c.Add(newFormText(lang.L("Album"), true))
|
||||||
album := widget.NewHyperlink(t.track.Album, nil)
|
album := widget.NewHyperlink(t.track.Album, nil)
|
||||||
album.OnTapped = func() {
|
album.OnTapped = func() {
|
||||||
if t.OnNavigateToAlbum != nil {
|
if t.OnNavigateToAlbum != nil {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package widgets
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"fyne.io/fyne/v2/lang"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
@@ -13,7 +14,6 @@ import (
|
|||||||
|
|
||||||
"fyne.io/fyne/v2"
|
"fyne.io/fyne/v2"
|
||||||
"fyne.io/fyne/v2/container"
|
"fyne.io/fyne/v2/container"
|
||||||
"fyne.io/fyne/v2/lang"
|
|
||||||
"fyne.io/fyne/v2/theme"
|
"fyne.io/fyne/v2/theme"
|
||||||
"fyne.io/fyne/v2/widget"
|
"fyne.io/fyne/v2/widget"
|
||||||
)
|
)
|
||||||
@@ -410,7 +410,7 @@ func (g *GridView) cancelFetch() {
|
|||||||
func (g *GridView) showContextMenu(card *GridViewItem, pos fyne.Position) {
|
func (g *GridView) showContextMenu(card *GridViewItem, pos fyne.Position) {
|
||||||
g.menuGridViewItemId = card.ItemID()
|
g.menuGridViewItemId = card.ItemID()
|
||||||
if g.menu == nil {
|
if g.menu == nil {
|
||||||
play := fyne.NewMenuItem(lang.l("Play"), func() { g.onPlay(g.menuGridViewItemId, false) })
|
play := fyne.NewMenuItem(lang.L("Play"), func() { g.onPlay(g.menuGridViewItemId, false) })
|
||||||
play.Icon = theme.MediaPlayIcon()
|
play.Icon = theme.MediaPlayIcon()
|
||||||
shuffle := fyne.NewMenuItem(lang.L("Shuffle"), func() { g.onPlay(g.menuGridViewItemId, true) })
|
shuffle := fyne.NewMenuItem(lang.L("Shuffle"), func() { g.onPlay(g.menuGridViewItemId, true) })
|
||||||
shuffle.Icon = myTheme.ShuffleIcon
|
shuffle.Icon = myTheme.ShuffleIcon
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package widgets
|
package widgets
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fyne.io/fyne/v2/lang"
|
||||||
"image"
|
"image"
|
||||||
|
|
||||||
"github.com/dweymouth/supersonic/backend/mediaprovider"
|
"github.com/dweymouth/supersonic/backend/mediaprovider"
|
||||||
@@ -157,13 +158,13 @@ func (n *NowPlayingCard) SetImage(cover image.Image) {
|
|||||||
func (n *NowPlayingCard) showMenu(btnPos fyne.Position) {
|
func (n *NowPlayingCard) showMenu(btnPos fyne.Position) {
|
||||||
if n.menu == nil {
|
if n.menu == nil {
|
||||||
n.ratingMenu = util.NewRatingSubmenu(n.onSetRating)
|
n.ratingMenu = util.NewRatingSubmenu(n.onSetRating)
|
||||||
favorite := fyne.NewMenuItem("Set favorite", func() { n.onSetFavorite(true) })
|
favorite := fyne.NewMenuItem(lang.L("Set favorite"), func() { n.onSetFavorite(true) })
|
||||||
favorite.Icon = myTheme.FavoriteIcon
|
favorite.Icon = myTheme.FavoriteIcon
|
||||||
unfavorite := fyne.NewMenuItem("Unset favorite", func() { n.onSetFavorite(false) })
|
unfavorite := fyne.NewMenuItem(lang.L("Unset favorite"), func() { n.onSetFavorite(false) })
|
||||||
unfavorite.Icon = myTheme.NotFavoriteIcon
|
unfavorite.Icon = myTheme.NotFavoriteIcon
|
||||||
playlist := fyne.NewMenuItem("Add to playlist...", func() { n.onAddToPlaylist() })
|
playlist := fyne.NewMenuItem(lang.L("Add to playlist")+"...", func() { n.onAddToPlaylist() })
|
||||||
playlist.Icon = myTheme.PlaylistIcon
|
playlist.Icon = myTheme.PlaylistIcon
|
||||||
share := fyne.NewMenuItem("Share...", func() { n.onShare() })
|
share := fyne.NewMenuItem(lang.L("Share")+"...", func() { n.onShare() })
|
||||||
share.Icon = myTheme.ShareIcon
|
share.Icon = myTheme.ShareIcon
|
||||||
|
|
||||||
m := fyne.NewMenu("", favorite, unfavorite, n.ratingMenu, playlist, share)
|
m := fyne.NewMenu("", favorite, unfavorite, n.ratingMenu, playlist, share)
|
||||||
|
|||||||
+12
-11
@@ -1,6 +1,7 @@
|
|||||||
package widgets
|
package widgets
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fyne.io/fyne/v2/lang"
|
||||||
"image"
|
"image"
|
||||||
"slices"
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -277,31 +278,31 @@ func (p *PlayQueueList) ensureTracksMenu() {
|
|||||||
menuItems = append(menuItems, fyne.NewMenuItemSeparator())
|
menuItems = append(menuItems, fyne.NewMenuItemSeparator())
|
||||||
}
|
}
|
||||||
|
|
||||||
playlist := fyne.NewMenuItem("Add to playlist...", func() {
|
playlist := fyne.NewMenuItem(lang.L("Add to playlist")+"...", func() {
|
||||||
if p.OnAddToPlaylist != nil {
|
if p.OnAddToPlaylist != nil {
|
||||||
p.OnAddToPlaylist(p.selectedItemIDs())
|
p.OnAddToPlaylist(p.selectedItemIDs())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
playlist.Icon = myTheme.PlaylistIcon
|
playlist.Icon = myTheme.PlaylistIcon
|
||||||
download := fyne.NewMenuItem("Download...", func() {
|
download := fyne.NewMenuItem(lang.L("Download")+"...", func() {
|
||||||
if p.OnDownload != nil {
|
if p.OnDownload != nil {
|
||||||
p.OnDownload(p.selectedTracks(), "Selected tracks")
|
p.OnDownload(p.selectedTracks(), "Selected tracks")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
download.Icon = theme.DownloadIcon()
|
download.Icon = theme.DownloadIcon()
|
||||||
p.shareMenuItem = fyne.NewMenuItem("Share...", func() {
|
p.shareMenuItem = fyne.NewMenuItem(lang.L("Share")+"...", func() {
|
||||||
if p.OnShare != nil {
|
if p.OnShare != nil {
|
||||||
p.OnShare(p.selectedTracks())
|
p.OnShare(p.selectedTracks())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
p.shareMenuItem.Icon = myTheme.ShareIcon
|
p.shareMenuItem.Icon = myTheme.ShareIcon
|
||||||
favorite := fyne.NewMenuItem("Set favorite", func() {
|
favorite := fyne.NewMenuItem(lang.L("Set favorite"), func() {
|
||||||
if p.OnSetFavorite != nil {
|
if p.OnSetFavorite != nil {
|
||||||
p.OnSetFavorite(p.selectedItemIDs(), true)
|
p.OnSetFavorite(p.selectedItemIDs(), true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
favorite.Icon = myTheme.FavoriteIcon
|
favorite.Icon = myTheme.FavoriteIcon
|
||||||
unfavorite := fyne.NewMenuItem("Unset favorite", func() {
|
unfavorite := fyne.NewMenuItem(lang.L("Unset favorite"), func() {
|
||||||
if p.OnSetFavorite != nil {
|
if p.OnSetFavorite != nil {
|
||||||
p.OnSetFavorite(p.selectedItemIDs(), false)
|
p.OnSetFavorite(p.selectedItemIDs(), false)
|
||||||
}
|
}
|
||||||
@@ -323,7 +324,7 @@ func (p *PlayQueueList) ensureTracksMenu() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
if !p.useNonQueueMenu {
|
if !p.useNonQueueMenu {
|
||||||
remove := fyne.NewMenuItem("Remove from queue", func() {
|
remove := fyne.NewMenuItem(lang.L("Remove from queue"), func() {
|
||||||
if p.OnRemoveFromQueue != nil {
|
if p.OnRemoveFromQueue != nil {
|
||||||
p.OnRemoveFromQueue(p.selectedIdxs())
|
p.OnRemoveFromQueue(p.selectedIdxs())
|
||||||
}
|
}
|
||||||
@@ -344,7 +345,7 @@ func (p *PlayQueueList) ensureRadiosMenu() {
|
|||||||
if p.radiosMenu != nil {
|
if p.radiosMenu != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
remove := fyne.NewMenuItem("Remove from queue", func() {
|
remove := fyne.NewMenuItem(lang.L("Remove from queue"), func() {
|
||||||
if p.OnRemoveFromQueue != nil {
|
if p.OnRemoveFromQueue != nil {
|
||||||
p.OnRemoveFromQueue(p.selectedIdxs())
|
p.OnRemoveFromQueue(p.selectedIdxs())
|
||||||
}
|
}
|
||||||
@@ -357,25 +358,25 @@ func (p *PlayQueueList) ensureRadiosMenu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlayQueueList) createQueueActionMenuItems() []*fyne.MenuItem {
|
func (p *PlayQueueList) createQueueActionMenuItems() []*fyne.MenuItem {
|
||||||
play := fyne.NewMenuItem("Play", func() {
|
play := fyne.NewMenuItem(lang.L("Play"), func() {
|
||||||
if p.OnPlaySelection != nil {
|
if p.OnPlaySelection != nil {
|
||||||
p.OnPlaySelection(p.selectedItems(), false)
|
p.OnPlaySelection(p.selectedItems(), false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
play.Icon = theme.MediaPlayIcon()
|
play.Icon = theme.MediaPlayIcon()
|
||||||
shuffle := fyne.NewMenuItem("Shuffle", func() {
|
shuffle := fyne.NewMenuItem(lang.L("Shuffle"), func() {
|
||||||
if p.OnPlaySelection != nil {
|
if p.OnPlaySelection != nil {
|
||||||
p.OnPlaySelection(p.selectedItems(), true)
|
p.OnPlaySelection(p.selectedItems(), true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
shuffle.Icon = myTheme.ShuffleIcon
|
shuffle.Icon = myTheme.ShuffleIcon
|
||||||
playNext := fyne.NewMenuItem("Play next", func() {
|
playNext := fyne.NewMenuItem(lang.L("Play next"), func() {
|
||||||
if p.OnPlaySelection != nil {
|
if p.OnPlaySelection != nil {
|
||||||
p.OnPlaySelectionNext(p.selectedItems())
|
p.OnPlaySelectionNext(p.selectedItems())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
playNext.Icon = myTheme.PlayNextIcon
|
playNext.Icon = myTheme.PlayNextIcon
|
||||||
add := fyne.NewMenuItem("Add to queue", func() {
|
add := fyne.NewMenuItem(lang.L("Add to queue"), func() {
|
||||||
if p.OnPlaySelection != nil {
|
if p.OnPlaySelection != nil {
|
||||||
p.OnAddToQueue(p.selectedItems())
|
p.OnAddToQueue(p.selectedItems())
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-11
@@ -1,6 +1,7 @@
|
|||||||
package widgets
|
package widgets
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fyne.io/fyne/v2/lang"
|
||||||
"log"
|
"log"
|
||||||
"slices"
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
@@ -521,64 +522,64 @@ func (t *Tracklist) onShowContextMenu(e *fyne.PointEvent, trackIdx int) {
|
|||||||
if t.ctxMenu == nil {
|
if t.ctxMenu == nil {
|
||||||
t.ctxMenu = fyne.NewMenu("")
|
t.ctxMenu = fyne.NewMenu("")
|
||||||
if !t.Options.DisablePlaybackMenu {
|
if !t.Options.DisablePlaybackMenu {
|
||||||
play := fyne.NewMenuItem("Play", func() {
|
play := fyne.NewMenuItem(lang.L("Play"), func() {
|
||||||
if t.OnPlaySelection != nil {
|
if t.OnPlaySelection != nil {
|
||||||
t.OnPlaySelection(t.selectedTracks(), false)
|
t.OnPlaySelection(t.selectedTracks(), false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
play.Icon = theme.MediaPlayIcon()
|
play.Icon = theme.MediaPlayIcon()
|
||||||
shuffle := fyne.NewMenuItem("Shuffle", func() {
|
shuffle := fyne.NewMenuItem(lang.L("Shuffle"), func() {
|
||||||
if t.OnPlaySelection != nil {
|
if t.OnPlaySelection != nil {
|
||||||
t.OnPlaySelection(t.selectedTracks(), true)
|
t.OnPlaySelection(t.selectedTracks(), true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
shuffle.Icon = myTheme.ShuffleIcon
|
shuffle.Icon = myTheme.ShuffleIcon
|
||||||
playNext := fyne.NewMenuItem("Play next", func() {
|
playNext := fyne.NewMenuItem(lang.L("Play next"), func() {
|
||||||
if t.OnPlaySelection != nil {
|
if t.OnPlaySelection != nil {
|
||||||
t.OnPlaySelectionNext(t.selectedTracks())
|
t.OnPlaySelectionNext(t.selectedTracks())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
playNext.Icon = myTheme.PlayNextIcon
|
playNext.Icon = myTheme.PlayNextIcon
|
||||||
add := fyne.NewMenuItem("Add to queue", func() {
|
add := fyne.NewMenuItem(lang.L("Add to queue"), func() {
|
||||||
if t.OnPlaySelection != nil {
|
if t.OnPlaySelection != nil {
|
||||||
t.OnAddToQueue(t.selectedTracks())
|
t.OnAddToQueue(t.selectedTracks())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
add.Icon = theme.ContentAddIcon()
|
add.Icon = theme.ContentAddIcon()
|
||||||
t.songRadioMenuItem = fyne.NewMenuItem("Play song radio", func() {
|
t.songRadioMenuItem = fyne.NewMenuItem(lang.L("Play song radio"), func() {
|
||||||
t.onPlaySongRadio(t.selectedTracks())
|
t.onPlaySongRadio(t.selectedTracks())
|
||||||
})
|
})
|
||||||
t.songRadioMenuItem.Icon = myTheme.RadioIcon
|
t.songRadioMenuItem.Icon = myTheme.RadioIcon
|
||||||
t.ctxMenu.Items = append(t.ctxMenu.Items,
|
t.ctxMenu.Items = append(t.ctxMenu.Items,
|
||||||
play, shuffle, playNext, add, t.songRadioMenuItem)
|
play, shuffle, playNext, add, t.songRadioMenuItem)
|
||||||
}
|
}
|
||||||
playlist := fyne.NewMenuItem("Add to playlist...", func() {
|
playlist := fyne.NewMenuItem(lang.L("Add to playlist")+"...", func() {
|
||||||
if t.OnAddToPlaylist != nil {
|
if t.OnAddToPlaylist != nil {
|
||||||
t.OnAddToPlaylist(t.SelectedTrackIDs())
|
t.OnAddToPlaylist(t.SelectedTrackIDs())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
playlist.Icon = myTheme.PlaylistIcon
|
playlist.Icon = myTheme.PlaylistIcon
|
||||||
download := fyne.NewMenuItem("Download...", func() {
|
download := fyne.NewMenuItem(lang.L("Download")+"...", func() {
|
||||||
t.onDownload(t.selectedTracks(), "Selected tracks")
|
t.onDownload(t.selectedTracks(), "Selected tracks")
|
||||||
})
|
})
|
||||||
download.Icon = theme.DownloadIcon()
|
download.Icon = theme.DownloadIcon()
|
||||||
t.infoMenuItem = fyne.NewMenuItem("Show info...", func() {
|
t.infoMenuItem = fyne.NewMenuItem(lang.L("Show info")+"...", func() {
|
||||||
if t.OnShowTrackInfo != nil {
|
if t.OnShowTrackInfo != nil {
|
||||||
t.OnShowTrackInfo(t.selectedTracks()[0])
|
t.OnShowTrackInfo(t.selectedTracks()[0])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
t.infoMenuItem.Icon = theme.InfoIcon()
|
t.infoMenuItem.Icon = theme.InfoIcon()
|
||||||
favorite := fyne.NewMenuItem("Set favorite", func() {
|
favorite := fyne.NewMenuItem(lang.L("Set favorite"), func() {
|
||||||
t.onSetFavorites(t.selectedTracks(), true, true)
|
t.onSetFavorites(t.selectedTracks(), true, true)
|
||||||
})
|
})
|
||||||
favorite.Icon = myTheme.FavoriteIcon
|
favorite.Icon = myTheme.FavoriteIcon
|
||||||
unfavorite := fyne.NewMenuItem("Unset favorite", func() {
|
unfavorite := fyne.NewMenuItem(lang.L("Unset favorite"), func() {
|
||||||
t.onSetFavorites(t.selectedTracks(), false, true)
|
t.onSetFavorites(t.selectedTracks(), false, true)
|
||||||
})
|
})
|
||||||
unfavorite.Icon = myTheme.NotFavoriteIcon
|
unfavorite.Icon = myTheme.NotFavoriteIcon
|
||||||
t.ctxMenu.Items = append(t.ctxMenu.Items, fyne.NewMenuItemSeparator(),
|
t.ctxMenu.Items = append(t.ctxMenu.Items, fyne.NewMenuItemSeparator(),
|
||||||
playlist, download, t.infoMenuItem)
|
playlist, download, t.infoMenuItem)
|
||||||
t.shareMenuItem = fyne.NewMenuItem("Share...", func() {
|
t.shareMenuItem = fyne.NewMenuItem(lang.L("Share")+"...", func() {
|
||||||
t.onShare(t.selectedTracks())
|
t.onShare(t.selectedTracks())
|
||||||
})
|
})
|
||||||
t.shareMenuItem.Icon = myTheme.ShareIcon
|
t.shareMenuItem.Icon = myTheme.ShareIcon
|
||||||
|
|||||||
Reference in New Issue
Block a user