1 /* 2 * Copyright 2018-2023, Andrew Lindesay <apl@lindesay.co.nz>. 3 * All rights reserved. Distributed under the terms of the MIT License. 4 */ 5 #ifndef HAIKU_DEPOT_CONSTANTS_H 6 #define HAIKU_DEPOT_CONSTANTS_H 7 8 enum { 9 MSG_PACKAGE_ACTION_DONE = 'mpad', 10 MSG_BULK_LOAD_DONE = 'mmwd', 11 MSG_MAIN_WINDOW_CLOSED = 'mwcl', 12 MSG_PACKAGE_SELECTED = 'pkgs', 13 MSG_PACKAGE_WORKER_BUSY = 'pkwb', 14 MSG_PACKAGE_WORKER_IDLE = 'pkwi', 15 MSG_CLIENT_TOO_OLD = 'oldc', 16 MSG_NETWORK_TRANSPORT_ERROR = 'nett', 17 MSG_SERVER_ERROR = 'svre', 18 MSG_SERVER_DATA_CHANGED = 'svdc', 19 MSG_ALERT_SIMPLE_ERROR = 'nser', 20 MSG_DID_ADD_USER_RATING = 'adur', 21 MSG_DID_UPDATE_USER_RATING = 'upur', 22 MSG_LANGUAGE_SELECTED = 'lngs', 23 MSG_VIEW_LATEST_USER_USAGE_CONDITIONS = 'vluc', 24 MSG_VIEW_USERS_USER_USAGE_CONDITIONS = 'vuuc', 25 MSG_USER_USAGE_CONDITIONS_DATA = 'uucd', 26 MSG_USER_USAGE_CONDITIONS_ERROR = 'uuce', 27 MSG_USER_USAGE_CONDITIONS_NOT_LATEST = 'uucl', 28 MSG_LOG_OUT = 'lgot', 29 MSG_PKG_INSTALL = 'pkgi', 30 MSG_PKG_UNINSTALL = 'pkgu', 31 MSG_PKG_OPEN = 'pkgo' 32 }; 33 34 enum BitmapSize { 35 BITMAP_SIZE_16 = 0, 36 BITMAP_SIZE_22 = 1, 37 BITMAP_SIZE_32 = 2, 38 BITMAP_SIZE_64 = 3, 39 BITMAP_SIZE_ANY = 4 40 }; 41 42 // when somebody rates a package, there is a numerical 43 // rating which is expressed in a float 0 --> 5. This 44 // is visualized by a series of colored stars. These 45 // constants are related to the geometry of the layout 46 // of the stars. 47 48 #define SIZE_RATING_STAR 16.0 49 #define WIDTH_RATING_STAR_SPACING 2.0 50 #define BOUNDS_RATING BRect(0, 0, \ 51 5 * SIZE_RATING_STAR + 4 * WIDTH_RATING_STAR_SPACING, \ 52 SIZE_RATING_STAR) 53 54 #define RATING_MISSING -1.0f 55 #define RATING_MIN 0.0f 56 57 58 #define kProgressIndeterminate -1.0f 59 60 61 #define RGB_COLOR_WHITE (rgb_color) { 255, 255, 255, 255 } 62 63 64 #define HD_ERROR_BASE (B_ERRORS_END + 1) 65 #define HD_NETWORK_INACCESSIBLE (HD_ERROR_BASE + 1) 66 #define HD_CLIENT_TOO_OLD (HD_ERROR_BASE + 2) 67 #define HD_ERR_NOT_MODIFIED (HD_ERROR_BASE + 3) 68 #define HD_ERR_NO_DATA (HD_ERROR_BASE + 4) 69 70 71 #define REPOSITORY_NAME_SYSTEM "system" 72 #define REPOSITORY_NAME_INSTALLED "installed" 73 74 75 #define KEY_ALERT_TEXT "alert_text" 76 #define KEY_ALERT_TITLE "alert_title" 77 #define KEY_ALERT_TYPE "alert_type" 78 #define KEY_WORK_STATUS_TEXT "work_status_text" 79 #define KEY_WORK_STATUS_PROGRESS "work_status_progress" 80 #define KEY_WINDOW_SETTINGS "window_settings" 81 #define KEY_MAIN_SETTINGS "main_settings" 82 #define KEY_PACKAGE_NAME "package_name" 83 #define KEY_TITLE "title" 84 #define KEY_DESKBAR_LINK "deskbar_link" 85 86 87 #define SETTING_SHOW_AVAILABLE_PACKAGES "show available packages" 88 #define SETTING_SHOW_INSTALLED_PACKAGES "show installed packages" 89 #define SETTING_SHOW_DEVELOP_PACKAGES "show develop packages" 90 #define SETTING_SHOW_SOURCE_PACKAGES "show source packages" 91 #define SETTING_CAN_SHARE_ANONYMOUS_USER_DATA "can share anonymous usage data" 92 #define SETTING_PACKAGE_LIST_VIEW_MODE "packageListViewMode" 93 // unfortunately historical difference in casing. 94 95 96 // These constants reference resources in 'HaikuDepot.ref' 97 enum { 98 RSRC_STAR_BLUE = 510, 99 RSRC_STAR_GREY = 520, 100 RSRC_INSTALLED = 530, 101 RSRC_ARROW_LEFT = 540, 102 RSRC_ARROW_RIGHT = 550, 103 }; 104 105 106 enum UserUsageConditionsSelectionMode { 107 LATEST = 1, 108 USER = 2, 109 FIXED = 3 110 // means that the user usage conditions are supplied to the window. 111 }; 112 113 114 #define LANGUAGE_DEFAULT_CODE "en" 115 #define LANGUAGE_DEFAULT Language(LANGUAGE_DEFAULT_CODE, "English", true) 116 117 118 #define PACKAGE_INFO_MAX_USER_RATINGS 250 119 120 #define STR_MDASH "\xE2\x80\x94" 121 122 #define ALERT_MSG_LOGS_USER_GUIDE "\nInformation about how to view the logs " \ 123 "is available in the HaikuDepot section of the Haiku User Guide." 124 125 #define CACHE_DIRECTORY_APP "HaikuDepot" 126 127 #define PROMINANCE_ORDERING_PROMINENT_MAX 200 128 // any prominence ordering value greater than this is not prominent. 129 #define PROMINANCE_ORDERING_MAX 1000 130 // this is the highest prominence value possible. 131 132 #endif // HAIKU_DEPOT_CONSTANTS_H 133