void KActionSelector::moveItem(QListBoxItem *item) { QListBox *lbFrom = item->listBox(); QListBox *lbTo; if(lbFrom == d->availableListBox) lbTo = d->selectedListBox; else if(lbFrom == d->selectedListBox) lbTo = d->availableListBox; else //?! somewhat unlikely... return; InsertionPolicy p = (lbTo == d->availableListBox) ? d->availableInsertionPolicy : d->selectedInsertionPolicy; lbFrom->takeItem(item); lbTo->insertItem(item, insertionIndex(lbTo, p)); lbTo->setFocus(); lbTo->setCurrentItem(item); if(p == Sorted) lbTo->sort(); if(lbTo == d->selectedListBox) emit added(item); else emit removed(item); }
bool ListBoxDnd::dropEvent( QDropEvent * event ) { if ( dragInside ) { if ( dMode & NullDrop ) { // combined with Move, a NullDrop will delete an item event->accept(); emit dropped( 0 ); // a NullDrop return TRUE; } QPoint pos = event->pos(); QListBoxItem * after = itemAt( pos ); if ( ListBoxItemDrag::decode( event, (QListBox *) src, after ) ) { event->accept(); QListBox * src = (QListBox *) this->src; QListBoxItem * item = ( after ? after->next() : src->firstItem() ); src->setCurrentItem( item ); emit dropped( item ); // ###FIX: Supports only one item! } } line->hide(); dragInside = FALSE; return TRUE; }
void TabDialog::setupTab3() { QVBox *tab3 = new QVBox( this ); tab3->setMargin( 5 ); tab3->setSpacing( 5 ); (void)new QLabel( QString( "Open %1 with:" ).arg( filename ), tab3 ); QListBox *prgs = new QListBox( tab3 ); for ( unsigned int i = 0; i < 30; i++ ) { QString prg = QString( "Application %1" ).arg( i ); prgs->insertItem( prg ); } prgs->setCurrentItem( 3 ); (void)new QCheckBox( QString( "Open files with the extension '%1' always with this application" ).arg( fileinfo.extension() ), tab3 ); addTab( tab3, "Applications" ); }
KScienceSetup::KScienceSetup( QWidget *parent, const char *name ) : KDialogBase( parent, name, true, i18n( "Setup Science Screen Saver" ), Ok|Cancel|Help, Ok, true ), saver( 0 ) { readSettings(); initModeInfo(); QWidget *main = makeMainWidget(); QHBoxLayout *lt = new QHBoxLayout( main, 0, spacingHint()); QVBoxLayout *ltm = new QVBoxLayout; lt->addLayout( ltm ); QVBoxLayout *ltc = new QVBoxLayout; lt->addLayout( ltc ); // mode QLabel *label = new QLabel( i18n("Mode:"), main ); ltm->addWidget( label ); QListBox *c = new QListBox( main ); for(int i = 0; i<MAX_MODES; i++) c->insertItem( modeInfo[i].name ); c->setCurrentItem( mode ); c->setFixedHeight( 5 * c->fontMetrics().height() ); connect( c, SIGNAL( highlighted( int ) ), SLOT( slotMode( int ) ) ); ltm->addWidget( c ); // inverse QCheckBox *cbox = checkInverse = new QCheckBox( i18n("Inverse"), main ); cbox->setEnabled( modeInfo[mode].inverseEnable ); cbox->setChecked( inverse[mode] ); connect( cbox, SIGNAL( clicked() ), SLOT( slotInverse() ) ); ltm->addWidget( cbox ); // gravity cbox = checkGravity = new QCheckBox( i18n("Gravity"), main ); cbox->setChecked( gravity[mode] ); connect( cbox, SIGNAL( clicked() ), SLOT( slotGravity() ) ); ltm->addWidget( cbox ); // hide background cbox = checkHideBG = new QCheckBox( i18n("Hide background"), main ); cbox->setChecked( hideBG[mode] ); connect( cbox, SIGNAL( clicked() ), SLOT( slotHideBG() ) ); ltm->addWidget( cbox ); ltm->addStretch(); // size label = new QLabel( i18n("Size:"), main ); ltc->addWidget( label ); slideSize = new QSlider(9, 50, 5, size[mode], QSlider::Horizontal, main ); slideSize->setMinimumSize( 90, 20 ); slideSize->setTickmarks(QSlider::Below); slideSize->setTickInterval(5); connect( slideSize, SIGNAL( sliderMoved( int ) ), SLOT( slotSize( int ) ) ); connect( slideSize, SIGNAL( sliderPressed() ), SLOT( slotSliderPressed() ) ); connect( slideSize, SIGNAL( sliderReleased() ), SLOT( slotSliderReleased() ) ); ltc->addWidget( slideSize ); // intensity label = new QLabel( i18n("Intensity:"), main ); ltc->addWidget( label ); slideIntensity = new QSlider(0, 10, 1, intensity[mode], QSlider::Horizontal, main ); slideIntensity->setMinimumSize( 90, 20 ); slideIntensity->setTickmarks(QSlider::Below); slideIntensity->setTickInterval(1); connect( slideIntensity, SIGNAL( sliderMoved( int ) ), SLOT( slotIntensity( int )) ); connect( slideIntensity, SIGNAL( sliderPressed() ), SLOT( slotSliderPressed() ) ); connect( slideIntensity, SIGNAL( sliderReleased() ), SLOT( slotSliderReleased() ) ); ltc->addWidget( slideIntensity ); // speed label = new QLabel( i18n("Speed:"), main ); ltc->addWidget( label ); slideSpeed = new QSlider(0, SCI_MAX_SPEED, 10, speed[mode], QSlider::Horizontal, main ); slideSpeed->setMinimumSize( 90, 20 ); slideSpeed->setTickmarks(QSlider::Below); slideSpeed->setTickInterval(10); connect( slideSpeed, SIGNAL( sliderMoved( int ) ), SLOT( slotSpeed( int ) ) ); ltc->addWidget( slideSpeed ); // motion label = new QLabel( i18n("Motion:"), main ); ltc->addWidget( label ); QHBoxLayout *ltcm = new QHBoxLayout; ltc->addLayout( ltcm ); slideMoveX = new QSlider(0, SCI_MAX_MOVE, 5, moveX[mode], QSlider::Horizontal, main ); slideMoveX->setMinimumSize( 40, 20 ); slideMoveX->setTickmarks(QSlider::Below); slideMoveX->setTickInterval(5); connect( slideMoveX, SIGNAL( sliderMoved( int ) ), SLOT( slotMoveX( int ) ) ); ltcm->addWidget( slideMoveX ); slideMoveY = new QSlider(0, SCI_MAX_MOVE, 5, moveY[mode], QSlider::Horizontal, main ); slideMoveY->setMinimumSize( 40, 20 ); slideMoveY->setTickmarks(QSlider::Below); slideMoveY->setTickInterval(5); connect( slideMoveY, SIGNAL( sliderMoved( int ) ), SLOT( slotMoveY( int ) ) ); ltcm->addWidget( slideMoveY ); ltc->addStretch(); // preview preview = new KPreviewWidget( main ); preview->setFixedSize( 220, 170 ); QPixmap p( locate("data", "kscreensaver/pics/kscience.png") ); if( p.isNull() ) preview->setBackgroundColor( black ); else preview->setBackgroundPixmap( p ); preview->show(); // otherwise saver does not get correct size lt->addWidget( preview ); // let the preview window display before creating the saver kapp->processEvents(); saver = new KScienceSaver( preview->winId(), true, !p.isNull() ); preview->notifySaver( saver ); }