about summary refs log tree commit diff stats
path: root/src/config
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2020-03-24 22:13:14 +0100
committerMichael Vetter <jubalh@iodoru.org>2020-03-24 22:22:16 +0100
commitf13168005512fe4219741d9daf83681dd9ed3d63 (patch)
treea6a9697bc8f9580fb4689d3a423e9a29e5308ef9 /src/config
parentfd090d384da14a6fe65cfb4ecb23f02c29d10eba (diff)
downloadprofani-tty-f13168005512fe4219741d9daf83681dd9ed3d63.tar.gz
titlebar: allow displaying MUC name and MUC jid
`/titlebar use name|jid` -> `/titlebar show|hide name|jid`

Fix https://github.com/profanity-im/profanity/issues/1284
Diffstat (limited to 'src/config')
-rw-r--r--src/config/preferences.c22
-rw-r--r--src/config/preferences.h3
-rw-r--r--src/config/theme.c3
3 files changed, 21 insertions, 7 deletions
diff --git a/src/config/preferences.c b/src/config/preferences.c
index fe9c185b..164b420f 100644
--- a/src/config/preferences.c
+++ b/src/config/preferences.c
@@ -149,6 +149,16 @@ static void _prefs_load(void)
         g_key_file_remove_key(prefs, PREF_GROUP_UI, "titlebar.goodbye", NULL);
     }
 
+    // after 0.8.1: titlebar use jid|name -> titlebar show|hide jid|name
+    if (g_key_file_has_key(prefs, PREF_GROUP_UI, "titlebar.muc.title", NULL)) {
+        char *value = g_key_file_get_string(prefs, PREF_GROUP_UI, "titlebar.muc.title", NULL);
+        if (g_strcmp0(value, "name") == 0) {
+            g_key_file_set_boolean(prefs, PREF_GROUP_UI, "titlebar.muc.title.name", TRUE);
+        } else if (g_strcmp0(value, "jid") == 0) {
+            g_key_file_set_boolean(prefs, PREF_GROUP_UI, "titlebar.muc.title.jid", TRUE);
+        }
+    }
+
     _save_prefs();
 
     boolean_choice_ac = autocomplete_new();
@@ -1742,7 +1752,8 @@ _get_group(preference_t pref)
         case PREF_STATUSBAR_SELF:
         case PREF_STATUSBAR_CHAT:
         case PREF_STATUSBAR_ROOM:
-        case PREF_TITLEBAR_MUC_TITLE:
+        case PREF_TITLEBAR_MUC_TITLE_JID:
+        case PREF_TITLEBAR_MUC_TITLE_NAME:
         case PREF_HISTORY_COLOR_MUC:
         case PREF_SLASH_GUARD:
             return PREF_GROUP_UI;
@@ -2000,8 +2011,10 @@ _get_key(preference_t pref)
             return "inpblock.dynamic";
         case PREF_ENC_WARN:
             return "enc.warn";
-        case PREF_TITLEBAR_MUC_TITLE:
-            return "titlebar.muc.title";
+        case PREF_TITLEBAR_MUC_TITLE_JID:
+            return "titlebar.muc.title.jid";
+        case PREF_TITLEBAR_MUC_TITLE_NAME:
+            return "titlebar.muc.title.name";
         case PREF_PGP_LOG:
             return "log";
         case PREF_PGP_SENDFILE:
@@ -2109,6 +2122,7 @@ _get_default_boolean(preference_t pref)
         case PREF_CARBONS:
         case PREF_STATES:
         case PREF_OUTTYPE:
+        case PREF_TITLEBAR_MUC_TITLE_NAME:
             return TRUE;
         default:
             return FALSE;
@@ -2146,8 +2160,6 @@ _get_default_string(preference_t pref)
             return "none";
         case PREF_ROSTER_ROOMS_USE_AS_NAME:
             return "name";
-        case PREF_TITLEBAR_MUC_TITLE:
-            return "name";
         case PREF_ROSTER_ROOMS_ORDER:
             return "name";
         case PREF_ROSTER_ROOMS_UNREAD:
diff --git a/src/config/preferences.h b/src/config/preferences.h
index 8703043c..570391af 100644
--- a/src/config/preferences.h
+++ b/src/config/preferences.h
@@ -140,7 +140,8 @@ typedef enum {
     PREF_RESOURCE_MESSAGE,
     PREF_INPBLOCK_DYNAMIC,
     PREF_ENC_WARN,
-    PREF_TITLEBAR_MUC_TITLE,
+    PREF_TITLEBAR_MUC_TITLE_JID,
+    PREF_TITLEBAR_MUC_TITLE_NAME,
     PREF_PGP_LOG,
     PREF_PGP_SENDFILE,
     PREF_TLS_CERTPATH,
diff --git a/src/config/theme.c b/src/config/theme.c
index 9c21fb6a..eafd431c 100644
--- a/src/config/theme.c
+++ b/src/config/theme.c
@@ -315,7 +315,8 @@ _load_preferences(void)
     _set_boolean_preference("presence", PREF_PRESENCE);
     _set_boolean_preference("intype", PREF_INTYPE);
     _set_boolean_preference("enc.warn", PREF_ENC_WARN);
-    _set_boolean_preference("titlebar.muc.title", PREF_TITLEBAR_MUC_TITLE);
+    _set_boolean_preference("titlebar.muc.title.name", PREF_TITLEBAR_MUC_TITLE_NAME);
+    _set_boolean_preference("titlebar.muc.title.jid", PREF_TITLEBAR_MUC_TITLE_JID);
     _set_boolean_preference("tls.show", PREF_TLS_SHOW);
     _set_boolean_preference("statusbar.show.name", PREF_STATUSBAR_SHOW_NAME);
     _set_boolean_preference("statusbar.show.number", PREF_STATUSBAR_SHOW_NUMBER);