Fri, 15 Dec 2017 03:52:01 +0000
Merged in rw_grim/pidgin (pull request #277)
Move to using GOptionContext to make it easier to share command line arguements
--- a/finch/gntblist.c Thu Nov 23 21:44:29 2017 -0600 +++ b/finch/gntblist.c Fri Dec 15 03:52:01 2017 +0000 @@ -127,10 +127,6 @@ static void add_chat(PurpleChat *chat, FinchBlist *ggblist); static void add_node(PurpleBlistNode *node, FinchBlist *ggblist); static void node_update(PurpleBuddyList *list, PurpleBlistNode *node); -#if 0 -static gboolean is_contact_online(PurpleContact *contact); -static gboolean is_group_online(PurpleGroup *group); -#endif static void draw_tooltip(FinchBlist *ggblist); static void tooltip_for_buddy(PurpleBuddy *buddy, GString *str, gboolean full); static gboolean remove_typing_cb(gpointer null); @@ -385,27 +381,6 @@ fnode = purple_blist_node_get_ui_data(node); if (fnode && fnode->signed_timer) flag |= GNT_TEXT_FLAG_BLINK; - } else if (PURPLE_IS_GROUP(node)) { - /* If the node is collapsed, then check to see if any of the priority buddies of - * any of the contacts within this group recently signed on/off, and set the blink - * flag appropriately. */ - /* XXX: Refs #5444 */ - /* XXX: there's no way I can ask if the node is expanded or not? *sigh* - * API addition would be necessary */ -#if 0 - if (!gnt_tree_get_expanded(GNT_TREE(ggblist->tree), node)) { - for (node = purple_blist_node_get_first_child(node); node; - node = purple_blist_node_get_sibling_next(node)) { - PurpleBlistNode *pnode; - pnode = purple_contact_get_priority_buddy((PurpleContact*)node); - fnode = purple_blist_node_get_ui_data(node); - if (fnode && fnode->signed_timer) { - flag |= GNT_TEXT_FLAG_BLINK; - break; - } - } - } -#endif } return flag; @@ -418,37 +393,6 @@ gnt_tree_set_row_color(GNT_TREE(ggblist->tree), node, get_display_color(node)); } -#if 0 -static gboolean -is_contact_online(PurpleContact *contact) -{ - PurpleBlistNode *node; - for (node = purple_blist_node_get_first_child(((PurpleBlistNode*)contact)); node; - node = purple_blist_node_get_sibling_next(node)) { - FinchBlistNode *fnode = purple_blist_node_get_ui_data(node); - if (PURPLE_BUDDY_IS_ONLINE((PurpleBuddy*)node) || - (fnode && fnode->signed_timer)) - return TRUE; - } - return FALSE; -} - -static gboolean -is_group_online(PurpleGroup *group) -{ - PurpleBlistNode *node; - for (node = purple_blist_node_get_first_child(((PurpleBlistNode*)group)); node; - node = purple_blist_node_get_sibling_next(node)) { - if (PURPLE_IS_CHAT(node) && - purple_account_is_connected(((PurpleChat *)node)->account)) - return TRUE; - else if (is_contact_online((PurpleContact*)node)) - return TRUE; - } - return FALSE; -} -#endif - static void new_node(PurpleBlistNode *node) { @@ -999,20 +943,6 @@ blist_update_row_flags((PurpleBlistNode*)contact); } -#if 0 -static void -buddy_signed_on(PurpleBuddy *buddy, FinchBlist *ggblist) -{ - add_node((PurpleBlistNode*)buddy, ggblist); -} - -static void -buddy_signed_off(PurpleBuddy *buddy, FinchBlist *ggblist) -{ - node_remove(purple_blist_get_buddy_list(), (PurpleBlistNode*)buddy); -} -#endif - PurpleBlistUiOps *finch_blist_get_ui_ops() { return &blist_ui_ops; @@ -3127,17 +3057,6 @@ purple_signal_connect(purple_blist_get_handle(), "buddy-signed-off", finch_blist_get_handle(), PURPLE_CALLBACK(buddy_signed_on_off), ggblist); -#if 0 - /* These I plan to use to indicate unread-messages etc. */ - purple_signal_connect(purple_conversations_get_handle(), "received-im-msg", finch_blist_get_handle(), - PURPLE_CALLBACK(received_im_msg), list); - purple_signal_connect(purple_conversations_get_handle(), "sent-im-msg", finch_blist_get_handle(), - PURPLE_CALLBACK(sent_im_msg), NULL); - - purple_signal_connect(purple_conversations_get_handle(), "received-chat-msg", finch_blist_get_handle(), - PURPLE_CALLBACK(received_chat_msg), list); -#endif - g_signal_connect(G_OBJECT(ggblist->tree), "selection_changed", G_CALLBACK(selection_changed), ggblist); g_signal_connect(G_OBJECT(ggblist->tree), "key_pressed", G_CALLBACK(key_pressed), ggblist); g_signal_connect(G_OBJECT(ggblist->tree), "context-menu", G_CALLBACK(context_menu), ggblist);
--- a/finch/gntplugin.c Thu Nov 23 21:44:29 2017 -0600 +++ b/finch/gntplugin.c Fri Dec 15 03:52:01 2017 +0000 @@ -446,95 +446,6 @@ } } -#if 0 -static void -install_selected_file_cb(gpointer handle, const char *filename) -{ - /* Try to init the selected file. - * If it succeeds, try to make a copy of the file in $USERDIR/plugins/. - * If the copy succeeds, unload and destroy the plugin in the original - * location and init+load the new one. - * Select the plugin in the plugin list. - */ - char *path; - PurplePlugin *plugin; - - g_return_if_fail(plugins.window); - - plugin = purple_plugin_probe(filename); - if (!plugin) { - purple_notify_error(handle, _("Error loading plugin"), - _("The selected file is not a valid plugin."), - _("Please open the debug window and try again to see the exact error message."), NULL); - return; - } - if (g_list_find(gnt_tree_get_rows(GNT_TREE(plugins.tree)), plugin)) { - purple_plugin_load(plugin); - gnt_tree_set_choice(GNT_TREE(plugins.tree), plugin, purple_plugin_is_loaded(plugin)); - gnt_tree_set_selected(GNT_TREE(plugins.tree), plugin); - return; - } - - path = g_build_filename(purple_user_dir(), "plugins", NULL); - if (purple_build_dir(path, S_IRUSR | S_IWUSR | S_IXUSR) == 0) { - char *content = NULL; - gsize length = 0; - - if (g_file_get_contents(filename, &content, &length, NULL)) { - char *file = g_path_get_basename(filename); - g_free(path); - path = g_build_filename(purple_user_dir(), "plugins", file, NULL); - if (purple_util_write_data_to_file_absolute(path, content, length)) { - purple_plugin_destroy(plugin); - plugin = purple_plugin_probe(path); - if (!plugin) { - purple_debug_warning("gntplugin", "This is really strange. %s can be loaded, but %s can't!\n", - filename, path); - g_unlink(path); - plugin = purple_plugin_probe(filename); - } - } else { - } - } - g_free(content); - } - g_free(path); - - purple_plugin_load(plugin); - - if (plugin->info->type == PURPLE_PLUGIN_LOADER) { - GList *cur; - for (cur = PURPLE_PLUGIN_LOADER_INFO(plugin)->exts; cur != NULL; - cur = cur->next) - purple_plugins_probe(cur->data); - return; - } - - if (plugin->info->type != PURPLE_PLUGIN_STANDARD || - (plugin->info->flags & PURPLE_PLUGIN_FLAG_INVISIBLE) || - plugin->error) - return; - - gnt_tree_add_choice(GNT_TREE(plugins.tree), plugin, - gnt_tree_create_row(GNT_TREE(plugins.tree), plugin->info->name), NULL, NULL); - gnt_tree_set_choice(GNT_TREE(plugins.tree), plugin, purple_plugin_is_loaded(plugin)); - gnt_tree_set_row_flags(GNT_TREE(plugins.tree), plugin, GNT_TEXT_FLAG_BOLD); - gnt_tree_set_selected(GNT_TREE(plugins.tree), plugin); -} - -static void -install_plugin_cb(GntWidget *w, gpointer null) -{ - static int handle; - - purple_request_close_with_handle(&handle); - purple_request_file(&handle, _("Select plugin to install"), NULL, - FALSE, G_CALLBACK(install_selected_file_cb), NULL, - NULL, &handle); - g_signal_connect_swapped(G_OBJECT(w), "destroy", G_CALLBACK(purple_request_close_with_handle), &handle); -} -#endif - void finch_plugins_show_all(void) { GntWidget *window, *tree, *box, *aboot, *button; @@ -603,13 +514,6 @@ box = gnt_hbox_new(FALSE); gnt_box_add_widget(GNT_BOX(window), box); -#if 0 - button = gnt_button_new(_("Install Plugin...")); - gnt_box_add_widget(GNT_BOX(box), button); - gnt_util_set_trigger_widget(GNT_WIDGET(tree), GNT_KEY_INS, button); - g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(install_plugin_cb), NULL); -#endif - button = gnt_button_new(_("Close")); gnt_box_add_widget(GNT_BOX(box), button); g_signal_connect_swapped(G_OBJECT(button), "activate",
--- a/finch/libgnt/gntfilesel.c Thu Nov 23 21:44:29 2017 -0600 +++ b/finch/libgnt/gntfilesel.c Fri Dec 15 03:52:01 2017 +0000 @@ -38,10 +38,6 @@ #include <glib/gstdio.h> -#if 0 -#include <glob.h> -#endif - enum { SIG_FILE_SELECTED, @@ -281,12 +277,7 @@ { char *path; char *str; -#if 0 - int count; - glob_t gl; - GStatBuf st; - int glob_ret; -#endif + if (strcmp(key, "\r") && strcmp(key, "\n")) return FALSE; @@ -309,39 +300,9 @@ g_free(path); return FALSE; } -#if 0 - /* XXX: there needs to be a way to allow other methods for globbing, - * like the read_fn stuff. */ - glob_ret = glob(path, GLOB_MARK, NULL, &gl); - if (!glob_ret) { /* XXX: do something with the return value */ - char *loc = g_path_get_dirname(gl.gl_pathv[0]); - g_stat(gl.gl_pathv[0], &st); - gnt_file_sel_set_current_location(sel, loc); /* XXX: check the return value */ - g_free(loc); - if (!S_ISDIR(st.st_mode) && !sel->dirsonly) { - gnt_tree_remove_all(GNT_TREE(sel->files)); - for (count = 0; count < gl.gl_pathc; count++) { - char *tmp = process_path(gl.gl_pathv[count]); - loc = g_path_get_dirname(tmp); - if (g_utf8_collate(sel->current, loc) == 0) { - char *base = g_path_get_basename(tmp); - char size[128]; - snprintf(size, sizeof(size), "%ld", (long)st.st_size); - gnt_tree_add_row_after(GNT_TREE(sel->files), base, - gnt_tree_create_row(GNT_TREE(sel->files), base, size, ""), NULL, NULL); - } - g_free(loc); - g_free(tmp); - } - gnt_widget_draw(sel->files); - } - } else if (sel->files) { - gnt_tree_remove_all(GNT_TREE(sel->files)); - gnt_widget_draw(sel->files); - } - globfree(&gl); -#endif + /* XXX: Add support for globbing via g_pattern_spec_* */ + success: g_free(path); return TRUE;
--- a/finch/libgnt/gntmain.c Thu Nov 23 21:44:29 2017 -0600 +++ b/finch/libgnt/gntmain.c Fri Dec 15 03:52:01 2017 +0000 @@ -340,12 +340,6 @@ } *k = '\0'; -#if 0 - gnt_warning("a key: [%s] %#x %#x %#x %#x %#x %#x", keys, - (guchar)keys[0], (guchar)keys[1], (guchar)keys[2], - (guchar)keys[3], (guchar)keys[4], (guchar)keys[5]); -#endif - /* TODO: we could call detect_mouse_action here, but no * events are triggered (yet?) for mouse on win32. */ @@ -395,17 +389,6 @@ if (mouse_enabled && detect_mouse_action(k)) goto end; -#if 0 - /* I am not sure what's happening here. If this actually does something, - * then this needs to go in gnt_keys_refine. */ - if (*k < 0) { /* Alt not sending ESC* */ - *(k + 1) = 128 - *k; - *k = 27; - *(k + 2) = 0; - rd++; - } -#endif - while (rd) { char back; int p; @@ -450,12 +433,6 @@ g_io_channel_set_close_on_unref(channel, TRUE); -#if 0 - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - g_io_channel_set_flags(channel, G_IO_FLAG_NONBLOCK, NULL ); -#endif - channel_read_callback = result = g_io_add_watch_full(channel, G_PRIORITY_HIGH, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI), io_invoke, NULL, NULL); @@ -465,10 +442,6 @@ io_invoke_error, GINT_TO_POINTER(result), NULL); g_io_channel_unref(channel); - -#if 0 - gnt_warning("setting up IO (%d)", channel_read_callback); -#endif } static gboolean
--- a/finch/libgnt/gntmenuitem.c Thu Nov 23 21:44:29 2017 -0600 +++ b/finch/libgnt/gntmenuitem.c Fri Dec 15 03:52:01 2017 +0000 @@ -65,13 +65,8 @@ gnt_menuitem_init(GTypeInstance *instance, gpointer klass) { GntMenuItem *item = GNT_MENU_ITEM(instance); -#if 0 - GntMenuItemPriv *priv = &item->priv; - priv->visible = TRUE; -#else item->visible = TRUE; -#endif } /****************************************************************************** @@ -167,13 +162,7 @@ void gnt_menuitem_set_visible(GntMenuItem *item, gboolean visible) { -#if 0 - GntMenuItemPriv *priv = &item->priv; - - priv->visible = visible; -#else item->visible = visible; -#endif } gboolean @@ -181,11 +170,7 @@ { g_return_val_if_fail(GNT_IS_MENU_ITEM(item), FALSE); -#if 0 - return item->priv.visible; -#else return item->visible; -#endif } void
--- a/finch/libgnt/gntwidget.c Thu Nov 23 21:44:29 2017 -0600 +++ b/finch/libgnt/gntwidget.c Fri Dec 15 03:52:01 2017 +0000 @@ -322,42 +322,8 @@ if (widget->window == NULL) { -#if 0 - int x, y, maxx, maxy, w, h; - int oldw, oldh; - gboolean shadow = TRUE; - - if (!gnt_widget_has_shadow(widget)) - shadow = FALSE; - - x = widget->priv.x; - y = widget->priv.y; - w = oldw = widget->priv.width + shadow; - h = oldh = widget->priv.height + shadow; - - getmaxyx(stdscr, maxy, maxx); - maxy -= 1; /* room for the taskbar */ + widget->window = newpad(widget->priv.height + 20, widget->priv.width + 20); - x = MAX(0, x); - y = MAX(0, y); - if (x + w >= maxx) - x = MAX(0, maxx - w); - if (y + h >= maxy) - y = MAX(0, maxy - h); - - w = MIN(w, maxx); - h = MIN(h, maxy); - - widget->priv.x = x; - widget->priv.y = y; - if (w != oldw || h != oldh) { - widget->priv.width = w - shadow; - widget->priv.height = h - shadow; - g_signal_emit(widget, signals[SIG_SIZE_CHANGED], 0, oldw, oldh); - } -#else - widget->window = newpad(widget->priv.height + 20, widget->priv.width + 20); /* XXX: */ -#endif init_widget(widget); } @@ -403,11 +369,6 @@ { g_signal_emit(widget, signals[SIG_HIDE], 0); wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL)); -#if 0 - /* XXX: I have no clue why, but this seemed to be necessary. */ - if (gnt_widget_has_shadow(widget)) - mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); -#endif gnt_screen_release(widget); GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_INVISIBLE); GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_MAPPED);
--- a/finch/libgnt/test.c Thu Nov 23 21:44:29 2017 -0600 +++ b/finch/libgnt/test.c Fri Dec 15 03:52:01 2017 +0000 @@ -16,25 +16,6 @@ gnt_box_set_title(GNT_BOX(box), "This is a test"); gnt_widget_show(box); -#if 0 - - gnt_widget_set_focus(w, TRUE); - - /* XXX: This is to just test stuff */ - if (text[0] == 27) - { - if (strcmp(text+1, GNT_KEY_LEFT) == 0 && w->priv.x) - (w->priv.x)--; - else if (strcmp(text+1, GNT_KEY_RIGHT) == 0) - (w->priv.x)++; - else if (strcmp(text+1, GNT_KEY_UP) == 0 && w->priv.y) - (w->priv.y)--; - else if (strcmp(text+1, GNT_KEY_DOWN) == 0) - (w->priv.y)++; - } - - gnt_widget_draw(w); -#endif return FALSE; } @@ -57,11 +38,7 @@ { g_return_val_if_fail(GNT_IS_TREE(tree), FALSE); gnt_tree_scroll(GNT_TREE(tree), 1); - /*wscrl(tree->window, 1);*/ - /*box(tree->window, ACS_VLINE, ACS_HLINE);*/ - /*wrefresh(tree->window);*/ - /*char *s = 0;*/ - /**s = 'a';*/ + return TRUE; } @@ -90,7 +67,6 @@ gnt_box_add_widget(GNT_BOX(vbox), widget2); gnt_box_add_widget(GNT_BOX(hbox), label); - /*gnt_box_add_widget(GNT_BOX(hbox), vbox);*/ gnt_box_add_widget(GNT_BOX(hbox), gnt_entry_new("a")); @@ -106,18 +82,12 @@ GNT_WIDGET_UNSET_FLAGS(hbox, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW); gnt_box_set_title(GNT_BOX(hbox), "111111111111111111111111111111111111111111111111111111111111111This is the title …"); - /*gnt_widget_set_take_focus(vbox, TRUE);*/ - /*gnt_widget_set_take_focus(hbox, TRUE);*/ - /*gnt_widget_set_position(hbox, 10, 10);*/ - gnt_widget_show(hbox); g_signal_connect(hbox, "key_pressed", G_CALLBACK(key_pressed), tree); g_signal_connect(widget, "activate", G_CALLBACK(button1), hbox); g_signal_connect(widget2, "activate", G_CALLBACK(button2), hbox); - /*g_timeout_add(1000, (GSourceFunc)w_scroll, tree);*/ - gnt_main(); return 0;
--- a/libpurple/plugins/filectl.c Thu Nov 23 21:44:29 2017 -0600 +++ b/libpurple/plugins/filectl.c Fri Dec 15 03:52:01 2017 +0000 @@ -86,27 +86,6 @@ free(arg1); free(arg2); -/* purple_find_conversation() is gone in 2.0.0. */ -#if 0 - } else if (!g_ascii_strncasecmp(command, "send", 4)) { - PurpleConversation *conv; - - arg1 = getarg(buffer, 1, 0); - arg2 = getarg(buffer, 2, 1); - - conv = purple_find_conversation(PURPLE_CONV_TYPE_ANY, arg1); - if (conv != NULL) - { - /* - purple_conversation_write(conv, arg2, WFLAG_SEND, NULL, time(NULL), -1); - purple_serv_send_im(conv->gc, arg1, arg2, 0); - */ - } - - free(arg1); - free(arg2); -#endif - } else if (!g_ascii_strncasecmp(command, "away", 4)) { arg1 = getarg(buffer, 1, 1); /* serv_set_away_all(arg1); */
--- a/libpurple/plugins/log_reader.c Thu Nov 23 21:44:29 2017 -0600 +++ b/libpurple/plugins/log_reader.c Fri Dec 15 03:52:01 2017 +0000 @@ -2444,35 +2444,6 @@ if (path) { /* Read talk.ini file to find the log directory. */ GError *error = NULL; - -#if 0 /* FIXME: Not tested yet. */ - GKeyFile *key_file; - - purple_debug_info("Trillian talk.ini read", "Reading %s\n", path); - - error = NULL; - if (!g_key_file_load_from_file(key_file, path, G_KEY_FILE_NONE, GError &error)) { - purple_debug_error("Trillian talk.ini read", - "Error reading talk.ini\n"); - if (error) - g_error_free(error); - } else { - char *logdir = g_key_file_get_string(key_file, "Logging", "Directory", &error); - if (error) { - purple_debug_error("Trillian talk.ini read", - "Error reading Directory value from Logging section\n"); - g_error_free(error); - } - - if (logdir) { - g_strchomp(logdir); - purple_prefs_add_string("/plugins/core/log_reader/trillian/log_directory", logdir); - found = TRUE; - } - - g_key_file_free(key_file); - } -#else gchar *contents = NULL; if (g_file_test(path, G_FILE_TEST_IS_REGULAR)) { @@ -2514,7 +2485,6 @@ g_free(contents); } g_free(path); -#endif } /* path */ if (!found) {
--- a/meson.build Thu Nov 23 21:44:29 2017 -0600 +++ b/meson.build Fri Dec 15 03:52:01 2017 +0000 @@ -864,7 +864,7 @@ DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour') DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook') -DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg ') +DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg') DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc') DYNAMIC_JABBER = DYNAMIC_PRPLS.contains('jabber') DYNAMIC_NOVELL = DYNAMIC_PRPLS.contains('novell')