digiKam
Loading...
Searching...
No Matches
digikam_globals.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-09-08
7 * Description : global macros, variables and flags
8 *
9 * SPDX-FileCopyrightText: 2009-2010 by Andi Clemens <andi dot clemens at gmail dot com>
10 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QStringList>
21#include <QDateTime>
22#include <QIODevice>
23#include <QProcessEnvironment>
24
25// Local includes
26
27#include "digikam_export.h"
28
29class QWidget;
30class QObject;
31class QShortcut;
32class QKeySequence;
33class QApplication;
34class QDate;
35
39#define CLAMP0255(a) qBound(0,a,255)
40#define CLAMP065535(a) qBound(0,a,65535)
41#define CLAMP(x,l,u) qBound(l,x,u)
42#define MAX3(a, b, c) (qMax(qMax(a,b),c))
43#define MIN3(a, b, c) (qMin(qMin(a,b),c))
44
48#define DEG2RAD 0.017453292519943
49
53#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
54# define QT_HASH_TYPE /* clazy:exclude=qt6-qhash-signature */ uint
55#else
56# define QT_HASH_TYPE size_t
57#endif
58
59namespace Digikam
60{
61
65static const int RatingMin = 0;
66static const int RatingMax = 5;
67static const int NoRating = -1;
68
69// --------------------------------------------------------
70
74static const int NUM_SEGMENTS_16BIT = 65536;
75static const int NUM_SEGMENTS_8BIT = 256;
76static const int MAX_SEGMENT_16BIT = NUM_SEGMENTS_16BIT - 1;
77static const int MAX_SEGMENT_8BIT = NUM_SEGMENTS_8BIT - 1;
78
79// --------------------------------------------------------
80
85static const int AUTOEXPANDDELAY = 800;
86
87// --------------------------------------------------------
88
105
106// --------------------------------------------------------
107
118
119// --------------------------------------------------------
120
130
136
142
143// --------------------------------------------------------
144
154
171
172// --------------------------------------------------------
173
177DIGIKAM_EXPORT QShortcut* defineShortcut(QWidget* const w, const QKeySequence& key, const QObject* receiver, const char* slot);
178
185DIGIKAM_EXPORT QStringList supportedImageMimeTypes(QIODevice::OpenModeFlag mode, QString& allTypes);
186
190DIGIKAM_EXPORT bool isReadableImageFile(const QString& filePath);
191
195DIGIKAM_EXPORT void showRawCameraList();
196
200DIGIKAM_EXPORT QString toolButtonStyleSheet();
201
205DIGIKAM_EXPORT int layoutSpacing();
206
210DIGIKAM_EXPORT int layoutMargin();
211
212// --- Static functions for the bundles ---
213
217DIGIKAM_EXPORT bool isRunningInAppImageBundle();
218
222DIGIKAM_EXPORT bool isRunningOnNativeKDE();
223
231DIGIKAM_EXPORT QProcessEnvironment adjustedEnvironmentForAppImage();
232
236DIGIKAM_EXPORT QString macOSBundlePrefix();
237
241DIGIKAM_EXPORT void unloadQtTranslationFiles(QApplication& app);
242
246DIGIKAM_EXPORT void loadStdQtTranslationFiles(QApplication& app);
247
251DIGIKAM_EXPORT void loadEcmQtTranslationFiles(QApplication& app);
252
256DIGIKAM_EXPORT void installQtTranslationFiles(QApplication& app);
257
261DIGIKAM_EXPORT void setMacOSEnvironment();
262
266DIGIKAM_EXPORT void setWindowsEnvironment(QApplication& app);
267
271DIGIKAM_EXPORT void setOpenCLEnvironment(bool b);
272
276DIGIKAM_EXPORT QDateTime startOfDay(const QDate& date);
277
281DIGIKAM_EXPORT QDateTime asDateTimeUTC(const QDateTime& dt);
282
286DIGIKAM_EXPORT QDateTime asDateTimeLocal(const QDateTime& dt);
287
296DIGIKAM_EXPORT void openOnlineDocumentation(const QString& section = QString(), const QString& chapter = QString(), const QString& reference = QString());
297
298} // namespace Digikam
Definition datefolderview.cpp:34
ChannelType
Definition digikam_globals.h:146
@ ColorChannels
Definition digikam_globals.h:152
@ GreenChannel
Definition digikam_globals.h:149
@ RedChannel
Definition digikam_globals.h:148
@ AlphaChannel
Definition digikam_globals.h:151
@ LuminosityChannel
Definition digikam_globals.h:147
@ BlueChannel
Definition digikam_globals.h:150
QDateTime asDateTimeUTC(const QDateTime &dt)
Definition digikam_globals.cpp:254
QString toolButtonStyleSheet()
Definition digikam_globals.cpp:201
HistogramRenderingType
Definition digikam_globals.h:138
@ FullImageHistogram
Full image histogram rendering.
Definition digikam_globals.h:139
@ ImageSelectionHistogram
Image selection histogram rendering.
Definition digikam_globals.h:140
HistogramBoxType
Definition digikam_globals.h:122
@ LRGBAC
Definition digikam_globals.h:128
@ LRGBA
Definition digikam_globals.h:126
@ RGBA
Definition digikam_globals.h:124
@ RGB
Definition digikam_globals.h:123
@ LRGB
Definition digikam_globals.h:125
@ LRGBC
Definition digikam_globals.h:127
void openOnlineDocumentation(const QString &section, const QString &chapter, const QString &reference)
Definition digikam_globals.cpp:288
QShortcut * defineShortcut(QWidget *const w, const QKeySequence &key, const QObject *receiver, const char *slot)
Definition digikam_globals.cpp:20
bool isReadableImageFile(const QString &filePath)
Definition digikam_globals.cpp:164
DIGIKAM_EXPORT void loadStdQtTranslationFiles(QApplication &app)
Definition digikam_globals_bundles.cpp:227
DIGIKAM_EXPORT void setWindowsEnvironment(QApplication &app)
Definition digikam_globals_bundles.cpp:489
void showRawCameraList()
Definition digikam_globals.cpp:195
HistogramScale
Definition digikam_globals.h:132
@ LinScaleHistogram
Linear scale.
Definition digikam_globals.h:133
@ LogScaleHistogram
Logarithmic scale.
Definition digikam_globals.h:134
OperationType
Definition digikam_globals.h:161
@ LightTableOps
Definition digikam_globals.h:165
@ ToolsOps
Definition digikam_globals.h:168
@ MetadataOps
Definition digikam_globals.h:162
@ BQMOps
Definition digikam_globals.h:164
@ RenameOps
Definition digikam_globals.h:167
@ ImportExportOps
Definition digikam_globals.h:163
@ SlideshowOps
Definition digikam_globals.h:166
@ UnspecifiedOps
This element must always come last.
Definition digikam_globals.h:169
DIGIKAM_EXPORT bool isRunningInAppImageBundle()
Definition digikam_globals_bundles.cpp:20
DIGIKAM_EXPORT void loadEcmQtTranslationFiles(QApplication &app)
Definition digikam_globals_bundles.cpp:300
DIGIKAM_EXPORT QProcessEnvironment adjustedEnvironmentForAppImage()
Definition digikam_globals_bundles.cpp:69
void setOpenCLEnvironment(bool b)
Definition digikam_globals.cpp:326
QDateTime startOfDay(const QDate &date)
Definition digikam_globals.cpp:249
ColorLabel
Definition digikam_globals.h:90
@ LastColorLabel
Definition digikam_globals.h:102
@ BlackLabel
Definition digikam_globals.h:99
@ RedLabel
Definition digikam_globals.h:92
@ NumberOfColorLabels
Definition digikam_globals.h:103
@ WhiteLabel
Definition digikam_globals.h:100
@ GrayLabel
Definition digikam_globals.h:98
@ GreenLabel
Definition digikam_globals.h:95
@ FirstColorLabel
Definition digikam_globals.h:101
@ BlueLabel
Definition digikam_globals.h:96
@ YellowLabel
Definition digikam_globals.h:94
@ OrangeLabel
Definition digikam_globals.h:93
@ MagentaLabel
Definition digikam_globals.h:97
@ NoColorLabel
Definition digikam_globals.h:91
QDateTime asDateTimeLocal(const QDateTime &dt)
Definition digikam_globals.cpp:271
DIGIKAM_EXPORT void setMacOSEnvironment()
Definition digikam_globals_bundles.cpp:465
int layoutMargin()
Definition digikam_globals.cpp:236
int layoutSpacing()
Definition digikam_globals.cpp:228
DIGIKAM_EXPORT void unloadQtTranslationFiles(QApplication &app)
Definition digikam_globals_bundles.cpp:204
DIGIKAM_EXPORT bool isRunningOnNativeKDE()
Definition digikam_globals_bundles.cpp:37
DIGIKAM_EXPORT void installQtTranslationFiles(QApplication &app)
Definition digikam_globals_bundles.cpp:444
PickLabel
Definition digikam_globals.h:109
@ FirstPickLabel
Definition digikam_globals.h:114
@ NoPickLabel
Definition digikam_globals.h:110
@ AcceptedLabel
Definition digikam_globals.h:113
@ LastPickLabel
Definition digikam_globals.h:115
@ PendingLabel
Definition digikam_globals.h:112
@ RejectedLabel
Definition digikam_globals.h:111
@ NumberOfPickLabels
Definition digikam_globals.h:116
QStringList supportedImageMimeTypes(QIODevice::OpenModeFlag mode, QString &allTypes)
Definition digikam_globals.cpp:30
DIGIKAM_EXPORT QString macOSBundlePrefix()
Definition digikam_globals_bundles.cpp:189