summaryrefslogtreecommitdiff
path: root/Applications/ChanViewer
AgeCommit message (Collapse)Author
2019-12-25Build: support library and generator dependenciesjoshua stein
Instead of directly manipulating LDFLAGS, set LIB_DEPS in each subdirectory Makefile listing the libraries needed for building/linking such as "LIB_DEPS = Core GUI Draw IPC Core". This adds each library as an -L and -l argument in LDFLAGS, but also adds the library.a file as a link dependency on the current $(PROGRAM). This causes the given library to be (re)built before linking the current $(PROGRAM), but will also re-link any binaries depending on that library when it is modified, when running make from the root directory. Also turn generator tools like IPCCompiler into dependencies on the files they generate, so they are built on-demand when a particular directory needs them. This all allows the root Makefile to just list directories and not care about the order, as all of the dependency tracking will figure it out.
2019-12-20Build: clean up build system, use one shared Makefilejoshua stein
Allow everything to be built from the top level directory with just 'make', cleaned with 'make clean', and installed with 'make install'. Also support these in any particular subdirectory. Specifying 'make VERBOSE=1' will print each ld/g++/etc. command as it runs. Kernel and early host tools (IPCCompiler, etc.) are built as object.host.o so that they don't conflict with other things built with the cross-compiler.
2019-09-22LibCore: Remove ObjectPtr in favor of RefPtrAndreas Kling
Now that CObject is fully ref-counted, just use RefPtr everywhere! :^)
2019-09-21LibGUI: Convert remaining random little things to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GWindow to ObjectPtrAndreas Kling
2019-09-21LibCore: Make it possible to cancel pending CNetworkJobsAndreas Kling
Subclasses of CNetworkJob handle this by overriding shutdown(). This patch implements it for CHttpJob by simply tearing down the underlying socket. We also automatically call shutdown() after the job finishes, regardless of success or failure. :^)
2019-09-21LibGUI: Convert GWidget to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GStatusBar to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GTableView to ObjectPtrAndreas Kling
2019-09-21LibCore: Convert CHttpJob to ObjectPtrAndreas Kling
2019-08-10LibCore: Use URL in CHttpRequestAndreas Kling
Now there's just CHttpRequest::set_url(URL), no need to specify the host, port and path manually anymore. Updated ChanViewer and Downloader for the API change.
2019-08-07ChanViewer: Show "" instead of "undefined" for missing thread subjectsAndreas Kling
This broke due to a change in JsonValue API. JsonValue::to_string() now returns the value serialized to a string, which may become "undefined". You kinda want JsonValue::as_string(), but that is only callable when the JsonValue *is* a string. Thankfully there is now as_string_or(alt).
2019-08-05ChanViewer: Add a status bar to show loading statusAndreas Kling
Also update the window title with the current board after loading. :^)
2019-08-05ChanViewer: Fetch the list of boards and allow switching the boardAndreas Kling
We put the list of boards in a combo box and allow the user to switch boards that way. :^)
2019-08-05ChanViewer: Show thread subjects in the catalog viewAndreas Kling
2019-08-04ChanViewer: If catalog download fails, don't try to parse response JSONAndreas Kling
2019-08-04ChanViewer: Give this application a simple window iconAndreas Kling
2019-08-04ChanViewer: Show the time of each post in the thread catalogAndreas Kling
2019-08-04ChanViewer: Start working on a simple read-only 4Chan viewerAndreas Kling
Since they are nice enough to provide a JSON API over HTTP, this makes for a perfect way to exercise our networking code a bit. :^)