pidgin/pidgin

Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol

These are now used by pidgin_create_icon_from_protocol which will attempt to
load the icon for the protocol from the default GtkIconTheme if the protocol
has a non NULL value for icon-name.

pidgin_ui_init was also updated to add icon-search-path and icon-resource-path
to the default GtkIconTheme when a protocol is registered. It also scans all of
the protocols that have been already been registered as that happens before the
ui is initialized.

Testing Done:
Removed old local icon and then ran with an inverted icon to make sure pidgin was displaying the icon from the resource.

Reviewed at https://reviews.imfreedom.org/r/790/
PROGS = [
'account_option',
'attention_type',
'circular_buffer',
'credential_manager',
'credential_provider',
'image',
'keyvaluepair',
'markup',
'protocol_action',
'protocol_attention',
'protocol_xfer',
'queued_output_stream',
'trie',
'util',
'xmlnode'
]
test_ui = static_library(
'test-ui',
'test_ui.c',
'test_ui.h',
c_args: [
'-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir())
],
dependencies: [libpurple_dep, glib]
)
foreach prog : PROGS
e = executable('test_' + prog, 'test_@0@.c'.format(prog),
c_args : [
'-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir())
],
dependencies : [libpurple_dep, glib],
link_with: test_ui,
)
test(prog, e)
endforeach