20#ifndef ORES_QT_FLAG_ICON_HELPER_HPP
21#define ORES_QT_FLAG_ICON_HELPER_HPP
27#include "ores.qt/export.hpp"
36enum class FlagSource { Currency, Country, BusinessCentre };
66 QObject* context, QComboBox* combo, ImageCache* cache,
FlagSource source);
79template<
typename Resolver>
81 for (
int i = 0; i < combo->count(); ++i) {
82 const std::string code = combo->itemText(i).toStdString();
83 combo->setItemIcon(i, resolver(code));
101 QLineEdit* edit,
const QIcon& icon, QAction*& action_ptr) {
103 edit->removeAction(action_ptr);
105 action_ptr =
nullptr;
107 if (!icon.isNull()) {
108 action_ptr = edit->addAction(icon, QLineEdit::LeadingPosition);
Qt-based graphical user interface for ORE Studio.
Definition AccountController.hpp:32
ORES_QT_API void apply_flag_icons(QComboBox *combo, ImageCache *cache, FlagSource source)
Apply flag icons to a combo box using the given image cache.
Definition FlagIconHelper.cpp:25
FlagSource
The type of flag icons to apply to a combo box.
Definition FlagIconHelper.hpp:36
ORES_QT_API void setup_flag_combo(QObject *context, QComboBox *combo, ImageCache *cache, FlagSource source)
Wire up a combo box for flag icons and keep them current.
Definition FlagIconHelper.cpp:43
void set_combo_flag_icons(QComboBox *combo, Resolver &&resolver)
Set flag icons on every item in a QComboBox.
Definition FlagIconHelper.hpp:80
void set_line_edit_flag_icon(QLineEdit *edit, const QIcon &icon, QAction *&action_ptr)
Set a leading flag icon on a standalone QLineEdit.
Definition FlagIconHelper.hpp:100