1 /* ============================================================ 2 * Falkon - Qt web browser 3 * Copyright (C) 2010-2018 David Rosca <nowrep@gmail.com> 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * ============================================================ */ 18 #ifndef QZCOMMON_H 19 #define QZCOMMON_H 20 21 #include <QDebug> 22 #include <QFlags> 23 #include <QtWebEngineVersion> 24 25 #ifdef FALKON_SHAREDLIBRARY 26 #define FALKON_EXPORT Q_DECL_EXPORT 27 #else 28 #define FALKON_EXPORT Q_DECL_IMPORT 29 #endif 30 31 #ifndef Q_UNLIKELY 32 #define Q_UNLIKELY(x) x 33 #endif 34 35 #ifndef Q_LIKELY 36 #define Q_LIKELY(x) x 37 #endif 38 39 #ifndef QSL 40 #define QSL(x) QStringLiteral(x) 41 #endif 42 43 #ifndef QL1S 44 #define QL1S(x) QLatin1String(x) 45 #endif 46 47 #ifndef QL1C 48 #define QL1C(x) QLatin1Char(x) 49 #endif 50 51 namespace Qz 52 { 53 // Version of session.dat file 54 extern const int sessionVersion; 55 56 FALKON_EXPORT extern const char *APPNAME; 57 FALKON_EXPORT extern const char *VERSION; 58 FALKON_EXPORT extern const char *AUTHOR; 59 FALKON_EXPORT extern const char *COPYRIGHT; 60 FALKON_EXPORT extern const char *WWWADDRESS; 61 FALKON_EXPORT extern const char *BUGSADDRESS; 62 FALKON_EXPORT extern const char *WIKIADDRESS; 63 64 enum BrowserWindowType { 65 BW_FirstAppWindow, 66 BW_OtherRestoredWindow, 67 BW_NewWindow, 68 BW_MacFirstWindow 69 }; 70 71 enum CommandLineAction { 72 CL_NoAction, 73 CL_OpenUrl, 74 CL_OpenUrlInCurrentTab, 75 CL_OpenUrlInNewWindow, 76 CL_StartWithProfile, 77 CL_StartWithoutAddons, 78 CL_NewTab, 79 CL_NewWindow, 80 CL_ShowDownloadManager, 81 CL_ToggleFullScreen, 82 CL_StartPrivateBrowsing, 83 CL_StartNewInstance, 84 CL_StartPortable, 85 CL_ExitAction, 86 CL_WMClass 87 }; 88 89 enum ObjectName { 90 ON_WebView, 91 ON_TabBar, 92 ON_TabWidget, 93 ON_BrowserWindow 94 }; 95 96 enum NewTabPositionFlag { 97 NT_SelectedTab = 1, 98 NT_NotSelectedTab = 2, 99 NT_CleanTab = 4, 100 NT_TabAtTheEnd = 8, 101 NT_NewEmptyTab = 16, 102 103 NT_SelectedNewEmptyTab = NT_SelectedTab | NT_TabAtTheEnd | NT_NewEmptyTab, 104 NT_SelectedTabAtTheEnd = NT_SelectedTab | NT_TabAtTheEnd, 105 NT_NotSelectedTabAtTheEnd = NT_NotSelectedTab | NT_TabAtTheEnd, 106 NT_CleanSelectedTabAtTheEnd = NT_SelectedTab | NT_TabAtTheEnd | NT_CleanTab, 107 NT_CleanSelectedTab = NT_CleanTab | NT_SelectedTab, 108 NT_CleanNotSelectedTab = NT_CleanTab | NT_NotSelectedTab 109 }; 110 111 Q_DECLARE_FLAGS(NewTabPositionFlags, NewTabPositionFlag) 112 Q_DECLARE_OPERATORS_FOR_FLAGS(Qz::NewTabPositionFlags) 113 114 } 115 116 #if defined(Q_OS_WIN) || defined(Q_OS_OS2) 117 #define DEFAULT_THEME_NAME QSL("windows") 118 #elif defined(Q_OS_MACOS) 119 #define DEFAULT_THEME_NAME QSL("mac") 120 #elif defined(Q_OS_UNIX) 121 #define DEFAULT_THEME_NAME QSL("linux") 122 #else 123 #define DEFAULT_THEME_NAME QSL("default") 124 #endif 125 126 #ifdef Q_OS_WIN 127 #define DISABLE_CHECK_UPDATES false 128 #else 129 #define DISABLE_CHECK_UPDATES true 130 #endif 131 132 #define DEFAULT_CHECK_DEFAULTBROWSER false 133 134 #ifdef Q_OS_WIN 135 #define DEFAULT_DOWNLOAD_USE_NATIVE_DIALOG false 136 #else 137 #define DEFAULT_DOWNLOAD_USE_NATIVE_DIALOG true 138 #endif 139 140 #endif // QZCOMMON_H 141