comparison libpurple/plugins/log_reader.c @ 16430:f8eb3e7c4fbd

Fix GTK Plugin prefs
author Sean Egan <seanegan@gmail.com>
date Thu, 26 Apr 2007 01:41:35 +0000
parents 4999bbc52881
children 5205dd2bd035
comparison
equal deleted inserted replaced
16429:f9597f375b07 16430:f8eb3e7c4fbd
69 GDir *dir; 69 GDir *dir;
70 70
71 g_return_val_if_fail(sn != NULL, list); 71 g_return_val_if_fail(sn != NULL, list);
72 g_return_val_if_fail(account != NULL, list); 72 g_return_val_if_fail(account != NULL, list);
73 73
74 logdir = purple_prefs_get_string("/plugins/purple/log_reader/adium/log_directory"); 74 logdir = purple_prefs_get_string("/plugins/core/log_reader/adium/log_directory");
75 75
76 /* By clearing the log directory path, this logger can be (effectively) disabled. */ 76 /* By clearing the log directory path, this logger can be (effectively) disabled. */
77 if (!*logdir) 77 if (!*logdir)
78 return list; 78 return list;
79 79
293 293
294 g_return_val_if_fail(log != NULL, 0); 294 g_return_val_if_fail(log != NULL, 0);
295 295
296 data = log->logger_data; 296 data = log->logger_data;
297 297
298 if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes")) { 298 if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) {
299 struct stat st; 299 struct stat st;
300 300
301 if (!data->path || stat(data->path, &st)) 301 if (!data->path || stat(data->path, &st))
302 st.st_size = 0; 302 st.st_size = 0;
303 303
357 357
358 static int fire_logger_size (PurpleLog *log) 358 static int fire_logger_size (PurpleLog *log)
359 { 359 {
360 g_return_val_if_fail(log != NULL, 0); 360 g_return_val_if_fail(log != NULL, 0);
361 361
362 if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes")) 362 if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes"))
363 return 0; 363 return 0;
364 364
365 /* TODO: Do something here. */ 365 /* TODO: Do something here. */
366 return 0; 366 return 0;
367 } 367 }
409 409
410 static int messenger_plus_logger_size (PurpleLog *log) 410 static int messenger_plus_logger_size (PurpleLog *log)
411 { 411 {
412 g_return_val_if_fail(log != NULL, 0); 412 g_return_val_if_fail(log != NULL, 0);
413 413
414 if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes")) 414 if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes"))
415 return 0; 415 return 0;
416 416
417 /* TODO: Do something here. */ 417 /* TODO: Do something here. */
418 return 0; 418 return 0;
419 } 419 }
634 g_return_val_if_fail(account != NULL, list); 634 g_return_val_if_fail(account != NULL, list);
635 635
636 if (strcmp(account->protocol_id, "prpl-msn")) 636 if (strcmp(account->protocol_id, "prpl-msn"))
637 return list; 637 return list;
638 638
639 logdir = purple_prefs_get_string("/plugins/purple/log_reader/msn/log_directory"); 639 logdir = purple_prefs_get_string("/plugins/core/log_reader/msn/log_directory");
640 640
641 /* By clearing the log directory path, this logger can be (effectively) disabled. */ 641 /* By clearing the log directory path, this logger can be (effectively) disabled. */
642 if (!*logdir) 642 if (!*logdir)
643 return list; 643 return list;
644 644
966 to_name = NULL; 966 to_name = NULL;
967 } 967 }
968 } 968 }
969 969
970 their_name = from_name; 970 their_name = from_name;
971 if (from_name && purple_prefs_get_bool("/plugins/purple/log_reader/use_name_heuristics")) { 971 if (from_name && purple_prefs_get_bool("/plugins/core/log_reader/use_name_heuristics")) {
972 const char *friendly_name = purple_connection_get_display_name(log->account->gc); 972 const char *friendly_name = purple_connection_get_display_name(log->account->gc);
973 973
974 if (friendly_name != NULL) { 974 if (friendly_name != NULL) {
975 int friendly_name_length = strlen(friendly_name); 975 int friendly_name_length = strlen(friendly_name);
976 const char *alias; 976 const char *alias;
1151 char *text; 1151 char *text;
1152 size_t size; 1152 size_t size;
1153 1153
1154 g_return_val_if_fail(log != NULL, 0); 1154 g_return_val_if_fail(log != NULL, 0);
1155 1155
1156 if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes")) 1156 if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes"))
1157 return 0; 1157 return 0;
1158 1158
1159 text = msn_logger_read(log, NULL); 1159 text = msn_logger_read(log, NULL);
1160 size = strlen(text); 1160 size = strlen(text);
1161 g_free(text); 1161 g_free(text);
1214 gchar *c; 1214 gchar *c;
1215 1215
1216 g_return_val_if_fail(sn != NULL, list); 1216 g_return_val_if_fail(sn != NULL, list);
1217 g_return_val_if_fail(account != NULL, list); 1217 g_return_val_if_fail(account != NULL, list);
1218 1218
1219 logdir = purple_prefs_get_string("/plugins/purple/log_reader/trillian/log_directory"); 1219 logdir = purple_prefs_get_string("/plugins/core/log_reader/trillian/log_directory");
1220 1220
1221 /* By clearing the log directory path, this logger can be (effectively) disabled. */ 1221 /* By clearing the log directory path, this logger can be (effectively) disabled. */
1222 if (!*logdir) 1222 if (!*logdir)
1223 return list; 1223 return list;
1224 1224
1685 1685
1686 g_return_val_if_fail(log != NULL, 0); 1686 g_return_val_if_fail(log != NULL, 0);
1687 1687
1688 data = log->logger_data; 1688 data = log->logger_data;
1689 1689
1690 if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes")) { 1690 if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) {
1691 return data ? data->length : 0; 1691 return data ? data->length : 0;
1692 } 1692 }
1693 1693
1694 text = trillian_logger_read(log, NULL); 1694 text = trillian_logger_read(log, NULL);
1695 size = strlen(text); 1695 size = strlen(text);
1725 gboolean found = FALSE; 1725 gboolean found = FALSE;
1726 #endif 1726 #endif
1727 1727
1728 g_return_if_fail(plugin != NULL); 1728 g_return_if_fail(plugin != NULL);
1729 1729
1730 purple_prefs_add_none("/plugins/purple/log_reader"); 1730 purple_prefs_add_none("/plugins/core/log_reader");
1731 1731
1732 1732
1733 /* Add general preferences. */ 1733 /* Add general preferences. */
1734 1734
1735 purple_prefs_add_bool("/plugins/purple/log_reader/fast_sizes", FALSE); 1735 purple_prefs_add_bool("/plugins/core/log_reader/fast_sizes", FALSE);
1736 purple_prefs_add_bool("/plugins/purple/log_reader/use_name_heuristics", TRUE); 1736 purple_prefs_add_bool("/plugins/core/log_reader/use_name_heuristics", TRUE);
1737 1737
1738 1738
1739 /* Add Adium log directory preference. */ 1739 /* Add Adium log directory preference. */
1740 purple_prefs_add_none("/plugins/purple/log_reader/adium"); 1740 purple_prefs_add_none("/plugins/core/log_reader/adium");
1741 1741
1742 /* Calculate default Adium log directory. */ 1742 /* Calculate default Adium log directory. */
1743 #ifdef _WIN32 1743 #ifdef _WIN32
1744 path = ""; 1744 path = "";
1745 #else 1745 #else
1746 path = g_build_filename(purple_home_dir(), "Library", "Application Support", 1746 path = g_build_filename(purple_home_dir(), "Library", "Application Support",
1747 "Adium 2.0", "Users", "Default", "Logs", NULL); 1747 "Adium 2.0", "Users", "Default", "Logs", NULL);
1748 #endif 1748 #endif
1749 1749
1750 purple_prefs_add_string("/plugins/purple/log_reader/adium/log_directory", path); 1750 purple_prefs_add_string("/plugins/core/log_reader/adium/log_directory", path);
1751 1751
1752 #ifndef _WIN32 1752 #ifndef _WIN32
1753 g_free(path); 1753 g_free(path);
1754 #endif 1754 #endif
1755 1755
1756 1756
1757 /* Add Fire log directory preference. */ 1757 /* Add Fire log directory preference. */
1758 purple_prefs_add_none("/plugins/purple/log_reader/fire"); 1758 purple_prefs_add_none("/plugins/core/log_reader/fire");
1759 1759
1760 /* Calculate default Fire log directory. */ 1760 /* Calculate default Fire log directory. */
1761 #ifdef _WIN32 1761 #ifdef _WIN32
1762 path = ""; 1762 path = "";
1763 #else 1763 #else
1764 path = g_build_filename(purple_home_dir(), "Library", "Application Support", 1764 path = g_build_filename(purple_home_dir(), "Library", "Application Support",
1765 "Fire", "Sessions", NULL); 1765 "Fire", "Sessions", NULL);
1766 #endif 1766 #endif
1767 1767
1768 purple_prefs_add_string("/plugins/purple/log_reader/fire/log_directory", path); 1768 purple_prefs_add_string("/plugins/core/log_reader/fire/log_directory", path);
1769 1769
1770 #ifndef _WIN32 1770 #ifndef _WIN32
1771 g_free(path); 1771 g_free(path);
1772 #endif 1772 #endif
1773 1773
1774 1774
1775 /* Add Messenger Plus! log directory preference. */ 1775 /* Add Messenger Plus! log directory preference. */
1776 purple_prefs_add_none("/plugins/purple/log_reader/messenger_plus"); 1776 purple_prefs_add_none("/plugins/core/log_reader/messenger_plus");
1777 1777
1778 /* Calculate default Messenger Plus! log directory. */ 1778 /* Calculate default Messenger Plus! log directory. */
1779 #ifdef _WIN32 1779 #ifdef _WIN32
1780 folder = wpurple_get_special_folder(CSIDL_PERSONAL); 1780 folder = wpurple_get_special_folder(CSIDL_PERSONAL);
1781 if (folder) { 1781 if (folder) {
1792 g_free(folder); 1792 g_free(folder);
1793 } else /* !folder */ 1793 } else /* !folder */
1794 path = g_strdup(""); 1794 path = g_strdup("");
1795 #endif 1795 #endif
1796 1796
1797 purple_prefs_add_string("/plugins/purple/log_reader/messenger_plus/log_directory", path); 1797 purple_prefs_add_string("/plugins/core/log_reader/messenger_plus/log_directory", path);
1798 g_free(path); 1798 g_free(path);
1799 1799
1800 1800
1801 /* Add MSN Messenger log directory preference. */ 1801 /* Add MSN Messenger log directory preference. */
1802 purple_prefs_add_none("/plugins/purple/log_reader/msn"); 1802 purple_prefs_add_none("/plugins/core/log_reader/msn");
1803 1803
1804 /* Calculate default MSN message history directory. */ 1804 /* Calculate default MSN message history directory. */
1805 #ifdef _WIN32 1805 #ifdef _WIN32
1806 folder = wpurple_get_special_folder(CSIDL_PERSONAL); 1806 folder = wpurple_get_special_folder(CSIDL_PERSONAL);
1807 if (folder) { 1807 if (folder) {
1818 g_free(folder); 1818 g_free(folder);
1819 } else /* !folder */ 1819 } else /* !folder */
1820 path = g_strdup(""); 1820 path = g_strdup("");
1821 #endif 1821 #endif
1822 1822
1823 purple_prefs_add_string("/plugins/purple/log_reader/msn/log_directory", path); 1823 purple_prefs_add_string("/plugins/core/log_reader/msn/log_directory", path);
1824 g_free(path); 1824 g_free(path);
1825 1825
1826 1826
1827 /* Add Trillian log directory preference. */ 1827 /* Add Trillian log directory preference. */
1828 purple_prefs_add_none("/plugins/purple/log_reader/trillian"); 1828 purple_prefs_add_none("/plugins/core/log_reader/trillian");
1829 1829
1830 #ifdef _WIN32 1830 #ifdef _WIN32
1831 /* XXX: While a major hack, this is the most reliable way I could 1831 /* XXX: While a major hack, this is the most reliable way I could
1832 * think of to determine the Trillian installation directory. 1832 * think of to determine the Trillian installation directory.
1833 */ 1833 */
1890 } 1890 }
1891 1891
1892 if (logdir) { 1892 if (logdir) {
1893 g_strchomp(logdir); 1893 g_strchomp(logdir);
1894 purple_prefs_add_string( 1894 purple_prefs_add_string(
1895 "/plugins/purple/log_reader/trillian/log_directory", logdir); 1895 "/plugins/core/log_reader/trillian/log_directory", logdir);
1896 found = TRUE; 1896 found = TRUE;
1897 } 1897 }
1898 1898
1899 g_key_file_free(key_file); 1899 g_key_file_free(key_file);
1900 } 1900 }
1918 /* XXX: This assumes the first Directory key is under [Logging]. */ 1918 /* XXX: This assumes the first Directory key is under [Logging]. */
1919 if (purple_str_has_prefix(line, "Directory=")) { 1919 if (purple_str_has_prefix(line, "Directory=")) {
1920 line += (sizeof("Directory=") - 1); 1920 line += (sizeof("Directory=") - 1);
1921 g_strchomp(line); 1921 g_strchomp(line);
1922 purple_prefs_add_string( 1922 purple_prefs_add_string(
1923 "/plugins/purple/log_reader/trillian/log_directory", 1923 "/plugins/core/log_reader/trillian/log_directory",
1924 line); 1924 line);
1925 found = TRUE; 1925 found = TRUE;
1926 } 1926 }
1927 1927
1928 contents++; 1928 contents++;
1955 g_free(folder); 1955 g_free(folder);
1956 } else /* !folder */ 1956 } else /* !folder */
1957 path = g_strdup(""); 1957 path = g_strdup("");
1958 #endif 1958 #endif
1959 1959
1960 purple_prefs_add_string("/plugins/purple/log_reader/trillian/log_directory", path); 1960 purple_prefs_add_string("/plugins/core/log_reader/trillian/log_directory", path);
1961 g_free(path); 1961 g_free(path);
1962 1962
1963 #ifdef _WIN32 1963 #ifdef _WIN32
1964 } /* !found */ 1964 } /* !found */
1965 #endif 1965 #endif
2066 2066
2067 ppref = purple_plugin_pref_new_with_label(_("General Log Reading Configuration")); 2067 ppref = purple_plugin_pref_new_with_label(_("General Log Reading Configuration"));
2068 purple_plugin_pref_frame_add(frame, ppref); 2068 purple_plugin_pref_frame_add(frame, ppref);
2069 2069
2070 ppref = purple_plugin_pref_new_with_name_and_label( 2070 ppref = purple_plugin_pref_new_with_name_and_label(
2071 "/plugins/purple/log_reader/fast_sizes", _("Fast size calculations")); 2071 "/plugins/core/log_reader/fast_sizes", _("Fast size calculations"));
2072 purple_plugin_pref_frame_add(frame, ppref); 2072 purple_plugin_pref_frame_add(frame, ppref);
2073 2073
2074 ppref = purple_plugin_pref_new_with_name_and_label( 2074 ppref = purple_plugin_pref_new_with_name_and_label(
2075 "/plugins/purple/log_reader/use_name_heuristics", _("Use name heuristics")); 2075 "/plugins/core/log_reader/use_name_heuristics", _("Use name heuristics"));
2076 purple_plugin_pref_frame_add(frame, ppref); 2076 purple_plugin_pref_frame_add(frame, ppref);
2077 2077
2078 2078
2079 /* Add Log Directory preferences. */ 2079 /* Add Log Directory preferences. */
2080 2080
2081 ppref = purple_plugin_pref_new_with_label(_("Log Directory")); 2081 ppref = purple_plugin_pref_new_with_label(_("Log Directory"));
2082 purple_plugin_pref_frame_add(frame, ppref); 2082 purple_plugin_pref_frame_add(frame, ppref);
2083 2083
2084 ppref = purple_plugin_pref_new_with_name_and_label( 2084 ppref = purple_plugin_pref_new_with_name_and_label(
2085 "/plugins/purple/log_reader/adium/log_directory", _("Adium")); 2085 "/plugins/core/log_reader/adium/log_directory", _("Adium"));
2086 purple_plugin_pref_frame_add(frame, ppref); 2086 purple_plugin_pref_frame_add(frame, ppref);
2087 2087
2088 #if 0 2088 #if 0
2089 ppref = purple_plugin_pref_new_with_name_and_label( 2089 ppref = purple_plugin_pref_new_with_name_and_label(
2090 "/plugins/purple/log_reader/fire/log_directory", _("Fire")); 2090 "/plugins/core/log_reader/fire/log_directory", _("Fire"));
2091 purple_plugin_pref_frame_add(frame, ppref); 2091 purple_plugin_pref_frame_add(frame, ppref);
2092 2092
2093 ppref = purple_plugin_pref_new_with_name_and_label( 2093 ppref = purple_plugin_pref_new_with_name_and_label(
2094 "/plugins/purple/log_reader/messenger_plus/log_directory", _("Messenger Plus!")); 2094 "/plugins/core/log_reader/messenger_plus/log_directory", _("Messenger Plus!"));
2095 purple_plugin_pref_frame_add(frame, ppref); 2095 purple_plugin_pref_frame_add(frame, ppref);
2096 #endif 2096 #endif
2097 2097
2098 ppref = purple_plugin_pref_new_with_name_and_label( 2098 ppref = purple_plugin_pref_new_with_name_and_label(
2099 "/plugins/purple/log_reader/msn/log_directory", _("MSN Messenger")); 2099 "/plugins/core/log_reader/msn/log_directory", _("MSN Messenger"));
2100 purple_plugin_pref_frame_add(frame, ppref); 2100 purple_plugin_pref_frame_add(frame, ppref);
2101 2101
2102 ppref = purple_plugin_pref_new_with_name_and_label( 2102 ppref = purple_plugin_pref_new_with_name_and_label(
2103 "/plugins/purple/log_reader/trillian/log_directory", _("Trillian")); 2103 "/plugins/core/log_reader/trillian/log_directory", _("Trillian"));
2104 purple_plugin_pref_frame_add(frame, ppref); 2104 purple_plugin_pref_frame_add(frame, ppref);
2105 2105
2106 return frame; 2106 return frame;
2107 } 2107 }
2108 2108