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.")); }
ErrorMessage::ErrorMessage (QWidget *parent) : KDialogBase (parent, "errorDialog", false, 0, KDialogBase::Close | KDialogBase::Help | KDialogBase::User1, KDialogBase::Close, true, i18n("Help on &Error") ) { connect( this, SIGNAL( user1Clicked() ), this, SLOT( showHelpOnError() ) ); connect( this, SIGNAL( helpClicked() ), this, SLOT( errorMessageHelp() ) ); setCaption( i18n("Error Dialog") ); setButtonWhatsThis( KDialogBase::Close, i18n("Closes this error dialog") ); setButtonWhatsThis( KDialogBase::Help, i18n("Click here to read more on this error dialog in KTurtle's Handbook.") ); setButtonTip( KDialogBase::Help, i18n("Click here for help using this error dialog") ); setButtonWhatsThis( KDialogBase::User1, i18n("Click here for help regarding the error you selected in the list. This button will not work when no error is selected.") ); setButtonTip( KDialogBase::User1, i18n("Click here for help regarding the error you selected.") ); QWidget *baseWidget = new QWidget(this); setMainWidget(baseWidget); baseLayout = new QVBoxLayout(baseWidget); label = new QLabel(baseWidget); label->setText( i18n("In this list you find the error(s) that resulted from running your Logo code. \nGood luck!") ); // \nYou can select an error and click the 'Help on Error' button for help. label->setScaledContents(true); baseLayout->addWidget(label); spacer = new QSpacerItem( 10, 10, QSizePolicy::Minimum, QSizePolicy::Fixed ); baseLayout->addItem(spacer); errTable = new QTable(0, 3, baseWidget); errTable->setSelectionMode(QTable::SingleRow); errTable->setReadOnly(true); errTable->setShowGrid(false); errTable->setFocusStyle(QTable::FollowStyle); errTable->setLeftMargin(0); errTable->horizontalHeader()->setLabel( 0, i18n("number") ); errTable->hideColumn(0); // needed to link with the errorData which stores the tokens, codes, etc. errTable->horizontalHeader()->setLabel( 1, i18n("line") ); errTable->setColumnWidth(1, baseWidget->fontMetrics().width("88888") ); errTable->horizontalHeader()->setLabel( 2, i18n("description") ); errTable->setColumnStretchable(2, true); baseLayout->addWidget(errTable); // Since both help buttons are not working yet. Doc need a section on the Error Dialog! enableButton(KDialogBase::Help, false); enableButton(KDialogBase::User1, false); errCount = 1; }
RestartOrBack::RestartOrBack (QWidget *parent) : KDialogBase (parent, "rbDialog", true, 0, KDialogBase::User1 | KDialogBase::User2, KDialogBase::User2, false, i18n("&Restart"), i18n("&Back") ) { setPlainCaption( i18n("Finished Execution") ); setButtonWhatsThis( KDialogBase::User1, i18n("Click here to restart the current logo program.") ); setButtonWhatsThis( KDialogBase::User2, i18n("Click here to switch back to the edit mode.") ); QWidget *baseWidget = new QWidget(this); setMainWidget(baseWidget); baseLayout = new QVBoxLayout(baseWidget); label = new QLabel(baseWidget); label->setText( i18n("Execution was finished without errors.\nWhat do you want to do next?") ); label->setScaledContents(true); baseLayout->addWidget(label); disableResize(); }
PublishDialog::PublishDialog( QWidget *parent ) : KDialog( parent ) { setCaption( i18n( "Select Addresses" ) ); setButtons( Ok|Cancel|Help ); setHelp( "group-scheduling", "korganizer" ); QWidget *widget = new QWidget( this ); widget->setObjectName( "PublishFreeBusy" ); mUI.setupUi( widget ); setMainWidget( widget ); mUI.mListWidget->setSelectionMode( QAbstractItemView::SingleSelection ); mUI.mNameLineEdit->setEnabled( false ); mUI.mEmailLineEdit->setEnabled( false ); setButtonToolTip( Ok, i18n( "Send email to these recipients" ) ); setButtonWhatsThis( Ok, i18n( "Clicking the <b>Ok</b> button will cause " "an email to be sent to the recipients you " "have entered." ) ); setButtonToolTip( Cancel, i18n( "Cancel recipient selection and the email" ) ); setButtonWhatsThis( Cancel, i18n( "Clicking the <b>Cancel</b> button will " "cause the email operation to be terminated." ) ); setButtonWhatsThis( Help, i18n( "Click the <b>Help</b> button to read " "more information about Group Scheduling." ) ); mUI.mNew->setIcon( KIcon( "list-add" ) ); mUI.mRemove->setIcon( KIcon( "list-remove" ) ); mUI.mRemove->setEnabled( false ); mUI.mSelectAddressee->setIcon( KIcon( "view-pim-contacts" ) ); connect( mUI.mListWidget, SIGNAL(itemSelectionChanged()), SLOT(updateInput()) ); connect( mUI.mNew, SIGNAL(clicked()), SLOT(addItem()) ); connect( mUI.mRemove, SIGNAL(clicked()), SLOT(removeItem()) ); connect( mUI.mSelectAddressee, SIGNAL(clicked()), SLOT(openAddressbook()) ); connect( mUI.mNameLineEdit, SIGNAL(textChanged(const QString &)), SLOT(updateItem()) ); connect( mUI.mEmailLineEdit, SIGNAL(textChanged(const QString &)), SLOT(updateItem()) ); }
DeferAlarmDlg::DeferAlarmDlg(const QString &caption, const DateTime &initialDT, bool cancelButton, QWidget *parent, const char *name) : KDialogBase(parent, name, true, caption, Ok | Cancel | User1, Ok, false, i18n("Cancel &Deferral")) { if(!cancelButton) showButton(User1, false); QWidget *page = new QWidget(this); setMainWidget(page); QVBoxLayout *layout = new QVBoxLayout(page, 0, spacingHint()); mTimeWidget = new AlarmTimeWidget(AlarmTimeWidget::DEFER_TIME, page, "timeGroup"); mTimeWidget->setDateTime(initialDT); mTimeWidget->setMinDateTimeIsCurrent(); connect(mTimeWidget, SIGNAL(pastMax()), SLOT(slotPastLimit())); layout->addWidget(mTimeWidget); layout->addSpacing(spacingHint()); setButtonWhatsThis(Ok, i18n("Defer the alarm until the specified time.")); setButtonWhatsThis(User1, i18n("Cancel the deferred alarm. This does not affect future recurrences.")); }
KateMwModOnHdDialog::KateMwModOnHdDialog( DocVector docs, QWidget *parent, const char *name ) : KDialog( parent ), m_proc( 0 ), m_diffFile( 0 ) { setCaption( i18n("Documents Modified on Disk") ); setButtons( User1 | User2 | User3 ); setButtonGuiItem( User1, KGuiItem (i18n("&Ignore"), "window-close") ); setButtonGuiItem( User2, KStandardGuiItem::overwrite() ); setButtonGuiItem( User3, KGuiItem (i18n("&Reload"), "view-refresh") ); setObjectName( name ); setModal( true ); setDefaultButton( KDialog::User3 ); setButtonWhatsThis( User1, i18n( "Removes the modified flag from the selected documents and closes the " "dialog if there are no more unhandled documents.") ); setButtonWhatsThis( User2, i18n( "Overwrite selected documents, discarding the disk changes and closes the " "dialog if there are no more unhandled documents.") ); setButtonWhatsThis( User3, i18n( "Reloads the selected documents from disk and closes the dialog if there " "are no more unhandled documents.") ); KVBox *w = new KVBox( this ); setMainWidget( w ); w->setSpacing( KDialog::spacingHint() ); KHBox *lo1 = new KHBox( w ); // dialog text QLabel *icon = new QLabel( lo1 ); icon->setPixmap( DesktopIcon("dialog-warning") ); QLabel *t = new QLabel( i18n( "<qt>The documents listed below have changed on disk.<p>Select one " "or more at once, and press an action button until the list is empty.</p></qt>"), lo1 ); lo1->setStretchFactor( t, 1000 ); // document list twDocuments = new QTreeWidget( w ); QStringList header; header << i18n("Filename") << i18n("Status on Disk"); twDocuments->setHeaderLabels(header); twDocuments->setSelectionMode( QAbstractItemView::SingleSelection ); twDocuments->setRootIsDecorated( false ); m_stateTexts << "" << i18n("Modified") << i18n("Created") << i18n("Deleted"); for ( int i = 0; i < docs.size(); i++ ) { new KateDocItem( docs[i], m_stateTexts[ (uint)KateDocManager::self()->documentInfo( docs[i] )->modifiedOnDiscReason ], twDocuments ); } twDocuments->header()->setStretchLastSection(false); twDocuments->header()->setResizeMode(0, QHeaderView::Stretch); twDocuments->header()->setResizeMode(1, QHeaderView::ResizeToContents); connect( twDocuments, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(slotSelectionChanged(QTreeWidgetItem*,QTreeWidgetItem*)) ); // diff button KHBox *lo2 = new KHBox ( w ); QWidget *d = new QWidget (lo2); lo2->setStretchFactor (d, 2); btnDiff = new KPushButton( KGuiItem (i18n("&View Difference"), "document-preview"), lo2 ); btnDiff->setWhatsThis(i18n( "Calculates the difference between the editor contents and the disk " "file for the selected document, and shows the difference with the " "default application. Requires diff(1).") ); connect( btnDiff, SIGNAL(clicked()), this, SLOT(slotDiff()) ); connect( this, SIGNAL(user1Clicked()), this, SLOT(slotUser1()) ); connect( this, SIGNAL(user2Clicked()), this, SLOT(slotUser2()) ); connect( this, SIGNAL(user3Clicked()), this, SLOT(slotUser3()) ); slotSelectionChanged(NULL, NULL); }
EditFilterDialog::EditFilterDialog( QWidget* parent, const QString &text ) : KDialog( parent ) , m_appended( false ) , m_filterText( text ) { setCaption( i18n( "Edit Filter" ) ); setModal( true ); setButtons( User1|User2|Default|Ok|Cancel ); setDefaultButton( Cancel ); showButtonSeparator( true ); m_ui.setupUi( mainWidget() ); // Redefine "Default" button KGuiItem defaultButton( i18n("&Append"), "list-add" ); setButtonWhatsThis( Default, i18n( "<qt><p>By clicking here you can add the defined condition. The \"OK\" button will " "close the dialog and apply the defined filter. With this button you can add more than " "one condition to create a more complex filtering condition.</p></qt>" ) ); setButtonToolTip( Default, i18n( "Add this filter condition to the list" ) ); setButtonGuiItem( Default, defaultButton ); // define "User1" button KGuiItem user1Button( i18n("&Clear"), "list-remove" ); setButtonWhatsThis( User1, i18n( "<p>By clicking here you will clear the filter. If you intend to " "undo the last appending just click on the \"Undo\" button.</p>" ) ); setButtonToolTip(User1, i18n( "Clear the filter" ) ); setButtonGuiItem( User1, user1Button ); // define "User2" button KGuiItem user2Button( i18nc("this \"undo\" will undo the last appended filter... be careful how you will translate it " "to avoid two buttons (\"Cancel\" and \"Undo\") with same label in the same dialog", "&Undo"), "edit-undo" ); setButtonWhatsThis( User2, i18n( "<p>Clicking here will remove the last appended filter. " "You cannot undo more than one action.</p>" ) ); setButtonToolTip( User2, i18n( "Remove last appended filter" ) ); setButtonGuiItem( User2, user2Button ); //setMainWidget( m_ui ); m_vector.push_back( "Simple Search" ); m_vector.push_back( "album" ); m_vector.push_back( "artist" ); m_vector.push_back( "composer" ); m_vector.push_back( "genre" ); m_vector.push_back( "title" ); m_vector.push_back( "track" ); m_vector.push_back( "year" ); // the "Simple Search" text is selected in the comboKeyword m_selectedIndex = 0; connect( m_ui.keywordCombo, SIGNAL( activated( int ) ), SLOT(selectedKeyword( int ) ) ); connect( m_ui.minimum1, SIGNAL( valueChanged( int ) ), SLOT(minSpinChanged( int ) ) ); connect( m_ui.maximum1, SIGNAL( valueChanged( int ) ), SLOT(maxSpinChanged( int ) ) ); // type text selected textWanted(); // check the "One Value Choosing" by default chooseOneValue(); connect( m_ui.conditionCombo, SIGNAL(activated( int ) ), SLOT(chooseCondition( int ) ) ); m_checkActions << m_ui.matchAll; m_checkActions << m_ui.matchAny; m_checkActions << m_ui.matchLiteral; m_checkActions << m_ui.matchNot; connect( m_ui.matchAll, SIGNAL( clicked() ), SLOT( slotCheckAll() ) ); connect( m_ui.matchAny, SIGNAL( clicked() ), SLOT( slotCheckAtLeastOne() ) ); connect( m_ui.matchLiteral, SIGNAL( clicked() ), SLOT( slotCheckExactly() ) ); connect( m_ui.matchNot, SIGNAL( clicked() ), SLOT( slotCheckExclude() ) ); // check "select all words" as default slotCheckAll(); m_ui.invertButton->setEnabled( false ); connect( m_ui.invertButton, SIGNAL( clicked() ), SLOT( assignPrefixNOT() ) ); // you need to append at least one filter condition to specify if do // an "AND" or an "OR" with the next condition if the filter is empty if( m_filterText.isEmpty() ) m_ui.groupBox_3->setEnabled( false ); connect( m_ui.andButton, SIGNAL(clicked()), SLOT(slotCheckAND()) ); connect( m_ui.orButton, SIGNAL(clicked()), SLOT(slotCheckOR()) ); // check "AND" condition as default slotCheckAND(); connect( this, SIGNAL(okClicked()), this, SLOT(slotOk() ) ); connect( this, SIGNAL( defaultClicked() ) , this, SLOT(slotDefault() ) ); connect( this, SIGNAL( user1Clicked() ), this, SLOT( slotUser1() ) ); connect( this, SIGNAL( user2Clicked() ), this, SLOT( slotUser2() ) ); Amarok::Collection *coll = CollectionManager::instance()->primaryCollection(); if( !coll ) return; QueryMaker *artist = coll->queryMaker()->setQueryType( QueryMaker::Artist ); QueryMaker *album = coll->queryMaker()->setQueryType( QueryMaker::Album ); QueryMaker *composer = coll->queryMaker()->setQueryType( QueryMaker::Composer ); QueryMaker *genre = coll->queryMaker()->setQueryType( QueryMaker::Genre ); QList<QueryMaker*> queries; queries << artist << album << composer << genre; //MetaQueryMaker will run multiple different queries just fine as long as we do not use it //to set the query type. Configuring the queries is ok though MetaQueryMaker *dataQueryMaker = new MetaQueryMaker( queries ); connect( dataQueryMaker, SIGNAL( newResultReady( QString, Meta::ArtistList ) ), SLOT( resultReady( QString, Meta::ArtistList ) ), Qt::QueuedConnection ); connect( dataQueryMaker, SIGNAL( newResultReady( QString, Meta::AlbumList ) ), SLOT( resultReady( QString, Meta::AlbumList ) ), Qt::QueuedConnection ); connect( dataQueryMaker, SIGNAL( newResultReady( QString, Meta::ComposerList ) ), SLOT( resultReady( QString, Meta::ComposerList ) ), Qt::QueuedConnection ); connect( dataQueryMaker, SIGNAL( newResultReady( QString, Meta::GenreList ) ), SLOT( resultReady( QString, Meta::GenreList ) ), Qt::QueuedConnection ); dataQueryMaker->run(); }