feat(settings): make eleven settings reachable again
Every field here has a reader in the running plugin and had no control in the window. The config file was the only way to any of them. HideChat is the one that mattered. It defaults to on, it suppresses the game's own chat window, and the only other path to it is a right-click item that sets it to true and can never set it back. Anyone who used that item once had to edit JSON to get their chat back. The new toggle reads and writes the same field, so the two agree instead of fighting. The rest, by tab: - Window: the three remaining hide conditions, the preview minimum that belongs to a toggle already on screen, native item tooltips and their offset. - Chat: an emotes section holding the BetterTTV switch, the cache state, and an editor for the blocked-code list that has been in the config since v1.0 with nowhere to edit it. Blocking one code is a finer instrument than switching emotes off wholesale. Plus auto-translate sorting. - General: the failed-tell warning. The game reports a failed tell in the log only, where somebody who is typing does not see it. - Data & Privacy: battle messages. It decides whether battle lines are persisted at all, which makes it a storage decision rather than a chat one, and it sits in front of the whitelist rather than inside it. MaxParallelPopouts stays out. It is read once in the pool's constructor, the windows are registered once, and registering at runtime is explicitly forbidden -- a slider would do nothing until a reload, which is exactly the kind of decoration this cycle exists to remove. Four new strings in all 25 languages; the other fifteen labels were already translated and waiting.
This commit is contained in:
@@ -381,6 +381,10 @@ internal class HellionStrings
|
|||||||
internal static string Settings_Section_Cleanup => Get(nameof(Settings_Section_Cleanup));
|
internal static string Settings_Section_Cleanup => Get(nameof(Settings_Section_Cleanup));
|
||||||
internal static string Settings_Section_Export => Get(nameof(Settings_Section_Export));
|
internal static string Settings_Section_Export => Get(nameof(Settings_Section_Export));
|
||||||
internal static string Settings_Section_Telemetry => Get(nameof(Settings_Section_Telemetry));
|
internal static string Settings_Section_Telemetry => Get(nameof(Settings_Section_Telemetry));
|
||||||
|
internal static string Settings_Section_AutoTranslate => Get(nameof(Settings_Section_AutoTranslate));
|
||||||
|
internal static string Settings_Emotes_Block => Get(nameof(Settings_Emotes_Block));
|
||||||
|
internal static string Settings_NotifyFailedTell_Name => Get(nameof(Settings_NotifyFailedTell_Name));
|
||||||
|
internal static string Settings_NotifyFailedTell_Description => Get(nameof(Settings_NotifyFailedTell_Description));
|
||||||
internal static string Settings_Telemetry_None => Get(nameof(Settings_Telemetry_None));
|
internal static string Settings_Telemetry_None => Get(nameof(Settings_Telemetry_None));
|
||||||
internal static string Settings_Section_Database => Get(nameof(Settings_Section_Database));
|
internal static string Settings_Section_Database => Get(nameof(Settings_Section_Database));
|
||||||
|
|
||||||
|
|||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>No es recull cap telemetria. El complement no envia res sobre tu ni sobre el teu ús enlloc.</value>
|
<value>No es recull cap telemetria. El complement no envia res sobre tu ni sobre el teu ús enlloc.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Traducció automàtica</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Bloqueja</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Avisa quan un xiuxiueig no arriba</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>El joc només informa d'un xiuxiueig fallit al registre. Això mostra una notificació, perquè un missatge a algú desconnectat o d'un altre món no passi desapercebut.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Nesbírá se žádná telemetrie. Plugin nikam neposílá nic o vás ani o vašem používání.</value>
|
<value>Nesbírá se žádná telemetrie. Plugin nikam neposílá nic o vás ani o vašem používání.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Automatický překlad</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Zablokovat</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Upozornit, když šeptání nedorazí</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Hra hlásí neúspěšné šeptání jen v logu. Toto místo toho zobrazí upozornění, aby zpráva někomu offline nebo na jiném světě nezůstala bez povšimnutí.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Der indsamles ingen telemetri. Pluginet sender intet om dig eller din brug nogen steder.</value>
|
<value>Der indsamles ingen telemetri. Pluginet sender intet om dig eller din brug nogen steder.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Auto-oversættelse</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Bloker</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Advar når en tell ikke når frem</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Spillet melder kun en mislykket tell i loggen. Dette giver en notifikation i stedet, så en besked til nogen offline eller på en anden verden ikke overses.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1187,4 +1187,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Es wird keine Telemetrie erhoben. Das Plugin sendet nichts über dich oder deine Nutzung irgendwohin.</value>
|
<value>Es wird keine Telemetrie erhoben. Das Plugin sendet nichts über dich oder deine Nutzung irgendwohin.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Auto-Übersetzung</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Sperren</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Warnen, wenn ein Flüstern nicht ankommt</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Das Spiel meldet ein fehlgeschlagenes Flüstern nur im Protokoll. Das hier zeigt stattdessen eine Benachrichtigung, damit eine Nachricht an jemanden offline oder auf einer anderen Welt nicht untergeht.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Δεν συλλέγεται τηλεμετρία. Το πρόσθετο δεν στέλνει πουθενά τίποτα για εσάς ή τη χρήση σας.</value>
|
<value>Δεν συλλέγεται τηλεμετρία. Το πρόσθετο δεν στέλνει πουθενά τίποτα για εσάς ή τη χρήση σας.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Αυτόματη μετάφραση</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Αποκλεισμός</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Προειδοποίηση όταν ένα tell δεν φτάνει</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Το παιχνίδι αναφέρει ένα αποτυχημένο tell μόνο στο αρχείο καταγραφής. Αυτό εμφανίζει ειδοποίηση, ώστε ένα μήνυμα σε κάποιον εκτός σύνδεσης ή σε άλλον κόσμο να μην περάσει απαρατήρητο.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>No se recopila telemetría. El complemento no envía nada sobre ti ni sobre tu uso a ninguna parte.</value>
|
<value>No se recopila telemetría. El complemento no envía nada sobre ti ni sobre tu uso a ninguna parte.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Traducción automática</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Bloquear</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Avisar cuando un susurro no llega</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>El juego solo informa de un susurro fallido en el registro. Esto muestra una notificación, para que un mensaje a alguien desconectado o de otro mundo no pase desapercibido.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Telemetriaa ei kerätä. Lisäosa ei lähetä mitään sinusta tai käytöstäsi minnekään.</value>
|
<value>Telemetriaa ei kerätä. Lisäosa ei lähetä mitään sinusta tai käytöstäsi minnekään.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Automaattikäännös</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Estä</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Varoita, kun kuiskaus ei mene perille</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Peli ilmoittaa epäonnistuneesta kuiskauksesta vain lokissa. Tämä näyttää sen sijaan ilmoituksen, jottei viesti offline-tilassa tai toisessa maailmassa olevalle jää huomaamatta.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Aucune télémétrie n'est collectée. Le plugin n'envoie rien vous concernant ni sur votre utilisation.</value>
|
<value>Aucune télémétrie n'est collectée. Le plugin n'envoie rien vous concernant ni sur votre utilisation.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Traduction automatique</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Bloquer</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Avertir quand un message privé n'arrive pas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Le jeu ne signale un message privé échoué que dans le journal. Ceci affiche une notification à la place, pour qu'un message à quelqu'un hors ligne ou sur un autre monde ne passe pas inaperçu.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Nem gyűjtünk telemetriát. A bővítmény semmit sem küld rólad vagy a használatodról sehová.</value>
|
<value>Nem gyűjtünk telemetriát. A bővítmény semmit sem küld rólad vagy a használatodról sehová.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Automatikus fordítás</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Letiltás</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Figyelmeztetés, ha egy suttogás nem érkezik meg</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>A játék csak a naplóban jelzi a sikertelen suttogást. Ez helyette értesítést jelenít meg, hogy egy offline vagy másik világon lévő játékosnak küldött üzenet ne maradjon észrevétlen.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Non viene raccolta alcuna telemetria. Il plugin non invia nulla su di te o sul tuo utilizzo.</value>
|
<value>Non viene raccolta alcuna telemetria. Il plugin non invia nulla su di te o sul tuo utilizzo.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Traduzione automatica</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Blocca</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Avvisa quando un sussurro non arriva</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Il gioco segnala un sussurro fallito solo nel registro. Questo mostra invece una notifica, così un messaggio a qualcuno offline o su un altro mondo non passa inosservato.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>テレメトリは収集していません。あなたや利用状況に関する情報をどこにも送信しません。</value>
|
<value>テレメトリは収集していません。あなたや利用状況に関する情報をどこにも送信しません。</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>定型文</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>ブロック</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>テルが届かなかったときに警告する</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>ゲームはテルの失敗をログにしか表示しません。この設定では代わりに通知を出すので、オフラインや別ワールドの相手へのメッセージを見落としません。</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>원격 측정 정보를 수집하지 않습니다. 사용자나 사용 내역에 관한 어떤 정보도 전송하지 않습니다.</value>
|
<value>원격 측정 정보를 수집하지 않습니다. 사용자나 사용 내역에 관한 어떤 정보도 전송하지 않습니다.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>정형문</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>차단</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>귓속말이 전달되지 않으면 알림</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>게임은 귓속말 실패를 로그에만 표시합니다. 이 설정은 대신 알림을 띄워, 오프라인이거나 다른 월드에 있는 상대에게 보낸 메시지를 놓치지 않게 합니다.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Ingen telemetri samles inn. Programtillegget sender ingenting om deg eller bruken din noe sted.</value>
|
<value>Ingen telemetri samles inn. Programtillegget sender ingenting om deg eller bruken din noe sted.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Auto-oversettelse</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Blokker</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Varsle når en tell ikke kommer frem</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Spillet melder en mislykket tell bare i loggen. Dette gir et varsel i stedet, så en melding til noen offline eller på en annen verden ikke blir oversett.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Er wordt geen telemetrie verzameld. De plug-in stuurt niets over jou of je gebruik ergens heen.</value>
|
<value>Er wordt geen telemetrie verzameld. De plug-in stuurt niets over jou of je gebruik ergens heen.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Automatische vertaling</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Blokkeren</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Waarschuwen als een tell niet aankomt</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Het spel meldt een mislukte tell alleen in het log. Dit toont in plaats daarvan een melding, zodat een bericht aan iemand offline of op een andere wereld niet onopgemerkt blijft.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Nie zbieramy żadnej telemetrii. Wtyczka nigdzie nie wysyła informacji o tobie ani o twoim użytkowaniu.</value>
|
<value>Nie zbieramy żadnej telemetrii. Wtyczka nigdzie nie wysyła informacji o tobie ani o twoim użytkowaniu.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Autotłumaczenie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Zablokuj</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Ostrzegaj, gdy szept nie dotrze</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Gra zgłasza nieudany szept tylko w dzienniku. To zamiast tego wyświetla powiadomienie, żeby wiadomość do kogoś offline lub z innego świata nie umknęła.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Nenhuma telemetria é coletada. O plugin não envia nada sobre você ou seu uso para lugar nenhum.</value>
|
<value>Nenhuma telemetria é coletada. O plugin não envia nada sobre você ou seu uso para lugar nenhum.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Tradução automática</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Bloquear</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Avisar quando um sussurro não chega</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>O jogo relata um sussurro que falhou apenas no registro. Isto mostra uma notificação, para que uma mensagem a alguém offline ou de outro mundo não passe despercebida.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Não é recolhida qualquer telemetria. O plugin não envia nada sobre si ou sobre a sua utilização.</value>
|
<value>Não é recolhida qualquer telemetria. O plugin não envia nada sobre si ou sobre a sua utilização.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Tradução automática</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Bloquear</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Avisar quando um sussurro não chega</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>O jogo comunica um sussurro falhado apenas no registo. Isto mostra uma notificação, para que uma mensagem a alguém offline ou de outro mundo não passe despercebida.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1213,4 +1213,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>No telemetry is collected. The plugin sends nothing about you or your usage anywhere.</value>
|
<value>No telemetry is collected. The plugin sends nothing about you or your usage anywhere.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Auto-translate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Block</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Warn when a tell does not arrive</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>The game reports a failed tell in the log only. This raises a notification instead, so a message to someone offline or on another world does not go unnoticed.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Nu se colectează telemetrie. Extensia nu trimite nimic despre tine sau despre utilizarea ta nicăieri.</value>
|
<value>Nu se colectează telemetrie. Extensia nu trimite nimic despre tine sau despre utilizarea ta nicăieri.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Traducere automată</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Blochează</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Avertizează când un mesaj privat nu ajunge</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Jocul raportează un mesaj privat eșuat doar în jurnal. Aceasta afișează în schimb o notificare, ca un mesaj către cineva offline sau de pe altă lume să nu treacă neobservat.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Телеметрия не собирается. Плагин никуда не отправляет данные о вас или о вашем использовании.</value>
|
<value>Телеметрия не собирается. Плагин никуда не отправляет данные о вас или о вашем использовании.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Автоперевод</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Заблокировать</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Предупреждать, когда шёпот не доходит</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Игра сообщает о недоставленном шёпоте только в журнале. Здесь вместо этого показывается уведомление, чтобы сообщение офлайн-игроку или игроку с другого мира не осталось незамеченным.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Ingen telemetri samlas in. Tillägget skickar ingenting om dig eller din användning någonstans.</value>
|
<value>Ingen telemetri samlas in. Tillägget skickar ingenting om dig eller din användning någonstans.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Autoöversättning</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Blockera</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Varna när ett viskmeddelande inte kommer fram</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Spelet rapporterar ett misslyckat viskmeddelande bara i loggen. Det här visar en avisering i stället, så att ett meddelande till någon offline eller på en annan värld inte missas.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Hiçbir telemetri toplanmıyor. Eklenti sizinle veya kullanımınızla ilgili hiçbir şeyi hiçbir yere göndermiyor.</value>
|
<value>Hiçbir telemetri toplanmıyor. Eklenti sizinle veya kullanımınızla ilgili hiçbir şeyi hiçbir yere göndermiyor.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Otomatik çeviri</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Engelle</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Bir fısıltı ulaşmadığında uyar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Oyun başarısız fısıltıyı yalnızca günlükte bildirir. Bu ayar bunun yerine bir bildirim gösterir, böylece çevrimdışı ya da başka dünyadaki birine gönderilen ileti gözden kaçmaz.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1192,4 +1192,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>Телеметрія не збирається. Плагін нікуди не надсилає дані про вас або про ваше використання.</value>
|
<value>Телеметрія не збирається. Плагін нікуди не надсилає дані про вас або про ваше використання.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>Автопереклад</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>Заблокувати</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>Попереджати, коли шепіт не доходить</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>Гра повідомляє про недоставлений шепіт лише в журналі. Це натомість показує сповіщення, щоб повідомлення офлайн-гравцю або гравцю з іншого світу не залишилося непоміченим.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>不收集任何遥测数据。插件不会向任何地方发送关于你或你使用情况的信息。</value>
|
<value>不收集任何遥测数据。插件不会向任何地方发送关于你或你使用情况的信息。</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>自动翻译</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>屏蔽</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>密语未送达时提醒</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>游戏只在日志里提示密语发送失败。此设置改为弹出通知,让发给离线或异世界玩家的消息不会被忽略。</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1193,4 +1193,16 @@
|
|||||||
<data name="Settings_Telemetry_None" xml:space="preserve">
|
<data name="Settings_Telemetry_None" xml:space="preserve">
|
||||||
<value>不收集任何遙測資料。外掛不會向任何地方傳送關於你或你使用情況的資訊。</value>
|
<value>不收集任何遙測資料。外掛不會向任何地方傳送關於你或你使用情況的資訊。</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
|
||||||
|
<value>自動翻譯</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Emotes_Block" xml:space="preserve">
|
||||||
|
<value>封鎖</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
|
||||||
|
<value>密語未送達時提醒</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
|
||||||
|
<value>遊戲只在日誌裡提示密語傳送失敗。此設定改為彈出通知,讓發給離線或異世界玩家的訊息不會被忽略。</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
using Dalamud.Bindings.ImGui;
|
using Dalamud.Bindings.ImGui;
|
||||||
|
using Dalamud.Interface;
|
||||||
|
using Dalamud.Interface.Utility;
|
||||||
|
using Dalamud.Interface.Utility.Raii;
|
||||||
using HellionChat.Resources;
|
using HellionChat.Resources;
|
||||||
using HellionChat.Ui.StyleEngine;
|
using HellionChat.Ui.StyleEngine;
|
||||||
|
using HellionChat.Util;
|
||||||
|
|
||||||
namespace HellionChat.Ui.Components.Settings.Tabs;
|
namespace HellionChat.Ui.Components.Settings.Tabs;
|
||||||
|
|
||||||
@@ -9,6 +13,8 @@ internal sealed class ChatTab
|
|||||||
private readonly Plugin _plugin;
|
private readonly Plugin _plugin;
|
||||||
private readonly SettingsWidgets _w;
|
private readonly SettingsWidgets _w;
|
||||||
|
|
||||||
|
private string _blockedEmoteInput = string.Empty;
|
||||||
|
|
||||||
public ChatTab(Plugin plugin, TokenResolver resolver)
|
public ChatTab(Plugin plugin, TokenResolver resolver)
|
||||||
{
|
{
|
||||||
_plugin = plugin;
|
_plugin = plugin;
|
||||||
@@ -34,17 +40,6 @@ internal sealed class ChatTab
|
|||||||
v => Plugin.Config.Use24HourClock = v
|
v => Plugin.Config.Use24HourClock = v
|
||||||
);
|
);
|
||||||
|
|
||||||
// PRIVACY.md names this switch as the way to stop the one outbound
|
|
||||||
// call the plugin makes, and it has had no control since May. A
|
|
||||||
// documented opt-out that only exists in the JSON is not an opt-out.
|
|
||||||
_w.ToggleRow(
|
|
||||||
ImGui.GetID("chat.display.emotes"u8),
|
|
||||||
Language.Options_ShowEmotes_Name,
|
|
||||||
Language.Options_ShowEmotes_Desc,
|
|
||||||
() => Plugin.Config.ShowEmotes,
|
|
||||||
v => Plugin.Config.ShowEmotes = v
|
|
||||||
);
|
|
||||||
|
|
||||||
// Descriptions move out of the help markers and onto the row. They
|
// Descriptions move out of the help markers and onto the row. They
|
||||||
// were written to be read; a (?) the user has to hover is where an
|
// were written to be read; a (?) the user has to hover is where an
|
||||||
// explanation goes to be ignored.
|
// explanation goes to be ignored.
|
||||||
@@ -115,5 +110,95 @@ internal sealed class ChatTab
|
|||||||
v => Plugin.Config.NotifyPluginDisclosure = v
|
v => Plugin.Config.NotifyPluginDisclosure = v
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
_w.Section(
|
||||||
|
ImGui.GetID("chat.emotes"u8),
|
||||||
|
HellionStrings.Settings_Section_Emotes,
|
||||||
|
open: false
|
||||||
|
)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DrawEmotes();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
_w.Section(
|
||||||
|
ImGui.GetID("chat.autotranslate"u8),
|
||||||
|
HellionStrings.Settings_Section_AutoTranslate,
|
||||||
|
open: false
|
||||||
|
)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("chat.autotranslate.sort"u8),
|
||||||
|
Language.Options_SortAutoTranslate_Name,
|
||||||
|
Language.Options_SortAutoTranslate_Description,
|
||||||
|
() => Plugin.Config.SortAutoTranslate,
|
||||||
|
v => Plugin.Config.SortAutoTranslate = v
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PRIVACY.md names the switch below as the way to stop the one outbound
|
||||||
|
// call the plugin makes, and it had no control at all since May. A
|
||||||
|
// documented opt-out that lives only in the JSON is not an opt-out.
|
||||||
|
private void DrawEmotes()
|
||||||
|
{
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("chat.emotes.show"u8),
|
||||||
|
Language.Options_ShowEmotes_Name,
|
||||||
|
Language.Options_ShowEmotes_Desc,
|
||||||
|
() => Plugin.Config.ShowEmotes,
|
||||||
|
v => Plugin.Config.ShowEmotes = v
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!Plugin.Config.ShowEmotes)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ImGui.Spacing();
|
||||||
|
ImGui.TextUnformatted(
|
||||||
|
EmoteCache.State == EmoteCache.LoadingState.Done
|
||||||
|
? $"{Language.Options_Emote_Loaded} {EmoteCache.SortedCodeArray.Length:N0} ({Language.Options_Emote_Ready})"
|
||||||
|
: $"{Language.Options_Emote_Loaded} {Language.Options_Emote_NotReady}"
|
||||||
|
);
|
||||||
|
|
||||||
|
ImGui.Spacing();
|
||||||
|
ImGui.TextUnformatted(Language.Options_Emote_BlockedEmotes);
|
||||||
|
|
||||||
|
// A blocked code stops that one emote from ever being drawn or
|
||||||
|
// downloaded, which is a finer instrument than switching emotes off
|
||||||
|
// wholesale. The list has been in the config since v1.0 with nowhere to
|
||||||
|
// edit it.
|
||||||
|
ImGui.SetNextItemWidth(220f * ImGuiHelpers.GlobalScale);
|
||||||
|
ImGui.InputText("##hc-blocked-emote", ref _blockedEmoteInput, 64);
|
||||||
|
ImGui.SameLine();
|
||||||
|
|
||||||
|
var candidate = _blockedEmoteInput.Trim();
|
||||||
|
using (ImRaii.Disabled(candidate.Length == 0))
|
||||||
|
{
|
||||||
|
if (ImGui.Button(HellionStrings.Settings_Emotes_Block))
|
||||||
|
{
|
||||||
|
lock (_plugin.ConfigMapsLock)
|
||||||
|
Plugin.Config.BlockedEmotes.Add(candidate);
|
||||||
|
_blockedEmoteInput = string.Empty;
|
||||||
|
_plugin.SaveConfig();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Snapshot: the remove button mutates the set inside the loop.
|
||||||
|
foreach (var blocked in Plugin.Config.BlockedEmotes.OrderBy(e => e).ToList())
|
||||||
|
{
|
||||||
|
using var id = ImRaii.PushId(blocked);
|
||||||
|
if (ImGuiUtil.IconButton(FontAwesomeIcon.Trash, "##remove"))
|
||||||
|
{
|
||||||
|
lock (_plugin.ConfigMapsLock)
|
||||||
|
Plugin.Config.BlockedEmotes.Remove(blocked);
|
||||||
|
_plugin.SaveConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.SameLine();
|
||||||
|
ImGui.TextUnformatted(blocked);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -190,6 +190,18 @@ internal sealed class DataPrivacyTab
|
|||||||
() => Plugin.Config.PrivacyPersistUnknownChannels,
|
() => Plugin.Config.PrivacyPersistUnknownChannels,
|
||||||
v => Plugin.Config.PrivacyPersistUnknownChannels = v
|
v => Plugin.Config.PrivacyPersistUnknownChannels = v
|
||||||
);
|
);
|
||||||
|
// Semantically a storage decision, not a chat one: it governs
|
||||||
|
// whether battle lines are persisted at all. It sits outside the
|
||||||
|
// channel list because the filter is a whitelist and this is a
|
||||||
|
// separate gate in front of it.
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("privacy.filter.battle"u8),
|
||||||
|
Language.Options_DatabaseBattleMessages_Name,
|
||||||
|
Language.Options_DatabaseBattleMessages_Description,
|
||||||
|
() => Plugin.Config.DatabaseBattleMessages,
|
||||||
|
v => Plugin.Config.DatabaseBattleMessages = v
|
||||||
|
);
|
||||||
|
|
||||||
DrawPrivacyPersistChannelsGrid();
|
DrawPrivacyPersistChannelsGrid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,16 @@ internal sealed class GeneralTab
|
|||||||
|
|
||||||
if (_w.Section(ImGui.GetID("general.notifications"u8), "Notifications"))
|
if (_w.Section(ImGui.GetID("general.notifications"u8), "Notifications"))
|
||||||
{
|
{
|
||||||
|
// The game reports a failed tell in the log only, where a player who
|
||||||
|
// is typing does not see it. On by default and never reachable.
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("general.notifications.failedtell"u8),
|
||||||
|
HellionStrings.Settings_NotifyFailedTell_Name,
|
||||||
|
HellionStrings.Settings_NotifyFailedTell_Description,
|
||||||
|
() => Plugin.Config.NotifyFailedTell,
|
||||||
|
v => Plugin.Config.NotifyFailedTell = v
|
||||||
|
);
|
||||||
|
|
||||||
_w.ToggleRow(
|
_w.ToggleRow(
|
||||||
ImGui.GetID("general.notifications.sounds"u8),
|
ImGui.GetID("general.notifications.sounds"u8),
|
||||||
Language.Options_PlaySounds_Name,
|
Language.Options_PlaySounds_Name,
|
||||||
|
|||||||
@@ -138,6 +138,80 @@ internal sealed class WindowTab
|
|||||||
() => Plugin.Config.OnlyPreviewIf,
|
() => Plugin.Config.OnlyPreviewIf,
|
||||||
v => Plugin.Config.OnlyPreviewIf = v
|
v => Plugin.Config.OnlyPreviewIf = v
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Partner of the toggle above and useless without it: how many
|
||||||
|
// characters have to be typed before the preview appears.
|
||||||
|
_w.SliderIntRow(
|
||||||
|
ImGui.GetID("window.preview.minimum"u8),
|
||||||
|
Language.Options_PreviewMinimum_Name,
|
||||||
|
Language.Options_PreviewMinimum_Description,
|
||||||
|
() => Plugin.Config.PreviewMinimum,
|
||||||
|
v => Plugin.Config.PreviewMinimum = v,
|
||||||
|
0,
|
||||||
|
20
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// HideChat is the one with real bite: it defaults to on, it suppresses
|
||||||
|
// the game's own chat window, and the only other way to it is a
|
||||||
|
// right-click item that can turn it on and never off. Somebody who used
|
||||||
|
// that item once had to edit JSON to get their chat back.
|
||||||
|
if (_w.Section(ImGui.GetID("window.hide"u8), HellionStrings.Settings_Section_Hide))
|
||||||
|
{
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("window.hide.chat"u8),
|
||||||
|
Language.Options_HideChat_Name,
|
||||||
|
Language.Options_HideChat_Description,
|
||||||
|
() => Plugin.Config.HideChat,
|
||||||
|
v => Plugin.Config.HideChat = v
|
||||||
|
);
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("window.hide.uihidden"u8),
|
||||||
|
Language.Options_HideWhenUiHidden_Name,
|
||||||
|
Language.Options_HideWhenUiHidden_Description,
|
||||||
|
() => Plugin.Config.HideWhenUiHidden,
|
||||||
|
v => Plugin.Config.HideWhenUiHidden = v
|
||||||
|
);
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("window.hide.loading"u8),
|
||||||
|
Language.Options_HideInLoadingScreens_Name,
|
||||||
|
Language.Options_HideInLoadingScreens_Description,
|
||||||
|
() => Plugin.Config.HideInLoadingScreens,
|
||||||
|
v => Plugin.Config.HideInLoadingScreens = v
|
||||||
|
);
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("window.hide.newgameplus"u8),
|
||||||
|
Language.Options_HideInNewGamePlusMenu_Name,
|
||||||
|
Language.Options_HideInNewGamePlusMenu_Description,
|
||||||
|
() => Plugin.Config.HideInNewGamePlusMenu,
|
||||||
|
v => Plugin.Config.HideInNewGamePlusMenu = v
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
_w.Section(
|
||||||
|
ImGui.GetID("window.tooltips"u8),
|
||||||
|
HellionStrings.Settings_Section_LinksTooltips,
|
||||||
|
open: false
|
||||||
|
)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_w.ToggleRow(
|
||||||
|
ImGui.GetID("window.tooltips.native"u8),
|
||||||
|
Language.Options_NativeItemTooltips_Name,
|
||||||
|
Language.Options_NativeItemTooltips_Description,
|
||||||
|
() => Plugin.Config.NativeItemTooltips,
|
||||||
|
v => Plugin.Config.NativeItemTooltips = v
|
||||||
|
);
|
||||||
|
_w.SliderIntRow(
|
||||||
|
ImGui.GetID("window.tooltips.offset"u8),
|
||||||
|
Language.Options_TooltipOffset_Name,
|
||||||
|
Language.Options_TooltipOffset_Desc,
|
||||||
|
() => (int)Plugin.Config.TooltipOffset,
|
||||||
|
v => Plugin.Config.TooltipOffset = v,
|
||||||
|
0,
|
||||||
|
200
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user