- 19 May, 2018 2 commits
-
-
Wouter authored
This replaces the raw JSON data and shows it nicely structured tree view, making it easier to navigate. Model taken from QJsonViewer (https://git.simply-life.net/simply-life.net/qjsonviewer/) with some small improvements/changes.
-
Wouter authored
- Split off some functions - Render upside down, then flip vertically in the end, to get all items positioned correctly - Rename some variables/members
-
- 18 May, 2018 5 commits
-
-
Wouter authored
- addCacheableShaderFromSourceCode() wasn't added until Qt 5.9 - Flip the rendering vertically directly, so mirrorVertically isn't required (Qt 5.6+)
-
Wouter authored
-
Wouter authored
- The DGRP decoder now has friendlier enum/flag-based types for some fields - The decoder exposes some limited internal structure (frames) through its API - The DGRP decoder no longer composes the files to images, and therefore doesn't derive from the MultiImageChunkDecoder anymore. Instead rendering is expected to be done by the viewer. - The view now uses OpenGL to render the draw group - The renderer could still do with a little cleanup (better naming and such), but other than that it does seem to work well
-
Wouter authored
This started throwing errors...
-
Wouter authored
- Pixels without alpha channel data should be fully opaque or transparent (depending on palette color) - Pixels with alpha data: the alpha channel is scaled from 0-31, so multiplication by 8 is required to get the proper 8 bit value - Write directly into data of QImages, using Format_Grayscale8 for Z and Format_Alpha8 (alpha) formats instead of palettes. This is semantically more correct.
-
- 10 May, 2018 9 commits
-
-
Wouter authored
Also use configuration to determine version of plugin to deploy (*.dll or *d.dll for debug) Deploying the correct version should make sure the plugins are always loadable, regardless of whether it's a debug or release build.
-
Wouter authored
-
Wouter authored
-
Wouter authored
These were not installed, causing the split build to fail
-
Wouter authored
Qt doesn't need QMetaEnum include to access it in recent versions (QIcon pulls it in, so it seems). However, Qt 5.5 still needs it more explicitly. Also make sure dbpfm depends on the correct minimum Qt version, also during the split build.
-
Wouter authored
- Use the correct (renamed) QRC file - Correctly map the URL to the QRC filename or local filename Also keep the default icon's filename consistent, for less confusion
-
Wouter authored
Plain Windows BMP (source: http://wiki.niotso.org/IFF#FBMP)
-
Wouter authored
-
Wouter authored
- New DBPFM plugin type (TypeInfoFactory) to provide the necessary information (includes necessary CMake stuff) - The TypeInfoImageProvider uses these plugins to generate pixmaps from provided icons - New proxy model to add decorations and manipulate Display of types in DBPFM - Initial plugin for Sims 1 type info Adds icons from KDE's Breeze set as fallbacks, but attempts to use system defaults first (only on Linux). All in all this adds a touch of user-friendliness, as it's become much easier to identify types (now by names, rather than hex codes) Minor required changes: - Q_ENUM() for the container enums (requires Qt 5.5+) - Bump copyright year in Readme
-
- 07 May, 2018 5 commits
-
-
Wouter authored
The URL was changed at some point
-
Wouter authored
This solves the problem of having 2 "Images" tabs.
-
Wouter authored
Add a unit test for this too. Basically we weren't returning the proper parent modelIndexes, but some meaningless stuff (the child row pointing to the parent item, never an invalid QModelIndex() for root items, etc)
-
Wouter authored
This hopefully fixes build issues on the CI build because the different types of QString and char[]
-
Wouter authored
-
- 06 May, 2018 2 commits
-
-
Wouter authored
-
Wouter authored
This was introduced in Qt since the last time I did anything on this area. The TableToTreeProxyModel groups items in the base table model by keys etc. It's not yet fully functional: adding/removing chunks or changing their data will not properly propagate through to the proxy yet. But: this is a start and make the tree a lot more usable. Additional changes: - the old table still lives as DbpfTable - the main view starts up with a DbpfTable as tab - the base container model now always returns formatted text when accessing data based on role, similar to the DisplayRole. This is more consistent. Raw data may be added again in the future if it's necessary.
-
- 05 May, 2018 3 commits
-
-
Wouter authored
The chunk's offsets need to be moved to after the chunk prefix. This solves crashes when using Save As for an IFF file
-
Wouter authored
- Make sure overrideLineHeight is set to < 0, so automatic height is used properly - Make sure lineHeight change is emitted when changing mode - Make sure font changes are processed initially (when cellSize is still empty)
-
Wouter authored
Main window geometry and file dialog paths
-
- 04 May, 2018 4 commits
- 03 May, 2018 6 commits
-
-
Wouter authored
Better integration into the host platform, i.e. a more portable solution. The only exception so far is Ctrl+Up/Down to scroll the view without moving the cursor; there are no standard sequences for this. Also, begining/end of "block" (current view) movement does not exist on anything but Mac, so also uses custom keys too. Also a minor addition: Cancel (Escape key) now also deselects
-
Wouter authored
(Key) events are accepted by default - so any key press would basically reset the selection
-
Wouter authored
-
Wouter authored
-
Wouter authored
-
Wouter authored
-
- 02 May, 2018 4 commits
-
-
Wouter authored
I.e. much like clicking the very left of the hex view. The first click doesn't yet select the line, dragging does selection. A simple click simply moves the cursor to the start of the given line. This is consistent with at least Kate behavior in KDE; possibly the same for other editors too.
-
Wouter authored
But only if that or ASCII view doesn't already have the active focus
-
Wouter authored
The Hex->Ascii bindings are now completely done through property bindings again (they aren't broken through JS assignments anywhere). For Ascii->Hex, also add Binding for the selection, so clicking the gutter doesn't break the property binding
-
Wouter authored
I.e. when moving the cursor from after to before the start selection (skipping the start character itself), the previous behavior was inconsistent (it would or wouldn't select the starting byte sometimes). Now the data is in character positions and normalization is done for the public API. This way the selection can also be properly determined to extract the selected data (still todo).
-