StandaloneFilterWindow::~StandaloneFilterWindow() { PropertySet* const globalSettings = getGlobalSettings(); globalSettings->setValue (T("windowX"), getX()); globalSettings->setValue (T("windowY"), getY()); deleteAndZero (optionsButton); if (globalSettings != 0 && deviceManager != 0) { XmlElement* const xml = deviceManager->createStateXml(); globalSettings->setValue (T("audioSetup"), xml); delete xml; } deleteAndZero (deviceManager); if (globalSettings != 0 && filter != 0) { JUCE_NAMESPACE::MemoryBlock data; filter->getStateInformation (data); globalSettings->setValue (T("filterState"), data.toBase64Encoding()); } deleteFilter(); }
int FilterManager::replaceFilter(std::string filterID, Filter* filter, std::string targetID) { int event = 0; if (targetID == "FRONT") { targetID = filterChain->getFront()->nodeID; } else if (targetID == "REAR") { targetID = filterChain->getRear()->nodeID; } event = insertFilter(filterID, filter, targetID); if (event != 0) { return event; } event = deleteFilter(targetID); return event; }
filterManager::filterManager(QWidget* parent, const char* name) : QDialog(parent) { if(name) setObjectName(name); setupUi(this); _filterSet->addColumn(tr("Filter Set Name"), -1, Qt::AlignLeft, true, "filter_name" ); _filterSet->addColumn(tr("Shared"), _ynColumn, Qt::AlignLeft, true, "shared"); connect(_filterSet, SIGNAL(valid(bool)), this, SLOT( handleButtons(bool) )); connect(_share, SIGNAL(clicked()), this, SLOT( shareFilter() )); connect(_unshare, SIGNAL(clicked()), this, SLOT( unshareFilter() )); connect(_delete, SIGNAL(clicked()), this, SLOT( deleteFilter() ) ); connect(this, SIGNAL(filterDeleted()), parent, SLOT(setSavedFilters()) ); shortcuts::setStandardKeys(this); }
void StandaloneFilterWindow::resetFilter() { deleteFilter(); filter = createPluginFilter(); if (filter != 0) { if (deviceManager != 0) deviceManager->setFilter (filter); setContentComponent (filter->createEditorIfNeeded(), true, true); } PropertySet* const globalSettings = getGlobalSettings(); if (globalSettings != 0) globalSettings->removeValue (T("filterState")); }
//---------------------------------------------------------------------- // MessageFilterDialog MessageFilterDialog::MessageFilterDialog(MessageFilters* filters, const QString& caption, QWidget* parent, const char* name) : QDialog(parent, name, false, WType_Dialog), m_filters(filters), m_currentFilterNum(0xFF), m_currentFilter(0) { // set the caption setCaption(caption); // don't support resizing the dialog setSizeGripEnabled(false); // connect to the MessageFilter signals connect(m_filters, SIGNAL(removed(uint32_t, uint8_t)), this, SLOT(removedFilter(uint32_t, uint8_t))); connect(m_filters, SIGNAL(added(uint32_t, uint8_t, const MessageFilter&)), this, SLOT(addedFilter(uint32_t, uint8_t, const MessageFilter&))); // setup the dialog QVBoxLayout* outerLayout = new QVBoxLayout(this, 5, -1, "outerlayout"); QHBoxLayout* columnLayout = new QHBoxLayout(outerLayout, -1, "columns"); QVBoxLayout* column1Layout = new QVBoxLayout(5, "column1"); columnLayout->addLayout(column1Layout, 1); // layout 1st column QLabel* label = new QLabel("&Existing Filters", this); column1Layout->addWidget(label, 1, AlignCenter); m_existingFilters = new QListBox(this, "existingfilters"); column1Layout->addWidget(m_existingFilters, 10); label->setBuddy(m_existingFilters); m_existingFilters->setSelectionMode(QListBox::Single); connect(m_existingFilters, SIGNAL(selectionChanged(QListBoxItem*)), this, SLOT(existingFilterSelectionChanged(QListBoxItem*))); m_new = new QPushButton("Ne&w", this); column1Layout->addWidget(m_new, 1, AlignCenter); connect(m_new, SIGNAL(clicked()), this, SLOT(newFilter())); m_filterGroup = new QGroupBox(1, Vertical, "New &Filter", this, "filtergroup"); columnLayout->addWidget(m_filterGroup, 5); QFrame* dummy = new QFrame(m_filterGroup, "dummy"); QGridLayout* filterLayout = new QGridLayout(dummy, 8, 3, 5, -1, "filterlayout"); label = new QLabel("&Name", dummy); filterLayout->addWidget(label, 0, 0, AlignLeft | AlignVCenter); m_name = new QLineEdit(dummy, "name"); filterLayout->addMultiCellWidget(m_name, 0, 0, 1, 2); label->setBuddy(m_name); connect(m_name, SIGNAL(textChanged(const QString&)), this, SLOT(anyTextChanged(const QString&))); label = new QLabel("&Pattern", dummy); filterLayout->addWidget(label, 1, 0, AlignLeft | AlignVCenter); m_pattern = new QLineEdit(dummy, "pattern"); filterLayout->addMultiCellWidget(m_pattern, 1, 1, 1, 2); label->setBuddy(m_pattern); connect(m_pattern, SIGNAL(textChanged(const QString&)), this, SLOT(anyTextChanged(const QString&))); label = new QLabel("&Message Types", dummy); filterLayout->addWidget(label, 2, 0, AlignLeft | AlignVCenter); m_messageTypes = new QListBox(dummy, "messagetypes"); filterLayout->addMultiCellWidget(m_messageTypes, 2, 6, 1, 2); label->setBuddy(m_messageTypes); m_messageTypes->setSelectionMode(QListBox::Multi); connect(m_messageTypes, SIGNAL(selectionChanged()), this, SLOT(messageTypeSelectionChanged())); m_delete = new QPushButton("&Delete", dummy); filterLayout->addWidget(m_delete, 7, 0, AlignCenter); m_delete->setEnabled(false); connect(m_delete, SIGNAL(clicked()), this, SLOT(deleteFilter())); m_update = new QPushButton("&Update", dummy); filterLayout->addWidget(m_update, 7, 1, AlignCenter); m_update->setEnabled(false); connect(m_update, SIGNAL(clicked()), this, SLOT(updateFilter())); m_add = new QPushButton("&Add", dummy); filterLayout->addWidget(m_add, 7, 2, AlignCenter); m_add->setEnabled(false); connect(m_add, SIGNAL(clicked()), this, SLOT(addFilter())); QPushButton* close = new QPushButton("&Close", this); outerLayout->addWidget(close, 1, AlignCenter); connect(close, SIGNAL(clicked()), this, SLOT(accept())); // fill in message types QString typeName; for (int i = MT_Guild; i <= MT_Max; i++) { typeName = MessageEntry::messageTypeString((MessageType)i); if (!typeName.isEmpty()) (void)new MessageFilterListBoxText(m_messageTypes, typeName, i); } // fill in existing messages const MessageFilter* filter; for (int i = 0; i < maxMessageFilters; i++) { filter = m_filters->filter(i); if (filter) (void)new MessageFilterListBoxText(m_existingFilters, filter->name(), i); } }
CtrlrStandaloneWindow::~CtrlrStandaloneWindow() { ctrlrProcessor->getManager().removeActionListener (this); saveStateNow(); deleteFilter(); }