aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAge
* Implement about dialogConfuSomu2024-01-05
|
* Rerun search if new archive is openedConfuSomu2024-01-05
|
* Remove useless codeConfuSomu2024-01-04
|
* Move activity list to a tab widgetConfuSomu2024-01-03
| | | | | | | | This allows us to have more tabs in the future with additional information, such as information about the Actor or even other activity views. This commit was quite a lot of work and refactoring!
* Fix Qt 6 compilationConfuSomu2023-11-27
| | | | | | Compilation would fail due to QtConcurrent changes in Qt 6. See the following on Qt's website: https://doc.qt.io/qt-6/concurrent-changes-qt6.html#qtconcurrent-run
* Remove variants from QtConcurrent in main windowConfuSomu2023-11-27
| | | | | | The std::variants weren't used and were making the code more complex to no advantage. All code that would have benefited from variants has already been moved to QThreads elsewhere
* Fix extraneous margin around status info widgetConfuSomu2023-11-18
|
* Remove duplicate status info widgetConfuSomu2023-11-18
|
* Move status info widget to its own widgetConfuSomu2023-11-12
| | | | | | | It is responsable of processing list items which are given to it, via signals, and then displaying them on the interface. Making this widget separate and modular will allow creating more advanced status views that aren't only HTML-based and that are more intuitive to use.
* Define archive item ref type for Archive classesConfuSomu2023-09-12
| | | | | | This type allows extension and the implementation of a more complete archive item reference system in the future as it allows going beyond ints.
* Implement archive method for getting APActivityConfuSomu2023-09-12
| | | | | | This replaces the existing method that returns HTML with a method that gives us an APActivity object, which is more precise and allows more extension in the future.
* Implement basic Mastodon API supportConfuSomu2023-08-24
| | | | | | | Implement support for OAuth 2.0 code entry, which is then used to retrieve a token that is stored in the application's settings. Authentification allowed the implementation of a basic "get post from URL" feature mostly made for testing.
* Display status type icons in status listConfuSomu2023-08-16
| | | | | | | | These icons allow users to identify the type of status with ease. I had to make — hand draw — custom icons as I didn't find any suitable icons in the Free Desktop Icon Theme Specification. Note that these icons are currently suitable only for a light theme. Support for a dark theme shouldn't be too hard to add.
* Make quick_read_setting() a templated methodConfuSomu2023-08-16
| | | | | This allows terser usage and removes the need for manually invoking QVariant's .value<T>() method.
* Implement localtime/UTC time display settingConfuSomu2023-08-16
|
* Remove the commented-out AppSettings structConfuSomu2023-08-15
| | | | It was only used for reference and doesn't serve anything now.
* Create convinence method for reading settingsConfuSomu2023-08-15
| | | | | | | | | | This method avoids having to create a SettingsInterface object that will be only used to read a small number of settings before being destroyed. It creates a static object that persists between invocations. Through the use of QSettings for reading a value, we are assured of always reading the most up to date version of settings as this class guaranties that changes done to one QSettings object will be immediately visible in other QSettings objects.
* Implement "fill address" in instance settingsConfuSomu2023-08-15
| | | | | Implement the "fill address" action in the instance login settings frame that is in the network tab.
* Implement settings dialogConfuSomu2023-08-15
|
* Free last_search when destroying FindDialogConfuSomu2023-08-08
|
* Remove unnecessary include in finddialog.cppConfuSomu2023-08-08
|
* Create an Archive base classConfuSomu2023-08-03
| | | | | | | This class is inherited by MastodonArchive to provide Mastodon (and compatible) archive reading support. A base Archive class allows implementing reading support of other archive formats that are from other services.
* Fix ellipsis being outside of viewport in listConfuSomu2023-08-02
| | | | | | | | | | Some list widget items have lines which where horizontally extending outside of the viewport, creating a horizontal scrollbar and placing ellipsis outside of the visible area. This commit fixes this problem by making sure that ellipsis are placed at the end of the visible lines, made possible by forbidding horizontal scroll bars which forbids horizontal scrolling (hopefully this is not a bug as I don't see any similar property that can be adjusted).
* Initialize find dialog with text from main windowConfuSomu2023-08-02
| | | | | | Properly emit the text that was entered in the search bar before the find dialog was opened. This makes sure that it is queried as expected by the user.
* Make a QAction from the Search buttonConfuSomu2023-08-02
| | | | | This allows us to have an action in the menu bar and a keyboard shortcut.
* Implement find dialogConfuSomu2023-08-02
| | | | | This dialog consolidates options for searching through textual elements in lists which simplifies the logic present in the MainWindow class.
* Move APAttachmentFields to fields.hConfuSomu2023-07-18
| | | | | Finish consolidating every AP…Field in one file to avoid circular include dependencies which are very hard/impossible to work with.
* Implement Question object type supportConfuSomu2023-07-18
| | | | | | | This commit adds support for dealing with ActivityPub Questions, which are polls. They are like Notes (posts) but contain a few more keys that record information about the poll options, number of votes and poll closure date.
* Account for "@context" in outbox.json being arrayConfuSomu2023-07-15
| | | | | | | "@context" in the outbox.json file is not always a string and sometimes might be an array with multiple elements. This patch implements a json_check_item method which checks for the existence of "https://www.w3.org/ns/activitystreams" in both cases.
* Rename variables in Archive::get_html_status_infoConfuSomu2023-07-10
| | | | This fixes misleading variable names.
* Return error in Archive::init() in additional caseConfuSomu2023-07-10
|
* Implement basic multithreading supportConfuSomu2023-07-10
| | | | | | A few CPU heavy operations, which are opening an archive and displaying a selected Activity, have been moved to another thread to avoid having long-running operations on the main thread.
* Move implementation detail functions into ArchiveConfuSomu2023-07-06
| | | | | | | These functions were in archive_parser.cpp's compilation unit which has only functions related to the Archive class but it is better to make them private members of Archive as they are implementation details of this class to make the link more clear.
* Implement a small library of ActivityPub objectsConfuSomu2023-07-05
| | | | | | | | | | | | These objects allow, and will allow us, to move HTML rendering out of the archive parser and into separate classes. Each of the derived classes specialise HTML rendering for their specific requirements. Furthermore, these ActivityPub objects will be able to be expanded upon and have support to be written to disk, in a database, for instance. Separating ActivityPub object retrieving from rendering allows us to implement other retrieving sources and methods, such as downloading posts from a configured remote instance.
* Create QActions for Random & Copy buttonsConfuSomu2023-06-26
|
* Fix crash when copying status when non is selectedConfuSomu2023-06-18
| | | | | This was an overlooked crash that only happens when done on purpose, as you generally don't press the copy button when nothing is selected.
* Display ellipsis when list item is too longConfuSomu2023-06-16
| | | | | This removes the horizontal scrollbar and makes all items have a height of one line.
* Consolidate getting html templates into 1 functionConfuSomu2023-06-16
| | | | | This avoids redundant code and allows easy extension to more templates. I use a QHash instead of QMap as the former is a little faster.
* Clarify with comment Archive::find_attachment_dirConfuSomu2023-06-16
|
* Remove unneeded & duplicate includesConfuSomu2023-06-14
|
* Return early for buttons when no archive openConfuSomu2023-06-14
| | | | This avoids crashes.
* Search for attachment directory rootConfuSomu2023-06-14
| | | | | | | Implement a method that finds the attachment directory root as it is possible that the attachment url referenced in the outbox.json file isn't relative to its location but present instead inside a subdirectory that is next to the outbox.json file.
* Exit with exit codes depending on command lineConfuSomu2023-06-10
|
* Remove outbox_filename member from MainWindowConfuSomu2023-06-10
| | | | | | We don't need to store the outbox filename in MainWindow as all processing of the current archive is done by the data_archive member and requires us to only initially pass the archive filename.
* Implement command line optionsConfuSomu2023-06-10
| | | | | | | | | Implementing a command line argument specifying the data export to open allows iterating faster as the file to open can be specified without navigating through a GUI. In the future, more command line options could be specified to specify the view filters for instance.
* Rename ListItem class to StatusListItemConfuSomu2023-04-06
| | | | The new class name is more descriptive about how it is used.
* Move call to get status HTML info into ListItemConfuSomu2023-04-06
| | | | | This makes the code less of a mess and will allow moving more of the code that renders HTML status info into the ListItem class.
* Display Activity publish date following localeConfuSomu2023-04-04
| | | | | This is an improved user experience over displaying the raw ISO 8601 date stored in the ActivityStream JSON-LD.
* Display content language in status infoConfuSomu2023-03-30
|
* Carry over state of include reblogs view toggleConfuSomu2023-03-23
| | | | | | | | Correctly carry over the internal state of the "include reblogs" view toggle when enabling the "All toots" view toggle in the interface. There was a mismatch between the checkbox state of "include reblogs" in the UI and the internal state of view_filters when enabling the "All toots" view option after switching to another filter.