void SensorWidget::traceItemAdded(const QString& item) { SensorWidgetLine* line = new SensorWidgetLine(item); connect(line, SIGNAL(removeTraceItem(QString)), &mWriter, SLOT(remove(QString))); connect(line, SIGNAL(selectionChanged()), SLOT(onSelectionChanged())); connect(line, SIGNAL(sortWidgets(QString,QString,bool)), SLOT(sortWidgets(QString,QString,bool))); mElements[item] = line; ui->elementLayout->addWidget(line); storeSelection(); }
void SensorWidget::traceItemRemoved(const QString &name) { if(mElements.contains(name)) { SensorWidgetLine* line = mElements.take(name); ui->elementLayout->removeWidget(line); delete line; onSelectionChanged(); storeSelection(); } }
Tagaro::ThemeSelector::ThemeSelector(Tagaro::ThemeProvider* provider) : m_provider(provider) , m_themeList(new QListView(this)) { //setup interface QVBoxLayout* layout = new QVBoxLayout; setLayout(layout); layout->addWidget(m_themeList); #if 0 if (options & Tagaro::ConfigDialog::WithNewStuffDownload) { QPushButton* knsButton = new QPushButton(KIcon("get-hot-new-stuff"), i18n("Get New Themes..."), this); knsButton->setEnabled(false); //KNS not implemented yet layout->addWidget(knsButton); connect(knsButton, SIGNAL(clicked()), SLOT(openNewStuffDialog())); } #endif //setup theme list m_themeList->setModel(provider->model()); m_themeList->setSelectionMode(QAbstractItemView::SingleSelection); updateSelectedTheme(provider->selectedTheme()); connect(m_themeList->selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)), SLOT(storeSelection(QItemSelection))); connect(provider, SIGNAL(selectedThemeChanged(const Tagaro::Theme*)), SLOT(updateSelectedTheme(const Tagaro::Theme*))); //setup appearance of theme list (minimum size = 4 items) Tagaro::GraphicsDelegate* delegate = new Tagaro::GraphicsDelegate(m_themeList); const QSize itemSizeHint = delegate->sizeHint(QStyleOptionViewItem(), QModelIndex()); const QSize scrollBarSizeHint = m_themeList->verticalScrollBar()->sizeHint(); m_themeList->setMinimumSize(itemSizeHint.width() + 2 * scrollBarSizeHint.width(), 4 * itemSizeHint.height()); }