#include "MetaDataRegistry.hpp" #include #include #include #include "Radio.hpp" #include "FrequencyList.hpp" #include "AudioDevice.hpp" #include "Configuration.hpp" #include "StationList.hpp" #include "Transceiver.hpp" #include "TransceiverFactory.hpp" #include "WFPalette.hpp" #include "FrequencyLineEdit.hpp" QItemEditorFactory * item_editor_factory () { static QItemEditorFactory * our_item_editor_factory = new QItemEditorFactory; return our_item_editor_factory; } void register_types () { // Radio namespace auto frequency_type_id = qRegisterMetaType ("Frequency"); qRegisterMetaType ("Frequencies"); // This is required to preserve v1.5 "frequencies" setting for // backwards compatibility, without it the setting gets trashed by // later versions. qRegisterMetaTypeStreamOperators ("Frequencies"); item_editor_factory ()->registerEditor (frequency_type_id, new QStandardItemEditorCreator ()); auto frequency_delta_type_id = qRegisterMetaType ("FrequencyDelta"); item_editor_factory ()->registerEditor (frequency_delta_type_id, new QStandardItemEditorCreator ()); // Frequency list model qRegisterMetaType ("Item"); qRegisterMetaTypeStreamOperators ("Item"); qRegisterMetaType ("FrequencyItems"); qRegisterMetaTypeStreamOperators ("FrequencyItems"); // Audio device qRegisterMetaType ("AudioDevice::Channel"); // Configuration qRegisterMetaType ("Configuration::DataMode"); qRegisterMetaTypeStreamOperators ("Configuration::DataMode"); qRegisterMetaType ("Configuration::Type2MsgGen"); qRegisterMetaTypeStreamOperators ("Configuration::Type2MsgGen"); // Station details qRegisterMetaType ("Station"); qRegisterMetaTypeStreamOperators ("Station"); qRegisterMetaType ("Stations"); qRegisterMetaTypeStreamOperators ("Stations"); // Transceiver qRegisterMetaType ("Transceiver::TransceiverState"); qRegisterMetaType ("Transceiver::MODE"); // Transceiver factory qRegisterMetaType ("TransceiverFactory::DataBits"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::DataBits"); qRegisterMetaType ("TransceiverFactory::StopBits"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::StopBits"); qRegisterMetaType ("TransceiverFactory::Handshake"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::Handshake"); qRegisterMetaType ("TransceiverFactory::PTTMethod"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::PTTMethod"); qRegisterMetaType ("TransceiverFactory::TXAudioSource"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::TXAudioSource"); qRegisterMetaType ("TransceiverFactory::SplitMode"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::SplitMode"); // Waterfall palette qRegisterMetaTypeStreamOperators ("Colours"); }