summaryrefslogtreecommitdiff
path: root/pidgin/libpidgin.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix leaked errorsElliott Sales de Andrade2023-03-231-0/+1
| | | | | | | | | And also simplify some cases with `g_clear_error`. Testing Done: Compiled and ran tests in valgrind, though it never noticed these anyway. Reviewed at https://reviews.imfreedom.org/r/2384/
* Bump C standard to C99 for Pidgin files and fix warningsElliott Sales de Andrade2022-11-281-1/+2
| | | | | | | | | Bump C standard to C99 for Pidgin files only and fix warnings Testing Done: Touched all Pidgin files, compiled and saw no new warnings. Reviewed at https://reviews.imfreedom.org/r/2103/
* Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfoGary Kramlich2022-10-311-194/+0
| | | | | | | | | | | | | This created a lot more refactoring that I imagined, but it's mostly just moving stuff around. I skipped the unit tests for now because we already have a `test_ui.[ch]` in the tests directory which we can/should move to a separate library or something, so it's available outside of the `libpurple/tests/` directory. Testing Done: Ran the unit tests, launched pidgin3, and launched finch3 with out issue. Bugs closed: PIDGIN-17697 Reviewed at https://reviews.imfreedom.org/r/1925/
* Add a get_settings_backend vfunc to CoreUiOpsGary Kramlich2022-10-101-0/+17
| | | | | | | | | | | This allows the user interface to declare their own settings backend. There's some minor duplication between finch and pidgin for this, but this means the test ui can use a memory backend instead of something on disk. Testing Done: Ran the unit tests multiple times and verified that the credential manager test stops messing up everything else. Reviewed at https://reviews.imfreedom.org/r/1921/
* Move PurpleCoreUiOps to struct intializers.Gary Kramlich2022-09-201-5/+4
| | | | | | | | | I missed this one before. Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/1817/
* Migrate libpidgin.c to gtk4Gary Kramlich2022-05-061-4/+9
| | | | | | | Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/1417/
* Replace the request_add Account UiOp with a new AddContact notificationGary Kramlich2022-08-231-1/+0
| | | | | | | | | | | Add a demo protocol plugin account action to test the new notification Testing Done: Ran the action from the demo protocol plugin and verified it acted appropriately. However, nothing actually adds the buddy to your list right now. Was unable to test finch as it's crashing at startup for unrelated issues. Reviewed at https://reviews.imfreedom.org/r/1624/
* Remove the manager, editor, and substatus editor from gtksavedstatusesGary Kramlich2022-05-301-3/+0
| | | | | | | | | | | This code previously replaced via the new PidginStatusManager and PidginStatusEditor widgets, while substatuses were skipped as we determine their future. Testing Done: Ran and opened all the status dialogs and menus and stuff. Reviewed at https://reviews.imfreedom.org/r/1437/
* Update purple_core_init to take a PurpleUiInfo instanceGary Kramlich2022-05-201-7/+0
| | | | | | | | | Added an `id` property to `PurpleUiInfo` Testing Done: Ran the unit tests and verified I could run Pidgin and connect an account. Reviewed at https://reviews.imfreedom.org/r/1456/
* Remove the Pidgin icon themes which are covered by XDG icon themes now and ↵Gary Kramlich2021-10-281-3/+0
| | | | | | | | | | | | remove the stock api as that's all that was using it yet. Testing Done: * Built everything, including the docs and pidgin-pot * Verified that the preferences window still functions properly * Verified that the user list in the conversation window had properly sized icons * Verified all of the status icons were not affected. Reviewed at https://reviews.imfreedom.org/r/1088/
* Replace PurpleIdleUiOps with the PurpleIdleUi InterfaceGary Kramlich2021-10-221-1/+1
| | | | | | | | | | | | | | | This continues our path down replacing the UiOps with Interfaces so that developers can write user interfaces in other languages using gobject introspection. Testing Done: Ran pidgin3 and set it to auto idle after 1 minute of system idle time. This attempted to query xscreen saver, but something didn't work there, but that's been happening before this change. Not sure if it's my system or the code just needs fixing. Ran finch3 set idle time to 1 minute and verified that it set me to away after that minute. I also used the libpurple idle time for both pidgin3 and finch3 and verified they continued to work as well. Reviewed at https://reviews.imfreedom.org/r/1091/
* Move debug command-line option to the UIsElliott Sales de Andrade2021-10-191-4/+0
| | | | | | | | | This is not really a core option, and even has a different meaning in Finch. Testing Done: Run `finch3 -d` and see debug window open by default; run `pidgin3` and see debug output printed. Reviewed at https://reviews.imfreedom.org/r/1080/
* Remove entire PurpleDebugUiInterface and implementationsElliott Sales de Andrade2021-10-191-12/+0
| | | | | | | | | The `purple_debug*` functions are routed through GLib's logging interface, and the UIs capture logs from there, so there's no need for this interface any more. Testing Done: Opened Debug Window and saw logs appearing there. Reviewed at https://reviews.imfreedom.org/r/1074/
* Initialize Pidgin GLib logging handler earlierElliott Sales de Andrade2021-10-181-0/+3
| | | | | | | | | This ensures that output at startup is captured, which is mostly just the error about finding the `theme.css` file. Testing Done: Opened/closed the Debug Window, and checked that there were no log messages on the terminal. Reviewed at https://reviews.imfreedom.org/r/1071/
* Close the Debug Window on shutdownElliott Sales de Andrade2021-10-181-0/+4
| | | | Otherwise, it tries to read prefs after that subsystem is shut down.
* Make user interfaces setup the default history adapter.Gary Kramlich2021-10-181-0/+41
| | | | | | | | | | This helps avoid some issues with the unit tests as well as gives us more flexibility in the future. Testing Done: Ran the unit tests without issue. Ran Pidgin 3 with no existing config directory and verified that `history.db` was created properly. Reviewed at https://reviews.imfreedom.org/r/1033/
* Remove the existing logging code from Pidgin now that the History API has landedGary Kramlich2021-10-181-2/+0
| | | | | | | | | | We still need to finish integrating the History API into Pidgin, but moving this out of the way first will make that easier. Testing Done: Ran pidgin3 and verified all of the menus were still functional with the logging stuff removed. Reviewed at https://reviews.imfreedom.org/r/1039/
* Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocolGary Kramlich2021-09-021-0/+44
| | | | | | | | | | | | | | | | These are now used by pidgin_create_icon_from_protocol which will attempt to load the icon for the protocol from the default GtkIconTheme if the protocol has a non NULL value for icon-name. pidgin_ui_init was also updated to add icon-search-path and icon-resource-path to the default GtkIconTheme when a protocol is registered. It also scans all of the protocols that have been already been registered as that happens before the ui is initialized. Testing Done: Removed old local icon and then ran with an inverted icon to make sure pidgin was displaying the icon from the resource. Reviewed at https://reviews.imfreedom.org/r/790/
* Remove all of the current smiley support as it currently isn't used and ↵Gary Kramlich2021-08-241-3/+0
| | | | | | | | | needs to be completely overhauled for the new emoji api when we write it. Testing Done: Ran the unit tests, `ninja pidgin-pot doc`, ran pidgin3, opened the preferences page, verified the `custom smileys menu was removed`, sent messages over xmpp with text smileys and verified that pidgin 2 still rendered them. Reviewed at https://reviews.imfreedom.org/r/852/
* Start embedding our icon theme by starting with the status icons used in ↵Gary Kramlich2021-08-161-2/+4
| | | | | | | | | PidginPresenceIcon Testing Done: Modified an icon and verified it was being used (and of course reverted). Reviewed at https://reviews.imfreedom.org/r/885/
* Move Pidgin preferences code into a subdirectory.Elliott Sales de Andrade2021-05-181-1/+1
| | | | | | | Testing Done: Compiled, installed, and compiled a simple `#include <pidgin.h>` file. Reviewed at https://reviews.imfreedom.org/r/657/
* Separate the conversation commands out to their own fileGary Kramlich2021-05-061-0/+3
| | | | | | | Testing Done: Ran pidgin locally verified the commands worked. Ran `ninja pidgin-doc` as well as `ninja pidgin-pot` Reviewed at https://reviews.imfreedom.org/r/632/
* Remove the buddy pounces apiGary Kramlich2021-01-021-2/+0
| | | | | | | | | | | This feature has more or less been stalkerware since its inception and the only useful feature that came of it was offline message emulation which isn't necessary for most networks nowadays. Testing Done: Compiled and ran locally. Reviewed at https://reviews.imfreedom.org/r/322/
* Create PidginPresenceIcon that displays the correct icon for its bound ↵Gary Kramlich2020-11-141-1/+2
| | | | | | | | | PurplePresence Testing Done: Tested all presence changes except invisible as I don't have an account that supports it. Reviewed at https://reviews.imfreedom.org/r/213/
* Create a new ContactList that will eventually fully replace PidginBuddyListGary Kramlich2020-11-141-0/+1
| | | | | | | | | | | | | | Create a new PidginContactList window and move the application actions to PidginApplication. Testing Done: * Verified menus are properly disabled while offline * Verified menu items that require a protocol with chats enables the chat menu items as well as the room list menu items * Verified that the menu items can become enabled while the menus are opened * Verified that the application actions are activatable via dbus * Verified that the plugin manager action was migrated successfully * Verified that the account manager action was migrated successfully Reviewed at https://reviews.imfreedom.org/r/174/
* Create a proper GtkApplication subclass for Pidgin and use it.Gary Kramlich2020-10-121-295/+3
| | | | | | | Testing Done: Compiled and ran, tested irc and bonjour. Reviewed at https://reviews.imfreedom.org/r/155/
* Fix some broken urls and get rid of the old developer segfault messageGary Kramlich2020-09-141-41/+28
| | | | | | | | | Tweak some urls and get rid of the developer segfault message Testing Done: Build only Reviewed at https://reviews.imfreedom.org/r/114/
* remove the old sound apiGary Kramlich2020-08-131-2/+0
| | | | | | | | | | | | | | | | | | Remove all traces of the old sound api from pidgin Remove all traces of the old sound api from finch Remove all references to the old sound api from libpurple Remove the old sound files Update ChangeLog.API for all the removals Testing Done: Compile tested finch. Ran pidgin, verified the preferences window works, the pounce window dies on something talkatu related but that will be addressed separately. Reviewed at https://reviews.imfreedom.org/r/58/
* phase2 of pidgin.h: move existing file to pidgincore.hGary Kramlich2020-07-231-1/+1
| | | | | | | | | Rename pidgin.h to pidgincore.h and update everything accordingly. Testing Done: Compile test only. Reviewed at https://reviews.imfreedom.org/r/43/
* Fix some issues on macos that resulted from the internal.h cleanupGary Kramlich2020-06-141-0/+2
|
* Make sure that internal.h can only be included by libpurple and split out ↵Gary Kramlich2020-05-011-2/+8
| | | | some pieces to purpleprivate.h
* Update all of the pidgin code to include purple.hGary Kramlich2020-05-011-17/+1
|
* Fix some issues found in reviewGary Kramlich2020-04-091-1/+1
|
* purple_core_get_ui_info now transfers the PurpleUiInfo to the caller, so we ↵Gary Kramlich2020-04-091-12/+4
| | | | need to make sure to not cache it.
* Replace the ui info GHashTable with a gobject.Gary Kramlich2020-03-201-38/+5
|
* delete gtkplugin.[ch] and deal with the repercussionsGary Kramlich2019-11-141-2/+2
|
* Remove the dockletGary Kramlich2019-11-151-3/+0
|
* Remove glibcompat.h from all the files that don't actually need it.Gary Kramlich2019-11-151-1/+1
|
* Some of the macros were code for less than glib 2.48.0 and were supposed to ↵Gary Kramlich2019-11-151-14/+0
| | | | be removed too.
* Bump the glib minimum version to 2.48 and remove checks for itGary Kramlich2019-11-141-8/+0
|
* Remove redundant comparisons in conditionsqarkai2019-11-041-1/+1
|
* Use g_(v)snprintf so we need less wrappers.Elliott Sales de Andrade2019-10-301-8/+12
|
* Move Pidgin/Finch plugins to XDG data directory.Elliott Sales de Andrade2019-10-081-1/+1
|
* Move some Pidgin things to XDG directories.Elliott Sales de Andrade2019-09-281-1/+1
|
* Don't pass literals to g_set_error / g_error_new.Elliott Sales de Andrade2019-10-021-2/+2
|
* Update application name.Elliott Sales de Andrade2019-09-261-1/+1
| | | | | Or else we can't talk to DBus in Flatpak (without extra permissions.)
* Finally removing webkit!!Gary Kramlich2019-07-191-2/+0
|
* Convert UI ops to PurpleBuddyListClass methods.Elliott Sales de Andrade2019-07-031-1/+1
|
* Rename gtklog -> pidginlog.Elliott Sales de Andrade2019-05-201-1/+1
|
* On second thought, let's just remove it...Gary Kramlich2019-04-301-8/+0
|