summaryrefslogtreecommitdiff
path: root/finch
Commit message (Collapse)AuthorAgeFilesLines
* Remove PurpleProtocolClient->tooltip_text as it is barely used and we're ↵Gary Kramlich2023-03-201-6/+0
| | | | | | | | | scaling back our tooltip usage Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/2370/
* Use GListModel access to request fields in finchElliott Sales de Andrade2023-03-172-39/+81
| | | | | | | | | Instead of the `GList`-based API. Testing Done: Compiled only. Reviewed at https://reviews.imfreedom.org/r/2353/
* Remove tracking of required fieldsElliott Sales de Andrade2023-03-171-3/+3
| | | | | | | | | | | The field required&filled status is now encapsulated in the valid property due to /r/2351. This means that UIs no longer need to check that all required fields are filled. So the page no longer needs to track required fields either. Testing Done: Compiled and ran `ninja test`. Also opened Request Fields from Demo protocol, removed the required string or entered an invalid email, and confirmed the OK button disabled correctly. Reviewed at https://reviews.imfreedom.org/r/2352/
* Add PurpleRequest{Group,Page}:valid propertiesElliott Sales de Andrade2023-03-161-1/+1
| | | | | | | | | This collects the validity of the fields/groups within the group/page into a single value. Testing Done: Compiled and ran `ninja test`. Reviewed at https://reviews.imfreedom.org/r/2348/
* Convert PurpleRequestFieldList into a GObjectElliott Sales de Andrade2023-03-103-50/+51
| | | | | | | | | | | This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff. Also could implement `GListModel`, but it takes arbitrary pointers too, so not right now. Testing Done: Compiled, and opened Request Fields from the Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2336/
* Make PurpleRequestFieldChoice into a GObjectElliott Sales de Andrade2023-03-101-10/+10
| | | | | | | | | | | This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff. I wonder if this should implement `GListModel`, but the values are currently arbitrary pointers, so it won't work right now. Testing Done: Compiled and opened Request Fields from Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2335/
* Make PurpleRequestFieldInt into a GObjectElliott Sales de Andrade2023-03-102-15/+16
| | | | | | | | | | | This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff. Note, I didn't bother re-indenting some of the blocks, because they'll all eventually be moved when everything is subclassed. Testing Done: Compiled and opened Request Fields from Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2334/
* Make PurpleRequestFieldBool into a GObjectElliott Sales de Andrade2023-03-101-15/+14
| | | | | | | | | | | This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff. Note, I didn't bother re-indenting some of the blocks, because they'll all eventually be moved when everything is subclassed. Testing Done: Compiled and opened Request Fields from Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2332/
* Add a PurpleRequestFieldString subclassElliott Sales de Andrade2023-03-102-18/+25
| | | | | | | | | | | This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff. Note, I didn't bother re-indenting some of the blocks, because they'll all eventually be moved when everything is subclassed. Testing Done: Compiled and opened Request Fields from the Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2324/
* Make PurpleRequestFieldAccount into a GObjectElliott Sales de Andrade2023-03-102-20/+32
| | | | | | | | | | | This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff, and I should just make these new files entirely? Note, I didn't bother re-indenting some of the blocks, because they'll all eventually be moved when everything is subclassed. Testing Done: Compiled, and opened Request Fields from the Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2331/
* Convert PurpleRequestPage into a GObjectElliott Sales de Andrade2023-03-075-88/+78
| | | | | | | | | | | And rename it from `PurpleRequestFields`. Also, implements `GListModel` for the groups, but nothing uses it that way get. Testing Done: Compiled, and opened Request Fields from Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2323/
* Convert PurpleRequestGroup into a GObjectElliott Sales de Andrade2023-03-074-38/+38
| | | | | | | | | | | And go through with the renaming of `PurpleRequestFieldGroup` to `PurpleRequestGroup`. Also, this now implements `GListModel`, but nothing is yet updated to use that. Testing Done: Compiled, and opened Request Fields from Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2322/
* Replace PurpleRequestField UI data with GObject dataElliott Sales de Andrade2023-03-061-36/+31
| | | | | | | Testing Done: Compiled and opened Request Fields from Demo protocol. Reviewed at https://reviews.imfreedom.org/r/2321/
* Fix typo in request field getterElliott Sales de Andrade2023-03-051-1/+1
| | | | | | | | | The setter does not have the extra "field" in the name. Testing Done: Compiled. Reviewed at https://reviews.imfreedom.org/r/2319/
* Remove get_plugin_pref_frame from gnttinyurlElliott Sales de Andrade2023-03-051-19/+1
| | | | | | | | | Finch can't display `GSettings` yet, but the rest of this plugin is already ported to it. So this old frame code is misleading, since it is hooked up to the `PurplePrefs`, not `GSettings`. Testing Done: Compiled only Reviewed at https://reviews.imfreedom.org/r/2315/
* Mark unused parameters as such for all finchGary Kramlich2023-02-2320-221/+322
| | | | | | | Testing Done: Turned the warning level up to 2, compiled, and verified the warnings were gone. Reviewed at https://reviews.imfreedom.org/r/2254/
* Convert idle_time in PurplePresence to GDateTimeGary Kramlich2023-02-201-3/+12
| | | | | | | | | Testing Done: Ran the unit tests and checked a few things in the UI. Noticed that the status time in the buddy list has been broken for some time as well. Bugs closed: PIDGIN-17759 Reviewed at https://reviews.imfreedom.org/r/2235/
* Remove conversation's internal history api as it will be replace by the new ↵Gary Kramlich2023-02-201-23/+0
| | | | | | | | | history api Testing Done: Joined a MUC and verified that that history was still displayed and that sending messages and stuff worked. Reviewed at https://reviews.imfreedom.org/r/2238/
* Update Finch for the PurpleAccount deprecationsGary Kramlich2022-12-147-58/+107
| | | | | | | Testing Done: Compiled and ran the tests Reviewed at https://reviews.imfreedom.org/r/2132/
* Remove the privacy apiGary Kramlich2022-12-052-79/+0
| | | | | | | | | | | This API has been needing a rewrite for as long as I've been working on Gaim / Pidgin and nothing has come of it. Therefore, I'm am removing it for a much more simplified approach in the future. Testing Done: Sent some messages with the demo protocol plugin. Reviewed at https://reviews.imfreedom.org/r/2065/
* Add a setting-changed signal to PurpleAccount and propagate it from ↵Gary Kramlich2022-11-281-0/+1
| | | | | | | | | | | | | | PurpleAccountManager Also add a freeze and thaw mechanism to make sure state is consistent when the signal is emitted. Add a `GParamSpec` parameter to the `account-changed` signal as well, so that users can determine which property changed. Testing Done: Used `g_message` in the propagator to verify that everything was behaving. Reviewed at https://reviews.imfreedom.org/r/2060/
* Remove purple_markup_escape_textGary Kramlich2022-11-251-1/+1
| | | | | | | | | | | This was originally added because g_markup_escape_text turns ' in to ' which isn't an element in HTML 4 and apparently it wasn't rendered right in IE7. Those days are long gone, so there's no reason we need this anymore. Testing Done: Compiled and ran the unit tests Reviewed at https://reviews.imfreedom.org/r/2096/
* Make PurpleNotificationManager implement GListModelGary Kramlich2022-11-241-3/+1
| | | | | | | | | | Also a few other clean ups, including making the user of the manager responsible for sorting the list. Testing Done: Ran the unit tests and verified the notification list in pidgin was updating correctly. Reviewed at https://reviews.imfreedom.org/r/2085/
* Make sure finch_retrieve_user_info returns a value on failureGary Kramlich2022-11-181-1/+1
| | | | | | | Testing Done: Compiled under clang and gcc. clang was treating this as an error but gcc was just treating it as a warning. Reviewed at https://reviews.imfreedom.org/r/2075/
* Inline purple_serv_get_info and purple_serv_set_infoGary Kramlich2022-11-181-2/+13
| | | | | | | Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/2071/
* Remove soupcompat.h since we require libsoup3 nowGary Kramlich2022-11-161-2/+0
| | | | | | | Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/2068/
* Remove the ability to register new accounts.Gary Kramlich2022-11-071-14/+1
| | | | | | | | | | | XMPP is the only in-tree protocol with torchat and telegram being the others that support this. I'm not opposed to bringing this back somehow, but this current form has to go as it's way too complicated. Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/2047/
* Propagate the PurpleAccount::notify signal via ↵Gary Kramlich2022-11-041-19/+9
| | | | | | | | | | | | | | PurpleAccountManager::account-changed This new signal supports details and works just like notify does on the account instances, but it will be emitted for any account that the manager instance knows about which means we can remove the old purple signals. Testing Done: Enabled and disabled accounts in Pidgin via the menus to make sure things were working right, and verified via the console that the accounts were being enabled and disabled. Ran Finch, but I ran into the infinite loop bug in the buddy list clean when disabling an account which is a known issue. Reviewed at https://reviews.imfreedom.org/r/2032/
* Take advantage of f-strings in MesonElliott Sales de Andrade2022-11-041-5/+4
| | | | | | | | | | They were added in 0.58, which is our minimum version https://mesonbuild.com/Syntax.html#format-strings Testing Done: Reconfigured, ran tests, and checked a few generated files to be sure they looked okay. Reviewed at https://reviews.imfreedom.org/r/2033/
* Fix SoupMessage leaks when using new libsoup3 APIElliott Sales de Andrade2022-11-031-1/+5
| | | | | | | | | | | | | The new API takes a ref, not ownership, of the sent message, so we need to unref our copy. The compatibility layer for libsoup2 similarly also takes a ref, so this is also leaking on libsoup2 now. Also fix an incorrect data parameter in the gnttinyurl plugin (all the rest of the code was already changed expecting `msg` as the callback data.) Testing Done: Compile only. Reviewed at https://reviews.imfreedom.org/r/2017/
* Have finch output the error message from purple_core_initGary Kramlich2022-11-011-3/+2
| | | | | | | Testing Done: Ran finch with `PURPLE3_CORE_ERROR_MESSAGE` set with and without a value and without the environment variable as well. Reviewed at https://reviews.imfreedom.org/r/2009/
* Make PurpleUi.start return a gboolean and GErrorGary Kramlich2022-11-011-8/+14
| | | | | | | | | | This allows the user interface to handle initialization errors in one place as purple_core_init calls purple_ui_start. Testing Done: Compiled and ran pidgin3 Reviewed at https://reviews.imfreedom.org/r/2008/
* Add an out parameter for an error to purple_core_initGary Kramlich2022-10-311-3/+5
| | | | | | | | | Testing Done: Ran the unit tests, pidgin3 and finch3 without issue. Bugs closed: PIDGIN-17699 Reviewed at https://reviews.imfreedom.org/r/2004/
* Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfoGary Kramlich2022-10-314-66/+102
| | | | | | | | | | | | | 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/
* Move PurpleAccountManager to GPtrArray and implement GListModelElliott Sales de Andrade2022-10-283-48/+90
| | | | | | | | | Move `PurpleAccountManager` to `GPtrArray` and implement `GListModel` Testing Done: Compiled and ran `ninja test`. Opened Account Manager and Privacy Dialog to check that account list seemed okay. Reviewed at https://reviews.imfreedom.org/r/1987/
* Remove C99-obsoleted constructsElliott Sales de Andrade2022-10-2612-31/+60
| | | | | | | | | See [this development thread for a future Fedora change](https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/CJXKTLXJUPZ4F2C2VQOTNMEA5JAUPMBD/) or [the proposed change page](https://fedoraproject.org/wiki/Changes/PortingToModernC). These may be made stronger errors in GCC 14. Testing Done: Configured with `-Dc_args='-Werror=implicit-int -Werror=implicit-function-declaration -Werror=int-conversion -Werror=strict-prototypes -Werror=old-style-definition'` and compiled. Reviewed at https://reviews.imfreedom.org/r/1974/
* Port gnttinyurl plugin to libsoup3Elliott Sales de Andrade2022-10-261-37/+56
| | | | | | | | | This covers both adding the `SoupMessage` to an existing callback data structure, _and_ using `SoupMessage` as the callback data with "real" callback data attached to it. Testing Done: Compiled against libsoup2 and libsoup3. Reviewed at https://reviews.imfreedom.org/r/1961/
* Flatten Meson build filesElliott Sales de Andrade2022-10-231-154/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use a new enough version that we can take advantage of a few shortcuts so that entire files don't need to be wrapped in a huge if. Also, passing the dependency object directly to summary prints `YES`+the version, instead of just `YES`. Unfortunately, there's a bug with using a disabler, so some of them can't do that ([yet](https://github.com/mesonbuild/meson/pull/10949)). Testing Done: Configured with defaults and configured with ``` $ meson setup \ -Davahi=disabled \ -Dconsoleui=false \ -Dgtkui=false \ -Dintrospection=false \ -Dkwallet=disabled \ -Dlibgadu=disabled \ -Dlibsecret=disabled \ -Dmeanwhile=disabled \ -Dsilc=disabled \ -Dx=false \ -Dzephyr=disabled \ -Dunity-integration=disabled \ -Dgplugin:lua=false \ -Dgplugin:python3=false \ -Dgplugin:vapi=false \ -Ddynamic-prpls=bonjour ``` to disable almost everything. Reviewed at https://reviews.imfreedom.org/r/1953/
* Fix connection errors getting deleted when an account is disconnectedGary Kramlich2022-10-231-1/+1
| | | | | | | | | | Testing Done: * Ran the unit tests with the new test * Caused a resource conflict on XMPP to verify that notification was displayed * Attempted to connect an IRC account that had a bad hostname and verified that notification was displayed. * Not integration testing was done for Finch. Reviewed at https://reviews.imfreedom.org/r/1944/
* 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/
* Use PurpleAccountManager added/removed signalsElliott Sales de Andrade2022-10-092-27/+27
| | | | | | | | | Testing Done: Opened Pidgin and made sure there were no warnings about objects not existing in time for the new signal connections. Opened XMPP console and saw that the drop down updated when an XMPP account was added/removed. Reviewed at https://reviews.imfreedom.org/r/1913/
* Add a require password option to the finch account editorGary Kramlich2022-10-041-6/+35
| | | | | | | | | Testing Done: Toggled the option in the editor saved and verified that `accounts.xml` showed the change and that the editor opened with the current setting. Bugs closed: PIDGIN-17690 Reviewed at https://reviews.imfreedom.org/r/1879/
* Remove purple_date_format_fullElliott Sales de Andrade2022-09-301-1/+9
| | | | | | | | | And inline it instead. Somehow with all these uses, it's still more delete than insert. Testing Done: Compiled. Reviewed at https://reviews.imfreedom.org/r/1869/
* Fix Finch->Gnt gir dependencyElliott Sales de Andrade2022-09-281-3/+3
| | | | | | | | | This is copied from how Pidgin uses Talkatu. Testing Done: Compiled and saw fewer undefined types in gir step (but an added 'missing' pkgconfig file since I'm using a subproject.) Reviewed at https://reviews.imfreedom.org/r/1854/
* Rename PurpleContact to PurpleMetaContact.Gary Kramlich2022-09-223-68/+68
| | | | | | | | | | | This is to help facilitate the new blist api that's still being designed but we wanted to use this name for an object. A later review request will rename contact.[ch] which was avoided for now as it would make the diff harder to read. Testing Done: Ran and verified that contacts showed up. Reviewed at https://reviews.imfreedom.org/r/1770/
* Use the id property of PurpleUiInfo as the directory name to use with ↵Gary Kramlich2022-09-211-1/+1
| | | | | | | | | | | XDG_CONFIG_HOME Testing Done: Ran both finch and pidgin. Verified that they created `build/config/finch3` and `build/config/pidgin3` when run from a devenv environment. Also verified that `gtk-gaim.ini` in `build/config/pidgin3` was no named `build/config/pidgin3/pidgin3.ini`. Reviewed at https://reviews.imfreedom.org/r/1824/
* De-privatize FinchMediaElliott Sales de Andrade2022-09-201-56/+39
| | | | | | | | | Also do a bit of minor cleanup to object lifecycle handling. Testing Done: Compile only Reviewed at https://reviews.imfreedom.org/r/1819/
* 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/
* Move all of the UiOps to use struct initializersGary Kramlich2022-09-205-63/+33
| | | | | | | Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/1814/
* Use struct intializers for PurpleConnectionUiOpsGary Kramlich2022-09-201-11/+2
| | | | | | | Testing Done: Compiled Reviewed at https://reviews.imfreedom.org/r/1810/