* Linux: Fixed a crash on GNOME and XFCE when using Ubuntu 16.04.
IFUNC was not being disabled on gcc5 in the GTK+ directory.
* XFCE: The Specialized Thumbnailer file has a MimeTypes key, not MimeType.
Conflicts:
CMakeLists.txt
NEWS.md
Note that Qt's plugin system only allows exporting a single plugin
interface per .so file. ThumbCreator doesn't use the Qt plugin system,
but KPropertiesDialogPlugin does. Hence, for KFileMetaData, we're using
a forwarder library that exports the plugin, then creates the actual
plugin by calling into rom-properties-kde5.
Currently, only ADX files ("audio/x-adx") are supported, and a fixed
value (1234 seconds; 20:34) is returned. The next step is adding metadata
functions to the RomData subclasses.
NOTE: On Dolphin 5.46.0, file metadata doesn't show up unless system-wide
indexing is disabled. I'm guessing that if indexing is enabled, it only
reads from the cache, and these values haven't been cached yet because
the plugin is new; whereas if it's disabled, it fetches the properties
immediately.
FIXME: Ubuntu 16.04 doesn't have the KDE4 version of KFileMetaData.
I'll need to install an older version in order to ensure the plugin
works there. KFileMetaData is disabled on KDE4 for now.
NOTE: The RpExtractorPlugin and RpExtractorPluginForwarder files are
located in kde5/. This is because Qt's moc doesn't supprt preprocessor
directives like `#ifdef`, so we'll need separate versions for each.
Preparations for Thunar 1.8.0, which was released today and uses GTK+ 3.x.
NOTE: The .thumbnailer file is common for both GTK+ 2.x and 3.x,
so it's installed as part of thumbnailer-dbus.
[debian] Added a new package, rom-properties-thumbnailer-dbus.
rom-properties-xfce and rom-properties-all now have dependencies on
this package.
cmake/options.cmake: Unset QT_SELECT initially.
Set QT_SELECT in each individual directory based on the required version.
For libunixcommon, set it, call the required program, then unset it.
This should fix all of the issues:
- Qt4: If set to 5, qmake would fail to detect Qt/X11.
- Qt5: If set to 4, the plugin path was wrong.
This is needed in order to build the KDE4 plugin on Xubuntu 18.04 when
using debuild. Exporting QT_SELECT before running debuild didn't seem
to work for me, though it does work on travis-ci (Ubuntu 14.04)...
The custom classes were borrowed from GCN MemCard Recover, which doesn't
use KDE libraries at all. Since rom-properties uses KDE, we should make
use of this for, among other things, better animation.
We're now using KMessageWidget::Information instead of Warning in cases
where no keys are loaded, since this means that while the keys file is
valid, it doesn't have any useful keys. (The keys might already be present
in keys.conf, or they might not be used by rom-properties.)
Added the required development packages to debian/control and
COMPILING.md.
The minimum KDE4 version is now 4.7.
source-is-missing: Several JavaScript files included with libjpeg-turbo's
HTML documentation are minimized. These files have been added to
debian/source/lintian-overrides.
debhelper-but-no-misc-depends rom-properties-all: Added ${misc:Depends}.
virtual-package-depends-without-real-package-depends: Added non-virtual
dependencies as alternatives to libcurl-dev.
syntax-error-in-dep5-copyright: Removed an extra space at the beginning
of the GPL-3 license.
TODO: Move gettext to Build-Depends-Indep for the translations
metapackage, since that will be an "All" architectures package.
[rp-stub] CMakeLists.txt: Install rp-stub.
rom-properties-stub.install: LIkewise.
[debian] rules: Remove rp-config and rp-thumbnail, and replace them
with symlinks. This should really be done in CMake, but that doesn't
seem to be working.
- Install rp-thumbnail and rp-config as copies of rp-stub, and don't
install rp-stub. The symlinking code I used didn't work properly
in Debian's fakeroot.
Debian packaging:
- rom-properties-gnome: Depend on rom-properties-stub.
- rom-properties-stub.install: Disable rp-stub.
changelog will be updated before release.
README.md: Added XFCE.
- Removed the "Icon" column, since it will probably only ever apply
to Windows.
doc/COMPILING.md: Added XFCE dependencies.
Partially based on dolphin-emu:
https://packages.debian.org/sid/games/dolphin-emu
CMake's debian package generator supports generating multiple DEB
packages by component, but doesn't easily allow installing common
files in each (e.g. document files). It turns out that writing
standard Debian package rules got a lot easier now than the last
time I tried (with gens), so we'll use standard Debian rules.
NOTE: Multi-arch is enabled on the KDE 5 plugin, but not the KDE 4
plugin, since the KDE 4 plugin is installed in /usr/lib/. This
shouldn't be an issue in most cases, since most 64-bit Linux systems
don't have many 32-bit KDE applications installed.
TODO: "rom-properties" might not be a valid name due to the hyphen.
I might have to either remove the '-', change it to an underscore,
or something else...