Commit Graph

178 Commits

Author SHA1 Message Date
a1bb7735d2 Reader: make 12 keyboard shortcuts work with non-Latin layouts
Viewer::keyPressEvent()'s custom matching of these shortcuts is the same
as MainWindowViewer::keyPressEvent()'s before the recent commit
"Reader: make 3 keyboard shortcuts work with non-Latin layouts". That
commit's message details the issues with the custom code.

render->hasLoadedComic() condition in Viewer::keyPressEvent() becomes
true when Comic::_loaded is set to true. This always happens right after
Comic emits its numPages() signal. That is why the 12 fixed actions are
now enabled when Viewer emits its comicLoaded() signal, which is
connected to Render::numPages, which in turn is connected to
Comic::numPages signal.

The 12 fixed actions are now disabled when most other actions are
disabled: before a comic is opened and on comic opening error.
2022-01-15 18:02:30 +02:00
0fad89dc03 Simplify code that disables previous/next comic actions 2022-01-15 18:02:30 +02:00
f030a7fb0c Remove deprecated and always disabled alwaysOnTopAction 2022-01-15 18:02:30 +02:00
b3c99823eb MainWindowViewer::createActions(): deduplicate setDisabled 2022-01-15 18:02:30 +02:00
3bb475b47a MainWindowViewer: deduplicate enabling/disabling actions 2022-01-15 18:02:30 +02:00
feaee915bc Extract Viewer::(vertical|horizontal)ScrollStep() 2022-01-15 18:02:30 +02:00
133b547e7a Remove unused *Step* data members from Viewer 2022-01-15 18:02:30 +02:00
88e0f5513a Reader: make 3 keyboard shortcuts work with non-Latin layouts
MainWindowViewer::keyPressEvent()'s custom matching of these shortcuts
does not leverage all the features of standard Qt shortcut matching. As
a result, the corresponding actions cannot be triggered when their
assigned shortcuts consist of a single Latin letter without modifiers
and e.g. Ukrainian keyboard layout is active.

Furthermore, some key presses (e.g. Scroll Lock in my customized
keyboard layout) set QKeyEvent::key() to 0, which the custom matching
considers equal to an unassigned shortcut. So an action without shortcut
is triggered by such a key press.

Adding these 3 actions to MainWindowViewer and connecting the
corresponding slots to their triggered() signals allows to remove the
custom matching code and thus eliminates both of its issues.
2022-01-15 18:02:30 +02:00
77c96de0ea Remove unused resources 2022-01-15 15:51:59 +01:00
e452178adb Log the device pixel ratio used while rendering 2022-01-15 11:54:40 +01:00
565bc3a5d0 Replace all uses of devicePixelRatio with devicePixelRatioF 2022-01-14 19:22:50 +01:00
380aea2a66 Enable Qt::HighDpiScaleFactorRoundingPolicy::PassThrough 2022-01-14 19:21:43 +01:00
e532fa4439 Use devicePixelRatioF instead of devicePixelRatio when rendering pages 2022-01-13 23:12:05 +01:00
fce1f163aa Check that double click is done using the left button before toggling full-screen mode 2022-01-13 23:06:24 +01:00
d20958c14f Make forward and backward mouse buttons turn pages 2022-01-13 23:05:49 +01:00
dcb7e6e0c6 Add settings to control the page turn behavior on scroll 2022-01-13 23:04:22 +01:00
b0b0849cbc Extract DEFINES += NOMINMAX into common config.pri 2021-12-29 09:36:44 +01:00
6aeed9ae90 Include some missing headers 2021-11-02 11:02:32 +01:00
1c3fd4d16f Do not pass MSVC arguments to mingw/gcc 2021-11-02 11:02:32 +01:00
4bee296096 Strict qt5.15 breaks poppler 2021-10-23 17:11:50 +02:00
81ff663acd Use qt5.15 2021-10-19 00:00:09 +02:00
2cdd53c316 Replace forward declaration with import 2021-10-19 00:00:08 +02:00
e91481d0c3 Fix QMediaPlayer usage in Qt6 2021-10-19 00:00:08 +02:00
75060d4f24 Do not use QTextCodec in Qt6 2021-10-19 00:00:08 +02:00
a7e3c41f34 QLabel QPixmap *pixmap() method is deprecated
const QPixmap should perform as fast as a pointer
there is a replacement version for Qt5 but it requires Qt5.15, so we are using indirection witch is unsafer but it should be ok as all the action is happen in the main thread
2021-10-19 00:00:08 +02:00
8207f75297 Replace setMargin with setContentsMargins 2021-10-19 00:00:08 +02:00
5e1e0b1d4a Add include 2021-10-19 00:00:08 +02:00
088ccdf094 Remove setMargin usage 2021-10-19 00:00:08 +02:00
09e85e48bf Remove unused include 2021-10-19 00:00:08 +02:00
100e1c40a1 Use QTransform instead of QMatrix 2021-10-19 00:00:08 +02:00
154f215c38 Use 4 args connect 2021-10-19 00:00:08 +02:00
567c00102d Use fully qualified names 2021-10-19 00:00:08 +02:00
f5035b4bac Use fully qualified names 2021-10-19 00:00:08 +02:00
d5e6623e33 Fix connections
signals can be chained and setCenter was an slot not a signal
2021-10-19 00:00:08 +02:00
ae43f23c85 Use angleDelta
pixelDelta is only provided in systems that support it
2021-10-19 00:00:08 +02:00
052e7ffba0 Add override annotation 2021-10-19 00:00:08 +02:00
740eab5025 Update QWheelEvent delta usage 2021-10-19 00:00:08 +02:00
1c144d950d Use fully qualified names 2021-10-19 00:00:08 +02:00
474689e24b Replace deprecated QPalette role 2021-10-19 00:00:08 +02:00
1012ec37c7 Use setContentsMargins instead of setMargin 2021-10-19 00:00:08 +02:00
2a90b1c6ef Stop using availableGeometry 2021-10-19 00:00:08 +02:00
2de4b26b71 Start supporting Qt6
Everything is broken but we want to start fixing as much as possible
2021-10-19 00:00:08 +02:00
5f55dab0cc Do not write unused values 2021-10-19 00:00:08 +02:00
0a2f7bd2af Proper use of QString::arg 2021-10-19 00:00:08 +02:00
32b4e420a2 Fix emit calls 2021-10-19 00:00:08 +02:00
cc927de7de Use ints for colors instead of string literals 2021-10-19 00:00:07 +02:00
e1ed292a91 Convert emit(signal()) calls to emit signal() 2021-10-19 00:00:07 +02:00
5aa02a19bb clang-format 2021-10-18 21:56:52 +02:00
0dbad65f7f Don't use the wheel stop in full page mode 2021-09-28 16:21:43 +02:00
2717f755bb Fix signal name 2021-09-26 09:02:41 +02:00