summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Kramlich <grim@reaperworld.com>2022-09-21 03:22:51 -0500
committerGary Kramlich <grim@reaperworld.com>2022-09-21 03:22:51 -0500
commit34565520fb62c4287193f1a6d3c10501c89036f2 (patch)
tree6f8dfd7a654b2f721e5de333f6fd651a7af7e4b4
parent64010771d0a842568ab4e80bd9611658ebe16ecb (diff)
downloadpidgin-34565520fb62c4287193f1a6d3c10501c89036f2.tar.gz
Use the id property of PurpleUiInfo as the directory name to use with XDG_CONFIG_HOME
Testing Done: Ran both finch and pidgin. Verified that they created `build/config/finch3` and `build/config/pidgin3` when run from a devenv environment. Also verified that `gtk-gaim.ini` in `build/config/pidgin3` was no named `build/config/pidgin3/pidgin3.ini`. Reviewed at https://reviews.imfreedom.org/r/1824/
-rw-r--r--ChangeLog.API1
-rw-r--r--finch/libfinch.c2
-rw-r--r--libpurple/purplepath.c20
-rw-r--r--pidgin/pidginapplication.c2
-rw-r--r--pidgin/pidgincore.h8
5 files changed, 16 insertions, 17 deletions
diff --git a/ChangeLog.API b/ChangeLog.API
index feb6a17153..b2c51a1289 100644
--- a/ChangeLog.API
+++ b/ChangeLog.API
@@ -1121,6 +1121,7 @@ version 3.0.0 (??/??/????):
* pidgin_tooltip_setup_for_widget
* pidgin_tooltip_show
* PidginThemeFont
+ * PIDGIN_UI
* PidginUnseenState enum and all values.
* PidginUtilMiniDialogCallback; use PidginMiniDialogCallback
instead
diff --git a/finch/libfinch.c b/finch/libfinch.c
index 4bcd19185b..d83dadc1f3 100644
--- a/finch/libfinch.c
+++ b/finch/libfinch.c
@@ -182,7 +182,7 @@ init_libpurple(int argc, char **argv)
purple_core_set_ui_ops(gnt_core_get_ui_ops());
purple_idle_set_ui(finch_idle_new());
- ui_info = purple_ui_info_new("finch", _("Finch"), VERSION,
+ ui_info = purple_ui_info_new("finch3", _("Finch"), VERSION,
"https://pidgin.im",
"https://developer.pidgin.im", "console");
diff --git a/libpurple/purplepath.c b/libpurple/purplepath.c
index 7054146307..54f736fd59 100644
--- a/libpurple/purplepath.c
+++ b/libpurple/purplepath.c
@@ -18,6 +18,9 @@
#include <libpurple/purplepath.h>
+#include <libpurple/core.h>
+#include <libpurple/purpleuiinfo.h>
+
#ifdef _WIN32
# include "win32/win32dep.h"
#endif
@@ -40,7 +43,15 @@ purple_xdg_dir(gchar **xdg_dir, const gchar *xdg_base_dir,
{
if (!*xdg_dir) {
if (!custom_user_dir) {
- *xdg_dir = g_build_filename(xdg_base_dir, "purple", NULL);
+ PurpleUiInfo *info = purple_core_get_ui_info();
+ const gchar *id = NULL;
+
+ id = purple_ui_info_get_id(info);
+ if(id == NULL) {
+ id = "purple";
+ }
+
+ *xdg_dir = g_build_filename(xdg_base_dir, id, NULL);
} else {
*xdg_dir = g_build_filename(custom_user_dir, xdg_type, NULL);
}
@@ -79,12 +90,7 @@ purple_data_dir(void) {
void
purple_util_set_user_dir(const gchar *dir) {
g_free(custom_user_dir);
-
- if(dir != NULL && *dir) {
- custom_user_dir = g_strdup(dir);
- } else {
- custom_user_dir = NULL;
- }
+ custom_user_dir = g_strdup(dir);
g_clear_pointer(&user_dir, g_free);
g_clear_pointer(&cache_dir, g_free);
diff --git a/pidgin/pidginapplication.c b/pidgin/pidginapplication.c
index 08b9f12d8f..6fd766f16d 100644
--- a/pidgin/pidginapplication.c
+++ b/pidgin/pidginapplication.c
@@ -799,7 +799,7 @@ pidgin_application_startup(GApplication *application) {
purple_core_set_ui_ops(pidgin_core_get_ui_ops());
- ui_info = purple_ui_info_new(PIDGIN_UI, PIDGIN_NAME, VERSION,
+ ui_info = purple_ui_info_new("pidgin3", PIDGIN_NAME, VERSION,
"https://pidgin.im",
"https://developer.pidgin.im", "pc");
diff --git a/pidgin/pidgincore.h b/pidgin/pidgincore.h
index 00463cd148..ea73ae5d24 100644
--- a/pidgin/pidgincore.h
+++ b/pidgin/pidgincore.h
@@ -34,14 +34,6 @@
# include "win32/gtkwin32dep.h"
#endif
-/**
- * PIDGIN_UI:
- *
- * Our UI's identifier.
- */
-/* leave this as gtk-gaim until we have a decent way to migrate UI-prefs */
-#define PIDGIN_UI "gtk-gaim"
-
/* change this only when we have a sane upgrade path for old prefs */
#define PIDGIN_PREFS_ROOT "/pidgin"