bool Selection::connectItemToGUI() { bool ret = false; if (!m_isGUISelection || m_SelList.isEmpty()) return ret; if (m_SelList.count() == 1) { QPointer<PageItem> pi=m_SelList.first(); //Quick check to see if the pointer is NULL, if its NULL, we should remove it from the list now if (pi.isNull()) { m_SelList.removeAll(pi); return ret; } ret = pi->connectToGUI(); pi->emitAllToGUI(); m_sigSelectionChanged = true; } else { ret = m_SelList.first()->connectToGUI(); m_SelList.first()->emitAllToGUI(); m_sigSelectionChanged = true; m_sigSelectionIsMultiple = true; } sendSignals(false); return ret; }
bool Selection::removeItem(PageItem *item) { bool removeOk(false); if (!m_SelList.isEmpty() && m_SelList.contains(item)) { removeOk=(m_SelList.removeAll(item)==1); if (removeOk) { if (m_isGUISelection) { item->setSelected(false); item->disconnectFromGUI(); } item->isSingleSel = false; } if (m_isGUISelection) { m_sigSelectionChanged = true; sendSignals(); } return removeOk; } return removeOk; }
bool Selection::removeFirst() { if (!m_SelList.isEmpty()) { if (m_isGUISelection && m_SelList.first()) m_SelList.first()->setSelected(false); removeItem(m_SelList.first()); if (m_SelList.isEmpty()) return true; if (m_isGUISelection) m_sigSelectionChanged = true; sendSignals(); } return false; }
void Selection::copy(Selection& other, bool emptyOther) { if (&other==this) return; if (m_isGUISelection) { SelectionList::Iterator itend = m_SelList.end(); for (SelectionList::Iterator it = m_SelList.begin(); it != itend; ++it) (*it)->setSelected(false); } m_SelList=other.m_SelList; if (m_isGUISelection && !m_SelList.isEmpty()) m_sigSelectionIsMultiple = true; if (emptyOther) other.clear(); sendSignals(); }
bool Selection::addItem(PageItem *item, bool ignoreGUI) { if (item==NULL) return false; bool listWasEmpty = m_SelList.isEmpty(); if (listWasEmpty || !m_SelList.contains(item)) { m_SelList.append(item); if (m_isGUISelection) { item->setSelected(true); m_sigSelectionChanged = true; m_sigSelectionIsMultiple = true; } sendSignals(); return true; } return false; }
bool Selection::prependItem(PageItem *item, bool doEmit) { if (item==NULL) return false; if (!m_SelList.contains(item)) { if (m_isGUISelection && !m_SelList.isEmpty()) m_SelList[0]->disconnectFromGUI(); m_SelList.prepend(item); if (m_isGUISelection /*&& doEmit*/) { item->setSelected(true); m_sigSelectionChanged = true; m_sigSelectionIsMultiple = true; } sendSignals(); return true; } return false; }
PageItem* Selection::takeItem(int itemIndex) { if (!m_SelList.isEmpty() && itemIndex<m_SelList.count()) { PageItem *item = m_SelList[itemIndex]; bool removeOk = (m_SelList.removeAll(item) == 1); if (removeOk) { item->isSingleSel = false; if (m_isGUISelection) { item->setSelected(false); m_sigSelectionChanged = true; if (itemIndex == 0) item->disconnectFromGUI(); } sendSignals(); return item; } } return NULL; }
bool Selection::clear() { if (!m_SelList.isEmpty()) { SelectionList::Iterator itend=m_SelList.end(); SelectionList::Iterator it=m_SelList.begin(); while (it!=itend) { (*it)->isSingleSel=false; if (m_isGUISelection) { (*it)->setSelected(false); (*it)->disconnectFromGUI(); } ++it; } } m_SelList.clear(); m_sigSelectionChanged = true; sendSignals(); return true; }
void ZDLInterface::saveZdlFile(){ LOGDATAO() << "Saving ZDL File" << endl; sendSignals(); QStringList filters; filters << "ZDL (*.zdl)" << "Any files (*)"; QString filter = filters.join(";;"); QString lastDir = getLastDir(ZDLConfigurationManager::getActiveConfiguration()); QString fileName = QFileDialog::getSaveFileName(this, "Save ZDL", lastDir, filter); if(!fileName.isNull() && !fileName.isEmpty()){ ZDLConf *current = ZDLConfigurationManager::getActiveConfiguration(); ZDLConf *copy = new ZDLConf(); for(int i = 0; i < current->sections.size(); i++){ if(current->sections[i]->getName().compare("zdl.save") == 0){ copy->addSection(current->sections[i]->clone()); if(!fileName.contains(".")){ fileName = fileName + QString(".zdl"); } saveLastDir(current, fileName); copy->writeINI(fileName); } } } }
void ZDLInterface::saveConfigFile(){ LOGDATAO() << "Saving config file" << endl; sendSignals(); ZDLConf *zconf = ZDLConfigurationManager::getActiveConfiguration(); QStringList filters; filters << "ini (*.ini)" << "Any files (*)"; QString filter = filters.join(";;"); QString lastDir = getLastDir(zconf); QString fileName = QFileDialog::getSaveFileName(this, "Save Configuration", lastDir, filter); if(!fileName.isNull() && !fileName.isEmpty()){ QFileInfo fi(fileName); if(!fi.fileName().contains(".")){ fileName += ".ini"; } ZDLConfigurationManager::setConfigFileName(fileName); saveLastDir(zconf,fileName); zconf->writeINI(fileName); mw->startRead(); } }
void Selection::delaySignalsOff(void) { --m_delaySignals; if (m_delaySignals <= 0) sendSignals(); }