aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-04Add comments.John Ankarström
2022-08-03Minor changes.John Ankarström
2022-08-03Use Pascal case for all functions.John Ankarström
2022-08-03Split common.h to util.h, wcharptr.h and win.h.John Ankarström
2022-08-03Minor improvements.John Ankarström
2022-08-03Clean up Dragger.John Ankarström
2022-08-03Remove m_bHeader from ListView.John Ankarström
If it is relevant to add height for a header for a given list view, it is better to override Height and do it there.
2022-08-03Load uxtheme dynamically.John Ankarström
In case it is not supported. If I am not mistaken, SWI-Prolog supports Windows 2000, so there is no reason why Episode Browser shouldn't.
2022-08-02Improve wstring_owner, rename to wchar_ptr.John Ankarström
The user-defined conversion function makes the interface a lot simpler AND safer.
2022-08-02Replace maybe_make.John Ankarström
It seems unnecessary to throw exceptions when simply checking whether a library exists.
2022-08-02Remember data list view height across sessions.John Ankarström
2022-08-02Double-click dragger to reset.John Ankarström
One cannot use WM_LBUTTONDBLCLK here, because it relies on WM_LBUTTONDOWN being passed to the default message handler.
2022-08-02Implement draggable split.John Ankarström
Next step is to allow a double click to reset the split to be automatically resized.
2022-07-31Make WsoFromSz and WsoCopy static member functions of wstring_owner.John Ankarström
2022-07-31Limit use of Hungarian notation.John Ankarström
I don't hate Hungarian notation. It has some very nice qualities. But it also adds a lot of typing. That said, not using it feels a bit... unsafe. I might go back on this decision. We'll see.
2022-07-31Improve initial scroll position.John Ankarström
(When the focused episode is near the end of the list.)
2022-07-31Simplify exception handling.John Ankarström
2022-07-31Move EBMessageBox's CBTProc into lambda.John Ankarström
2022-07-31Use _snwprintf_s instead of swprintf_s for wszf.John Ankarström
2022-07-30Simplify EpisodeListView::UpdateItem, remove m_lviFocus.John Ankarström
2022-07-30Add debugging functions.John Ankarström
2022-07-30Show dynamic status bar tips.John Ankarström
The difference in speed seems to be extremely minimal: a few microseconds.
2022-07-30Add wstring_owner, replacing std::wstring.John Ankarström
std::basic_string is nice, but it is not very ergonomic if everything you really need is to automatically free C strings at end of scope. I suppose I could have used std::unique_ptr for this, but I suspect the ergonomics would be worse.
2022-07-30Makefile: Add commented console option.John Ankarström
2022-07-30Add non-throwing variants of Query methods.John Ankarström
Pl has also been refactored, so that the unnecessary throw and catch have been removed.
2022-07-30Formatting.John Ankarström
This style is more compact and quicker to read once you know what the first two member in LVITEM are (mask and iItem).
2022-07-29Add ListView::FindNextItem.John Ankarström
This makes it much more ergonomic and less error-prone to look up list view items.
2022-07-29Use swprintf_s instead of string streams.John Ankarström
I find it much simpler. It is very safe, as wszf only accepts fixed-size arrays. There is, of course, the chance that swprintf_s fails and writes nothing into the array. This can be handled by the caller, if desired.
2022-07-28Refactor thread/timer.John Ankarström
2022-07-27Fix typo.John Ankarström
2022-07-27Fix status bar help message.John Ankarström
The string arrays are static.
2022-07-27Fix remaining memory bugs.John Ankarström
See f7534e2.
2022-07-27Change WM_MENUSELECT handling.John Ankarström
This has two benefits: 1. The for loop is avoided. 2. It is shorter. The drawback is that it is a bit opaque. The order of the array elements still matter, but now it is coupled to what is declared in resource.h, a completely separate file. This makes it harder to change resource.h.
2022-07-27Fix memory bug.John Ankarström
swprintf_s excepts the NUMBER of characters, not the SIZE of the buffer. The argument is named sizeOfBuffer in the documentation, but don't let that fool you (like it did me). Interestingly enough, this bug causes a crash ONLY when compiling WITHOUT optimizations (at least on my system). The crash was introduced in 3a133c4, where I removed the `static' attribute from tszRating. I guess the optimizer moves the memory around such that the memory after the string happens to be unimportant.
2022-07-27Improve resource.h.John Ankarström
2022-07-27Fix About dialog text.John Ankarström
Because GNU windres doesn't support UTF-16, resources.rc must be saved as Latin-1.
2022-07-26Rewrite WM_MENUSELECT handling.John Ankarström
2022-07-26Use 's' instead of 'str' for as prefix for managed strings.John Ankarström
2022-07-26Remove ANSI compatibility.John Ankarström
Even though it is a fun challange in many ways, I think that, realistically, it is probably not worth the complexity. The Prolog backend isn't ANSI-compatible either.
2022-07-26Improve Win32Error, library handling code.John Ankarström
2022-07-25Move menu command processing to separate functions.John Ankarström
2022-07-25Reorganize resource IDs, message handling.John Ankarström
The resource IDs have been changed such that * the first (least significant) half byte represents the "group", * the second half byte represents the "subgroup", and * the third and fourth half bytes uniquely identify the resource within the group. Combined with the use of a few helper macros, this makes the message handling code a lot simpler.
2022-07-25Show menu item info in status bar.John Ankarström
2022-07-24Improve makedeps.John Ankarström
This version correctly finds dependencies inside dependencies. One may wonder why I don't just use gcc -MM c/*.cpp, which produces basically the same result. The simple reason is that gcc does it very slowly. It would be unfeasible to run before every compilation.
2022-07-24Update layout on theme change.John Ankarström
2022-07-24Fix PL_get_tchars.John Ankarström
See c6cd2f1.
2022-07-24Use Query object in DataListView::ShowEpisode.John Ankarström
2022-07-24Reorganize EpisodeListView::Update.John Ankarström
2022-07-24Add const.John Ankarström
2022-07-24Statically embed standard library.John Ankarström