void OCompletionBox::setItems( const QStringList& items ) { bool block = signalsBlocked(); blockSignals( true ); QListBoxItem* item = firstItem(); if ( !item ) { insertStringList( items ); } else { for ( QStringList::ConstIterator it = items.begin(); it != items.end(); it++) { if ( item ) { ((OCompletionBoxItem*)item)->reuse( *it ); item = item->next(); } else { insertItem( new QListBoxText( *it ) ); } } QListBoxItem* tmp = item; while ( (item = tmp ) ) { tmp = item->next(); delete item; } triggerUpdate( false ); } blockSignals( block ); d->down_workaround = true; }
DrivesCombo::DrivesCombo(QWidget* parent, const char* name) : KComboBox(parent, name) { setEditable(true); QFile file("/etc/fstab"); if (file.open(IO_ReadOnly)) { QTextStream stream(&file); QString line; QStringList drives; while (!stream.eof()) { line = stream.readLine(); if (line.contains("cdfss")) { kdDebug() << "DrivesCombo: found disc drive: " << line.section(' ', 0, 0) << endl; drives.append(line.section(' ', 0, 0)); } } insertStringList(drives); } file.close(); }
QString ComboBox::handleDCOP(int function, const QStringList& args) { switch (function) { case DCOP::text: return currentText(); case DCOP::setText: setWidgetText(args[0]); break; case DCOP::selection: return currentText(); case DCOP::currentItem: return QString::number(currentItem()); case DCOP::setCurrentItem: setCurrentItem(args[0].toUInt()); break; case DCOP::item: { int i = args[0].toInt(); if (i >= 0 && i < count()) return text(i); break; } case DCOP::removeItem: removeItem(args[0].toInt()); break; case DCOP::insertItem: insertItem(args[0], args[1].toInt()); break; case DCOP::insertItems: insertStringList(QStringList::split("\n", args[0]), args[1].toInt()); break; case DCOP::addUniqueItem: for (int i=0; i<count(); i++) if (text(i) == args[0]) return QString(); insertItem(args[0]); break; case DCOP::clear: clear(); break; case DCOP::count: return QString::number(count()); case DCOP::setSelection: { for (int i = 0; i < count(); i++) if (text(i) == args[0]) { setCurrentItem(i); break; } break; } case DCOP::setEditable: setEditable(args[0] != "false" && args[0] != "0"); break; default: return KommanderWidget::handleDCOP(function, args); } return QString(); }
KileListSelectorBase::KileListSelectorBase(const QStringList &list, const QString &caption, const QString &select, QWidget *parent, const char *name) : KDialogBase( KDialogBase::Plain, caption, Ok|Cancel,Ok, parent, name, true, true ) { QVBoxLayout *layout = new QVBoxLayout(plainPage()); layout->addWidget(new QLabel(select, plainPage())); layout->addSpacing(8); m_listview = new KListView(plainPage()); m_listview->addColumn(i18n("Files")); m_listview->setSorting(-1); m_listview->setAllColumnsShowFocus(true); m_listview->setFullWidth(true); m_listview->setItemsMovable(false); // default: true //setAcceptDrops(false); // default: false //setDragEnabled(false); // default: false //setShadeSortColumn(true); // default: true m_listview->header()->setMovingEnabled(false); // default: true #if KDE_VERSION >= KDE_MAKE_VERSION(3,4,0) m_listview->setShadeSortColumn(false); #endif layout->addWidget(m_listview); insertStringList(list); int w = m_listview->columnWidth(0) + 32; w = ( w > 275 ) ? w : 275; int h = ( list.count() > 0 ) ? m_listview->header()->height()+12*m_listview->firstChild()->height() : 224; m_listview->setMinimumSize(w,h); resize(sizeHint().width(),sizeHint().height()+4); connect(m_listview, SIGNAL(doubleClicked(QListViewItem*,const QPoint &,int)), this, SLOT(accept())); }
void OCompletionBox::insertItems( const QStringList& items, int index ) { bool block = signalsBlocked(); blockSignals( true ); insertStringList( items, index ); blockSignals( block ); d->down_workaround = true; }
void KonqComboCompletionBox::setItems( const QStringList& items ) { bool block = signalsBlocked(); blockSignals( true ); int rowIndex = 0; if ( count() == 0 ) insertStringList( items ); else { //Keep track of whether we need to change anything, //so we can avoid a repaint for identical updates, //to reduce flicker bool dirty = false; QStringList::ConstIterator it = items.constBegin(); const QStringList::ConstIterator itEnd = items.constEnd(); for ( ; it != itEnd; ++it) { if ( rowIndex < count() ) { const bool changed = (static_cast<KonqListWidgetItem*>(item(rowIndex)))->reuse( *it ); dirty = dirty || changed; } else { dirty = true; //Inserting an item is a way of making this dirty addItem( new KonqListWidgetItem( *it ) ); } rowIndex++; } //If there is an unused item, mark as dirty -> less items now if ( rowIndex < count() ) dirty = true; while ( rowIndex < count() ) { delete item(rowIndex); } //TODO KDE 4 - Port this //if ( dirty ) // triggerUpdate( false ); } if ( isVisible() && size().height() != sizeHint().height() ) sizeAndPosition(); blockSignals( block ); }
KileListSelectorBase::KileListSelectorBase(const QStringList &list, const QString &caption, const QString &select, bool sort, QWidget *parent, const char *name) : KDialog(parent) { setObjectName(name); setCaption(caption); setModal(true); setButtons(Ok | Cancel); setDefaultButton(Ok); showButtonSeparator(true); QWidget *page = new QWidget(this); setMainWidget(page); QVBoxLayout *layout = new QVBoxLayout(); layout->setMargin(0); layout->setSpacing(KDialog::spacingHint()); page->setLayout(layout); layout->addWidget(new QLabel(select, page)); m_listView = new QTreeWidget(page); m_listView->setHeaderLabel(i18n("Files")); m_listView->setSortingEnabled(false); m_listView->setAllColumnsShowFocus(true); m_listView->setRootIsDecorated(false); layout->addWidget(m_listView); layout->addWidget(new QLabel(i18np("1 item found.", "%1 items found.", list.size()))); m_listView->setSortingEnabled(sort); if(sort) { m_listView->sortByColumn(0, Qt::AscendingOrder); } insertStringList(list); m_listView->clearSelection(); connect(m_listView, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)), this, SLOT(accept())); QItemSelectionModel *selectionModel = m_listView->selectionModel(); if(selectionModel) { // checking just to be safe connect(selectionModel, SIGNAL(selectionChanged(const QItemSelection&,const QItemSelection&)), this, SLOT(handleSelectionChanged(const QItemSelection&,const QItemSelection&))); } enableButtonOk(false); }
AccountList::AccountList(QWidget *parent, const char *name, QStringList &accounts) : QComboBox(false, parent, name) { insertStringList(accounts); }
void AccountList::updateAccounts(const QStringList &accounts) { clear(); insertStringList(accounts); }
void ComboBox::setWidgetText(const QString& a_text) { clear(); insertStringList(QStringList::split("\n", a_text)); emit widgetTextChanged(a_text); }
QString ListBox::handleDCOP(int function, const QStringList& args) { switch (function) { case DCOP::setText: setWidgetText(args[0]); break; case DCOP::selection: { if (selectionMode() == Single) return currentText(); QString value; for (uint i=0; i<count(); i++) if (isSelected(i)) value += (value.length() ? "\n" : "") + item(i)->text(); return value; } case DCOP::setSelection: { QListBoxItem* found = findItem(args[0], Qt::ExactMatch); if (found) setCurrentItem(index(found)); break; } case DCOP::insertItems: insertStringList(QStringList::split("\n", args[0]), args[1].toInt()); break; case DCOP::insertItem: insertItem(args[0], args[1].toInt()); break; case DCOP::removeItem: removeItem(args[0].toInt()); break; case DCOP::clear: clear(); break; case DCOP::count: return QString::number(count()); case DCOP::currentItem: return QString::number(currentItem()); case DCOP::setCurrentItem: { int index = args[0].toInt(); if (index < (int)count()) setCurrentItem(index); break; } case DCOP::item: { int index = args[0].toInt(); if (index >= 0 && index < (int)count()) return item(index)->text(); else return QString(); } case DCOP::addUniqueItem: if (!findItem(args[0], Qt::ExactMatch)) insertItem(args[0]); break; case DCOP::findItem: { QListBoxItem* found = findItem(args[0], Qt::ExactMatch); if (!found) found = findItem(args[0], Qt::BeginsWith); if (!found) found = findItem(args[0], Qt::Contains); if (found) return QString::number(index(found)); else return QString::number(-1); break; } case DCOP::setPixmap: { QPixmap pixmap = KGlobal::iconLoader()->loadIcon(args[0], KIcon::Small); if (pixmap.isNull()) pixmap.load(args[0]); int index = args[1].toInt(); if (index == -1) { for (uint i=0; i<count(); i++) changeItem(pixmap, text(i), i); } else if (index < (int)count()) changeItem(pixmap, text(index), index); break; } case DCOP::text: { QStringList strings; for(uint i=0; i < count() ; ++i) strings += item(i)->text(); return strings.join("\n"); } case DCOP::geometry: { QString geo = QString::number(this->x())+" "+QString::number(this->y())+" "+QString::number(this->width())+" "+QString::number(this->height()); return geo; break; } case DCOP::hasFocus: return QString::number(this->hasFocus()); break; default: return KommanderWidget::handleDCOP(function, args); } return QString(); }