about summary refs log tree commit diff stats
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/account.c2
-rw-r--r--src/config/account.h2
-rw-r--r--src/config/accounts.c2
-rw-r--r--src/config/accounts.h2
-rw-r--r--src/config/conflists.c2
-rw-r--r--src/config/conflists.h2
-rw-r--r--src/config/files.c2
-rw-r--r--src/config/files.h2
-rw-r--r--src/config/preferences.c70
-rw-r--r--src/config/preferences.h15
-rw-r--r--src/config/scripts.c2
-rw-r--r--src/config/scripts.h2
-rw-r--r--src/config/theme.c19
-rw-r--r--src/config/theme.h2
-rw-r--r--src/config/tlscerts.c2
-rw-r--r--src/config/tlscerts.h2
16 files changed, 108 insertions, 22 deletions
diff --git a/src/config/account.c b/src/config/account.c
index 8225b99d..705a5edf 100644
--- a/src/config/account.c
+++ b/src/config/account.c
@@ -1,7 +1,7 @@
 /*
  * account.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/account.h b/src/config/account.h
index 045732e0..1262e518 100644
--- a/src/config/account.h
+++ b/src/config/account.h
@@ -1,7 +1,7 @@
 /*
  * account.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/accounts.c b/src/config/accounts.c
index 28d5d72f..de898dd7 100644
--- a/src/config/accounts.c
+++ b/src/config/accounts.c
@@ -1,7 +1,7 @@
 /*
  * accounts.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/accounts.h b/src/config/accounts.h
index 51969ab8..c6a87c44 100644
--- a/src/config/accounts.h
+++ b/src/config/accounts.h
@@ -1,7 +1,7 @@
 /*
  * accounts.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/conflists.c b/src/config/conflists.c
index 36817005..0d368757 100644
--- a/src/config/conflists.c
+++ b/src/config/conflists.c
@@ -1,7 +1,7 @@
 /*
  * conflists.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/conflists.h b/src/config/conflists.h
index 3a5506a2..0e46fb00 100644
--- a/src/config/conflists.h
+++ b/src/config/conflists.h
@@ -1,7 +1,7 @@
 /*
  * conflists.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/files.c b/src/config/files.c
index 5322c49f..e8de2edb 100644
--- a/src/config/files.c
+++ b/src/config/files.c
@@ -1,7 +1,7 @@
 /*
  * files.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/files.h b/src/config/files.h
index 2ffff016..2eec9772 100644
--- a/src/config/files.h
+++ b/src/config/files.h
@@ -1,7 +1,7 @@
 /*
  * files.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/preferences.c b/src/config/preferences.c
index b86f710a..e62c552c 100644
--- a/src/config/preferences.c
+++ b/src/config/preferences.c
@@ -1,7 +1,7 @@
 /*
  * preferences.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
@@ -663,6 +663,40 @@ prefs_get_tray_timer(void)
     }
 }
 
+gint
+prefs_get_statusbartabs(void)
+{
+    if (!g_key_file_has_key(prefs, PREF_GROUP_UI, "statusbar.tabs", NULL)) {
+        return 10;
+    } else {
+        return g_key_file_get_integer(prefs, PREF_GROUP_UI, "statusbar.tabs", NULL);
+    }
+}
+
+void
+prefs_set_statusbartabs(gint value)
+{
+    g_key_file_set_integer(prefs, PREF_GROUP_UI, "statusbar.tabs", value);
+    _save_prefs();
+}
+
+gint
+prefs_get_statusbartablen(void)
+{
+    if (!g_key_file_has_key(prefs, PREF_GROUP_UI, "statusbar.tablen", NULL)) {
+        return 0;
+    } else {
+        return g_key_file_get_integer(prefs, PREF_GROUP_UI, "statusbar.tablen", NULL);
+    }
+}
+
+void
+prefs_set_statusbartablen(gint value)
+{
+    g_key_file_set_integer(prefs, PREF_GROUP_UI, "statusbar.tablen", value);
+    _save_prefs();
+}
+
 gchar**
 prefs_get_plugins(void)
 {
@@ -1530,7 +1564,6 @@ _get_group(preference_t pref)
         case PREF_MUC_PRIVILEGES:
         case PREF_PRESENCE:
         case PREF_WRAP:
-        case PREF_WINS_AUTO_TIDY:
         case PREF_TIME_CONSOLE:
         case PREF_TIME_CHAT:
         case PREF_TIME_MUC:
@@ -1560,6 +1593,7 @@ _get_group(preference_t pref)
         case PREF_ROSTER_ROOMS_BY:
         case PREF_ROSTER_ROOMS_ORDER:
         case PREF_ROSTER_ROOMS_UNREAD:
+        case PREF_ROSTER_ROOMS_SERVER:
         case PREF_ROSTER_PRIVATE:
         case PREF_RESOURCE_TITLE:
         case PREF_RESOURCE_MESSAGE:
@@ -1569,6 +1603,11 @@ _get_group(preference_t pref)
         case PREF_CONSOLE_MUC:
         case PREF_CONSOLE_PRIVATE:
         case PREF_CONSOLE_CHAT:
+        case PREF_STATUSBAR_SHOW_NAME:
+        case PREF_STATUSBAR_SHOW_NUMBER:
+        case PREF_STATUSBAR_SELF:
+        case PREF_STATUSBAR_CHAT:
+        case PREF_STATUSBAR_ROOM:
             return PREF_GROUP_UI;
         case PREF_STATES:
         case PREF_OUTTYPE:
@@ -1614,6 +1653,7 @@ _get_group(preference_t pref)
         case PREF_PGP_LOG:
             return PREF_GROUP_PGP;
         case PREF_BOOKMARK_INVITE:
+        case PREF_ROOM_LIST_CACHE:
             return PREF_GROUP_MUC;
         case PREF_PLUGINS_SOURCEPATH:
             return PREF_GROUP_PLUGINS;
@@ -1731,8 +1771,6 @@ _get_key(preference_t pref)
             return "presence";
         case PREF_WRAP:
             return "wrap";
-        case PREF_WINS_AUTO_TIDY:
-            return "wins.autotidy";
         case PREF_TIME_CONSOLE:
             return "time.console";
         case PREF_TIME_CHAT:
@@ -1791,6 +1829,8 @@ _get_key(preference_t pref)
             return "roster.rooms.order";
         case PREF_ROSTER_ROOMS_UNREAD:
             return "roster.rooms.unread";
+        case PREF_ROSTER_ROOMS_SERVER:
+            return "roster.rooms.server";
         case PREF_ROSTER_PRIVATE:
             return "roster.private";
         case PREF_RESOURCE_TITLE:
@@ -1819,6 +1859,18 @@ _get_key(preference_t pref)
             return "bookmark.invite";
         case PREF_PLUGINS_SOURCEPATH:
             return "sourcepath";
+        case PREF_ROOM_LIST_CACHE:
+            return "rooms.cache";
+        case PREF_STATUSBAR_SHOW_NAME:
+            return "statusbar.show.name";
+        case PREF_STATUSBAR_SHOW_NUMBER:
+            return "statusbar.show.number";
+        case PREF_STATUSBAR_SELF:
+            return "statusbar.self";
+        case PREF_STATUSBAR_CHAT:
+            return "statusbar.chat";
+        case PREF_STATUSBAR_ROOM:
+            return "statusbar.room";
         default:
             return NULL;
     }
@@ -1848,7 +1900,6 @@ _get_default_boolean(preference_t pref)
         case PREF_MUC_PRIVILEGES:
         case PREF_PRESENCE:
         case PREF_WRAP:
-        case PREF_WINS_AUTO_TIDY:
         case PREF_INPBLOCK_DYNAMIC:
         case PREF_RESOURCE_TITLE:
         case PREF_RESOURCE_MESSAGE:
@@ -1861,11 +1912,14 @@ _get_default_boolean(preference_t pref)
         case PREF_ROSTER_CONTACTS:
         case PREF_ROSTER_UNSUBSCRIBED:
         case PREF_ROSTER_ROOMS:
+        case PREF_ROSTER_ROOMS_SERVER:
         case PREF_TLS_SHOW:
         case PREF_LASTACTIVITY:
         case PREF_NOTIFY_MENTION_WHOLE_WORD:
         case PREF_TRAY_READ:
         case PREF_BOOKMARK_INVITE:
+        case PREF_ROOM_LIST_CACHE:
+        case PREF_STATUSBAR_SHOW_NUMBER:
             return TRUE;
         default:
             return FALSE;
@@ -1929,6 +1983,12 @@ _get_default_string(preference_t pref)
         case PREF_CONSOLE_PRIVATE:
         case PREF_CONSOLE_CHAT:
             return "all";
+        case PREF_STATUSBAR_SELF:
+            return "fulljid";
+        case PREF_STATUSBAR_CHAT:
+            return "user";
+        case PREF_STATUSBAR_ROOM:
+            return "room";
         default:
             return NULL;
     }
diff --git a/src/config/preferences.h b/src/config/preferences.h
index 134fba49..bafe4a1f 100644
--- a/src/config/preferences.h
+++ b/src/config/preferences.h
@@ -1,7 +1,7 @@
 /*
  * preferences.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
@@ -84,11 +84,11 @@ typedef enum {
     PREF_ROSTER_ROOMS_BY,
     PREF_ROSTER_ROOMS_ORDER,
     PREF_ROSTER_ROOMS_UNREAD,
+    PREF_ROSTER_ROOMS_SERVER,
     PREF_ROSTER_PRIVATE,
     PREF_MUC_PRIVILEGES,
     PREF_PRESENCE,
     PREF_WRAP,
-    PREF_WINS_AUTO_TIDY,
     PREF_TIME_CONSOLE,
     PREF_TIME_CHAT,
     PREF_TIME_MUC,
@@ -142,6 +142,12 @@ typedef enum {
     PREF_CONSOLE_CHAT,
     PREF_BOOKMARK_INVITE,
     PREF_PLUGINS_SOURCEPATH,
+    PREF_ROOM_LIST_CACHE,
+    PREF_STATUSBAR_SHOW_NAME,
+    PREF_STATUSBAR_SHOW_NUMBER,
+    PREF_STATUSBAR_SELF,
+    PREF_STATUSBAR_CHAT,
+    PREF_STATUSBAR_ROOM,
 } preference_t;
 
 typedef struct prof_alias_t {
@@ -186,6 +192,11 @@ gint prefs_get_autoping_timeout(void);
 gint prefs_get_inpblock(void);
 void prefs_set_inpblock(gint value);
 
+void prefs_set_statusbartabs(gint value);
+gint prefs_get_statusbartabs(void);
+void prefs_set_statusbartablen(gint value);
+gint prefs_get_statusbartablen(void);
+
 void prefs_set_occupants_size(gint value);
 gint prefs_get_occupants_size(void);
 void prefs_set_roster_size(gint value);
diff --git a/src/config/scripts.c b/src/config/scripts.c
index d093e8d9..5980dcaa 100644
--- a/src/config/scripts.c
+++ b/src/config/scripts.c
@@ -1,7 +1,7 @@
 /*
  * scripts.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/scripts.h b/src/config/scripts.h
index d7652138..508a43c2 100644
--- a/src/config/scripts.h
+++ b/src/config/scripts.h
@@ -1,7 +1,7 @@
 /*
  * scripts.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/theme.c b/src/config/theme.c
index 5a44e370..13f9cc2b 100644
--- a/src/config/theme.c
+++ b/src/config/theme.c
@@ -1,7 +1,7 @@
 /*
  * theme.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
@@ -384,7 +384,6 @@ _load_preferences(void)
     _set_boolean_preference("flash", PREF_FLASH);
     _set_boolean_preference("splash", PREF_SPLASH);
     _set_boolean_preference("wrap", PREF_WRAP);
-    _set_boolean_preference("wins.autotidy", PREF_WINS_AUTO_TIDY);
     _set_boolean_preference("resource.title", PREF_RESOURCE_TITLE);
     _set_boolean_preference("resource.message", PREF_RESOURCE_MESSAGE);
     _set_boolean_preference("occupants", PREF_OCCUPANTS);
@@ -402,11 +401,14 @@ _load_preferences(void)
     _set_boolean_preference("roster.contacts", PREF_ROSTER_CONTACTS);
     _set_boolean_preference("roster.unsubscribed", PREF_ROSTER_UNSUBSCRIBED);
     _set_boolean_preference("roster.rooms", PREF_ROSTER_ROOMS);
+    _set_boolean_preference("roster.rooms.server", PREF_ROSTER_ROOMS_SERVER);
     _set_boolean_preference("privileges", PREF_MUC_PRIVILEGES);
     _set_boolean_preference("presence", PREF_PRESENCE);
     _set_boolean_preference("intype", PREF_INTYPE);
     _set_boolean_preference("enc.warn", PREF_ENC_WARN);
     _set_boolean_preference("tls.show", PREF_TLS_SHOW);
+    _set_boolean_preference("statusbar.show.name", PREF_STATUSBAR_SHOW_NAME);
+    _set_boolean_preference("statusbar.show.nuumber", PREF_STATUSBAR_SHOW_NUMBER);
 
     _set_string_preference("time.console", PREF_TIME_CONSOLE);
     _set_string_preference("time.chat", PREF_TIME_CHAT);
@@ -431,6 +433,19 @@ _load_preferences(void)
     _set_string_preference("roster.rooms.by", PREF_ROSTER_ROOMS_BY);
     _set_string_preference("roster.private", PREF_ROSTER_PRIVATE);
     _set_string_preference("roster.count", PREF_ROSTER_COUNT);
+    _set_string_preference("statusbar.self", PREF_STATUSBAR_SELF);
+    _set_string_preference("statusbar.chat", PREF_STATUSBAR_CHAT);
+    _set_string_preference("statusbar.room", PREF_STATUSBAR_ROOM);
+
+    if (g_key_file_has_key(theme, "ui", "statusbar.tabs", NULL)) {
+        gint tabs_size = g_key_file_get_integer(theme, "ui", "statusbar.tabs", NULL);
+        prefs_set_statusbartabs(tabs_size);
+    }
+
+    if (g_key_file_has_key(theme, "ui", "statusbar.tablen", NULL)) {
+        gint tab_len = g_key_file_get_integer(theme, "ui", "statusbar.tablen", NULL);
+        prefs_set_statusbartablen(tab_len);
+    }
 
     if (g_key_file_has_key(theme, "ui", "occupants.size", NULL)) {
         gint occupants_size = g_key_file_get_integer(theme, "ui", "occupants.size", NULL);
diff --git a/src/config/theme.h b/src/config/theme.h
index 747eace1..c1d9870e 100644
--- a/src/config/theme.h
+++ b/src/config/theme.h
@@ -1,7 +1,7 @@
 /*
  * theme.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/tlscerts.c b/src/config/tlscerts.c
index 39733405..23f6575c 100644
--- a/src/config/tlscerts.c
+++ b/src/config/tlscerts.c
@@ -1,7 +1,7 @@
 /*
  * tlscerts.c
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *
diff --git a/src/config/tlscerts.h b/src/config/tlscerts.h
index e1a1758f..2fd568ad 100644
--- a/src/config/tlscerts.h
+++ b/src/config/tlscerts.h
@@ -1,7 +1,7 @@
 /*
  * tlscerts.h
  *
- * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com>
+ * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com>
  *
  * This file is part of Profanity.
  *