aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-06Add const.John Ankarström
2022-08-06Update cached system metrics on DPI change.John Ankarström
2022-08-06Ensure correct mouse position for double click.John Ankarström
2022-08-06Use Swprintf instead of swprintf_s.John Ankarström
2022-08-06Minor changes.John Ankarström
2022-08-06Update Hungarian notation for buffer sizes.John Ankarström
For string lengths EXCLUDING NUL, I use len, whereas cb and cch are used for string lengths INCLUDING NUL. cb = byte count = sizeof(a) = narrow string length cch = character count = sizeof(a)/sizeof(*a) = string length cb and cch are equivalent for narrow strings. I prefer cch.
2022-08-06Rearrange source.John Ankarström
2022-08-06Makefile: Add wcharptr.obj, win.objJohn Ankarström
2022-08-06Use typedefs when interacting with Win32 API.John Ankarström
It's not like they're ever going to change the definition of WORD (knock on wood) -- but I guess it's proper to use them as if their definitions might change.
2022-08-05Rename Dragger functions.John Ankarström
2022-08-04Use C++ casts, nullptr.John Ankarström
2022-08-04Clean up.John Ankarström
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