When using the windows dark theme it's annoying to have white titlebars on some apps. I noticed that this app which and I would like to use on Windows but the lack of dark theme on the titlebar makes it not fit in well. I did some research on this and found that the best way to set it seems to be using the darkmode toggle on the platform. That can be set as a parameter or environment variable. This seems to be the easiest way to set it. I tested this locally on a Win11 VM and it looks to work the same as setting -platform windows:darkmode=1 or setting QT_QPA_PLATFORM=windows:darkmode=1. Note this does need to be set before the QApplication is originally created and so I think it has to be done per app to work. If I missed some other way to set this that would be better I would be interested to know more.
QT Docs: https://doc.qt.io/qt-5/qguiapplication.html#platform-specific-arguments
Previously this was Windows-only, the reasons are described in
https://bugs.kde.org/show_bug.cgi?id=416078
However, one and a half years later I don't see any negative effects
when setting this option, (In fact, I don't see any effects at all),
both for X11 and Wayland. Let's therefore enable PassThrough for
Unix as well, in order to reduce the amount of platform-specific code.
find . \( -name "*.cpp" -or -name "*.h" -or -name "*.c" -or -name "*.cc" \) -exec clang-format -i {} \;
If you reached this file doing a git blame, please see README.clang-format (added 2 commits in the future of this one)
Summary:
Qt::AA_CompressTabletEvents was added in Qt 5.10. Use preprocessor check
to avoid build failures on 5.9 LTS or 5.8 (the minimum version).
Test Plan: Build against Qt 5.9 LTS and 5.12 LTS. Both built successfully.
Subscribers: okular-devel
Tags: #okular
Differential Revision: https://phabricator.kde.org/D20678
Summary:
When running okular with the parameter --print to directly open the print mode, it doesn't exit after acknowledging the print dialog. Hence adding --print_and_exit option exits Okular after acknowledging the print dialog and thus is useful for the command line batch processing or a Dolphin service as the issue suggests.
FEATURE: 318998
Test Plan:
1. open a file in Okular using the parameter --print. It will open Okular in print mode with the print dialog
2. Either print the file or cancel the print dialog
3. You will find that Okular stays open
4. Now using this patch, see for available options with the --help parameter. You will find --print_and_exit option
5. Now open a file in Okular using the parameter --print_and_exit. It will open Okular in print mode with the print dialog
6. Either print the file or cancel the print dialog
7. You will find that Okular closes after acknowledging the dialog
Reviewers: aacid, #okular, ngraham
Subscribers: ltoscano, ngraham, aacid, #okular
Tags: #okular
Differential Revision: https://phabricator.kde.org/D10249
Summary:
This patch enables HiDPI throughout the application
Every pixmap is multiplied by the devicePixelRatioF
QPainter code is ajusted to take the DPR value into account
All pixmaps get cached with the highest DPR of all screens. When moving the application to another screen, the cache doesn't have to be invalidated.
BUGS: 362856 383589
REVIEW: D6268
Try fixing mainshelltest: one more passes now
QUrl is not automatically exposed to DBus so the DBus call would fail.
Changed the parameter to QString instead so that DBus invocation works.
mainshelltest: set QStandardPaths to test mode
Parse command line flags with a single dash as a long option
Unlike KCmdLineArgs QCommandLineParser treats options starting with a
single minus as multiple short options by default.
Previously okular -unique would fail with the following error:
Unknown options: u, n, i, q, u, e.
Also changed mainshelltest to use two dashes in case this behaviour
should change in the future.
mainshelltest failures have been reduced from 15 to 4 by this commit.
Fix docdata saving and added a warning message if it fails
If the ~/.local/okular/docdata directory didn't exist previously
creating the docdata file would fail as there are missing paths.
It seems that KStandardDirs used to create the okular/docdata directory
automatically, with QStandardPaths we have to create it manually.
mainshelltest is down to one failed test now
Fix final test case in mainshelltest
as we call QProcess::terminate the exit code will not be 0
REVIEW: 126192
Use a QString to serialize the command line options other than urls to open so it can be easily passed around to every place that opens a new shell or tab or overrides the content in a unique instance.
BUGS: 334100
FIXED-IN: 4.14.0
REVIEW: 119595
when we are starting a new shell and when we are passing the argument
through dbus
BUGS: 205076
svn path=/trunk/KDE/kdegraphics/okular/; revision=1067205
- on command line, properly read the URL ref ('#foobar' at the end), avoiding a KCmdLineArgs behaviour which encodes it as part of the file name
- pass what was specified as ref or the page (as specified with -p/--page) to the kpart
- make the okularpart take out the ref from the URL it opens and then:
a) if it is a number, assume it is the destination page number
b) otherwise, use that string as named destination
CCMAIL: okular-devel@kde.org
svn path=/trunk/KDE/kdegraphics/okular/; revision=969227