From: <ev...@us...> - 2006-08-19 01:31:30
|
Revision: 16859 Author: evands Date: 2006-08-18 18:31:21 -0700 (Fri, 18 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16859&view=rev Log Message: ----------- ** Part 5 of a 4 part commit ** Restructured the tree and the build files for the core/UI split. libgaim is now built as a library against which gtkgaim and gntgaim link and can be built separately from them by configuring with them disable d (--disable-gtkgaim and --disable-gntgaim). Each of the three source trees (gtk, console, and core) has its own plugins folder. This works nicely on my system; hopefully it won't cause too much chaos for others. If you have local changes, an easy way to merge them to the new layout should be along the lines of svn diff -r version_before_move > myChanges.diff patch -p1 < myChanges.diff where svn diff is done from the gaim checkout root but patch is done from gtk or core (or both). This changeset combines work by Sadrul Chowdhury, Gary Kramlich (grim), and me. Known issues: * On my system, at least, something's not quite right with the gtkgaim build process; it imports gtkgaim.h (as can be seen by adding a #warning) but <gtk/gtk.h> doesn't seem to be used. The GTK_STOCK_XXX defines claim to be undeclared. I was going to make this work before committing, but I strongly suspect someone with more autotools experience will be able to fix it easily whereas I've already glared at it for an hour. * The gnt console UI depends on libgnt, which is not yet automatically built. Either autogen.sh && make && make install libgnt (in console/libgnt) or configure with --disable-gnt for now. * The Windows build process has not been touched yet so still needs updating. * There's an stray "rm: core: is a directory" warning after autogen.sh is compl te. I'm not sure where that's coming from. Modified Paths: -------------- trunk/plugins/Makefile.am Removed Paths: ------------- trunk/pixmaps/ trunk/plugins/ChangeLog trunk/plugins/ChangeLog.API trunk/plugins/HOWTO trunk/plugins/ciphertest.c trunk/plugins/codeinline.c trunk/plugins/contact_priority.c trunk/plugins/crazychat/ trunk/plugins/dbus-buddyicons-example.py trunk/plugins/dbus-example.c trunk/plugins/docklet/ trunk/plugins/extplacement.c trunk/plugins/filectl.c trunk/plugins/fortuneprofile.pl trunk/plugins/gaim.pl trunk/plugins/gaiminc.c trunk/plugins/gaimrc.c trunk/plugins/gestures/ trunk/plugins/gevolution/ trunk/plugins/gtk-signals-test.c trunk/plugins/history.c trunk/plugins/iconaway.c trunk/plugins/idle.c trunk/plugins/ipc-test-client.c trunk/plugins/ipc-test-server.c trunk/plugins/log_reader.c trunk/plugins/mailchk.c trunk/plugins/mono/ trunk/plugins/musicmessaging/ trunk/plugins/notify.c trunk/plugins/perl/ trunk/plugins/pluginpref_example.c trunk/plugins/psychic.c trunk/plugins/raw.c trunk/plugins/relnot.c trunk/plugins/signals-test.c trunk/plugins/simple.c trunk/plugins/spellchk.c trunk/plugins/ssl/ trunk/plugins/statenotify.c trunk/plugins/tcl/ trunk/plugins/test.pl trunk/plugins/ticker/ trunk/plugins/timestamp.c trunk/plugins/timestamp_format.c trunk/plugins/win32/ Deleted: trunk/plugins/ChangeLog =================================================================== --- trunk/plugins/ChangeLog 2006-08-19 01:29:53 UTC (rev 16858) +++ trunk/plugins/ChangeLog 2006-08-19 01:31:21 UTC (rev 16859) @@ -1,161 +0,0 @@ -version 0.11.0pre5: - The build process for plugins has changed slightly. Everything still - works more or less the same from a user point of view, that is, 'make - file.so' will still turn file.c into a plugin. The build now uses - libtool in an attempt to increase portability. By using libtool the - act of compiling and linking has been divided into two steps (to be - precise it always was two but we only called gcc once; now we call - libtool twice). PLUGIN_CFLAGS has also been added. Any -D switches you - were passing in PLUGIN_LIBS should be passed in PLUGIN_CFLAGS now. - -version 0.11.0pre1: - Gaim is now multi-connection based. This represents a significant - change. Most of the code was modified, though most of the modifications - were small (referencing an int as part of a struct as opposed to as a - global int). Plugins need to be modified to match the new function - declarations and such. - - Gaim now uses GModule from the GLib library for plugins. This brings - a few changes. gaim_plugin_init is now passed a GModule *, which it - should use for all of its callbacks. gaim_plugin_init now returns - char * instead of int instead of void. If gaim_plugin_init returns - NULL then gaim assumes everything was OK and proceeds. Otherwise, it - displays the error message and unloads your plugin. There is no more - gaim_plugin_error (at least, that gaim itself will use. You may wish - to simply return gaim_plugin_error() in gaim_plugin_init). - - Because gaim now uses GModule, plugins are opened with RTLD_GLOBAL. I - had previously wanted to avoid this, but there are simply too many - benefits gained from using GModule to reject it for this reason. This - means that plugins can now call each other's functions. Beware, this - has good and bad implications. If you call a function, it will look - first in your plugin, and then in gaim's global symbol table, including - other plugins. - - The new system allows for protocol plugins. New protocols (including - Yahoo, MSN, IRC, ICQ, etc) can be loaded dynamically. However, most - of these plugins are going to be controlled by the gaim maintainers. - If you have interest in writing a protocol plugin, please talk to one - of us before you start. - - That's about all that I'm going to talk about. My SN is EWarmenhoven - if you have any questions (like what the hell struct gaim_connection is - and what its relation to struct aim_user is). - -version 0.10.0: - Rather than have a separate CFLAGS and LDFLAGS for the plugins than - for gaim, and doing all kinds of crazy things to work around the - problems that creates, the plugins now have the same CFLAGS and LIBS. - The plugins also have PLUGIN_LIBS which can be passed at make time. - This makes things like #ifdef USE_APPLET and #ifdef USE_PERL much more - reliable. (#include "config.h" in order to get all the #defines) - - The internals of gaim plugin events got modified slightly. It should - have no effect on existing plugins or the way plugins are made. The - change was to make my life easier adding perl. It should also make - adding new plugin events even easier than before (though I doubt that - any more will ever be added). Also, events are printed to the debug - window. - - event_buddy_away was being triggered every blist_update for every away - buddy. This got fixed, but now when you sign on, event_buddy_away may - be called before event_buddy_signon. Not that it should matter much. - - Just after I finish saying that no more events will be added, I go and - add one. Go figure. Anyway, it's event_new_conversation. Enough people - asked me to add it, and I found it useful enough, that I finally did - add it. It gets passed a char *, the name of the person who the - conversation is with. This gets triggered when a new conversation - window is created, in case you couldn't figure it out on your own. - - event_blist_update wasn't being called if you weren't reporting idle - time or if you were idle. This got fixed. - -version 0.9.20: - It's 3 am the night before finals, it's obviously a good time to hack - gaim. - - This became quite long, and if you don't want to read it all, here's - the important stuff summed up: - - 9 new events (see SIGNALS file for more details) - - int gaim_plugin_init(void *) (no longer returns void, see error.c) - - void gaim_plugin_unload(void *) (to allow plugin to remove itself) - - can only load 1 instance of the same plugin - - PLUGIN_LIBS for extra libraries for plugin - - The first thing to note is that there are about 9 new events plugins - can attach to, most of them dealing with chat, since I know that was a - big thing that was missing. Please note that I was nice and decided to - tack these extra events onto the end of the enum, which means that - plugins do not have to be recompiled in order for them to still work. - - The big change is that gaim_plugin_init no longer returns void, but - int. If it returns 0+, gaim interprets this as there being no error, - and continues with loading as normal. (This should be backwards- - compatible: returning 0/1 is the equivalent of returning void.) If it - returns a number less than 0, there was an error loading detected by - the plugin. At that point, gaim will try to clean things up by removing - any callbacks that have been added by the plugin. It will then try to - call the plugin's gaim_plugin_error function, if there is one. The - function should take an int (the int returned by gaim_plugin_init) and - return a char*. If the char* is not NULL, it is displayed by gaim as an - error message. The plugin is then unloaded and closed and life goes - back to normal. If any of that was confusing, it was confusing to me, - too. I added a plugin, error.c, which should help clear things up. - - Another big thing to note is that plugins can unload themselves. A good - example of why this is useful is a ticker plugin. If the user closes - the ticker window, they obviously want the plugin to be unloaded. Gaim - has no way of knowing that; therefore, the plugin must tell gaim that - it is to be unloaded. To have a plugin unload itself, simply call - gaim_plugin_unload(void *) (the void* is the handle passed to - gaim_plugin_init). Because you are explicitly asking to be removed, - gaim assumes that you have done any cleanup already, and so does not - call gaim_plugin_remove. Rather, it simply removes your callbacks and - unloads the plugin. (There is some trickery to this. Think about it: - your plugin calls the function, your plugin is unloaded, and execution - returns to your plugin, which no longer exists. This would cause a - segfault if it behaved exactly as described. Instead, the plugin is - removed from the list of plugins, and removed 5 seconds later. By then - the plugin should be effectively gone, though still in memory.) - - In previous versions of gaim, you could load multiple copies of the - same plugin. This is no longer the case. The reason for this was that - there were not two instances of the plugin in memory; rather, one copy - and two structures representing the same plugin. Then, the callbacks - would be called twice (since the plugin would most likely act the same - across multiple instances), and when one was unloaded, all callbacks - for both instances would be removed. Rather than deal with two copies - of the same plugin, it is easier and cleaner to only handle one. - - Sometimes it's necessary to link a plugin with libraries other than the - ones needed for GTK. Before, it was necessary to modify the Makefile to - do so (which was usually messy since it's generated by GNU automake). - Now, you can simply set the environment variable PLUGIN_LIBS to be the - extra libraries you want to link in. For example, to link plugin.c with - the math library, you can run the command - PLUGIN_LIBS=-lm make plugin.so - To link with multiple plugins, make sure to indicate spaces, e.g. - PLUGIN_LIBS='-lm -lcrypt' make encrypt.so - - There is a new event, event_quit, which signifies that gaim has exited - correctly (i.e. didn't segfault). Also, after this event is called, all - plugins are removed, and their gaim_plugin_remove function is called. - This behavior is different from previous versions; however, it is the - proper way of doing things, and should have no effect on current - plugins. The reason event_quit exists despite plugins being removed at - quit is because a plugin can be removed without gaim quitting. They are - distinctly separate events. - - The new events mean that some versions of gaim have certain events, - others don't. The thing I find fascinating though is that even if a - plugin is compiled for a later version, it will still be backwards- - compatible, even if it makes use of the newer events. The reason why - is the names of the events are stored as integers, and those integers - will never match an event in a prior version. This means you don't - have to worry about which version the person is using, only which - version the person is compiling against. For simplicity's sake, please - assume people are compiling against the latest version. For - practicality's sake, VERSION is #define'd to be the version you're - compiling against, starting with 0.9.20. Prior versions do not have - this defined in the standard plugin Makefile. Deleted: trunk/plugins/ChangeLog.API =================================================================== --- trunk/plugins/ChangeLog.API 2006-08-19 01:29:53 UTC (rev 16858) +++ trunk/plugins/ChangeLog.API 2006-08-19 01:31:21 UTC (rev 16859) @@ -1,612 +0,0 @@ -Gaim: The Pimpin' Penguin IM Client that's good for the soul! - -version 2.0.0: - Changed: - * All the status stuff. Yay! - * gaim_prefs_connect_callback(), added handle parameter - * gtk_imhtml_toolbar now descends from GtkHBox making it easier to add your - own widgets to it - * gaim_find_conversation_with_account, added a "type" parameter - * gaim_gtk_prefs_labeled_spin_button, the "key" parameter is now a - const char* instead of just a char* - * gaim_gtk_prefs_labeled_entry, the "key" parameter is now a const char* - instead of just a char* - * the add_buddy perl sub. The sub now takes the account as the first - argument, and buddy and group as the second and third. It also adds - the buddy to the server-side buddy list of the given account. - * gaim_connection_new, gaim_account_connect and gaim_account_register no - longer return a GaimConnection - * keep_alive in GaimConnection is renamed to keepalive - * gaim_mkstemp, added a second argument, a boolean, of whether or not the - file is binary - * gaim_log_logger_new, rewritten - * gaim_conv_window_remove_conversation()'s last argument to be a - GaimConversation. - * A new blocked icon: pixmaps/status/default/blocked.png - * In pixmaps/status/default: extendedaway.png renamed to extended_away.png - * In pixmaps/status/default: na.png renamed to unavailable.png - * gtk_imhtml_toggle_bold(): No longer returns a value - * gtk_imhtml_toggle_italic(): No longer returns a value - * gtk_imhtml_toggle_underline(): No longer returns a value - * gtk_imhtml_toggle_strike(): No longer returns a value - * gtk_imhtml_scroll_to_end(): Added the smooth paramter - * gaim_log_new(), added conv parameter - * gaim_buddy_icon_new(), leaves a reference which the caller owns. Use - gaim_buddy_icon_unref() immediately if you don't want a reference (the - old behavior). - * GAIM_CONV_UNKNOWN to GAIM_CONV_TYPE_UNKNOWN. - * GAIM_CONV_IM to GAIM_CONV_TYPE_IM. - * GAIM_CONV_CHAT to GAIM_CONV_TYPE_CHAT. - * GAIM_CONV_MISC to GAIM_CONV_TYPE_MISC. - * GAIM_CONV_ANY to GAIM_CONV_TYPE_ANY. - * GaimConversationUiOps.write_conv, Replaced const char *who with - const char *name, const char *alias - * gaim_conv_chat_add_users(), added extra_msgs and new_arrivals (pass NULL - and FALSE respectively, to get the same behavior as before) - * chat_add_users in GaimConversationUiOps, added cbuddies and - new_arrivals and removed buddies. - * chat_rename_user in GaimConversationUiOps, added new_alias - * gaim_conv_chat_cb_new(), added alias. (pass NULL to get the same - behavior as before). - * GaimConversation.log became GList * GaimConversation.logs, so that a - conversation can have multiple logs at once - * gaim_conv_chat_add_user, added extra_msgs - * gaim_notify_userinfo, removed primary and secondary parameters - * GaimNotifyUiOps.notify_userinfo: removed title, primary, and - secondary parameters - * Idle timers are now added and removed in gtkidle.c in response - to the signed-on and signed-off signals - * GaimXfer->ops.read, GaimXfer->ops.write, gaim_xfer_set_read_fnc(), - gaim_xfer_set_write_fnc(), gaim_xfer_read(), gaim_xfer_write(): - Changed ssize_t to gssize - * serv_got_im, serv_got_chat_in, serv_send_im and serv_chat_send all use - GaimMessageFlags instead of GaimConvImFlags / GaimConvChatFlags - * All core<->prpl message passing now uses html. This was previously true - for receiving messages, it's now also true for sending them. prpls that - don't support html need to gaim_unescape_html() the message. - * Notify API: GCallback -> GaimNotifyCloseCallback, - void *user_data -> gpointer user_data - * gaim_notify_searchresults_get_rows_count, - gaim_notify_searchresults_get_columns_count: return type now guint - * gaim_account_notify_added: No longer checks if there is a - GaimBuddy for the added user, that's left up to the prpls. See the - documentation for this function and gaim_account_request_add. - * gaim_accounts_reorder: new_index is now a gint instead of a size_t - * displaying-message signals: displaying-[im|chat]-msg and - displayed-[im|chat]-msg signals are emitted for all messages - (ie, for received messages, sent messages, system messages, error - messages etc.), and the signals now have - gaim_gtk_conversations_get_handle() for their handle. - * GAIM_NOTIFY_BUTTON_ADD_BUDDY to GAIM_NOTIFY_BUTTON_ADD - * conversation-switched: This signal has been moved from conversation to - the UI and the signal-handlers only receive the - conversation that has been switched to. - * GaimPluginProtocolInfo: Added offline_message - * GaimPluginProtocolInfo: Added whiteboard_prpl_ops - * GaimPluginProtocolInfo: Added media_prpl_ops - * GaimPluginProtocolInfo: Added "str" argument to tooltip_text, changed - the return type to void - * GaimPluginProtocolInfo: Added "full" argument to tooltip_text - * gaim_pounce_new(): Added option argument for pounce options - * gaim_network_listen() and gaim_network_listen_range(): Added - socket_type parameter to allow creation of UDP listening. Modified - to be asynchronous with a Callback to allow for UPnP operation. - * GaimPrefCallback: val is now a gconstpointer instead of a gpointer - * gtk_imhtml_get_current_format(): the arguments are now set to TRUE or - FALSE. Previously they were set to TRUE or left alone. Also, you - may now pass NULL if you're not interested in a specific formatting. - * Smiley Themes: Backslashes must be backslash-escaped. - * Plugins: Depedencies are now honored when unloading plugins. - * gaim_markup_extract_info_field(): Added format_cb parameter. - * gaim_str_to_time(): Added support for parsing the MM/DD/YYYY format. - * gaim_plugin_action_new(): label is now const char * - * gaim_plugin_pref_new_with_name(): name is now const char * - * gaim_plugin_pref_new_with_label(): label is now const char * - * gaim_plugin_pref_new_with_name_and_label(): name and label are - now const char * - * gaim_plugin_pref_set_name(): name is now const char * - * gaim_plugin_pref_get_name(): return type is now const char * - * gaim_plugin_pref_set_label(): label is now const char * - * gaim_plugin_pref_get_label(): return type is now const char * - * gaim_plugin_pref_add_choice(): label is now const char * - * struct proto_chat_entry: label is now const char * - * struct proto_chat_entry: identifier is now const char * - * All network activity has been updated to use non-blocking sockets. - This means that plugins must be updated to expect such a socket from - gaim_proxy_connect() and gaim_network_listen*(). - * gaim_proxy_connect(): changed to return NULL on error and a pointer - to a GaimProxyConnectInfo object which can be used to cancel - connection attempts using gaim_proxy_connect_cancel(). - * gaim_gtk_create_imhtml(): Added sw_ret() parameter - * gaim_account_get_log(): Added create parameter - * GAIM_CMD_P_VERYHIGH is now GAIM_CMD_P_VERY_HIGH - - Removed: - * gaim_gtk_sound_{get,set}_mute() (replaced by the /gaim/gtk/sound/mute - preference) - * gaim_escape_html(const char *html) (use g_markup_escape_text(html, -1) - instead) - * gaim_accounts_sync, account changes are now scheduled to be saved - automatically - * gaim_connection_connect - * gaim_connection_disconnect - * gaim_connection_register - * gaim_accounts_auto_login - * gaim_find_conversation, use gaim_find_conversation_with_account instead - * serv_login - * serv_close - * serv_finish_login - * gaim_chat_get_display_name - * gaim_conversation_set_history, gaim_conversation_get_history, and - GaimConversation->history. Use gtk_imhtml_get_markup instead. - * serv_rename_group - * set_gaim_user_dir to gaim_util_set_user_dir - * create_prpl_icon to gaim_gtk_create_prpl_icon - * Window flashing support in the core: gaim_conv_window_flash, and flash UI - operation for conversations. Use signal "received-im-msg" or similar. - * All warning stuff from the core. - * gaim_gtkconv_get_dest_tab_at_xy(), instead use gaim_gtkconv_get_tab_at_xy() - * chat_add_user from GaimConversationUiOps: only chat_add_users is used - * chat_remove_user from GaimConversationUiOps: only chat_remove_users is used - * uc from the GaimBuddy struct - * gaim_sound_get_handle() - * gaim_debug_vargs() - * serv_add_buddy(); use gaim_account_add_buddy() instead - * serv_add_buddies(); use gaim_account_add_buddies() instead - * serv_remove_buddy(); use gaim_account_remove_buddy() instead - * serv_remove_buddies(); use gaim_account_remove_buddies() instead - * serv_change_passwd(); use gaim_account_change_password() instead - * serv_touch_idle(): use gaim_gtk_check_idle() instead - * GaimGtkImPane->a_virgin - * gaim_str_strip_cr(); use gaim_str_strip_char(str, '\r') instead - * gaim_find_buddys_group renamed to gaim_buddy_get_group - * gaim_gtkpounce_menu_build() - * gaim_gtkpounce_dialog_show() - * GaimGtkBuddyList->bpmenu - * GaimConvImFlags and GaimConvChatFlags; use GaimMessageFlags instead - * cb and user_data from the ops in GaimNotifyUiOps: This is now handled - by the notify API in the core. - * GaimConversationUiOps.updated: use the conversation-updated signal - * GAIM_SUBTYPE_CONV_WINDOW: windows are now only represented in the UI, - so GAIM_TYPE_BOXED is used for the signal types - * gaim_gtk_privacy_is_showable(): We do fallback privacy in the core - now, so this would always be TRUE now. - * GaimBlistNodeAction: See GaimMenuAction - * gaim_blist_node_action_new(); use gaim_menu_action_new() instead - * gaim_date() - * gaim_date_full(): See gaim_date_format_full() - * gaim_strftime(): See gaim_utf8_strftime() - * GAIM_MESSAGE_COLORIZE - * user_data from gaim_notify_searchresults_new_rows and from - notify_searchresults in GaimNotifyUiOps. - * gaim_conversation_get_send_history(), and send_history from - GaimConversation - * Removed ui_ops from GaimBuddyList. Use gaim_blist_get_ui_ops() instead - - Added: - * gaim_prefs_disconnect_by_handle() - * a password field to GaimConnection, which only persists for the - session (when "remember password" is false, account->password is - NEVER set) Use gaim_connection_get_password(GaimConnection *gc) - * gaim_log_common_writer, gaim_log_common_lister, gaim_log_common_sizer, - and gaim_log_get_log_dir to allow log formats that use standard Gaim - log directory to use Gaim's built-in code for these purposes. - * GaimLogCommonLoggerData struct for a basic logger_data struct to be - used with "common" logger functions. - * gaim_gtk_blist_node_is_contact_expanded, returns TRUE if the given - blist node is a buddy inside an expanded contact, or is itself an - expanded contact - * GaimLogSet struct, get_log_sets function to GaimLogLogger, - gaim_log_get_log_sets, gaim_log_set_compare - * gaim_privacy_check(), to check if a given user is allowed to send - messages to the specified account - * gtk_imhtml_clear_formatting() - * gtk_imhtml_delete to clear out part of a imhtml buffer - * gtk_imhtml_get_protocol_name() - * gaim_buddy_icons_get_full_path(), to get the full path of a buddy - icon setting - * CHAT_USERS_ALIAS_COLUMN, CHAT_USERS_COLOR_COLUMN, - CHAT_USERS_BUDDY_COLUMN to the list of columns for the chat - user list - * gaim_account_add_buddy() - * gaim_account_add_buddies() - * gaim_account_remove_buddy() - * gaim_account_remove_buddies() - * gaim_account_change_password() - * gaim_account_supports_offline_message() - * gaim_conversation_close_logs(), to force a conversation's log(s) to - be closed. New logs will be opened as necessary. - * gaim_plugin_get_id() - * gaim_plugin_get_name() - * gaim_plugin_get_version() - * gaim_plugin_get_summary() - * gaim_plugin_get_description() - * gaim_plugin_get_author() - * gaim_plugin_get_homepage() - * gaim_gtkconv_switch_active_conversation(GaimConversation *) - * gaim_str_strip_char() to strip a given character from - a given string - * gaim_util_chrreplace() to replace a given character with a - different character - * gaim_gtk_blist_toggle_visibility() to intelligently toggle the - visiblity of the buddy list - * gaim_gtk_blist_visibility_manager_add() to indicate the addition of a - visibility manager - see the docs for more information - * gaim_gtk_blist_visibility_manager_remove() to indicate the removal of - a visibility manager - see the docs for more information - * gaim_gtk_conversations_find_unseen_list() to get a list of conversations - with an "unseen" state >= to the specified state and other criteria - * gaim_gtk_conversations_fill_menu() fill a menu from list of conversations - * gaim_gtk_create_prpl_icon() - * gaim_gtk_create_prpl_icon_with_status() - * gaim_gtk_pounces_manager_show() - * gaim_gtk_pounces_manager_hide() - * gaim_gtk_pounce_editor_show() - * GAIM_POUNCE_MESSAGE_RECEIVED - * GaimPounceOption - * gaim_pounce_set_options() - * gaim_pounce_set_options() - * GAIM_STOCK_CONNECT, GAIM_STOCK_DISCONNECT - * GAIM_STOCK_PLUGIN - * gaim_account_request_add: Notifies the user that they were added to - someone's buddy list, and offers them the choice - of adding that person to their buddy list. - * gaim_blist_alias_contact() - * gaim_cipher_http_digest_calculate_session_key() - * gaim_cipher_http_digest_calculate_response() - * gaim_notify_searchresults_labeled() - * GAIM_NOTIFY_BUTTON_LABELED, GAIM_NOTIFY_BUTTON_INFO, - GAIM_NOTIFY_BUTTON_IM, GAIM_NOTIFY_BUTTON_JOIN, - GAIM_NOTIFY_BUTTON_INVITE - * stock buttons GAIM_STOCK_IM, GAIM_STOCK_INFO - * gaim_conversation_present() - * GaimConversationUiOps->present(GaimConversation *) - * GaimPlugin.unloadable - * gaim_plugin_is_unloadable() - * GAIM_PLUGIN_PREF_STRING_FORMAT - * gaim_plugin_pref_get_format_type() - * gaim_plugin_pref_set_format_type() - * GaimStringFormatType - * gaim_log_get_handle() - * gaim_log_uninit() - * GAIM_SUBTYPE_LOG - * gaim_marshal_POINTER__POINTER_POINTER - * gaim_utf8_ncr_encode() - * gaim_gtk_log_init() - * gaim_gtk_log_get_handle() - * gaim_gtk_log_uninit() - * gaim_url_fetch_request() - * GaimMenuAction - * gaim_menu_action_new() - * gaim_menu_action_free() - * GaimInfoFieldFormatCallback - * gaim_utf8_strftime() - * gaim_date_format_short() - * gaim_date_format_long() - * gaim_date_format_full() - * gaim_time_format() - * gaim_plugin_action_free() - * GaimRequestType: Added GAIM_REQUEST_FOLDER - * GaimRequestUiOps: Added request_folder - * gaim_request_folder() - * gaim_gtk_setup_screenname_autocomplete() - * gaim_gtk_set_cursor() - * gaim_gtk_clear_cursor() - * GAIM_MESSAGE_ACTIVE_ONLY - * gaim_proxy_get_setup() - * GaimNotifySearchResultsCallback: Added user_data. - * gaim_notify_searchresults: Added user_data. - - Signals - Changed: (See the Doxygen docs for details on all signals.) - * Signal propagation now stops after a handler returns a non-NULL value. - This value is now returned. Previously, all registered handlers were - called and the value from the last handler was used. - * "buddy-typing" and "buddy-typing-stopped": replaced the GaimConversation* - with GaimAccount*, const char *name. Also, the signal is now emitted - regardless of whether a conversation exists and regardless of whether - the user is on the buddy list. - * "chat-buddy-joined": added the new_arrival argument - * "chat-invited" handlers can now return a value to control what happens - to the invite (accept, reject, prompt the user). - * "chat-left": Emitted *after* setting chat->left to TRUE. - * "drawing-tooltip": the second argument is now a GString* instead of - a char** - * "drawing-tooltip": added the "full" argument - * "received-im-msg" and "received-chat-msg" to match, both now pass a - conversation pointer and flags - * "receiving-im-msg" and "receving-chat-msg" to match, both now pass a - conversation pointer and a pointer to the flags. - * "writing-im-msg", "wrote-im-msg", "writing-chat-msg", "wrote-chat-msg": - Now emitted from a difference place in the message handling code. - The arguments also changed. - * "displaying-im-msg", "displayed-im-msg", "displaying-chat-msg", - "displayed-chat-msg": Added "who" argument, which changes the order - of the existing arguments. - - Signals - Added: (See the Doxygen docs for details on all signals.) - * "account-disabled" - * "account-status-changed" - * "account-alias-changed" - * "cipher-added" - * "cipher-removed" - * "conversation-dragging" - * "dbus-method-called" - * "dbus-introspect" - * "file-recv-accept" - * "file-recv-start" - * "file-recv-cancel" - * "file-recv-complete" - * "file-recv-request" - * "file-send-accept" - * "file-send-start" - * "file-send-cancel" - * "file-send-complete" - * "buddy-added" - * "buddy-removed" - * "blist-node-aliased" - * "buddy-status-changed" - * "buddy-idle-changed": A buddy's idle status changed. - * "buddy-icon-changed" - * "displaying-userinfo" - * "gtkblist-hiding" - * "gtkblist-unhiding" - * "log-displaying" - * "savedstatus-changed" - - Signals - Removed: - * "account-away": replaced by account-status-changed - * "account-warned" - * "buddy-away": replaced by buddy-status-changed - * "buddy-back": replaced by buddy-status-changed - * "buddy-idle": replaced by buddy-idle-changed - * "buddy-unidle": replaced by buddy-idle-changed - * "buddy-icon-cached": replaced by buddy-icon-changed - * "conversation-drag-end": replaced by conversation-dragging - * "conversation-switching" - -version 1.5.0 (8/11/2005): - * Added: gaim_xfer_conversation_write - Writes a messages to a conversation window with the use - of the associated file transfer. - -version 1.4.0 (7/7/2005): - * Added: gaim_buddy_icon_uncache() - Deletes a cached buddy icon for a specified buddy - * Added: gaim_buddy_icon_get_type - Attempts to determine the type of a given buddy icon. - * Added: buddy-icon-cached signal - Emitted when a new buddy icon is cached. - -version 1.3.1 (6/9/2005): - * No changes - -version 1.3.0 (5/10/2005): - * Added: gaim_blist_schedule_save() - This should be used instead of gaim_blist_sync when you - want the blist.xml file to be written to disk. There - should not be many occasions when you want to do this, - as the functions in the blist API that modify the buddy - list will normally call it for you. - * Added: OPT_PROTO_NO_NORMALIZE_CONV - Tells the conversation API to not normalize screen names - in conversations. This is used by the Jabber PRPL. - -version 1.2.1 (4/3/2005): - * No changes - -version 1.2.0 (3/17/2005): - * You can use gaim_signal_connect_priority() and - gaim_signal_connect_priority_vargs() to connect to - Gaim signals with a given priority (Will Gorman) - * Added: gaim_conversation_set_features - gaim_conversation_get_features - These allow plugins (notable prpls) to change the - formatting capabilities of an existing conversation. - This comes with a new "features" field in - GaimConversation (Christopher O'Brien) - * Added: GAIM_CONNECTION_NO_IMAGES to GaimConectionFlags - (Christopher O'Brien) - * Added: GAIM_CBFLAGS_TYPING to GaimConvChatBuddyFlags - (Christopher O'Brien) - * Added: gaim_account_request_add which takes the same arguments as - * gaim_account_notify_added but always asks the user if they want to add - * the buddy to the buddy list - * Added: An accompanying request_add GaimAccountUiOp - -version 1.1.4 (2/24/2005): - * No changes - -version 1.1.3 (2/17/2005): - * No changes - -version 1.1.2 (1/20/2005): - * No changes - -version 1.1.1 (12/28/2004): - * No changes - -version 1.1.0 (12/02/2004): - * Added: gaim_utf8_salvage - * Added: binary relocation support in prefix.h - WARNING: If your plugin uses anything inside the - #ifdef ENABLE_BINRELOC from prefix.h, it won't be - loadable on a copy of Gaim compiled without binreloc - support. In particular, watch out for the autoconf-like - macros, and accidently including them through internal.h, - which you probably shouldn't be including anyway. - -version 1.0.0 (09/17/2004): - * Added: get_chat_name to the GaimPluginProtocolInfo struct - * Changed: gaim_blist_update_buddy_presence(), presence changed to - type gboolean - * Changed: the versioning scheme, and all the plugin structs - -version 0.82 (08/26/2004): - Gaim API: - * Removed: gaim_gtk_get_dispstyle(), gaim_gtk_change_text() - * Removed: multi.h - * Renamed: ui.h to gtkdialogs.h - * Renamed: gtkinternal.h to gtkgaim.h - * Renamed: show_info_dialog to gaim_gtkdialogs_info - * Renamed: show_log_dialog to gaim_gtkdialogs_log - * Renamed: show_warn_dialog to gaim_gtkdialogs_warn - * Renamed: show_im_dialog to gaim_gtkdialogs_im - * Renamed: gaim_gtkdialogs_new_im to gaim_gtkdialogs_im_with_user - * Renamed: destroy_all_dialogs to gaim_gtkdialogs_destroy_all - * Renamed: alias_dialog_bud to gaim_gtkdialogs_alias_buddy - * Renamed: alias_dialog_contact to gaim_gtkdialogs_alias_contact - * Renamed: alias_dialog_blist_chat to gaim_gtkdialogs_alias_chat - * Renamed: show_confirm_del to gaim_gtkdialogs_remove_buddy - * Renamed: show_confirm_del_group to gaim_gtkdialogs_remove_group - * Renamed: show_confirm_del_blist_chat to gaim_gtkdialogs_remove_chat - * Renamed: show_confirm_del_contact to gaim_gtkdialogs_remove_contact - * Renamed: show_about to gaim_gtkdialogs_about - * Added: gaim_notify_userinfo() and the associated notify_userinfo() UI op - (someone who knows just why we have this can edit here) - - Buddy List API: - * Changed: gaim_blist_request_add_chat(), added name parameter - * Added: gaim_contact_on_account() - * Added: flags parameter to the GaimBlistNode struct - - Conversation API: - * Added: gaim_gtkconv_button_new() - - Protocol Plugin API: v7 - * Added: chat_info_defaults to the GaimPluginProtocolInfo struct - - Signals: - * Added: conversation-updated for any update to the data associated - with the conversation (topic, icon, adding to buddy list, etc.) - - Conversation API: - * Changed: gaim_conv_chat_add_user() (added new_arrival parameter) - -version 0.81 (08/05/2004): - Commands API: - * Most functions now have a void *data argument. - - Blist API: - * Added: gaim_buddy_get_contact_alias - * Renamed: gaim_get_buddy_alias to gaim_buddy_get_alias - * Renamed: gaim_get_buddy_alias_only to gaim_buddy_get_alias_only - - Conversation API: - * Changed: gaim_conv_chat_add_user(), added flags parameter - * Changed: gaim_conv_chat_add_users(), added GList of flags parameter - * Changed: gaim_conv_chat_get_users(), now returns a GList of - GaimConvChatBuddy's - * Changed: gaim_conv_chat_set_users() now expects a GList of - GaimConvChatBuddy's - * Added: gaim_conv_chat_set_user_flags() - * Added: gaim_conv_chat_get_user_flags() - * Added: gaim_conv_chat_find_user() - * Added: gaim_conv_chat_cb_new() - * Added: gaim_conv_chat_cb_find() - * Added: gaim_conv_chat_cb_destroy() - * Added: gaim_conv_chat_cb_get_name() - - Conversation UI ops: - * Added: chat_update_user() - - Signals: - * Changed: chat-buddy-joining & chat-buddy-joined now include the user's flags - * Changed: chat-buddy-joining & chat-buddy-leaving are now booleans, return - TRUE if you don't want the join/leave to be displayed in the UI. - * Added: chat-buddy-flags for when user's flags change - gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT (required for the new - chat-buddy-flags signal) - * Added: account-modified for when account settings have been changed. - -version 0.80 (07/15/2004): - Gaim API: - * Removed: PRPL numbers : gaim_account_set_protocol(), - gaim_account_get_protocol(), gaim_accounts_find_with_prpl_num, - gaim_prpl_num_to_id(), gaim_prpl_id_to_num(), GaimProtocol - - Protocol Plugin API: v6 - * Added: can_receive_file & send_file to the GaimPluginProtocolInfo struct - - Signals: - * Changed "chat-invited" to also include the components hash table so - plugins can use serv_join_chat when the signal is emitted. - * Added "chat-topic-changed" signal plugins know when a topic is changed. - -version 0.79 (06/24/2004): - Gaim API: - * gaim_url_parse() now takes two additional parameters, which are used - for returning the username and password from the URL, if they exist. - * Added: has_focus UI op to GaimConversationUiOps and - GaimConvWindowUiOps. - * Added: gaim_conversation_has_focus() and gaim_conv_window_has_focus(). - * Removed: gaim_blist_save() - - Protocol Plugin API: v5 - * Changed: add_buddy, add_buddies, remove_buddy, remove_buddies, - rename_group and remove_group to take GaimBuddy's and - GaimGroup's consistently. - * Removed: OPT_PROTO_BUDDY_ICON (replaced by icon_spec) - * Added: icon_spec to the GaimPluginProtocolInfo struct - -version 0.78 (05/30/2004): - Plugin API: v4 - * Added: actions - for plugins to add to the new Plugin Actions menu - - Loader Plugin API: v2 (no changes) - - Protocol Plugin API: v4 - * Removed: set_dir, get_dir and dir_search (not used, AIM-centric) - * Removed: actions (replaced by generic plugin actions) - - Perl Plugin API: v2 (no changes) - TCL Plugin API: (no changes) - - Signals: - * Added: "blist-node-extended-menu" for extending Buddy, Chat and - Group right-click menus - * Added: "drawing-tooltip" for plugins to allow plugins to change text - appearing in tooltips - * Added: "gtkblist-created" - * Added: "receiving-im-msg" and "receiving-chat-msg" (these behave - exactly like received-*-msg used to) - * Added: "buddy-idle-updated" signal, for when the idle time changes. - * Changed: "received-im-msg" and "received-chat-msg" no longer pass - pointers to who, message and flags, and are now void. - * Removed: "drawing-menu" - it was UI sepecific and - "blist-node-extended-menu" is superior - -version 0.77 (04/22/2004): - Loader & Protocol Plugins independantly versioned - Plugin loading now checks versioning on plugins (Standard, Loader & - Protocol) - new GAIM_{PLUGIN,PRPL,LOADER}_API_VERSION constants - - Plugin API: v3 - * Added: prefs_info for UI independant plugin prefs - - Loader Plugin API: v2 - * Added: api_version at top of GaimPluginLoaderInfo struct - - Protocol Plugin API: v2 - * Added: api_version at top of GaimPluginProtocolInfo struct - * Added: chat_menu for protocol specific extensions to the chat menu - * Removed: get_away "Nada used it. Pink elephants on parade." - * Removed: protocol_prefs (replaced by generic plugin prefs_info) - - Perl Plugin API: v2 (no changes) - TCL API: (no changes) - - Signals: - * Added: "conversation-drag-ended" - -version 0.76 (04/01/2004): - Plugin API: v2 - Perl Plugin API: v2 - Loader Plugin API: (not versioned) - Protocol Plugin API: (not versioned) - * Added: protocol_prefs for protocol specific preferences - * Added: reject_chat so protocols can act on chat invite rejection - - TCL Plugin API: (not versioned) - * Changes to plugin registration to show descriptions - Deleted: trunk/plugins/HOWTO =================================================================== --- trunk/plugins/HOWTO 2006-08-19 01:29:53 UTC (rev 16858) +++ trunk/plugins/HOWTO 2006-08-19 01:31:21 UTC (rev 16859) @@ -1,83 +0,0 @@ -Everything in this file should be considered old and potentially out of -date. For more reliable information, install doxygen and graphiz dot, -then run -make docs -in the gaim source tree. This will produce html docs in gaim/docs/html -that will provide an api reference and in the related pages section, -information on perl and c plugins. - - -Ok, this howto is going to be really short and sweet and to the point. - -First off, before you do anything else, in all of the files for your plugin, -put the lines - -#define GAIM_PLUGINS -#include "gaim.h" - -I mean this. Without this, all kinds of things will not work correctly. If you -really want to know exactly what this does, read ../src/gaim.h and learn. But -if you don't want to do that, just know that it's important. - -Now that you've put that there, make sure gaim.h is in your include path. - -Ok, now you're ready to write the plugin. - -The only function that is required is gaim_plugin_init(GModule *). This gets -called as soon as it gets loaded (sort of - man dlopen for more details). If -your function never returns, it will crash gaim! If your plugin uses up all -the memory in the system, it will crash gaim! Once your plugin gets loaded, -it effectively becomes a part of gaim, and anything that goes wrong will look -like it is a problem with gaim itself. I write bugfree code! :) Therefore, it -is your problem, not mine. (I'm usually nice and willing to help you with your -problems though.) - -The GModule* that gets passed to gaim_plugin_init is the handle for the plugin. -DO NOT CHANGE THIS POINTER! Bad things will happen. You've been warned. It's -needed for connecting to signals and things. It's a good idea to remember it -somehow. - -gaim_plugin_init should return a char*. If the char* returned is not NULL, it -is interpreted as an error, and used as an error message. See the ChangeLog -file in this directory for more details. - -You can basically do anything you want in the plugin. You can make function -calls, change public widgets, display new widgets, things like that. But the -really neat thing is you can do things at events. For example, when one of -your buddies signs on, you can instantly send them a message. You can modify -the incoming and outgoing text. You can do all kinds of crazy things. Whatever -you want. Check out SIGNALS for more information. - -Plugins can share globals with gaim, but will not share with other plugins. -This is so if you have a global variable GtkWidget *window in your plugin and -J. Random Hacker also has the same name on a global variable, you won't be -constantly overwriting each others' variables. Unfortunately, this also means -that plugins will have difficulty working together. But then again, that's -what shared memory is for. - -Plugins can be configured. This makes it so they don't have to be recompiled -in order to change things internal to them, and it's also just a cool feature -to have :). It's optional; to allow your plugin to be configured, add a -function called gaim_plugin_config(). The advised course of action is to have -it pop up a dialog window; but it's your plugin. - -When your plugin gets unloaded, gaim will try to call gaim_plugin_remove(). It -doesn't have to be there, but it's nice if, say, you create a window, and when -the plugin gets unloaded, it removes the window. Also, all the callbacks you -have attached to gaim signals will be removed. - -Plugins can also unload themselves. To do this, call gaim_plugin_unload(GModule *) -(the GModule* is the handle passed to gaim_plugin_init). When your plugin gets -unloaded, gaim will remove all of your callbacks. It will not call your -gaim_plugin_remove function, however, since it will assume you have already -done the necessary cleanup. - -Compilation of the plugins is fairly straight-forward; there is a Makefile in -this directory that has a rule for making the .so file from a .c file. No -modification of the Makefile should be necessary, unless if you simply want -to type 'make' to have it made; otherwise, 'make filename.so' will take -filename.c and make the .so plugin from it. If you need to link in with extra -libraries, you can set the environment variable PLUGIN_LIBS to be the libraries -you want to link with. - -There are a few examples in this directory. Enjoy. Modified: trunk/plugins/Makefile.am =================================================================== --- trunk/plugins/Makefile.am 2006-08-19 01:29:53 UTC (rev 16858) +++ trunk/plugins/Makefile.am 2006-08-19 01:31:21 UTC (rev 16859) @@ -1,13 +1,18 @@ -DIST_SUBDIRS = docklet gevolution gestures mono musicmessaging perl ssl tcl ticker - +if ENABLE_GTK + if BUILD_GEVOLUTION GEVOLUTION_DIR = gevolution -endif +endif # GEvolution if USE_PERL PERL_DIR = perl -endif +endif # Perl +gtk_dirs = docklet $(GEVOLUTION_DIR) gestures musicmessaging $(PERL_DIR) ticker +endif # GTK + +DIST_SUBDIRS = mono ssl tcl $(gtk_dirs) + if USE_TCL TCL_DIR = tcl endif @@ -15,74 +20,78 @@ if ENABLE_DBUS DBUS_LTLIB = dbus-example.la +if ENABLE_GTK # Only use music messaging if dbus is enabled MUSICMESSAGING_DIR = musicmessaging endif +endif if USE_MONO MONO_DIR = mono endif SUBDIRS = \ - docklet \ - $(GEVOLUTION_DIR) \ - gestures \ $(MONO_DIR) \ - $(MUSICMESSAGING_DIR) \ - $(PERL_DIR) \ ssl \ $(TCL_DIR) \ - ticker + $(gtk_dirs) plugindir = $(libdir)/gaim -extplacement_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) -gaimrc_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) -history_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) -iconaway_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) idle_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) -notify_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) psychic_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) relnot_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) -spellchk_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) statenotify_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) -timestamp_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) -timestamp_format_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) # this can't be in a conditional otherwise automake 1.4 yells dbus_example_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) $(DBUS_LIBS) if PLUGINS -plugin_LTLIBRARIES = \ +if ENABLE_GTK +gtk_plugins = \ extplacement.la \ gaimrc.la \ history.la \ iconaway.la \ - idle.la \ notify.la \ - psychic.la \ - relnot.la \ spellchk.la \ - statenotify.la \ timestamp.la \ - timestamp_format.la \ - $(DBUS_LTLIB) - - + timestamp_format.la + extplacement_la_SOURCES = extplacement.c gaimrc_la_SOURCES = gaimrc.c history_la_SOURCES = history.c iconaway_la_SOURCES = iconaway.c -idle_la_SOURCES = idle.c notify_la_SOURCES = notify.c -psychic_la_SOURCES = psychic.c -relnot_la_SOURCES = relnot.c spellchk_la_SOURCES = spellchk.c -statenotify_la_SOURCES = statenotify.c timestamp_la_SOURCES = timestamp.c timestamp_format_la_SOURCES = timestamp_format.c +extplacement_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) +gaimrc_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) +history_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) +iconaway_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) +notify_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) +spellchk_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) +timestamp_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) +timestamp_format_la_LDFLAGS = -module -avoid-version $(GTK_LIBS) + +endif # ENABLE_GTK + +plugin_LTLIBRARIES = \ + idle.la \ + psychic.la \ + relnot.la \ + statenotify.la \ + $(gtk_plugins) \ + $(DBUS_LTLIB) + +idle_la_SOURCES = idle.c +psychic_la_SOURCES = psychic.c +relnot_la_SOURCES = relnot.c +statenotify_la_SOURCES = statenotify.c + if ENABLE_DBUS CLEANFILES = dbus-example-bindings.c Deleted: trunk/plugins/ciphertest.c =================================================================== --- trunk/plugins/ciphertest.c 2006-08-19 01:29:53 UTC (rev 16858) +++ trunk/plugins/ciphertest.c 2006-08-19 01:31:21 UTC (rev 16859) @@ -1,287 +0,0 @@ -/* - * A plugin to test the ciphers that ship with gaim - * - * Copyright (C) 2004, Gary Kramlich <amc...@us...> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#ifndef GAIM_PLUGINS -#define GAIM_PLUGINS -#endif - -#include "internal.h" - -#include <glib.h> -#include <string.h> - -#include "cipher.h" -#include "debug.h" -#include "plugin.h" -#include "version.h" - -struct test { - const gchar *question; - const gchar *answer; -}; - -/************************************************************************** - * MD5 Stuff - **************************************************************************/ -struct test md5_tests[8] = { - { "", "d41d8cd98f00b204e9800998ecf8427e"}, - { "a", "0cc175b9c0f1b6a831c399e269772661"}, - { "abc", "900150983cd24fb0d6963f7d28e17f72"}, - { "message digest", "f96b697d7cb7938d525a2f31aaf161d0"}, - { "abcdefghijklmnopqrstuvwxyz", "c3fcd3d76192e4007dfb496cca67e13b"}, - { "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz" - "0123456789", "d174ab98d277d9f5a5611c2c9f419d9f"}, - {"123456789012345678901234567" - "890123456789012345678901234" - "56789012345678901234567890", "57edf4a22be3c955ac49da2e2107b67a"}, - { NULL, NULL } -}; - -static void -cipher_test_md5() { - GaimCipher *cipher; - GaimCipherContext *context; - gchar digest[33]; - gboolean ret; - gint i = 0; - - cipher = gaim_ciphers_find_cipher("md5"); - if(!cipher) { - gaim_debug_info("cipher-test", - "could not find md5 cipher, not testing\n"); - return; - } - - gaim_debug_info("cipher-test", "Running md5 tests\n"); - - context = gaim_cipher_context_new(cipher, NULL); - - while(md5_tests[i].answer) { - gaim_debug_info("cipher-test", "Test %02d:\n", i); - gaim_debug_info("cipher-test", "Testing '%s'\n", md5_tests[i].question); - - gaim_cipher_context_append(context, (guchar *)md5_tests[i].question, - strlen(md5_tests[i].question)); - - ret = gaim_cipher_context_digest_to_str(context, sizeof(digest), - digest, NULL); - - if(!ret) { - gaim_debug_info("cipher-test", "failed\n"); - } else { - gaim_debug_info("cipher-test", "\tGot: %s\n", digest); - gaim_debug_info("cipher-test", "\tWanted: %s\n", - md5_tests[i].answer); - } - - gaim_cipher_context_reset(context, NULL); - i++; - } - - gaim_cipher_context_destroy(context); - - gaim_debug_info("cipher-test", "md5 tests completed\n\n"); -} - -/************************************************************************** - * SHA-1 stuff - **************************************************************************/ -struct test sha1_tests[5] = { - {"a", "86f7e437faa5a7fce15d1ddcb9eaeaea377667b8"}, - {"abc", "a9993e364706816aba3e25717850c26c9cd0d89d"} , - {"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", "84983e441c3bd26ebaae4aa1f95129e5e54670f1"} , - {NULL, "34aa973cd4c4daa4f61eeb2bdbad27316534016f"}, - {NULL, NULL} -}; - -static void -cipher_test_sha1() { - GaimCipher *cipher; - GaimCipherContext *context; - gchar digest[41]; - gint i = 0; - gboolean ret; - - cipher = gaim_ciphers_find_cipher("sha1"); - if(!cipher) { - gaim_debug_info("cipher-test", - "could not find sha1 cipher, not testing\n"); - return; - } - - gaim_debug_info("cipher-test", "Running sha1 tests\n"); - - context = gaim_cipher_context_new(cipher, NULL); - - while(sha1_tests[i].answer) { - gaim_debug_info("cipher-test", "Test %02d:\n", i); - gaim_debug_info("cipher-test", "Testing '%s'\n", - (sha1_tests[i].question != NULL) ? - sha1_tests[i].question : "'a'x1000, 1000 times"); - - if(sha1_tests[i].question) { - gaim_cipher_context_append(context, (guchar *)sha1_tests[i].question, - strlen(sha1_tests[i].question)); - } else { - gint j; - guchar buff[1000]; - - memset(buff, 'a', 1000); - - for(j = 0; j < 1000; j++) - gaim_cipher_context_append(context, buff, 1000); - } - - ret = gaim_cipher_context_digest_to_str(context, sizeof(digest), - digest, NULL); - - if(!ret) { - gaim_debug_info("cipher-test", "failed\n"); - } else { - gaim_debug_info("cipher-test", "\tGot: %s\n", digest); - gaim_debug_info("cipher-test", "\tWanted: %s\n", - sha1_tests[i].answer); - } - - gaim_cipher_context_reset(context, NULL); - i++; - } - - gaim_cipher_context_destroy(context); - - gaim_debug_info("cipher-test", "sha1 tests completed\n\n"); -} - -static void -cipher_test_digest() -{ - const gchar *nonce = "dcd98b7102dd2f0e8b11d0f600bfb0c093"; - const gchar *client_nonce = "0a4f113b"; - const gchar *username = "Mufasa"; - const gchar *realm = "tes...@ho..."; - const gchar *password = "Circle Of Life"; - const gchar *algorithm = "md5"; - const gchar *nonce_count = "00000001"; - const gchar *method = "GET"; - const gchar *qop = "auth"; - const gchar *digest_uri = "/dir/index.html"; - const gchar *entity = NULL; - - gchar *session_key; - - gaim_debug_info("cipher-test", "Running HTTP Digest tests\n"); - - session_key = gaim_cipher_http_digest_calculate_session_key( - algorithm, username, realm, password, - nonce, client_nonce); - - if (session_key == NULL) - { - gaim_debug_info("cipher-test", - "gaim_cipher_http_digest_calculate_session_key failed.\n"); - } - else - { - gchar *response; - - gaim_debug_info("cipher-test", "\tsession_key: Got: %s\n", session_key); - gaim_debug_info("cipher-test", "\tsession_key: Wanted: %s\n", "939e7578ed9e3c518a452acee763bce9"); - - response = gaim_cipher_http_digest_calculate_response( - algorithm, method, digest_uri, qop, entity, - nonce, nonce_count, client_nonce, session_key); - - g_free(session_key); - - if (response == NULL) - { - gaim_debug_info("cipher-test", - "gaim_cipher_http_digest_calculate_session_key failed.\n"); - } - else - { - gaim_debug_info("cipher-test", "\tresponse: Got: %s\n", response); - gaim_debug_info("cipher-test", "\tresponse: Wanted: %s\n", "6629fae49393a05397450978507c4ef1"); - g_free(response); - } - } - - gaim_debug_info("cipher-test", "HTTP Digest tests completed\n\n"); -} - -/************************************************************************** - * Plugin stuff - **************************************************************************/ -static gboolean -plugin_load(GaimPlugin *plugin) { - cipher_test_md5(); - cipher_test_sha1(); - cipher_test_digest(); - - return TRUE; -} - -static gboolean -plugin_unload(GaimPlugin *plugin) { - return TRUE; -} - -static GaimPluginInfo info = -{ - GAIM_PLUGIN_MAGIC, - GAIM_MAJOR_VERSION, - GAIM_MINOR_VERSION, - GAIM_PLUGIN_STANDARD, /**< type */ - NULL, /**< ui_requirement */ - 0, /**< flags */ - NULL, /**< dependencies */ - GAIM_PRIORITY_DEFAULT, /**< priority */ - - "core-cipher-test", /**< id */ - N_("Cipher Test"), /**< name */ - VERSION, /**< version */ - /** summary */ - N_("Tests the ciphers that ship with gaim."), - /** description */ - N_("Tests the ciphers that ship with gaim."), - "Gary Kramlich <amc...@us...>", /**< author */ - GAIM_WEBSITE, /**< homepage */ - - plugin_load, /**< load */ - plugin_unload, /**< unload */ - NULL, /**< destroy */ - - NULL, /**< ui_info */ - NULL, /**< extra_info */ - NULL, - NULL -}; - -static void -init_plugin(GaimPlugin *plugin) { -} - -GAIM_INIT_PLUGIN(cipher_test, init_plugin, info) Deleted: trunk/plugins/codeinline.c =================================================================== --- trunk/plugins/codeinline.c 2006-08-19 01:29:53 UTC (rev 16858) +++ trunk/plugins/codeinline.c 2006-08-19 01:31:21 UTC (rev 16859) @@ -1,93 +0,0 @@ -/* - * gaim - * - * Gaim is the legal property of its developers, whose names are too numerous - * to list here. Please refer to the COPYRIGHT file distributed with this - * source distribution. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "internal.h" -#include "plugin.h" -#include "notify.h" -#include "util.h" -#include "version.h" -#include "gtkutils.h" -#include "gtkimhtml.h" - -GaimPlugin *plugin_handle = NULL; - -static gboolean outgoing_msg_cb(GaimAccount *account, const char *who, char **message, - GaimConversation *conv, GaimMessageFlags flags, gpointer null) -{ - char *m; - char **ms = g_strsplit(*message, "<u>", -1); - m = g_strjoinv("<font face=\"monospace\" color=\"#00b025\">", ms); - g_strfreev(ms); - - ms = g_strsplit(m, "</u>", -1); - g_free(m); - m = g_strjoinv("</font>", ms); - g_free(*message); - *message = m; - return FALSE; -} - -static gboolean -plugin_load(GaimPlugin *plugin) -{ - void *handle = gaim_conversations_get_handle(); - plugin_handle = plugin; - gaim_signal_connect(handle, "writing-im-msg", plugin, - GAIM_CALLBACK(outgoing_msg_cb), NULL); - - return TRUE; -} - - -static GaimPluginInfo info = -{ - GAIM_PLUGIN_MAGIC, - GAIM_MAJOR_VERSION, - GAIM_MINOR_VERSION, - GAIM_PLUGIN_STANDARD, - NULL, - 0, - NULL, - GAIM_PRIORITY_DEFAULT, - "codeinline", - "Code Inline", - "1.0", - "Formats text as code", - "Changes the formatting of any outgoing text such that " - "anything underlined will be received green and monospace.", - "Sean Egan <sea...@gm...>", - "http://gaim.sourceforge.net", - plugin_load, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL -}; - - static void - init_plugin(GaimPlugin *plugin) - { - } - -GAIM_INIT_PLUGIN(urlcatcher, init_plugin, info) Deleted: trunk/plugins/contact_priority.c =================================================================== --- trunk/plugins/contact_priority.c 2006-08-19 01:29:53 UTC (rev 16858) +++ trunk/plugins/contact_priority.c 2006-08-19 01:31:21 UTC (rev 16859) @@ -1,205 +0,0 @@ -/* - * Contact priority settings plugin. - * - * Copyright (C) 2003 Etan Reisner, <de...@us...>. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General ... [truncated message content] |
From: <ev...@us...> - 2006-08-19 01:35:58
|
Revision: 16861 Author: evands Date: 2006-08-18 18:35:50 -0700 (Fri, 18 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16861&view=rev Log Message: ----------- Last of my local tree's changes for the restructuring Modified Paths: -------------- trunk/gaim.pc.in Added Paths: ----------- trunk/doc/ChangeLog trunk/doc/ChangeLog.API trunk/doc/HOWTO Removed Paths: ------------- trunk/sounds/ Copied: trunk/doc/ChangeLog (from rev 16838, trunk/plugins/ChangeLog) =================================================================== --- trunk/doc/ChangeLog (rev 0) +++ trunk/doc/ChangeLog 2006-08-19 01:35:50 UTC (rev 16861) @@ -0,0 +1,161 @@ +version 0.11.0pre5: + The build process for plugins has changed slightly. Everything still + works more or less the same from a user point of view, that is, 'make + file.so' will still turn file.c into a plugin. The build now uses + libtool in an attempt to increase portability. By using libtool the + act of compiling and linking has been divided into two steps (to be + precise it always was two but we only called gcc once; now we call + libtool twice). PLUGIN_CFLAGS has also been added. Any -D switches you + were passing in PLUGIN_LIBS should be passed in PLUGIN_CFLAGS now. + +version 0.11.0pre1: + Gaim is now multi-connection based. This represents a significant + change. Most of the code was modified, though most of the modifications + were small (referencing an int as part of a struct as opposed to as a + global int). Plugins need to be modified to match the new function + declarations and such. + + Gaim now uses GModule from the GLib library for plugins. This brings + a few changes. gaim_plugin_init is now passed a GModule *, which it + should use for all of its callbacks. gaim_plugin_init now returns + char * instead of int instead of void. If gaim_plugin_init returns + NULL then gaim assumes everything was OK and proceeds. Otherwise, it + displays the error message and unloads your plugin. There is no more + gaim_plugin_error (at least, that gaim itself will use. You may wish + to simply return gaim_plugin_error() in gaim_plugin_init). + + Because gaim now uses GModule, plugins are opened with RTLD_GLOBAL. I + had previously wanted to avoid this, but there are simply too many + benefits gained from using GModule to reject it for this reason. This + means that plugins can now call each other's functions. Beware, this + has good and bad implications. If you call a function, it will look + first in your plugin, and then in gaim's global symbol table, including + other plugins. + + The new system allows for protocol plugins. New protocols (including + Yahoo, MSN, IRC, ICQ, etc) can be loaded dynamically. However, most + of these plugins are going to be controlled by the gaim maintainers. + If you have interest in writing a protocol plugin, please talk to one + of us before you start. + + That's about all that I'm going to talk about. My SN is EWarmenhoven + if you have any questions (like what the hell struct gaim_connection is + and what its relation to struct aim_user is). + +version 0.10.0: + Rather than have a separate CFLAGS and LDFLAGS for the plugins than + for gaim, and doing all kinds of crazy things to work around the + problems that creates, the plugins now have the same CFLAGS and LIBS. + The plugins also have PLUGIN_LIBS which can be passed at make time. + This makes things like #ifdef USE_APPLET and #ifdef USE_PERL much more + reliable. (#include "config.h" in order to get all the #defines) + + The internals of gaim plugin events got modified slightly. It should + have no effect on existing plugins or the way plugins are made. The + change was to make my life easier adding perl. It should also make + adding new plugin events even easier than before (though I doubt that + any more will ever be added). Also, events are printed to the debug + window. + + event_buddy_away was being triggered every blist_update for every away + buddy. This got fixed, but now when you sign on, event_buddy_away may + be called before event_buddy_signon. Not that it should matter much. + + Just after I finish saying that no more events will be added, I go and + add one. Go figure. Anyway, it's event_new_conversation. Enough people + asked me to add it, and I found it useful enough, that I finally did + add it. It gets passed a char *, the name of the person who the + conversation is with. This gets triggered when a new conversation + window is created, in case you couldn't figure it out on your own. + + event_blist_update wasn't being called if you weren't reporting idle + time or if you were idle. This got fixed. + +version 0.9.20: + It's 3 am the night before finals, it's obviously a good time to hack + gaim. + + This became quite long, and if you don't want to read it all, here's + the important stuff summed up: + - 9 new events (see SIGNALS file for more details) + - int gaim_plugin_init(void *) (no longer returns void, see error.c) + - void gaim_plugin_unload(void *) (to allow plugin to remove itself) + - can only load 1 instance of the same plugin + - PLUGIN_LIBS for extra libraries for plugin + + The first thing to note is that there are about 9 new events plugins + can attach to, most of them dealing with chat, since I know that was a + big thing that was missing. Please note that I was nice and decided to + tack these extra events onto the end of the enum, which means that + plugins do not have to be recompiled in order for them to still work. + + The big change is that gaim_plugin_init no longer returns void, but + int. If it returns 0+, gaim interprets this as there being no error, + and continues with loading as normal. (This should be backwards- + compatible: returning 0/1 is the equivalent of returning void.) If it + returns a number less than 0, there was an error loading detected by + the plugin. At that point, gaim will try to clean things up by removing + any callbacks that have been added by the plugin. It will then try to + call the plugin's gaim_plugin_error function, if there is one. The + function should take an int (the int returned by gaim_plugin_init) and + return a char*. If the char* is not NULL, it is displayed by gaim as an + error message. The plugin is then unloaded and closed and life goes + back to normal. If any of that was confusing, it was confusing to me, + too. I added a plugin, error.c, which should help clear things up. + + Another big thing to note is that plugins can unload themselves. A good + example of why this is useful is a ticker plugin. If the user closes + the ticker window, they obviously want the plugin to be unloaded. Gaim + has no way of knowing that; therefore, the plugin must tell gaim that + it is to be unloaded. To have a plugin unload itself, simply call + gaim_plugin_unload(void *) (the void* is the handle passed to + gaim_plugin_init). Because you are explicitly asking to be removed, + gaim assumes that you have done any cleanup already, and so does not + call gaim_plugin_remove. Rather, it simply removes your callbacks and + unloads the plugin. (There is some trickery to this. Think about it: + your plugin calls the function, your plugin is unloaded, and execution + returns to your plugin, which no longer exists. This would cause a + segfault if it behaved exactly as described. Instead, the plugin is + removed from the list of plugins, and removed 5 seconds later. By then + the plugin should be effectively gone, though still in memory.) + + In previous versions of gaim, you could load multiple copies of the + same plugin. This is no longer the case. The reason for this was that + there were not two instances of the plugin in memory; rather, one copy + and two structures representing the same plugin. Then, the callbacks + would be called twice (since the plugin would most likely act the same + across multiple instances), and when one was unloaded, all callbacks + for both instances would be removed. Rather than deal with two copies + of the same plugin, it is easier and cleaner to only handle one. + + Sometimes it's necessary to link a plugin with libraries other than the + ones needed for GTK. Before, it was necessary to modify the Makefile to + do so (which was usually messy since it's generated by GNU automake). + Now, you can simply set the environment variable PLUGIN_LIBS to be the + extra libraries you want to link in. For example, to link plugin.c with + the math library, you can run the command + PLUGIN_LIBS=-lm make plugin.so + To link with multiple plugins, make sure to indicate spaces, e.g. + PLUGIN_LIBS='-lm -lcrypt' make encrypt.so + + There is a new event, event_quit, which signifies that gaim has exited + correctly (i.e. didn't segfault). Also, after this event is called, all + plugins are removed, and their gaim_plugin_remove function is called. + This behavior is different from previous versions; however, it is the + proper way of doing things, and should have no effect on current + plugins. The reason event_quit exists despite plugins being removed at + quit is because a plugin can be removed without gaim quitting. They are + distinctly separate events. + + The new events mean that some versions of gaim have certain events, + others don't. The thing I find fascinating though is that even if a + plugin is compiled for a later version, it will still be backwards- + compatible, even if it makes use of the newer events. The reason why + is the names of the events are stored as integers, and those integers + will never match an event in a prior version. This means you don't + have to worry about which version the person is using, only which + version the person is compiling against. For simplicity's sake, please + assume people are compiling against the latest version. For + practicality's sake, VERSION is #define'd to be the version you're + compiling against, starting with 0.9.20. Prior versions do not have + this defined in the standard plugin Makefile. Property changes on: trunk/doc/ChangeLog ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Copied: trunk/doc/ChangeLog.API (from rev 16838, trunk/plugins/ChangeLog.API) =================================================================== --- trunk/doc/ChangeLog.API (rev 0) +++ trunk/doc/ChangeLog.API 2006-08-19 01:35:50 UTC (rev 16861) @@ -0,0 +1,612 @@ +Gaim: The Pimpin' Penguin IM Client that's good for the soul! + +version 2.0.0: + Changed: + * All the status stuff. Yay! + * gaim_prefs_connect_callback(), added handle parameter + * gtk_imhtml_toolbar now descends from GtkHBox making it easier to add your + own widgets to it + * gaim_find_conversation_with_account, added a "type" parameter + * gaim_gtk_prefs_labeled_spin_button, the "key" parameter is now a + const char* instead of just a char* + * gaim_gtk_prefs_labeled_entry, the "key" parameter is now a const char* + instead of just a char* + * the add_buddy perl sub. The sub now takes the account as the first + argument, and buddy and group as the second and third. It also adds + the buddy to the server-side buddy list of the given account. + * gaim_connection_new, gaim_account_connect and gaim_account_register no + longer return a GaimConnection + * keep_alive in GaimConnection is renamed to keepalive + * gaim_mkstemp, added a second argument, a boolean, of whether or not the + file is binary + * gaim_log_logger_new, rewritten + * gaim_conv_window_remove_conversation()'s last argument to be a + GaimConversation. + * A new blocked icon: pixmaps/status/default/blocked.png + * In pixmaps/status/default: extendedaway.png renamed to extended_away.png + * In pixmaps/status/default: na.png renamed to unavailable.png + * gtk_imhtml_toggle_bold(): No longer returns a value + * gtk_imhtml_toggle_italic(): No longer returns a value + * gtk_imhtml_toggle_underline(): No longer returns a value + * gtk_imhtml_toggle_strike(): No longer returns a value + * gtk_imhtml_scroll_to_end(): Added the smooth paramter + * gaim_log_new(), added conv parameter + * gaim_buddy_icon_new(), leaves a reference which the caller owns. Use + gaim_buddy_icon_unref() immediately if you don't want a reference (the + old behavior). + * GAIM_CONV_UNKNOWN to GAIM_CONV_TYPE_UNKNOWN. + * GAIM_CONV_IM to GAIM_CONV_TYPE_IM. + * GAIM_CONV_CHAT to GAIM_CONV_TYPE_CHAT. + * GAIM_CONV_MISC to GAIM_CONV_TYPE_MISC. + * GAIM_CONV_ANY to GAIM_CONV_TYPE_ANY. + * GaimConversationUiOps.write_conv, Replaced const char *who with + const char *name, const char *alias + * gaim_conv_chat_add_users(), added extra_msgs and new_arrivals (pass NULL + and FALSE respectively, to get the same behavior as before) + * chat_add_users in GaimConversationUiOps, added cbuddies and + new_arrivals and removed buddies. + * chat_rename_user in GaimConversationUiOps, added new_alias + * gaim_conv_chat_cb_new(), added alias. (pass NULL to get the same + behavior as before). + * GaimConversation.log became GList * GaimConversation.logs, so that a + conversation can have multiple logs at once + * gaim_conv_chat_add_user, added extra_msgs + * gaim_notify_userinfo, removed primary and secondary parameters + * GaimNotifyUiOps.notify_userinfo: removed title, primary, and + secondary parameters + * Idle timers are now added and removed in gtkidle.c in response + to the signed-on and signed-off signals + * GaimXfer->ops.read, GaimXfer->ops.write, gaim_xfer_set_read_fnc(), + gaim_xfer_set_write_fnc(), gaim_xfer_read(), gaim_xfer_write(): + Changed ssize_t to gssize + * serv_got_im, serv_got_chat_in, serv_send_im and serv_chat_send all use + GaimMessageFlags instead of GaimConvImFlags / GaimConvChatFlags + * All core<->prpl message passing now uses html. This was previously true + for receiving messages, it's now also true for sending them. prpls that + don't support html need to gaim_unescape_html() the message. + * Notify API: GCallback -> GaimNotifyCloseCallback, + void *user_data -> gpointer user_data + * gaim_notify_searchresults_get_rows_count, + gaim_notify_searchresults_get_columns_count: return type now guint + * gaim_account_notify_added: No longer checks if there is a + GaimBuddy for the added user, that's left up to the prpls. See the + documentation for this function and gaim_account_request_add. + * gaim_accounts_reorder: new_index is now a gint instead of a size_t + * displaying-message signals: displaying-[im|chat]-msg and + displayed-[im|chat]-msg signals are emitted for all messages + (ie, for received messages, sent messages, system messages, error + messages etc.), and the signals now have + gaim_gtk_conversations_get_handle() for their handle. + * GAIM_NOTIFY_BUTTON_ADD_BUDDY to GAIM_NOTIFY_BUTTON_ADD + * conversation-switched: This signal has been moved from conversation to + the UI and the signal-handlers only receive the + conversation that has been switched to. + * GaimPluginProtocolInfo: Added offline_message + * GaimPluginProtocolInfo: Added whiteboard_prpl_ops + * GaimPluginProtocolInfo: Added media_prpl_ops + * GaimPluginProtocolInfo: Added "str" argument to tooltip_text, changed + the return type to void + * GaimPluginProtocolInfo: Added "full" argument to tooltip_text + * gaim_pounce_new(): Added option argument for pounce options + * gaim_network_listen() and gaim_network_listen_range(): Added + socket_type parameter to allow creation of UDP listening. Modified + to be asynchronous with a Callback to allow for UPnP operation. + * GaimPrefCallback: val is now a gconstpointer instead of a gpointer + * gtk_imhtml_get_current_format(): the arguments are now set to TRUE or + FALSE. Previously they were set to TRUE or left alone. Also, you + may now pass NULL if you're not interested in a specific formatting. + * Smiley Themes: Backslashes must be backslash-escaped. + * Plugins: Depedencies are now honored when unloading plugins. + * gaim_markup_extract_info_field(): Added format_cb parameter. + * gaim_str_to_time(): Added support for parsing the MM/DD/YYYY format. + * gaim_plugin_action_new(): label is now const char * + * gaim_plugin_pref_new_with_name(): name is now const char * + * gaim_plugin_pref_new_with_label(): label is now const char * + * gaim_plugin_pref_new_with_name_and_label(): name and label are + now const char * + * gaim_plugin_pref_set_name(): name is now const char * + * gaim_plugin_pref_get_name(): return type is now const char * + * gaim_plugin_pref_set_label(): label is now const char * + * gaim_plugin_pref_get_label(): return type is now const char * + * gaim_plugin_pref_add_choice(): label is now const char * + * struct proto_chat_entry: label is now const char * + * struct proto_chat_entry: identifier is now const char * + * All network activity has been updated to use non-blocking sockets. + This means that plugins must be updated to expect such a socket from + gaim_proxy_connect() and gaim_network_listen*(). + * gaim_proxy_connect(): changed to return NULL on error and a pointer + to a GaimProxyConnectInfo object which can be used to cancel + connection attempts using gaim_proxy_connect_cancel(). + * gaim_gtk_create_imhtml(): Added sw_ret() parameter + * gaim_account_get_log(): Added create parameter + * GAIM_CMD_P_VERYHIGH is now GAIM_CMD_P_VERY_HIGH + + Removed: + * gaim_gtk_sound_{get,set}_mute() (replaced by the /gaim/gtk/sound/mute + preference) + * gaim_escape_html(const char *html) (use g_markup_escape_text(html, -1) + instead) + * gaim_accounts_sync, account changes are now scheduled to be saved + automatically + * gaim_connection_connect + * gaim_connection_disconnect + * gaim_connection_register + * gaim_accounts_auto_login + * gaim_find_conversation, use gaim_find_conversation_with_account instead + * serv_login + * serv_close + * serv_finish_login + * gaim_chat_get_display_name + * gaim_conversation_set_history, gaim_conversation_get_history, and + GaimConversation->history. Use gtk_imhtml_get_markup instead. + * serv_rename_group + * set_gaim_user_dir to gaim_util_set_user_dir + * create_prpl_icon to gaim_gtk_create_prpl_icon + * Window flashing support in the core: gaim_conv_window_flash, and flash UI + operation for conversations. Use signal "received-im-msg" or similar. + * All warning stuff from the core. + * gaim_gtkconv_get_dest_tab_at_xy(), instead use gaim_gtkconv_get_tab_at_xy() + * chat_add_user from GaimConversationUiOps: only chat_add_users is used + * chat_remove_user from GaimConversationUiOps: only chat_remove_users is used + * uc from the GaimBuddy struct + * gaim_sound_get_handle() + * gaim_debug_vargs() + * serv_add_buddy(); use gaim_account_add_buddy() instead + * serv_add_buddies(); use gaim_account_add_buddies() instead + * serv_remove_buddy(); use gaim_account_remove_buddy() instead + * serv_remove_buddies(); use gaim_account_remove_buddies() instead + * serv_change_passwd(); use gaim_account_change_password() instead + * serv_touch_idle(): use gaim_gtk_check_idle() instead + * GaimGtkImPane->a_virgin + * gaim_str_strip_cr(); use gaim_str_strip_char(str, '\r') instead + * gaim_find_buddys_group renamed to gaim_buddy_get_group + * gaim_gtkpounce_menu_build() + * gaim_gtkpounce_dialog_show() + * GaimGtkBuddyList->bpmenu + * GaimConvImFlags and GaimConvChatFlags; use GaimMessageFlags instead + * cb and user_data from the ops in GaimNotifyUiOps: This is now handled + by the notify API in the core. + * GaimConversationUiOps.updated: use the conversation-updated signal + * GAIM_SUBTYPE_CONV_WINDOW: windows are now only represented in the UI, + so GAIM_TYPE_BOXED is used for the signal types + * gaim_gtk_privacy_is_showable(): We do fallback privacy in the core + now, so this would always be TRUE now. + * GaimBlistNodeAction: See GaimMenuAction + * gaim_blist_node_action_new(); use gaim_menu_action_new() instead + * gaim_date() + * gaim_date_full(): See gaim_date_format_full() + * gaim_strftime(): See gaim_utf8_strftime() + * GAIM_MESSAGE_COLORIZE + * user_data from gaim_notify_searchresults_new_rows and from + notify_searchresults in GaimNotifyUiOps. + * gaim_conversation_get_send_history(), and send_history from + GaimConversation + * Removed ui_ops from GaimBuddyList. Use gaim_blist_get_ui_ops() instead + + Added: + * gaim_prefs_disconnect_by_handle() + * a password field to GaimConnection, which only persists for the + session (when "remember password" is false, account->password is + NEVER set) Use gaim_connection_get_password(GaimConnection *gc) + * gaim_log_common_writer, gaim_log_common_lister, gaim_log_common_sizer, + and gaim_log_get_log_dir to allow log formats that use standard Gaim + log directory to use Gaim's built-in code for these purposes. + * GaimLogCommonLoggerData struct for a basic logger_data struct to be + used with "common" logger functions. + * gaim_gtk_blist_node_is_contact_expanded, returns TRUE if the given + blist node is a buddy inside an expanded contact, or is itself an + expanded contact + * GaimLogSet struct, get_log_sets function to GaimLogLogger, + gaim_log_get_log_sets, gaim_log_set_compare + * gaim_privacy_check(), to check if a given user is allowed to send + messages to the specified account + * gtk_imhtml_clear_formatting() + * gtk_imhtml_delete to clear out part of a imhtml buffer + * gtk_imhtml_get_protocol_name() + * gaim_buddy_icons_get_full_path(), to get the full path of a buddy + icon setting + * CHAT_USERS_ALIAS_COLUMN, CHAT_USERS_COLOR_COLUMN, + CHAT_USERS_BUDDY_COLUMN to the list of columns for the chat + user list + * gaim_account_add_buddy() + * gaim_account_add_buddies() + * gaim_account_remove_buddy() + * gaim_account_remove_buddies() + * gaim_account_change_password() + * gaim_account_supports_offline_message() + * gaim_conversation_close_logs(), to force a conversation's log(s) to + be closed. New logs will be opened as necessary. + * gaim_plugin_get_id() + * gaim_plugin_get_name() + * gaim_plugin_get_version() + * gaim_plugin_get_summary() + * gaim_plugin_get_description() + * gaim_plugin_get_author() + * gaim_plugin_get_homepage() + * gaim_gtkconv_switch_active_conversation(GaimConversation *) + * gaim_str_strip_char() to strip a given character from + a given string + * gaim_util_chrreplace() to replace a given character with a + different character + * gaim_gtk_blist_toggle_visibility() to intelligently toggle the + visiblity of the buddy list + * gaim_gtk_blist_visibility_manager_add() to indicate the addition of a + visibility manager - see the docs for more information + * gaim_gtk_blist_visibility_manager_remove() to indicate the removal of + a visibility manager - see the docs for more information + * gaim_gtk_conversations_find_unseen_list() to get a list of conversations + with an "unseen" state >= to the specified state and other criteria + * gaim_gtk_conversations_fill_menu() fill a menu from list of conversations + * gaim_gtk_create_prpl_icon() + * gaim_gtk_create_prpl_icon_with_status() + * gaim_gtk_pounces_manager_show() + * gaim_gtk_pounces_manager_hide() + * gaim_gtk_pounce_editor_show() + * GAIM_POUNCE_MESSAGE_RECEIVED + * GaimPounceOption + * gaim_pounce_set_options() + * gaim_pounce_set_options() + * GAIM_STOCK_CONNECT, GAIM_STOCK_DISCONNECT + * GAIM_STOCK_PLUGIN + * gaim_account_request_add: Notifies the user that they were added to + someone's buddy list, and offers them the choice + of adding that person to their buddy list. + * gaim_blist_alias_contact() + * gaim_cipher_http_digest_calculate_session_key() + * gaim_cipher_http_digest_calculate_response() + * gaim_notify_searchresults_labeled() + * GAIM_NOTIFY_BUTTON_LABELED, GAIM_NOTIFY_BUTTON_INFO, + GAIM_NOTIFY_BUTTON_IM, GAIM_NOTIFY_BUTTON_JOIN, + GAIM_NOTIFY_BUTTON_INVITE + * stock buttons GAIM_STOCK_IM, GAIM_STOCK_INFO + * gaim_conversation_present() + * GaimConversationUiOps->present(GaimConversation *) + * GaimPlugin.unloadable + * gaim_plugin_is_unloadable() + * GAIM_PLUGIN_PREF_STRING_FORMAT + * gaim_plugin_pref_get_format_type() + * gaim_plugin_pref_set_format_type() + * GaimStringFormatType + * gaim_log_get_handle() + * gaim_log_uninit() + * GAIM_SUBTYPE_LOG + * gaim_marshal_POINTER__POINTER_POINTER + * gaim_utf8_ncr_encode() + * gaim_gtk_log_init() + * gaim_gtk_log_get_handle() + * gaim_gtk_log_uninit() + * gaim_url_fetch_request() + * GaimMenuAction + * gaim_menu_action_new() + * gaim_menu_action_free() + * GaimInfoFieldFormatCallback + * gaim_utf8_strftime() + * gaim_date_format_short() + * gaim_date_format_long() + * gaim_date_format_full() + * gaim_time_format() + * gaim_plugin_action_free() + * GaimRequestType: Added GAIM_REQUEST_FOLDER + * GaimRequestUiOps: Added request_folder + * gaim_request_folder() + * gaim_gtk_setup_screenname_autocomplete() + * gaim_gtk_set_cursor() + * gaim_gtk_clear_cursor() + * GAIM_MESSAGE_ACTIVE_ONLY + * gaim_proxy_get_setup() + * GaimNotifySearchResultsCallback: Added user_data. + * gaim_notify_searchresults: Added user_data. + + Signals - Changed: (See the Doxygen docs for details on all signals.) + * Signal propagation now stops after a handler returns a non-NULL value. + This value is now returned. Previously, all registered handlers were + called and the value from the last handler was used. + * "buddy-typing" and "buddy-typing-stopped": replaced the GaimConversation* + with GaimAccount*, const char *name. Also, the signal is now emitted + regardless of whether a conversation exists and regardless of whether + the user is on the buddy list. + * "chat-buddy-joined": added the new_arrival argument + * "chat-invited" handlers can now return a value to control what happens + to the invite (accept, reject, prompt the user). + * "chat-left": Emitted *after* setting chat->left to TRUE. + * "drawing-tooltip": the second argument is now a GString* instead of + a char** + * "drawing-tooltip": added the "full" argument + * "received-im-msg" and "received-chat-msg" to match, both now pass a + conversation pointer and flags + * "receiving-im-msg" and "receving-chat-msg" to match, both now pass a + conversation pointer and a pointer to the flags. + * "writing-im-msg", "wrote-im-msg", "writing-chat-msg", "wrote-chat-msg": + Now emitted from a difference place in the message handling code. + The arguments also changed. + * "displaying-im-msg", "displayed-im-msg", "displaying-chat-msg", + "displayed-chat-msg": Added "who" argument, which changes the order + of the existing arguments. + + Signals - Added: (See the Doxygen docs for details on all signals.) + * "account-disabled" + * "account-status-changed" + * "account-alias-changed" + * "cipher-added" + * "cipher-removed" + * "conversation-dragging" + * "dbus-method-called" + * "dbus-introspect" + * "file-recv-accept" + * "file-recv-start" + * "file-recv-cancel" + * "file-recv-complete" + * "file-recv-request" + * "file-send-accept" + * "file-send-start" + * "file-send-cancel" + * "file-send-complete" + * "buddy-added" + * "buddy-removed" + * "blist-node-aliased" + * "buddy-status-changed" + * "buddy-idle-changed": A buddy's idle status changed. + * "buddy-icon-changed" + * "displaying-userinfo" + * "gtkblist-hiding" + * "gtkblist-unhiding" + * "log-displaying" + * "savedstatus-changed" + + Signals - Removed: + * "account-away": replaced by account-status-changed + * "account-warned" + * "buddy-away": replaced by buddy-status-changed + * "buddy-back": replaced by buddy-status-changed + * "buddy-idle": replaced by buddy-idle-changed + * "buddy-unidle": replaced by buddy-idle-changed + * "buddy-icon-cached": replaced by buddy-icon-changed + * "conversation-drag-end": replaced by conversation-dragging + * "conversation-switching" + +version 1.5.0 (8/11/2005): + * Added: gaim_xfer_conversation_write + Writes a messages to a conversation window with the use + of the associated file transfer. + +version 1.4.0 (7/7/2005): + * Added: gaim_buddy_icon_uncache() + Deletes a cached buddy icon for a specified buddy + * Added: gaim_buddy_icon_get_type + Attempts to determine the type of a given buddy icon. + * Added: buddy-icon-cached signal + Emitted when a new buddy icon is cached. + +version 1.3.1 (6/9/2005): + * No changes + +version 1.3.0 (5/10/2005): + * Added: gaim_blist_schedule_save() + This should be used instead of gaim_blist_sync when you + want the blist.xml file to be written to disk. There + should not be many occasions when you want to do this, + as the functions in the blist API that modify the buddy + list will normally call it for you. + * Added: OPT_PROTO_NO_NORMALIZE_CONV + Tells the conversation API to not normalize screen names + in conversations. This is used by the Jabber PRPL. + +version 1.2.1 (4/3/2005): + * No changes + +version 1.2.0 (3/17/2005): + * You can use gaim_signal_connect_priority() and + gaim_signal_connect_priority_vargs() to connect to + Gaim signals with a given priority (Will Gorman) + * Added: gaim_conversation_set_features + gaim_conversation_get_features + These allow plugins (notable prpls) to change the + formatting capabilities of an existing conversation. + This comes with a new "features" field in + GaimConversation (Christopher O'Brien) + * Added: GAIM_CONNECTION_NO_IMAGES to GaimConectionFlags + (Christopher O'Brien) + * Added: GAIM_CBFLAGS_TYPING to GaimConvChatBuddyFlags + (Christopher O'Brien) + * Added: gaim_account_request_add which takes the same arguments as + * gaim_account_notify_added but always asks the user if they want to add + * the buddy to the buddy list + * Added: An accompanying request_add GaimAccountUiOp + +version 1.1.4 (2/24/2005): + * No changes + +version 1.1.3 (2/17/2005): + * No changes + +version 1.1.2 (1/20/2005): + * No changes + +version 1.1.1 (12/28/2004): + * No changes + +version 1.1.0 (12/02/2004): + * Added: gaim_utf8_salvage + * Added: binary relocation support in prefix.h + WARNING: If your plugin uses anything inside the + #ifdef ENABLE_BINRELOC from prefix.h, it won't be + loadable on a copy of Gaim compiled without binreloc + support. In particular, watch out for the autoconf-like + macros, and accidently including them through internal.h, + which you probably shouldn't be including anyway. + +version 1.0.0 (09/17/2004): + * Added: get_chat_name to the GaimPluginProtocolInfo struct + * Changed: gaim_blist_update_buddy_presence(), presence changed to + type gboolean + * Changed: the versioning scheme, and all the plugin structs + +version 0.82 (08/26/2004): + Gaim API: + * Removed: gaim_gtk_get_dispstyle(), gaim_gtk_change_text() + * Removed: multi.h + * Renamed: ui.h to gtkdialogs.h + * Renamed: gtkinternal.h to gtkgaim.h + * Renamed: show_info_dialog to gaim_gtkdialogs_info + * Renamed: show_log_dialog to gaim_gtkdialogs_log + * Renamed: show_warn_dialog to gaim_gtkdialogs_warn + * Renamed: show_im_dialog to gaim_gtkdialogs_im + * Renamed: gaim_gtkdialogs_new_im to gaim_gtkdialogs_im_with_user + * Renamed: destroy_all_dialogs to gaim_gtkdialogs_destroy_all + * Renamed: alias_dialog_bud to gaim_gtkdialogs_alias_buddy + * Renamed: alias_dialog_contact to gaim_gtkdialogs_alias_contact + * Renamed: alias_dialog_blist_chat to gaim_gtkdialogs_alias_chat + * Renamed: show_confirm_del to gaim_gtkdialogs_remove_buddy + * Renamed: show_confirm_del_group to gaim_gtkdialogs_remove_group + * Renamed: show_confirm_del_blist_chat to gaim_gtkdialogs_remove_chat + * Renamed: show_confirm_del_contact to gaim_gtkdialogs_remove_contact + * Renamed: show_about to gaim_gtkdialogs_about + * Added: gaim_notify_userinfo() and the associated notify_userinfo() UI op + (someone who knows just why we have this can edit here) + + Buddy List API: + * Changed: gaim_blist_request_add_chat(), added name parameter + * Added: gaim_contact_on_account() + * Added: flags parameter to the GaimBlistNode struct + + Conversation API: + * Added: gaim_gtkconv_button_new() + + Protocol Plugin API: v7 + * Added: chat_info_defaults to the GaimPluginProtocolInfo struct + + Signals: + * Added: conversation-updated for any update to the data associated + with the conversation (topic, icon, adding to buddy list, etc.) + + Conversation API: + * Changed: gaim_conv_chat_add_user() (added new_arrival parameter) + +version 0.81 (08/05/2004): + Commands API: + * Most functions now have a void *data argument. + + Blist API: + * Added: gaim_buddy_get_contact_alias + * Renamed: gaim_get_buddy_alias to gaim_buddy_get_alias + * Renamed: gaim_get_buddy_alias_only to gaim_buddy_get_alias_only + + Conversation API: + * Changed: gaim_conv_chat_add_user(), added flags parameter + * Changed: gaim_conv_chat_add_users(), added GList of flags parameter + * Changed: gaim_conv_chat_get_users(), now returns a GList of + GaimConvChatBuddy's + * Changed: gaim_conv_chat_set_users() now expects a GList of + GaimConvChatBuddy's + * Added: gaim_conv_chat_set_user_flags() + * Added: gaim_conv_chat_get_user_flags() + * Added: gaim_conv_chat_find_user() + * Added: gaim_conv_chat_cb_new() + * Added: gaim_conv_chat_cb_find() + * Added: gaim_conv_chat_cb_destroy() + * Added: gaim_conv_chat_cb_get_name() + + Conversation UI ops: + * Added: chat_update_user() + + Signals: + * Changed: chat-buddy-joining & chat-buddy-joined now include the user's flags + * Changed: chat-buddy-joining & chat-buddy-leaving are now booleans, return + TRUE if you don't want the join/leave to be displayed in the UI. + * Added: chat-buddy-flags for when user's flags change + gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT (required for the new + chat-buddy-flags signal) + * Added: account-modified for when account settings have been changed. + +version 0.80 (07/15/2004): + Gaim API: + * Removed: PRPL numbers : gaim_account_set_protocol(), + gaim_account_get_protocol(), gaim_accounts_find_with_prpl_num, + gaim_prpl_num_to_id(), gaim_prpl_id_to_num(), GaimProtocol + + Protocol Plugin API: v6 + * Added: can_receive_file & send_file to the GaimPluginProtocolInfo struct + + Signals: + * Changed "chat-invited" to also include the components hash table so + plugins can use serv_join_chat when the signal is emitted. + * Added "chat-topic-changed" signal plugins know when a topic is changed. + +version 0.79 (06/24/2004): + Gaim API: + * gaim_url_parse() now takes two additional parameters, which are used + for returning the username and password from the URL, if they exist. + * Added: has_focus UI op to GaimConversationUiOps and + GaimConvWindowUiOps. + * Added: gaim_conversation_has_focus() and gaim_conv_window_has_focus(). + * Removed: gaim_blist_save() + + Protocol Plugin API: v5 + * Changed: add_buddy, add_buddies, remove_buddy, remove_buddies, + rename_group and remove_group to take GaimBuddy's and + GaimGroup's consistently. + * Removed: OPT_PROTO_BUDDY_ICON (replaced by icon_spec) + * Added: icon_spec to the GaimPluginProtocolInfo struct + +version 0.78 (05/30/2004): + Plugin API: v4 + * Added: actions - for plugins to add to the new Plugin Actions menu + + Loader Plugin API: v2 (no changes) + + Protocol Plugin API: v4 + * Removed: set_dir, get_dir and dir_search (not used, AIM-centric) + * Removed: actions (replaced by generic plugin actions) + + Perl Plugin API: v2 (no changes) + TCL Plugin API: (no changes) + + Signals: + * Added: "blist-node-extended-menu" for extending Buddy, Chat and + Group right-click menus + * Added: "drawing-tooltip" for plugins to allow plugins to change text + appearing in tooltips + * Added: "gtkblist-created" + * Added: "receiving-im-msg" and "receiving-chat-msg" (these behave + exactly like received-*-msg used to) + * Added: "buddy-idle-updated" signal, for when the idle time changes. + * Changed: "received-im-msg" and "received-chat-msg" no longer pass + pointers to who, message and flags, and are now void. + * Removed: "drawing-menu" - it was UI sepecific and + "blist-node-extended-menu" is superior + +version 0.77 (04/22/2004): + Loader & Protocol Plugins independantly versioned + Plugin loading now checks versioning on plugins (Standard, Loader & + Protocol) + new GAIM_{PLUGIN,PRPL,LOADER}_API_VERSION constants + + Plugin API: v3 + * Added: prefs_info for UI independant plugin prefs + + Loader Plugin API: v2 + * Added: api_version at top of GaimPluginLoaderInfo struct + + Protocol Plugin API: v2 + * Added: api_version at top of GaimPluginProtocolInfo struct + * Added: chat_menu for protocol specific extensions to the chat menu + * Removed: get_away "Nada used it. Pink elephants on parade." + * Removed: protocol_prefs (replaced by generic plugin prefs_info) + + Perl Plugin API: v2 (no changes) + TCL API: (no changes) + + Signals: + * Added: "conversation-drag-ended" + +version 0.76 (04/01/2004): + Plugin API: v2 + Perl Plugin API: v2 + Loader Plugin API: (not versioned) + Protocol Plugin API: (not versioned) + * Added: protocol_prefs for protocol specific preferences + * Added: reject_chat so protocols can act on chat invite rejection + + TCL Plugin API: (not versioned) + * Changes to plugin registration to show descriptions + Property changes on: trunk/doc/ChangeLog.API ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Copied: trunk/doc/HOWTO (from rev 16838, trunk/plugins/HOWTO) =================================================================== --- trunk/doc/HOWTO (rev 0) +++ trunk/doc/HOWTO 2006-08-19 01:35:50 UTC (rev 16861) @@ -0,0 +1,83 @@ +Everything in this file should be considered old and potentially out of +date. For more reliable information, install doxygen and graphiz dot, +then run +make docs +in the gaim source tree. This will produce html docs in gaim/docs/html +that will provide an api reference and in the related pages section, +information on perl and c plugins. + + +Ok, this howto is going to be really short and sweet and to the point. + +First off, before you do anything else, in all of the files for your plugin, +put the lines + +#define GAIM_PLUGINS +#include "gaim.h" + +I mean this. Without this, all kinds of things will not work correctly. If you +really want to know exactly what this does, read ../src/gaim.h and learn. But +if you don't want to do that, just know that it's important. + +Now that you've put that there, make sure gaim.h is in your include path. + +Ok, now you're ready to write the plugin. + +The only function that is required is gaim_plugin_init(GModule *). This gets +called as soon as it gets loaded (sort of - man dlopen for more details). If +your function never returns, it will crash gaim! If your plugin uses up all +the memory in the system, it will crash gaim! Once your plugin gets loaded, +it effectively becomes a part of gaim, and anything that goes wrong will look +like it is a problem with gaim itself. I write bugfree code! :) Therefore, it +is your problem, not mine. (I'm usually nice and willing to help you with your +problems though.) + +The GModule* that gets passed to gaim_plugin_init is the handle for the plugin. +DO NOT CHANGE THIS POINTER! Bad things will happen. You've been warned. It's +needed for connecting to signals and things. It's a good idea to remember it +somehow. + +gaim_plugin_init should return a char*. If the char* returned is not NULL, it +is interpreted as an error, and used as an error message. See the ChangeLog +file in this directory for more details. + +You can basically do anything you want in the plugin. You can make function +calls, change public widgets, display new widgets, things like that. But the +really neat thing is you can do things at events. For example, when one of +your buddies signs on, you can instantly send them a message. You can modify +the incoming and outgoing text. You can do all kinds of crazy things. Whatever +you want. Check out SIGNALS for more information. + +Plugins can share globals with gaim, but will not share with other plugins. +This is so if you have a global variable GtkWidget *window in your plugin and +J. Random Hacker also has the same name on a global variable, you won't be +constantly overwriting each others' variables. Unfortunately, this also means +that plugins will have difficulty working together. But then again, that's +what shared memory is for. + +Plugins can be configured. This makes it so they don't have to be recompiled +in order to change things internal to them, and it's also just a cool feature +to have :). It's optional; to allow your plugin to be configured, add a +function called gaim_plugin_config(). The advised course of action is to have +it pop up a dialog window; but it's your plugin. + +When your plugin gets unloaded, gaim will try to call gaim_plugin_remove(). It +doesn't have to be there, but it's nice if, say, you create a window, and when +the plugin gets unloaded, it removes the window. Also, all the callbacks you +have attached to gaim signals will be removed. + +Plugins can also unload themselves. To do this, call gaim_plugin_unload(GModule *) +(the GModule* is the handle passed to gaim_plugin_init). When your plugin gets +unloaded, gaim will remove all of your callbacks. It will not call your +gaim_plugin_remove function, however, since it will assume you have already +done the necessary cleanup. + +Compilation of the plugins is fairly straight-forward; there is a Makefile in +this directory that has a rule for making the .so file from a .c file. No +modification of the Makefile should be necessary, unless if you simply want +to type 'make' to have it made; otherwise, 'make filename.so' will take +filename.c and make the .so plugin from it. If you need to link in with extra +libraries, you can set the environment variable PLUGIN_LIBS to be the libraries +you want to link with. + +There are a few examples in this directory. Enjoy. Property changes on: trunk/doc/HOWTO ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Modified: trunk/gaim.pc.in =================================================================== --- trunk/gaim.pc.in 2006-08-19 01:34:52 UTC (rev 16860) +++ trunk/gaim.pc.in 2006-08-19 01:35:50 UTC (rev 16861) @@ -10,4 +10,4 @@ Version: @VERSION@ Requires: glib-2.0 Cflags: -I${includedir}/gaim - +Libs: -L${libdir} -lgaim This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ev...@us...> - 2006-08-19 01:50:27
|
Revision: 16863 Author: evands Date: 2006-08-18 18:50:10 -0700 (Fri, 18 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16863&view=rev Log Message: ----------- Renamed 'core' to 'libgaim' Modified Paths: -------------- trunk/Makefile.am trunk/configure.ac trunk/console/Makefile.am trunk/gtk/Makefile.am trunk/gtk/plugins/Makefile.am trunk/gtk/plugins/crazychat/Makefile.am trunk/gtk/plugins/docklet/Makefile.am trunk/gtk/plugins/gestures/Makefile.am trunk/gtk/plugins/gevolution/Makefile.am trunk/gtk/plugins/musicmessaging/Makefile.am trunk/gtk/plugins/ticker/Makefile.am trunk/libgaim/plugins/Makefile.am trunk/libgaim/plugins/mono/loader/Makefile.am trunk/libgaim/plugins/perl/Makefile.am trunk/libgaim/plugins/ssl/Makefile.am trunk/libgaim/plugins/tcl/Makefile.am trunk/libgaim/protocols/bonjour/Makefile.am trunk/libgaim/protocols/gg/Makefile.am trunk/libgaim/protocols/irc/Makefile.am trunk/libgaim/protocols/jabber/Makefile.am trunk/libgaim/protocols/msn/Makefile.am trunk/libgaim/protocols/novell/Makefile.am trunk/libgaim/protocols/oscar/Makefile.am trunk/libgaim/protocols/qq/Makefile.am trunk/libgaim/protocols/sametime/Makefile.am trunk/libgaim/protocols/silc/Makefile.am trunk/libgaim/protocols/simple/Makefile.am trunk/libgaim/protocols/toc/Makefile.am trunk/libgaim/protocols/yahoo/Makefile.am trunk/libgaim/protocols/zephyr/Makefile.am Added Paths: ----------- trunk/libgaim/ Removed Paths: ------------- trunk/core/ trunk/src/ Modified: trunk/Makefile.am =================================================================== --- trunk/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -56,7 +56,7 @@ GNT_DIR=console endif -SUBDIRS = core doc $(GNT_DIR) $(GTK_DIR) m4macros po +SUBDIRS = libgaim doc $(GNT_DIR) $(GTK_DIR) m4macros po docs: Doxyfile if HAVE_DOXYGEN Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/configure.ac 2006-08-19 01:50:10 UTC (rev 16863) @@ -1821,30 +1821,30 @@ gtk/plugins/musicmessaging/Makefile gtk/sounds/Makefile gtk/plugins/ticker/Makefile - core/plugins/Makefile - core/plugins/mono/Makefile - core/plugins/mono/api/Makefile - core/plugins/mono/loader/Makefile - core/plugins/perl/Makefile - core/plugins/perl/common/Makefile.PL - core/plugins/ssl/Makefile - core/plugins/tcl/Makefile - core/Makefile - core/protocols/Makefile - core/protocols/bonjour/Makefile - core/protocols/gg/Makefile - core/protocols/irc/Makefile - core/protocols/jabber/Makefile - core/protocols/msn/Makefile - core/protocols/novell/Makefile - core/protocols/oscar/Makefile - core/protocols/qq/Makefile - core/protocols/sametime/Makefile - core/protocols/silc/Makefile - core/protocols/simple/Makefile - core/protocols/toc/Makefile - core/protocols/yahoo/Makefile - core/protocols/zephyr/Makefile + libgaim/plugins/Makefile + libgaim/plugins/mono/Makefile + libgaim/plugins/mono/api/Makefile + libgaim/plugins/mono/loader/Makefile + libgaim/plugins/perl/Makefile + libgaim/plugins/perl/common/Makefile.PL + libgaim/plugins/ssl/Makefile + libgaim/plugins/tcl/Makefile + libgaim/Makefile + libgaim/protocols/Makefile + libgaim/protocols/bonjour/Makefile + libgaim/protocols/gg/Makefile + libgaim/protocols/irc/Makefile + libgaim/protocols/jabber/Makefile + libgaim/protocols/msn/Makefile + libgaim/protocols/novell/Makefile + libgaim/protocols/oscar/Makefile + libgaim/protocols/qq/Makefile + libgaim/protocols/sametime/Makefile + libgaim/protocols/silc/Makefile + libgaim/protocols/simple/Makefile + libgaim/protocols/toc/Makefile + libgaim/protocols/yahoo/Makefile + libgaim/protocols/zephyr/Makefile console/Makefile console/plugins/Makefile po/Makefile.in Modified: trunk/console/Makefile.am =================================================================== --- trunk/console/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/console/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -47,7 +47,7 @@ $(GLIB_LIBS) \ $(LIBXML_LIBS) \ -L./libgnt/ -lgnt \ - -L$(top_srcdir)/core -lgaim + -L$(top_srcdir)/libgaim -lgaim AM_CPPFLAGS = \ -DSTANDALONE \ @@ -56,7 +56,7 @@ -DLIBDIR=\"$(libdir)/gaim/\" \ -DLOCALEDIR=\"$(datadir)/locale\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ - -I$(top_srcdir)/core/ \ + -I$(top_srcdir)/libgaim/ \ -I ./libgnt/ \ $(GSTREAMER_CFLAGS) \ $(DEBUG_CFLAGS) \ Modified: trunk/gtk/Makefile.am =================================================================== --- trunk/gtk/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -163,7 +163,7 @@ $(STARTUP_NOTIFICATION_LIBS) \ $(LIBXML_LIBS) \ $(GTK_LIBS) \ - -L$(top_srcdir)/core -lgaim + -L$(top_srcdir)/libgaim -lgaim AM_CPPFLAGS = \ -DBR_PTHREADS=0 \ @@ -171,7 +171,7 @@ -DLIBDIR=\"$(libdir)/gaim/\" \ -DLOCALEDIR=\"$(datadir)/locale\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ - -I$(top_srcdir)/core/ \ + -I$(top_srcdir)/libgaim/ \ $(GSTREAMER_CFLAGS) \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \ Modified: trunk/gtk/plugins/Makefile.am =================================================================== --- trunk/gtk/plugins/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/plugins/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -67,7 +67,7 @@ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ -I$(top_builddir)/src \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \ Modified: trunk/gtk/plugins/crazychat/Makefile.am =================================================================== --- trunk/gtk/plugins/crazychat/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/plugins/crazychat/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -32,7 +32,7 @@ #-I$(top_srcdir)/include AM_CPPFLAGS = -DGAIM_PLUGINS \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ $(GTK_CFLAGS) \ $(GTKGLEXT_CFLAGS) \ Modified: trunk/gtk/plugins/docklet/Makefile.am =================================================================== --- trunk/gtk/plugins/docklet/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/plugins/docklet/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -24,7 +24,7 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ $(DEBUG_CFLAGS) \ $(X_CFLAGS) \ Modified: trunk/gtk/plugins/gestures/Makefile.am =================================================================== --- trunk/gtk/plugins/gestures/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/plugins/gestures/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -18,7 +18,7 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) Modified: trunk/gtk/plugins/gevolution/Makefile.am =================================================================== --- trunk/gtk/plugins/gevolution/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/plugins/gevolution/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -25,7 +25,7 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ $(EVOLUTION_ADDRESSBOOK_CFLAGS) \ $(DEBUG_CFLAGS) \ Modified: trunk/gtk/plugins/musicmessaging/Makefile.am =================================================================== --- trunk/gtk/plugins/musicmessaging/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/plugins/musicmessaging/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -22,14 +22,14 @@ .PHONY: always -$(top_builddir)/core/dbus-types.h: always +$(top_builddir)/libgaim/dbus-types.h: always cd $(@D) && $(MAKE) $(AM_MAKEFLAGS) $(@F) -music-messaging-bindings.c: $(top_srcdir)/core/dbus-analyze-functions.py $(musicmessaging_la_SOURCES) +music-messaging-bindings.c: $(top_srcdir)/libgaim/dbus-analyze-functions.py $(musicmessaging_la_SOURCES) cat $(srcdir)/$(musicmessaging_la_SOURCES) | \ - $(PYTHON) $(top_srcdir)/core/dbus-analyze-functions.py --export-only > $@ + $(PYTHON) $(top_srcdir)/libgaim/dbus-analyze-functions.py --export-only > $@ -$(musicmessaging_la_OBJECTS) musicmessaging.so: music-messaging-bindings.c $(top_builddir)/core/dbus-types.h +$(musicmessaging_la_OBJECTS) musicmessaging.so: music-messaging-bindings.c $(top_builddir)/libgaim/dbus-types.h endif endif @@ -37,8 +37,8 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ - -I$(top_builddir)/core \ - -I$(top_srcdir)/core \ + -I$(top_builddir)/libgaim \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \ Modified: trunk/gtk/plugins/ticker/Makefile.am =================================================================== --- trunk/gtk/plugins/ticker/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/gtk/plugins/ticker/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -19,7 +19,7 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) Copied: trunk/libgaim (from rev 16862, trunk/core) Modified: trunk/libgaim/plugins/Makefile.am =================================================================== --- trunk/core/plugins/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/plugins/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -53,14 +53,14 @@ .PHONY: always -$(top_builddir)/core/dbus-types.h: always +$(top_builddir)/libgaim/dbus-types.h: always cd $(@D) && $(MAKE) $(AM_MAKEFLAGS) $(@F) -dbus-example-bindings.c: $(top_srcdir)/core/dbus-analyze-functions.py $(dbus_example_la_SOURCES) +dbus-example-bindings.c: $(top_srcdir)/libgaim/dbus-analyze-functions.py $(dbus_example_la_SOURCES) cat $(srcdir)/$(dbus_example_la_SOURCES) | \ - $(PYTHON) $(top_srcdir)/core/dbus-analyze-functions.py --export-only > $@ + $(PYTHON) $(top_srcdir)/libgaim/dbus-analyze-functions.py --export-only > $@ -$(dbus_example_la_OBJECTS) dbus-example.so: dbus-example-bindings.c $(top_builddir)/core/dbus-types.h +$(dbus_example_la_OBJECTS) dbus-example.so: dbus-example-bindings.c $(top_builddir)/libgaim/dbus-types.h endif # ENABLE_DBUS @@ -82,8 +82,8 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ - -I$(top_builddir)/core \ - -I$(top_srcdir)/core \ + -I$(top_builddir)/libgaim \ + -I$(top_srcdir)/libgaim \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS) \ Modified: trunk/libgaim/plugins/mono/loader/Makefile.am =================================================================== --- trunk/core/plugins/mono/loader/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/plugins/mono/loader/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -19,7 +19,7 @@ AM_CPPFLAGS = \ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir) \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(DEBUG_CFLAGS) \ $(PLUGIN_CFLAGS) \ $(MONO_CFLAGS) Modified: trunk/libgaim/plugins/perl/Makefile.am =================================================================== --- trunk/core/plugins/perl/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/plugins/perl/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -157,7 +157,7 @@ AM_CPPFLAGS = \ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir) \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -I$(top_srcdir)/gtk \ # FIXME $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \ Modified: trunk/libgaim/plugins/ssl/Makefile.am =================================================================== --- trunk/core/plugins/ssl/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/plugins/ssl/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -26,7 +26,7 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DLIBDIR=\"$(libdir)/gaim/\" \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS) \ Modified: trunk/libgaim/plugins/tcl/Makefile.am =================================================================== --- trunk/core/plugins/tcl/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/plugins/tcl/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -12,7 +12,7 @@ AM_CPPFLAGS = \ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir) \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS) \ Modified: trunk/libgaim/protocols/bonjour/Makefile.am =================================================================== --- trunk/core/protocols/bonjour/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/bonjour/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -35,7 +35,7 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) \ $(HOWL_CFLAGS) Modified: trunk/libgaim/protocols/gg/Makefile.am =================================================================== --- trunk/core/protocols/gg/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/gg/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -53,7 +53,7 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/irc/Makefile.am =================================================================== --- trunk/core/protocols/irc/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/irc/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -28,6 +28,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/jabber/Makefile.am =================================================================== --- trunk/core/protocols/jabber/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/jabber/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -58,7 +58,7 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(LIBXML_CFLAGS) Modified: trunk/libgaim/protocols/msn/Makefile.am =================================================================== --- trunk/core/protocols/msn/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/msn/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -83,6 +83,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/novell/Makefile.am =================================================================== --- trunk/core/protocols/novell/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/novell/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -50,6 +50,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) Modified: trunk/libgaim/protocols/oscar/Makefile.am =================================================================== --- trunk/core/protocols/oscar/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/oscar/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -64,6 +64,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/qq/Makefile.am =================================================================== --- trunk/core/protocols/qq/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/qq/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -91,7 +91,7 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ -DVERSION=\"$(VERSION)\" \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ Modified: trunk/libgaim/protocols/sametime/Makefile.am =================================================================== --- trunk/core/protocols/sametime/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/sametime/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -34,7 +34,7 @@ AM_CFLAGS = \ $(GLIB_CFLAGS) $(MEANWHILE_CFLAGS) \ $(DEBUG_CFLAGS) \ - -I$(top_srcdir)/core + -I$(top_srcdir)/libgaim AM_CPPFLAGS = \ Modified: trunk/libgaim/protocols/silc/Makefile.am =================================================================== --- trunk/core/protocols/silc/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/silc/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -30,6 +30,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/simple/Makefile.am =================================================================== --- trunk/core/protocols/simple/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/simple/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -29,6 +29,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/toc/Makefile.am =================================================================== --- trunk/core/protocols/toc/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/toc/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -26,6 +26,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/yahoo/Makefile.am =================================================================== --- trunk/core/protocols/yahoo/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/yahoo/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -47,6 +47,6 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/core \ + -I$(top_srcdir)/libgaim \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) Modified: trunk/libgaim/protocols/zephyr/Makefile.am =================================================================== --- trunk/core/protocols/zephyr/Makefile.am 2006-08-19 01:37:26 UTC (rev 16862) +++ trunk/libgaim/protocols/zephyr/Makefile.am 2006-08-19 01:50:10 UTC (rev 16863) @@ -101,8 +101,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir) \ - -I$(top_srcdir)/core \ - -I$(top_srcdir)/core/protocols \ + -I$(top_srcdir)/libgaim \ + -I$(top_srcdir)/libgaim/protocols \ -DCONFDIR=\"$(confdir)\" \ $(GLIB_CFLAGS) \ $(KRB4_CFLAGS) \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-08-19 08:02:47
|
Revision: 16880 Author: sadrul Date: 2006-08-19 01:02:43 -0700 (Sat, 19 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16880&view=rev Log Message: ----------- The show must go on, without gntgaim if need be. Modified Paths: -------------- trunk/configure.ac trunk/console/Makefile.am Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-19 07:55:17 UTC (rev 16879) +++ trunk/configure.ac 2006-08-19 08:02:43 UTC (rev 16880) @@ -808,6 +808,10 @@ dnl ####################################################################### dnl # GNT Gaim dnl ####################################################################### +if test "x$enable_gnt" = "xyes"; then +AC_CHECK_LIB(ncursesw, initscr, , [enable_gnt=no]) +AC_CHECK_LIB(panelw, update_panels, , [enable_gnt=no]) +fi AM_CONDITIONAL(ENABLE_GNT, test "x$enable_gnt" = "xyes") dnl ####################################################################### Modified: trunk/console/Makefile.am =================================================================== --- trunk/console/Makefile.am 2006-08-19 07:55:17 UTC (rev 16879) +++ trunk/console/Makefile.am 2006-08-19 08:02:43 UTC (rev 16880) @@ -1,6 +1,7 @@ -#libgnt currently needs to have autogen run for there to be a Makefile... -# SUBDIRS = libgnt +if ENABLE_GNT +SUBDIRS = libgnt + bin_PROGRAMS = gntgaim gntgaim_SOURCES = \ @@ -63,3 +64,4 @@ $(GLIB_CFLAGS) \ $(DBUS_CFLAGS) \ $(LIBXML_CFLAGS) +endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-08-20 07:13:43
|
Revision: 16898 Author: sadrul Date: 2006-08-20 00:13:35 -0700 (Sun, 20 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16898&view=rev Log Message: ----------- libgaim and gaim should not link against ncursesw. libgaim should not link against gstreamer. Modified Paths: -------------- trunk/configure.ac trunk/console/libgnt/Makefile.am trunk/libgaim/Makefile.am Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-20 07:11:09 UTC (rev 16897) +++ trunk/configure.ac 2006-08-20 07:13:35 UTC (rev 16898) @@ -808,12 +808,14 @@ dnl ####################################################################### dnl # GNT Gaim dnl ####################################################################### +GNT_LIBS= if test "x$enable_gnt" = "xyes"; then - AC_CHECK_LIB(ncursesw, initscr, , [enable_gnt=no]) - AC_CHECK_LIB(panelw, update_panels, , [enable_gnt=no]) + AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_gnt=no]) + AC_CHECK_LIB(panelw, update_panels, [GNT_LIBS="$GNT_LIBS -lpanelw"], [enable_gnt=no]) else enable_gnt=no fi +AC_SUBST(GNT_LIBS) AM_CONDITIONAL(ENABLE_GNT, test "x$enable_gnt" = "xyes") dnl ####################################################################### Modified: trunk/console/libgnt/Makefile.am =================================================================== --- trunk/console/libgnt/Makefile.am 2006-08-20 07:11:09 UTC (rev 16897) +++ trunk/console/libgnt/Makefile.am 2006-08-20 07:13:35 UTC (rev 16898) @@ -48,7 +48,7 @@ libgnt_la_LIBADD = \ $(GLIB_LIBS) \ $(STATIC_LINK_LIBS) \ - -lncursesw -lpanelw + $(GNT_LIBS) AM_CPPFLAGS = \ $(GLIB_CFLAGS) \ Modified: trunk/libgaim/Makefile.am =================================================================== --- trunk/libgaim/Makefile.am 2006-08-20 07:11:09 UTC (rev 16897) +++ trunk/libgaim/Makefile.am 2006-08-20 07:13:35 UTC (rev 16898) @@ -256,9 +256,7 @@ @LIBOBJS@ \ $(DBUS_LIBS) \ $(GLIB_LIBS) \ - $(GMODULE_LIBS) \ - $(GOBJECT_LIBS) \ - $(GSTREAMER_LIBS) \ + $(LIBXML_LIBS) \ $(STATIC_LINK_LIBS) \ $(INTLLIBS) \ -lm @@ -270,7 +268,7 @@ -DLOCALEDIR=\"$(datadir)/locale\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -I$(top_srcdir)/plugins \ - $(GSTREAMER_CFLAGS) \ + $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) \ $(DBUS_CFLAGS) \ $(LIBXML_CFLAGS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nos...@us...> - 2006-08-20 17:50:13
|
Revision: 16910 Author: nosnilmot Date: 2006-08-20 10:49:58 -0700 (Sun, 20 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16910&view=rev Log Message: ----------- Fix autogen.sh to run glib-gettextize Fix CFLAGS when gstreamer is not installed Make things work with gtk < 2.6, in part by borrowing some code from gdk Don't link gntgaim with gstreamer, xss or sm Modified Paths: -------------- trunk/autogen.sh trunk/configure.ac trunk/console/Makefile.am trunk/console/libgnt/Makefile.am trunk/console/libgnt/configure.ac trunk/gtk/Makefile.am trunk/gtk/gtkconv.c trunk/gtk/gtkgaim.h trunk/gtk/gtkutils.c trunk/gtk/gtkutils.h trunk/libgaim/Makefile.am trunk/libgaim/xmlnode.c Modified: trunk/autogen.sh =================================================================== --- trunk/autogen.sh 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/autogen.sh 2006-08-20 17:49:58 UTC (rev 16910) @@ -1,5 +1,12 @@ #!/bin/sh +(glib-gettextize --version) < /dev/null > /dev/null 2>&1 || { + echo; + echo "You must have glib-gettextize installed to compile Gaim"; + echo; + exit; +} + (intltoolize --version) < /dev/null > /dev/null 2>&1 || { echo; echo "You must have intltool installed to compile Gaim"; @@ -46,6 +53,7 @@ done libtoolize -c -f --automake +glib-gettextize --force --copy intltoolize --force --copy aclocal $ACLOCAL_FLAGS || exit; autoheader || exit; Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/configure.ac 2006-08-20 17:49:58 UTC (rev 16910) @@ -635,29 +635,21 @@ fi AC_SUBST(CFLAGS) -PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.0.0 gobject-2.0 gmodule-2.0 gthread-2.0], +PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.0.0 gobject-2.0 gmodule-2.0 gthread-2.0],, [ - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - echo "GLib 2.0 check OK!" - ], - [ AC_MSG_ERROR([ *** GLib 2.0 is required to build Gaim; please make sure you have the GLib *** development headers installed. The latest version of GLib is *** always available at http://www.gtk.org/.]) ]) +AC_SUBST(GLIB_CFLAGS) +AC_SUBST(GLIB_LIBS) AC_PATH_PROG(gaimpath, gaim) -if test "$enable_gtk" = yes ; then - PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.0.0], +if test "x$enable_gtk" = "xyes" ; then + PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.0.0],, [ - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - echo "GTK+ 2.0 check OK!" - ], - [ AC_MSG_ERROR([ *** GTK+ 2.0 is required to build Gaim. please make sure you have the GTK+ *** development headers installed. The latest version of GTK+ is @@ -666,6 +658,8 @@ *** If you wish to build just gntgaim or libgaim, *** configure with --disable-gtkgaim]) ]) +AC_SUBST(GTK_CFLAGS) +AC_SUBST(GTK_LIBS) fi AC_PATH_XTRA Modified: trunk/console/Makefile.am =================================================================== --- trunk/console/Makefile.am 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/console/Makefile.am 2006-08-20 17:49:58 UTC (rev 16910) @@ -35,18 +35,16 @@ gntgaiminclude_HEADERS = \ $(gntgaim_headers) -gntgaim_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) $(MS_LIBS) +gntgaim_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) gntgaim_LDFLAGS = -export-dynamic gntgaim_LDADD = \ @LIBOBJS@ \ $(DBUS_LIBS) \ - $(GSTREAMER_LIBS) \ $(STATIC_LINK_LIBS) \ - $(XSS_LIBS) \ - $(SM_LIBS) \ $(INTLLIBS) \ $(GLIB_LIBS) \ $(LIBXML_LIBS) \ + $(GNT_LIBS) \ -L./libgnt/ -lgnt \ -L$(top_srcdir)/libgaim -lgaim @@ -59,7 +57,6 @@ -DSYSCONFDIR=\"$(sysconfdir)\" \ -I$(top_srcdir)/libgaim/ \ -I ./libgnt/ \ - $(GSTREAMER_CFLAGS) \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(DBUS_CFLAGS) \ Modified: trunk/console/libgnt/Makefile.am =================================================================== --- trunk/console/libgnt/Makefile.am 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/console/libgnt/Makefile.am 2006-08-20 17:49:58 UTC (rev 16910) @@ -43,7 +43,7 @@ libgnt_lainclude_HEADERS = \ $(libgnt_la_headers) -libgnt_la_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) $(MS_LIBS) +libgnt_la_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) libgnt_la_LDFLAGS = -export-dynamic libgnt_la_LIBADD = \ $(GLIB_LIBS) \ Modified: trunk/console/libgnt/configure.ac =================================================================== --- trunk/console/libgnt/configure.ac 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/console/libgnt/configure.ac 2006-08-20 17:49:58 UTC (rev 16910) @@ -216,17 +216,15 @@ fi AC_SUBST(CFLAGS) -PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.0.0 gobject-2.0 gmodule-2.0], +PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.0.0 gobject-2.0 gmodule-2.0],, [ - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - ], - [ AC_MSG_ERROR([ *** GLib 2.0 is required to build Gaim; please make sure you have the GLib *** development headers installed. The latest version of GLib is *** always available at http://www.gtk.org/.]) ]) +AC_SUBST(GLIB_CFLAGS) +AC_SUBST(GLIB_LIBS) AC_MSG_CHECKING(for me pot o' gold) Modified: trunk/gtk/Makefile.am =================================================================== --- trunk/gtk/Makefile.am 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/gtk/Makefile.am 2006-08-20 17:49:58 UTC (rev 16910) @@ -149,7 +149,7 @@ $(gaim_headers) -gaim_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) $(MS_LIBS) +gaim_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) gaim_LDFLAGS = -export-dynamic gaim_LDADD = \ @LIBOBJS@ \ @@ -172,6 +172,7 @@ -DLOCALEDIR=\"$(datadir)/locale\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -I$(top_srcdir)/libgaim/ \ + $(GLIB_CFLAGS) \ $(GSTREAMER_CFLAGS) \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \ Modified: trunk/gtk/gtkconv.c =================================================================== --- trunk/gtk/gtkconv.c 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/gtk/gtkconv.c 2006-08-20 17:49:58 UTC (rev 16910) @@ -4984,9 +4984,11 @@ gtk_label_set_text(GTK_LABEL(gtkchat->count), tmp); ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list))); - + +#if GTK_CHECK_VERSION(2,6,0) gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(ls), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID); +#endif l = cbuddies; while (l != NULL) { Modified: trunk/gtk/gtkgaim.h =================================================================== --- trunk/gtk/gtkgaim.h 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/gtk/gtkgaim.h 2006-08-20 17:49:58 UTC (rev 16910) @@ -66,7 +66,7 @@ # include "gtkcellviewmenuitem.h" # if !GTK_CHECK_VERSION(2,4,0) # include "gtkcelllayout.h" -# include "gtkcombobox.h" +# include "gaimcombobox.h" # endif /* Gtk 2.4 */ #endif /* Gtk 2.6 */ Modified: trunk/gtk/gtkutils.c =================================================================== --- trunk/gtk/gtkutils.c 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/gtk/gtkutils.c 2006-08-20 17:49:58 UTC (rev 16910) @@ -2228,7 +2228,7 @@ gtk_widget_destroy(dialog->icon_filesel); if (dialog->callback) - dialog->callback(NULL, data); + dialog->callback(NULL, dialog->data); g_free(dialog); } @@ -2262,7 +2262,7 @@ #else /* FILECHOOSER */ static void -icon_filesel_choose_cb(GtkWidget *w, AccountPrefsDialog *dialog) +icon_filesel_choose_cb(GtkWidget *w, struct _icon_chooser *dialog) { char *filename, *current_folder; @@ -2647,3 +2647,140 @@ return NULL; #endif } + +#if !GTK_CHECK_VERSION(2,6,0) +static void +_gdk_file_scale_size_prepared_cb (GdkPixbufLoader *loader, + int width, + int height, + gpointer data) +{ + struct { + gint width; + gint height; + gboolean preserve_aspect_ratio; + } *info = data; + + g_return_if_fail (width > 0 && height > 0); + + if (info->preserve_aspect_ratio && + (info->width > 0 || info->height > 0)) { + if (info->width < 0) + { + width = width * (double)info->height/(double)height; + height = info->height; + } + else if (info->height < 0) + { + height = height * (double)info->width/(double)width; + width = info->width; + } + else if ((double)height * (double)info->width > + (double)width * (double)info->height) { + width = 0.5 + (double)width * (double)info->height / (double)height; + height = info->height; + } else { + height = 0.5 + (double)height * (double)info->width / (double)width; + width = info->width; + } + } else { + if (info->width > 0) + width = info->width; + if (info->height > 0) + height = info->height; + } + + gdk_pixbuf_loader_set_size (loader, width, height); +} + +GdkPixbuf * +gdk_pixbuf_new_from_file_at_scale(const char *filename, int width, int height, + gboolean preserve_aspect_ratio, + GError **error) +{ + GdkPixbufLoader *loader; + GdkPixbuf *pixbuf; + guchar buffer [4096]; + int length; + FILE *f; + struct { + gint width; + gint height; + gboolean preserve_aspect_ratio; + } info; + GdkPixbufAnimation *animation; + GdkPixbufAnimationIter *iter; + gboolean has_frame; + + g_return_val_if_fail (filename != NULL, NULL); + g_return_val_if_fail (width > 0 || width == -1, NULL); + g_return_val_if_fail (height > 0 || height == -1, NULL); + + f = g_fopen (filename, "rb"); + if (!f) { + gint save_errno = errno; + gchar *display_name = g_filename_to_utf8 (filename, -1, NULL, NULL, NULL); + g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (save_errno), + _("Failed to open file '%s': %s"), + display_name ? display_name : "(unknown)", + g_strerror (save_errno)); + g_free (display_name); + return NULL; + } + + loader = gdk_pixbuf_loader_new (); + + info.width = width; + info.height = height; + info.preserve_aspect_ratio = preserve_aspect_ratio; + + g_signal_connect (loader, "size-prepared", G_CALLBACK (_gdk_file_scale_size_prepared_cb), &info); + + has_frame = FALSE; + while (!has_frame && !feof (f) && !ferror (f)) { + length = fread (buffer, 1, sizeof (buffer), f); + if (length > 0) + if (!gdk_pixbuf_loader_write (loader, buffer, length, error)) { + gdk_pixbuf_loader_close (loader, NULL); + fclose (f); + g_object_unref (loader); + return NULL; + } + + animation = gdk_pixbuf_loader_get_animation (loader); + if (animation) { + iter = gdk_pixbuf_animation_get_iter (animation, 0); + if (!gdk_pixbuf_animation_iter_on_currently_loading_frame (iter)) { + has_frame = TRUE; + } + g_object_unref (iter); + } + } + + fclose (f); + + if (!gdk_pixbuf_loader_close (loader, error) && !has_frame) { + g_object_unref (loader); + return NULL; + } + + pixbuf = gdk_pixbuf_loader_get_pixbuf (loader); + + if (!pixbuf) { + gchar *display_name = g_filename_to_utf8 (filename, -1, NULL, NULL, NULL); + g_object_unref (loader); + g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_FAILED, + _("Failed to load image '%s': reason not known, probably a corrupt image file"), + display_name ? display_name : "(unknown)"); + g_free (display_name); + return NULL; + } + + g_object_ref (pixbuf); + + g_object_unref (loader); + + return pixbuf; +} +#endif + Modified: trunk/gtk/gtkutils.h =================================================================== --- trunk/gtk/gtkutils.h 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/gtk/gtkutils.h 2006-08-20 17:49:58 UTC (rev 16910) @@ -479,4 +479,15 @@ */ char* gaim_gtk_convert_buddy_icon(GaimPlugin *plugin, const char *path); +#if !GTK_CHECK_VERSION(2,6,0) +/** + * Creates a new pixbuf by loading an image from a file. The image will + * be scaled to fit in the requested size, optionally preserving the image's + * aspect ratio. + */ +GdkPixbuf *gdk_pixbuf_new_from_file_at_scale(const char *filename, int width, int height, + gboolean preserve_aspect_ratio, + GError **error); +#endif + #endif /* _GAIM_GTKUTILS_H_ */ Modified: trunk/libgaim/Makefile.am =================================================================== --- trunk/libgaim/Makefile.am 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/libgaim/Makefile.am 2006-08-20 17:49:58 UTC (rev 16910) @@ -250,7 +250,7 @@ $(gaim_coreheaders) \ $(dbus_headers) -libgaim_la_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) $(MS_LIBS) +libgaim_la_DEPENDENCIES = @LIBOBJS@ $(STATIC_LINK_LIBS) libgaim_la_LDFLAGS = -export-dynamic libgaim_la_LIBADD = \ @LIBOBJS@ \ @@ -267,7 +267,6 @@ -DLIBDIR=\"$(libdir)/gaim/\" \ -DLOCALEDIR=\"$(datadir)/locale\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ - -I$(top_srcdir)/plugins \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) \ $(DBUS_CFLAGS) \ Modified: trunk/libgaim/xmlnode.c =================================================================== --- trunk/libgaim/xmlnode.c 2006-08-20 17:40:31 UTC (rev 16909) +++ trunk/libgaim/xmlnode.c 2006-08-20 17:49:58 UTC (rev 16910) @@ -403,12 +403,15 @@ xmlnode_set_namespace(node, namespace); for(i=0; i < nb_attributes * 5; i+=5) { +#ifdef HAVE_LIBXML + char *txt; +#endif int attrib_len = attributes[i+4] - attributes[i+3]; char *attrib = g_malloc(attrib_len + 1); memcpy(attrib, attributes[i+3], attrib_len); attrib[attrib_len] = '\0'; #ifdef HAVE_LIBXML - char *txt = attrib; + txt = attrib; attrib = gaim_unescape_html(txt); g_free(txt); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-08-20 20:14:21
|
Revision: 16917 Author: rlaager Date: 2006-08-20 13:14:12 -0700 (Sun, 20 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16917&view=rev Log Message: ----------- * Enable the log reader plugin. I'm really going to try to work on this some more, but making it available (with a warning) will help shame me into fixing it. * De-activate the stub loggers in the log reader plugin for Fire and Messenger Plus! * Fix up logs of svn:ignore properties so that svn status comes up clean. Modified Paths: -------------- trunk/gaim-installer.nsi trunk/libgaim/plugins/Makefile.am trunk/libgaim/plugins/Makefile.mingw Added Paths: ----------- trunk/libgaim/plugins/log_reader.c Removed Paths: ------------- trunk/gtk/plugins/log_reader.c Property Changed: ---------------- trunk/ trunk/console/libgnt/ trunk/gtk/ trunk/gtk/plugins/ trunk/libgaim/ trunk/libgaim/plugins/ Property changes on: trunk ___________________________________________________________________ Name: svn:ignore - ABOUT-NLS aclocal.m4 autom4te.cache compile confdefs.h config.cache config.guess config.h config.h.in config.h.in~ config.log config.status config.sub configure configure.2.1x depcomp Doxyfile gaim.apspec gaim.desktop gaim.pc gaim.service gaim.spec install-sh intl intltool-extract intltool-extract.in intltool-merge intltool-merge.in intltool-update intltool-update.in libtool ltconfig ltmain.sh Makefile Makefile.in missing stamp-h stamp-h1 stamp-h.in *.swp .temp-gettextize win32-install-dir gaim-*.exe + ABOUT-NLS aclocal.m4 autom4te.cache compile confdefs.h config.cache config.guess config.h config.h.in config.h.in~ config.log config.status config.sub configure configure.2.1x depcomp Doxyfile gaim.apspec gaim.desktop gaim.pc gaim.service gaim.spec install-sh intl intltool-extract intltool-extract.in intltool-merge intltool-merge.in intltool-update intltool-update.in libtool ltconfig ltmain.sh Makefile Makefile.in missing mkinstalldirs stamp-h stamp-h1 stamp-h.in *.swp .temp-gettextize win32-install-dir gaim-*.exe Property changes on: trunk/console/libgnt ___________________________________________________________________ Name: svn:ignore - Makefile.in .deps .libs + .deps gnt.pc .libs Makefile Makefile.in Modified: trunk/gaim-installer.nsi =================================================================== --- trunk/gaim-installer.nsi 2006-08-20 19:37:33 UTC (rev 16916) +++ trunk/gaim-installer.nsi 2006-08-20 20:14:12 UTC (rev 16917) @@ -717,6 +717,7 @@ Delete "$INSTDIR\plugins\libsimple.dll" Delete "$INSTDIR\plugins\libtoc.dll" Delete "$INSTDIR\plugins\libyahoo.dll" + Delete "$INSTDIR\plugins\log_reader.dll" Delete "$INSTDIR\plugins\notify.dll" Delete "$INSTDIR\plugins\perl.dll" Delete "$INSTDIR\plugins\psychic.dll" Property changes on: trunk/gtk ___________________________________________________________________ Name: svn:ignore - Makefile.in .deps Makefile *.dll gtkgaim.dll.a *.exe + .deps gaim gtkgaim.dll.a .libs Makefile Makefile.in *.dll *.exe Property changes on: trunk/gtk/plugins ___________________________________________________________________ Name: svn:ignore - Makefile.in .deps Makefile *.dll + .deps .libs Makefile Makefile.in *.dll Deleted: trunk/gtk/plugins/log_reader.c =================================================================== --- trunk/gtk/plugins/log_reader.c 2006-08-20 19:37:33 UTC (rev 16916) +++ trunk/gtk/plugins/log_reader.c 2006-08-20 20:14:12 UTC (rev 16917) @@ -1,2008 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <stdio.h> - -#ifndef GAIM_PLUGINS -# define GAIM_PLUGINS -#endif - -#include "internal.h" - -#include "debug.h" -#include "log.h" -#include "plugin.h" -#include "pluginpref.h" -#include "prefs.h" -#include "stringref.h" -#include "util.h" -#include "version.h" -#include "xmlnode.h" - -/* This must be the last Gaim header included. */ -#ifdef _WIN32 -#include "win32dep.h" -#endif - -/* Where is the Windows partition mounted? */ -#ifndef GAIM_LOG_READER_WINDOWS_MOUNT_POINT -#define GAIM_LOG_READER_WINDOWS_MOUNT_POINT "/mnt/windows" -#endif - -enum name_guesses { - NAME_GUESS_UNKNOWN, - NAME_GUESS_ME, - NAME_GUESS_THEM -}; - - -/***************************************************************************** - * Adium Logger * - *****************************************************************************/ - -/* The adium logger doesn't write logs, only reads them. This is to include - * Adium logs in the log viewer transparently. - */ - -static GaimLogLogger *adium_logger; - -enum adium_log_type { - ADIUM_HTML, - ADIUM_TEXT, -}; - -struct adium_logger_data { - char *path; - enum adium_log_type type; -}; - -static GList *adium_logger_list(GaimLogType type, const char *sn, GaimAccount *account) -{ - GList *list = NULL; - const char *logdir; - GaimPlugin *plugin; - GaimPluginProtocolInfo *prpl_info; - char *prpl_name; - char *temp; - char *path; - GDir *dir; - - g_return_val_if_fail(sn != NULL, list); - g_return_val_if_fail(account != NULL, list); - - logdir = gaim_prefs_get_string("/plugins/core/log_reader/adium/log_directory"); - - /* By clearing the log directory path, this logger can be (effectively) disabled. */ - if (!*logdir) - return list; - - plugin = gaim_find_prpl(gaim_account_get_protocol_id(account)); - if (!plugin) - return NULL; - - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(plugin); - if (!prpl_info->list_icon) - return NULL; - - prpl_name = g_ascii_strup(prpl_info->list_icon(account, NULL), -1); - - temp = g_strdup_printf("%s.%s", prpl_name, account->username); - path = g_build_filename(logdir, temp, sn, NULL); - g_free(temp); - - dir = g_dir_open(path, 0, NULL); - if (dir) { - const gchar *file; - - while ((file = g_dir_read_name(dir))) { - if (!gaim_str_has_prefix(file, sn)) - continue; - if (gaim_str_has_suffix(file, ".html") || gaim_str_has_suffix(file, ".AdiumHTMLLog")) { - struct tm tm; - const char *date = file; - - date += strlen(sn) + 2; - if (sscanf(date, "%u|%u|%u", - &tm.tm_year, &tm.tm_mon, &tm.tm_mday) != 3) { - - gaim_debug(GAIM_DEBUG_ERROR, "Adium log parse", - "Filename timestamp parsing error\n"); - } else { - char *filename = g_build_filename(path, file, NULL); - FILE *handle = g_fopen(filename, "rb"); - char *contents; - char *contents2; - struct adium_logger_data *data; - GaimLog *log; - - if (!handle) { - g_free(filename); - continue; - } - - /* XXX: This is really inflexible. */ - contents = g_malloc(57); - fread(contents, 56, 1, handle); - fclose(handle); - contents[56] = '\0'; - - /* XXX: This is fairly inflexible. */ - contents2 = contents; - while (*contents2 && *contents2 != '>') - contents2++; - if (*contents2) - contents2++; - while (*contents2 && *contents2 != '>') - contents2++; - if (*contents2) - contents2++; - - if (sscanf(contents2, "%u.%u.%u", - &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 3) { - - gaim_debug(GAIM_DEBUG_ERROR, "Adium log parse", - "Contents timestamp parsing error\n"); - g_free(contents); - g_free(filename); - continue; - } - g_free(contents); - - data = g_new0(struct adium_logger_data, 1); - data->path = filename; - data->type = ADIUM_HTML; - - tm.tm_year -= 1900; - tm.tm_mon -= 1; - - /* XXX: Look into this later... Should we pass in a struct tm? */ - log = gaim_log_new(GAIM_LOG_IM, sn, account, NULL, mktime(&tm), NULL); - log->logger = adium_logger; - log->logger_data = data; - - list = g_list_append(list, log); - } - } else if (gaim_str_has_suffix(file, ".adiumLog")) { - struct tm tm; - const char *date = file; - - date += strlen(sn) + 2; - if (sscanf(date, "%u|%u|%u", - &tm.tm_year, &tm.tm_mon, &tm.tm_mday) != 3) { - - gaim_debug(GAIM_DEBUG_ERROR, "Adium log parse", - "Filename timestamp parsing error\n"); - } else { - char *filename = g_build_filename(path, file, NULL); - FILE *handle = g_fopen(filename, "rb"); - char *contents; - char *contents2; - struct adium_logger_data *data; - GaimLog *log; - - if (!handle) { - g_free(filename); - continue; - } - - /* XXX: This is really inflexible. */ - contents = g_malloc(14); - fread(contents, 13, 1, handle); - fclose(handle); - contents[13] = '\0'; - - contents2 = contents; - while (*contents2 && *contents2 != '(') - contents2++; - if (*contents2) - contents2++; - - if (sscanf(contents2, "%u.%u.%u", - &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 3) { - - gaim_debug(GAIM_DEBUG_ERROR, "Adium log parse", - "Contents timestamp parsing error\n"); - g_free(contents); - g_free(filename); - continue; - } - - g_free(contents); - - tm.tm_year -= 1900; - tm.tm_mon -= 1; - - data = g_new0(struct adium_logger_data, 1); - data->path = filename; - data->type = ADIUM_TEXT; - - /* XXX: Look into this later... Should we pass in a struct tm? */ - log = gaim_log_new(GAIM_LOG_IM, sn, account, NULL, mktime(&tm), NULL); - log->logger = adium_logger; - log->logger_data = data; - - list = g_list_append(list, log); - } - } - } - g_dir_close(dir); - } - - g_free(prpl_name); - g_free(path); - - return list; -} - -static char *adium_logger_read (GaimLog *log, GaimLogReadFlags *flags) -{ - struct adium_logger_data *data; - GError *error = NULL; - gchar *read = NULL; - gsize length; - - g_return_val_if_fail(log != NULL, g_strdup("")); - - data = log->logger_data; - - g_return_val_if_fail(data->path != NULL, g_strdup("")); - - gaim_debug(GAIM_DEBUG_INFO, "Adium log read", - "Reading %s\n", data->path); - if (!g_file_get_contents(data->path, &read, &length, &error)) { - gaim_debug(GAIM_DEBUG_ERROR, "Adium log read", - "Error reading log\n"); - if (error) - g_error_free(error); - return g_strdup(""); - } - - if (data->type != ADIUM_HTML) { - char *escaped = g_markup_escape_text(read, -1); - g_free(read); - read = escaped; - } - -#ifdef WIN32 - /* This problem only seems to show up on Windows. - * The BOM is displaying as a space at the beginning of the log. - */ - if (gaim_str_has_prefix(read, "\xef\xbb\xbf")) - { - /* FIXME: This feels so wrong... */ - char *temp = g_strdup(&(read[3])); - g_free(read); - read = temp; - } -#endif - - /* TODO: Apply formatting. - * Replace the above hack with something better, since we'll - * be looping over the entire log file contents anyway. - */ - - return read; -} - -static int adium_logger_size (GaimLog *log) -{ - struct adium_logger_data *data; - char *text; - size_t size; - - g_return_val_if_fail(log != NULL, 0); - - data = log->logger_data; - - if (gaim_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) { - struct stat st; - - if (!data->path || stat(data->path, &st)) - st.st_size = 0; - - return st.st_size; - } - - text = adium_logger_read(log, NULL); - size = strlen(text); - g_free(text); - - return size; -} - -static void adium_logger_finalize(GaimLog *log) -{ - struct adium_logger_data *data; - - g_return_if_fail(log != NULL); - - data = log->logger_data; - - g_free(data->path); -} - - -/***************************************************************************** - * Fire Logger * - *****************************************************************************/ - -/* The fire logger doesn't write logs, only reads them. This is to include - * Fire logs in the log viewer transparently. - */ - -static GaimLogLogger *fire_logger; - -struct fire_logger_data { -}; - -static GList *fire_logger_list(GaimLogType type, const char *sn, GaimAccount *account) -{ - /* TODO: Do something here. */ - return NULL; -} - -static char * fire_logger_read (GaimLog *log, GaimLogReadFlags *flags) -{ - struct fire_logger_data *data; - - g_return_val_if_fail(log != NULL, g_strdup("")); - - data = log->logger_data; - - /* TODO: Do something here. */ - return g_strdup(""); -} - -static int fire_logger_size (GaimLog *log) -{ - g_return_val_if_fail(log != NULL, 0); - - if (gaim_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) - return 0; - - /* TODO: Do something here. */ - return 0; -} - -static void fire_logger_finalize(GaimLog *log) -{ - g_return_if_fail(log != NULL); - - /* TODO: Do something here. */ -} - - -/***************************************************************************** - * Messenger Plus! Logger * - *****************************************************************************/ - -/* The messenger_plus logger doesn't write logs, only reads them. This is to include - * Messenger Plus! logs in the log viewer transparently. - */ - -static GaimLogLogger *messenger_plus_logger; - -struct messenger_plus_logger_data { -}; - -static GList *messenger_plus_logger_list(GaimLogType type, const char *sn, GaimAccount *account) -{ - /* TODO: Do something here. */ - return NULL; -} - -static char * messenger_plus_logger_read (GaimLog *log, GaimLogReadFlags *flags) -{ - struct messenger_plus_logger_data *data = log->logger_data; - - g_return_val_if_fail(log != NULL, g_strdup("")); - - data = log->logger_data; - - /* TODO: Do something here. */ - return g_strdup(""); -} - -static int messenger_plus_logger_size (GaimLog *log) -{ - g_return_val_if_fail(log != NULL, 0); - - if (gaim_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) - return 0; - - /* TODO: Do something here. */ - return 0; -} - -static void messenger_plus_logger_finalize(GaimLog *log) -{ - g_return_if_fail(log != NULL); - - /* TODO: Do something here. */ -} - - -/***************************************************************************** - * MSN Messenger Logger * - *****************************************************************************/ - -/* The msn logger doesn't write logs, only reads them. This is to include - * MSN Messenger message histories in the log viewer transparently. - */ - -static GaimLogLogger *msn_logger; - -struct msn_logger_data { - xmlnode *root; - xmlnode *message; - const char *session_id; - int last_log; - GString *text; -}; - -static time_t msn_logger_parse_timestamp(xmlnode *message) -{ - const char *date; - const char *time; - struct tm tm; - char am_pm; - - g_return_val_if_fail(message != NULL, (time_t)0); - - date = xmlnode_get_attrib(message, "Date"); - if (!(date && *date)) { - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "Attribute missing: %s\n", "Date"); - return (time_t)0; - } - - time = xmlnode_get_attrib(message, "Time"); - if (!(time && *time)) { - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "Attribute missing: %s\n", "Time"); - return (time_t)0; - } - - if (sscanf(date, "%u/%u/%u", &tm.tm_mon, &tm.tm_mday, &tm.tm_year) != 3) - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "%s parsing error\n", "Date"); - - if (sscanf(time, "%u:%u:%u %c", &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &am_pm) != 4) - gaim_debug(GAIM_DEBUG_ERROR, "MSN log timestamp parse", - "%s parsing error\n", "Time"); - - tm.tm_year -= 1900; - tm.tm_mon -= 1; - if (am_pm == 'P') { - tm.tm_hour += 12; - } else if (tm.tm_hour == 12) { - /* 12 AM = 00 hr */ - tm.tm_hour = 0; - } - /* Let the C library deal with daylight savings time. */ - tm.tm_isdst = -1; - - return mktime(&tm); -} - - -static GList *msn_logger_list(GaimLogType type, const char *sn, GaimAccount *account) -{ - GList *list = NULL; - char *username; - GaimBuddy *buddy; - const char *logdir; - const char *savedfilename = NULL; - char *logfile; - char *path; - GError *error = NULL; - gchar *contents = NULL; - gsize length; - xmlnode *root; - xmlnode *message; - const char *old_session_id = ""; - struct msn_logger_data *data = NULL; - - g_return_val_if_fail(sn != NULL, list); - g_return_val_if_fail(account != NULL, list); - - if (strcmp(account->protocol_id, "prpl-msn")) - return list; - - logdir = gaim_prefs_get_string("/plugins/core/log_reader/msn/log_directory"); - - /* By clearing the log directory path, this logger can be (effectively) disabled. */ - if (!*logdir) - return list; - - buddy = gaim_find_buddy(account, sn); - - if ((username = g_strdup(gaim_account_get_string( - account, "log_reader_msn_log_folder", NULL)))) { - /* As a special case, we allow the null string to kill the parsing - * straight away. This would allow the user to deal with the case - * when two account have the same username at different domains and - * only one has logs stored. - */ - if (!*username) { - g_free(username); - return list; - } - } else { - username = g_strdup(gaim_normalize(account, account->username)); - } - - if (buddy) - savedfilename = gaim_blist_node_get_string(&buddy->node, "log_reader_msn_log_filename"); - - if (savedfilename) { - /* As a special case, we allow the null string to kill the parsing - * straight away. This would allow the user to deal with the case - * when two buddies have the same username at different domains and - * only one has logs stored. - */ - if (!*savedfilename) { - g_free(username); - return list; - } - - logfile = g_strdup(savedfilename); - } else { - logfile = g_strdup_printf("%s.xml", gaim_normalize(account, sn)); - } - - path = g_build_filename(logdir, username, "History", logfile, NULL); - - if (!g_file_test(path, G_FILE_TEST_EXISTS)) { - gboolean found = FALSE; - char *at_sign; - GDir *dir; - - g_free(path); - - if (savedfilename) { - /* We had a saved filename, but it doesn't exist. - * Returning now is the right course of action because we don't - * want to detect another file incorrectly. - */ - g_free(username); - g_free(logfile); - return list; - } - - /* Perhaps we're using a new version of MSN with the weird numbered folders. - * I don't know how the numbers are calculated, so I'm going to attempt to - * find logs by pattern matching... - */ - - at_sign = g_strrstr(username, "@"); - if (at_sign) - *at_sign = '\0'; - - dir = g_dir_open(logdir, 0, NULL); - if (dir) { - const gchar *name; - - while ((name = g_dir_read_name(dir))) { - const char *c = name; - - if (!gaim_str_has_prefix(c, username)) - continue; - - c += strlen(username); - while (*c) { - if (!g_ascii_isdigit(*c)) - break; - - c++; - } - - path = g_build_filename(logdir, name, NULL); - /* The !c makes sure we got to the end of the while loop above. */ - if (!*c && g_file_test(path, G_FILE_TEST_IS_DIR)) { - char *history_path = g_build_filename( - path, "History", NULL); - if (g_file_test(history_path, G_FILE_TEST_IS_DIR)) { - gaim_account_set_string(account, - "log_reader_msn_log_folder", name); - g_free(path); - path = history_path; - found = TRUE; - break; - } - g_free(path); - g_free(history_path); - } - else - g_free(path); - } - g_dir_close(dir); - } - g_free(username); - - if (!found) { - g_free(logfile); - return list; - } - - /* If we've reached this point, we've found a History folder. */ - - username = g_strdup(gaim_normalize(account, sn)); - at_sign = g_strrstr(username, "@"); - if (at_sign) - *at_sign = '\0'; - - found = FALSE; - dir = g_dir_open(path, 0, NULL); - if (dir) { - const gchar *name; - - while ((name = g_dir_read_name(dir))) { - const char *c = name; - - if (!gaim_str_has_prefix(c, username)) - continue; - - c += strlen(username); - while (*c) { - if (!g_ascii_isdigit(*c)) - break; - - c++; - } - - path = g_build_filename(path, name, NULL); - if (!strcmp(c, ".xml") && - g_file_test(path, G_FILE_TEST_EXISTS)) { - found = TRUE; - g_free(logfile); - logfile = g_strdup(name); - break; - } - else - g_free(path); - } - g_dir_close(dir); - } - g_free(username); - - if (!found) { - g_free(logfile); - return list; - } - } else { - g_free(username); - g_free(logfile); - logfile = NULL; /* No sense saving the obvious bu...@do.... */ - } - - gaim_debug(GAIM_DEBUG_INFO, "MSN log read", - "Reading %s\n", path); - if (!g_file_get_contents(path, &contents, &length, &error)) { - g_free(path); - gaim_debug(GAIM_DEBUG_ERROR, "MSN log read", - "Error reading log\n"); - if (error) - g_error_free(error); - return list; - } - g_free(path); - - /* Reading the file was successful... - * Save its name if it involves the crazy numbers. The idea here is that you could - * then tweak the blist.xml file by hand if need be. This would be the case if two - * buddies have the same username at different domains. One set of logs would get - * detected for both buddies. - */ - if (buddy && logfile) { - gaim_blist_node_set_string(&buddy->node, "log_reader_msn_log_filename", logfile); - g_free(logfile); - } - - root = xmlnode_from_str(contents, length); - g_free(contents); - if (!root) - return list; - - for (message = xmlnode_get_child(root, "Message"); message; - message = xmlnode_get_next_twin(message)) { - const char *session_id; - - session_id = xmlnode_get_attrib(message, "SessionID"); - if (!session_id) { - gaim_debug(GAIM_DEBUG_ERROR, "MSN log parse", - "Error parsing message: %s\n", "SessionID missing"); - continue; - } - - if (strcmp(session_id, old_session_id)) { - /* - * The session ID differs from the last message. - * Thus, this is the start of a new conversation. - */ - GaimLog *log; - - data = g_new0(struct msn_logger_data, 1); - data->root = root; - data->message = message; - data->session_id = session_id; - data->text = NULL; - data->last_log = FALSE; - - /* XXX: Look into this later... Should we pass in a struct tm? */ - log = gaim_log_new(GAIM_LOG_IM, sn, account, NULL, msn_logger_parse_timestamp(message), NULL); - log->logger = msn_logger; - log->logger_data = data; - - list = g_list_append(list, log); - } - old_session_id = session_id; - } - - if (data) - data->last_log = TRUE; - - return list; -} - -static char * msn_logger_read (GaimLog *log, GaimLogReadFlags *flags) -{ - struct msn_logger_data *data; - GString *text = NULL; - xmlnode *message; - - g_return_val_if_fail(log != NULL, g_strdup("")); - - data = log->logger_data; - - if (data->text) { - /* The GTK code which displays the logs g_free()s whatever is - * returned from this function. Thus, we can't reuse the str - * part of the GString. The only solution is to free it and - * start over. - */ - g_string_free(data->text, FALSE); - } - - text = g_string_new(""); - - if (!data->root || !data->message || !data->session_id) { - /* Something isn't allocated correctly. */ - gaim_debug(GAIM_DEBUG_ERROR, "MSN log parse", - "Error parsing message: %s\n", "Internal variables inconsistent"); - data->text = text; - - return text->str; - } - - for (message = data->message; message; - message = xmlnode_get_next_twin(message)) { - - const char *new_session_id; - xmlnode *text_node; - const char *from_name = NULL; - const char *to_name = NULL; - xmlnode *from; - xmlnode *to; - enum name_guesses name_guessed = NAME_GUESS_UNKNOWN; - const char *their_name; - time_t time_unix; - struct tm *tm_new; - char *timestamp; - char *tmp; - const char *style; - - new_session_id = xmlnode_get_attrib(message, "SessionID"); - - /* If this triggers, something is wrong with the XML. */ - if (!new_session_id) { - gaim_debug(GAIM_DEBUG_ERROR, "MSN log parse", - "Error parsing message: %s\n", "New SessionID missing"); - break; - } - - if (strcmp(new_session_id, data->session_id)) { - /* The session ID differs from the first message. - * Thus, this is the start of a new conversation. - */ - break; - } - - text_node = xmlnode_get_child(message, "Text"); - if (!text_node) - continue; - - from = xmlnode_get_child(message, "From"); - if (from) { - xmlnode *user = xmlnode_get_child(from, "User"); - - if (user) { - from_name = xmlnode_get_attrib(user, "FriendlyName"); - - /* This saves a check later. */ - if (!*from_name) - from_name = NULL; - } - } - - to = xmlnode_get_child(message, "To"); - if (to) { - xmlnode *user = xmlnode_get_child(to, "User"); - if (user) { - to_name = xmlnode_get_attrib(user, "FriendlyName"); - - /* This saves a check later. */ - if (!*to_name) - to_name = NULL; - } - } - - their_name = from_name; - if (from_name && gaim_prefs_get_bool("/plugins/core/log_reader/use_name_heuristics")) { - const char *friendly_name = gaim_connection_get_display_name(log->account->gc); - - if (friendly_name != NULL) { - int friendly_name_length = strlen(friendly_name); - int alias_length = strlen(log->account->alias); - GaimBuddy *buddy = gaim_find_buddy(log->account, log->name); - gboolean from_name_matches; - gboolean to_name_matches; - - if (buddy && buddy->alias) - their_name = buddy->alias; - - /* Try to guess which user is me. - * The first step is to determine if either of the names matches either my - * friendly name or alias. For this test, "match" is defined as: - * ^(friendly_name|alias)([^a-zA-Z0-9].*)?$ - */ - from_name_matches = (gaim_str_has_prefix(from_name, friendly_name) && - !isalnum(*(from_name + friendly_name_length))) || - (gaim_str_has_prefix(from_name, log->account->alias) && - !isalnum(*(from_name + alias_length))); - - to_name_matches = to_name != NULL && ( - (gaim_str_has_prefix(to_name, friendly_name) && - !isalnum(*(to_name + friendly_name_length))) || - (gaim_str_has_prefix(to_name, log->account->alias) && - !isalnum(*(to_name + alias_length)))); - - if (from_name_matches) { - if (!to_name_matches) { - name_guessed = NAME_GUESS_ME; - } - } else if (to_name_matches) { - name_guessed = NAME_GUESS_THEM; - } else { - if (buddy && buddy->alias) { - char *alias = g_strdup(buddy->alias); - - /* "Truncate" the string at the first non-alphanumeric - * character. The idea is to relax the comparison. - */ - char *temp; - for (temp = alias; *temp ; temp++) { - if (!isalnum(*temp)) { - *temp = '\0'; - break; - } - } - alias_length = strlen(alias); - - /* Try to guess which user is them. - * The first step is to determine if either of the names - * matches their alias. For this test, "match" is - * defined as: ^alias([^a-zA-Z0-9].*)?$ - */ - from_name_matches = (gaim_str_has_prefix( - from_name, alias) && - !isalnum(*(from_name + - alias_length))); - - to_name_matches = to_name && (gaim_str_has_prefix( - to_name, alias) && - !isalnum(*(to_name + - alias_length))); - - g_free(alias); - - if (from_name_matches) { - if (!to_name_matches) { - name_guessed = NAME_GUESS_THEM; - } - } else if (to_name_matches) { - name_guessed = NAME_GUESS_ME; - } else if (buddy->server_alias) { - friendly_name_length = - strlen(buddy->server_alias); - - /* Try to guess which user is them. - * The first step is to determine if either of - * the names matches their friendly name. For - * this test, "match" is defined as: - * ^friendly_name([^a-zA-Z0-9].*)?$ - */ - from_name_matches = (gaim_str_has_prefix( - from_name, - buddy->server_alias) && - !isalnum(*(from_name + - friendly_name_length))); - - to_name_matches = to_name && ( - (gaim_str_has_prefix( - to_name, buddy->server_alias) && - !isalnum(*(to_name + - friendly_name_length)))); - - if (from_name_matches) { - if (!to_name_matches) { - name_guessed = NAME_GUESS_THEM; - } - } else if (to_name_matches) { - name_guessed = NAME_GUESS_ME; - } - } - } - } - } - } - - if (name_guessed != NAME_GUESS_UNKNOWN) { - text = g_string_append(text, "<span style=\"color: #"); - if (name_guessed == NAME_GUESS_ME) - text = g_string_append(text, "16569E"); - else - text = g_string_append(text, "A82F2F"); - text = g_string_append(text, ";\">"); - } - - time_unix = msn_logger_parse_timestamp(message); - tm_new = localtime(&time_unix); - - timestamp = g_strdup_printf("<font size=\"2\">(%02u:%02u:%02u)</font> ", - tm_new->tm_hour, tm_new->tm_min, tm_new->tm_sec); - text = g_string_append(text, timestamp); - g_free(timestamp); - - if (from_name) { - text = g_string_append(text, "<b>"); - - if (name_guessed == NAME_GUESS_ME) - text = g_string_append(text, log->account->alias); - else if (name_guessed == NAME_GUESS_THEM) - text = g_string_append(text, their_name); - else - text = g_string_append(text, from_name); - - text = g_string_append(text, ":</b> "); - } - - if (name_guessed != NAME_GUESS_UNKNOWN) - text = g_string_append(text, "</span>"); - - style = xmlnode_get_attrib(text_node, "Style"); - - tmp = xmlnode_get_data(text_node); - if (style && *style) { - text = g_string_append(text, "<span style=\""); - text = g_string_append(text, style); - text = g_string_append(text, "\">"); - text = g_string_append(text, tmp); - text = g_string_append(text, "</span>\n"); - } else { - text = g_string_append(text, tmp); - text = g_string_append(text, "\n"); - } - g_free(tmp); - } - - data->text = text; - - return text->str; -} - -static int msn_logger_size (GaimLog *log) -{ - char *text; - size_t size; - - g_return_val_if_fail(log != NULL, 0); - - if (gaim_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) - return 0; - - text = msn_logger_read(log, NULL); - size = strlen(text); - g_free(text); - - return size; -} - -static void msn_logger_finalize(GaimLog *log) -{ - struct msn_logger_data *data; - - g_return_if_fail(log != NULL); - - data = log->logger_data; - - if (data->last_log) - xmlnode_free(data->root); - - if (data->text) - g_string_free(data->text, FALSE); -} - - -/***************************************************************************** - * Trillian Logger * - *****************************************************************************/ - -/* The trillian logger doesn't write logs, only reads them. This is to include - * Trillian logs in the log viewer transparently. - */ - -static GaimLogLogger *trillian_logger; -static void trillian_logger_finalize(GaimLog *log); - -struct trillian_logger_data { - char *path; /* FIXME: Change this to use GaimStringref like log.c:old_logger_list */ - int offset; - int length; - char *their_nickname; -}; - -static GList *trillian_logger_list(GaimLogType type, const char *sn, GaimAccount *account) -{ - GList *list = NULL; - const char *logdir; - GaimPlugin *plugin; - GaimPluginProtocolInfo *prpl_info; - char *prpl_name; - const char *buddy_name; - char *filename; - char *path; - GError *error = NULL; - gchar *contents = NULL; - gsize length; - gchar *line; - gchar *c; - - g_return_val_if_fail(sn != NULL, list); - g_return_val_if_fail(account != NULL, list); - - logdir = gaim_prefs_get_string("/plugins/core/log_reader/trillian/log_directory"); - - /* By clearing the log directory path, this logger can be (effectively) disabled. */ - if (!*logdir) - return list; - - plugin = gaim_find_prpl(gaim_account_get_protocol_id(account)); - if (!plugin) - return NULL; - - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(plugin); - if (!prpl_info->list_icon) - return NULL; - - prpl_name = g_ascii_strup(prpl_info->list_icon(account, NULL), -1); - - buddy_name = gaim_normalize(account, sn); - - filename = g_strdup_printf("%s.log", buddy_name); - path = g_build_filename( - logdir, prpl_name, filename, NULL); - - gaim_debug(GAIM_DEBUG_INFO, "Trillian log list", - "Reading %s\n", path); - /* FIXME: There's really no need to read the entire file at once. - * See src/log.c:old_logger_list for a better approach. - */ - if (!g_file_get_contents(path, &contents, &length, &error)) { - if (error) { - g_error_free(error); - error = NULL; - } - g_free(path); - - path = g_build_filename( - logdir, prpl_name, "Query", filename, NULL); - gaim_debug(GAIM_DEBUG_INFO, "Trillian log list", - "Reading %s\n", path); - if (!g_file_get_contents(path, &contents, &length, &error)) { - if (error) - g_error_free(error); - } - } - g_free(filename); - - if (contents) { - struct trillian_logger_data *data = NULL; - int offset = 0; - int last_line_offset = 0; - - line = contents; - c = contents; - while (*c) { - offset++; - - if (*c != '\n') { - c++; - continue; - } - - *c = '\0'; - if (gaim_str_has_prefix(line, "Session Close ")) { - if (data && !data->length) { - if (!(data->length = last_line_offset - data->offset)) { - /* This log had no data, so we remove it. */ - GList *last = g_list_last(list); - - gaim_debug(GAIM_DEBUG_INFO, "Trillian log list", - "Empty log. Offset %i\n", data->offset); - - trillian_logger_finalize((GaimLog *)last->data); - list = g_list_delete_link(list, last); - } - } - } else if (line[0] && line[1] && line [3] && - gaim_str_has_prefix(&line[3], "sion Start ")) { - - char *their_nickname = line; - char *timestamp; - - if (data && !data->length) - data->length = last_line_offset - data->offset; - - while (*their_nickname && (*their_nickname != ':')) - their_nickname++; - their_nickname++; - - /* This code actually has nothing to do with - * the timestamp YET. I'm simply using this - * variable for now to NUL-terminate the - * their_nickname string. - */ - timestamp = their_nickname; - while (*timestamp && *timestamp != ')') - timestamp++; - - if (*timestamp == ')') { - char *month; - struct tm tm; - - *timestamp = '\0'; - if (line[0] && line[1] && line[2]) - timestamp += 3; - - /* Now we start dealing with the timestamp. */ - - /* Skip over the day name. */ - while (*timestamp && (*timestamp != ' ')) - timestamp++; - *timestamp = '\0'; - timestamp++; - - /* Parse out the month. */ - month = timestamp; - while (*timestamp && (*timestamp != ' ')) - timestamp++; - *timestamp = '\0'; - timestamp++; - - /* Parse the day, time, and year. */ - if (sscanf(timestamp, "%u %u:%u:%u %u", - &tm.tm_mday, &tm.tm_hour, - &tm.tm_min, &tm.tm_sec, - &tm.tm_year) != 5) { - - gaim_debug(GAIM_DEBUG_ERROR, - "Trillian log timestamp parse", - "Session Start parsing error\n"); - } else { - GaimLog *log; - - tm.tm_year -= 1900; - - /* Let the C library deal with - * daylight savings time. - */ - tm.tm_isdst = -1; - - /* Ugly hack, in case current locale - * is not English. This code is taken - * from log.c. - */ - if (strcmp(month, "Jan") == 0) { - tm.tm_mon= 0; - } else if (strcmp(month, "Feb") == 0) { - tm.tm_mon = 1; - } else if (strcmp(month, "Mar") == 0) { - tm.tm_mon = 2; - } else if (strcmp(month, "Apr") == 0) { - tm.tm_mon = 3; - } else if (strcmp(month, "May") == 0) { - tm.tm_mon = 4; - } else if (strcmp(month, "Jun") == 0) { - tm.tm_mon = 5; - } else if (strcmp(month, "Jul") == 0) { - tm.tm_mon = 6; - } else if (strcmp(month, "Aug") == 0) { - tm.tm_mon = 7; - } else if (strcmp(month, "Sep") == 0) { - tm.tm_mon = 8; - } else if (strcmp(month, "Oct") == 0) { - tm.tm_mon = 9; - } else if (strcmp(month, "Nov") == 0) { - tm.tm_mon = 10; - } else if (strcmp(month, "Dec") == 0) { - tm.tm_mon = 11; - } - - data = g_new0( - struct trillian_logger_data, 1); - data->path = g_strdup(path); - data->offset = offset; - data->length = 0; - data->their_nickname = - g_strdup(their_nickname); - - /* XXX: Look into this later... Should we pass in a struct tm? */ - log = gaim_log_new(GAIM_LOG_IM, - sn, account, NULL, mktime(&tm), NULL); - log->logger = trillian_logger; - log->logger_data = data; - - list = g_list_append(list, log); - } - } - } - c++; - line = c; - last_line_offset = offset; - } - - g_free(contents); - } - g_free(path); - - g_free(prpl_name); - - return list; -} - -static char * trillian_logger_read (GaimLog *log, GaimLogReadFlags *flags) -{ - struct trillian_logger_data *data; - char *read; - FILE *file; - GaimBuddy *buddy; - char *escaped; - GString *formatted; - char *c; - char *line; - - g_return_val_if_fail(log != NULL, g_strdup("")); - - data = log->logger_data; - - g_return_val_if_fail(data->path != NULL, g_strdup("")); - g_return_val_if_fail(data->length > 0, g_strdup("")); - g_return_val_if_fail(data->their_nickname != NULL, g_strdup("")); - - gaim_debug(GAIM_DEBUG_INFO, "Trillian log read", - "Reading %s\n", data->path); - - read = g_malloc(data->length + 2); - - file = g_fopen(data->path, "rb"); - fseek(file, data->offset, SEEK_SET); - fread(read, data->length, 1, file); - fclose(file); - - if (read[data->length-1] == '\n') { - read[data->length] = '\0'; - } else { - read[data->length] = '\n'; - read[data->length+1] = '\0'; - } - - /* Load miscellaneous data. */ - buddy = gaim_find_buddy(log->account, log->name); - - escaped = g_markup_escape_text(read, -1); - g_free(read); - read = escaped; - - /* Apply formatting... */ - formatted = g_string_new(""); - c = read; - line = read; - while (*c) - { - if (*c == '\n') - { - char *link_temp_line; - char *link; - char *timestamp; - char *footer = NULL; - *c = '\0'; - - /* Convert links. - * - * The format is (Link: URL)URL - * So, I want to find each occurance of "(Link: " and replace that chunk with: - * <a href=" - * Then, replace the next ")" with: - * "> - * Then, replace the next " " (or add this if the end-of-line is reached) with: - * </a> - */ - link_temp_line = NULL; - while ((link = g_strstr_len(line, strlen(line), "(Link: "))) { - GString *temp; - - if (!*link) - continue; - - *link = '\0'; - link++; - - temp = g_string_new(line); - g_string_append(temp, "<a href=\""); - - if (strlen(link) >= 6) { - link += (sizeof("(Link: ") - 1); - - while (*link && *link != ')') { - g_string_append_c(temp, *link); - link++; - } - if (link) { - link++; - - g_string_append(temp, "\">"); - while (*link && *link != ' ') { - g_string_append_c(temp, *link); - link++; - } - g_string_append(temp, "</a>"); - } - - g_string_append(temp, link); - - /* Free the last round's line. */ - if (link_temp_line) - g_free(line); - - line = temp->str; - g_string_free(temp, FALSE); - - /* Save this memory location so we can free it later. */ - link_temp_line = line; - } - } - - timestamp = ""; - if (*line == '[') { - timestamp = line; - while (*timestamp && *timestamp != ']') - timestamp++; - if (*timestamp == ']') { - *timestamp = '\0'; - line++; - /* TODO: Parse the timestamp and convert it to Gaim's format. */ - g_string_append_printf(formatted, - "<font size=\"2\">(%s)</font> ", line); - line = timestamp; - if (line[1] && line[2]) - line += 2; - } - - if (gaim_str_has_prefix(line, "*** ")) { - line += (sizeof("*** ") - 1); - g_string_append(formatted, "<b>"); - footer = "</b>"; - if (gaim_str_has_prefix(line, "NOTE: This user is offline.")) { - line = _("User is offline."); - } else if (gaim_str_has_prefix(line, - "NOTE: Your status is currently set to ")) { - - line += (sizeof("NOTE: ") - 1); - } else if (gaim_str_has_prefix(line, "Auto-response sent to ")) { - g_string_append(formatted, _("Auto-response sent:")); - while (*line && *line != ':') - line++; - if (*line) - line++; - g_string_append(formatted, "</b>"); - footer = NULL; - } else if (strstr(line, " signed off ")) { - if (buddy != NULL && buddy->alias) - g_string_append_printf(formatted, - _("%s has signed off."), buddy->alias); - else - g_string_append_printf(formatted, - _("%s has signed off."), log->name); - line = ""; - } else if (strstr(line, " signed on ")) { - if (buddy != NULL && buddy->alias) - g_string_append(formatted, buddy->alias); - else - g_string_append(formatted, log->name); - line = " logged in."; - } else if (gaim_str_has_prefix(line, - "One or more messages may have been undeliverable.")) { - - g_string_append(formatted, - "<span style=\"color: #ff0000;\">"); - g_string_append(formatted, - _("One or more messages may have been " - "undeliverable.")); - line = ""; - footer = "</span></b>"; - } else if (gaim_str_has_prefix(line, - "You have been disconnected.")) { - - g_string_append(formatted, - "<span style=\"color: #ff0000;\">"); - g_string_append(formatted, - _("You were disconnected from the server.")); - line = ""; - footer = "</span></b>"; - } else if (gaim_str_has_prefix(line, - "You are currently disconnected.")) { - - g_string_append(formatted, - "<span style=\"color: #ff0000;\">"); - line = _("You are currently disconnected. Messages " - "will not be received unless you are " - "logged in."); - footer = "</span></b>"; - } else if (gaim_str_has_prefix(line, - "Your previous message has not been sent.")) { - - g_string_append(formatted, - "<span style=\"color: #ff0000;\">"); - - if (gaim_str_has_prefix(line, - "Your previous message has not been sent. " - "Reason: Maximum length exceeded.")) { - - g_string_append(formatted, - _("Message could not be sent because " - "the maximum length was exceeded.")); - line = ""; - } else { - g_string_append(formatted, - _("Message could not be sent.")); - line += (sizeof( - "Your previous message " - "has not been sent. ") - 1); - } - - footer = "</span></b>"; - } - } else if (gaim_str_has_prefix(line, data->their_nickname)) { - if (buddy != NULL && buddy->alias) { - line += strlen(data->their_nickname) + 2; - g_string_append_printf(formatted, - "<span style=\"color: #A82F2F;\">" - "<b>%s</b></span>: ", buddy->alias); - } - } else { - char *line2 = line; - while (*line2 && *line2 != ':') - line2++; - if (*line2 == ':') { - line2++; - line = line2; - g_string_append_printf(formatted, - "<span style=\"color: #16569E;\">" - "<b>%s</b></span>:", log->account->alias); - } - } - } - - g_string_append(formatted, line); - - if (footer) - g_string_append(formatted, footer); - - g_string_append_c(formatted, '\n'); - - if (link_temp_line) - g_free(link_temp_line); - - c++; - line = c; - } else - c++; - } - - g_free(read); - read = formatted->str; - g_string_free(formatted, FALSE); - - return read; -} - -static int trillian_logger_size (GaimLog *log) -{ - struct trillian_logger_data *data; - char *text; - size_t size; - - g_return_val_if_fail(log != NULL, 0); - - data = log->logger_data; - - if (gaim_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) { - return data ? data->length : 0; - } - - text = trillian_logger_read(log, NULL); - size = strlen(text); - g_free(text); - - return size; -} - -static void trillian_logger_finalize(GaimLog *log) -{ - struct trillian_logger_data *data; - - g_return_if_fail(log != NULL); - - data = log->logger_data; - - g_free(data->path); - g_free(data->their_nickname); - -} - - -/***************************************************************************** - * Plugin Code * - *****************************************************************************/ - -static void -init_plugin(GaimPlugin *plugin) -{ - char *path; -#ifdef _WIN32 - char *folder; -#endif - - g_return_if_fail(plugin != NULL); - - gaim_prefs_add_none("/plugins/core/log_reader"); - - - /* Add general preferences. */ - - gaim_prefs_add_bool("/plugins/core/log_reader/fast_sizes", FALSE); - gaim_prefs_add_bool("/plugins/core/log_reader/use_name_heuristics", TRUE); - - - /* Add Adium log directory preference. */ - gaim_prefs_add_none("/plugins/core/log_reader/adium"); - - /* Calculate default Adium log directory. */ -#ifdef _WIN32 - path = ""; -#else - path = g_build_filename(gaim_home_dir(), "Library", "Application Support", - "Adium 2.0", "Users", "Default", "Logs", NULL); -#endif - - gaim_prefs_add_string("/plugins/core/log_reader/adium/log_directory", path); - -#ifndef _WIN32 - g_free(path); -#endif - - - /* Add Fire log directory preference. */ - gaim_prefs_add_none("/plugins/core/log_reader/fire"); - - /* Calculate default Fire log directory. */ -#ifdef _WIN32 - path = ""; -#else - path = g_build_filename(gaim_home_dir(), "Library", "Application Support", - "Fire", "Sessions", NULL); -#endif - - gaim_prefs_add_string("/plugins/core/log_reader/fire/log_directory", path); - -#ifndef _WIN32 - g_free(path); -#endif - - - /* Add Messenger Plus! log directory preference. */ - gaim_prefs_add_none("/plugins/core/log_reader/messenger_plus"); - - /* Calculate default Messenger Plus! log directory. */ -#ifdef _WIN32 - folder = wgaim_get_special_folder(CSIDL_PERSONAL); - if (folder) { -#endif - path = g_build_filename( -#ifdef _WIN32 - folder, -#else - GAIM_LOG_READER_WINDOWS_MOUNT_POINT, "Documents and Settings", - g_get_user_name(), "My Documents", -#endif - "My Chat Logs", NULL); -#ifdef _WIN32 - g_free(folder); - } else /* !folder */ - path = g_strdup(""); -#endif - - gaim_prefs_add_string("/plugins/core/log_reader/messenger_plus/log_directory", path); - g_free(path); - - - /* Add MSN Messenger log directory preference. */ - gaim_prefs_add_none("/plugins/core/log_reader/msn"); - - /* Calculate default MSN message history directory. */ -#ifdef _WIN32 - folder = wgaim_get_special_folder(CSIDL_PERSONAL); - if (folder) { -#endif - path = g_build_filename( -#ifdef _WIN32 - folder, -#else - GAIM_LOG_READER_WINDOWS_MOUNT_POINT, "Documents and Settings", - g_get_user_name(), "My Documents", -#endif - "My Received Files", NULL); -#ifdef _WIN32 - g_free(folder); - } else /* !folder */ - path = g_strdup(""); -#endif - - gaim_prefs_add_string("/plugins/core/log_reader/msn/log_directory", path); - g_free(path); - - - /* Add Trillian log directory preference. */ - gaim_prefs_add_none("/plugins/core/log_reader/trillian"); - -#ifdef _WIN32 - /* XXX: While a major hack, this is the most reliable way I could - * think of to determine the Trillian installation directory. - */ - HKEY hKey; - char buffer[1024] = ""; - DWORD size = (sizeof(buffer) - 1); - DWORD type; - gboolean found = FALSE; - - path = NULL; - /* TODO: Test this after removing the trailing "\\". */ - if(ERROR_SUCCESS == RegOpenKeyEx(HKEY_CLASSES_ROOT, "Trillian.SkinZip\\shell\\Add\\command\\", - 0, KEY_QUERY_VALUE, &hKey)) { - - if(ERROR_SUCCESS == RegQueryValueEx(hKey, "", NULL, &type, (LPBYTE)buffer, &size)) { - char *value = buffer; - char *temp; - - /* Ensure the data is null terminated. */ - value[size] = '\0'; - - /* Break apart buffer. */ - if (*value == '"') { - value++; - temp = value; - while (*temp && *temp != '"') - temp++; - } else { - temp = value; - while (*temp && *temp != ' ') - temp++; - } - *temp = '\0'; - - /* Set path. */ - if (gaim_str_has_suffix(value, "trillian.exe")) - { - value[strlen(value) - (sizeof("trillian.exe") - 1)] = '\0'; - path = g_build_filename(value, "users", "default", "talk.ini", NULL); - } - } - RegCloseKey(hKey); - } - - if (!path) { - char *folder = wgaim_get_special_folder(CSIDL_PROGRAM_FILES); - if (folder) { - path = g_build_filename(folder, "Trillian", - "users", "default", "talk.ini", NULL); - g_free(folder); - } - } - - if (path) { - /* Read talk.ini file to find the log directory. */ - GError *error = NULL; - -#if 0 && GLIB_CHECK_VERSION(2,6,0) /* FIXME: Not tested yet. */ - GKeyFile *key_file; - - gaim_debug(GAIM_DEBUG_INFO, "Trillian talk.ini read", - "Reading %s\n", path); - if (!g_key_file_load_from_file(key_file, path, G_KEY_FILE_NONE, GError &error)) { - gaim_debug(GAIM_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) { - gaim_debug(GAIM_DEBUG_ERROR, "Trillian talk.ini read", - "Error reading Directory value from Logging section\n"); - g_error_free(error); - } - - if (logdir) { - g_strchomp(logdir); - gaim_prefs_add_string( - "/plugins/core/log_reader/trillian/log_directory", logdir); - found = TRUE; - } - - g_key_file_free(key_file); - } -#else /* !GLIB_CHECK_VERSION(2,6,0) */ - gsize length; - gchar *contents = NULL; - - gaim_debug(GAIM_DEBUG_INFO, "Trillian talk.ini read", - "Reading %s\n", path); - if (!g_file_get_contents(path, &contents, &length, &error)) { - gaim_debug(GAIM_DEBUG_ERROR, "Trillian talk.ini read", - "Error reading talk.ini\n"); - if (error) - g_error_free(error); - } else { - char *line = contents; - while (*contents) { - if (*contents == '\n') { - *contents = '\0'; - - /* XXX: This assumes the first Directory key is under [Logging]. */ - if (gaim_str_has_prefix(line, "Directory=")) { - line += (sizeof("Directory=") - 1); - g_strchomp(line); - gaim_prefs_add_string( - "/plugins/core/log_reader/trillian/log_directory", - line); - found = TRUE; - } - - contents++; - line = contents; - } else - contents++; - } - g_free(path); - g_free(contents); - } -#endif /* !GTK_CHECK_VERSION(2,6,0) */ - } /* path */ - - if (!found) { -#endif /* defined(_WIN32) */ - - /* Calculate default Trillian log directory. */ -#ifdef _WIN32 - folder = wgaim_get_special_folder(CSIDL_PROGRAM_FILES); - if (folder) { -#endif - path = g_build_filename( -#ifdef _WIN32 - folder, -#else - GAIM_LOG_READER_WINDOWS_MOUNT_POINT, "Program Files", -#endif - "Trillian", "users", "default", "logs", NULL); -#ifdef _WIN32 - g_free(folder); - } else /* !folder */ - path = g_strdup(""); -#endif - - gaim_prefs_add_string("/plugins/core/log_reader/trillian/log_directory", path); - g_free(path); - -#ifdef _WIN32 - } /* !found */ -#endif -} - -static gboolean -plugin_load(GaimPlugin *plugin) -{ - g_return_val_if_fail(plugin != NULL, FALSE); - - /* The names of IM clients are marked for translation at the request of - translators who wanted to transliterate them. Many translators - choose to leave them alone. Choose what's best for your language. */ - adium_logger = gaim_log_logger_new("adium", _("Adium"), 6, - NULL, - NULL, - adium_logger_finalize, - adium_logger_list, - adium_logger_read, - adium_logger_size); - gaim_log_logger_add(adium_logger); - - /* The names of IM clients are marked for translation at the request of - translators who wanted to transliterate them. Many translators - choose to leave them alone. Choose what's best for your language. */ - fire_logger = gaim_log_logger_new("fire", _("Fire"), 6, - NULL, - NULL, - fire_logger_finalize, - fire_logger_list, - fire_logger_read, - fire_logger_size); - gaim_log_logger_add(fire_logger); - - /* The names of IM clients are marked for translation at the request of - translators who wanted to transliterate them. Many translators - choose to leave them alone. Choose what's best for your language. */ - messenger_plus_logger = gaim_log_logger_new("messenger_plus", _("Messenger Plus!"), 6, - NULL, - NULL, - messenger_plus_logger_finalize, - messenger_plus_logger_list, - messenger_plus_logger_read, - messenger_plus_logger_size); - gaim_log_logger_add(messenger_plus_logger); - - /* The names of IM clients are marked for translation at the request of - translators who wanted to transliterate them. Many translators - choose to leave them alone. Choose what's best for your language. */ - msn_logger = gaim_log_logger_new("msn", _("MSN Messenger"), 6, - NULL, - NULL, - msn_logger_finalize, - msn_logger_list, - msn_logger_read, - msn_logger_size); - gaim_log_logger_add(msn_logger); - - /* The names of IM clients are marked for translation at the request of - translators who wanted to transliterate them. Many translators - choose to leave them alone. Choose what's best for your language. */ - trillian_logger = gaim_log_logger_new("trillian", _("Trillian"), 6, - NULL, - NULL, - trillian_logger_finalize, - trillian_logger_list, - trillian_logger_read, - trillian_logger_size); - gaim_log_logger_add(trillian_logger); - - return TRUE; -} - -static gboolean -plugin_unload(GaimPlugin *plugin) -{ - g_return_val_if_fail(plugin != NULL, FALSE); - - gaim_log_logger_remove(adium_logger); - gaim_log_logger_remove(fire_logger); - gaim_log_logger_remove(messenger_plus_logger); - gaim_log_logger_remove(msn_logger); - gaim_log_logger_remove(trillian_logger); - - return TRUE; -} - -static GaimPluginPrefFrame * -get_plugin_pref_frame(GaimPlugin *plugin) -{ - GaimPluginPrefFrame *frame; - GaimPluginPref *ppref; - - g_return_val_if_fail(plugin != NULL, FALSE); - - frame = gaim_plugin_pref_frame_new(); - - - /* Add general preferences. */ - - ppref = gaim_plugin_pref_new_with_label(_("General Log Reading Configuration")); - gaim_plugin_pref_frame_add(frame, ppref); - - ppref = gaim_plugin_pref_new_with_name_and_label( - "/plugins/core/log_reader/fast_sizes", _("Fast size calculations")); - gaim_plugin_pref_frame_add(frame, ppref); - - ppref = gaim_plugin_pref_new_with_name_and_label( - "/plugins/core/log_reader/use_name_heuristics", _("Use name heuristics")); - gaim_plugin_pref_frame_add(frame, ppref); - - - /* Add Log Directory preferences. */ - - ppref = gaim_plugin_pref_new_with_label(_("Log Directory")); - gaim_plugin_pref_frame_add(frame, ppref); - - ppref = gaim_plugin_pref_new_with_name_and_label( - "/plugins/core/log_reader/adium/log_directory", _("Adium")); - gaim_plugin_pref_frame_add(frame, ppref); - - ppref = gaim_plugin_pref_new_with_name_and_label( - "/plugins/core/log_reader/fire/log_directory", _("Fire")); - gaim_plugin_pref_frame_add(frame, ppref); - - ppref = gaim_plugin_pref_new_with_name_and_label( - "/plugins/core/log_reader/messenger_plus/log_directory", _("Messenger Plus!")); - gaim_plugin_pref_frame_add(frame, ppref); - - ppref = gaim_plugin_pref_new_with_name_and_label( - "/plugins/core/log_reader/msn/log_directory", _("MSN Messenger")); - gaim_plugin_pref_frame_add(frame, ppref); - - ppref = gaim_plugin_pref_new_with_name_and_label( - "/plugins/core/log_reader/trillian/log_directory", _("Trillian")); - gaim_plugin_pref_frame_add(frame, ppref); - - return frame; -} - -static GaimPluginUiInfo prefs_info = { - get_plugin_pref_frame, - 0, /* page_num (reserved) */ - NULL /* frame (reserved) */ -}; - -static GaimPluginInfo info = -{ - GAIM_PLUGIN_MAGIC, - GAIM_MAJOR_VERSION, - GAIM_MINOR_VERSION, - GAIM_PLUGIN_STANDARD, /**< type */ - NULL, /**< ui_requirement */ - 0, /**< flags */ - NULL, /**< dependencies */ - GAIM_PRIORITY_DEFAULT, /**< priority */ - "core-log_reader", /**< id */ - N_("Log Reader"), /**< name */ - VERSION, /**< version */ - - /** summary */ - N_("Includes other IM clients' logs in the " - "log viewer."), - - /** description */ - N_("When viewing logs, this plugin will include " - "logs from other IM clients. Currently, this " - "includes Adium, Fire, Messenger Plus!, " - "MSN Messenger, and Trillian."), - - "Richard Laager <rl...@us...>", /**< author */ - GAIM_WEBSITE, /**< homepage */ - plugin_load, /**< load */ - plugin_unload, /**< unload */ - NULL, /**< destroy */ - NULL, /**< ui_info */ - NULL, /**< extra_info */ - &prefs_info, /**< prefs_info */ - NULL /**< actions */ -}; - -GAIM_INIT_PLUGIN(log_reader, init_plugin, info) Property changes on: trunk/libgaim ___________________________________________________________________ Name: svn:ignore - Makefile.in .deps Makefile dbus-types.h libgaim.dll libgaim.dll.a + dbus-bindings.c dbus-types.c dbus-types.h .deps gaim-client-bindings.c gaim-client-bindings.h gaim-client-example libgaim.dll libgaim.dll.a .libs Makefile Makefile.in Property changes on: trunk/libgaim/plugins ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile .libs .deps *.dll + dbus-example-bindings.c .deps .libs Makefile Makefile.in *.dll Modified: trunk/libgaim/plugins/Makefile.am =================================================================== --- trunk/libgaim/plugins/Makefile.am 2006-08-20 19:37:33 UTC (rev 16916) +++ trunk/libgaim/plugins/Makefile.am 2006-08-20 20:14:12 UTC (rev 16917) @@ -27,6 +27,7 @@ plugindir = $(libdir)/gaim idle_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) +log_reader_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) psychic_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) statenotify_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) @@ -37,12 +38,14 @@ plugin_LTLIBRARIES = \ idle.la \ + log_reader.la \ psychic.la \ statenotify.la \ $(DBUS_LTLIB) idle_la_SOURCES = idle.c +log_reader_la_SOURCES = log_reader.c psychic_la_SOURCES = psychic.c statenotify_la_SOURCES = statenotify.c Modified: trunk/libgaim/plugins/Makefile.mingw =================================================================== --- trunk/libgaim/plugins/Makefile.mingw 2006-08-20 19:37:33 UTC (rev 16916) +++ trunk/libgaim/plugins/Makefile.mingw 2006-08-20 20:14:12 UTC (rev 16917) @@ -96,6 +96,7 @@ plugins: \ idle.dll \ + log_reader.dll \ psychic.dll \ statenotify.dll Copied: trunk/libgaim/plugins/log_reader.c (from rev 16915, trunk/gtk/plugins/log_reader.c) =================================================================== --- trunk/libgaim/plugins/log_reader.c (rev 0) +++ trunk/libgaim/plugins/log_reader.c 2006-08-20 20:14:12 UTC (rev 16917) @@ -0,0 +1,2019 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <stdio.h> + +#ifndef GAIM_PLUGINS +# define GAIM_PLUGINS +#endif + +#include "internal.h" + +#include "debug.h" +#include "log.h" +#include "plugin.h" +#include "pluginpref.h" +#include "prefs.h" +#include "stringref.h" +#include "util.h" +#include "version.h" +#include "xmlnode.h" + +/* This must be the last Gaim header included. */ +#ifdef _WIN32 +#include "win32dep.h" +#endif + +/* Where is the Windows partition mounted? */ +#ifndef GAIM_LOG_READER_WINDOWS_MOUNT_POINT +#define GAIM_LOG_READER_WINDOWS_MOUNT_POINT "/mnt/windo... [truncated message content] |
From: <dat...@us...> - 2006-08-20 23:08:57
|
Revision: 16923 Author: datallah Date: 2006-08-20 16:08:42 -0700 (Sun, 20 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16923&view=rev Log Message: ----------- Now featuring a working wingaim! Modified Paths: -------------- trunk/Makefile.mingw trunk/gaim-installer.nsi trunk/gtk/Makefile.mingw trunk/gtk/pixmaps/Makefile.mingw trunk/gtk/pixmaps/smileys/Makefile.mingw trunk/gtk/pixmaps/smileys/default/Makefile.mingw trunk/gtk/pixmaps/smileys/none/Makefile.mingw trunk/gtk/pixmaps/status/Makefile.mingw trunk/gtk/pixmaps/status/default/Makefile.mingw trunk/libgaim/Makefile.mingw Modified: trunk/Makefile.mingw =================================================================== --- trunk/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -5,96 +5,28 @@ # Description: Top Makefile for win32 (mingw) port of Gaim # -GAIM_SRC = ./src -GAIM_PROTOS = $(GAIM_SRC)/protocols -GAIM_PLUGINS = ./plugins -GAIM_PIXMAPS = ./pixmaps +LIBGAIM_TOP = ./libgaim +GTKGAIM_TOP = ./gtk GAIM_SOUNDS = ./sounds GAIM_INSTALL_DIR = ./win32-install-dir -GTKSPELL_TOP = ../win32-dev/gtkspell-2.0.6/gtkspell -LIBXML2_DIR = ../win32-dev/libxml2 -IDLETRACK_TOP = $(GAIM_SRC)/win32/IdleTracker -GTKRC_TOP = ../win32-dev/gtkrc -OSCAR = $(GAIM_PROTOS)/oscar -YAHOO = $(GAIM_PROTOS)/yahoo -MSN = $(GAIM_PROTOS)/msn -TOC = $(GAIM_PROTOS)/toc -IRC = $(GAIM_PROTOS)/irc -JABBER = $(GAIM_PROTOS)/jabber -GG = $(GAIM_PROTOS)/gg -NOVELL = $(GAIM_PROTOS)/novell -SILC = $(GAIM_PROTOS)/silc -SIMPLE = $(GAIM_PROTOS)/simple -SAMETIME = $(GAIM_PROTOS)/sametime PO = ./po MAKENSIS := makensis.exe VERSION := $(shell cat ./VERSION) -NEEDED_DLLS = $(GTKSPELL_TOP)/libgtkspell.dll \ - $(IDLETRACK_TOP)/idletrack.dll \ - $(LIBXML2_DIR)/bin/libxml2.dll -SOUNDS = $(GAIM_SOUNDS)/alert.wav \ - $(GAIM_SOUNDS)/login.wav \ - $(GAIM_SOUNDS)/logout.wav \ - $(GAIM_SOUNDS)/receive.wav \ - $(GAIM_SOUNDS)/send.wav - - -## -## Don't forget to change STATIC_PROTO_INIT, in config.h.mingw if you -## change the status of a protocol (static/plugin) -## - -OSCAR_TYPE = PLUGIN -YAHOO_TYPE = PLUGIN -MSN_TYPE = PLUGIN -TOC_TYPE = PLUGIN -IRC_TYPE = PLUGIN -JABBER_TYPE = PLUGIN -GG_TYPE = PLUGIN -NOVELL_TYPE = PLUGIN -SILC_TYPE = PLUGIN -SIMPLE_TYPE = PLUGIN -SAMETIME_TYPE = PLUGIN - all: cp config.h.mingw config.h - $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw - $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw - $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw - $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw - $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw - $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw - $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw - $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw - $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f Makefile.mingw - $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f Makefile.mingw - $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw - $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw + $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw + $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw - install: all mkdir -p $(GAIM_INSTALL_DIR)/plugins mkdir -p $(GAIM_INSTALL_DIR)/sounds/gaim - $(MAKE) -C $(GAIM_PIXMAPS) -f Makefile.mingw install $(MAKE) -C $(PO) -f Makefile.mingw install - $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw install - $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw install - $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw install - $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw install - $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw install - $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw install - $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw install - $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw install - $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw install - $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw install - $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f Makefile.mingw install - $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f Makefile.mingw install - cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) - cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim + $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw install + $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw install installer: $(MAKENSIS) /DGAIM_VERSION="$(VERSION)" /DWITH_GTK gaim-installer.nsi @@ -110,17 +42,7 @@ clean: $(MAKE) -C $(PO) -f Makefile.mingw clean - $(MAKE) -C $(OSCAR) -f Makefile.mingw clean - $(MAKE) -C $(YAHOO) -f Makefile.mingw clean - $(MAKE) -C $(MSN) -f Makefile.mingw clean - $(MAKE) -C $(IRC) -f Makefile.mingw clean - $(MAKE) -C $(JABBER) -f Makefile.mingw clean - $(MAKE) -C $(GG) -f Makefile.mingw clean - $(MAKE) -C $(NOVELL) -f Makefile.mingw clean - $(MAKE) -C $(SILC) -f Makefile.mingw clean - $(MAKE) -C $(SIMPLE) -f Makefile.mingw clean - $(MAKE) -C $(SAMETIME) -f Makefile.mingw clean - $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw clean - $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw clean + $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw clean + $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw clean rm -rf config.h $(GAIM_INSTALL_DIR) rm -rf gaim*.exe Modified: trunk/gaim-installer.nsi =================================================================== --- trunk/gaim-installer.nsi 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gaim-installer.nsi 2006-08-20 23:08:42 UTC (rev 16923) @@ -740,9 +740,10 @@ Delete "$INSTDIR\sounds\gaim\send.wav" RMDir "$INSTDIR\sounds\gaim" RMDir "$INSTDIR\sounds" - Delete "$INSTDIR\gaim.dll" Delete "$INSTDIR\gaim.exe" + Delete "$INSTDIR\gtkgaim.dll" Delete "$INSTDIR\idletrack.dll" + Delete "$INSTDIR\libgaim.dll" Delete "$INSTDIR\libgtkspell.dll" Delete "$INSTDIR\libmeanwhile-1.dll" Delete "$INSTDIR\libxml2.dll" Modified: trunk/gtk/Makefile.mingw =================================================================== --- trunk/gtk/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gtk/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -11,13 +11,25 @@ GTK_TOP := ../../win32-dev/gtk_2_0 GAIM_TOP := .. GTKGAIM_TOP := . -LIBGAIM_TOP := ../libgaim +LIBGAIM_TOP := $(GAIM_TOP)/libgaim +PLUGINS_TOP := $(GTKGAIM_TOP)/plugins +PIXMAPS_TOP := $(GTKGAIM_TOP)/pixmaps +SOUNDS_TOP := $(GTKGAIM_TOP)/sounds ASPELL_TOP := ../../win32-dev/aspell-dev-0-50-3-3 GTKSPELL_TOP := ../../win32-dev/gtkspell-2.0.6 IDLETRACK_TOP := $(GTKGAIM_TOP)/win32/IdleTracker GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir #LIBXML2_DIR := ../../win32-dev/libxml2 +NEEDED_DLLS = $(GTKSPELL_TOP)/gtkspell/libgtkspell.dll \ + $(IDLETRACK_TOP)/idletrack.dll + +SOUNDS = $(SOUNDS_TOP)/alert.wav \ + $(SOUNDS_TOP)/login.wav \ + $(SOUNDS_TOP)/logout.wav \ + $(SOUNDS_TOP)/receive.wav \ + $(SOUNDS_TOP)/send.wav + ## ## VARIABLE DEFINITIONS ## @@ -181,12 +193,17 @@ ## TARGET DEFINITIONS ## -.PHONY: all clean libgaim_include_path gtkgaim_include_path +.PHONY: all clean all: $(EXE_TARGET).exe $(GTKGAIM_TARGET).dll + $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw install: all + $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw install + $(MAKE) -C $(PIXMAPS_TOP) -f Makefile.mingw install cp $(GTKGAIM_TOP)/$(EXE_TARGET).exe $(GTKGAIM_TOP)/$(GTKGAIM_TARGET).dll $(GAIM_INSTALL_DIR) + cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) + cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim $(LIBGAIM_TOP)/libgaim.dll.a: S(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a @@ -197,9 +214,6 @@ # # BUILD DLL # -#$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: INCLUDE_PATHS = $(GTKGAIM_INCLUDE_PATHS) -#Once the UI split has finished for server.c, this will be the correct line -#$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TARGET).dll.a $(GTKGAIM_OBJECTS) $(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TOP)/libgaim.dll.a $(GTKGAIM_OBJECTS) $(IDLETRACK_TOP)/idletrack.dll $(CC) -shared $(LIBGAIM_OBJECTS) $(GTKGAIM_OBJECTS) $(LIB_PATHS) $(GTKGAIM_LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(GTKGAIM_TARGET).dll.a -o $(GTKGAIM_TARGET).dll @@ -224,6 +238,7 @@ rm -rf $(GTKGAIM_TARGET).dll rm -rf $(GTKGAIM_TARGET).dll.a rm -rf $(EXE_TARGET).exe + $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw clean clean_exe: rm -rf win_gaim.o Modified: trunk/gtk/pixmaps/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gtk/pixmaps/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -4,8 +4,10 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -datadir = ../win32-install-dir +GAIM_TOP := ../.. +datadir = $(GAIM_TOP)/win32-install-dir + include ./Makefile.am install: Modified: trunk/gtk/pixmaps/smileys/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/smileys/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gtk/pixmaps/smileys/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -4,8 +4,10 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -INSTALL_DIR = ../../win32-install-dir/pixmaps/gaim/smileys +GAIM_TOP = ../../.. +INSTALL_DIR = $(GAIM_TOP)/win32-install-dir/pixmaps/gaim/smileys + include ./Makefile.am install: Modified: trunk/gtk/pixmaps/smileys/default/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/smileys/default/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gtk/pixmaps/smileys/default/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -4,7 +4,9 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -datadir = ../../../win32-install-dir +GAIM_TOP = ../../../.. + +datadir = $(GAIM_TOP)/win32-install-dir include ./Makefile.am install: Modified: trunk/gtk/pixmaps/smileys/none/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/smileys/none/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gtk/pixmaps/smileys/none/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -4,7 +4,9 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -datadir = ../../../win32-install-dir +GAIM_TOP = ../../../.. + +datadir = $(GAIM_TOP)/win32-install-dir include ./Makefile.am install: Modified: trunk/gtk/pixmaps/status/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/status/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gtk/pixmaps/status/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -4,8 +4,10 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -INSTALL_DIR = ../../win32-install-dir/pixmaps/gaim/status +GAIM_TOP = ../../.. +INSTALL_DIR = $(GAIM_TOP)/win32-install-dir/pixmaps/gaim/status + include ./Makefile.am install: Modified: trunk/gtk/pixmaps/status/default/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/status/default/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/gtk/pixmaps/status/default/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -4,7 +4,9 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -datadir = ../../../win32-install-dir +GAIM_TOP = ../../../.. + +datadir = $(GAIM_TOP)/win32-install-dir include ./Makefile.am install: Modified: trunk/libgaim/Makefile.mingw =================================================================== --- trunk/libgaim/Makefile.mingw 2006-08-20 22:47:25 UTC (rev 16922) +++ trunk/libgaim/Makefile.mingw 2006-08-20 23:08:42 UTC (rev 16923) @@ -8,13 +8,17 @@ # PATHS # -INCLUDE_DIR := . GTK_TOP := ../../win32-dev/gtk_2_0 GAIM_TOP := .. -GAIM_SRC := . +LIBGAIM_TOP := . +PLUGINS_TOP := $(LIBGAIM_TOP)/plugins +PROTOCOLS_TOP := $(LIBGAIM_TOP)/protocols GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir LIBXML2_DIR := ../../win32-dev/libxml2 +NEEDED_DLLS = $(LIBXML2_DIR)/bin/libxml2.dll + + ## ## VARIABLE DEFINITIONS ## @@ -31,15 +35,15 @@ ## INCLUDE MAKEFILES ## -include $(GAIM_TOP)/libgaim/win32/global.mak +include $(LIBGAIM_TOP)/win32/global.mak ## ## INCLUDE PATHS ## INCLUDE_PATHS = \ - -I$(INCLUDE_DIR) \ - -I$(INCLUDE_DIR)/win32 \ + -I$(LIBGAIM_TOP) \ + -I$(LIBGAIM_TOP)/win32 \ -I$(GAIM_TOP) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ @@ -47,7 +51,7 @@ -I$(LIBXML2_DIR)/include LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(GAIM_SRC) \ + -L$(LIBGAIM_TOP) \ -L$(LIBXML2_DIR)/lib ## @@ -134,11 +138,14 @@ .PHONY: all clean include_path all: $(TARGET).dll - $(MAKE) -C protocols -f Makefile.mingw + $(MAKE) -C $(PROTOCOLS_TOP) -f Makefile.mingw + $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw install: all - $(MAKE) -C protocols -f Makefile.mingw install - cp $(GAIM_SRC)/$(TARGET).dll $(GAIM_INSTALL_DIR) + $(MAKE) -C $(PROTOCOLS_TOP) -f Makefile.mingw install + $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw install + cp $(LIBGAIM_TOP)/$(TARGET).dll $(GAIM_INSTALL_DIR) + cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) # # BUILD DLL @@ -155,4 +162,5 @@ rm -rf *.o ./win32/*.o rm -rf $(TARGET).dll rm -rf $(TARGET).dll.a - $(MAKE) -C protocols -f Makefile.mingw clean + $(MAKE) -C $(PROTOCOLS_TOP) -f Makefile.mingw clean + $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw clean This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-08-21 17:13:23
|
Revision: 16954 Author: datallah Date: 2006-08-21 10:13:16 -0700 (Mon, 21 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16954&view=rev Log Message: ----------- Newer versions of MinGW define "struct timezone" in <sys/time.h>, so we don't included it for wingaim (we don't use it anyway). Modified Paths: -------------- trunk/config.h.mingw trunk/libgaim/internal.h Modified: trunk/config.h.mingw =================================================================== --- trunk/config.h.mingw 2006-08-21 17:04:26 UTC (rev 16953) +++ trunk/config.h.mingw 2006-08-21 17:13:16 UTC (rev 16954) @@ -428,7 +428,7 @@ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the <sys/time.h> header file. */ -#define HAVE_SYS_TIME_H 1 +/* #undef HAVE_SYS_TIME_H */ /* Define to 1 if you have the <sys/types.h> header file. */ #define HAVE_SYS_TYPES_H 1 @@ -550,9 +550,9 @@ /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ /* #undef STACK_DIRECTION */ /* Loads static protocol plugin module initialization functions. */ Modified: trunk/libgaim/internal.h =================================================================== --- trunk/libgaim/internal.h 2006-08-21 17:04:26 UTC (rev 16953) +++ trunk/libgaim/internal.h 2006-08-21 17:13:16 UTC (rev 16954) @@ -70,9 +70,9 @@ #define BUF_LONG BUF_LEN * 2 #include <sys/stat.h> -#include <sys/time.h> #include <sys/types.h> #ifndef _WIN32 +#include <sys/time.h> #include <sys/wait.h> #endif #include <ctype.h> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-08-21 21:35:43
|
Revision: 16958 Author: sadrul Date: 2006-08-21 14:35:38 -0700 (Mon, 21 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16958&view=rev Log Message: ----------- Patch from Mark Schneider (queueRAM): this automatically updates the widgets when the terminal is resized. Pressing alt+l does a better job at refreshing the screen if things get scrambled. But it's not perfect yet. I warmenhoved the patch. I have been waiting to say that =) Modified Paths: -------------- trunk/COPYRIGHT trunk/console/libgnt/gntmain.c Modified: trunk/COPYRIGHT =================================================================== --- trunk/COPYRIGHT 2006-08-21 20:58:20 UTC (rev 16957) +++ trunk/COPYRIGHT 2006-08-21 21:35:38 UTC (rev 16958) @@ -1,5 +1,5 @@ Gaim -Copyright (C) 1998-2005 by the following: +Copyright (C) 1998-2006 by the following: If you have contributed to Gaim, you deserve to be on this list. Contact us (see: AUTHORS) and we'll add you. @@ -250,6 +250,7 @@ Luke Schierer Ralph Schmieder David Schmitt +Mark Schneider Evan Schoenberg Federico Schwindt Torrey Searle Modified: trunk/console/libgnt/gntmain.c =================================================================== --- trunk/console/libgnt/gntmain.c 2006-08-21 20:58:20 UTC (rev 16957) +++ trunk/console/libgnt/gntmain.c 2006-08-21 21:35:38 UTC (rev 16958) @@ -11,6 +11,7 @@ #include <stdlib.h> #include <locale.h> #include <unistd.h> +#include <signal.h> #include <string.h> #include <ctype.h> @@ -60,6 +61,8 @@ static void draw_taskbar(gboolean reposition); static void bring_on_top(GntWidget *widget); +static gboolean refresh_screen(); + static gboolean update_screen(gpointer null) { @@ -572,17 +575,7 @@ } else if (strcmp(buffer + 1, "l") == 0) { - update_screen(NULL); - werase(stdscr); - wrefresh(stdscr); - - X_MAX = getmaxx(stdscr); - Y_MAX = getmaxy(stdscr) - 1; - - g_hash_table_foreach(nodes, (GHFunc)refresh_node, NULL); - - update_screen(NULL); - draw_taskbar(TRUE); + refresh_screen(); } else if (strlen(buffer) == 2 && isdigit(*(buffer + 1))) { @@ -716,11 +709,41 @@ } } + return TRUE; +} + +static gboolean +refresh_screen() +{ + endwin(); refresh(); - return TRUE; + X_MAX = getmaxx(stdscr); + Y_MAX = getmaxy(stdscr) - 1; + + g_hash_table_foreach(nodes, (GHFunc)refresh_node, NULL); + update_screen(NULL); + draw_taskbar(TRUE); + + return FALSE; } +#ifdef SIGWINCH +static void +sighandler(int sig) +{ + if (sig == SIGWINCH) + { + werase(stdscr); + wrefresh(stdscr); + + g_idle_add(refresh_screen, NULL); + } + + signal(SIGWINCH, sighandler); +} +#endif + void gnt_init() { static GIOChannel *channel = NULL; @@ -780,6 +803,10 @@ werase(stdscr); wrefresh(stdscr); +#ifdef SIGWINCH + signal(SIGWINCH, sighandler); +#endif + g_type_init(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fac...@us...> - 2006-08-22 19:43:49
|
Revision: 16986 Author: faceprint Date: 2006-08-22 12:43:30 -0700 (Tue, 22 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16986&view=rev Log Message: ----------- I got a patch from Ian Goldberg about a year ago to let plugins tweak XML packets as they were sent or received I finally tweaked it the way I wanted it, and here it is. If it sucks, blame me, otherwise give him credit Modified Paths: -------------- trunk/COPYRIGHT trunk/libgaim/protocols/jabber/jabber.c trunk/libgaim/value.h Modified: trunk/COPYRIGHT =================================================================== --- trunk/COPYRIGHT 2006-08-22 19:18:46 UTC (rev 16985) +++ trunk/COPYRIGHT 2006-08-22 19:43:30 UTC (rev 16986) @@ -111,6 +111,7 @@ Ike Gingerich Gustavo Giráldez Richard Gobeille +Ian Goldberg Michael Golden Charlie Gordon Ryan C. Gordon Modified: trunk/libgaim/protocols/jabber/jabber.c =================================================================== --- trunk/libgaim/protocols/jabber/jabber.c 2006-08-22 19:18:46 UTC (rev 16985) +++ trunk/libgaim/protocols/jabber/jabber.c 2006-08-22 19:43:30 UTC (rev 16986) @@ -168,6 +168,12 @@ void jabber_process_packet(JabberStream *js, xmlnode *packet) { + gaim_signal_emit(my_protocol, "jabber-receiving-xmlnode", js->gc, &packet); + + /* if the signal leaves us with a null packet, we're done */ + if(NULL == packet) + return; + if(!strcmp(packet->name, "iq")) { jabber_iq_parse(js, packet); } else if(!strcmp(packet->name, "presence")) { @@ -327,6 +333,12 @@ char *txt; int len; + gaim_signal_emit(my_protocol, "jabber-sending-xmlnode", js->gc, &packet); + + /* if we get NULL back, we're done processing */ + if(NULL == packet) + return; + txt = xmlnode_to_str(packet, &len); jabber_send_raw(js, txt, len); g_free(txt); @@ -1882,6 +1894,30 @@ NULL, /* whiteboard_prpl_ops */ }; +static gboolean load_plugin(GaimPlugin *plugin) +{ + gaim_signal_register(plugin, "jabber-receiving-xmlnode", + gaim_marshal_VOID__POINTER_POINTER, NULL, 2, + gaim_value_new(GAIM_TYPE_SUBTYPE, GAIM_SUBTYPE_CONNECTION), + gaim_value_new_outgoing(GAIM_TYPE_SUBTYPE, GAIM_SUBTYPE_XMLNODE)); + + gaim_signal_register(plugin, "jabber-sending-xmlnode", + gaim_marshal_VOID__POINTER_POINTER, NULL, 2, + gaim_value_new(GAIM_TYPE_SUBTYPE, GAIM_SUBTYPE_CONNECTION), + gaim_value_new_outgoing(GAIM_TYPE_SUBTYPE, GAIM_SUBTYPE_XMLNODE)); + + return TRUE; +} + +static gboolean unload_plugin(GaimPlugin *plugin) +{ + gaim_signal_unregister(plugin, "jabber-receiving-xmlnode"); + + gaim_signal_unregister(plugin, "jabber-sending-xmlnode"); + + return TRUE; +} + static GaimPluginInfo info = { GAIM_PLUGIN_MAGIC, @@ -1903,8 +1939,8 @@ NULL, /**< author */ GAIM_WEBSITE, /**< homepage */ - NULL, /**< load */ - NULL, /**< unload */ + load_plugin, /**< load */ + unload_plugin, /**< unload */ NULL, /**< destroy */ NULL, /**< ui_info */ Modified: trunk/libgaim/value.h =================================================================== --- trunk/libgaim/value.h 2006-08-22 19:18:46 UTC (rev 16985) +++ trunk/libgaim/value.h 2006-08-22 19:43:30 UTC (rev 16986) @@ -74,7 +74,8 @@ GAIM_SUBTYPE_STATUS, GAIM_SUBTYPE_LOG, GAIM_SUBTYPE_XFER, - GAIM_SUBTYPE_SAVEDSTATUS + GAIM_SUBTYPE_SAVEDSTATUS, + GAIM_SUBTYPE_XMLNODE } GaimSubType; /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-08-23 21:35:32
|
Revision: 17008 Author: datallah Date: 2006-08-23 14:34:43 -0700 (Wed, 23 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=17008&view=rev Log Message: ----------- Lee Roach revamped the win32 makefiles. This makes me happy, they were in dire need of some loving. This makes life a great deal easier for anyone who wants to build out-of-tree plugins. Modified Paths: -------------- trunk/Makefile.mingw trunk/gtk/Makefile.mingw trunk/gtk/pixmaps/Makefile.mingw trunk/gtk/pixmaps/smileys/Makefile.mingw trunk/gtk/pixmaps/smileys/default/Makefile.mingw trunk/gtk/pixmaps/smileys/none/Makefile.mingw trunk/gtk/pixmaps/status/Makefile.mingw trunk/gtk/pixmaps/status/default/Makefile.mingw trunk/gtk/plugins/Makefile.mingw trunk/gtk/plugins/docklet/Makefile.mingw trunk/gtk/plugins/ticker/Makefile.mingw trunk/gtk/plugins/win32/transparency/Makefile.mingw trunk/gtk/plugins/win32/winprefs/Makefile.mingw trunk/gtk/win32/IdleTracker/Makefile.mingw trunk/libgaim/Makefile.mingw trunk/libgaim/plugins/Makefile.mingw trunk/libgaim/plugins/perl/Makefile.mingw trunk/libgaim/plugins/perl/common/Makefile.mingw trunk/libgaim/plugins/perl/common/module.h trunk/libgaim/plugins/ssl/Makefile.mingw trunk/libgaim/plugins/tcl/Makefile.mingw trunk/libgaim/protocols/Makefile.mingw trunk/libgaim/protocols/bonjour/Makefile.mingw trunk/libgaim/protocols/gg/Makefile.mingw trunk/libgaim/protocols/irc/Makefile.mingw trunk/libgaim/protocols/jabber/Makefile.mingw trunk/libgaim/protocols/msn/Makefile.mingw trunk/libgaim/protocols/novell/Makefile.mingw trunk/libgaim/protocols/oscar/Makefile.mingw trunk/libgaim/protocols/qq/Makefile.mingw trunk/libgaim/protocols/sametime/Makefile.mingw trunk/libgaim/protocols/silc/Makefile.mingw trunk/libgaim/protocols/simple/Makefile.mingw trunk/libgaim/protocols/toc/Makefile.mingw trunk/libgaim/protocols/yahoo/Makefile.mingw trunk/libgaim/protocols/zephyr/Makefile.mingw trunk/libgaim/win32/global.mak trunk/po/Makefile.mingw Added Paths: ----------- trunk/gtk/sounds/Makefile.mingw trunk/libgaim/win32/rules.mak trunk/libgaim/win32/targets.mak Modified: trunk/Makefile.mingw =================================================================== --- trunk/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -5,44 +5,37 @@ # Description: Top Makefile for win32 (mingw) port of Gaim # -LIBGAIM_TOP = ./libgaim -GTKGAIM_TOP = ./gtk -GAIM_SOUNDS = ./sounds -GAIM_INSTALL_DIR = ./win32-install-dir -PO = ./po +GAIM_TOP := . +include $(GAIM_TOP)/libgaim/win32/global.mak -MAKENSIS := makensis.exe +all: $(GAIM_CONFIG_H) + $(MAKE) -C $(GAIM_LIB_TOP) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(GAIM_GTK_TOP) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(GAIM_PO_TOP) -f $(GAIM_WIN32_MAKEFILE) -VERSION := $(shell cat ./VERSION) +install: all $(GAIM_INSTALL_DIR) + $(MAKE) -C $(GAIM_LIB_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_GTK_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_PO_TOP) -f $(GAIM_WIN32_MAKEFILE) install +installer: install + $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" /DWITH_GTK gaim-installer.nsi -all: - cp config.h.mingw config.h - $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw - $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw +installer_nogtk: install + $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" gaim-installer.nsi -install: all - mkdir -p $(GAIM_INSTALL_DIR)/plugins - mkdir -p $(GAIM_INSTALL_DIR)/sounds/gaim - $(MAKE) -C $(PO) -f Makefile.mingw install - $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw install - $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw install +installer_debug: install + $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" /DDEBUG gaim-installer.nsi -installer: - $(MAKENSIS) /DGAIM_VERSION="$(VERSION)" /DWITH_GTK gaim-installer.nsi - -installer_nogtk: - $(MAKENSIS) /DGAIM_VERSION="$(VERSION)" gaim-installer.nsi - -installer_debug: - $(MAKENSIS) /DGAIM_VERSION="$(VERSION)" /DDEBUG gaim-installer.nsi - installers: installer installer_nogtk - clean: - $(MAKE) -C $(PO) -f Makefile.mingw clean - $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw clean - $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw clean - rm -rf config.h $(GAIM_INSTALL_DIR) + $(MAKE) -C $(GAIM_PO_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(GAIM_GTK_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(GAIM_LIB_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + rm -rf $(GAIM_CONFIG_H) rm -rf gaim*.exe + rm -rf $(GAIM_INSTALL_PERLMOD_DIR) $(GAIM_INSTALL_PIXMAPS_DIR) $(GAIM_INSTALL_PLUGINS_DIR) + rm -rf $(GAIM_INSTALL_PO_DIR) $(GAIM_INSTALL_SOUNDS_DIR) $(GAIM_INSTALL_DIR) + +include $(GAIM_COMMON_TARGETS) Modified: trunk/gtk/Makefile.mingw =================================================================== --- trunk/gtk/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,46 +4,17 @@ # Description: Makefile for win32 (mingw) version of Gaim # -# -# PATHS -# +GAIM_TOP := .. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../win32-dev/gtk_2_0 -GAIM_TOP := .. -GTKGAIM_TOP := . -LIBGAIM_TOP := $(GAIM_TOP)/libgaim -PLUGINS_TOP := $(GTKGAIM_TOP)/plugins -PIXMAPS_TOP := $(GTKGAIM_TOP)/pixmaps -SOUNDS_TOP := $(GTKGAIM_TOP)/sounds -ASPELL_TOP := ../../win32-dev/aspell-dev-0-50-3-3 -GTKSPELL_TOP := ../../win32-dev/gtkspell-2.0.6 -IDLETRACK_TOP := $(GTKGAIM_TOP)/win32/IdleTracker -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -#LIBXML2_DIR := ../../win32-dev/libxml2 +NEEDED_DLLS = $(GTKSPELL_TOP)/gtkspell/libgtkspell.dll -NEEDED_DLLS = $(GTKSPELL_TOP)/gtkspell/libgtkspell.dll \ - $(IDLETRACK_TOP)/idletrack.dll - -SOUNDS = $(SOUNDS_TOP)/alert.wav \ - $(SOUNDS_TOP)/login.wav \ - $(SOUNDS_TOP)/logout.wav \ - $(SOUNDS_TOP)/receive.wav \ - $(SOUNDS_TOP)/send.wav - ## ## VARIABLE DEFINITIONS ## - EXE_TARGET = gaim - GTKGAIM_TARGET = gtkgaim -# Compiler and Linker Options - -CFLAGS = - -DEFINES = - ifeq ($(MAKECMDGOALS), $(EXE_TARGET)-portable.exe) DEFINES := $(DEFINES) -DPORTABLE endif @@ -54,33 +25,22 @@ LDFLAGS := $(WINAPP) -WINDRES := windres - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - LIBGAIM_INCLUDE_PATHS = \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ -I$(GAIM_TOP) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include -# -I$(LIBXML2_DIR)/include - INCLUDE_PATHS = \ $(LIBGAIM_INCLUDE_PATHS) \ - -I$(IDLETRACK_TOP) \ - -I$(GTKGAIM_TOP) \ - -I$(GTKGAIM_TOP)/win32 \ + -I$(GAIM_GTK_IDLETRACK_TOP) \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ @@ -88,20 +48,15 @@ -I$(GTKSPELL_TOP) \ -I$(ASPELL_TOP)/include - - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(GTKGAIM_TOP) \ - -L$(IDLETRACK_TOP) \ + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) \ + -L$(GAIM_GTK_IDLETRACK_TOP) \ -L$(ASPELL_TOP)/lib -# -L$(LIBXML2_DIR)/lib - ## ## SOURCES, OBJECTS ## - GTKGAIM_C_SRC = \ gaimstock.c \ gtkaccount.c \ @@ -140,18 +95,14 @@ win32/untar.c \ win32/wspell.c -RC_SRC = win32/gaimrc.rc - -EXE_C_SRC = win32/win_gaim.c - +RC_SRC = win32/gaimrc.rc +EXE_C_SRC = win32/win_gaim.c GTKGAIM_OBJECTS = $(GTKGAIM_C_SRC:%.c=%.o) - EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) ## ## LIBRARIES ## - LIBGAIM_LIBS = \ -lgaim \ -lglib-2.0 \ @@ -165,8 +116,6 @@ -liberty \ -lidletrack -# -lxml2 - GTKGAIM_LIBS = \ $(LIBGAIM_LIBS) \ -lgtk-win32-2.0 \ @@ -175,70 +124,49 @@ -lgdk-win32-2.0 \ -lgdk_pixbuf-2.0 -EXE_LIBS = +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file -%.o: %.c - $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ - -# How to make an RC file -%.o: %.rc - $(WINDRES) -i $< -o $@ - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(EXE_TARGET).exe $(GTKGAIM_TARGET).dll - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw + $(MAKE) -C $(GAIM_GTK_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) -install: all - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw install - $(MAKE) -C $(PIXMAPS_TOP) -f Makefile.mingw install - cp $(GTKGAIM_TOP)/$(EXE_TARGET).exe $(GTKGAIM_TOP)/$(GTKGAIM_TARGET).dll $(GAIM_INSTALL_DIR) +install: all $(GAIM_INSTALL_DIR) + $(MAKE) -C $(GAIM_GTK_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_GTK_PIXMAPS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_GTK_SOUNDS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_GTK_IDLETRACK_TOP) -f $(GAIM_WIN32_MAKEFILE) install + cp $(EXE_TARGET).exe $(GTKGAIM_TARGET).dll $(GAIM_INSTALL_DIR) cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) - cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim -$(LIBGAIM_TOP)/libgaim.dll.a: - S(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a +$(GTKGAIM_OBJECTS): $(GAIM_CONFIG_H) -$(IDLETRACK_TOP)/idletrack.dll: - $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw - -# -# BUILD DLL -# -$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TOP)/libgaim.dll.a $(GTKGAIM_OBJECTS) $(IDLETRACK_TOP)/idletrack.dll +$(GTKGAIM_TARGET).dll $(GTKGAIM_TARGET).dll.a: $(GAIM_LIBGAIM_DLL).a $(GAIM_IDLETRACK_DLL).a $(GTKGAIM_OBJECTS) $(CC) -shared $(LIBGAIM_OBJECTS) $(GTKGAIM_OBJECTS) $(LIB_PATHS) $(GTKGAIM_LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(GTKGAIM_TARGET).dll.a -o $(GTKGAIM_TARGET).dll -# -# BUILD EXE -# - -$(EXE_TARGET).exe: $(GTKGAIM_TARGET).dll $(EXE_OBJECTS) +$(EXE_TARGET).exe: $(GAIM_CONFIG_H) $(GAIM_GTKGAIM_DLL).a $(GAIM_IDLETRACK_DLL).a $(EXE_OBJECTS) $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(EXE_TARGET).exe -$(EXE_TARGET)-portable.exe: clean_exe $(EXE_OBJECTS) +$(EXE_TARGET)-portable.exe: clean_exe $(GAIM_CONFIG_H) $(GAIM_GTKGAIM_DLL).a $(GAIM_IDLETRACK_DLL).a $(EXE_OBJECTS) $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(EXE_TARGET)-portable.exe rm win_gaim.o ## ## CLEAN RULES ## - clean: - $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw clean - rm -rf *.o ./win32/*.o - rm -rf $(GTKGAIM_TARGET).dll - rm -rf $(GTKGAIM_TARGET).dll.a - rm -rf $(EXE_TARGET).exe - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw clean + $(MAKE) -C $(GAIM_GTK_IDLETRACK_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(GAIM_GTK_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + rm -rf $(GTKGAIM_OBJECTS) $(EXE_OBJECTS) + rm $(GTKGAIM_TARGET).dll + rm $(GTKGAIM_TARGET).dll.a + rm $(EXE_TARGET).exe + rm $(EXE_TARGET)-portable.exe clean_exe: - rm -rf win_gaim.o + rm win_gaim.o + +include $(GAIM_COMMON_TARGETS) Modified: trunk/gtk/pixmaps/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/pixmaps/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -5,9 +5,9 @@ # GAIM_TOP := ../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -datadir = $(GAIM_TOP)/win32-install-dir - +datadir = $(GAIM_INSTALL_DIR) include ./Makefile.am install: Modified: trunk/gtk/pixmaps/smileys/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/smileys/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/pixmaps/smileys/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,10 +4,6 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -GAIM_TOP = ../../.. - -INSTALL_DIR = $(GAIM_TOP)/win32-install-dir/pixmaps/gaim/smileys - include ./Makefile.am install: Modified: trunk/gtk/pixmaps/smileys/default/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/smileys/default/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/pixmaps/smileys/default/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,9 +4,10 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -GAIM_TOP = ../../../.. +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -datadir = $(GAIM_TOP)/win32-install-dir +datadir = $(GAIM_INSTALL_DIR) include ./Makefile.am install: Modified: trunk/gtk/pixmaps/smileys/none/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/smileys/none/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/pixmaps/smileys/none/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,9 +4,10 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -GAIM_TOP = ../../../.. +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -datadir = $(GAIM_TOP)/win32-install-dir +datadir = $(GAIM_INSTALL_DIR) include ./Makefile.am install: Modified: trunk/gtk/pixmaps/status/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/status/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/pixmaps/status/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,10 +4,6 @@ # Description: Makefile for win32 (mingw) version of Gaim pixmaps # -GAIM_TOP = ../../.. - -INSTALL_DIR = $(GAIM_TOP)/win32-install-dir/pixmaps/gaim/status - include ./Makefile.am install: Modified: trunk/gtk/pixmaps/status/default/Makefile.mingw =================================================================== --- trunk/gtk/pixmaps/status/default/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/pixmaps/status/default/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -5,8 +5,9 @@ # GAIM_TOP = ../../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -datadir = $(GAIM_TOP)/win32-install-dir +datadir = $(GAIM_INSTALL_DIR) include ./Makefile.am install: Modified: trunk/gtk/plugins/Makefile.mingw =================================================================== --- trunk/gtk/plugins/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/plugins/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,46 +4,20 @@ # Description: Makefile for win32 (mingw) version of Gaim Plugins # -# -# PATHS -# +GAIM_TOP := ../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GAIM_PLUGINS := . -GAIM_TOP := ../.. -GTKGAIM_TOP := .. -LIBGAIM_TOP := $(GAIM_TOP)/libgaim -GTK_TOP := ../../../win32-dev/gtk_2_0 -#OSCAR_ROOT := ../src/protocols/oscar -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -TICKER := ./ticker -TRANSPARENCY := ./win32/transparency -WINPREFS := ./win32/winprefs -#PERL_PLUGIN_LOADER := ./perl -DOCKLET := ./docklet +DOCKLET_PLUGIN := $(GAIM_GTK_PLUGINS_TOP)/docklet +TICKER_PLUGIN := $(GAIM_GTK_PLUGINS_TOP)/ticker +TRANSPARENCY_PLUGIN := $(GAIM_GTK_PLUGINS_TOP)/win32/transparency +WINPREFS_PLUGIN := $(GAIM_GTK_PLUGINS_TOP)/win32/winprefs -## -## VARIABLE DEFINITIONS -## - -# Compiler Options - -CFLAGS = - -DEFINES = - .SUFFIXES: .SUFFIXES: .c .dll ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ @@ -53,21 +27,18 @@ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(GAIM_TOP) \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ - -I$(GTKGAIM_TOP) \ - -I$(GTKGAIM_TOP)/win32 + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(GTKGAIM_TOP) + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) - ## ## LIBRARIES ## - LIBS = -lgtk-win32-2.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ @@ -81,32 +52,23 @@ -lgtkgaim ## -## RULES -## - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: plugins - $(MAKE) -C $(TICKER) -f Makefile.mingw - $(MAKE) -C $(WINPREFS) -f Makefile.mingw - $(MAKE) -C $(TRANSPARENCY) -f Makefile.mingw - $(MAKE) -C $(DOCKLET) -f Makefile.mingw + $(MAKE) -C $(DOCKLET_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(TICKER_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(TRANSPARENCY_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(WINPREFS_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) -install: - cp $(GAIM_PLUGINS)/*.dll $(GAIM_INSTALL_DIR)/plugins - $(MAKE) -C $(TICKER) -f Makefile.mingw install - $(MAKE) -C $(WINPREFS) -f Makefile.mingw install - $(MAKE) -C $(TRANSPARENCY) -f Makefile.mingw install - $(MAKE) -C $(DOCKLET) -f Makefile.mingw install +install: $(GAIM_INSTALL_PLUGINS_DIR) + $(MAKE) -C $(DOCKLET_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(TICKER_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(TRANSPARENCY_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(WINPREFS_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) install + cp $(GAIM_GTK_PLUGINS_TOP)/*.dll $(GAIM_INSTALL_PLUGINS_DIR) -# -# BUILD Plugin -# - .c.dll: $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@.o -c $< $(CC) -shared $@.o $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $@ @@ -115,22 +77,22 @@ extplacement.dll \ gaimrc.dll \ history.dll \ - iconaway.dll \ + iconaway.dll \ notify.dll \ relnot.dll \ spellchk.dll \ timestamp_format.dll \ timestamp.dll - ## ## CLEAN RULES ## - clean: - rm -rf *.o - rm -rf *.dll - $(MAKE) -C $(TICKER) -f Makefile.mingw clean - $(MAKE) -C $(TRANSPARENCY) -f Makefile.mingw clean - $(MAKE) -C $(WINPREFS) -f Makefile.mingw clean - $(MAKE) -C $(DOCKLET) -f Makefile.mingw clean + rm -rf $(GAIM_GTK_PLUGINS_TOP)/*.o + rm -rf $(GAIM_GTK_PLUGINS_TOP)/*.dll + $(MAKE) -C $(DOCKLET_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(TICKER_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(TRANSPARENCY_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(WINPREFS_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) clean + +include $(GAIM_COMMON_TARGETS) Modified: trunk/gtk/plugins/docklet/Makefile.mingw =================================================================== --- trunk/gtk/plugins/docklet/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/plugins/docklet/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,39 +4,14 @@ # Description: Makefile for docklet plugin. # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../.. -LIBGAIM_TOP := $(GAIM_TOP)/libgaim -GTKGAIM_TOP := $(GAIM_TOP)/gtk -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins - -## -## VARIABLE DEFINITIONS -## - TARGET = docklet -# Compiler Options - -CFLAGS = - -DEFINES = - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += -I. \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ @@ -45,34 +20,28 @@ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ - -I$(GTKGAIM_TOP) \ - -I$(GTKGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 \ -I$(GAIM_TOP) - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(GTKGAIM_TOP) + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) - ## ## SOURCES, OBJECTS ## - C_SRC = docklet.c \ docklet-win32.c \ MinimizeToTray.c - OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = -lgtk-win32-2.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ @@ -81,47 +50,28 @@ -lgaim \ -lgtkgaim +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll -install: all - cp $(TARGET).dll $(DLL_INSTALL_DIR) +install: all $(GAIM_INSTALL_PLUGINS_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) +$(OBJECTS): $(GAIM_CONFIG_H) -## -## BUILD Dependencies -## - -$(GTKGAIM_TOP)/gtkgaim.dll.a: - $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw gtkgaim.dll.a - - -## -## BUILD DLL -## - -$(TARGET).dll: $(OBJECTS) $(GTKGAIM_TOP)/gtkgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(GAIM_GTKGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll ## ## CLEAN RULES ## - clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll + +include $(GAIM_COMMON_TARGETS) Modified: trunk/gtk/plugins/ticker/Makefile.mingw =================================================================== --- trunk/gtk/plugins/ticker/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/plugins/ticker/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,42 +4,15 @@ # Description: Makefile for ticker plugin. # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../.. -GTKGAIM_TOP := $(GAIM_TOP)/gtk -LIBGAIM_TOP := $(GAIM_TOP)/libgaim -TICKER_ROOT := . -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins - -## -## VARIABLE DEFINITIONS -## - TARGET = ticker -# Compiler Options - -CFLAGS = - -DEFINES = - - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - -INCLUDE_PATHS += -I$(TICKER_ROOT) \ +INCLUDE_PATHS += -I. \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/glib-2.0 \ @@ -47,33 +20,27 @@ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ - -I$(GTKGAIM_TOP) \ - -I$(GTKGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 \ -I$(GAIM_TOP) - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(GTKGAIM_TOP) + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) - ## ## SOURCES, OBJECTS ## - C_SRC = ticker.c \ gtkticker.c - OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = -lgtk-win32-2.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ @@ -83,45 +50,28 @@ -lgaim \ -lgtkgaim -## -## RULES -## +include $(GAIM_COMMON_RULES) -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - ## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll -install: - cp $(TICKER_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR) +install: $(GAIM_INSTALL_PLUGINS_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) +$(OBJECTS): $(GAIM_CONFIG_H) -## -## BUILD Dependencies -## - -$(GTKGAIM_TOP)/gtkgaim.dll.a: - $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw gtkgaim.dll.a - -## -## BUILD DLL -## - -$(TARGET).dll: $(OBJECTS) $(GTKGAIM_TOP)/gtkgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(GAIM_GTKGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll ## ## CLEAN RULES ## - clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll + +include $(GAIM_COMMON_TARGETS) Modified: trunk/gtk/plugins/win32/transparency/Makefile.mingw =================================================================== --- trunk/gtk/plugins/win32/transparency/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/plugins/win32/transparency/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,40 +4,15 @@ # Description: Makefile for win32trans plugin. # -# -# PATHS -# +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../../.. -LIBGAIM_TOP := ../../../../libgaim -GTKGAIM_TOP := ../../../../gtk -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins - -## -## VARIABLE DEFINITIONS -## - TARGET = win2ktrans +DEFINES += -D_WIN32_WINNT=0x0500 -# Compiler Options - -CFLAGS = - -# This plugin requires W2K+ API -DEFINES = -D_WIN32_WINNT=0x0500 - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += -I. \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ @@ -46,32 +21,26 @@ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ - -I$(GTKGAIM_TOP) \ - -I$(GTKGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 \ -I$(GAIM_TOP) - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(GTKGAIM_TOP) + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) - ## ## SOURCES, OBJECTS ## - C_SRC = win2ktrans.c - OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = -lgtk-win32-2.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ @@ -81,46 +50,26 @@ -lgtkgaim \ -lgaim +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll -install: all - cp $(TARGET).dll $(DLL_INSTALL_DIR) +install: all $(GAIM_INSTALL_PLUGINS_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) - -## -## BUILD Dependencies -## - -$(GTKGAIM_TOP)/gtkgaim.dll.a: - $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw gtkgaim.dll.a - -## -## BUILD DLL -## - -$(TARGET).dll: $(OBJECTS) $(GTKGAIM_TOP)/gtkgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(GAIM_GTKGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll ## ## CLEAN RULES ## - clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll + +include $(GAIM_COMMON_TARGETS) Modified: trunk/gtk/plugins/win32/winprefs/Makefile.mingw =================================================================== --- trunk/gtk/plugins/win32/winprefs/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/plugins/win32/winprefs/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,39 +4,15 @@ # Description: Makefile for winprefs plugin. # -# -# PATHS -# +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../../.. -LIBGAIM_TOP := $(GAIM_TOP)/libgaim -GTKGAIM_TOP := $(GAIM_TOP)/gtk -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins - -## -## VARIABLE DEFINITIONS -## - TARGET = winprefs +DEFINES += -DWINVER=0x500 -# Compiler Options - -CFLAGS = - -DEFINES = -DWINVER=0x500 - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += -I. \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ @@ -45,33 +21,27 @@ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ - -I$(GTKGAIM_TOP) \ - -I$(GTKGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 \ -I$(GAIM_TOP) - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(GTKGAIM_TOP) + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) - ## ## SOURCES, OBJECTS ## - C_SRC = winprefs.c \ gtkappbar.c - OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = -lgtk-win32-2.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ @@ -82,46 +52,29 @@ -lgaim \ -lgtkgaim +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll -install: $(TARGET).dll - cp $(TARGET).dll $(DLL_INSTALL_DIR) +install: $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) - ## -## BUILD Dependencies -## - -$(GTKGAIM_TOP)/gtkgaim.dll.a: - $(MAKE) -C $(GTKGAIM_TOP) -f Makefile.mingw gtkgaim.dll.a - -## ## BUILD DLL ## - -$(TARGET).dll: $(OBJECTS) $(GTKGAIM_TOP)/gtkgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(GAIM_GTKGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll ## ## CLEAN RULES ## - clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll + +include $(GAIM_COMMON_TARGETS) Added: trunk/gtk/sounds/Makefile.mingw =================================================================== --- trunk/gtk/sounds/Makefile.mingw (rev 0) +++ trunk/gtk/sounds/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -0,0 +1,14 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Gaim +# + +GAIM_TOP := ../.. +include $(GAIM_TOP)/libgaim/win32/global.mak +include $(GAIM_GTK_SOUNDS_TOP)/Makefile.am + +install: $(GAIM_INSTALL_SOUNDS_DIR) + cp $(EXTRA_DIST) $(GAIM_INSTALL_SOUNDS_DIR) + +include $(GAIM_COMMON_TARGETS) Property changes on: trunk/gtk/sounds/Makefile.mingw ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Modified: trunk/gtk/win32/IdleTracker/Makefile.mingw =================================================================== --- trunk/gtk/win32/IdleTracker/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/gtk/win32/IdleTracker/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,65 +4,22 @@ # Description: Makefile for idletrack # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GAIM_TOP := ../../.. -LIBGAIM_TOP := $(GAIM_TOP)/libgaim -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir - -## -## VARIABLE DEFINITIONS -## - TARGET = idletrack -# Compiler Options - -CFLAGS = - -DEFINES = - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## -## INCLUDE PATHS -## - -INCLUDE_PATHS += - -LIB_PATHS = - -## ## SOURCES, OBJECTS ## -C_SRC = idletrack.c +C_SRC = idletrack.c OBJECTS = $(C_SRC:%.c=%.o) +include $(GAIM_COMMON_RULES) ## -## LIBRARIES -## - -LIBS = - -## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## @@ -70,14 +27,14 @@ all: $(TARGET).dll -install: +install: $(GAIM_INSTALL_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_DIR) - ## ## BUILD DLL ## -$(TARGET).dll: $(OBJECTS) +$(TARGET).dll $(TARGET).dll.a: $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(TARGET).dll.a -o $(TARGET).dll ## @@ -85,6 +42,8 @@ ## clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll rm -rf $(TARGET).dll.a + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/Makefile.mingw =================================================================== --- trunk/libgaim/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -1,63 +1,33 @@ # # Makefile.mingw # -# Description: Makefile for win32 (mingw) version of Gaim +# Description: Makefile for win32 (mingw) version of libGaim # -# -# PATHS -# +GAIM_TOP := .. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../win32-dev/gtk_2_0 -GAIM_TOP := .. -LIBGAIM_TOP := . -PLUGINS_TOP := $(LIBGAIM_TOP)/plugins -PROTOCOLS_TOP := $(LIBGAIM_TOP)/protocols -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -LIBXML2_DIR := ../../win32-dev/libxml2 - -NEEDED_DLLS = $(LIBXML2_DIR)/bin/libxml2.dll - - -## -## VARIABLE DEFINITIONS -## - TARGET = libgaim +NEEDED_DLLS = $(LIBXML2_TOP)/bin/libxml2.dll -# Compiler and Linker Options - -CFLAGS = - -DEFINES = - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS = \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ -I$(GAIM_TOP) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ - -I$(LIBXML2_DIR)/include + -I$(LIBXML2_TOP)/include LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(LIBXML2_DIR)/lib + -L$(LIBXML2_TOP)/lib ## ## SOURCES, OBJECTS ## - C_SRC = \ account.c \ accountopt.c \ @@ -106,13 +76,11 @@ win32/libc_interface.c \ win32/win32dep.c - OBJECTS = $(C_SRC:%.c=%.o) ## ## LIBRARIES ## - LIBS = \ -lglib-2.0 \ -lgthread-2.0 \ @@ -123,44 +91,36 @@ -liberty \ -lxml2 -## -## RULES -## +include $(GAIM_COMMON_RULES) -# How to make a C file -%.o: %.c - $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ - ## ## TARGET DEFINITIONS ## +.PHONY: all clean -.PHONY: all clean include_path - all: $(TARGET).dll - $(MAKE) -C $(PROTOCOLS_TOP) -f Makefile.mingw - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw + $(MAKE) -C $(GAIM_PROTOS_TOP) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(GAIM_LIB_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) -install: all - $(MAKE) -C $(PROTOCOLS_TOP) -f Makefile.mingw install - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw install - cp $(LIBGAIM_TOP)/$(TARGET).dll $(GAIM_INSTALL_DIR) +install: all $(GAIM_INSTALL_DIR) + $(MAKE) -C $(GAIM_PROTOS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_LIB_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + cp $(TARGET).dll $(GAIM_INSTALL_DIR) cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) -# -# BUILD DLL -# -$(TARGET).dll.a $(TARGET).dll: -$(TARGET).dll.a $(TARGET).dll: $(OBJECTS) +$(OBJECTS): $(GAIM_CONFIG_H) + +$(TARGET).dll $(TARGET).dll.a: $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(TARGET).dll.a -o $(TARGET).dll ## ## CLEAN RULES ## - clean: - rm -rf *.o ./win32/*.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll rm -rf $(TARGET).dll.a - $(MAKE) -C $(PROTOCOLS_TOP) -f Makefile.mingw clean - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw clean + $(MAKE) -C $(GAIM_PROTOS_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(GAIM_LIB_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/plugins/Makefile.mingw =================================================================== --- trunk/libgaim/plugins/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/plugins/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,59 +4,33 @@ # Description: Makefile for win32 (mingw) version of Gaim Plugins # -# -# PATHS -# +GAIM_TOP := ../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GAIM_PLUGINS := . -GAIM_TOP := ../.. -LIBGAIM_TOP := .. -GTK_TOP := ../../../win32-dev/gtk_2_0 -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -PERL_PLUGIN_LOADER := ./perl -TCL_PLUGIN_LOADER := ./tcl -SSL := ./ssl +PERL_PLUGIN := ./perl +TCL_PLUGIN := ./tcl +SSL_PLUGIN := ./ssl -## -## VARIABLE DEFINITIONS -## - -# Compiler Options - -CFLAGS = - -DEFINES = - .SUFFIXES: .SUFFIXES: .c .dll ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GAIM_TOP) \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) + -L$(GAIM_LIB_TOP) - ## ## LIBRARIES ## - LIBS = \ -lglib-2.0 \ -lgobject-2.0 \ @@ -66,30 +40,21 @@ -lgaim ## -## RULES -## - -## ## TARGET DEFINITIONS ## - .PHONY: all clean -all: plugins -# $(MAKE) -C $(PERL_PLUGIN_LOADER) -f Makefile.mingw - $(MAKE) -C $(TCL_PLUGIN_LOADER) -f Makefile.mingw - $(MAKE) -C $(SSL) -f Makefile.mingw +all: $(GAIM_LIBGAIM_DLL).a plugins +# $(MAKE) -C $(PERL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(TCL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) -C $(SSL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) -install: - cp $(GAIM_PLUGINS)/*.dll $(GAIM_INSTALL_DIR)/plugins -# $(MAKE) -C $(PERL_PLUGIN_LOADER) -f Makefile.mingw install - $(MAKE) -C $(TCL_PLUGIN_LOADER) -f Makefile.mingw install - $(MAKE) -C $(SSL) -f Makefile.mingw install +install: all $(GAIM_INSTALL_PLUGINS_DIR) +# $(MAKE) -C $(PERL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(TCL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(SSL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) install + cp $(GAIM_LIB_PLUGINS_TOP)/*.dll $(GAIM_INSTALL_PLUGINS_DIR) -# -# BUILD Plugin -# - .c.dll: $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@.o -c $< $(CC) -shared $@.o $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $@ @@ -100,14 +65,14 @@ psychic.dll \ statenotify.dll - ## ## CLEAN RULES ## - clean: - rm -rf *.o - rm -rf *.dll - $(MAKE) -C $(PERL_PLUGIN_LOADER) -f Makefile.mingw clean - $(MAKE) -C $(TCL_PLUGIN_LOADER) -f Makefile.mingw clean - $(MAKE) -C $(SSL) -f Makefile.mingw clean + rm -rf $(GAIM_LIB_PLUGINS_TOP)/*.o + rm -rf $(GAIM_LIB_PLUGINS_TOP)/*.dll + $(MAKE) -C $(PERL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(TCL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(SSL_PLUGIN) -f $(GAIM_WIN32_MAKEFILE) clean + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/plugins/perl/Makefile.mingw =================================================================== --- trunk/libgaim/plugins/perl/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/plugins/perl/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,78 +4,49 @@ # Description: Makefile for perl plugin loader plugin. # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../.. -LIBGAIM_TOP := ../.. -PERL_LIB_DIR := ../../../../win32-dev/perl58 -PERL_INCLUDE := $(PERL_LIB_DIR)/CORE -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins - -## -## VARIABLE DEFINITIONS -## - TARGET = perl -CC := gcc.exe - -# Compiler Options - -CFLAGS = - -DEFINES = - -## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - # Perl headers with /* /* */ type comments.. Turn off warnings. CFLAGS += -Wno-comment ## ## INCLUDE PATHS ## - INCLUDE_PATHS += -I. \ -I$(GAIM_TOP) \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 \ -I$(GTK_TOP)/include \ + -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/glib-2.0 \ + -I$(GTK_TOP)/include/pango-1.0 \ + -I$(GTK_TOP)/include/atk-1.0 \ + -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(GTK_TOP)/lib/glib-2.0/include \ - -I$(PERL_INCLUDE) + -I$(PERL_LIB_TOP)/CORE - - - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(GAIM_TOP)/src \ - -L$(PERL_LIB_DIR) + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) \ + -L$(PERL_LIB_TOP) - ## ## SOURCES, OBJECTS ## - C_SRC = perl.c \ perl-common.c \ perl-handlers.c - OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = \ -lglib-2.0 \ -lgmodule-2.0 \ @@ -83,51 +54,37 @@ -lws2_32 \ -lintl \ -lgaim \ + -lgtkgaim \ -lperl58 +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll - $(MAKE) -C ./common -f Makefile.mingw + $(MAKE) -C ./common -f $(GAIM_WIN32_MAKEFILE) -install: - cp $(TARGET).dll $(DLL_INSTALL_DIR) - $(MAKE) -C ./common -f Makefile.mingw install +install: all $(GAIM_INSTALL_PLUGINS_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) + $(MAKE) -C ./common -f $(GAIM_WIN32_MAKEFILE) install -## -## BUILD Dependencies -## +$(OBJECTS): $(GAIM_CONFIG_H) -$(GAIM_TOP)/src/libgaim.dll.a: - $(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw libgaim.dll.a - ## ## BUILD DLL ## - -$(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/libgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(GAIM_GTKGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--export-all-symbols -o $(TARGET).dll - ## ## CLEAN RULES ## - clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll $(TARGET).lib - $(MAKE) -C ./common -f Makefile.mingw clean + $(MAKE) -C ./common -f $(GAIM_WIN32_MAKEFILE) clean + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/plugins/perl/common/Makefile.mingw =================================================================== --- trunk/libgaim/plugins/perl/common/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/plugins/perl/common/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,32 +4,23 @@ # Description: Makefile for Gaim perl module. # +GAIM_TOP := ../../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak + TARGET = Gaim AUTOSPLIT = lib/auto/Gaim/autosplit.ix - -## -## TOOLS -## - -CC := gcc -PERL := /cygdrive/c/perl/bin/perl - -## -## PATHS -## - EXTUTILS := C:/perl/lib/ExtUtils -GAIM_TOP := ../../.. -GTK_TOP := ../../../../win32-dev/gtk_2_0 -PERL_TOP := ../../../../win32-dev/perl58 PERL_PLUGIN_TOP := .. -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -PERLMOD_INSTALL_DIR := $(GAIM_INSTALL_DIR)/perlmod +CFLAGS += -Wno-comment +## +## INCLUDE PATHS +## INCLUDE_PATHS = -I. \ -I$(GAIM_TOP) \ - -I$(GAIM_TOP)/src \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_GTK_TOP) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/glib-2.0 \ @@ -37,18 +28,17 @@ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(GTK_TOP)/lib/glib-2.0/include \ - -I$(PERL_TOP)/CORE + -I$(PERL_LIB_TOP)/CORE -LIB_PATHS = -L$(PERL_TOP) \ +LIB_PATHS = -L$(PERL_LIB_TOP) \ -L$(PERL_PLUGIN_TOP) \ - -L$(GAIM_TOP)/src \ + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) \ -L$(GTK_TOP)/lib - ## ## SOURCES, OBJECTS ## - XS_FILES = Account.xs \ AccountOpts.xs \ BuddyIcon.xs \ @@ -83,60 +73,50 @@ Util.xs \ XMLNode.xs \ -FALLBACKS = const-c.inc const-xs.inc - +FALLBACKS = const-c.inc const-xs.inc C_FILES = $(XS_FILES:%.xs=%.c) - OBJECTS = $(C_FILES:%.c=%.o) ## ## LIBRARIES ## - LIBS = -lperl58 \ -lperl \ -lgaim \ + -lgtkgaim \ -lglib-2.0 -## -## RULES -## +include $(GAIM_COMMON_RULES) -# How to make a C file -%.o: %.c - $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ - -# How to make a XS file -%.c: %.xs - $(PERL) $(EXTUTILS)/xsubpp -typemap $(EXTUTILS)/typemap -typemap typemap $< > $@ - %.inc: cp fallback/$@ ./ ## ## TARGETS ## - .PHONY: all clean all: $(TARGET).dll $(AUTOSPLIT) -install: - rm -rf $(PERLMOD_INSTALL_DIR) - cp -R lib $(PERLMOD_INSTALL_DIR) - cp $(TARGET).dll $(PERLMOD_INSTALL_DIR) - +install: all + rm -rf $(GAIM_INSTALL_PERLMOD_DIR) + cp -R lib $(GAIM_INSTALL_PERLMOD_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PERLMOD_DIR) + +$(C_FILES): $(GAIM_CONFIG_H) + $(AUTOSPLIT): Gaim.pm mkdir -p ./lib/auto cp Gaim.pm ./lib $(PERL) -MAutoSplit -e 'autosplit("lib/Gaim.pm")' -$(TARGET).dll: $(FALLBACKS) $(OBJECTS) +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(GAIM_GTKGAIM_DLL).a $(FALLBACKS) $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) -o $(TARGET).dll ## ## CLEAN ## - clean: rm -rf *.o $(TARGET).dll $(FALLBACKS) lib + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/plugins/perl/common/module.h =================================================================== --- trunk/libgaim/plugins/perl/common/module.h 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/plugins/perl/common/module.h 2006-08-23 21:34:43 UTC (rev 17008) @@ -53,7 +53,7 @@ #include "status.h" #include "stringref.h" /* Ewww. perl has it's own util.h which is in the include path :( */ -#include "src/util.h" +#include "libgaim/util.h" #include "value.h" #include "xmlnode.h" Modified: trunk/libgaim/plugins/ssl/Makefile.mingw =================================================================== --- trunk/libgaim/plugins/ssl/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/plugins/ssl/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,82 +4,52 @@ # Description: Makefile for ssl plugin. # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../.. -LIBGAIM_TOP := ../.. -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins -NSS_DIR := ../../../../win32-dev/nss-3.9 -NSPR_DIR := ../../../../win32-dev/nspr-4.4.1 - ## ## VARIABLE DEFINITIONS ## - TARGET = ssl TARGET_NSS = ssl-nss -NEEDED_DLLS = $(NSS_DIR)/lib/nss3.dll \ - $(NSS_DIR)/lib/nssckbi.dll \ - $(NSS_DIR)/lib/softokn3.dll \ - $(NSS_DIR)/lib/ssl3.dll \ - $(NSPR_DIR)/lib/nspr4.dll \ - $(NSPR_DIR)/lib/plc4.dll \ - $(NSPR_DIR)/lib/plds4.dll +NEEDED_DLLS = $(NSS_TOP)/lib/nss3.dll \ + $(NSS_TOP)/lib/nssckbi.dll \ + $(NSS_TOP)/lib/softokn3.dll \ + $(NSS_TOP)/lib/ssl3.dll \ + $(NSPR_TOP)/lib/nspr4.dll \ + $(NSPR_TOP)/lib/plc4.dll \ + $(NSPR_TOP)/lib/plds4.dll -# Compiler Options - -CFLAGS = - -DEFINES = - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += -I. \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ -I$(GAIM_TOP) \ - -I$(NSS_DIR)/include \ - -I$(NSPR_DIR)/include + -I$(NSS_TOP)/include \ + -I$(NSPR_TOP)/include LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(NSS_DIR)/lib \ - -L$(NSPR_DIR)/lib + -L$(GAIM_LIB_TOP) \ + -L$(NSS_TOP)/lib \ + -L$(NSPR_TOP)/lib ## ## SOURCES, OBJECTS ## - C_SRC = ssl.c - C_SRC_NSS = ssl-nss.c - - OBJECTS = $(C_SRC:%.c=%.o) - OBJECTS_NSS = $(C_SRC_NSS:%.c=%.o) - ## ## LIBRARIES ## - LIBS = \ -lglib-2.0 \ -lws2_32 \ @@ -89,51 +59,36 @@ -lnspr4 \ -lssl3 +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll $(TARGET_NSS).dll -install: - cp $(TARGET).dll $(DLL_INSTALL_DIR) - cp $(TARGET_NSS).dll $(DLL_INSTALL_DIR) +install: all $(GAIM_INSTALL_PLUGINS_DIR) $(GAIM_INSTALL_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) + cp $(TARGET_NSS).dll $(GAIM_INSTALL_PLUGINS_DIR) cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) -## -## BUILD Dependencies -## +$(OBJECTS) $(OBJECTS_NSS): $(GAIM_CONFIG_H) -$(LIBGAIM_TOP)/libgaim.dll.a: - $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a - ## ## BUILD DLL ## - -$(TARGET).dll: $(OBJECTS) $(LIBGAIM_TOP)/libgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll -$(TARGET_NSS).dll: $(OBJECTS_NSS) $(LIBGAIM_TOP)/libgaim.dll.a +$(TARGET_NSS).dll: $(GAIM_LIBGAIM_DLL) $(OBJECTS_NSS) $(CC) -shared $(OBJECTS_NSS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET_NSS).dll ## ## CLEAN RULES ## - clean: - rm -rf *.o - rm -rf $(TARGET).dll - rm -rf $(TARGET_NSS).dll + rm -rf $(OBJECTS) $(OBJECTS_NSS) + rm -rf $(TARGET).dll $(TARGET_NSS).dll + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/plugins/tcl/Makefile.mingw =================================================================== --- trunk/libgaim/plugins/tcl/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/plugins/tcl/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,59 +4,32 @@ # Description: Makefile for tcl plugin loader plugin. # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../.. -LIBGAIM_TOP := ../.. -TCL_LIB_DIR := ../../../../win32-dev/tcl-8.4.5 -TCL_INC_DIR := $(TCL_LIB_DIR)/include -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins - -## -## VARIABLE DEFINITIONS -## - TARGET = tcl +TCL_INC_DIR := $(TCL_LIB_TOP)/include +DEFINES += -DHAVE_TK -DUSE_TCL_STUBS -DUSE_TK_STUBS -# Compiler Options - -CFLAGS = - -DEFINES = -DHAVE_TK -DUSE_TCL_STUBS -DUSE_TK_STUBS - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += -I. \ -I$(GAIM_TOP) \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(TCL_INC_DIR) +LIB_PATHS += -L$(GTK_TOP)/lib \ + -L$(GAIM_LIB_TOP) \ + -L$(TCL_LIB_TOP) -LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(TCL_LIB_DIR) - - ## ## SOURCES, OBJECTS ## - C_SRC = tcl.c \ tcl_cmd.c \ tcl_cmds.c \ @@ -64,14 +37,11 @@ tcl_ref.c \ tcl_signals.c - OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = \ -lglib-2.0 \ -lws2_32 \ @@ -80,46 +50,28 @@ -ltclstub84 \ -ltkstub84 +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll -install: $(TARGET).dll - cp $(TARGET).dll $(DLL_INSTALL_DIR) +install: all $(GAIM_INSTALL_PLUGINS_DIR) + cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR) -## -## BUILD Dependencies -## +$(OBJECTS): $(GAIM_CONFIG_H) -$(LIBGAIM_TOP)/libgaim.dll.a: - $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a - -## -## BUILD DLL -## - -$(TARGET).dll: $(OBJECTS) $(LIBGAIM_TOP)/libgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll - ## ## CLEAN RULES ## - clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/protocols/Makefile.mingw =================================================================== --- trunk/libgaim/protocols/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/protocols/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -5,74 +5,70 @@ # Description: Top Makefile for win32 (mingw) port of Gaim # -GAIM_TOP = ../.. -LIBGAIM_TOP = ../ -GAIM_PROTOS = . -GAIM_INSTALL_DIR = $(GAIM_TOP)/win32-install-dir +GAIM_TOP := ../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -OSCAR = $(GAIM_PROTOS)/oscar -YAHOO = $(GAIM_PROTOS)/yahoo -MSN = $(GAIM_PROTOS)/msn -TOC = $(GAIM_PROTOS)/toc -IRC = $(GAIM_PROTOS)/irc -JABBER = $(GAIM_PROTOS)/jabber -GG = $(GAIM_PROTOS)/gg -NOVELL = $(GAIM_PROTOS)/novell -SILC = $(GAIM_PROTOS)/silc -SIMPLE = $(GAIM_PROTOS)/simple -SAMETIME = $(GAIM_PROTOS)/sametime +GG = $(GAIM_PROTOS_TOP)/gg +IRC = $(GAIM_PROTOS_TOP)/irc +JABBER = $(GAIM_PROTOS_TOP)/jabber +MSN = $(GAIM_PROTOS_TOP)/msn +NOVELL = $(GAIM_PROTOS_TOP)/novell +OSCAR = $(GAIM_PROTOS_TOP)/oscar +SAMETIME = $(GAIM_PROTOS_TOP)/sametime +SILC = $(GAIM_PROTOS_TOP)/silc +SIMPLE = $(GAIM_PROTOS_TOP)/simple +TOC = $(GAIM_PROTOS_TOP)/toc +YAHOO = $(GAIM_PROTOS_TOP)/yahoo ## ## Don't forget to change STATIC_PROTO_INIT, in config.h.mingw if you ## change the status of a protocol (static/plugin) ## -OSCAR_TYPE = PLUGIN -YAHOO_TYPE = PLUGIN -MSN_TYPE = PLUGIN -TOC_TYPE = PLUGIN +GG_TYPE = PLUGIN IRC_TYPE = PLUGIN JABBER_TYPE = PLUGIN -GG_TYPE = PLUGIN +MSN_TYPE = PLUGIN NOVELL_TYPE = PLUGIN +OSCAR_TYPE = PLUGIN +SAMETIME_TYPE = PLUGIN SILC_TYPE = PLUGIN SIMPLE_TYPE = PLUGIN -SAMETIME_TYPE = PLUGIN +TOC_TYPE = PLUGIN +YAHOO_TYPE = PLUGIN all: - $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw - $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw - $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw - $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw - $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw - $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw - $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw - $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw - $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f Makefile.mingw - $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f Makefile.mingw + $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f $(GAIM_WIN32_MAKEFILE) + $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f $(GAIM_WIN32_MAKEFILE) - install: all - mkdir -p $(GAIM_INSTALL_DIR)/plugins - $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw install - $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw install - $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw install - $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw install - $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw install - $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw install - $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw install - $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw install - $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f Makefile.mingw install - $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f Makefile.mingw install + $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f $(GAIM_WIN32_MAKEFILE) install clean: - $(MAKE) -C $(OSCAR) -f Makefile.mingw clean - $(MAKE) -C $(YAHOO) -f Makefile.mingw clean - $(MAKE) -C $(MSN) -f Makefile.mingw clean - $(MAKE) -C $(IRC) -f Makefile.mingw clean - $(MAKE) -C $(JABBER) -f Makefile.mingw clean - $(MAKE) -C $(GG) -f Makefile.mingw clean - $(MAKE) -C $(NOVELL) -f Makefile.mingw clean - $(MAKE) -C $(SILC) -f Makefile.mingw clean - $(MAKE) -C $(SIMPLE) -f Makefile.mingw clean - $(MAKE) -C $(SAMETIME) -f Makefile.mingw clean + $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f $(GAIM_WIN32_MAKEFILE) clean Modified: trunk/libgaim/protocols/bonjour/Makefile.mingw =================================================================== --- trunk/libgaim/protocols/bonjour/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/protocols/bonjour/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,84 +4,51 @@ # Description: Makefile for win32 (mingw) version of libbonjour # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../.. -LIBGAIM_TOP := ../.. -BONJOUR_ROOT := . -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir -HOWL_DIR := $(GAIM_TOP)/../win32-dev/howl-1.0.0 - -## -## VARIABLE DEFINITIONS -## - TARGET = libbonjour +NEEDED_DLLS = $(HOWL_TOP)/bin/libhowl-1.dll -NEEDED_DLLS = $(HOWL_DIR)/bin/libhowl-1.dll - -# Compiler Options - -CFLAGS = - -DEFINES = - # Static or Plugin... ifeq ($(TYPE),STATIC) DEFINES += -DSTATIC DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR) else ifeq ($(TYPE),PLUGIN) - DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)/plugins + DLL_INSTALL_DIR = $(GAIM_INSTALL_PLUGINS_DIR) endif endif - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - INCLUDE_PATHS += -I$(BONJOUR_ROOT) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ - -I$(HOWL_DIR)/include \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ + -I$(HOWL_TOP)/include \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ -I$(GAIM_TOP) - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(HOWL_DIR)/lib \ - -L$(LIBGAIM_TOP) + -L$(HOWL_TOP)/lib \ + -L$(GAIM_LIB_TOP) - ## ## SOURCES, OBJECTS ## - C_SRC = bonjour.c \ buddy.c \ dns_sd.c \ jabber.c - OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = \ -lglib-2.0 \ -lws2_32 \ @@ -89,41 +56,22 @@ -lhowl \ -lgaim +include $(GAIM_COMMON_RULES) ## -## RULES -## - -# How to make a C file - -%.o: %.c - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< - -## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(TARGET).dll -install: - cp $(BONJOUR_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR) +install: all $(DLL_INSTALL_DIR) + cp $(TARGET).dll $(DLL_INSTALL_DIR) cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) +$(OBJECTS): $(GAIM_CONFIG_H) -## -## BUILD Dependencies -## - -$(LIBGAIM_TOP)/libgaim.dll.a: - $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a - -## -## BUILD DLL -## - -$(TARGET).dll: $(OBJECTS) $(LIBGAIM_TOP)/libgaim.dll.a +$(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll ## @@ -131,5 +79,7 @@ ## clean: - rm -rf *.o + rm -rf $(OBJECTS) rm -rf $(TARGET).dll + +include $(GAIM_COMMON_TARGETS) Modified: trunk/libgaim/protocols/gg/Makefile.mingw =================================================================== --- trunk/libgaim/protocols/gg/Makefile.mingw 2006-08-23 18:50:46 UTC (rev 17007) +++ trunk/libgaim/protocols/gg/Makefile.mingw 2006-08-23 21:34:43 UTC (rev 17008) @@ -4,67 +4,40 @@ # Description: Makefile for win32 (mingw) version of libgg # -# -# PATHS -# +GAIM_TOP := ../../.. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../../../win32-dev/gtk_2_0 -GAIM_TOP := ../../.. -LIBGAIM_TOP := ../.. -GG_ROOT := . -GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir - -## -## VARIABLE DEFINITIONS -## - TARGET = libgg +CFLAGS += -include win32dep.h -# Compiler Options - -CFLAGS = -include win32dep.h - -DEFINES = - # Static or Plugin... ifeq ($(TYPE),STATIC) DEFINES += -DSTATIC DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR) else ifeq ($(TYPE),PLUGIN) - DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)/plugins + DLL_INSTALL_DIR = $(GAIM_INSTALL_PLUGINS_DIR) endif endif - ## -## INCLUDE MAKEFILES -## - -include $(LIBGAIM_TOP)/win32/global.mak - -## ## INCLUDE PATHS ## - -INCLUDE_PATHS += -I$(GG_ROOT) \ - -I$(GG_ROOT)/lib \ +INCLUDE_PATHS += -I. \ + -I./lib \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ - -I$(LIBGAIM_TOP) \ - -I$(LIBGAIM_TOP)/win32 \ + -I$(GAIM_LIB_TOP) \ + -I$(GAIM_LIB_TOP)/win32 \ -I$(GAIM_TOP) - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ + -L$(GAIM_LIB_TOP) \ - ## ## SOURCES, OBJECTS ## - C_SRC = \ lib/common.c \ lib/events.c \ @@ -81,11 +54,9 @@ OBJECTS = $(C_SRC:%.c=%.o) - ## ## LIBRARIES ## - LIBS = \ -lglib-2.0 \ -... [truncated message content] |
From: <sa...@us...> - 2006-08-24 19:41:54
|
Revision: 17020 Author: sadrul Date: 2006-08-24 12:41:34 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=17020&view=rev Log Message: ----------- Some distros put the ncursesw headers in ncursesw/, some don't. Modified Paths: -------------- trunk/configure.ac trunk/console/libgnt/gntcolors.c trunk/console/libgnt/gntmain.c trunk/console/libgnt/gntwidget.h Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-24 18:33:53 UTC (rev 17019) +++ trunk/configure.ac 2006-08-24 19:41:34 UTC (rev 17020) @@ -807,6 +807,9 @@ if test "x$enable_gnt" = "xyes"; then AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_gnt=no]) AC_CHECK_LIB(panelw, update_panels, [GNT_LIBS="$GNT_LIBS -lpanelw"], [enable_gnt=no]) + + # Some distros put the headers in ncursesw/, some don't + AC_CHECK_HEADER(ncursesw/ncurses.h, [AC_DEFINE(HAVE_NCURSESW_INC, 1, [Define if you have the ncursesw headers in ncursesw/])]) else enable_gnt=no fi Modified: trunk/console/libgnt/gntcolors.c =================================================================== --- trunk/console/libgnt/gntcolors.c 2006-08-24 18:33:53 UTC (rev 17019) +++ trunk/console/libgnt/gntcolors.c 2006-08-24 19:41:34 UTC (rev 17020) @@ -1,4 +1,9 @@ +#ifdef HAVE_NCURSESW_INC #include <ncursesw/ncurses.h> +#else +#include <ncurses.h> +#endif + #include "gntcolors.h" #include "gntstyle.h" Modified: trunk/console/libgnt/gntmain.c =================================================================== --- trunk/console/libgnt/gntmain.c 2006-08-24 18:33:53 UTC (rev 17019) +++ trunk/console/libgnt/gntmain.c 2006-08-24 19:41:34 UTC (rev 17020) @@ -1,4 +1,8 @@ +#ifdef HAVE_NCURSESW_INC #include <ncursesw/panel.h> +#else +#include <panel.h> +#endif #include "gnt.h" #include "gntbox.h" @@ -485,9 +489,9 @@ * Mouse support: * - bring a window on top if you click on its taskbar * - click on the top-bar of the active window and drag+drop to move a window + * - click on a window to bring it to focus * wishlist: * - have a little [X] on the windows, and clicking it will close that window. - * - click on a window to bring it to focus * - allow scrolling in tree/textview on wheel-scroll event * - click to activate button or select a row in tree * - all these can be fulfilled by adding a "clicked" event for GntWidget Modified: trunk/console/libgnt/gntwidget.h =================================================================== --- trunk/console/libgnt/gntwidget.h 2006-08-24 18:33:53 UTC (rev 17019) +++ trunk/console/libgnt/gntwidget.h 2006-08-24 19:41:34 UTC (rev 17020) @@ -4,7 +4,11 @@ #include <stdio.h> #include <glib.h> #include <glib-object.h> -#include <ncursesw/curses.h> +#ifdef HAVE_NCURSESW_INC +#include <ncursesw/ncurses.h> +#else +#include <ncurses.h> +#endif #define GNT_TYPE_WIDGET (gnt_widget_get_gtype()) #define GNT_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_WIDGET, GntWidget)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-08-25 18:17:27
|
Revision: 17030 Author: sadrul Date: 2006-08-25 11:17:22 -0700 (Fri, 25 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=17030&view=rev Log Message: ----------- --disable-gtkgaim should work properly now. Modified Paths: -------------- trunk/configure.ac trunk/gtk/Makefile.am Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-25 16:42:38 UTC (rev 17029) +++ trunk/configure.ac 2006-08-25 18:17:22 UTC (rev 17030) @@ -661,6 +661,8 @@ ]) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) +else + enable_gtk=no fi AC_PATH_XTRA @@ -1869,6 +1871,7 @@ console/Makefile console/libgnt/Makefile console/libgnt/gnt.pc + console/libgnt/wms/Makefile console/plugins/Makefile po/Makefile.in gaim.pc Modified: trunk/gtk/Makefile.am =================================================================== --- trunk/gtk/Makefile.am 2006-08-25 16:42:38 UTC (rev 17029) +++ trunk/gtk/Makefile.am 2006-08-25 18:17:22 UTC (rev 17030) @@ -1,3 +1,5 @@ +if ENABLE_GTK + EXTRA_DIST = \ getopt.c \ getopt.h \ @@ -181,3 +183,4 @@ $(GTKSPELL_CFLAGS) \ $(STARTUP_NOTIFICATION_CFLAGS) \ $(LIBXML_CFLAGS) +endif # ENABLE_GTK This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-08-26 07:11:58
|
Revision: 17039 Author: sadrul Date: 2006-08-26 00:11:55 -0700 (Sat, 26 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=17039&view=rev Log Message: ----------- Patch #1546776 from Georgi Georgiev. This fixes things if someone uses --enable-gntgaim or --enable-gtkgaim. This also fixes things for --disable-gnt/gtkgaim, so I am reverting some bits from my earlier changes to fix those. Modified Paths: -------------- trunk/COPYRIGHT trunk/configure.ac Modified: trunk/COPYRIGHT =================================================================== --- trunk/COPYRIGHT 2006-08-26 06:26:39 UTC (rev 17038) +++ trunk/COPYRIGHT 2006-08-26 07:11:55 UTC (rev 17039) @@ -108,6 +108,7 @@ François Gagné Evgueni V. Gavrilov Ignacy Gawedzki +Georgi Georgiev Ike Gingerich Gustavo Giráldez Richard Gobeille Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-26 06:26:39 UTC (rev 17038) +++ trunk/configure.ac 2006-08-26 07:11:55 UTC (rev 17039) @@ -528,8 +528,10 @@ AC_ARG_WITH(tkconfig, [ --with-tkconfig=DIR directory containing tkConfig.sh]) AC_ARG_ENABLE(gtkspell, [ --disable-gtkspell compile without GtkSpell automatic spell checking],,enable_gtkspell=yes) AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging support],,enable_debug=no) -AC_ARG_ENABLE(gtkgaim, [AC_HELP_STRING([--disable-gtkgaim], [compile without GtkGaim client])], , enable_gtk=yes) -AC_ARG_ENABLE(gntgaim, [AC_HELP_STRING([--disable-gntgaim], [compile without GntGaim console client])], , enable_gnt=yes) +AC_ARG_ENABLE(gtkgaim, [AC_HELP_STRING([--disable-gtkgaim], [compile without GtkGaim client])], + enable_gtk=$enableval, enable_gtk=yes) +AC_ARG_ENABLE(gntgaim, [AC_HELP_STRING([--disable-gntgaim], [compile without GntGaim console client])], + enable_gnt=$enableval, enable_gnt=yes) AC_ARG_ENABLE(fatal-asserts, [ --enable-fatal-asserts make assertions fatal (useful for debugging)],,enable_fatal_asserts=no) dnl We know Gaim won't compile with deprecated APIs disabled. dnl We have no desire to support two different versions of the @@ -661,8 +663,6 @@ ]) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) -else - enable_gtk=no fi AC_PATH_XTRA @@ -812,8 +812,6 @@ # Some distros put the headers in ncursesw/, some don't AC_CHECK_HEADER(ncursesw/ncurses.h, [AC_DEFINE(HAVE_NCURSESW_INC, 1, [Define if you have the ncursesw headers in ncursesw/])]) -else - enable_gnt=no fi AC_SUBST(GNT_LIBS) AM_CONDITIONAL(ENABLE_GNT, test "x$enable_gnt" = "xyes") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-08-29 02:22:21
|
Revision: 17076 Author: rlaager Date: 2006-08-28 19:22:08 -0700 (Mon, 28 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=17076&view=rev Log Message: ----------- SF Patch #1547720 from Hilbert Fixes SF Bug #1541097 If you search, leave the Find dialog open, switch tabs, and search again, the search happens in the original tab. This patch fixes that bug. Now when you search, it searches in the active conversation window. Modified Paths: -------------- trunk/COPYRIGHT trunk/doc/CREDITS trunk/doc/ChangeLog.API trunk/gtk/gtkconv.c trunk/gtk/gtkconv.h trunk/gtk/gtkconvwin.h Modified: trunk/COPYRIGHT =================================================================== --- trunk/COPYRIGHT 2006-08-29 01:58:14 UTC (rev 17075) +++ trunk/COPYRIGHT 2006-08-29 02:22:08 UTC (rev 17076) @@ -129,6 +129,7 @@ Mike Heffner Benjamin Herrenschmidt Fernando Herrera +Hilbert Casey Ho Iain Holmes Joshua Honeycutt Modified: trunk/doc/CREDITS =================================================================== --- trunk/doc/CREDITS 2006-08-29 01:58:14 UTC (rev 17075) +++ trunk/doc/CREDITS 2006-08-29 02:22:08 UTC (rev 17076) @@ -1,5 +1,8 @@ gaim: The Pimpin' Penguin IM Clone that's Good For The Soul! +This file is very old. Newer developers and contributors are +credited in the AUTHORS and COPYRIGHT files. + CREDITS ------- Authors: Modified: trunk/doc/ChangeLog.API =================================================================== --- trunk/doc/ChangeLog.API 2006-08-29 01:58:14 UTC (rev 17075) +++ trunk/doc/ChangeLog.API 2006-08-29 02:22:08 UTC (rev 17076) @@ -193,6 +193,7 @@ GaimConversation * Removed ui_ops from GaimBuddyList. Use gaim_blist_get_ui_ops() instead * GaimGtkLogViewer hidden... You weren't using it anyway. + * GaimGtkConversation: dialogs (dialogs.search moved to GaimGtkWindow) Added: * gaim_prefs_disconnect_by_handle() @@ -315,6 +316,7 @@ query. * gaim_util_fetch_url_cancel(): Can be used to cancel a pending call to gaim_util_fetch_url() or gaim_util_fetch_url_request(). + * GaimGtkWindow: dialogs.search (previously in GaimGtkConversation) Signals - Changed: (See the Doxygen docs for details on all signals.) * Signal propagation now stops after a handler returns a non-NULL value. Modified: trunk/gtk/gtkconv.c =================================================================== --- trunk/gtk/gtkconv.c 2006-08-29 01:58:14 UTC (rev 17075) +++ trunk/gtk/gtkconv.c 2006-08-29 02:22:08 UTC (rev 17076) @@ -1039,25 +1039,53 @@ } struct _search { - GaimGtkConversation *gtkconv; + GaimGtkWindow *gtkwin; GtkWidget *entry; }; static void do_search_cb(GtkWidget *widget, gint resp, struct _search *s) { - switch (resp) { - case GTK_RESPONSE_OK: - gtk_imhtml_search_find(GTK_IMHTML(s->gtkconv->imhtml), - gtk_entry_get_text(GTK_ENTRY(s->entry))); - break; + GaimConversation *conv; + GaimGtkConversation *gtk_active_conv; + GList *iter; - case GTK_RESPONSE_DELETE_EVENT: - case GTK_RESPONSE_CLOSE: - gtk_imhtml_search_clear(GTK_IMHTML(s->gtkconv->imhtml)); - gtk_widget_destroy(s->gtkconv->dialogs.search); - s->gtkconv->dialogs.search = NULL; - g_free(s); - break; + conv = gaim_gtk_conv_window_get_active_conversation(s->gtkwin); + gtk_active_conv = GAIM_GTK_CONVERSATION(conv); + + switch (resp) + { + case GTK_RESPONSE_OK: + /* clear highlighting except the active conversation window + * highlight the keywords in the active conversation window */ + for (iter = gaim_gtk_conv_window_get_gtkconvs(s->gtkwin) ; iter ; iter = iter->next) + { + GaimGtkConversation *gtkconv = iter->data; + + if (gtkconv != gtk_active_conv) + { + gtk_imhtml_search_clear(GTK_IMHTML(gtkconv->imhtml)); + } + else + { + gtk_imhtml_search_find(GTK_IMHTML(gtk_active_conv->imhtml), + gtk_entry_get_text(GTK_ENTRY(s->entry))); + } + } + break; + + case GTK_RESPONSE_DELETE_EVENT: + case GTK_RESPONSE_CLOSE: + /* clear the keyword highlighting in all the conversation windows */ + for (iter = gaim_gtk_conv_window_get_gtkconvs(s->gtkwin); iter; iter=iter->next) + { + GaimGtkConversation *gconv = iter->data; + gtk_imhtml_search_clear(GTK_IMHTML(gconv->imhtml)); + } + + gtk_widget_destroy(s->gtkwin->dialogs.search); + s->gtkwin->dialogs.search = NULL; + g_free(s); + break; } } @@ -1065,45 +1093,43 @@ menu_find_cb(gpointer data, guint action, GtkWidget *widget) { GaimGtkWindow *gtkwin = data; - GaimConversation *conv = gaim_gtk_conv_window_get_active_conversation(gtkwin); - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); GtkWidget *hbox; GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); GtkWidget *label; struct _search *s; - if (gtkconv->dialogs.search) { - gtk_window_present(GTK_WINDOW(gtkconv->dialogs.search)); + if (gtkwin->dialogs.search) { + gtk_window_present(GTK_WINDOW(gtkwin->dialogs.search)); return; } s = g_malloc(sizeof(struct _search)); - s->gtkconv = gtkconv; + s->gtkwin = gtkwin; - gtkconv->dialogs.search = gtk_dialog_new_with_buttons(_("Find"), + gtkwin->dialogs.search = gtk_dialog_new_with_buttons(_("Find"), GTK_WINDOW(gtkwin->window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, GTK_STOCK_FIND, GTK_RESPONSE_OK, NULL); - gtk_dialog_set_default_response(GTK_DIALOG(gtkconv->dialogs.search), + gtk_dialog_set_default_response(GTK_DIALOG(gtkwin->dialogs.search), GTK_RESPONSE_OK); - g_signal_connect(G_OBJECT(gtkconv->dialogs.search), "response", + g_signal_connect(G_OBJECT(gtkwin->dialogs.search), "response", G_CALLBACK(do_search_cb), s); - gtk_container_set_border_width(GTK_CONTAINER(gtkconv->dialogs.search), GAIM_HIG_BOX_SPACE); - gtk_window_set_resizable(GTK_WINDOW(gtkconv->dialogs.search), FALSE); - gtk_dialog_set_has_separator(GTK_DIALOG(gtkconv->dialogs.search), FALSE); - gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(gtkconv->dialogs.search)->vbox), GAIM_HIG_BORDER); + gtk_container_set_border_width(GTK_CONTAINER(gtkwin->dialogs.search), GAIM_HIG_BOX_SPACE); + gtk_window_set_resizable(GTK_WINDOW(gtkwin->dialogs.search), FALSE); + gtk_dialog_set_has_separator(GTK_DIALOG(gtkwin->dialogs.search), FALSE); + gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(gtkwin->dialogs.search)->vbox), GAIM_HIG_BORDER); gtk_container_set_border_width( - GTK_CONTAINER(GTK_DIALOG(gtkconv->dialogs.search)->vbox), GAIM_HIG_BOX_SPACE); + GTK_CONTAINER(GTK_DIALOG(gtkwin->dialogs.search)->vbox), GAIM_HIG_BOX_SPACE); hbox = gtk_hbox_new(FALSE, GAIM_HIG_BORDER); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(gtkconv->dialogs.search)->vbox), + gtk_container_add(GTK_CONTAINER(GTK_DIALOG(gtkwin->dialogs.search)->vbox), hbox); gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(img), 0, 0); - gtk_dialog_set_response_sensitive(GTK_DIALOG(gtkconv->dialogs.search), + gtk_dialog_set_response_sensitive(GTK_DIALOG(gtkwin->dialogs.search), GTK_RESPONSE_OK, FALSE); label = gtk_label_new(NULL); @@ -1115,10 +1141,10 @@ gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(s->entry)); g_signal_connect(G_OBJECT(s->entry), "changed", G_CALLBACK(gaim_gtk_set_sensitive_if_input), - gtkconv->dialogs.search); + gtkwin->dialogs.search); gtk_box_pack_start(GTK_BOX(hbox), s->entry, FALSE, FALSE, 0); - gtk_widget_show_all(gtkconv->dialogs.search); + gtk_widget_show_all(gtkwin->dialogs.search); gtk_widget_grab_focus(s->entry); } @@ -4474,10 +4500,6 @@ gaim_request_close_with_handle(gtkconv); gaim_notify_close_with_handle(gtkconv); - /* Close the "Find" dialog if it's open */ - if (gtkconv->dialogs.search) - gtk_widget_destroy(gtkconv->dialogs.search); - gtk_widget_destroy(gtkconv->tab_cont); g_object_unref(gtkconv->tab_cont); @@ -7481,6 +7503,10 @@ gaim_prefs_disconnect_by_handle(win); window_list = g_list_remove(window_list, win); + /* Close the "Find" dialog if it's open */ + if (win->dialogs.search) + gtk_widget_destroy(win->dialogs.search); + if (win->gtkconvs) { while (win->gtkconvs) { GList *nextgtk = win->gtkconvs->next; Modified: trunk/gtk/gtkconv.h =================================================================== --- trunk/gtk/gtkconv.h 2006-08-29 01:58:14 UTC (rev 17075) +++ trunk/gtk/gtkconv.h 2006-08-29 02:22:08 UTC (rev 17076) @@ -142,13 +142,6 @@ GaimUnseenState unseen_state; guint unseen_count; - struct - { - GtkWidget *image; - GtkWidget *search; - - } dialogs; - union { GaimGtkImPane *im; Modified: trunk/gtk/gtkconvwin.h =================================================================== --- trunk/gtk/gtkconvwin.h 2006-08-29 01:58:14 UTC (rev 17075) +++ trunk/gtk/gtkconvwin.h 2006-08-29 02:22:08 UTC (rev 17076) @@ -78,6 +78,12 @@ } menu; + struct + { + GtkWidget *search; + + } dialogs; + /* Tab dragging stuff. */ gboolean in_drag; gboolean in_predrag; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-08-30 02:41:26
|
Revision: 17082 Author: datallah Date: 2006-08-29 19:40:56 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=17082&view=rev Log Message: ----------- It really isn't smart for us to blow away the previous install directory (we do ask nicely, but it still isn't good) if the uninstaller for the previous version fails, so now we offer the choice between "continue regardless" or "cancel installing". It would really be ideal if we could get these translations done through gettext or something. Modified Paths: -------------- trunk/gaim-installer.nsi trunk/gtk/win32/nsis/langmacros.nsh trunk/gtk/win32/nsis/translations/albanian.nsh trunk/gtk/win32/nsis/translations/bulgarian.nsh trunk/gtk/win32/nsis/translations/catalan.nsh trunk/gtk/win32/nsis/translations/czech.nsh trunk/gtk/win32/nsis/translations/danish.nsh trunk/gtk/win32/nsis/translations/dutch.nsh trunk/gtk/win32/nsis/translations/english.nsh trunk/gtk/win32/nsis/translations/finnish.nsh trunk/gtk/win32/nsis/translations/french.nsh trunk/gtk/win32/nsis/translations/galician.nsh trunk/gtk/win32/nsis/translations/german.nsh trunk/gtk/win32/nsis/translations/hebrew.nsh trunk/gtk/win32/nsis/translations/hungarian.nsh trunk/gtk/win32/nsis/translations/italian.nsh trunk/gtk/win32/nsis/translations/japanese.nsh trunk/gtk/win32/nsis/translations/korean.nsh trunk/gtk/win32/nsis/translations/kurdish.nsh trunk/gtk/win32/nsis/translations/lithuanian.nsh trunk/gtk/win32/nsis/translations/norwegian.nsh trunk/gtk/win32/nsis/translations/polish.nsh trunk/gtk/win32/nsis/translations/portuguese-br.nsh trunk/gtk/win32/nsis/translations/portuguese.nsh trunk/gtk/win32/nsis/translations/romanian.nsh trunk/gtk/win32/nsis/translations/russian.nsh trunk/gtk/win32/nsis/translations/serbian-latin.nsh trunk/gtk/win32/nsis/translations/simp-chinese.nsh trunk/gtk/win32/nsis/translations/slovak.nsh trunk/gtk/win32/nsis/translations/slovenian.nsh trunk/gtk/win32/nsis/translations/spanish.nsh trunk/gtk/win32/nsis/translations/swedish.nsh trunk/gtk/win32/nsis/translations/trad-chinese.nsh trunk/gtk/win32/nsis/translations/valencian.nsh trunk/gtk/win32/nsis/translations/vietnamese.nsh Modified: trunk/gaim-installer.nsi =================================================================== --- trunk/gaim-installer.nsi 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gaim-installer.nsi 2006-08-30 02:40:56 UTC (rev 17082) @@ -224,6 +224,7 @@ IfErrors +3 StrCpy $STARTUP_RUN_KEY "HKCU" Goto +4 + ClearErrors ReadRegStr $STARTUP_RUN_KEY HKLM "${GAIM_STARTUP_RUN_KEY}" "Gaim" IfErrors +2 StrCpy $STARTUP_RUN_KEY "HKLM" @@ -269,26 +270,9 @@ Goto uninstall_problem uninstall_problem: - ; In this case just wipe out previous Gaim install dir.. - ; We get here because versions 0.60a1 and 0.60a2 don't have versions set in the registry - ; and versions 0.60 and lower did not correctly set the uninstall reg string - ; (the string was set in quotes) - IfSilent do_wipeout - MessageBox MB_YESNO $(GAIM_PROMPT_WIPEOUT) IDYES do_wipeout IDNO cancel_install - cancel_install: - Quit - - do_wipeout: - StrCmp $R0 "HKLM" gaim_del_lm_reg gaim_del_cu_reg - gaim_del_cu_reg: - DeleteRegKey HKCU ${GAIM_REG_KEY} - Goto uninstall_prob_cont - gaim_del_lm_reg: - DeleteRegKey HKLM ${GAIM_REG_KEY} - - uninstall_prob_cont: - RMDir /r "$R1" - + ; We can't uninstall. Either the user must manually uninstall or we ignore and reinstall over it. + MessageBox MB_OKCANCEL $(GAIM_PROMPT_CONTINUE_WITHOUT_UNINSTALL) /SD IDOK IDOK done + Quit done: SectionEnd @@ -327,9 +311,7 @@ upgrade_gtk: StrCpy $GTK_FOLDER $R6 - IfSilent skip_mb - MessageBox MB_YESNO $(GTK_UPGRADE_PROMPT) IDNO done - skip_mb: + MessageBox MB_YESNO $(GTK_UPGRADE_PROMPT) /SD IDYES IDNO done ClearErrors ExecWait '"$TEMP\gtk-runtime.exe" /L=$LANGUAGE $ISSILENT' Goto gtk_install_cont @@ -341,9 +323,7 @@ gtk_install_error: Delete "$TEMP\gtk-runtime.exe" - IfSilent skip_mb1 - MessageBox MB_OK $(GTK_INSTALL_ERROR) IDOK - skip_mb1: + MessageBox MB_OK $(GTK_INSTALL_ERROR) /SD IDOK Quit have_gtk: @@ -771,15 +751,11 @@ Goto done cant_uninstall: - IfSilent skip_mb - MessageBox MB_OK $(un.GAIM_UNINSTALL_ERROR_1) IDOK - skip_mb: + MessageBox MB_OK $(un.GAIM_UNINSTALL_ERROR_1) /SD IDOK Quit no_rights: - IfSilent skip_mb1 - MessageBox MB_OK $(un.GAIM_UNINSTALL_ERROR_2) IDOK - skip_mb1: + MessageBox MB_OK $(un.GAIM_UNINSTALL_ERROR_2) /SD IDOK Quit done: @@ -901,9 +877,7 @@ Goto done no_rights: - IfSilent skip_mb - MessageBox MB_OK $(GTK_NO_THEME_INSTALL_RIGHTS) IDOK - skip_mb: + MessageBox MB_OK $(GTK_NO_THEME_INSTALL_RIGHTS) /SD IDOK StrCpy $1 "" done: @@ -1209,7 +1183,7 @@ Push $R0 System::Call 'kernel32::OpenMutex(i 2031617, b 0, t "gaim_is_running") i .R0' IntCmp $R0 0 done - MessageBox MB_OK|MB_ICONEXCLAMATION $(GAIM_IS_RUNNING) IDOK + MessageBox MB_OK|MB_ICONEXCLAMATION $(GAIM_IS_RUNNING) /SD IDOK Abort done: Pop $R0 @@ -1223,7 +1197,7 @@ System::Call 'kernel32::CreateMutexA(i 0, i 0, t "gaim_installer_running") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 - MessageBox MB_OK|MB_ICONEXCLAMATION $(INSTALLER_IS_RUNNING) + MessageBox MB_OK|MB_ICONEXCLAMATION $(INSTALLER_IS_RUNNING) /SD IDOK Abort Call RunCheck StrCpy $name "Gaim ${GAIM_VERSION}" @@ -1263,6 +1237,7 @@ ReadRegStr $INSTDIR HKCU "${GAIM_REG_KEY}" "" IfErrors +2 StrCmp $INSTDIR "" 0 instdir_done + ClearErrors ReadRegStr $INSTDIR HKLM "${GAIM_REG_KEY}" "" IfErrors +2 StrCmp $INSTDIR "" 0 instdir_done @@ -1375,9 +1350,7 @@ StrCmp $R0 "0" have_gtk need_gtk need_gtk: - IfSilent skip_mb - MessageBox MB_OK $(GTK_INSTALLER_NEEDED) IDOK - skip_mb: + MessageBox MB_OK $(GTK_INSTALLER_NEEDED) /SD IDOK Quit have_gtk: Pop $R0 @@ -1432,9 +1405,7 @@ Call VerifyDir Pop $R0 StrCmp $R0 "0" 0 done - IfSilent skip_mb - MessageBox MB_OK $(GTK_BAD_INSTALL_PATH) IDOK - skip_mb: + MessageBox MB_OK $(GTK_BAD_INSTALL_PATH) /SD IDOK Abort done: Pop $R0 @@ -1768,7 +1739,7 @@ Pop $R1 StrCmp $R1 "" +3 StrCmp $R1 "cancel" done - MessageBox MB_RETRYCANCEL "$(GAIM_SPELLCHECK_ERROR) : $R1" IDRETRY retry IDCANCEL done + MessageBox MB_RETRYCANCEL "$(GAIM_SPELLCHECK_ERROR) : $R1" /SD IDCANCEL IDRETRY retry IDCANCEL done retry_dict: Push $R0 @@ -1776,7 +1747,7 @@ Pop $R1 StrCmp $R1 "" +3 StrCmp $R1 "cancel" done - MessageBox MB_RETRYCANCEL "$(GAIM_SPELLCHECK_DICT_ERROR) : $R1" IDRETRY retry_dict + MessageBox MB_RETRYCANCEL "$(GAIM_SPELLCHECK_DICT_ERROR) : $R1" /SD IDCANCEL IDRETRY retry_dict done: Modified: trunk/gtk/win32/nsis/langmacros.nsh =================================================================== --- trunk/gtk/win32/nsis/langmacros.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/langmacros.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -29,9 +29,9 @@ ; String labels should match those from the default language file. ; Startup checks - !insertmacro GAIM_MACRO_LANGSTRING_INSERT INSTALLER_IS_RUNNING ${CUR_LANG} - !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_IS_RUNNING ${CUR_LANG} - !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_INSTALLER_NEEDED ${CUR_LANG} + !insertmacro GAIM_MACRO_LANGSTRING_INSERT INSTALLER_IS_RUNNING ${CUR_LANG} + !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_IS_RUNNING ${CUR_LANG} + !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_INSTALLER_NEEDED ${CUR_LANG} ; License Page !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_LICENSE_BUTTON ${CUR_LANG} @@ -67,12 +67,11 @@ ; Gaim Section Prompts and Texts !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_UNINSTALL_DESC ${CUR_LANG} - !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_PROMPT_WIPEOUT ${CUR_LANG} - !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_PROMPT_DIR_EXISTS ${CUR_LANG} + !insertmacro GAIM_MACRO_LANGSTRING_INSERT GAIM_PROMPT_CONTINUE_WITHOUT_UNINSTALL ${CUR_LANG} ; GTK+ Section Prompts !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_INSTALL_ERROR ${CUR_LANG} - !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_BAD_INSTALL_PATH ${CUR_LANG} + !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_BAD_INSTALL_PATH ${CUR_LANG} ; GTK+ Themes section !insertmacro GAIM_MACRO_LANGSTRING_INSERT GTK_NO_THEME_INSTALL_RIGHTS ${CUR_LANG} Modified: trunk/gtk/win32/nsis/translations/albanian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/albanian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/albanian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (vetëm hiq)" -!define GAIM_PROMPT_WIPEOUT "Është gati për t'u fshirë drejtoria juaj e vjetër Gaim. Doni të vazhdohet?$\r$\rShënim: Do të fshihet çfarëdo shtojceë jo standarde që mund të keni instaluar.$\rNuk do të preken rregullime Gaim përdoruesash." -!define GAIM_PROMPT_DIR_EXISTS "Drejtoria e instalimit që treguat ekziston tashmë. Çfarëdo përmbajtje$\rdo të fshihet. Do të donit të vazhdohet?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "gabim gjatë instalimit të GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/bulgarian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/bulgarian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/bulgarian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -32,8 +32,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (\xF1\xE0\xEC\xEE \xEF\xF0\xE5\xEC\xE0\xF5\xE2\xE0\xED\xE5)" -!define GAIM_PROMPT_WIPEOUT "\xC2\xE0\xF8\xE0\xF2\xE0 \xF1\xF2\xE0\xF0\xE0 Gaim \xE4\xE8\xF0\xE5\xEA\xF2\xEE\xF0\xE8\xFF \xF9\xE5 \xE1\xFA\xE4\xE5 \xE8\xE7\xF2\xF0\xE8\xF2\xE0. \xC8\xF1\xEA\xE0\xF2\xE5 \xEB\xE8 \xE4\xE0 \xEF\xF0\xEE\xE4\xFA\xEB\xE6\xE8\xF2\xE5?$\r$\r\xC7\xE0\xE1\xE5\xEB\xE5\xE6\xEA\xE0: \xC2\xF1\xE8\xF7\xEA\xE8 \xED\xE5\xF1\xF2\xE0\xED\xE4\xE0\xF0\xF2\xED\xE8 \xE4\xEE\xE1\xE0\xE2\xEA\xE8 \xEA\xEE\xE8\xF2\xEE \xF1\xF2\xE5 \xE8\xED\xF1\xF2\xE0\xEB\xE8\xF0\xE0\xEB\xE8 \xF9\xE5 \xE1\xFA\xE4\xE0\xF2 \xE8\xE7\xF2\xF0\xE8\xF2\xE8.$\r\xCD\xE0\xF1\xF2\xF0\xEE\xE9\xEA\xE8\xF2\xE5 \xED\xE0 Gaim \xED\xFF\xEC\xE0 \xE4\xE0 \xE1\xFA\xE4\xE0\xF2 \xEF\xEE\xE2\xEB\xE8\xFF\xED\xE8." -!define GAIM_PROMPT_DIR_EXISTS "\xC4\xE8\xF0\xE5\xEA\xF2\xEE\xF0\xE8\xFF\xF2\xE0 \xEA\xEE\xFF\xF2\xEE \xE8\xE7\xE1\xF0\xE0\xF5\xF2\xE5 \xF1\xFA\xF9\xE5\xF1\xF2\xE2\xF3\xE2\xE0. \xC2\xF1\xE8\xF7\xEA\xEE \xEA\xEE\xE5\xF2\xEE \xE5 \xE2 \xED\xE5\xFF$\r\xF9\xE5 \xE1\xFA\xE4\xE5 \xE8\xE7\xF2\xF0\xE8\xF2\xEE. \xC6\xE5\xEB\xE0\xE5\xF2\xE5 \xEB\xE8 \xE4\xE0 \xEF\xF0\xEE\xE4\xFA\xEB\xE6\xE8\xF2\xE5?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "\xC3\xF0\xE5\xF8\xEA\xE0 \xEF\xF0\xE8 \xE8\xED\xF1\xF2\xE0\xEB\xE8\xF0\xE0\xED\xE5 \xED\xE0 GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/catalan.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/catalan.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/catalan.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -49,8 +49,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (nom\xE9s esborrar)" -!define GAIM_PROMPT_WIPEOUT "El teu directori antic de Gaim ser\xE0 esborrat. Vols continuar?$\r$\rNota: Els plugins no est\xE0ndards que tinguis instal.lats seran esborrats.$\rLes prefer\xE8ncies d'usuari de Gaim no es veruan afectades." -!define GAIM_PROMPT_DIR_EXISTS "El directori d'instal.laci\xF3 que has especificat ja existeix. Tots els continguts$\rseran esborrats. Vols continuar?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Error installlant l'entorn d'execuci\xF3 GTK+." Modified: trunk/gtk/win32/nsis/translations/czech.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/czech.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/czech.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (odinstalovat)" -!define GAIM_PROMPT_WIPEOUT "V\xE1\x9A star\xFD adres\xE1\xF8 pro Gaim bude vymaz\xE1n. Chcete pokra\xE8ovat?$\r$\rUpozorn\xECn\xED: Jak\xE1koli nestandardn\xED roz\x9A\xED\xF8en\xED (plugin) , kter\xE1 m\xE1te nainstalov\xE1na budou ztracena.$\rU\x9Eivatelsk\xE1 nastaven\xED pro Gaim budou zachov\xE1na." -!define GAIM_PROMPT_DIR_EXISTS "Adres\xE1\xF8 kter\xFD byl zad\xE1n pro instalaci ji\x9E existuje. Ve\x9Aker\xFD obsah$\rbude smaz\xE1n. Chcete pokra\xE8ovat?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Chyba p\xF8i instalaci GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/danish.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/danish.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/danish.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (fjern)" -!define GAIM_PROMPT_WIPEOUT "Din gamle Gaim folder vil blive slettet. \xD8nsker du at forts\xE6tte? $\r$\rNB: Alle ikke-standard plugins du m\xE5tte have installeret vil blive slettet.$\rGaim brugerindstillinger vil ikke blive p\xE5virket af dette." -!define GAIM_PROMPT_DIR_EXISTS "Den \xF8nskede installationsfolder eksisterer allerede. Ethvert indhold$\ri folderen vil blive slettet. \xD8nsker du at forts\xE6tte?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Fejl under installeringen af GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/dutch.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/dutch.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/dutch.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -42,8 +42,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (alleen verwijderen)" -!define GAIM_PROMPT_WIPEOUT "Uw oude Gaim map staat op het punt om verwijderd te worden. Wilt u doorgaan?$\r$\rLet op: Alle door uzelf ge\xEFnstalleerde plugins zullen ook verwijderd worden.$\rDe gebruikersinstellingen van Gaim worden niet aangeraakt." -!define GAIM_PROMPT_DIR_EXISTS "De gegeven installatiemap bestaat al. Eventuele inhoud zal verwijderd worden. Wilt u doorgaan?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Fout bij installatie van GTK+ runtime omgeving." Modified: trunk/gtk/win32/nsis/translations/english.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/english.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/english.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -13,34 +13,34 @@ ; Startup Checks !insertmacro GAIM_MACRO_DEFAULT_STRING INSTALLER_IS_RUNNING "The installer is already running." -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_IS_RUNNING "An instance of Gaim is currently running. Exit Gaim and then try again." +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_IS_RUNNING "An instance of Gaim is currently running. Exit Gaim and then try again." !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_INSTALLER_NEEDED "The GTK+ runtime environment is either missing or needs to be upgraded.$\rPlease install v${GTK_VERSION} or higher of the GTK+ runtime" ; License Page !insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_LICENSE_BUTTON "Next >" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_LICENSE_BOTTOM_TEXT "$(^Name) is released under the GNU General Public License (GPL). The license is provided here for information purposes only. $_CLICK" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_LICENSE_BOTTOM_TEXT "$(^Name) is released under the GNU General Public License (GPL). The license is provided here for information purposes only. $_CLICK" ; Components Page !insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_SECTION_TITLE "Gaim Instant Messaging Client (required)" !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_SECTION_TITLE "GTK+ Runtime Environment (required)" -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_THEMES_SECTION_TITLE "GTK+ Themes" +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_THEMES_SECTION_TITLE "GTK+ Themes" !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_NOTHEME_SECTION_TITLE "No Theme" -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_WIMP_SECTION_TITLE "Wimp Theme" -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_BLUECURVE_SECTION_TITLE "Bluecurve Theme" -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_LIGHTHOUSEBLUE_SECTION_TITLE "Light House Blue Theme" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_SHORTCUTS_SECTION_TITLE "Shortcuts" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_DESKTOP_SHORTCUT_SECTION_TITLE "Desktop" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_STARTMENU_SHORTCUT_SECTION_TITLE "Start Menu" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_SECTION_DESCRIPTION "Core Gaim files and dlls" -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_SECTION_DESCRIPTION "A multi-platform GUI toolkit, used by Gaim" -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_THEMES_SECTION_DESCRIPTION "GTK+ Themes can change the look and feel of GTK+ applications." +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_WIMP_SECTION_TITLE "Wimp Theme" +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_BLUECURVE_SECTION_TITLE "Bluecurve Theme" +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_LIGHTHOUSEBLUE_SECTION_TITLE "Light House Blue Theme" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_SHORTCUTS_SECTION_TITLE "Shortcuts" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_DESKTOP_SHORTCUT_SECTION_TITLE "Desktop" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_STARTMENU_SHORTCUT_SECTION_TITLE "Start Menu" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_SECTION_DESCRIPTION "Core Gaim files and dlls" +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_SECTION_DESCRIPTION "A multi-platform GUI toolkit, used by Gaim" +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_THEMES_SECTION_DESCRIPTION "GTK+ Themes can change the look and feel of GTK+ applications." !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_NO_THEME_DESC "Don't install a GTK+ theme" !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_WIMP_THEME_DESC "GTK-Wimp (Windows impersonator) is a GTK theme that blends well into the Windows desktop environment." -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_BLUECURVE_THEME_DESC "The Bluecurve theme." -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_LIGHTHOUSEBLUE_THEME_DESC "The Lighthouseblue theme." -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_SHORTCUTS_SECTION_DESCRIPTION "Shortcuts for starting Gaim" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_DESKTOP_SHORTCUT_DESC "Create a shortcut to Gaim on the Desktop" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_STARTMENU_SHORTCUT_DESC "Create a Start Menu entry for Gaim" +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_BLUECURVE_THEME_DESC "The Bluecurve theme." +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_LIGHTHOUSEBLUE_THEME_DESC "The Lighthouseblue theme." +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_SHORTCUTS_SECTION_DESCRIPTION "Shortcuts for starting Gaim" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_DESKTOP_SHORTCUT_DESC "Create a shortcut to Gaim on the Desktop" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_STARTMENU_SHORTCUT_DESC "Create a Start Menu entry for Gaim" ; GTK+ Directory Page !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_UPGRADE_PROMPT "An old version of the GTK+ runtime was found. Do you wish to upgrade?$\rNote: Gaim may not work unless you do." @@ -50,15 +50,14 @@ ; Gaim Section Prompts and Texts !insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_UNINSTALL_DESC "Gaim (remove only)" -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_PROMPT_WIPEOUT "Your old Gaim directory is about to be deleted. Would you like to continue?$\r$\rNote: Any non-standard plugins that you may have installed will be deleted.$\rGaim user settings will not be affected." -!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_PROMPT_DIR_EXISTS "The installation directory you specified already exists. Any contents$\rwill be deleted. Would you like to continue?" +!insertmacro GAIM_MACRO_DEFAULT_STRING GAIM_PROMPT_CONTINUE_WITHOUT_UNINSTALL "Unable to uninstall the currently installed version of Gaim. The new version will be installed without removing the currently installed version." ; GTK+ Section Prompts !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_INSTALL_ERROR "Error installing GTK+ runtime." !insertmacro GAIM_MACRO_DEFAULT_STRING GTK_BAD_INSTALL_PATH "The path you entered can not be accessed or created." ; GTK+ Themes section -!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_NO_THEME_INSTALL_RIGHTS "You do not have permission to install a GTK+ theme." +!insertmacro GAIM_MACRO_DEFAULT_STRING GTK_NO_THEME_INSTALL_RIGHTS "You do not have permission to install a GTK+ theme." ; Uninstall Section Prompts !insertmacro GAIM_MACRO_DEFAULT_STRING un.GAIM_UNINSTALL_ERROR_1 "The uninstaller could not find registry entries for Gaim.$\rIt is likely that another user installed this application." Modified: trunk/gtk/win32/nsis/translations/finnish.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/finnish.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/finnish.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (vain poisto)" -!define GAIM_PROMPT_WIPEOUT "Vanha Gaim-hakemistosi poistetaan. Tahdotko jatkaa?$\r$\rHuomio: Jokainen j\xE4lkeenp\xE4in asennettu lis\xE4osa poistetaan.$\rGaimin k\xE4ytt\xE4j\xE4asetuksissa ei tapahdu muutoksia." -!define GAIM_PROMPT_DIR_EXISTS "Antamasti hakemisto on jo olemassa. Kaikki tiedot poistetaan $\r. Tahdotko jatkaa?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Virhe asennettaessa GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/french.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/french.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/french.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -51,8 +51,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (supprimer uniquement)" -!define GAIM_PROMPT_WIPEOUT "L'ancien dossier de Gaim va \xEAtre supprim\xE9. Voulez-vous continuer ?$\r$\rNote : Tous les plugins non standards que vous avez install\xE9s seront aussi supprim\xE9s.$\rLes configurations et les comptes utilisateurs de Gaim ne sont pas touch\xE9s." -!define GAIM_PROMPT_DIR_EXISTS "Le dossier d'installation que vous avez choisi existe d\xE9j\xE0. Son contenu sera effac\xE9.$\rVoulez-vous continuer ?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Erreur lors de l'installation des biblioth\xE8ques GTK+" Modified: trunk/gtk/win32/nsis/translations/galician.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/galician.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/galician.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (s\xF3lo eliminar)" -!define GAIM_PROMPT_WIPEOUT "O seu directorio antigo de Gaim vai ser borrado. \xBFDesexa continuar?$\r$\rObservaci\xF3n: calquer aplique non est\xE1ndar que puidera haber instalado borrarase.$\rIsto non afectar\xE1 \xE1s s\xFAas preferencias de usuario en Gaim." -!define GAIM_PROMPT_DIR_EXISTS "O directorio de instalaci\xF3n que especificou xa existe. Todos os contidos$\rser\xE1n borrados. \xBFDesexa continuar?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Erro ao instalar o executable GTK+." Modified: trunk/gtk/win32/nsis/translations/german.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/german.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/german.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -48,8 +48,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (nur entfernen)" -!define GAIM_PROMPT_WIPEOUT "Ihre altes Gaim-Verzeichnis soll gel\xF6scht werden. M\xF6chten Sie fortfahren?$\r$\rHinweis: Alle nicht-Standard Plugins, die Sie evtl. installiert haben werden$\rgel\xF6scht. Gaim-Benutzereinstellungen sind nicht betroffen." -!define GAIM_PROMPT_DIR_EXISTS "Das Installationsverzeichnis, das Sie angegeben haben, existiert schon. Der Verzeichnisinhalt$\rwird gel\xF6scht. M\xF6chten Sie fortfahren?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Fehler beim Installieren der GTK+ Runtime." Modified: trunk/gtk/win32/nsis/translations/hebrew.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/hebrew.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/hebrew.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "GAIM (\xEE\xE7\xE9\xF7\xE4 \xE1\xEC\xE1\xE3)" -!define GAIM_PROMPT_WIPEOUT "?\xE4\xE9\xF9\xF0\xE4 \xE4\xE5\xEC\xEB\xFA \xEC\xE4\xE9\xEE\xE7\xF7. \xEC\xE4\xEE\xF9\xE9\xEA GAIM \xFA\xE9\xF7\xE9\xE9\xFA$\r$\rNote: \xE4\xF2\xF8\xE4: \xFA\xE5\xF1\xF4\xE5\xFA \xEC\xE0 \xF8\xE2\xE9\xEC\xE5\xFA \xE9\xEE\xE7\xF7\xE5.$\r.\xE4\xE2\xE3\xF8\xE5\xFA \xE4\xEE\xF9\xFA\xEE\xF9 \xEC\xE0 \xE9\xF9\xFA\xF0\xE5" -!define GAIM_PROMPT_DIR_EXISTS "\xFA\xE9\xF7\xE9\xE9\xFA \xE4\xE4\xFA\xF7\xF0\xE4 \xEB\xE1\xF8 \xF7\xE9\xE9\xEE\xFA. \xEB\xEC \xEE\xF9\xE1\xFA\xE5\xEB\xE4 $\r?\xE9\xEE\xE7\xF7. \xEC\xE4\xEE\xF9\xE9\xEA" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR ".GTK+ \xF9\xE2\xE9\xE0\xE4 \xE1\xE4\xFA\xF7\xF0\xFA \xF1\xE1\xE9\xE1\xFA" Modified: trunk/gtk/win32/nsis/translations/hungarian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/hungarian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/hungarian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -47,8 +47,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (csak elt\xE1vol\xEDt\xE1s)" -!define GAIM_PROMPT_WIPEOUT "Az \xD6n kor\xE1bbi Gaim k\xF6nyvt\xE1ra t\xF6r\xF6lve lesz. Folytatni szeretn\xE9?$\r$\rMegjegyz\xE9s: Minden \xD6n \xE1ltal telep\xEDtett bov\xEDtm\xE9ny t\xF6r\xF6lve lesz.$\rA Gaim felhaszn\xE1l\xF3i be\xE1ll\xEDt\xE1sokra ez nincs hat\xE1ssal." -!define GAIM_PROMPT_DIR_EXISTS "A megadott telep\xEDt\xE9si k\xF6nyvt\xE1r m\xE1r l\xE9tezik. A tartalma t\xF6r\xF6lve lesz.$\rFolytatni szeretn\xE9?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Hiba a GTK+ futtat\xF3k\xF6rnyezet telep\xEDt\xE9se k\xF6zben." Modified: trunk/gtk/win32/nsis/translations/italian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/italian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/italian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (solo rimozione)" -!define GAIM_PROMPT_WIPEOUT "La tua vecchia directory di Gaim sta per essere cancellata. Vuoi andare avanti?$\r$\rNota: Tutti i plugin non standard che hai installato saranno cancellati.$\rLe impostazioni di Gaim non saranno rimosse." -!define GAIM_PROMPT_DIR_EXISTS "La directory di installazione specificata esiste gi\xE0. Tutto il contenuto$\rverr\xE0 cancellato. Vuoi continuare?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Errore di installazione di GTK+." Modified: trunk/gtk/win32/nsis/translations/japanese.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/japanese.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/japanese.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -48,8 +48,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (\x8D폜\x82̂\xDD)" -!define GAIM_PROMPT_WIPEOUT "\x8CÂ\xA2Gaim\x82̃t\x83H\x83\x8B\x83_\x82̍폜\x82Ɋւ\xB5\x82āB\x91\xB1\x8Ds\x82\xB5\x82܂\xB7\x82\xA9?$\r$\r\x92\x8D\x88\xD3: \x82\xA0\x82Ȃ\xBD\x82̃C\x83\x93\x83X\x83g\x81[\x83\x8B\x82\xB5\x82\xBD\x82\xB7\x82ׂĂ̔\xF1\x95W\x8F\x80\x82ȃv\x83\x89\x83O\x83C\x83\x93\x82͍폜\x82\xB3\x82\xEA\x82܂\xB7\x81B$\rGaim\x82̐ݒ\xE8\x82͉e\x8B\xBF\x82\xF0\x8E܂\xB9\x82\xF1\x81B" -!define GAIM_PROMPT_DIR_EXISTS "\x82\xA0\x82Ȃ\xBD\x82̎w\x92肵\x82\xBD\x83C\x83\x93\x83X\x83g\x81[\x83\x8B\x90\xE6\x82̃t\x83H\x83\x8B\x83_\x82͂\xB7\x82łɑ\xB6\x8D݂\xB5\x82Ă\xA2\x82܂\xB7\x81B\x93\xE0\x97e\x82͂\xB7\x82ׂ\xC4$\r\x8D폜\x82\xB3\x82\xEA\x82܂\xB7\x81B\x91\xB1\x8Ds\x82\xB5\x82܂\xB7\x82\xA9?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "GTK+\x83\x89\x83\x93\x83^\x83C\x83\x80\x82̃C\x83\x93\x83X\x83g\x81[\x83\x8B\x82ŃG\x83\x89\x81[\x82\xAA\x94\xAD\x90\xB6\x82\xB5\x82܂\xB5\x82\xBD\x81B" Modified: trunk/gtk/win32/nsis/translations/korean.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/korean.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/korean.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -31,8 +31,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (remove only)" -!define GAIM_PROMPT_WIPEOUT "\xB0\xA1\xC0\xD3 \xB5\xF0\xB7\xBA\xC5丮\xB0\xA1 \xC1\xF6\xBF\xF6\xC1\xFA \xB0\xCD\xC0Դϴ\xD9. \xB0\xE8\xBC\xD3 \xC7ұ\xEE\xBF\xE4?$\r$\rNote: \xBA\xF1ǥ\xC1\xD8 \xC7÷\xAF\xB1\xD7\xC0\xCE\xC0\xBA \xC1\xF6\xBF\xF6\xC1\xF6\xC1\xF6 \xBE\xCA\xC0\xBB \xBC\xF6\xB5\xB5 \xC0ֽ\xC0\xB4ϴ\xD9.$\r\xB0\xA1\xC0\xD3 \xBB\xE7\xBF\xEB\xC0\xDA \xBC\xB3\xC1\xA4\xBF\xA1\xB4\xC2 \xBF\xB5\xC7\xE2\xC0\xBB \xB9\xCCġ\xC1\xF6 \xBEʽ\xC0\xB4ϴ\xD9." -!define GAIM_PROMPT_DIR_EXISTS "\xC0Է\xC2\xC7Ͻ\xC5 \xBC\xB3ġ \xB5\xF0\xB7\xBA\xC5丮\xB0\xA1 \xC0̹\xCC \xC0ֽ\xC0\xB4ϴ\xD9. \xBEȿ\xA1 \xB5\xE9\xC0\xBA \xB3\xBB\xBF\xEB\xC0\xCC \xC1\xF6\xBF\xF6\xC1\xFA \xBC\xF6\xB5\xB5 \xC0ֽ\xC0\xB4ϴ\xD9. \xB0\xE8\xBC\xD3\xC7ұ\xEE\xBF\xE4?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "GTK+ \xB7\xB1Ÿ\xC0\xD3 \xBC\xB3ġ \xC1\xDF \xBF\xC0\xB7\xF9 \xB9\xFD." Modified: trunk/gtk/win32/nsis/translations/kurdish.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/kurdish.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/kurdish.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -48,8 +48,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (bi ten\xEA rake)" -!define GAIM_PROMPT_WIPEOUT "Peldanka Gaim ya kevn ya te niha t\xEA j\xEAbirin. Tu dixwaz\xEE bidom\xEEn\xEE?$\r$\rNot: Plugin y\xEAn nestandart y\xEAn te t\xEAn j\xEAbirin. .$\rV\xEAbijerk\xEAn bikarh\xEAner \xEAn Gaim nay\xEAn guherandin." -!define GAIM_PROMPT_DIR_EXISTS "Peldanka sazkirin\xEA ya tu hilbijart\xEE heye. Naveroka w\xEA $\rt\xEA j\xEAbirin. Tu dixwaz\xEE bidom\xEEn\xEE?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Di sazkirina GTK+ de \xE7ewt\xEE derket." Modified: trunk/gtk/win32/nsis/translations/lithuanian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/lithuanian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/lithuanian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -45,8 +45,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (tik pa\xF0alinti)" -!define GAIM_PROMPT_WIPEOUT "J\xFBs\xF8 senasis Gaim katalogas tuoj tur\xEBt\xF8 b\xFBti i\xF0trintas. Ar norite t\xE6sti?$\r$\rPastaba: bet kokie nestandartiniai papildiniai, jeigu toki\xF8 \xE1dieg\xEBte, bus pa\xF0alinti.$\rGaim vartotojo nustatymai nebus paliesti." -!define GAIM_PROMPT_DIR_EXISTS "Nurodytas diegimo katalogas jau yra. Jo turinys$\rbus pa\xF0alintas. Ar norite t\xE6sti?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "GTK+ vykdymo meto aplinkos diegimo klaida." Modified: trunk/gtk/win32/nsis/translations/norwegian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/norwegian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/norwegian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -47,8 +47,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (kun avinstallering)" -!define GAIM_PROMPT_WIPEOUT "Din gamle Gaim-katalog holder p\xE5 \xE5 slettes. \xD8nsker du \xE5 fortsette?$\r$\rMerk: Eventuelle ikke-standard plugin'er du har installert vil bli slettet.$\rGaims brukerinstillinger vil ikke bli ber\xF8rt." -!define GAIM_PROMPT_DIR_EXISTS "Installasjonskatalogen du har spesifisert finnes fra f\xF8r. Eventuelt innhold$\rvil bli slettet. \xD8nsker du \xE5 fortsette?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "En feil oppstod ved installering av GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/polish.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/polish.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/polish.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (usu\xF1 program)" -!define GAIM_PROMPT_WIPEOUT "Stary katalog Gaim zosta\xB3 usuni\xEAty. Czy chcesz kontunuowa\xE6?$\r$\rNote: Wszystkie stare - niestandardowe plugin-y zosta\xB3y usuni\xEAte.$\r Ustawienia u\xBFutkownika Gaim b\xEAd\xB9 wy\xB3\xB9czone." -!define GAIM_PROMPT_DIR_EXISTS "Wybrany katalog instalacyjny ju\xBF istnieje. Jego zawarto\x9C\xE6 $\r zostanie skasowana. Czy chcesz kontunuowa\xE6?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "B\xB3\xB9d instalacji runtime-a GTK+." Modified: trunk/gtk/win32/nsis/translations/portuguese-br.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/portuguese-br.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/portuguese-br.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -42,8 +42,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (apenas remover)" -!define GAIM_PROMPT_WIPEOUT "Sua antiga instala\xE7\xE3o do Gaim est\xE1 prestes a ser removida. Voc\xEA gostaria de continuar?$\r$\rNota: Quaisquer plugins n\xE3o-padr\xE3o que voc\xEA pode ter instalado ser\xE3o removidos.$\rAs configura\xE7\xF5es de usu\xE1rio do Gaim n\xE3o ser\xE3o afetadas." -!define GAIM_PROMPT_DIR_EXISTS "O diret\xF3rio de instala\xE7\xE3o do que voc\xEA especificou j\xE1 existe. Qualquer conte\xFAdo$\rser\xE1 deletado. Deseja continuar?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Erro ao instalar o ambiente de tempo de execu\xE7\xE3o do GTK+." Modified: trunk/gtk/win32/nsis/translations/portuguese.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/portuguese.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/portuguese.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -47,8 +47,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (remover apenas)" -!define GAIM_PROMPT_WIPEOUT "A directoria antiga do Gaim est\xE1 prestes a ser removida. Deseja continuar?$\r$\rNota: Quaisquer plugins n\xE3o-padr\xE3o que poder\xE1 ter instalado ser\xE3o removidos.$\rAs configura\xE7\xF5es de utilizador do Gaim n\xE3o ser\xE3o afectadas." -!define GAIM_PROMPT_DIR_EXISTS "A directoria de instala\xE7\xE3o que especificou j\xE1 existe. Qualquer conte\xFAdo$\rser\xE1 removido. Deseja continuar?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Erro ao instalar o ambiente de execu\xE7\xE3o GTK+." Modified: trunk/gtk/win32/nsis/translations/romanian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/romanian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/romanian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -46,8 +46,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (doar dezinstalare)" -!define GAIM_PROMPT_WIPEOUT "Vechiul director Gaim va fi \xBAters. Dori\xFEi s\xE3 continua\xFEi?$\r$\rNot\xE3: Orice module externe vor fi \xBAterse.$\rSet\xE3rile utilizatorilor Gaim nu vor fi afectate." -!define GAIM_PROMPT_DIR_EXISTS "Directorul ales pentru instalare exist\xE3 deja.$\rCon\xFEinutul s\xE3u va fi \xBAters. Dori\xFEi s\xE3 continua\xFEi?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Eroare la instalarea mediului GTK+." Modified: trunk/gtk/win32/nsis/translations/russian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/russian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/russian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (\xF2\xEE\xEB\xFC\xEA\xEE \xF3\xE4\xE0\xEB\xE5\xED\xE8\xE5)" -!define GAIM_PROMPT_WIPEOUT "\xC2\xE0\xF8\xE0 \xF1\xF2\xE0\xF0\xE0\xFF \xE4\xE8\xF0\xE5\xEA\xF2\xEE\xF0\xE8\xFF Gaim \xE1\xF3\xE4\xE5\xF2 \xF4\xE0\xEA\xF2\xE8\xF7\xE5\xF1\xEA\xE8 \xF3\xE4\xE0\xEB\xE5\xED\xE0. \xC2\xFB \xE6\xE5\xEB\xE0\xE5\xF2\xE5 \xEF\xF0\xEE\xE4\xEE\xEB\xE6\xE8\xF2\xFC ?$\r$\r\xCF\xF0\xE8\xEC\xE5\xF7\xE0\xED\xE8\xE5: \xC2\xF1\xE5 \xED\xE5\xF1\xF2\xE0\xED\xE4\xE0\xF0\xF2\xED\xFB\xE5 \xEF\xEB\xE0\xE3\xE8\xED\xFB \xEA\xEE\xF2\xEE\xF0\xFB\xE5 \xC2\xFB \xF3\xF1\xF2\xE0\xED\xEE\xE2\xE8\xEB\xE8 \xE1\xF3\xE4\xF3\xF2 \xF3\xE4\xE0\xEB\xE5\xED\xFB..$\r\xCF\xEE\xEB\xFC\xE7\xEE\xE2\xE0\xF2\xE5\xEB\xFC\xF1\xEA\xE8\xE5 \xED\xE0\xF1\xF2\xF0\xEE\xE9\xEA\xE8 Gaim \xED\xE5 \xEF\xEE\xF1\xF2\xF0\xE0\xE4\xE0\xFE\xF2." -!define GAIM_PROMPT_DIR_EXISTS "\xC4\xE8\xF0\xE5\xEA\xF2\xEE\xF0\xE8\xFF, \xEA\xEE\xF2\xEE\xF0\xF3\xFE \xC2\xFB \xF3\xEA\xE0\xE7\xE0\xEB\xE8 \xE4\xEB\xFF \xF3\xF1\xF2\xE0\xED\xEE\xE2\xEA\xE8 \xF3\xE6\xE5 \xF1\xF3\xF9\xE5\xF1\xF2\xE2\xF3\xE5\xF2. \xC2\xF1\xB8 \xF1\xEE\xE4\xE5\xF0\xE6\xE8\xEC\xEE\xE5$\r\xE1\xF3\xE4\xE5\xF2 \xF3\xE4\xE0\xEB\xE5\xED\xEE. \xC2\xFB \xE6\xE5\xEB\xE0\xE5\xF2\xE5 \xEF\xF0\xEE\xE4\xEE\xEB\xE6\xE8\xF2\xFC?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "\xCE\xF8\xE8\xE1\xEA\xE0 \xEF\xF0\xE8 \xF3\xF1\xF2\xE0\xED\xEE\xE2\xEA\xE5 \xEE\xEA\xF0\xF3\xE6\xE5\xED\xE8\xFF GTK+." Modified: trunk/gtk/win32/nsis/translations/serbian-latin.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/serbian-latin.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/serbian-latin.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -31,8 +31,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (samo uklanjanje)" -!define GAIM_PROMPT_WIPEOUT "Va\x9A stari Gaim direktorijum \xE6e biti obrisan. Da li \x9Eelite da nastavite?$\r$\rPrimedba: Svi nestandardni dodaci koje ste instalirali \xE6e biti obrisani.$\rGaim postavke korisnika ne\xE6e biti promenjene." -!define GAIM_PROMPT_DIR_EXISTS "Instalacioni direktorijum koji ste naveli ve\xE6 postoji. Sav sadr\x9Eaj$\r\xE6e biti obrisan. Da li \x9Eelite da nastavite?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Gre\x9Aka prilikom instalacije GTK+ okoline za izvr\x9Aavanje." Modified: trunk/gtk/win32/nsis/translations/simp-chinese.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/simp-chinese.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/simp-chinese.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -47,8 +47,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (ֻ\xC4\xDCɾ\xB3\xFD)" -!define GAIM_PROMPT_WIPEOUT "\xBC\xB4\xBD\xABɾ\xB3\xFD\xC4\xFA\xB5ľ\xC9 Gaim Ŀ¼\xA1\xA3\xC4\xFA\xCF\xEBҪ\xBC\xCC\xD0\xF8\xC2\xF0?$\r$\rע\xD2\xE2: \xC4\xFA\xCB\xF9\xB0\xB2װ\xB5\xC4\xC8κηDZ\xEA\xB5IJ\xE5\xBC\xFE\xB6\xBC\xBD\xAB\xB1\xBBɾ\xB3\xFD\xA1\xA3$\r\xB5\xAB\xCADz\xBB\xBB\xE1Ӱ\xCF\xEC Gaim \xD3û\xA7\xC9\xE8\xD6á\xA3" -!define GAIM_PROMPT_DIR_EXISTS "\xC4\xFAָ\xB6\xA8\xB5İ\xB2װĿ¼\xD2Ѿ\xAD\xB4\xE6\xD4ڡ\xA3$\r\xCB\xF9\xD3\xD0\xC4\xDA\xC8ݶ\xBC\xBD\xAB\xB1\xBBɾ\xB3\xFD\xA1\xA3\xC4\xFA\xCF\xEBҪ\xBC\xCC\xD0\xF8\xC2\xF0?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "\xB0\xB2װ GTK+ \xD4\xCB\xD0\xD0ʱ\xBF\xCCʧ\xB0ܡ\xA3" Modified: trunk/gtk/win32/nsis/translations/slovak.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/slovak.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/slovak.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -47,8 +47,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (len odstr\xE1ni\x9D)" -!define GAIM_PROMPT_WIPEOUT "V\xE1\x9A adres\xE1r Gaim bude zmazan\xFD. Chcete pokra\xE8ova\x9D?$\r$\rPozn\xE1mka: V\x9Aetky pr\xEDdavne pluginy, ktor\xE9 ste nain\x9Atalovali bud\xFA tie\x9E zmazan\xE9.$\rNastavenia u\x9Eivate\xBEsk\xE9ho \xFA\xE8tu Gaim-u bud\xFA ponechan\xE9." -!define GAIM_PROMPT_DIR_EXISTS "Adres\xE1r, ktor\xFD ste zadali, u\x9E existuje. Jeho obsah bude zmazan\xFD. Chcete pokra\xE8ova\x9D?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Chyba pri in\x9Atal\xE1cii GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/slovenian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/slovenian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/slovenian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -47,8 +47,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (samo odstrani)" -!define GAIM_PROMPT_WIPEOUT "Va\x9A star imenik Gaim bo zbrisan. \x8Eelite nadaljevati?$\r$\rOpomba: Vsi nestandardni vti\xE8niki, ki ste jih namestili, bodo zbrisani.$\rUporabni\x9Ake nastavitve za Gaim se bodo ohranile." -!define GAIM_PROMPT_DIR_EXISTS "Namestitveni imenik, ki ste ga navedli, \x9Ee obstaja. Vsa vsebina$\rbo zbrisana. \x8Eelite nadaljevati?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Napaka pri namestitvi izvajalnega okolja GTK+." Modified: trunk/gtk/win32/nsis/translations/spanish.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/spanish.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/spanish.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -39,8 +39,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (s\xF3lo eliminar)" -!define GAIM_PROMPT_WIPEOUT "Su directorio antig\xFCo de Gaim va a ser borrado. \xBFDesea continuar?$\r$\rObservaci\xF3n: cualquier aplique no est\xE1ndar que pudiera haber instalado ser\xE1 borrado.$\r\xC9sto no afectar\xE1 a sus preferencias de usuario en Gaim." -!define GAIM_PROMPT_DIR_EXISTS "El directorio de instalaci\xF3n que ha especificado ya existe. Todos los contenidos$\rser\xE1 borrados. \xBFDesea continuar?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Error al instalar el ejecutable GTK+." Modified: trunk/gtk/win32/nsis/translations/swedish.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/swedish.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/swedish.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -50,8 +50,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (enbart f\xF6r avinstallation)" -!define GAIM_PROMPT_WIPEOUT "Din gamla Gaim-katalog kommer att raderas, vill du forts\xE4tta?$\r$\rOBS! om du har installerat n\xE5gra extra insticksmoduler kommer de raderas.$\rGaims anv\xE4ndarinst\xE4llningar kommer inte p\xE5verkas." -!define GAIM_PROMPT_DIR_EXISTS "Den katalog du vill installera i finns redan. Allt i katalogen$\rkommer att raderas, vill du forts\xE4tta?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Fel vid installation av GTK+ runtime." Modified: trunk/gtk/win32/nsis/translations/trad-chinese.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/trad-chinese.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/trad-chinese.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -2,7 +2,7 @@ ;; trad-chinese.nsh ;; ;; Traditional Chineese language strings for the Windows Gaim NSIS installer. -;; Windows Code page:950 +;; Windows Code page:950 ;; ;; Author: Paladin R. Liu <pa...@ms...> ;; Minor updates: Ambrose C. Li <ac...@ad...> @@ -12,7 +12,7 @@ ; Startup Checks !define INSTALLER_IS_RUNNING "\xA6w\xB8˵{\xA6\xA1\xA5\xBF\xA6b\xB0\xF5\xA6椤\xA1C" -!define GAIM_IS_RUNNING "Gaim \xA5\xBF\xA6b\xB0\xF5\xA6椤\xA1A\xBDХ\xFD\xB5\xB2\xA7\xF4\xB3o\xADӵ{\xA6\xA1\xAB\xE1\xA6A\xA6\xE6\xA6w\xB8ˡC" +!define GAIM_IS_RUNNING "Gaim \xA5\xBF\xA6b\xB0\xF5\xA6椤\xA1A\xBDХ\xFD\xB5\xB2\xA7\xF4\xB3o\xADӵ{\xA6\xA1\xAB\xE1\xA6A\xA6\xE6\xA6w\xB8ˡC" !define GTK_INSTALLER_NEEDED "\xA7䤣\xA8\xEC\xB2ŦX\xAA\xBA GTK+ \xB0\xF5\xA6\xE6\xC0\xF4\xB9ҩάO\xBBݭn\xB3Q\xA7\xF3\xB7s\xA1C$\r\xBDЦw\xB8\xCB v${GTK_VERSION} \xA5H\xA4W\xAA\xA9\xA5\xBB\xAA\xBA GTK+ \xB0\xF5\xA6\xE6\xC0\xF4\xB9ҡC" ; License Page @@ -24,22 +24,22 @@ !define GTK_SECTION_TITLE "GTK+ \xB0\xF5\xA6\xE6\xC0\xF4\xB9\xD2 (\xA5\xB2\xBB\xDD)" !define GTK_THEMES_SECTION_TITLE "GTK+ \xA7G\xB4\xBA\xA5D\xC3D" !define GTK_NOTHEME_SECTION_TITLE "\xA4\xA3\xA6w\xB8˧G\xB4\xBA\xA5D\xC3D" -!define GTK_WIMP_SECTION_TITLE "Wimp \xA7G\xB4\xBA\xA5D\xC3D" +!define GTK_WIMP_SECTION_TITLE "Wimp \xA7G\xB4\xBA\xA5D\xC3D" !define GTK_BLUECURVE_SECTION_TITLE "Bluecurve \xA7G\xB4\xBA\xA5D\xC3D" !define GTK_LIGHTHOUSEBLUE_SECTION_TITLE "Light House Blue \xA7G\xB4\xBA\xA5D\xC3D" -!define GAIM_SHORTCUTS_SECTION_TITLE "\xB1\xB6\xAE|" -!define GAIM_DESKTOP_SHORTCUT_SECTION_TITLE "\xAEୱ\xB1\xB6\xAE|" +!define GAIM_SHORTCUTS_SECTION_TITLE "\xB1\xB6\xAE|" +!define GAIM_DESKTOP_SHORTCUT_SECTION_TITLE "\xAEୱ\xB1\xB6\xAE|" !define GAIM_STARTMENU_SHORTCUT_SECTION_TITLE "\xB6}\xA9l\xA5\\xAF\xE0\xAA\xED" !define GAIM_SECTION_DESCRIPTION "Gaim \xAE֤\xDF\xC0ɮפΰʺA\xA8禡\xAEw" -!define GTK_SECTION_DESCRIPTION "Gaim \xA9ҨϥΪ\xBA\xB8x\xB9ϧΤ\xB6\xAD\xB1\xA8禡\xAEw" -!define GTK_THEMES_SECTION_DESCRIPTION "GTK+ \xA7G\xB4\xBA\xA5D\xC3D\xA5i\xA5H\xA5Ψӧ\xEF\xC5\xDC GTK+ \xC0\xB3\xA5ε{\xA6\xA1\xAA\xBA\xA5~\xC6[\xA1C" +!define GTK_SECTION_DESCRIPTION "Gaim \xA9ҨϥΪ\xBA\xB8x\xB9ϧΤ\xB6\xAD\xB1\xA8禡\xAEw" +!define GTK_THEMES_SECTION_DESCRIPTION "GTK+ \xA7G\xB4\xBA\xA5D\xC3D\xA5i\xA5H\xA5Ψӧ\xEF\xC5\xDC GTK+ \xC0\xB3\xA5ε{\xA6\xA1\xAA\xBA\xA5~\xC6[\xA1C" !define GTK_NO_THEME_DESC "\xA4\xA3\xA6w\xB8\xCB GTK+ \xA7G\xB4\xBA\xA5D\xC3D" !define GTK_WIMP_THEME_DESC "\xA1uGTK-Wimp\xA1v(Windows impersonator) \xA5D\xC3D\xA5i\xC5\xFD GTK+ \xBFĤJ Windows \xA8\xF4\xAD\xB1\xC0\xF4\xC0\xA4\xA1C" !define GTK_BLUECURVE_THEME_DESC "\xA1uBluecurve\xA1v\xA5D\xC3D" -!define GTK_LIGHTHOUSEBLUE_THEME_DESC "\xA1uLighthouseblue\xA1v\xA5D\xC3D\xA1C" -!define GAIM_SHORTCUTS_SECTION_DESCRIPTION "\xABإ\xDF Gaim \xB1\xB6\xAE|" -!define GAIM_DESKTOP_SHORTCUT_DESC "\xA6b\xAEୱ\xABإ߱\xB6\xAE|" -!define GAIM_STARTMENU_SHORTCUT_DESC "\xA6b\xB6}\xA9l\xA5\\xAF\xE0\xAA\xED\xABإ߱\xB6\xAE|" +!define GTK_LIGHTHOUSEBLUE_THEME_DESC "\xA1uLighthouseblue\xA1v\xA5D\xC3D\xA1C" +!define GAIM_SHORTCUTS_SECTION_DESCRIPTION "\xABإ\xDF Gaim \xB1\xB6\xAE|" +!define GAIM_DESKTOP_SHORTCUT_DESC "\xA6b\xAEୱ\xABإ߱\xB6\xAE|" +!define GAIM_STARTMENU_SHORTCUT_DESC "\xA6b\xB6}\xA9l\xA5\\xAF\xE0\xAA\xED\xABإ߱\xB6\xAE|" ; GTK+ Directory Page !define GTK_UPGRADE_PROMPT "\xB5o\xB2{\xA4@\xAD\xD3\xC2ª\xA9\xAA\xBA GTK+ \xB0\xF5\xA6\xE6\xC0\xF4\xB9ҡC\xB1z\xADn\xB1N\xA5\xA6\xA4ɯŶܡH$\r\xBDЪ`\xB7N\xA1G\xA6p\xAAG\xB1z\xA4\xA3\xA4ɯšAGaim \xA5i\xAF\xE0\xB5L\xAAk\xA5\xBF\xBDT\xAA\xBA\xB3Q\xB0\xF5\xA6\xE6\xA1C" @@ -49,8 +49,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim v${GAIM_VERSION} (\xA5u\xA8Ѳ\xBE\xB0\xA3)" -!define GAIM_PROMPT_WIPEOUT "\xB1z\xA5\xFD\xABe\xA6w\xB8˩\xF3\xA5ؿ\xFD\xA4\xA4\xAA\xBA\xC2ª\xA9 Gaim \xB1N\xB7|\xB3Q\xB2\xBE\xB0\xA3\xA1C\xB1z\xADn\xC4~\xC4\xF2\xB6ܡH$\r$\r\xBDЪ`\xB7N\xA1G\xA5\xF4\xA6\xF3\xB1z\xA9Ҧw\xB8˪\xBA\xABD\xA9x\xA4\xE8\xBA\xFB\xC5@\xBCҲճ\xA3\xB1N\xB3Q\xA7R\xB0\xA3\xA1C$\r\xA6\xD3 Gaim \xAA\xBA\xA8ϥΪ̳]\xA9w\xB1N\xA4\xA3\xB7|\xA8\xFC\xA8\xEC\xBCv\xC5T\xA1C" -!define GAIM_PROMPT_DIR_EXISTS "\xB1z\xA9ҿ\xEF\xA9w\xAA\xBA\xA6w\xB8˥ؿ\xFD\xA4U\xAA\xBA\xA9Ҧ\xB3\xC0ɮ׳\xA3\xB1N\xB3Q\xB2\xBE\xB0\xA3\xA1C$\r\xB1z\xADn\xC4~\xC4\xF2\xB6ܡH" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "\xA6w\xB8\xCB GTK+ \xB0\xF5\xA6\xE6\xC0\xF4\xB9Үɵo\xA5Ϳ\xF9\xBB~\xA1C" @@ -60,5 +58,5 @@ !define GTK_NO_THEME_INSTALL_RIGHTS "\xB1z\xA5ثe\xAA\xBA\xC5v\xAD\xAD\xB5L\xAAk\xA6w\xB8\xCB GTK+ \xA7G\xB4\xBA\xA5D\xC3D\xA1C" ; Uninstall Section Prompts -!define un.GAIM_UNINSTALL_ERROR_1 "\xB2\xBE\xB0\xA3\xB5{\xA6\xA1\xB5L\xAAk\xA7\xE4\xA8\xEC Gaim \xAA\xBA\xA6w\xB8˸\xEA\xB0T\xA1C$\r\xB3o\xC0\xB3\xB8ӬO\xA6\xB3\xA8\xE4\xA5L\xAA\xBA\xA8ϥΪ̭\xAB\xB7s\xA6w\xB8ˤF\xB3o\xADӵ{\xA6\xA1\xA1C" -!define un.GAIM_UNINSTALL_ERROR_2 "\xB1z\xA5ثe\xAA\xBA\xC5v\xAD\xAD\xB5L\xAAk\xB2\xBE\xB0\xA3 Gaim\xA1C" \ No newline at end of file +!define un.GAIM_UNINSTALL_ERROR_1 "\xB2\xBE\xB0\xA3\xB5{\xA6\xA1\xB5L\xAAk\xA7\xE4\xA8\xEC Gaim \xAA\xBA\xA6w\xB8˸\xEA\xB0T\xA1C$\r\xB3o\xC0\xB3\xB8ӬO\xA6\xB3\xA8\xE4\xA5L\xAA\xBA\xA8ϥΪ̭\xAB\xB7s\xA6w\xB8ˤF\xB3o\xADӵ{\xA6\xA1\xA1C" +!define un.GAIM_UNINSTALL_ERROR_2 "\xB1z\xA5ثe\xAA\xBA\xC5v\xAD\xAD\xB5L\xAAk\xB2\xBE\xB0\xA3 Gaim\xA1C" Modified: trunk/gtk/win32/nsis/translations/valencian.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/valencian.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/valencian.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -50,8 +50,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (nomes borrar)" -!define GAIM_PROMPT_WIPEOUT "El teu directori antiu de Gaim sera borrat. \xBFVols continuar?$\r$\rNota: Qualsevol plugin no estandar que tingues instalat sera borrat.$\rLes preferencies d'usuari de Gaim no es voran afectades." -!define GAIM_PROMPT_DIR_EXISTS "El directori d'instalacio que especificares ya existix. Qualsevol contingut$\rsera borrat. \xBFVols continuar?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Erro instalant l'entorn GTK+." Modified: trunk/gtk/win32/nsis/translations/vietnamese.nsh =================================================================== --- trunk/gtk/win32/nsis/translations/vietnamese.nsh 2006-08-29 21:09:43 UTC (rev 17081) +++ trunk/gtk/win32/nsis/translations/vietnamese.nsh 2006-08-30 02:40:56 UTC (rev 17082) @@ -40,8 +40,6 @@ ; Gaim Section Prompts and Texts !define GAIM_UNINSTALL_DESC "Gaim (chỉ bỏ cài đặt)" -!define GAIM_PROMPT_WIPEOUT "Thư mục Gaim cũ sẽ bị xóa. Bạn muốn tiếp tục không?$\r$\rNote: Mọi plugin không chuẩn mà bạn đã cài sẽ bị xóa.$\rCác thiết lập người dùng Gaim sẽ không còn tác dụng." -!define GAIM_PROMPT_DIR_EXISTS "Thư mục cài đặt mà bạn định ra đã tồn tại rồi. Mọi nội dung$\rsẽ bị xóa. Bạn muốn tiếp tục không?" ; GTK+ Section Prompts !define GTK_INSTALL_ERROR "Lỗi cài đặt GTK+ runtime." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2006-08-31 21:52:14
|
Revision: 17102 http://svn.sourceforge.net/gaim/?rev=17102&view=rev Author: deryni9 Date: 2006-08-31 14:52:06 -0700 (Thu, 31 Aug 2006) Log Message: ----------- Remove gaim_show_xfer_dialog, it was only used as a callback from the buddy list menus, and it just ended up calling gaim_gtkxfer_dialog_show anyway, so I removed the middle man. Modified Paths: -------------- trunk/doc/ChangeLog.API trunk/gtk/gtkblist.c trunk/gtk/gtkft.c trunk/gtk/gtkft.h Modified: trunk/doc/ChangeLog.API =================================================================== --- trunk/doc/ChangeLog.API 2006-08-31 21:50:55 UTC (rev 17101) +++ trunk/doc/ChangeLog.API 2006-08-31 21:52:06 UTC (rev 17102) @@ -130,6 +130,8 @@ * GAIM_CMD_P_VERYHIGH is now GAIM_CMD_P_VERY_HIGH * gtk_imhtml_search_find(): Now wraps around to the top instead of clearing the search at the end. + * gaim_gtkxfer_dialog_show: Can now take NULL to show (and possibly + create) a default gtkxfer dialog. Removed: * gaim_gtk_sound_{get,set}_mute() (replaced by the /gaim/gtk/sound/mute @@ -194,6 +196,7 @@ * Removed ui_ops from GaimBuddyList. Use gaim_blist_get_ui_ops() instead * GaimGtkLogViewer hidden... You weren't using it anyway. * GaimGtkConversation: dialogs (dialogs.search moved to GaimGtkWindow) + * gaim_show_xfer_dialog: Use gaim_gtk_xfer_dialog_show(NULL) instead. Added: * gaim_prefs_disconnect_by_handle() @@ -373,6 +376,7 @@ * "gtkblist-unhiding" * "log-displaying" * "savedstatus-changed" + * "sendto-extended-menu" Signals - Removed: * "account-away": replaced by account-status-changed Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-08-31 21:50:55 UTC (rev 17101) +++ trunk/gtk/gtkblist.c 2006-08-31 21:52:06 UTC (rev 17102) @@ -2494,7 +2494,7 @@ { N_("/Tools/Pr_eferences"), "<CTL>P", gaim_gtk_prefs_show, 0, "<StockItem>", GTK_STOCK_PREFERENCES }, { N_("/Tools/Pr_ivacy"), NULL, gaim_gtk_privacy_dialog_show, 0, "<StockItem>", GTK_STOCK_DIALOG_ERROR }, { "/Tools/sep2", NULL, NULL, 0, "<Separator>", NULL }, - { N_("/Tools/_File Transfers"), "<CTL>T", gaim_show_xfer_dialog, 0, "<StockItem>", GAIM_STOCK_FILE_TRANSFER }, + { N_("/Tools/_File Transfers"), "<CTL>T", gaim_gtkxfer_dialog_show, 0, "<StockItem>", GAIM_STOCK_FILE_TRANSFER }, { N_("/Tools/R_oom List"), NULL, gaim_gtk_roomlist_dialog_show, 0, "<StockItem>", GTK_STOCK_INDEX }, { N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 0, "<StockItem>", GAIM_STOCK_LOG }, { "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL }, Modified: trunk/gtk/gtkft.c =================================================================== --- trunk/gtk/gtkft.c 2006-08-31 21:50:55 UTC (rev 17101) +++ trunk/gtk/gtkft.c 2006-08-31 21:52:06 UTC (rev 17102) @@ -844,9 +844,20 @@ void gaim_gtkxfer_dialog_show(GaimGtkXferDialog *dialog) { - g_return_if_fail(dialog != NULL); + GaimGtkXferDialog *tmp; - gtk_widget_show(dialog->window); + if (dialog == NULL) { + tmp = gaim_get_gtkxfer_dialog(); + + if (tmp == NULL) { + tmp = gaim_gtkxfer_dialog_new(); + gaim_set_gtkxfer_dialog(tmp); + } + + gtk_widget_show(tmp->window); + } else { + gtk_widget_show(dialog->window); + } } void @@ -860,22 +871,6 @@ } void -gaim_show_xfer_dialog() -{ - GaimGtkXferDialog *dialog; - - dialog = gaim_get_gtkxfer_dialog(); - - if (dialog == NULL) { - dialog = gaim_gtkxfer_dialog_new(); - - gaim_set_gtkxfer_dialog(dialog); - } - - gaim_gtkxfer_dialog_show(dialog); -} - -void gaim_gtkxfer_dialog_add_xfer(GaimGtkXferDialog *dialog, GaimXfer *xfer) { GaimGtkXferUiData *data; Modified: trunk/gtk/gtkft.h =================================================================== --- trunk/gtk/gtkft.h 2006-08-31 21:50:55 UTC (rev 17101) +++ trunk/gtk/gtkft.h 2006-08-31 21:52:06 UTC (rev 17102) @@ -55,7 +55,8 @@ void gaim_gtkxfer_dialog_destroy(GaimGtkXferDialog *dialog); /** - * Displays the file transfer dialog. + * Displays the file transfer dialog given. + * If dialog is @c NULL, displays the default dialog, creating one if necessary * * @param dialog The file transfer dialog to show. */ @@ -69,11 +70,6 @@ void gaim_gtkxfer_dialog_hide(GaimGtkXferDialog *dialog); /** - * Shows the file transfer dialog, creating a new one if necessary - */ -void gaim_show_xfer_dialog(void); - -/** * Adds a file transfer to the dialog. * * @param dialog The file transfer dialog. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-09-01 02:09:30
|
Revision: 17104 http://svn.sourceforge.net/gaim/?rev=17104&view=rev Author: sadrul Date: 2006-08-31 19:07:23 -0700 (Thu, 31 Aug 2006) Log Message: ----------- Add option in gntgf to set the URGENT hint for the terminal's window (in X). Unescape the status-string in the statusbox. Modified Paths: -------------- trunk/configure.ac trunk/console/gntblist.c trunk/console/libgnt/gntbox.c trunk/console/plugins/Makefile.am trunk/console/plugins/gntgf.c trunk/doc/gntgaim.1.in Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-08-31 22:04:16 UTC (rev 17103) +++ trunk/configure.ac 2006-09-01 02:07:23 UTC (rev 17104) @@ -680,6 +680,11 @@ x_incpath_add="-I$x_includes" fi +PKG_CHECK_MODULES(X11, x11, + [AC_DEFINE(HAVE_X11, 1, [Define to 1 if you have X11])], [AC_MSG_RESULT(no)]) +AC_SUBST(X11_LIBS) +AC_SUBST(X11_CFLAGS) + dnl ####################################################################### dnl # Check for DBUS libraries dnl ####################################################################### @@ -823,21 +828,6 @@ if test "x$enable_gtk" = "xyes"; then -AC_PATH_XTRA -# We can't assume that $x_libraries will be set, because autoconf does not -# set it in the case when the X libraries are in a standard place. -# Ditto for $x_includes -if test X"$x_libraries" = X"" || test X"$x_libraries" = XNONE; then - x_libpath_add= -else - x_libpath_add="-L$x_libraries" -fi -if test X"$x_includes" = X"" || test X"$x_includes" = XNONE; then - x_incpath_add= -else - x_incpath_add="-I$x_includes" -fi - dnl ####################################################################### dnl # Check for startup notification dnl ####################################################################### Modified: trunk/console/gntblist.c =================================================================== --- trunk/console/gntblist.c 2006-08-31 22:04:16 UTC (rev 17103) +++ trunk/console/gntblist.c 2006-09-01 02:07:23 UTC (rev 17104) @@ -127,7 +127,7 @@ g_return_if_fail(node != NULL); if (list->ui_data == NULL) - return; + return; /* XXX: this is probably the place to auto-join chats */ if (node->ui_data != NULL) { gnt_tree_change_text(GNT_TREE(ggblist->tree), node, @@ -1417,9 +1417,11 @@ StatusBoxItem *item = list->data; if (item->type == STATUS_PRIMITIVE && item->u.prim == prim) { + char *mess = gaim_unescape_html(message); gnt_combo_box_set_selected(GNT_COMBO_BOX(ggblist->status), item); - gnt_entry_set_text(GNT_ENTRY(ggblist->statustext), message); + gnt_entry_set_text(GNT_ENTRY(ggblist->statustext), mess); gnt_widget_draw(ggblist->status); + g_free(mess); break; } } Modified: trunk/console/libgnt/gntbox.c =================================================================== --- trunk/console/libgnt/gntbox.c 2006-08-31 22:04:16 UTC (rev 17103) +++ trunk/console/libgnt/gntbox.c 2006-09-01 02:07:23 UTC (rev 17104) @@ -67,7 +67,6 @@ int pos, right; char *title = g_strdup(box->title); - mvwhline(widget->window, 0, 1, ACS_HLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.width - 2); get_title_thingies(box, title, &pos, &right); if (gnt_widget_has_focus(widget)) Modified: trunk/console/plugins/Makefile.am =================================================================== --- trunk/console/plugins/Makefile.am 2006-08-31 22:04:16 UTC (rev 17103) +++ trunk/console/plugins/Makefile.am 2006-09-01 02:07:23 UTC (rev 17104) @@ -1,4 +1,4 @@ -gntgf_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) +gntgf_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) $(X11_LIBS) gnthistory_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) if PLUGINS Modified: trunk/console/plugins/gntgf.c =================================================================== --- trunk/console/plugins/gntgf.c 2006-08-31 22:04:16 UTC (rev 17103) +++ trunk/console/plugins/gntgf.c 2006-09-01 02:07:23 UTC (rev 17104) @@ -33,6 +33,13 @@ #define MAX_COLS 3 +#ifdef HAVE_X11 +#define PREFS_URGENT PREFS_PREFIX "/urgent" + +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#endif + #include <glib.h> #include <plugin.h> @@ -103,7 +110,36 @@ return FALSE; } +#ifdef HAVE_X11 static void +urgent() +{ + /* This is from deryni/tuomov's urgent_test.c */ + Display *dpy; + Window id; + const char *ids; + XWMHints *hints; + + ids = getenv("WINDOWID"); + if (ids == NULL) + return; + + id = atoi(ids); + + dpy = XOpenDisplay(NULL); + if (dpy == NULL) + return; + + hints = XGetWMHints(dpy, id); + hints->flags|=XUrgencyHint; + XSetWMHints(dpy, id, hints); + + XFlush(dpy); + XCloseDisplay(dpy); +} +#endif + +static void notify(const char *fmt, ...) { GntWidget *window; @@ -114,6 +150,10 @@ if (gaim_prefs_get_bool(PREFS_BEEP)) beep(); +#ifdef HAVE_X11 + if (gaim_prefs_get_bool(PREFS_URGENT)) + urgent(); +#endif window = gnt_vbox_new(FALSE); GNT_WIDGET_SET_FLAGS(window, GNT_WIDGET_TRANSIENT); @@ -254,9 +294,9 @@ } static void -beep_toggled(GntCheckBox *check, gpointer null) +toggle_option(GntCheckBox *check, gpointer str) { - gaim_prefs_set_bool(PREFS_BEEP, gnt_check_box_get_checked(check)); + gaim_prefs_set_bool(str, gnt_check_box_get_checked(check)); } static GntWidget * @@ -288,9 +328,16 @@ check = gnt_check_box_new(_("Beep too!")); gnt_check_box_set_checked(GNT_CHECK_BOX(check), gaim_prefs_get_bool(PREFS_BEEP)); - g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(beep_toggled), NULL); + g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(toggle_option), PREFS_BEEP); gnt_box_add_widget(GNT_BOX(window), check); +#ifdef HAVE_X11 + check = gnt_check_box_new(_("Set URGENT for the terminal window.")); + gnt_check_box_set_checked(GNT_CHECK_BOX(check), gaim_prefs_get_bool(PREFS_URGENT)); + g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(toggle_option), PREFS_URGENT); + gnt_box_add_widget(GNT_BOX(window), check); +#endif + return window; } @@ -335,6 +382,9 @@ gaim_prefs_add_bool(PREFS_EVENT_CHAT_NICK, TRUE); gaim_prefs_add_bool(PREFS_BEEP, TRUE); +#ifdef HAVE_X11 + gaim_prefs_add_bool(PREFS_URGENT, TRUE); +#endif } GAIM_INIT_PLUGIN(PLUGIN_STATIC_NAME, init_plugin, info) Modified: trunk/doc/gntgaim.1.in =================================================================== --- trunk/doc/gntgaim.1.in 2006-08-31 22:04:16 UTC (rev 17103) +++ trunk/doc/gntgaim.1.in 2006-09-01 02:07:23 UTC (rev 17104) @@ -96,6 +96,9 @@ .TP .B Alt \+ l Refresh the windows. This is useful after resizing the terminal window. +.TP +.B Alt \+ 1 2 ... 0 +Jump to the 1st, 2nd ... 10th window. .SH FILES \fI~/.gntrc\fR: configuration file for gnt applications. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-09-02 01:25:49
|
Revision: 17122 http://svn.sourceforge.net/gaim/?rev=17122&view=rev Author: seanegan Date: 2006-09-01 18:25:43 -0700 (Fri, 01 Sep 2006) Log Message: ----------- this is it for me for today Modified Paths: -------------- trunk/gtk/gtkblist.c trunk/libgaim/protocols/jabber/parser.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-09-01 22:46:39 UTC (rev 17121) +++ trunk/gtk/gtkblist.c 2006-09-02 01:25:43 UTC (rev 17122) @@ -3940,7 +3940,7 @@ /****************************** GtkTreeView **********************************/ sw = gtk_scrolled_window_new(NULL,NULL); gtk_widget_show(sw); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_NONE); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtkblist->treemodel = gtk_tree_store_new(BLIST_COLUMNS, Modified: trunk/libgaim/protocols/jabber/parser.c =================================================================== --- trunk/libgaim/protocols/jabber/parser.c 2006-09-01 22:46:39 UTC (rev 17121) +++ trunk/libgaim/protocols/jabber/parser.c 2006-09-02 01:25:43 UTC (rev 17122) @@ -283,7 +283,6 @@ /* libxml inconsistently starts parsing on creating the parser, so so a ParseChunk * right afterwards to force it. */ js->context = xmlCreatePushParserCtxt(&jabber_parser_libxml, js, buf, len, NULL); - xmlParseChunk(js->context, NULL, 0, 0); } else if (xmlParseChunk(js->context, buf, len, 0) < 0) { gaim_connection_error(js->gc, _("XML Parse error")); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2006-09-02 05:31:47
|
Revision: 17124 http://svn.sourceforge.net/gaim/?rev=17124&view=rev Author: deryni9 Date: 2006-09-01 22:31:10 -0700 (Fri, 01 Sep 2006) Log Message: ----------- This is a Gaim::Gtk perl module for use by gaim plugins to get access to the gtkgaim interface functions. It isn't complete because anything dealing with Gtk widgets themselves doesn't work yet (I need to figure out the best way to do that). To use this a perl plugin just needs to include 'use Gaim::Gtk;' either on top of 'use Gaim;' or instead of it. I'm not done with this yet. At the moment you have to 'use Gaim;' or 'use Gaim::Gtk;' which loads all the parts, I'm planning to let you actually say 'use Gaim::Gtk::Debug;' to just get the gtkdebug.h functions. Though 'use Gaim' would work the same way as always. Modified Paths: -------------- trunk/configure.ac trunk/gtk/plugins/Makefile.am Added Paths: ----------- trunk/gtk/plugins/perl/ trunk/gtk/plugins/perl/Makefile.am trunk/gtk/plugins/perl/common/ trunk/gtk/plugins/perl/common/Gtk.pm trunk/gtk/plugins/perl/common/Gtk.xs trunk/gtk/plugins/perl/common/GtkAccount.xs trunk/gtk/plugins/perl/common/GtkBlist.xs trunk/gtk/plugins/perl/common/GtkConn.xs trunk/gtk/plugins/perl/common/GtkConv.xs trunk/gtk/plugins/perl/common/GtkConvWin.xs trunk/gtk/plugins/perl/common/GtkDebug.xs trunk/gtk/plugins/perl/common/GtkDialogs.xs trunk/gtk/plugins/perl/common/GtkFt.xs trunk/gtk/plugins/perl/common/GtkIMHtml.xs trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs trunk/gtk/plugins/perl/common/GtkLog.xs trunk/gtk/plugins/perl/common/GtkMenuTray.xs trunk/gtk/plugins/perl/common/GtkPlugin.xs trunk/gtk/plugins/perl/common/GtkPluginPref.xs trunk/gtk/plugins/perl/common/GtkPounce.xs trunk/gtk/plugins/perl/common/GtkPrefs.xs trunk/gtk/plugins/perl/common/GtkPrivacy.xs trunk/gtk/plugins/perl/common/GtkRoomlist.xs trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs trunk/gtk/plugins/perl/common/GtkSession.xs trunk/gtk/plugins/perl/common/GtkSound.xs trunk/gtk/plugins/perl/common/GtkStatusBox.xs trunk/gtk/plugins/perl/common/GtkThemes.xs trunk/gtk/plugins/perl/common/GtkUtils.xs trunk/gtk/plugins/perl/common/MANIFEST trunk/gtk/plugins/perl/common/Makefile.PL.in trunk/gtk/plugins/perl/common/gtkmodule.h trunk/gtk/plugins/perl/common/typemap Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-09-02 04:40:27 UTC (rev 17123) +++ trunk/configure.ac 2006-09-02 05:31:10 UTC (rev 17124) @@ -1822,11 +1822,13 @@ gtk/plugins/Makefile gtk/plugins/cap/Makefile gtk/plugins/docklet/Makefile + gtk/plugins/gestures/Makefile gtk/plugins/gevolution/Makefile - gtk/plugins/gestures/Makefile gtk/plugins/musicmessaging/Makefile + gtk/plugins/perl/Makefile + gtk/plugins/perl/common/Makefile.PL + gtk/plugins/ticker/Makefile gtk/sounds/Makefile - gtk/plugins/ticker/Makefile libgaim/plugins/Makefile libgaim/plugins/mono/Makefile libgaim/plugins/mono/api/Makefile Modified: trunk/gtk/plugins/Makefile.am =================================================================== --- trunk/gtk/plugins/Makefile.am 2006-09-02 04:40:27 UTC (rev 17123) +++ trunk/gtk/plugins/Makefile.am 2006-09-02 05:31:10 UTC (rev 17124) @@ -1,4 +1,4 @@ -DIST_SUBDIRS = cap docklet gevolution gestures musicmessaging ticker +DIST_SUBDIRS = cap docklet gestures gevolution musicmessaging perl ticker if BUILD_GEVOLUTION GEVOLUTION_DIR = gevolution @@ -12,12 +12,17 @@ CAP_DIR = cap endif +if USE_PERL +PERL_DIR = perl +endif + SUBDIRS = \ $(CAP_DIR) \ docklet \ + gestures \ $(GEVOLUTION_DIR) \ - gestures \ $(MUSICMESSAGING_DIR) \ + $(PERL_DIR) \ ticker plugindir = $(libdir)/gaim Added: trunk/gtk/plugins/perl/Makefile.am =================================================================== --- trunk/gtk/plugins/perl/Makefile.am (rev 0) +++ trunk/gtk/plugins/perl/Makefile.am 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,55 @@ +SUBDIRS = . common + +common_sources = \ + common/Gtk.pm \ + common/Gtk.xs \ + common/GtkAccount.xs \ + common/GtkBlist.xs \ + common/GtkConn.xs \ + common/GtkConv.xs \ + common/GtkConvWin.xs \ + common/GtkDebug.xs \ + common/GtkDialogs.xs \ + common/GtkFt.xs \ + common/GtkIMHtml.xs \ + common/GtkIMHtmlToolbar.xs \ + common/GtkLog.xs \ + common/GtkMenuTray.xs \ + common/GtkPlugin.xs \ + common/GtkPluginPref.xs \ + common/GtkPounce.xs \ + common/GtkPrefs.xs \ + common/GtkPrivacy.xs \ + common/GtkRoomlist.xs \ + common/GtkSavedStatuses.xs \ + common/GtkSession.xs \ + common/GtkSound.xs \ + common/GtkStatusBox.xs \ + common/GtkThemes.xs \ + common/GtkUtils.xs \ + common/gtkmodule.h \ + common/typemap + +EXTRA_DIST = \ + Makefile.mingw \ + common/Makefile.mingw \ + common/Makefile.Pl.in \ + $(common_sources) + +all-local: common/Makefile + +common/Makefile: common/Makefile.PL + @cd common && $(perlpath) Makefile.PL $(PERL_MM_PARAMS) + +common/Makefile.PL: common/Makefile.PL.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am_depfiles_maybe) + +AM_CPPFLAGS = \ + -DVERSION=\"$(VERSION)\" \ + -I$(top_srcdir) \ + -I$(top_srcdir)/libgaim \ + -I$(top_srcdir)/gtk \ + $(DEBUG_CFLAGS) \ + $(GTK_CFLAGS) \ + $(PLUGIN_CFLAGS) \ + $(PERL_CFLAGS) Property changes on: trunk/gtk/plugins/perl/Makefile.am ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/Gtk.pm =================================================================== --- trunk/gtk/plugins/perl/common/Gtk.pm (rev 0) +++ trunk/gtk/plugins/perl/common/Gtk.pm 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,61 @@ +package Gaim::Gtk; + +use 5.008; +use strict; +use warnings; +use Carp; + +our $VERSION = '0.01'; + +use Gaim; + +require XSLoader; +XSLoader::load('Gaim::Gtk', $VERSION); + +1; +__END__ + +=head1 NAME + +Gaim::Gtk - Perl extension for the Gaim instant messenger. + +=head1 SYNOPSIS + + use Gaim::Gtk; + +=head1 ABSTRACT + + This module provides the interface for using perl scripts as plugins in + Gaim, with access to the Gaim Gtk interface functions. + +=head1 DESCRIPTION + +This module provides the interface for using perl scripts as plugins in Gaim, +with access to the Gaim Gtk interface functions. With this, developers can +write perl scripts that can be loaded in Gaim as plugins. The script can +interact with IMs, chats, accoutns, the buddy list, gaim signals, and more. + +The API for the perl interface is very similar to that of the Gaim C API, +which can be viewed at http://gaim.sourceforge.net/api/ or in the header files +in the Gaim source tree. + +=head1 FUNCTIONS + +=over + +=back + +=head1 SEE ALSO +Gaim C API documentation - http://gaim.sourceforge.net/api/ + +The Gaim perl module. + +Gaim website - http://gaim.sourceforge.net/ + +=head1 AUTHOR + +Etan Reisner, E<lt>de...@gm...E<gt> + +=head1 COPYRIGHT AND LICENSE + +Copyright 2006 by Etan Reisner Property changes on: trunk/gtk/plugins/perl/common/Gtk.pm ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/Gtk.xs =================================================================== --- trunk/gtk/plugins/perl/common/Gtk.xs (rev 0) +++ trunk/gtk/plugins/perl/common/Gtk.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,76 @@ +#include "gtkmodule.h" + +/* +#define GAIM_PERL_BOOT_PROTO(x) \ + void boot_Gaim__##x(pTHX_ CV *cv); + +#define GAIM_PERL_BOOT(x) \ + gaim_perl_callXS(boot_Gaim__##x, cv, mark) + +static void +gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark) +{ + dSP; + + PUSHMARK(mark); + (*subaddr)(aTHX_ cv); + + PUTBACK; +} +*/ + +/* Prototypes for the BOOT section below. */ +GAIM_PERL_BOOT_PROTO(Gtk__Account); +GAIM_PERL_BOOT_PROTO(Gtk__BuddyList); +GAIM_PERL_BOOT_PROTO(Gtk__Connection); +GAIM_PERL_BOOT_PROTO(Gtk__Conversation); +GAIM_PERL_BOOT_PROTO(Gtk__Conversation__Window); +GAIM_PERL_BOOT_PROTO(Gtk__Debug); +GAIM_PERL_BOOT_PROTO(Gtk__Dialogs); +GAIM_PERL_BOOT_PROTO(Gtk__IMHtml); +GAIM_PERL_BOOT_PROTO(Gtk__IMHtmlToolbar); +GAIM_PERL_BOOT_PROTO(Gtk__Log); +GAIM_PERL_BOOT_PROTO(Gtk__MenuTray); +GAIM_PERL_BOOT_PROTO(Gtk__Plugin); +GAIM_PERL_BOOT_PROTO(Gtk__PluginPref); +GAIM_PERL_BOOT_PROTO(Gtk__Pounce); +GAIM_PERL_BOOT_PROTO(Gtk__Prefs); +GAIM_PERL_BOOT_PROTO(Gtk__Privacy); +GAIM_PERL_BOOT_PROTO(Gtk__Roomlist); +GAIM_PERL_BOOT_PROTO(Gtk__Status); +GAIM_PERL_BOOT_PROTO(Gtk__Session); +GAIM_PERL_BOOT_PROTO(Gtk__Sound); +GAIM_PERL_BOOT_PROTO(Gtk__StatusBox); +GAIM_PERL_BOOT_PROTO(Gtk__Themes); +GAIM_PERL_BOOT_PROTO(Gtk__Utils); +GAIM_PERL_BOOT_PROTO(Gtk__Xfer); + +MODULE = Gaim::Gtk PACKAGE = Gaim::Gtk PREFIX = gaim_gtk_ +PROTOTYPES: ENABLE + +BOOT: + GAIM_PERL_BOOT(Gtk__Debug); +GAIM_PERL_BOOT(Gtk__Account); +GAIM_PERL_BOOT(Gtk__BuddyList); +GAIM_PERL_BOOT(Gtk__Connection); +GAIM_PERL_BOOT(Gtk__Conversation); +GAIM_PERL_BOOT(Gtk__Conversation__Window); +GAIM_PERL_BOOT(Gtk__Debug); +GAIM_PERL_BOOT(Gtk__Dialogs); +GAIM_PERL_BOOT(Gtk__IMHtml); +GAIM_PERL_BOOT(Gtk__IMHtmlToolbar); +GAIM_PERL_BOOT(Gtk__Log); +GAIM_PERL_BOOT(Gtk__MenuTray); +GAIM_PERL_BOOT(Gtk__Plugin); +GAIM_PERL_BOOT(Gtk__PluginPref); +GAIM_PERL_BOOT(Gtk__Pounce); +GAIM_PERL_BOOT(Gtk__Prefs); +GAIM_PERL_BOOT(Gtk__Privacy); +GAIM_PERL_BOOT(Gtk__Roomlist); +GAIM_PERL_BOOT(Gtk__Status); +GAIM_PERL_BOOT(Gtk__Session); +GAIM_PERL_BOOT(Gtk__Sound); +GAIM_PERL_BOOT(Gtk__StatusBox); +GAIM_PERL_BOOT(Gtk__Themes); +GAIM_PERL_BOOT(Gtk__Utils); +GAIM_PERL_BOOT(Gtk__Xfer); Property changes on: trunk/gtk/plugins/perl/common/Gtk.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkAccount.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkAccount.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkAccount.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,24 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Account PACKAGE = Gaim::Gtk::Account PREFIX = gaim_gtk_account_ +PROTOTYPES: ENABLE + +void * +gaim_gtk_account_get_handle() + +MODULE = Gaim::Gtk::Account PACKAGE = Gaim::Gtk::Account::Dialog PREFIX = gaim_gtk_account_dialog_ +PROTOTYPES: ENABLE + +void +gaim_gtk_account_dialog_show(type, account) + Gaim::Gtk::Account::Dialog::Type type + Gaim::Account account + +MODULE = Gaim::Gtk::Account PACKAGE = Gaim::Gtk::Account::Window PREFIX = gaim_gtk_accounts_window_ +PROTOTYPES: ENABLE + +void +gaim_gtk_accounts_window_show() + +void +gaim_gtk_accounts_window_hide() Property changes on: trunk/gtk/plugins/perl/common/GtkAccount.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkBlist.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkBlist.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkBlist.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,120 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. + +void +gaim_gtk_blist_make_buddy_menu(menu, buddy, sub) + Gtk::Widget menu + Gaim::Buddy buddy + gboolean sub +*/ + +/* This can't work at the moment since I don't have a typemap for Gdk::Pixbuf. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. + +GdkPixbuf +gaim_gtk_blist_get_status_icon(node, size) + Gaim::BuddyList::Node node + Gaim::Status::IconSize size +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. + +void +gaim_gtk_append_blist_node_proto_menu(menu, gc, node) + Gtk::Widget menu + Gaim::Connection gc + Gaim::BuddyList::Node node + +void +gaim_gtk_append_blist_node_extended_menu(menu, node) + Gtk::Widget menu + Gaim::Connection gc + Gaim::BuddyList::Node node +*/ + +MODULE = Gaim::Gtk::BuddyList PACKAGE = Gaim::Gtk::BuddyList PREFIX = gaim_gtk_blist_ +PROTOTYPES: ENABLE + +void * +gaim_gtk_blist_get_handle() + +Gaim::Gtk::BuddyList +gaim_gtk_blist_get_default_gtk_blist() + +void +gaim_gtk_blist_refresh(list) + Gaim::BuddyList list + +void +gaim_gtk_blist_update_toolbar() + +void +gaim_gtk_blist_update_columns() + +void +gaim_gtk_blist_update_refresh_timeout() + +gboolean +gaim_gtk_blist_node_is_contact_expanded(node) + Gaim::BuddyList::Node node + +void +gaim_gtk_blist_toggle_visibility() + +void +gaim_gtk_blist_visibility_manager_add() + +void +gaim_gtk_blist_visibility_manager_remove() + +void +gaim_gtk_blist_get_sort_methods() +PREINIT: + GList *l; +PPCODE: + for (l = gaim_gtk_blist_get_sort_methods(); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::BuddyList::SortMethod"))); + } + +void +gaim_gtk_blist_sort_method_reg(id, name, func) + const char * id + const char * name + Gaim::Gtk::BuddyList::SortFunction func + +void +gaim_gtk_blist_sort_method_unreg(id) + const char * id + +void +gaim_gtk_blist_sort_method_set(id) + const char * id + +void +gaim_gtk_blist_setup_sort_methods() + +void +gaim_gtk_blist_update_accounts_menu() + +void +gaim_gtk_blist_update_plugin_actions() + +void +gaim_gtk_blist_update_sort_methods() + +gboolean +gaim_gtk_blist_joinchat_is_showable() + +void +gaim_gtk_blist_joinchat_show() + +void +gaim_gtk_blist_update_account_error_state(account, message) + Gaim::Account account + const char * message Property changes on: trunk/gtk/plugins/perl/common/GtkBlist.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkConn.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkConn.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkConn.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,7 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Connection PACKAGE = Gaim::Gtk::Connection PREFIX = gaim_gtk_connection_ +PROTOTYPES: ENABLE + +void * +gaim_gtk_connection_get_handle() Property changes on: trunk/gtk/plugins/perl/common/GtkConn.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkConv.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkConv.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkConv.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,87 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +guint +gaim_gtk_conversations_fill_menu(menu, convs) + Gtk::Widget menu + SV *convs +PREINIT: + GList *t_GL; + int i, t_len; +PPCODE: + t_GL = NULL; + t_len = av_len((AV *)SvRV(convs)); + + for (i = 0; i < t_len; i++) { + STRLEN t_sl; + t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(convs), i, 0), t_sl)); + } + gaim_gtk_conversations_fill_menu(menu, t_GL); +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +GdkPixbuf +gaim_gtkconv_get_tab_icon(conv, small_icon) + Gaim::Conversation conv + gboolean small_icon +*/ + +/* This can't work at the moment since I don't have a typemap for gboolean *. +int +gaim_gtkconv_get_tab_at_xy(win, x, y, to_right) + Gaim::Gtk::Conversation::Window win + int x + int y + gboolean * to_right +*/ + +MODULE = Gaim::Gtk::Conversation PACKAGE = Gaim::Gtk::Conversation PREFIX = gaim_gtkconv_ +PROTOTYPES: ENABLE + +void +gaim_gtkconv_update_buddy_icon(conv) + Gaim::Conversation conv + +void +gaim_gtkconv_switch_active_conversation(conv) + Gaim::Conversation conv + +void +gaim_gtkconv_update_tabs() + +void +gaim_gtkconv_update_buttons_by_protocol(conv) + Gaim::Conversation conv + +void +gaim_gtkconv_present_conversation(conv) + Gaim::Conversation conv + +Gaim::Gtk::Conversation::Window +gaim_gtkconv_get_window(conv) + Gaim::Gtk::Conversation conv + +void +gaim_gtkconv_new(conv) + Gaim::Conversation conv + +gboolean +gaim_gtkconv_is_hidden(gtkconv) + Gaim::Gtk::Conversation gtkconv + +MODULE = Gaim::Gtk::Conversation PACKAGE = Gaim::Gtk::Conversations PREFIX = gaim_gtk_conversations_ +PROTOTYPES: ENABLE + +void +gaim_gtk_conversations_find_unseen_list(type, min_state, hidden_only, max_count) + Gaim::ConversationType type + Gaim::UnseenState min_state + gboolean hidden_only + guint max_count + +void * +gaim_gtk_conversations_get_handle() Property changes on: trunk/gtk/plugins/perl/common/GtkConv.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkConvWin.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkConvWin.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkConvWin.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,139 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Conversation::Window PACKAGE = Gaim::Gtk::Conversation::Window PREFIX = gaim_gtk_conv_window_ +PROTOTYPES: ENABLE + +Gaim::Gtk::Conversation::Window +gaim_gtk_conv_window_new() + +void +gaim_gtk_conv_window_destroy(win) + Gaim::Gtk::Conversation::Window win + +void +gaim_gtk_conv_window_show(win) + Gaim::Gtk::Conversation::Window win + +void +gaim_gtk_conv_window_hide(win) + Gaim::Gtk::Conversation::Window win + +void +gaim_gtk_conv_window_raise(win) + Gaim::Gtk::Conversation::Window win + +void +gaim_gtk_conv_window_switch_gtkconv(win, gtkconv) + Gaim::Gtk::Conversation::Window win + Gaim::Gtk::Conversation gtkconv + +void +gaim_gtk_conv_window_add_gtkconv(win, gtkconv) + Gaim::Gtk::Conversation::Window win + Gaim::Gtk::Conversation gtkconv + +void +gaim_gtk_conv_window_remove_gtkconv(win, gtkconv) + Gaim::Gtk::Conversation::Window win + Gaim::Gtk::Conversation gtkconv + +Gaim::Gtk::Conversation +gaim_gtk_conv_window_get_gtkconv_at_index(win, index) + Gaim::Gtk::Conversation::Window win + int index + +Gaim::Gtk::Conversation +gaim_gtk_conv_window_get_active_gtkconv(win) + Gaim::Gtk::Conversation::Window win + +Gaim::Conversation +gaim_gtk_conv_window_get_active_conversation(win) + Gaim::Gtk::Conversation::Window win + +gboolean +gaim_gtk_conv_window_is_active_conversation(conv) + Gaim::Conversation conv + +gboolean +gaim_gtk_conv_window_has_focus(win) + Gaim::Gtk::Conversation::Window win + +Gaim::Gtk::Conversation::Window +gaim_gtk_conv_window_get_at_xy(x, y) + int x + int y + +void +gaim_gtk_conv_window_get_gtkconvs(win) + Gaim::Gtk::Conversation::Window win +PREINIT: + GList *l; +PPCODE: + for (l = gaim_gtk_conv_window_get_gtkconvs(win); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation"))); + } + +guint +gaim_gtk_conv_window_get_gtkconv_count(win) + Gaim::Gtk::Conversation::Window win + +Gaim::Gtk::Conversation::Window +gaim_gtk_conv_window_first_with_type(type) + Gaim::ConversationType type + +Gaim::Gtk::Conversation::Window +gaim_gtk_conv_window_last_with_type(type) + Gaim::ConversationType type + +MODULE = Gaim::Gtk::Conversation::Window PACKAGE = Gaim::Gtk::Conversation::Placement PREFIX = gaim_gtkconv_placement_ +PROTOTYPES: ENABLE + +void +gaim_gtkconv_placement_get_options() +PREINIT: + GList *l; +PPCODE: + for (l = gaim_gtkconv_placement_get_options(); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation::Window"))); + } + +void +gaim_gtkconv_placement_add_fnc(id, name, fnc) + const char * id + const char * name + Gaim::Conversation::PlacementFunc fnc + +void +gaim_gtkconv_placement_remove_fnc(id) + const char * id + +const char * +gaim_gtkconv_placement_get_name(id) + const char * id + +Gaim::Conversation::PlacementFunc +gaim_gtkconv_placement_get_fnc(id) + const char * id + +void +gaim_gtkconv_placement_set_current_func(func) + Gaim::Conversation::PlacementFunc func + +Gaim::Conversation::PlacementFunc +gaim_gtkconv_placement_get_current_func() + +void +gaim_gtkconv_placement_place(gtkconv) + Gaim::Gtk::Conversation gtkconv + +MODULE = Gaim::Gtk::Conversation::Window PACKAGE = Gaim::Gtk::Conversation::Windows PREFIX = gaim_gtk_conv_windows_ +PROTOTYPES: ENABLE + +void +gaim_gtk_conv_windows_get_list() +PREINIT: + GList *l; +PPCODE: + for (l = gaim_gtk_conv_windows_get_list(); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation::Window"))); + } Property changes on: trunk/gtk/plugins/perl/common/GtkConvWin.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkDebug.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkDebug.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkDebug.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,16 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Debug PACKAGE = Gaim::Gtk::Debug PREFIX = gaim_gtk_debug_ +PROTOTYPES: ENABLE + +void * +gaim_gtk_debug_get_handle() + +MODULE = Gaim::Gtk::Debug PACKAGE = Gaim::Gtk::Debug::Window PREFIX = gaim_gtk_debug_window_ +PROTOTYPES: ENABLE + +void +gaim_gtk_debug_window_show() + +void +gaim_gtk_debug_window_hide() Property changes on: trunk/gtk/plugins/perl/common/GtkDebug.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkDialogs.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkDialogs.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkDialogs.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,52 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Dialogs PACKAGE = Gaim::Gtk::Dialogs PREFIX = gaim_gtkdialogs_ +PROTOTYPES: ENABLE + +void +gaim_gtkdialogs_destroy_all() + +void +gaim_gtkdialogs_about() + +void +gaim_gtkdialogs_im() + +void +gaim_gtkdialogs_im_with_user(account, username) + Gaim::Account account + const char * username + +void +gaim_gtkdialogs_info() + +void +gaim_gtkdialogs_log() + +void +gaim_gtkdialogs_alias_contact(contact) + Gaim::BuddyList::Contact contact + +void +gaim_gtkdialogs_alias_buddy(buddy) + Gaim::BuddyList::Buddy buddy + +void +gaim_gtkdialogs_alias_chat(chat) + Gaim::BuddyList::Chat chat + +void +gaim_gtkdialogs_remove_buddy(buddy) + Gaim::BuddyList::Buddy buddy + +void +gaim_gtkdialogs_remove_group(group) + Gaim::BuddyList::Group group + +void +gaim_gtkdialogs_remove_chat(chat) + Gaim::BuddyList::Chat chat + +void +gaim_gtkdialogs_remove_contact(contact) + Gaim::BuddyList::Contact contact Property changes on: trunk/gtk/plugins/perl/common/GtkDialogs.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkFt.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkFt.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkFt.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,49 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Xfer PACKAGE = Gaim::Gtk::Xfer PREFIX = gaim_gtk_xfer_ +PROTOTYPES: ENABLE + +void +gaim_set_gtkxfer_dialog(dialog) + Gaim::Gtk::Xfer::Dialog dialog + +Gaim::Gtk::Xfer::Dialog +gaim_get_gtkxfer_dialog() + +MODULE = Gaim::Gtk::Xfer PACKAGE = Gaim::Gtk::Xfer::Dialog PREFIX = gaim_gtkxfer_dialog_ +PROTOTYPES: ENABLE + +Gaim::Gtk::Xfer::Dialog +gaim_gtkxfer_dialog_new() + +void +gaim_gtkxfer_dialog_destroy(dialog) + Gaim::Gtk::Xfer::Dialog dialog + +void +gaim_gtkxfer_dialog_show(dialog = NULL) + Gaim::Gtk::Xfer::Dialog dialog + +void +gaim_gtkxfer_dialog_hide(dialog) + Gaim::Gtk::Xfer::Dialog dialog + +void +gaim_gtkxfer_dialog_add_xfer(dialog, xfer) + Gaim::Gtk::Xfer::Dialog dialog + Gaim::Xfer xfer + +void +gaim_gtkxfer_dialog_remove_xfer(dialog, xfer) + Gaim::Gtk::Xfer::Dialog dialog + Gaim::Xfer xfer + +void +gaim_gtkxfer_dialog_cancel_xfer(dialog, xfer) + Gaim::Gtk::Xfer::Dialog dialog + Gaim::Xfer xfer + +void +gaim_gtkxfer_dialog_update_xfer(dialog, xfer) + Gaim::Gtk::Xfer::Dialog dialog + Gaim::Xfer xfer Property changes on: trunk/gtk/plugins/perl/common/GtkFt.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkIMHtml.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkIMHtml.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkIMHtml.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,353 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +Gtk::Widget +gtk_imhtml_new(a, b) +*/ + +/* This can't work at the moment since I don't have a typemap for + * Gtk::TextIter. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gtk_imhtml_insert_html_at_iter(imhtml, text, options, iter) + Gaim::Gtk::IMHtml imhtml + const gchar * text + Gaim::Gtk::IMHtml::Options options + Gtk::TextIter iter +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gtk_imhtml_delete(imhtml, start, end) + Gaim::Gtk::IMHtml imhtml + Gtk::TextIter start + Gtk::TextIter end +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gtk_imhtml_insert_link(imhtml, mark, url, text) + Gaim::Gtk::IMHtml imhtml + Gtk::TextMark mark + const char * url + const char * text +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gtk_imhtml_insert_smiley_at_iter(imhtml, sml, smiley, iter) + Gaim::Gtk::IMHtml imhtml + const char * sml + char * smiley + Gtk::TextIter iter + +void +gtk_imhtml_insert_image_at_iter(imhtml, id, iter) + Gaim::Gtk::IMHtml imhtml + int id + Gtk::TextIter iter +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +char * +gtk_imhtml_get_markup_range(imhtml, start, end) + Gaim::Gtk::IMHtml imhtml + Gtk::TextIter start + Gtk::TextIter end +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +char * +gtk_imhtml_get_text(imhtml, start, end) + Gaim::Gtk::IMHtml imhtml + Gtk::TextIter start + Gtk::TextIter end +*/ + +/* This can't work at the moment since I don't have a typemap for Gdk::Pixbuf. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +Gaim::Gtk::IMHtml::Scalable +gtk_imhtml_image_new(img, filename, id) + Gdk::Pixbuf img + const gchar * filename + int id +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gtk_imhtml_image_add_to(scale, imhtml, iter) + Gaim::Gtk::IMHtml::Scalable scale + Gaim::Gtk::IMHtml imhtml + Gtk::TextIter iter +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gtk_imhtml_hr_add_to(scale, imhtml, iter) + Gaim::Gtk::IMHtml::Scalable scale + Gaim::Gtk::IMHtml imhtml + Gtk::TextIter iter +*/ + +/* This can't work at the moment since I don't have a typemap for gboolean *. +void +gtk_imhtml_get_current_format(imhtml, bold, italic, underline) + Gaim::Gtk::IMHtml imhtml + gboolean * bold + gboolean * italic + gboolean * underline +*/ + +MODULE = Gaim::Gtk::IMHtml PACKAGE = Gaim::Gtk::IMHtml PREFIX = gtk_imhtml_ +PROTOTYPES: ENABLE + +Gaim::Gtk::IMHtml::Smiley +gtk_imhtml_smiley_get(imhtml, sml, text) + Gaim::Gtk::IMHtml imhtml + const gchar * sml + const gchar * text + +void +gtk_imhtml_associate_smiley(imhtml, sml, smiley) + Gaim::Gtk::IMHtml imhtml + const gchar * sml + Gaim::Gtk::IMHtml::Smiley smiley + +void +gtk_imhtml_remove_smileys(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_set_funcs(imhtml, f) + Gaim::Gtk::IMHtml imhtml + Gaim::Gtk::IMHtml::Funcs f + +void +gtk_imhtml_show_comments(imhtml, show) + Gaim::Gtk::IMHtml imhtml + gboolean show + +const char * +gtk_imhtml_get_protocol_name(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_set_protocol_name(imhtml, protocol_name) + Gaim::Gtk::IMHtml imhtml + const gchar * protocol_name + +void +gtk_imhtml_append_text(imhtml, text, options) + Gaim::Gtk::IMHtml imhtml + const gchar * text + Gaim::Gtk::IMHtml::Options options + +void +gtk_imhtml_append_text_with_images(imhtml, text, options, unused = NULL) + Gaim::Gtk::IMHtml imhtml + const gchar * text + Gaim::Gtk::IMHtml::Options options + SV *unused +PREINIT: + GSList *t_GL; + int i, t_len; +PPCODE: + t_GL = NULL; + t_len = av_len((AV *)SvRV(unused)); + + for (i = 0; i < t_len; i++) { + STRLEN t_sl; + t_GL = g_slist_append(t_GL, SvPV(*av_fetch((AV *)SvRV(unused), i, 0), t_sl)); + } + gtk_imhtml_append_text_with_images(imhtml, text, options, t_GL); + +void +gtk_imhtml_scroll_to_end(imhtml, smooth) + Gaim::Gtk::IMHtml imhtml + gboolean smooth + +void +gtk_imhtml_clear(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_page_up(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_page_down(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_set_editable(imhtml, editable) + Gaim::Gtk::IMHtml imhtml + gboolean editable + +void +gtk_imhtml_set_whole_buffer_formatting_only(imhtml, wbo) + Gaim::Gtk::IMHtml imhtml + gboolean wbo + +void +gtk_imhtml_set_format_functions(imhtml, buttons) + Gaim::Gtk::IMHtml imhtml + Gaim::Gtk::IMHtml::Buttons buttons + +Gaim::Gtk::IMHtml::Buttons +gtk_imhtml_get_format_functions(imhtml) + Gaim::Gtk::IMHtml imhtml + +char * +gtk_imhtml_get_current_fontface(imhtml) + Gaim::Gtk::IMHtml imhtml + +char * +gtk_imhtml_get_current_forecolor(imhtml) + Gaim::Gtk::IMHtml imhtml + +char * +gtk_imhtml_get_current_backcolor(imhtml) + Gaim::Gtk::IMHtml imhtml + +char * +gtk_imhtml_get_current_background(imhtml) + Gaim::Gtk::IMHtml imhtml + +gint +gtk_imhtml_get_current_fontsize(imhtml) + Gaim::Gtk::IMHtml imhtml + +gboolean +gtk_imhtml_get_editable(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_clear_formatting(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_toggle_bold(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_toggle_italic(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_toggle_underline(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_toggle_strike(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_toggle_forecolor(imhtml, color) + Gaim::Gtk::IMHtml imhtml + const char * color + +void +gtk_imhtml_toggle_backcolor(imhtml, color) + Gaim::Gtk::IMHtml imhtml + const char * color + +void +gtk_imhtml_toggle_background(imhtml, color) + Gaim::Gtk::IMHtml imhtml + const char * color + +void +gtk_imhtml_toggle_fontface(imhtml, face) + Gaim::Gtk::IMHtml imhtml + const char * face + +void +gtk_imhtml_toggle_link(imhtml, url) + Gaim::Gtk::IMHtml imhtml + const char * url + +void +gtk_imhtml_insert_smiley(imhtml, sml, smiley) + Gaim::Gtk::IMHtml imhtml + const char * sml + char * smiley + +void +gtk_imhtml_font_set_size(imhtml, size) + Gaim::Gtk::IMHtml imhtml + gint size + +void +gtk_imhtml_font_shrink(imhtml) + Gaim::Gtk::IMHtml imhtml + +void +gtk_imhtml_font_grow(imhtml) + Gaim::Gtk::IMHtml imhtml + +char * +gtk_imhtml_get_markup(imhtml) + Gaim::Gtk::IMHtml imhtml + +char ** +gtk_imhtml_get_markup_lines(imhtml) + Gaim::Gtk::IMHtml imhtml + +MODULE = Gaim::Gtk::IMHtml PACKAGE = Gaim::Gtk::IMHtml::Scalable PREFIX = gtk_imhtml_image_ +PROTOTYPES: ENABLE + +void +gtk_imhtml_image_free(scale) + Gaim::Gtk::IMHtml::Scalable scale + +void +gtk_imhtml_image_scale(scale, width, height) + Gaim::Gtk::IMHtml::Scalable scale + int width + int height + +MODULE = Gaim::Gtk::IMHtml PACKAGE = Gaim::Gtk::IMHtml::Hr PREFIX = gtk_imhtml_hr_ +PROTOTYPES: ENABLE + +Gaim::Gtk::IMHtml::Scalable +gtk_imhtml_hr_new() + +void +gtk_imhtml_hr_free(scale) + Gaim::Gtk::IMHtml::Scalable scale + +void +gtk_imhtml_hr_scale(scale, width, height) + Gaim::Gtk::IMHtml::Scalable scale + int width + int height + +MODULE = Gaim::Gtk::IMHtml PACKAGE = Gaim::Gtk::IMHtml::Search PREFIX = gtk_imhtml_search_ +PROTOTYPES: ENABLE + +gboolean +gtk_imhtml_search_find(imhtml, text) + Gaim::Gtk::IMHtml imhtml + const gchar * text + +void +gtk_imhtml_search_clear(imhtml) + Gaim::Gtk::IMHtml imhtml Property changes on: trunk/gtk/plugins/perl/common/GtkIMHtml.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,22 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. + +Gtk::Widget +gtk_imhtmltoolbar_new() + +void +gtk_imhtmltoolbar_attach(toolbar, imhtml) + Gaim::Gtk::IMHtmlToolbar toolbar + Gtk::Widget imhtml +*/ + +MODULE = Gaim::Gtk::IMHtmlToolbar PACKAGE = Gaim::Gtk::IMHtmlToolbar PREFIX = gtk_imhtmltoolbar_ +PROTOTYPES: ENABLE + +void +gtk_imhtmltoolbar_associate_smileys(toolbar, proto_id) + Gaim::Gtk::IMHtmlToolbar toolbar + const char * proto_id Property changes on: trunk/gtk/plugins/perl/common/GtkIMHtmlToolbar.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkLog.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkLog.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkLog.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,23 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Log PACKAGE = Gaim::Gtk::Log PREFIX = gaim_gtk_log_ +PROTOTYPES: ENABLE + +void * +gaim_gtk_log_get_handle() + +void +gaim_gtk_log_show(type, screenname, account) + Gaim::LogType type + const char * screenname + Gaim::Account account + +void +gaim_gtk_log_show_contact(contact) + Gaim::BuddyList::Contact contact + +MODULE = Gaim::Gtk::Log PACKAGE = Gaim::Gtk::SysLog PREFIX = gaim_gtk_syslog_ +PROTOTYPES: ENABLE + +void +gaim_gtk_syslog_show() Property changes on: trunk/gtk/plugins/perl/common/GtkLog.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkMenuTray.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkMenuTray.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkMenuTray.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,33 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +Gtk::Widget +gaim_gtk_menu_tray_new() + +Gtk::Widget +gaim_gtk_menu_tray_get_box(menu_tray) + Gaim::Gtk::MenuTray menu_tray + +void +gaim_gtk_menu_tray_append(menu_tray, widget, tooltip) + Gaim::Gtk::MenuTray menu_tray + Gtk::Widget widget + const char * tooltip + +void +gaim_gtk_menu_tray_prepend(menu_tray, widget, tooltip) + Gaim::Gtk::MenuTray menu_tray + Gtk::Widget widget + const char * tooltip + +void +gaim_gtk_menu_tray_set_tooltip(menu_tray, widget, tooltip) + Gaim::Gtk::MenuTray menu_tray + Gtk::Widget widget + const char * tooltip +*/ + +MODULE = Gaim::Gtk::MenuTray PACKAGE = Gaim::Gtk::MenuTray PREFIX = gaim_gtk_menu_tray +PROTOTYPES: ENABLE Property changes on: trunk/gtk/plugins/perl/common/GtkMenuTray.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkPlugin.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkPlugin.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkPlugin.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,24 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +Gtk::Widget +gaim_gtk_plugin_get_config_frame(plugin) + Gaim::Plugin plugin +*/ + +MODULE = Gaim::Gtk::Plugin PACKAGE = Gaim::Gtk::Plugin PREFIX = gaim_gtk_plugin_ +PROTOTYPES: ENABLE + +MODULE = Gaim::Gtk::Plugin PACKAGE = Gaim::Gtk::Plugins PREFIX = gaim_gtk_plugins_ +PROTOTYPES: ENABLE + +void +gaim_gtk_plugins_save() + +MODULE = Gaim::Gtk::Plugin PACKAGE = Gaim::Gtk::Plugin::Dialog PREFIX = gaim_gtk_plugin_dialog_ +PROTOTYPES: ENABLE + +void +gaim_gtk_plugin_dialog_show() Property changes on: trunk/gtk/plugins/perl/common/GtkPlugin.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkPluginPref.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkPluginPref.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkPluginPref.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,69 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +Gtk::Widget +gaim_gtk_plugin_pref_create_frame(frame) + Gaim::PluginPref::Frame frame + +Gtk::Widget +gaim_gtk_prefs_checkbox(title, key, page) + const char * title + const char * key + Gtk::Widget page + +Gtk::Widget +gaim_gtk_prefs_labeled_spin_button(page, title, key, min, max, sg) + Gtk::Widget page + const gchar * title + const char * key + int min + int max + Gtk::Size::Group sg + +Gtk::Widget +gaim_gtk_prefs_labeled_entry(page, title, key, sg) + Gtk::Widget page + const gchar * title + const char * key + Gtk::Size::Group sg +*/ + +/* TODO I don't know how to handle this in XS +Gtk::Widget +gaim_gtk_prefs_dropdown(page, title, type, key, ...) + Gtk::Widget page + const gchar * title + Gaim::Pref::Type type + const char * key + +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +Gtk::Widget +gaim_gtk_prefs_dropdown_from_list(page, title, type, key, menuitems) + Gtk::Widget page + const gchar * title + Gaim::Pref::Type type + const char * key + SV *menuitems +PREINIT: + GList *t_GL; + int i, t_len; +CODE: + t_GL = NULL; + t_len = av_len((AV *)SvRV(menuitems)); + + for ( i = 0; i < t_len; i++) { + STRLEN t_sl; + t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(menuitems), i, 0), t_sl)); + RETVAL = gaim_gtk_prefs_dropdown_from_list(page, title, type, key, t_GL); +OUTPUT: + RETVAL +*/ + +MODULE = Gaim::Gtk::PluginPref PACKAGE = Gaim::Gtk::PluginPref PREFIX = gaim_gtk_plugin_pref_ +PROTOTYPES: ENABLE Property changes on: trunk/gtk/plugins/perl/common/GtkPluginPref.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkPounce.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkPounce.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkPounce.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,25 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Pounce PACKAGE = Gaim::Gtk::Pounce PREFIX = gaim_gtk_pounce_ +PROTOTYPES: ENABLE + +void +gaim_gtk_pounce_editor_show(account, name, cur_pounce) + Gaim::Account account + const char * name + Gaim::Pounce cur_pounce + +MODULE = Gaim::Gtk::Pounce PACKAGE = Gaim::Gtk::Pounces PREFIX = gaim_gtk_pounces_ +PROTOTYPES: ENABLE + +void * +gaim_gtk_pounces_get_handle() + +MODULE = Gaim::Gtk::Pounce PACKAGE = Gaim::Gtk::Pounces::Manager PREFIX = gaim_gtk_pounces_manager_ +PROTOTYPES: ENABLE + +void +gaim_gtk_pounces_manager_show() + +void +gaim_gtk_pounces_manager_hide() Property changes on: trunk/gtk/plugins/perl/common/GtkPounce.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkPrefs.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkPrefs.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkPrefs.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,8 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Prefs PACKAGE = Gaim::Gtk::Prefs PREFIX = gaim_gtk_prefs_ +PROTOTYPES: ENABLE + +void +gaim_gtk_prefs_show() + Property changes on: trunk/gtk/plugins/perl/common/GtkPrefs.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkPrivacy.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkPrivacy.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkPrivacy.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,23 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Privacy PACKAGE = Gaim::Gtk::Privacy PREFIX = gaim_gtk_ +PROTOTYPES: ENABLE + +void +gaim_gtk_request_add_permit(account, name) + Gaim::Account account + const char * name + +void +gaim_gtk_request_add_block(account, name) + Gaim::Account account + const char * name + +MODULE = Gaim::Gtk::Privacy PACKAGE = Gaim::Gtk::Privacy::Dialog PREFIX = gaim_gtk_privacy_dialog_ +PROTOTYPES: ENABLE + +void +gaim_gtk_privacy_dialog_show() + +void +gaim_gtk_privacy_dialog_hide() Property changes on: trunk/gtk/plugins/perl/common/GtkPrivacy.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkRoomlist.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkRoomlist.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkRoomlist.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,24 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Roomlist PACKAGE = Gaim::Gtk::Roomlist PREFIX = gaim_gtk_roomlist_ +PROTOTYPES: ENABLE + +gboolean +gaim_gtk_roomlist_is_showable() + +MODULE = Gaim::Gtk::Roomlist PACKAGE = Gaim::Gtk::Roomlist::Dialog PREFIX = gaim_gtk_roomlist_dialog_ +PROTOTYPES: ENABLE + +void +gaim_gtk_roomlist_dialog_show(class) + C_ARGS: /* void */ + +Gaim::Gtk::Roomlist::Dialog +gaim_gtk_roomlist_dialog_new(class) + C_ARGS: /* void */ + +Gaim::Gtk::Roomlist::Dialog +gaim_gtk_roomlist_dialog_new_with_account(class, account) + Gaim::Account account + C_ARGS: + account Property changes on: trunk/gtk/plugins/perl/common/GtkRoomlist.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,35 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. + * This also has a GCallback issue that I have no idea how to deal with, + * though the core-perl typemap has a mapping for them. +Gtk::Widget +gaim_gtk_status_menu(status, callback) + Gaim::SavedStatus status + GCallback callback +*/ + +MODULE = Gaim::Gtk::Status PACKAGE = Gaim::Gtk::Status PREFIX = gaim_gtk_status_ +PROTOTYPES: ENABLE + +void * +gaim_gtk_status_get_handle() + +MODULE = Gaim::Gtk::Status PACKAGE = Gaim::Gtk::Status::Editor PREFIX = gaim_gtk_status_editor_ +PROTOTYPES: ENABLE + +void +gaim_gtk_status_editor_show(edit, status) + gboolean edit + Gaim::SavedStatus status + +MODULE = Gaim::Gtk::Status PACKAGE = Gaim::Gtk::Status::Window PREFIX = gaim_gtk_status_window_ +PROTOTYPES: ENABLE + +void +gaim_gtk_status_window_show() + +void +gaim_gtk_status_window_hide() Property changes on: trunk/gtk/plugins/perl/common/GtkSavedStatuses.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkSession.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkSession.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkSession.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,13 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Session PACKAGE = Gaim::Gtk::Session PREFIX = gaim_gtk_session_ +PROTOTYPES: ENABLE + +void +gaim_gtk_session_init(argv0, previous_id, config_dir) + gchar * argv0 + gchar * previous_id + gchar * config_dir + +void +gaim_gtk_session_end() Property changes on: trunk/gtk/plugins/perl/common/GtkSession.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkSound.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkSound.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkSound.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,15 @@ +#include "gtkmodule.h" + +MODULE = Gaim::Gtk::Sound PACKAGE = Gaim::Gtk::Sound PREFIX = gaim_gtk_sound_ +PROTOTYPES: ENABLE + +const char * +gaim_gtk_sound_get_event_option(event) + Gaim::SoundEventID event + +char * +gaim_gtk_sound_get_event_label(event) + Gaim::SoundEventID event + +void * +gaim_gtk_sound_get_handle() Property changes on: trunk/gtk/plugins/perl/common/GtkSound.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkStatusBox.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkStatusBox.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkStatusBox.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,50 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +Gtk::Widget +gtk_gaim_status_box_new() + +Gtk::Widget +gtk_gaim_status_box_new_with_account(account) + Gaim::Account account + +void +gtk_gaim_status_box_add(status_box, type, pixbuf, text, sec_text, data) + Gaim::Gtk::StatusBox status_box + Gaim::Gtk::StatusBox::ItemType type + GdkPixbuf pixbuf + const char * text + const char * sec_text + gpointer data +*/ + +MODULE = Gaim::Gtk::StatusBox PACKAGE = Gaim::Gtk::StatusBox PREFIX = gtk_gaim_status_box +PROTOTYPES: ENABLE + +void +gtk_gaim_status_box_add_separator(status_box) + Gaim::Gtk::StatusBox status_box + +void +gtk_gaim_status_box_set_connecting(status_box, connecting) + Gaim::Gtk::StatusBox status_box + gboolean connecting + +void +gtk_gaim_status_box_pulse_connecting(status_box) + Gaim::Gtk::StatusBox status_box + +void +gtk_gaim_status_box_set_buddy_icon(status_box, filename) + Gaim::Gtk::StatusBox status_box + const char * filename + +const char * +gtk_gaim_status_box_get_buddy_icon(status_box) + Gaim::Gtk::StatusBox status_box + +char * +gtk_gaim_status_box_get_message(status_box) + Gaim::Gtk::StatusBox status_box Property changes on: trunk/gtk/plugins/perl/common/GtkStatusBox.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkThemes.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkThemes.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkThemes.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,36 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gaim_gtkthemes_smiley_themeize(widget) + Gtk::Widget * widget +*/ + +MODULE = Gaim::Gtk::Themes PACKAGE = Gaim::Gtk::Themes PREFIX = gaim_gtkthemes_ +PROTOTYPES: ENABLE + +void +gaim_gtkthemes_init() + +gboolean +gaim_gtkthemes_smileys_disabled() + +void +gaim_gtkthemes_smiley_theme_probe() + +void +gaim_gtkthemes_load_smiley_theme(file, load) + const char * file + gboolean load + +void +gaim_gtkthemes_get_proto_smileys(id) + const char * id +PREINIT: + GSList *l; +PPCODE: + for (l = gaim_gtkthemes_get_proto_smileys(id); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gtk::IMHtml::Smiley"))); + } Property changes on: trunk/gtk/plugins/perl/common/GtkThemes.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/GtkUtils.xs =================================================================== --- trunk/gtk/plugins/perl/common/GtkUtils.xs (rev 0) +++ trunk/gtk/plugins/perl/common/GtkUtils.xs 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,208 @@ +#include "gtkmodule.h" + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gaim_setup_imhtml(imhtml) + Gtk::Widget imhtml + +Gtk::Widget +gaim_gtk_create_imhtml(editable, imhtml_ret, toolbar_ret, sw_ret) + gboolean editable + GtkWidget ** imhtml_ret + GtkWidget ** toolbar_ret + GtkWidget ** sw_ret + +void +gaim_gtk_toggle_sensitive(widget, to_toggle) + Gtk::Widget widget + Gtk::Widget to_toggle + +void +gaim_gtk_set_sensitive_if_input(entry, dialog) + Gtk::Widget entry + Gtk::Widget dialog + +void +gaim_gtk_toggle_sensitive_array(w, data) + Gtk::Widget w + GPtrArray data + +void +gaim_gtk_toggle_showhide(widget, to_toggle) + Gtk::Widget widget + Gtk::Widget to_toggle + +void +gaim_separator(menu) + Gtk::Widget menu + +Gtk::Widget +gaim_new_item(menu, str) + Gtk::Widget menu + const char * str + +Gtk::Widget +gaim_new_check_item(menu, str, sf, data, checked) + Gtk::Widget menu + const char * str + GtkSignalFunc sf + gpointer data + gboolean checked + +Gtk::Widget +gaim_new_item_from_stock(menu, str, icon, sf, data, accel_key, accel_mods, mod) + Gtk::Widget menu + const char * str + const char * icon + GtkSignalFunc sf + gpointer data + guint accel_key + guint accel_mods + char * mod + +Gtk::Widget +gaim_pixbuf_button_from_stock(text, icon, style) + const char * text + const char * icon + Gaim::ButtonOrientation style + +Gtk::Widget +gaim_gtk_make_frame(parent, title) + Gtk::Widget parent + const char * title + +Gtk::Widget +gaim_gtk_protocol_option_menu_new(id, cb, user_data) + const char * id + GCallback cb + gpointer user_data + +Gtk::Widget +gaim_gtk_account_option_menu_new(default_account, show_all, cb, filter_func, user_data) + Gaim::Account account + gboolean show_all + GCallback cb + Gaim::Account::FilterFunc filter_func + gpointer user_data + +Gaim::Account +gaim_gtk_account_option_menu_get_selected(optmenu) + Gtk::Widget optmenu + +void +gaim_gtk_account_option_menu_set_selected(optmenu, account) + Gtk::Widget optmenu + Gaim::Account account + +void +gaim_gtk_setup_screenname_autocomplete(entry, optmenu, all) + Gtk::Widget entry + Gtk::Widget optmenu + gboolean all + +gboolean +gaim_gtk_check_if_dir(path, filesel) + const char * path + Gtk::FileSelection filesel + +void +gaim_gtk_setup_gtkspell(textview) + Gtk::TextView textview + +void +gaim_gtk_save_accels_cb(accel_group, arg1, arg2, arg3, data) + Gtk::AccelGroup accel_group + guint arg1 + Gdk::ModifierType arg2 + GClosure arg3 + gpointer data +*/ + +/* TODO This needs GaimAccount ** +gboolean +gaim_gtk_parse_x_im_contact(msg, all_accounts, ret_account, ret_protocol, ret_username, ret_alias) + const char * msg + gboolean all_accounts + Gaim::Account ret_account + char ** ret_protocol + char ** ret_username + char ** ret_alias +*/ + +/* This can't work at the moment since I don't have a typemap for Gtk::Widget. + * I thought about using the one from libgtk2-perl but wasn't sure how to go + * about doing that. +void +gaim_set_accessible_lable(w, l) + Gtk::Widget w + Gtk::Widget l + +void +gaim_gtk_treeview_popup_menu_position_func(menu, x, y, push_in, user_data) + Gtk::Menu menu + gint x + gint y + gboolean push_in + gpointer user_data + +void +gaim_dnd_file_manage(sd, account, who) + Gtk::SelectionData sd + Gaim::Account account + const char * who + +void +gaim_gtk_buddy_icon_get_scale_size(buf, spec, width, height) + Gdk::Pixbuf buf + Gaim::Buddy::Icon::Spec spec + int width + int height + +Gdk::Pixbuf +gaim_gtk_create_prpl_icon(account, scale_factor) + const Gaim::Account account + double scale_factor + +Gdk::Pixbuf +gaim_gtk_create_prpl_icon_with_status(account, status_type, scale_factor) + const Gaim::Account account + Gaim::StatusType status_type + double scale_factor + +Gdk::Pixbuf +gaim_gtk_create_gaim_icon_with_status(primitive, scale_factor) + Gaim::StatusPrimitive primitive + double scale_factor + +void +gaim_gtk_append_menu_action(menu, act, gobject) + Gtk::Widget menu + Gaim::Menu::Action act + gpointer gobject + +void +gaim_gtk_set_cursor(widget, cursor_type) + Gtk::Widget widget + Gdk::CursorType cursor_type + +void +gaim_gtk_clear_cursor(widget) + Gtk::Widget widget +*/ + +MODULE = Gaim::Gtk::Utils PACKAGE = Gaim::Gtk::Utils PREFIX = gaim_gtk_utils_ +PROTOTYPES: ENABLE + +gboolean +gaim_gtk_save_accels(data) + gpointer data + +void +gaim_gtk_load_accels() + +char * +gaim_gtk_convert_buddy_icon(plugin, path) + Gaim::Plugin plugin + const char * path Property changes on: trunk/gtk/plugins/perl/common/GtkUtils.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/MANIFEST =================================================================== --- trunk/gtk/plugins/perl/common/MANIFEST (rev 0) +++ trunk/gtk/plugins/perl/common/MANIFEST 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,28 @@ +Gtk.pm +Gtk.xs +GtkAccount.xs +GtkBlist.xs +GtkConn.xs +GtkConv.xs +GtkConvWin.xs +GtkDebug.xs +GtkDialogs.xs +GtkFt.xs +GtkIMHtml.xs +GtkIMHtmlToolbar.xs +GtkLog.xs +GtkMenuTray.xs +GtkPlugin.xs +GtkPluginPref.xs +GtkPounce.xs +GtkPrefs.xs +GtkPrivacy.xs +GtkRoomlist.xs +GtkSavedStatuses.xs +GtkSession.xs +GtkSound.xs +GtkStatusBox.xs +GtkThemes.xs +GtkUtils.xs +MANIFEST +typemap Property changes on: trunk/gtk/plugins/perl/common/MANIFEST ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/Makefile.PL.in =================================================================== --- trunk/gtk/plugins/perl/common/Makefile.PL.in (rev 0) +++ trunk/gtk/plugins/perl/common/Makefile.PL.in 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,20 @@ +use 5.006; +use ExtUtils::MakeMaker; + +WriteMakefile( + 'NAME' => 'Gaim::Gtk', + 'VERSION_FROM' => '@srcdir@/Gtk.pm', # finds $VERSION + ($] >= 5.005 ? ## Add these new keywords supported since 5.005 + ('ABSTRACT_FROM' => '@srcdir@/Gtk.pm', # finds $ABSTRACT + 'AUTHOR' => 'Etan Reisner <de...@gm...>') : ()), + 'DEFINE' => '@DEBUG_CFLAGS@', + 'INC' => '-I. -I@srcdir@ -I@top_srcdir@ -I@top_srcdir@/libgaim -I@top_srcdir@/gtk @GTK_CFLAGS@', +# 'PREREQ_PM' => { 'Gaim' => '@VERSION@'}, + # Do this because the MakeMaker Makefile is dumb, and on clean it moves + # Makefile to the default setting for MAKEFILE_OLD which is Makefile.old + # but this breaks running make clean more than once in a row. + 'MAKEFILE_OLD' => "Makefile", + 'OBJECT' => '$(O_FILES)', + 'TYPEMAPS' => ["@top_srcdir@/libgaim/plugins/perl/common/typemap"], +# 'OPTIMIZE' => '-g', # For debugging. +); Property changes on: trunk/gtk/plugins/perl/common/Makefile.PL.in ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/gtk/plugins/perl/common/gtkmodule.h =================================================================== --- trunk/gtk/plugins/perl/common/gtkmodule.h (rev 0) +++ trunk/gtk/plugins/perl/common/gtkmodule.h 2006-09-02 05:31:10 UTC (rev 17124) @@ -0,0 +1,79 @@ +typedef struct group *Gaim__Gtk__Group; + +#define group perl_group + +#include <glib.h> +#include <gtk/gtk.h> +#ifdef _WIN32 +#undef pipe +#endif +#include <EXTERN.h> +#include <perl.h> +#include <XSUB.h> + +#undef group + +#include <plugins/perl/common/module.h> + +#include "gtkaccount.h" +#include "gtkblist.h" +#include "gtkconn.h" +#include "gtkconv.h" +#include "gtkconvwin.h" +#include "gtkdebug.h" +#include "gtkdialogs.h" +#include "gtkft.h" +#include "gtkimhtml.h" +#include "gtkimhtmltoolbar.h" +#include "gtklog.h" +#include "gtkmenutray.h" +#include "gtkplugin.h" +#include "gtkpluginpref.h" +#include "gtkpounce.h" +#include "gtkprefs.h" +#include "gtkprivacy.h" +#include "gtkroomlist.h" +#include "gtksavedstatuses.h" +#include "gtksession.h" +#include "gtksound.h" +#include "gtkstatusbox.h" +#include "gtkthemes.h" +#include "gtkutils.h" + +/* gtkaccount.h */ +typedef GaimGtkAccountDialogType Gaim__Gtk__Account__Dialog__Type; + +/* gtkblist.h */ +typedef GaimGtkBuddyList * Gaim__Gtk__BuddyList; +typedef gaim_gtk_blist_sort_function Gaim__Gtk__BuddyList__SortFunction; + +/* gtkconv.h */ +typedef GaimGtkConversation * Gaim__Gtk__Conversation; +typedef GaimUnseenState Gaim__UnseenState; + +/* gtkconvwin.h */ +typedef GaimGtkWindow * Gaim__Gtk__Conversation__Window; +typedef GaimConvPlacementFunc Gaim__Conversation__PlacementFunc; + +/* gtkft.h */ +typedef GaimGtkXferDialog * Gaim__Gtk__Xfer__... [truncated message content] |
From: <sa...@us...> - 2006-09-02 06:24:56
|
Revision: 17125 http://svn.sourceforge.net/gaim/?rev=17125&view=rev Author: sadrul Date: 2006-09-01 23:24:50 -0700 (Fri, 01 Sep 2006) Log Message: ----------- This should fix the problem where multi-column characters would screw up a window-title. Modified Paths: -------------- trunk/configure.ac trunk/console/libgnt/configure.ac trunk/console/libgnt/gntbox.c trunk/console/libgnt/gntutils.c Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-09-02 05:31:10 UTC (rev 17124) +++ trunk/configure.ac 2006-09-02 06:24:50 UTC (rev 17125) @@ -820,6 +820,7 @@ fi AC_SUBST(GNT_LIBS) AM_CONDITIONAL(ENABLE_GNT, test "x$enable_gnt" = "xyes") +AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])]) dnl ####################################################################### dnl # Look for startup-notification, evolution integration, X-libraries, Modified: trunk/console/libgnt/configure.ac =================================================================== --- trunk/console/libgnt/configure.ac 2006-09-02 05:31:10 UTC (rev 17124) +++ trunk/console/libgnt/configure.ac 2006-09-02 06:24:50 UTC (rev 17125) @@ -198,6 +198,7 @@ AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h) AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h) AC_CHECK_HEADERS(termios.h) +AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])]) #AC_VAR_TIMEZONE_EXTERNALS AC_CHECK_LIB(ncursesw, initscr, , [AC_MSG_ERROR([ Modified: trunk/console/libgnt/gntbox.c =================================================================== --- trunk/console/libgnt/gntbox.c 2006-09-02 05:31:10 UTC (rev 17124) +++ trunk/console/libgnt/gntbox.c 2006-09-02 06:24:50 UTC (rev 17125) @@ -1,4 +1,5 @@ #include "gntbox.h" +#include "gntutils.h" #include <string.h> @@ -28,26 +29,14 @@ get_title_thingies(GntBox *box, char *title, int *p, int *r) { GntWidget *widget = GNT_WIDGET(box); - int pos = g_utf8_strlen(title, -1), right; - - if (pos >= widget->priv.width - 4) - { - g_utf8_strncpy(title, title, widget->priv.width - 4); - pos = 2; - right = pos + g_utf8_strlen(title, -1); - } - else - { - /* XXX: Position of the title might be configurable */ - right = pos; - pos = (widget->priv.width - pos) / 2; - right += pos; - } - + int len; + char *end = gnt_util_onscreen_width_to_pointer(title, widget->priv.width - 4, &len); + if (p) - *p = pos; + *p = (widget->priv.width - len) / 2; if (r) - *r = right; + *r = (widget->priv.width + len) / 2; + *end = '\0'; } static void Modified: trunk/console/libgnt/gntutils.c =================================================================== --- trunk/console/libgnt/gntutils.c 2006-09-02 05:31:10 UTC (rev 17124) +++ trunk/console/libgnt/gntutils.c 2006-09-02 06:24:50 UTC (rev 17125) @@ -4,7 +4,9 @@ #include <string.h> #include <wchar.h> -#ifndef __USE_XOPEN +#include "config.h" + +#ifndef HAVE_WCWIDTH #define wcwidth(X) 1 #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <amc...@us...> - 2006-09-03 03:34:53
|
Revision: 17134 http://svn.sourceforge.net/gaim/?rev=17134&view=rev Author: amc_grim Date: 2006-09-02 20:34:47 -0700 (Sat, 02 Sep 2006) Log Message: ----------- adjusting svn:ignore ... Property Changed: ---------------- trunk/gtk/ trunk/gtk/plugins/ trunk/libgaim/ trunk/libgaim/plugins/ Property changes on: trunk/gtk ___________________________________________________________________ Name: svn:ignore - .deps gaim gtkgaim.dll.a .libs Makefile Makefile.in *.dll *.exe + .deps gaim gtkgaim.dll.a .libs Makefile Makefile.in *.dll *.exe *.la *.lo *.o Property changes on: trunk/gtk/plugins ___________________________________________________________________ Name: svn:ignore - .deps .libs Makefile Makefile.in *.dll + .deps .libs Makefile Makefile.in *.dll *.la *.lo Property changes on: trunk/libgaim ___________________________________________________________________ Name: svn:ignore - dbus-bindings.c dbus-types.c dbus-types.h .deps gaim-client-bindings.c gaim-client-bindings.h gaim-client-example libgaim.dll libgaim.dll.a .libs Makefile Makefile.in + dbus-bindings.c dbus-types.c dbus-types.h .deps gaim-client-bindings.c gaim-client-bindings.h gaim-client-example libgaim.dll libgaim.dll.a .libs Makefile Makefile.in *.la *.lo *.o Property changes on: trunk/libgaim/plugins ___________________________________________________________________ Name: svn:ignore - dbus-example-bindings.c .deps .libs Makefile Makefile.in *.dll + dbus-example-bindings.c .deps .libs Makefile Makefile.in *.dll *.la *.lo This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <amc...@us...> - 2006-09-03 18:44:23
|
Revision: 17142 http://svn.sourceforge.net/gaim/?rev=17142&view=rev Author: amc_grim Date: 2006-09-03 11:44:11 -0700 (Sun, 03 Sep 2006) Log Message: ----------- Let's find the ncurses.h we're after, without a bunch of hacking in individual files for it. This checks for some ncursesw specific stuff, and now will not build gntgaim unless we have ncursesw.h. This could be adapted to just add a define in case we want to support non ncursesw, but this is more than adequate for the time being. Modified Paths: -------------- trunk/configure.ac trunk/console/Makefile.am trunk/console/libgnt/gntcolors.c trunk/console/libgnt/gntmain.c trunk/console/libgnt/gntwidget.h trunk/console/libgnt/gntwm.h Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-09-03 18:42:04 UTC (rev 17141) +++ trunk/configure.ac 2006-09-03 18:44:11 UTC (rev 17142) @@ -810,16 +810,61 @@ dnl ####################################################################### dnl # GNT Gaim dnl ####################################################################### -GNT_LIBS= +GNT_LIBS="" +GNT_CFLAGS="" if test "x$enable_gnt" = "xyes"; then AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_gnt=no]) AC_CHECK_LIB(panelw, update_panels, [GNT_LIBS="$GNT_LIBS -lpanelw"], [enable_gnt=no]) - # Some distros put the headers in ncursesw/, some don't - AC_CHECK_HEADER(ncursesw/ncurses.h, [AC_DEFINE(HAVE_NCURSESW_INC, 1, [Define if you have the ncursesw headers in ncursesw/])]) + LIBS_save="$LIBS" + LIBS="$LIBS $GNT_LIBS" + + dnl # Some distros put the headers in ncursesw/, some don't + found_ncurses_h=no + for f in ncurses.h ncursesw/ncurses.h + do + AC_CHECK_HEADER($f,[ + AC_MSG_CHECKING([if $f supports wide characters]) + AC_TRY_COMPILE([ + #define _XOPEN_SOURCE_EXTENDED + #include <$f> + ], [ + #ifndef get_wch + # error get_wch not found! + #endif + ], [ + dir=`dirname $f` + if test x"$dir" != x"." ; then + GNT_CFLAGS="-I $dir/" + else + GNT_CFLAGS="" + fi + + found_ncurses_h=yes + AC_MSG_RESULT([yes]) + break + ], [ + AC_MSG_RESULT([no]) + ]) + ]) + done + + LIBS="$LIBS_save" + + if test x"$found_ncurses_h" = x"no" ; then + GNT_LIBS="" + GNT_CFLAGS="" + enable_gnt=no + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([yes]) + fi fi + AC_SUBST(GNT_LIBS) +AC_SUBST(GNT_CFLAGS) AM_CONDITIONAL(ENABLE_GNT, test "x$enable_gnt" = "xyes") + AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])]) dnl ####################################################################### Modified: trunk/console/Makefile.am =================================================================== --- trunk/console/Makefile.am 2006-09-03 18:42:04 UTC (rev 17141) +++ trunk/console/Makefile.am 2006-09-03 18:44:11 UTC (rev 17142) @@ -61,5 +61,6 @@ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(DBUS_CFLAGS) \ - $(LIBXML_CFLAGS) + $(LIBXML_CFLAGS) \ + $(GNT_CFLAGS) endif Modified: trunk/console/libgnt/gntcolors.c =================================================================== --- trunk/console/libgnt/gntcolors.c 2006-09-03 18:42:04 UTC (rev 17141) +++ trunk/console/libgnt/gntcolors.c 2006-09-03 18:44:11 UTC (rev 17142) @@ -1,10 +1,6 @@ #include "config.h" -#ifdef HAVE_NCURSESW_INC -#include <ncursesw/ncurses.h> -#else #include <ncurses.h> -#endif #include "gntcolors.h" #include "gntstyle.h" Modified: trunk/console/libgnt/gntmain.c =================================================================== --- trunk/console/libgnt/gntmain.c 2006-09-03 18:42:04 UTC (rev 17141) +++ trunk/console/libgnt/gntmain.c 2006-09-03 18:44:11 UTC (rev 17142) @@ -3,11 +3,7 @@ #include "config.h" -#ifdef HAVE_NCURSESW_INC -#include <ncursesw/panel.h> -#else #include <panel.h> -#endif #include <gmodule.h> Modified: trunk/console/libgnt/gntwidget.h =================================================================== --- trunk/console/libgnt/gntwidget.h 2006-09-03 18:42:04 UTC (rev 17141) +++ trunk/console/libgnt/gntwidget.h 2006-09-03 18:44:11 UTC (rev 17142) @@ -6,11 +6,7 @@ #include <stdio.h> #include <glib.h> #include <glib-object.h> -#ifdef HAVE_NCURSESW_INC -#include <ncursesw/ncurses.h> -#else #include <ncurses.h> -#endif #define GNT_TYPE_WIDGET (gnt_widget_get_gtype()) #define GNT_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_WIDGET, GntWidget)) Modified: trunk/console/libgnt/gntwm.h =================================================================== --- trunk/console/libgnt/gntwm.h 2006-09-03 18:42:04 UTC (rev 17141) +++ trunk/console/libgnt/gntwm.h 2006-09-03 18:44:11 UTC (rev 17142) @@ -1,10 +1,6 @@ #include "config.h" -#ifdef HAVE_NCURSESW_INC -#include <ncursesw/panel.h> -#else #include <panel.h> -#endif #include "gntwidget.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <amc...@us...> - 2006-09-04 03:23:45
|
Revision: 17149 http://svn.sourceforge.net/gaim/?rev=17149&view=rev Author: amc_grim Date: 2006-09-03 20:23:41 -0700 (Sun, 03 Sep 2006) Log Message: ----------- Never EVER use -L and -l for a library in your own build. Modified Paths: -------------- trunk/console/Makefile.am trunk/gtk/Makefile.am Modified: trunk/console/Makefile.am =================================================================== --- trunk/console/Makefile.am 2006-09-04 01:06:28 UTC (rev 17148) +++ trunk/console/Makefile.am 2006-09-04 03:23:41 UTC (rev 17149) @@ -45,8 +45,8 @@ $(GLIB_LIBS) \ $(LIBXML_LIBS) \ $(GNT_LIBS) \ - -L./libgnt/ -lgnt \ - -L$(top_builddir)/libgaim -lgaim + ./libgnt/libgnt.la \ + $(top_builddir)/libgaim/libgaim.la AM_CPPFLAGS = \ -DSTANDALONE \ Modified: trunk/gtk/Makefile.am =================================================================== --- trunk/gtk/Makefile.am 2006-09-04 01:06:28 UTC (rev 17148) +++ trunk/gtk/Makefile.am 2006-09-04 03:23:41 UTC (rev 17149) @@ -166,7 +166,7 @@ $(LIBXML_LIBS) \ $(GTK_LIBS) \ $(CAP_LIBS) \ - -L$(top_builddir)/libgaim -lgaim + $(top_builddir)/libgaim/libgaim.la AM_CPPFLAGS = \ -DBR_PTHREADS=0 \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |