RKReadLineDialog::RKReadLineDialog (QWidget *parent, const QString &caption, const QString &prompt, RCommand *command) : KDialogBase (parent, 0, true, caption, KDialogBase::Ok | KDialogBase::Cancel) { RK_TRACE (DIALOGS); RK_ASSERT (command); QVBox *page = makeVBoxMainWidget (); new QLabel (caption, page); int screen_width = qApp->desktop ()->width () - 2*marginHint() - 2*spacingHint (); // TODO is this correct on xinerama? QString context = command->fullOutput (); if (!context.isEmpty ()) { new QLabel (i18n ("Context:"), page); QTextEdit *output = new QTextEdit (page); output->setUndoRedoEnabled (false); output->setTextFormat (QTextEdit::PlainText); output->setCurrentFont (QFont ("Courier")); output->setWordWrap (QTextEdit::NoWrap); output->setText (context); output->setReadOnly (true); int cwidth = output->contentsWidth (); output->setMinimumWidth (screen_width < cwidth ? screen_width : cwidth); output->scrollToBottom (); output->setFocusPolicy (QWidget::NoFocus); } QLabel *promptl = new QLabel (prompt, page); promptl->setAlignment (Qt::WordBreak | promptl->alignment ()); input = new QLineEdit (QString (), page); input->setMinimumWidth (fontMetrics ().maxWidth ()*20); input->setFocus (); }
void ProgressDialog::setupGui(const QString& heading) { QVBox* vbox = makeVBoxMainWidget(); vbox->setSpacing(10); QWidget* headingBox = new QWidget(vbox); QHBoxLayout* hboxLayout = new QHBoxLayout(headingBox); QLabel* textLabel = new QLabel(heading, headingBox); textLabel->setMinimumWidth(textLabel->sizeHint().width()); textLabel->setFixedHeight(textLabel->sizeHint().height()); hboxLayout->addWidget(textLabel); hboxLayout->addStretch(); d->gear = new KAnimWidget(QString("kde"), 32, headingBox); d->gear->setFixedSize(32, 32); hboxLayout->addWidget(d->gear); d->resultbox = new QListBox(vbox); d->resultbox->setSelectionMode(QListBox::NoSelection); QFontMetrics fm(d->resultbox->fontMetrics()); d->resultbox->setMinimumSize(fm.width("0")*70, fm.lineSpacing()*8); resize(sizeHint()); }
KHLogin::KHLogin(QWidget *parent ) : KDialogBase(parent, "KHLogin", true, i18n("Log in"), User1 |KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, true) { QVBox *page = makeVBoxMainWidget(); page->setMargin(5); page->setLineWidth(4); page->setMidLineWidth(4); page->setFrameStyle (QFrame::Box | QFrame::Raised ); QVGroupBox *m_container = new QVGroupBox(i18n("Select your player"),page); m_selector = new KHSelectUser(m_container); m_selector->readPlayers(true); connect(m_selector, SIGNAL(playerSelected()), this, SLOT(setPlayerInformation())); QVBox *m_infoBox = new QVBox(m_container); m_labelName = new QLabel(i18n("Name: "), m_container); m_labelElo = new QLabel(i18n("Elo: "), m_container); m_labelType = new QLabel(i18n("Type: "), m_container); new KSeparator(m_container); new QLabel(i18n("Login"), m_container); m_login = new KLineEdit(m_container); new QLabel(i18n("Password"), m_container); m_password = new KLineEdit(m_container); setModal(true); setButtonGuiItem (KDialogBase::User1, KGuiItem( i18n("Create a new user"), SmallIcon("penguin"), i18n("Click to create new user"), i18n("Clicking this button you can create a new user") )); hide(); }
KexiAddParamDialog::KexiAddParamDialog(QWidget *parent) : KDialog(parent, "kexiaddparamdialog", true, i18n("Add Parameter"), KDialog::Ok | KDialog::Cancel, KDialog::Ok, true) { m_wid = new KexiAddParamWidget(makeVBoxMainWidget()); for (int i = 1;i <= KexiDataProvider::Parameter::maxType;i++) m_wid->typecombo->insertItem(KexiDataProvider::Parameter::typeDescription[i]); }
KPrDuplicatObjDia::KPrDuplicatObjDia( QWidget *parent, KPrDocument * _doc, const char *name) : KDialogBase( parent, name, true, "", Ok | Cancel, Ok, true ) { m_doc=_doc; KoUnit::Unit unit = m_doc->unit(); KoRect pageRect = m_doc->masterPage()->getPageRect(); setCaption( i18n("Duplicate Object") ); QVBox *page = makeVBoxMainWidget(); QLabel *lab=new QLabel(i18n("Number of copies:"), page); m_nbCopy = new KIntNumInput( 1, page ); m_nbCopy->setRange( 1 , 10, 1); KSeparator *tmp=new KSeparator(page); lab=new QLabel(i18n("Rotation angle:"), page); m_rotation = new KDoubleNumInput( page, "customInput" ); m_rotation->setRange(0.0, 360, 1, false); tmp=new KSeparator(page); lab=new QLabel(i18n("Increase width:"), page); m_increaseX= new KoUnitDoubleSpinBox( page ); m_increaseX->setMinValue(0.0); m_increaseX->setMaxValue(pageRect.width()); m_increaseX->changeValue( 1 ); m_increaseX->setUnit(unit); lab=new QLabel(i18n("Increase height:"), page); m_increaseY= new KoUnitDoubleSpinBox( page ); m_increaseY->setMinValue(0.0); m_increaseY->setMaxValue(pageRect.height()); m_increaseY->changeValue( 1 ); m_increaseY->setUnit(unit); tmp=new KSeparator(page); lab=new QLabel(i18n("Move X:"), page); m_moveX= new KoUnitDoubleSpinBox( page ); m_moveX->setMinValue(0.0); m_moveX->setMaxValue(pageRect.width()); m_moveX->changeValue( 20.0 ); m_moveX->setUnit(unit); lab=new QLabel(i18n("Move Y:"), page); m_moveY= new KoUnitDoubleSpinBox( page ); m_moveY->setMinValue(0.0); m_moveY->setMaxValue(pageRect.height()); m_moveY->changeValue( 20.0 ); m_moveY->setUnit(unit); resize( 200,100 ); }
//--------------------------------------------------------------------------- // // Constructor // AmorDialog::AmorDialog() : KDialogBase(0, "amordlg", false, i18n("Options"), Ok|Apply|Cancel, Ok ) { mConfig.read(); QVBox *mainwidget = makeVBoxMainWidget(); QHBox *hb = new QHBox(mainwidget); // Theme list QVBox *themeBox = new QVBox(hb); themeBox->setSpacing(spacingHint()); QLabel *label = new QLabel(i18n("Theme:"), themeBox); mThemeListBox = new QListBox(themeBox); connect(mThemeListBox,SIGNAL(highlighted(int)),SLOT(slotHighlighted(int))); mThemeListBox->setMinimumSize( fontMetrics().maxWidth()*20, fontMetrics().lineSpacing()*6 ); mAboutEdit = new QMultiLineEdit(themeBox); mAboutEdit->setReadOnly(true); mAboutEdit->setMinimumHeight( fontMetrics().lineSpacing()*4 ); themeBox->setStretchFactor(mThemeListBox, 4); themeBox->setStretchFactor(mAboutEdit, 1); // Animation offset QVBox *offsetBox = new QVBox(hb); offsetBox->setSpacing(spacingHint()); label = new QLabel(i18n("Offset:"), offsetBox); QSlider *slider = new QSlider(-40, 40, 5, mConfig.mOffset, QSlider::Vertical, offsetBox); connect(slider, SIGNAL(valueChanged(int)), SLOT(slotOffset(int))); // Always on top QCheckBox *checkBox = new QCheckBox(i18n("Always on top"), mainwidget); connect(checkBox, SIGNAL(toggled(bool)), SLOT(slotOnTop(bool))); checkBox->setChecked(mConfig.mOnTop); checkBox = new QCheckBox(i18n("Show random tips"), mainwidget); connect(checkBox, SIGNAL(toggled(bool)), SLOT(slotRandomTips(bool))); checkBox->setChecked(mConfig.mTips); // always keep this one after the connect, or the QList would not be grayed when it should checkBox = new QCheckBox(i18n("Use a random character"), mainwidget); connect(checkBox, SIGNAL(toggled(bool)), SLOT(slotRandomTheme(bool))); checkBox->setChecked(mConfig.mRandomTheme); checkBox = new QCheckBox(i18n("Allow application tips"), mainwidget); connect(checkBox, SIGNAL(toggled(bool)), SLOT(slotApplicationTips(bool))); checkBox->setChecked(mConfig.mAppTips); readThemes(); }
KSnapshot::KSnapshot(QWidget *parent, const char *name) : super(parent, name, false, QString::null, Ok|Cancel) { grabber = new QWidget( 0, 0, WStyle_Customize | WX11BypassWM ); Q_CHECK_PTR(grabber); grabber->move( -1000, -1000 ); grabber->installEventFilter( this ); #ifdef HAVE_X11_EXTENSIONS_SHAPE_H int tmp1, tmp2; //Check whether the extension is available haveXShape = XShapeQueryExtension( qt_xdisplay(), &tmp1, &tmp2 ); #endif QVBox *vbox = makeVBoxMainWidget(); mainWidget = new KSnapshotWidget( vbox, "mainWidget" ); Q_CHECK_PTR(mainWidget); mainWidget->btnSave->hide(); mainWidget->btnPrint->hide(); connect(mainWidget, SIGNAL(startImageDrag()), SLOT(slotDragSnapshot())); connect( mainWidget, SIGNAL( newClicked() ), SLOT( slotGrab() ) ); connect( mainWidget, SIGNAL( printClicked() ), SLOT( slotPrint() ) ); grabber->show(); grabber->grabMouse( waitCursor ); snapshot = QPixmap::grabWindow( qt_xrootwin() ); updatePreview(); grabber->releaseMouse(); grabber->hide(); KConfig *conf=KGlobal::config(); conf->setGroup("GENERAL"); mainWidget->setDelay(conf->readNumEntry("delay",0)); mainWidget->setMode( conf->readNumEntry( "mode", 0 ) ); mainWidget->setIncludeDecorations(conf->readBoolEntry("includeDecorations",true)); connect( &grabTimer, SIGNAL( timeout() ), this, SLOT( grabTimerDone() ) ); KAccel* accel = new KAccel(this); Q_CHECK_PTR(accel); accel->insert(KStdAccel::Print, this, SLOT(slotPrint())); accel->insert(KStdAccel::New, this, SLOT(slotGrab())); accel->insert( "Print2", Qt::Key_P, this, SLOT(slotPrint())); accel->insert( "New2", Qt::Key_N, this, SLOT(slotGrab())); accel->insert( "New3", Qt::Key_Space, this, SLOT(slotGrab())); mainWidget->btnNew->setFocus(); }
KoCompletionDia::KoCompletionDia( QWidget *parent, const char *name, KoAutoFormat * autoFormat ) : KDialogBase( parent, name , true, i18n( "Completion" ), Ok|Cancel|User1, Ok, true, KGuiItem( i18n( "&Reset" ), "undo" ) ) { QVBox *page = makeVBoxMainWidget(); m_widget = new KoCompletion(page, autoFormat); m_widget->layout()->setMargin(0); connect( this, SIGNAL( user1Clicked() ), m_widget, SLOT(slotResetConf())); setButtonWhatsThis(Ok,i18n("This will save your options.")); setButtonWhatsThis(Cancel,i18n("This will abort all changes.")); setButtonWhatsThis(User1,i18n("This will reset to the state after you clicked on the Make Default button.")); }
PMInsertErrorDialog::PMInsertErrorDialog( int numObj, int numErrors, const QStringList& details, QWidget* parent /*= 0*/, const char* name /*= 0*/ ) : KDialogBase( parent, name, true, i18n( "Insert Errors" ), Help | Ok | User1, Ok, false, i18n( "Details" ) ) { QVBox* page = makeVBoxMainWidget( ); new QLabel( i18n( "%1 of %2 objects couldn't be inserted." ) .arg( numErrors ).arg( numObj ), page ); m_pDetailsLabel = new QLabel( i18n( "Objects not inserted:" ), page ); m_pDetailsLabel->hide( ); m_pDetails = new QListBox( page ); m_pDetails->insertStringList( details, 0 ); m_pDetails->setMinimumHeight( 150 ); m_pDetails->hide( ); }
reportView::reportView(const QString &reportLocation) : KDialogBase( (QWidget *)0, "report", false, QString::null, Close ), m_locationCode(reportLocation) { QVBox *vbox = makeVBoxMainWidget(); m_reportView = new KHTMLPart(vbox, "m_reportView"); KConfig config( "weather_panelappletrc" ); config.setGroup( "General Options" ); QSize defaultSize( 450, 325 ); resize( config.readSizeEntry( "reportview_size", &defaultSize ) ); centerOnScreen( this ); m_weatherService = new WeatherService_stub( "KWeatherService", "WeatherService" ); QPixmap icon = m_weatherService->icon( m_locationCode ); setIcon( icon ); render(); }
KoChangeCaseDia::KoChangeCaseDia( QWidget *parent, const char *name ) : KDialogBase( parent, name , true, "", Ok|Cancel, Ok, true ) { setCaption( i18n("Change Case") ); QVBox *page = makeVBoxMainWidget(); QButtonGroup *grp = new QButtonGroup( 1, QGroupBox::Horizontal, i18n( "Case" ),page ); grp->setRadioButtonExclusive( TRUE ); grp->layout(); m_upperCase=new QRadioButton( i18n("&Uppercase"), grp ); m_lowerCase=new QRadioButton( i18n("&Lowercase"), grp ); m_titleCase=new QRadioButton( i18n("T&itle case"), grp ); m_toggleCase=new QRadioButton( i18n("&Toggle case"), grp ); m_sentenceCase=new QRadioButton( i18n("Sentence case"), grp ); QWhatsThis::add( m_sentenceCase, i18n("Convert first letter of a sentence to uppercase.")); m_upperCase->setChecked(true); grp->setRadioButtonExclusive( TRUE ); }
/////////////////////////////////////////////////////////////////////////// // KateMailDialog implementation /////////////////////////////////////////////////////////////////////////// KateMailDialog::KateMailDialog( TQWidget *parent, KateMainWindow *mainwin ) : KDialogBase( parent, "kate mail dialog", true, i18n("Email Files"), Ok|Cancel|User1, Ok, false, KGuiItem( i18n("&Show All Documents >>") ) ), mainWindow( mainwin ) { setButtonGuiItem( KDialogBase::Ok, KGuiItem( i18n("&Mail..."), "mail-send") ); mw = makeVBoxMainWidget(); mw->installEventFilter( this ); lInfo = new TQLabel( i18n( "<p>Press <strong>Mail...</strong> to email the current document." "<p>To select more documents to send, press <strong>Show All Documents >></strong>."), mw ); // TODO avoid untill needed - later list = new TDEListView( mw ); list->addColumn( i18n("Name") ); list->addColumn( i18n("URL") ); Kate::Document *currentDoc = mainWindow->viewManager()->activeView()->getDoc(); uint n = KateDocManager::self()->documents(); uint i = 0; TQCheckListItem *item; while ( i < n ) { Kate::Document *doc = KateDocManager::self()->document( i ); if ( doc ) { item = new KateDocCheckItem( list, doc->docName(), doc ); item->setText( 1, doc->url().prettyURL() ); if ( doc == currentDoc ) { item->setOn( true ); item->setSelected( true ); } } i++; } list->hide(); connect( this, TQT_SIGNAL(user1Clicked()), this, TQT_SLOT(slotShowButton()) ); mw->setMinimumSize( lInfo->sizeHint() ); }
KSnapshot::KSnapshot(QWidget *parent, const char *name, bool grabCurrent) : DCOPObject("interface"), KDialogBase(parent, name, true, QString::null, Help|User1, User1, true, KStdGuiItem::quit() ) { grabber = new QWidget( 0, 0, WStyle_Customize | WX11BypassWM ); grabber->move( -1000, -1000 ); grabber->installEventFilter( this ); KStartupInfo::appStarted(); QVBox *vbox = makeVBoxMainWidget(); mainWidget = new KSnapshotWidget( vbox, "mainWidget" ); connect(mainWidget, SIGNAL(startImageDrag()), SLOT(slotDragSnapshot())); connect( mainWidget, SIGNAL( newClicked() ), SLOT( slotGrab() ) ); connect( mainWidget, SIGNAL( saveClicked() ), SLOT( slotSaveAs() ) ); connect( mainWidget, SIGNAL( printClicked() ), SLOT( slotPrint() ) ); connect( mainWidget, SIGNAL( copyClicked() ), SLOT( slotCopy() ) ); grabber->show(); grabber->grabMouse( waitCursor ); if ( !grabCurrent ) snapshot = QPixmap::grabWindow( qt_xrootwin() ); else { mainWidget->setMode( WindowUnderCursor ); mainWidget->setIncludeDecorations( true ); performGrab(); } updatePreview(); grabber->releaseMouse(); grabber->hide(); KConfig *conf=KGlobal::config(); conf->setGroup("GENERAL"); mainWidget->setDelay(conf->readNumEntry("delay",0)); mainWidget->setMode( conf->readNumEntry( "mode", 0 ) ); mainWidget->setIncludeDecorations(conf->readBoolEntry("includeDecorations",true)); filename = KURL::fromPathOrURL( conf->readPathEntry( "filename", QDir::currentDirPath()+"/"+i18n("snapshot")+"1.png" )); // Make sure the name is not already being used while(KIO::NetAccess::exists( filename, false, this )) { autoincFilename(); } connect( &grabTimer, SIGNAL( timeout() ), this, SLOT( grabTimerDone() ) ); connect( &updateTimer, SIGNAL( timeout() ), this, SLOT( updatePreview() ) ); QTimer::singleShot( 0, this, SLOT( updateCaption() ) ); KHelpMenu *helpMenu = new KHelpMenu(this, KGlobal::instance()->aboutData(), false); QPushButton *helpButton = actionButton( Help ); helpButton->setPopup(helpMenu->menu()); KAccel* accel = new KAccel(this); accel->insert(KStdAccel::Quit, kapp, SLOT(quit())); accel->insert( "QuickSave", i18n("Quick Save Snapshot &As..."), i18n("Save the snapshot to the file specified by the user without showing the file dialog."), CTRL+SHIFT+Key_S, this, SLOT(slotSave())); accel->insert(KStdAccel::Save, this, SLOT(slotSaveAs())); // accel->insert(KShortcut(CTRL+Key_A), this, SLOT(slotSaveAs())); accel->insert( "SaveAs", i18n("Save Snapshot &As..."), i18n("Save the snapshot to the file specified by the user."), CTRL+Key_A, this, SLOT(slotSaveAs())); accel->insert(KStdAccel::Print, this, SLOT(slotPrint())); accel->insert(KStdAccel::New, this, SLOT(slotGrab())); accel->insert(KStdAccel::Copy, this, SLOT(slotCopy())); accel->insert( "Quit2", Key_Q, this, SLOT(slotSave())); accel->insert( "Save2", Key_S, this, SLOT(slotSaveAs())); accel->insert( "Print2", Key_P, this, SLOT(slotPrint())); accel->insert( "New2", Key_N, this, SLOT(slotGrab())); accel->insert( "New3", Key_Space, this, SLOT(slotGrab())); setEscapeButton( User1 ); connect( this, SIGNAL( user1Clicked() ), SLOT( reject() ) ); mainWidget->btnNew->setFocus(); }
TransferDialog::TransferDialog( MediaDevice *mdev ) : KDialogBase( Pana::mainWindow(), "transferdialog", true, QString::null, Ok|Cancel, Ok ) { m_dev = mdev; m_accepted = false; m_sort1LastIndex = m_sort2LastIndex = -1; kapp->setTopWidget( this ); setCaption( kapp->makeStdCaption( i18n( "Transfer Queue to Device" ) ) ); QVBox* vbox = makeVBoxMainWidget(); vbox->setSpacing( KDialog::spacingHint() ); QString transferDir = mdev->getTransferDir(); QGroupBox *location = new QGroupBox( 1, Qt::Vertical, i18n( "Music Location" ), vbox ); new QLabel( i18n( "Your music will be transferred to:\n%1" ) .arg( transferDir ), location ); QVBox *vbox2 = new QVBox( vbox ); QSpacerItem *spacer = new QSpacerItem( 0, 25 ); QLayout *vlayout = vbox2->layout(); if( vlayout ) vlayout->addItem( spacer ); new QLabel( i18n( "You can have your music automatically grouped in\n" "a variety of ways. Each grouping will create\n" "directories based upon the specified criteria.\n"), vbox ); QGroupBox *sorting = new QGroupBox( 6, Qt::Vertical, i18n( "Groupings" ), vbox ); m_label1 = new QLabel( i18n( "Select first grouping:\n" ), sorting ); m_sort1 = new KComboBox( sorting ); m_label2 = new QLabel( i18n( "Select second grouping:\n" ), sorting ); m_sort2 = new KComboBox( sorting ); m_label3 = new QLabel( i18n( "Select third grouping:\n" ), sorting ); m_sort3 = new KComboBox( sorting ); m_combolist = new QPtrList<KComboBox>(); m_combolist->append( m_sort1 ); m_combolist->append( m_sort2 ); m_combolist->append( m_sort3 ); KComboBox * comboTemp; for( comboTemp = m_combolist->first(); comboTemp; comboTemp = m_combolist->next() ) { comboTemp->insertItem( i18n("None") ); comboTemp->insertItem( i18n("Artist") ); comboTemp->insertItem( i18n("Album") ); comboTemp->insertItem( i18n("Genre") ); comboTemp->setCurrentItem( 0 ); } m_sort1->setCurrentItem( mdev->m_firstSort ); m_sort2->setCurrentItem( mdev->m_secondSort ); m_sort3->setCurrentItem( mdev->m_thirdSort ); m_label2->setDisabled( m_sort1->currentItem() == 0 ); m_sort2->setDisabled( m_sort1->currentItem() == 0 ); m_label3->setDisabled( m_sort2->currentItem() == 0 ); m_sort3->setDisabled( m_sort2->currentItem() == 0 ); connect( m_sort1, SIGNAL( activated(int) ), SLOT( sort1_activated(int)) ); connect( m_sort2, SIGNAL( activated(int) ), SLOT( sort2_activated(int)) ); QVBox *vbox3 = new QVBox( vbox ); QSpacerItem *spacer2 = new QSpacerItem( 0, 25 ); QLayout *vlayout2 = vbox3->layout(); if( vlayout2 ) vlayout2->addItem( spacer2 ); QGroupBox *options = new QGroupBox( 6, Qt::Vertical, i18n( "Options" ), vbox ); QCheckBox *convertSpaces = new QCheckBox( i18n( "Convert spaces to underscores" ), options ); convertSpaces->setChecked( mdev->getSpacesToUnderscores() ); connect( convertSpaces, SIGNAL( toggled(bool) ), this, SLOT( convertSpaces_toggled(bool) ) ); }
DeviceConfigureDialog::DeviceConfigureDialog( const Medium &medium ) : KDialogBase( amaroK::mainWindow(), "deviceconfiguredialog", true, QString("Select Plugin for " + medium.name()), Ok|Cancel, Ok, false ) { m_medium = new Medium( medium ); kapp->setTopWidget( this ); setCaption( kapp->makeStdCaption( i18n( "Configure Media Device" ) ) ); showButtonApply( false ); QVBox* vbox = makeVBoxMainWidget(); vbox->setSpacing( KDialog::spacingHint() ); QLabel *connectLabel = 0; m_connectEdit = 0; QLabel *disconnectLabel = 0; m_disconnectEdit = 0; m_transcodeCheck = 0; QButtonGroup *transcodeGroup = 0; m_transcodeAlways = 0; m_transcodeWhenNecessary = 0; m_transcodeRemove = 0; MediaDevice* device = MediaBrowser::instance()->deviceFromId( m_medium->id() ); if( device ) { device->loadConfig(); // pre-connect/post-disconnect (mount/umount) connectLabel = new QLabel( vbox ); connectLabel->setText( i18n( "Pre-&connect command:" ) ); m_connectEdit = new HintLineEdit( device->m_preconnectcmd, vbox ); m_connectEdit->setHint( i18n( "Example: mount %d" ) ); connectLabel->setBuddy( m_connectEdit ); QToolTip::add( m_connectEdit, i18n( "Set a command to be run before connecting to your device (e.g. a mount command) here.\n%d is replaced by the device node, %m by the mount point.\nEmpty commands are not executed." ) ); disconnectLabel = new QLabel( vbox ); disconnectLabel->setText( i18n( "Post-&disconnect command:" ) ); m_disconnectEdit = new HintLineEdit( device->m_postdisconnectcmd, vbox ); disconnectLabel->setBuddy( m_disconnectEdit ); m_disconnectEdit->setHint( i18n( "Example: eject %d" ) ); QToolTip::add( m_disconnectEdit, i18n( "Set a command to be run after disconnecting from your device (e.g. an eject command) here.\n%d is replaced by the device node, %m by the mount point.\nEmpty commands are not executed." ) ); // transcode m_transcodeCheck = new QCheckBox( vbox ); m_transcodeCheck->setText( i18n( "&Transcode before transferring to device" ) ); m_transcodeCheck->setChecked( device->m_transcode ); transcodeGroup = new QVButtonGroup( vbox ); transcodeGroup->setTitle( i18n( "Transcode to preferred format for device" ) ); m_transcodeAlways = new QRadioButton( transcodeGroup ); m_transcodeAlways->setText( i18n( "Whenever possible" ) ); m_transcodeAlways->setChecked( device->m_transcodeAlways ); m_transcodeWhenNecessary = new QRadioButton( transcodeGroup ); m_transcodeWhenNecessary->setText( i18n( "When necessary" ) ); m_transcodeWhenNecessary->setChecked( !device->m_transcodeAlways ); connect( m_transcodeCheck, SIGNAL(toggled( bool )), transcodeGroup, SLOT(setEnabled( bool )) ); transcodeGroup->insert( m_transcodeAlways ); transcodeGroup->insert( m_transcodeWhenNecessary ); m_transcodeRemove = new QCheckBox( transcodeGroup ); m_transcodeRemove->setText( i18n( "Remove transcoded files after transfer" ) ); m_transcodeRemove->setChecked( device->m_transcodeRemove ); const ScriptManager *sm = ScriptManager::instance(); m_transcodeCheck->setEnabled( sm->transcodeScriptRunning() != QString::null ); transcodeGroup->setEnabled( sm->transcodeScriptRunning() != QString::null && device->m_transcode ); if( sm->transcodeScriptRunning().isNull() ) { QToolTip::add( m_transcodeCheck, i18n( "For this feature, a script of type \"Transcode\" has to be running" ) ); QToolTip::add( transcodeGroup, i18n( "For this feature, a script of type \"Transcode\" has to be running" ) ); } device->addConfigElements( vbox ); } m_accepted = false; }
void SmartPlaylistEditor::init(QString defaultName) { makeVBoxMainWidget(); m_fields.clear(); m_fields << i18n("Artist") << i18n("Album") << i18n("Genre") << i18n("Title") << i18n("Length") << i18n("Track #") << i18n("Year") << i18n("Comment") << i18n("Play Counter") << i18n("Score") << i18n( "Rating" ) << i18n("First Play") << i18n("Last Play") << i18n("Modified Date") << i18n("File Path"); m_dbFields.clear(); m_dbFields << "artist.name" << "album.name" << "genre.name" << "tags.title" << "tags.length" << "tags.track" << "year.name" << "tags.comment" << "statistics.playcounter" << "statistics.percentage" << "statistics.rating" << "statistics.createdate" << "statistics.accessdate" << "tags.createdate" << "tags.url" << "tags.sampler"; m_expandableFields.clear(); m_expandableFields << i18n("Artist") << i18n("Album") << i18n("Genre") << i18n("Year"); m_expandableDbFields.clear(); m_expandableDbFields << "artist.name" << "album.name" << "genre.name" << "year.name"; QHBox *hbox = new QHBox( mainWidget() ); hbox->setSpacing( 5 ); new QLabel( i18n("Playlist name:"), hbox ); m_nameLineEdit = new KLineEdit( defaultName, hbox ); QFrame *sep = new QFrame( mainWidget() ); sep->setFrameStyle( QFrame::HLine | QFrame::Sunken ); //match box (any) QHBox *matchAnyBox = new QHBox( mainWidget() ); m_matchAnyCheck = new QCheckBox( i18n("Match Any of the following conditions" ), matchAnyBox ); matchAnyBox->setStretchFactor( new QWidget( matchAnyBox ), 1 ); //criteria box m_criteriaAnyGroupBox = new QVGroupBox( QString::null, mainWidget() ); //match box (all) QHBox *matchAllBox = new QHBox( mainWidget() ); m_matchAllCheck = new QCheckBox( i18n("Match All of the following conditions" ), matchAllBox ); matchAllBox->setStretchFactor( new QWidget( matchAllBox ), 1 ); //criteria box m_criteriaAllGroupBox = new QVGroupBox( QString::null, mainWidget() ); //order box QHBox *hbox2 = new QHBox( mainWidget() ); m_orderCheck = new QCheckBox( i18n("Order by"), hbox2 ); QHBox *orderBox = new QHBox( hbox2 ); orderBox->setSpacing( 5 ); //fields combo m_orderCombo = new KComboBox( orderBox ); m_orderCombo->insertStringList( m_fields ); m_orderCombo->insertItem( i18n("Random") ); //order type m_orderTypeCombo = new KComboBox( orderBox ); updateOrderTypes(0); // populate the new m_orderTypeCombo hbox2->setStretchFactor( new QWidget( hbox2 ), 1 ); //limit box QHBox *hbox1 = new QHBox( mainWidget() ); m_limitCheck = new QCheckBox( i18n("Limit to"), hbox1 ); QHBox *limitBox = new QHBox( hbox1 ); limitBox->setSpacing( 5 ); m_limitSpin = new KIntSpinBox( limitBox ); m_limitSpin->setMinValue( 1 ); m_limitSpin->setMaxValue( 1000 ); m_limitSpin->setValue( 15 ); new QLabel( i18n("tracks"), limitBox ); hbox1->setStretchFactor( new QWidget( hbox1 ), 1 ); //Expand By QHBox *hbox3 = new QHBox( mainWidget() ); m_expandCheck = new QCheckBox( i18n("Expand by"), hbox3 ); QHBox *expandBox = new QHBox( hbox3 ); expandBox->setSpacing( 5 ); m_expandCombo = new KComboBox( expandBox ); m_expandCombo->insertStringList( m_expandableFields ); hbox3->setStretchFactor( new QWidget( hbox3 ), 1 ); //add stretch static_cast<QHBox *>(mainWidget())->setStretchFactor(new QWidget(mainWidget()), 1); connect( m_matchAnyCheck, SIGNAL( toggled(bool) ), m_criteriaAnyGroupBox, SLOT( setEnabled(bool) ) ); connect( m_matchAllCheck, SIGNAL( toggled(bool) ), m_criteriaAllGroupBox, SLOT( setEnabled(bool) ) ); connect( m_orderCheck, SIGNAL( toggled(bool) ), orderBox, SLOT( setEnabled(bool) ) ); connect( m_limitCheck, SIGNAL( toggled(bool) ), limitBox, SLOT( setEnabled(bool) ) ); connect( m_expandCheck, SIGNAL( toggled(bool) ), expandBox, SLOT( setEnabled(bool) ) ); connect( m_orderCombo, SIGNAL( activated(int) ), this, SLOT( updateOrderTypes(int) ) ); m_criteriaAnyGroupBox->setEnabled( false ); m_criteriaAllGroupBox->setEnabled( false ); orderBox->setEnabled( false ); limitBox->setEnabled( false ); expandBox->setEnabled( false ); m_nameLineEdit->setFocus(); resize( 550, 200 ); }