File indexing completed on 2024-05-12 05:06:11

0001 /*
0002     SPDX-FileCopyrightText: 2017 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0003     SPDX-FileCopyrightText: 2020 Dawid Wróbel <me@dawidwrobel.com>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef ICONS_H
0008 #define ICONS_H
0009 
0010 // ----------------------------------------------------------------------------
0011 // QT Includes
0012 
0013 #include <icons/kmm_icons_export.h>
0014 
0015 // ----------------------------------------------------------------------------
0016 // Project Includes
0017 
0018 class QString;
0019 class QIcon;
0020 
0021 namespace Icons {
0022 
0023 // clang-format off
0024 enum class Icon { OpenDatabase, Link, Unlink, Reconcile, Split, Tip, PerformanceTest,
0025                   Calculator,
0026                   UserProperties, DocumentProperties,
0027                   ZoomIn, ZoomOut,
0028                   Pause, SeekForward, SeekBackward,
0029                   SkipForward, SkipBackward,
0030                   HideReconciled, HideCategories,
0031                   Home, Institution, Institutions,
0032                   Accounts,
0033                   Schedule, Tags,
0034                   Payee, Payees,
0035                   Investment, InvestmentClosed, Investments, Reports,
0036                   Budget, Budgets, Forecast,
0037                   OnlineJobOutbox, Filter,
0038                   Loan, LoanClosed, Security, SecurityClosed,
0039                   Checking, CheckingClosed,
0040                   Savings, SavingsClosed,
0041                   AssetLoan, AssetLoanClosed,CreditCard, CreditCardClosed,
0042                   Cash, CashClosed, Equity,
0043                   Income, Expense,
0044                   Asset, AssetClosed, Liability, LiabilityClosed,
0045                   ScheduleOverdue, ScheduleOnTime, CalendarDay,
0046                   Ledger, Ledgers, BankAccount, BankAccountClosed,
0047                   Currencies, FinancialCategories,
0048                   Transaction,
0049                   Calendar,
0050                   TransactionDetails, Close,
0051                   DialogOK, DialogClose, DialogCancel,
0052                   DialogOKApply, DialogError, DialogWarning,
0053                   DialogInformation,
0054                   ListExpand, ListCollapse,
0055                   ListAdd, PayeeNew, PayeeRemove,
0056                   TagNew, TagRemove,
0057                   GoTo, KeyEnter, Download, TagRename,
0058                   EditRemove, EditShred, EditCopy, EditRename,
0059                   Find, EditUndo, EditClear,
0060                   DocumentEdit,
0061                   DocumentNew, DocumentSave,
0062                   DocumentClose, DocumentOpen,
0063                   DocumentImport, DocumentExport,
0064                   OfficeCharBar, OfficeChartLineForecast,
0065                   MailMessage, MailSend, MailReceive,
0066                   MapOnlineAccount, UnmapOnlineAccount,
0067                   Globe,
0068                   NewSchedule, KMyMoney,
0069                   PayeeRename, PayeeMerge,
0070                   Configure,
0071                   TransactionStateReconciled, Unknown,
0072                   Report, Refresh, PreferencesGeneral,
0073                   SortAscending, SortDescending,
0074                   ItemExchange,
0075                   ArrowUp, ArrowDown, ArrowRight, ArrowLeft,
0076                   TaskComplete,
0077                   TaskReject, TaskAccepted, TaskOngoing, TaskPending,
0078                   Help, Community, Folder,
0079                   PreferencesFonts, PreferencesColors, PreferencesIcons,
0080                   PreferencesNetwork, PreferencesPlugins,
0081                   Empty,
0082                   InstitutionNew, InstitutionEdit, InstitutionRemove,
0083                   AccountNew, AccountEdit, AccountRemove,
0084                   AccountClose, AccountReopen,
0085                   AccountUpdate, AccountUpdateAll,
0086                   OnlineTransfer, Reconciled,
0087                   FinancialCategoryNew, FinancialCategoryEdit, FinancialCategoryRemove,
0088                   TransactionStateAny, TransactionStateImported, TransactionStateMatched,
0089                   TransactionStateErroneous, TransactionStateScheduled, TransactionStateNotReconciled,
0090                   TransactionStateNotMarked, TransactionStateCleared,
0091                   InvestmentNew, InvestmentEdit,
0092                   InvestmentRemove, OnlinePriceUpdate,
0093                   Reverse, Visibility, NoVisibility,
0094                   SelectAll, Backup, Vault,
0095                 };
0096 // clang-format on
0097 
0098 KMM_ICONS_EXPORT QIcon get(Icons::Icon icon);
0099 
0100 
0101 /**
0102  * return an icon from the application local cache or an icon provided
0103  * by the application. The @a name is formatted as @c type:iconName.
0104  * The following types are supported
0105  *
0106  * - enum
0107  * - favicon
0108  *
0109  * @sa storeIconInApplicationCache(const QString& name, const QIcon& icon)
0110  */
0111 KMM_ICONS_EXPORT QIcon loadIconFromApplicationCache(const QString& name);
0112 
0113 /**
0114  * store the @a icon in the applications local cache directory under the given @a name.
0115  * The @a name is formatted as @c type:iconName.
0116  * The icon will be stored in the file "type-iconName".
0117  *
0118  * @sa loadIconFromApplicationCache(const QString& name)
0119  */
0120 KMM_ICONS_EXPORT bool storeIconInApplicationCache(const QString& name, const QIcon& icon);
0121 }
0122 
0123 #endif