void RemoveRedEyesWindow::slotButtonClicked(int button) { emit buttonClicked(static_cast<KDialog::ButtonCode> (button)); switch (button) { case User2: // testrun emit user2Clicked(); break; case User1: // correction emit user1Clicked(); break; case Cancel: emit cancelClicked(); break; case Close: emit myCloseClicked(); break; case Help: emit helpClicked(); break; case Default: emit defaultClicked(); break; } }
//----------------------------------------------------------------------------- HighscoresDialog::HighscoresDialog(int rank, QWidget *parent) : KPageDialog(parent), _rank(rank), _tab(0) { // kDebug(11001) << ": HighscoresDialog"; setWindowTitle( i18n("Highscores") ); // TODO setButtons( Close|User1|User2 ); // TODO setDefaultButton( Close ); if ( internal->nbGameTypes()>1 ) setFaceType( KPageDialog::Tree ); else setFaceType( KPageDialog::Plain ); // TODO setButtonGuiItem( User1, KGuiItem(i18n("Configure..."), QLatin1String( "configure" )) ); // TODO setButtonGuiItem( User2, KGuiItem(i18n("Export...")) ); connect( this, SIGNAL(user1Clicked()), SLOT(slotUser1()) ); connect( this, SIGNAL(user2Clicked()), SLOT(slotUser2()) ); for (uint i=0; i<internal->nbGameTypes(); i++) { QString title = internal->manager.gameTypeLabel(i, Manager::I18N); QString icon = internal->manager.gameTypeLabel(i, Manager::Icon); HighscoresWidget *hsw = new HighscoresWidget(0); KPageWidgetItem *pageItem = new KPageWidgetItem( hsw, title); pageItem->setIcon( KIcon( BarIcon(icon, KIconLoader::SizeLarge) ) ); addPage( pageItem ); _pages.append(pageItem); connect(hsw, SIGNAL(tabChanged(int)), SLOT(tabChanged(int))); } connect(this, SIGNAL(currentPageChanged(KPageWidgetItem*,KPageWidgetItem*)), SLOT(highscorePageChanged(KPageWidgetItem*,KPageWidgetItem*))); setCurrentPage(_pages[internal->gameType()]); }
ImageViewer::ImageViewer (const KUrl &url, const QString &capText, QWidget *parent) : KDialog( parent ), m_ImageUrl(url), fileIsImage(false), downloadJob(0) { init(url.fileName(), capText); // Add save button setButtons( KDialog::User2 | KDialog::User1 | KDialog::Close ); KGuiItem saveButton( i18n("Save"), "document-save", i18n("Save the image to disk") ); setButtonGuiItem( KDialog::User1, saveButton ); // FIXME: Add more options, and do this more nicely KGuiItem invertButton( i18n("Invert colors"), "", i18n("Reverse colors of the image. This is useful to enhance contrast at times. This affects only the display and not the saving.") ); setButtonGuiItem( KDialog::User2, invertButton ); connect( this, SIGNAL( user1Clicked() ), this, SLOT ( saveFileToDisc() ) ); connect( this, SIGNAL( user2Clicked() ), this, SLOT ( invertColors() ) ); // check URL if (!m_ImageUrl.isValid()) kDebug() << "URL is malformed: " << m_ImageUrl; // FIXME: check the logic with temporary files. Races are possible { KTemporaryFile tempfile; tempfile.open(); file.setFileName( tempfile.fileName() ); }// we just need the name and delete the tempfile from disc; if we don't do it, a dialog will be show loadImageFromURL(); }
NamedAreaDialog::NamedAreaDialog(QWidget* parent, Selection* selection) : KDialog(parent) , m_selection(selection) { setButtons(KDialog::Ok | KDialog::Close | KDialog::User1 | KDialog::User2 | KDialog::User3); setButtonsOrientation(Qt::Vertical); setButtonText(KDialog::Ok, i18n("&Select")); setButtonText(KDialog::User1, i18n("&Remove")); setButtonText(KDialog::User2, i18n("&Edit...")); setButtonText(KDialog::User3, i18n("&New...")); setCaption(i18n("Named Areas")); setModal(true); setObjectName("NamedAreaDialog"); QWidget* widget = new QWidget(this); setMainWidget(widget); QVBoxLayout *vboxLayout = new QVBoxLayout(widget); vboxLayout->setMargin(0); vboxLayout->setSpacing(KDialog::spacingHint()); m_list = new KListWidget(this); m_list->setSortingEnabled(true); vboxLayout->addWidget(m_list); m_rangeName = new QLabel(this); m_rangeName->setText(i18n("Area: %1", QString())); vboxLayout->addWidget(m_rangeName); const QList<QString> namedAreas = m_selection->activeSheet()->map()->namedAreaManager()->areaNames(); for (int i = 0; i < namedAreas.count(); ++i) m_list->addItem(namedAreas[i]); if (m_list->count() == 0) { enableButtonOk(false); enableButton(KDialog::User1, false); enableButton(KDialog::User2, false); m_list->setCurrentRow(0); } connect(this, SIGNAL(okClicked()), this, SLOT(slotOk())); connect(this, SIGNAL(cancelClicked()), this, SLOT(slotClose())); connect(this, SIGNAL(user1Clicked()), this, SLOT(slotRemove())); connect(this, SIGNAL(user2Clicked()), this, SLOT(slotEdit())); connect(this, SIGNAL(user3Clicked()), this, SLOT(slotNew())); connect(m_list, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(slotOk())); connect(m_list, SIGNAL(currentTextChanged(const QString&)), this, SLOT(displayAreaValues(const QString&))); if (m_list->count() > 0) m_list->setCurrentItem(m_list->item(0)); m_list->setFocus(); }
KOCounterDialog::KOCounterDialog(QWidget *parent, const char *name) : KDialogBase(parent, name, false, i18n("Counter-Event Viewer"), User1 | User2, User1, false, i18n("Decline"), i18n("Accept")) { mEventViewer = new KOEventViewer(this); setMainWidget(mEventViewer); connect(this, SIGNAL(user1Clicked()), SLOT(slotCancel())); connect(this, SIGNAL(user2Clicked()), SLOT(slotOk())); // FIXME: Set a sensible size (based on the content?). setMinimumSize(300, 200); resize(320, 300); }
/* * starts visual ocr process. Depending on the ocr engine, this function creates * a new dialog, and shows it. */ bool KSANEOCR::startOCRVisible( QWidget *parent ) { if( visibleOCRRunning ) return( false ); bool res = true; m_parent = parent; if( m_ocrEngine == GOCR ) { m_ocrProcessDia = new KGOCRDialog ( parent, m_spellInitialConfig ); } else if( m_ocrEngine == OCRAD ) { m_ocrProcessDia = new ocradDialog( parent, m_spellInitialConfig ); } else if( m_ocrEngine == KADMOS ) { #ifdef HAVE_KADMOS /*** Kadmos Engine OCR ***/ m_ocrProcessDia = new KadmosDialog( parent, m_spellInitialConfig ); #else KMessageBox::sorry(0, i18n("This version of Kooka was not compiled with KADMOS support.\n" "Please select another OCR engine in Kooka's options dialog.")); kdDebug(28000) << "Sorry, this version of Kooka has no KADMOS support" << endl; #endif /* HAVE_KADMOS */ } else { kdDebug(28000) << "ERR Unknown OCR engine requested!" << endl; } /* * this part is independant from the engine again */ if( m_ocrProcessDia ) { m_ocrProcessDia->setupGui(); m_ocrProcessDia->introduceImage( m_img ); visibleOCRRunning = true; connect( m_ocrProcessDia, SIGNAL( user1Clicked()), this, SLOT( startOCRProcess() )); connect( m_ocrProcessDia, SIGNAL( closeClicked()), this, SLOT( slotClose() )); connect( m_ocrProcessDia, SIGNAL( user2Clicked()), this, SLOT( slotStopOCR() )); m_ocrProcessDia->show(); } return( res ); }
KOEventViewerDialog::KOEventViewerDialog( CalendarSupport::Calendar *calendar, QWidget *parent ) : KDialog( parent ) { setCaption( i18n( "Event Viewer" ) ); setButtons( Close | User1 | User2 ); setModal( false ); setButtonGuiItem( User1, KGuiItem( i18n( "Edit..." ), KIcon( "document-edit" ) ) ); setButtonGuiItem( User2, KGuiItem( i18n( "Show in Context" ) ) ); mEventViewer = new CalendarSupport::IncidenceViewer( calendar, this ); setMainWidget( mEventViewer ); resize( QSize( 500, 520 ).expandedTo( minimumSizeHint() ) ); connect( this, SIGNAL(finished()), this, SLOT(delayedDestruct()) ); connect( this, SIGNAL(user1Clicked()), this, SLOT(editIncidence()) ); connect( this, SIGNAL(user2Clicked()), this, SLOT(showIncidenceContext()) ); }
KonqProfileDlg::KonqProfileDlg( KonqViewManager *manager, const QString & preselectProfile, QWidget *parent ) : KDialog( parent ) , d( new KonqProfileDlgPrivate( manager, this ) ) { d->layout()->setMargin( 0 ); setMainWidget( d ); setObjectName( QLatin1String( "konq_profile_dialog" ) ); setModal( true ); setCaption( i18nc( "@title:window", "Profile Management" ) ); setButtons( Close | BTN_RENAME | BTN_DELETE | BTN_SAVE ); setDefaultButton( BTN_SAVE ); setButtonGuiItem( BTN_RENAME, KGuiItem( i18n( "&Rename Profile" ) ) ); setButtonGuiItem( BTN_DELETE, KGuiItem( i18n( "&Delete Profile" ), "edit-delete" ) ); setButtonGuiItem( BTN_SAVE, KStandardGuiItem::save() ); d->m_pProfileNameLineEdit->setFocus(); connect( d->m_pListView, SIGNAL(itemChanged(QListWidgetItem*)), SLOT(slotItemRenamed(QListWidgetItem*)) ); loadAllProfiles( preselectProfile ); d->m_pListView->setMinimumSize( d->m_pListView->sizeHint() ); d->m_cbSaveURLs->setChecked( KonqSettings::saveURLInProfile() ); connect( d->m_pListView, SIGNAL(itemSelectionChanged()), this, SLOT(slotSelectionChanged()) ); connect( d->m_pProfileNameLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) ); enableButton( BTN_RENAME, d->m_pListView->currentItem() != 0 ); enableButton( BTN_DELETE, d->m_pListView->currentItem() != 0 ); connect( this,SIGNAL(user1Clicked()),SLOT(slotRenameProfile())); connect( this,SIGNAL(user2Clicked()),SLOT(slotDeleteProfile())); connect( this,SIGNAL(user3Clicked()),SLOT(slotSave())); resize( sizeHint() ); }
CDDBDlg::CDDBDlg( QWidget* parent, const char* name ) : KDialogBase( parent, name, false, i18n( "CD Editor" ), Ok|Cancel|User1|User2, Ok, true ) { KGlobal::locale()->insertCatalogue("libkcddb"); m_dlgBase = new CDInfoDialogBase( this, "m_dlgBase" ); setMainWidget( m_dlgBase ); setButtonText( User1, i18n( "Upload" ) ); setButtonText( User2, i18n( "Fetch Info" ) ); connect( this, SIGNAL( okClicked() ), SLOT( save() ) ); connect( this, SIGNAL( user1Clicked() ), SLOT( upload() ) ); connect( this, SIGNAL( user2Clicked() ), SIGNAL( cddbQuery() ) ); connect( m_dlgBase, SIGNAL( play( int ) ), SIGNAL( play( int ) ) ); cddbClient = new KCDDB::Client(); cddbClient->setBlockingMode(false); connect (cddbClient, SIGNAL(finished(CDDB::Result)), SLOT(submitFinished(CDDB::Result))); }
KNGroupDialog::KNGroupDialog( QWidget *parent, KNNntpAccount::Ptr a ) : KNGroupBrowser(parent, i18n("Subscribe to Newsgroups"),a, User1 | User2, true, i18n("New &List"), i18n("New &Groups...") ) { rightLabel->setText(i18n("Current changes:")); subView=new Q3ListView(page); subView->addColumn(i18n("Subscribe To")); unsubView=new Q3ListView(page); unsubView->addColumn(i18n("Unsubscribe From")); QVBoxLayout *protL=new QVBoxLayout(); protL->setSpacing(3); listL->addLayout(protL, 1,2); protL->addWidget(subView); protL->addWidget(unsubView); dir1=right; dir2=left; connect(groupView, SIGNAL(selectionChanged(Q3ListViewItem*)), this, SLOT(slotItemSelected(Q3ListViewItem*))); connect(groupView, SIGNAL(selectionChanged()), this, SLOT(slotSelectionChanged())); connect(subView, SIGNAL(selectionChanged(Q3ListViewItem*)), this, SLOT(slotItemSelected(Q3ListViewItem*))); connect(unsubView, SIGNAL(selectionChanged(Q3ListViewItem*)), this, SLOT(slotItemSelected(Q3ListViewItem*))); connect(arrowBtn1, SIGNAL(clicked()), this, SLOT(slotArrowBtn1())); connect(arrowBtn2, SIGNAL(clicked()), this, SLOT(slotArrowBtn2())); connect( this, SIGNAL(user1Clicked()), SLOT(slotUser1()) ); connect( this, SIGNAL(user2Clicked()), SLOT(slotUser2()) ); KNHelper::restoreWindowSize("groupDlg", this, QSize(662,393)); // optimized for 800x600 setHelp("anc-fetch-group-list"); }
ManageCompletionFilesDialog::ManageCompletionFilesDialog(const QString& caption, const QString &localCompletionDir, const QString &globalCompletionDir, QWidget* parent, const char* name) : KDialog(parent), m_localCompletionDirectory(localCompletionDir), m_globalCompletionDirectory(globalCompletionDir) { setObjectName(name); setCaption(caption); setModal(true); setButtons(Ok | User1 | User2 | Cancel); setDefaultButton(Ok); showButtonSeparator(true); setButtonText(Ok, i18n("Add selected files")); setButtonToolTip(Ok, i18n("Add all the selected files")); setButtonText(User1, i18n("Install custom files...")); setButtonToolTip(User1, i18n("Install your own completion files")); setButtonText(User2, i18n("Manage custom files...")); setButtonToolTip(User2, i18n("Manage the local completion files in the file manager")); m_listView = new QTreeWidget(this); m_listView->setHeaderLabels(QStringList() << i18n("File Name") << i18n("Local File") << i18n("Add File?")); m_listView->setSortingEnabled(false); m_listView->setSelectionMode(QAbstractItemView::NoSelection); m_listView->setRootIsDecorated(false); m_dirWatcher = new KDirWatch(this); if (m_dirWatcher) { m_dirWatcher->addDir(localCompletionDir, KDirWatch::WatchFiles); connect(m_dirWatcher, SIGNAL(created(QString)), this, SLOT(fillTreeView())); connect(m_dirWatcher, SIGNAL(deleted(QString)), this, SLOT(fillTreeView())); } connect(this, SIGNAL(user1Clicked()), this, SLOT(addCustomCompletionFiles())); connect(this, SIGNAL(user2Clicked()), this, SLOT(openLocalCompletionDirectoryInFileManager())); fillTreeView(); setMainWidget(m_listView); }
KOCRBase::KOCRBase( QWidget *parent, KSpellConfig *spellConfig, KDialogBase::DialogType face ) :KDialogBase( face, i18n("Optical Character Recognition"), User2|Close|User1, User1, parent,0, false, true, KGuiItem( i18n("Start OCR" ), "launch", i18n("Start the Optical Character Recognition process" )), KGuiItem( i18n("Cancel" ), "stopocr", i18n("Stop the OCR Process" ))), m_animation(0L), m_metaBox(0L), m_imgHBox(0L), m_previewPix(0L), m_currImg(0L), m_spellConfig(spellConfig), m_wantSpellCfg(true), m_userWantsSpellCheck(true), m_cbWantCheck(0L), m_gbSpellOpts(0L) { kdDebug(28000) << "OCR Base Dialog!" << endl; // Layout-Boxes KConfig *konf = KGlobal::config (); KConfigGroupSaver gs( konf, CFG_OCR_KSPELL ); m_userWantsSpellCheck = konf->readBoolEntry(CFG_WANT_KSPELL, true); /* Connect signals which disable the fields and store the configuration */ connect( this, SIGNAL( user1Clicked()), this, SLOT( writeConfig())); connect( this, SIGNAL( user1Clicked()), this, SLOT( startOCR() )); connect( this, SIGNAL( user2Clicked()), this, SLOT( stopOCR() )); m_previewSize.setWidth(200); m_previewSize.setHeight(300); enableButton( User1, true ); /* start ocr */ enableButton( User2, false ); /* Cancel */ enableButton( Close, true ); }
YahooUserInfoDialog::YahooUserInfoDialog( YahooContact *c, QWidget * parent ) : KPageDialog( parent ), m_contact(c) { setFaceType( KPageDialog::List ); setCaption( i18n( "Yahoo User Information" ) ); setButtons( KDialog::User2 | KDialog::User1 | KDialog::Cancel ); setDefaultButton( KDialog::Cancel ); setButtonGuiItem( KDialog::User1, KGuiItem( i18n("Save and Close") ) ); setButtonGuiItem( KDialog::User2, KGuiItem( i18n("Merge with existing entry") ) ); showButton( KDialog::User2, false ); kDebug(14180) << "Creating new yahoo user info widget"; QWidget *genInfo = new QWidget(this); m_genInfoWidget = new Ui::YahooGeneralInfoWidget; m_genInfoWidget->setupUi( genInfo ); KPageWidgetItem *genInfoItem = addPage( genInfo, i18n("General Info") ); genInfoItem->setHeader( i18n( "General Yahoo Information" ) ); genInfoItem->setIcon( KIcon("user-identity") ); QWidget *workInfo = new QWidget(this); m_workInfoWidget = new Ui::YahooWorkInfoWidget; m_workInfoWidget->setupUi( workInfo ); KPageWidgetItem *workInfoItem = addPage( workInfo, i18n("Work Info") ); workInfoItem->setHeader( i18n( "Work Information" ) ); workInfoItem->setIcon( KIcon("mail-attachment") ); QWidget *otherInfo = new QWidget(this); m_otherInfoWidget = new Ui::YahooOtherInfoWidget; m_otherInfoWidget->setupUi( otherInfo ); KPageWidgetItem *otherInfoItem = addPage( otherInfo, i18n("Other Info") ); otherInfoItem->setHeader( i18n( "Other Yahoo Information" ) ); otherInfoItem->setIcon( KIcon("document-properties") ); QObject::connect(this, SIGNAL(user1Clicked()), this, SLOT(slotSaveAndCloseClicked())); QObject::connect(this, SIGNAL(user2Clicked()), this, SLOT(slotUser2())); }
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(); }
EntryDlg::EntryDlg( KMainWindow *main, kvoctrainDoc *doc, bool multi_sel, bool origin, grade_t f_grd, grade_t t_grd, count_t f_qcount, count_t t_qcount, count_t f_bcount, count_t t_bcount, time_t f_qdate, time_t t_qdate, QString f_faux_ami, QString t_faux_ami, QString expr, int lesson, QComboBox *lessonbox, QString lang, LangSet &langset, QString rem, QString type, QString pronunce, QString synonym, QString antonym, QString example, QString usagelabel, QString paraphrase, const Conjugation &con_prefix, const Conjugation &conjugations, const Article &/*article*/, const Comparison &comp, const MultipleChoice &mc, QueryManager &querymanager, const QString &title, bool active, const QFont& ipafont, QWidget *parent, const char *name, bool modal) : KDialogBase(Tabbed, title, User1|User2|User3|Apply|Close, Apply, parent, name, modal, false, KGuiItem(i18n("&Reset")), KGuiItem(QString::null, "view_left_right"), KGuiItem(QString::null, "view_top_bottom")) { mainwin = main; docked = false; edit_row = -1; edit_col = -1; from_page = 0; to_page = 0; QString s; if (langset.findLongId(lang).isEmpty() ) s = lang; else s = langset.findLongId(lang); QFrame *page; QVBoxLayout *topLayout; if (origin) { page = addPage( i18n("Co&mmon") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); comm_page = new CommonEntryPage (this, doc, multi_sel, expr, lesson, lessonbox, lang, type, pronunce, usagelabel, i18n("Original &expression in %1:").arg(s), querymanager, active, ipafont, page, name); topLayout->addWidget(comm_page); page = addPage( i18n("A&dditional") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); aux_page = new AuxInfoEntryPage (this, multi_sel, synonym, antonym, example, rem, paraphrase, page, name); topLayout->addWidget(aux_page); page = addPage( i18n("&Multiple Choice") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); mc_page = new MCEntryPage (this, multi_sel, mc, page, "MultipleChoice"); topLayout->addWidget(mc_page); page = addPage( i18n("Con&jugation") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); tense_page = new TenseEntryPage (this, multi_sel, con_prefix, conjugations, page, "Conjugation"); topLayout->addWidget(tense_page); page = addPage( i18n("Compar&ison") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); adj_page = new AdjEntryPage (this, multi_sel, comp, page, "Comparison"); topLayout->addWidget(adj_page); } else { page = addPage( i18n("Co&mmon") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); comm_page = new CommonEntryPage (this, doc, multi_sel, expr, lesson, lessonbox, lang, type, pronunce, usagelabel, i18n("Translated &expression in %1:").arg(s), querymanager, active, ipafont, page, name); topLayout->addWidget(comm_page); page = addPage( i18n("A&dditional") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); aux_page = new AuxInfoEntryPage (this, multi_sel, synonym, antonym, example, rem, paraphrase, page, name); topLayout->addWidget(aux_page); page = addPage( i18n("&Multiple Choice") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); mc_page = new MCEntryPage (this, multi_sel, mc, page, "MultipleChoice"); topLayout->addWidget(mc_page); page = addPage( i18n("Con&jugation") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); tense_page = new TenseEntryPage (this, multi_sel, con_prefix, conjugations, page, "Conjugation"); topLayout->addWidget(tense_page); page = addPage( i18n("Compar&ison") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); adj_page = new AdjEntryPage (this, multi_sel, comp, page, "Comparison"); topLayout->addWidget(adj_page); } page = addPage( i18n("&From Original") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); from_page = new FromToEntryPage (this, multi_sel, f_grd, f_qdate, f_qcount, f_bcount, f_faux_ami, i18n("Properties From Original"), page, name); topLayout->addWidget(from_page); page = addPage( i18n("&To Original") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); to_page = new FromToEntryPage (this, multi_sel, t_grd, t_qdate, t_qcount, t_bcount, t_faux_ami, i18n("Properties to Original"), page, name); topLayout->addWidget(to_page); updatePages (type); connect(comm_page, SIGNAL(typeSelected(const QString&)), SLOT(updatePages(const QString&)) ); connect( this, SIGNAL(user1Clicked()), this, SLOT(slotUndo()) ); connect( this, SIGNAL(applyClicked()), this, SLOT(slotApply()) ); connect( this, SIGNAL(user2Clicked()), this, SLOT(slotDockVertical()) ); connect( this, SIGNAL(user3Clicked()), this, SLOT(slotDockHorizontal()) ); connect (comm_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (aux_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (adj_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (mc_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (tense_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); if (from_page != 0) connect (from_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); if (to_page != 0) connect (to_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); enableButtonApply(false); enableButton(User1, false); comm_page->expr_line->setFocus(); }
ScoreInfoDialog::ScoreInfoDialog(NMainFrameWidget *parent) : KDialogBase (Tabbed, // dialogFace kapp->makeStdCaption(i18n("Score information")), Help | User1 | User2 | Ok | Apply | Cancel, Ok, // defaultButton parent, // parent "ScoreInfoDialog", // name (for internal use only) true, // modal true, // separator i18n("&Revert"), // User1 i18n("Cl&ear all") // User1 ), mainWidget(parent) { kapp->config()->setGroup("ScoreInfo"); // GENERAL QFrame *pageGeneral = addPage(i18n("&General")); QGridLayout *layoutGeneral = new QGridLayout(pageGeneral, 5, 2); layoutGeneral->setSpacing(KDialog::spacingHint()); layoutGeneral->setColStretch(1 /* the right column */, 1 /*factor*/); // Title title = new KHistoryCombo(pageGeneral); title->setHistoryItems(kapp->config()->readListEntry("TitleHistory"), true); title->setEditText(mainWidget->scTitle_); layoutGeneral->addWidget(title, 0, 1); QLabel *titleLabel = new QLabel(title, i18n("&Title:"), pageGeneral); layoutGeneral->addWidget(titleLabel, 0, 0); // Subject subject = new KHistoryCombo(pageGeneral); subject->setHistoryItems (kapp->config()->readListEntry("SubjectHistory"), true); subject->setEditText(mainWidget->scSubtitle_); layoutGeneral->addWidget(subject, 1, 1); QLabel *subjectLabel = new QLabel(subject, i18n("&Subject:"), pageGeneral); layoutGeneral->addWidget(subjectLabel, 1, 0); // Author author = new KHistoryCombo(pageGeneral); author->setHistoryItems (kapp->config()->readListEntry("AuthorHistory"), true); author->setEditText(mainWidget->scAuthor_); layoutGeneral->addWidget(author, 2, 1); QLabel *authorLabel = new QLabel(author, i18n("A&uthor:"), pageGeneral); layoutGeneral->addWidget(authorLabel, 2, 0); // Last author lastAuthor = new KHistoryCombo(pageGeneral); lastAuthor->setHistoryItems (kapp->config()->readListEntry("LastAuthorHistory"), true); lastAuthor->setEditText(mainWidget->scLastAuthor_); layoutGeneral->addWidget(lastAuthor, 3, 1); QLabel *lastAuthorLabel = new QLabel (lastAuthor, i18n("&Last author:"), pageGeneral); layoutGeneral->addWidget(lastAuthorLabel, 3, 0); // Copyright copyright = new KHistoryCombo(pageGeneral); copyright->setHistoryItems (kapp->config()->readListEntry("Copyright"), true); copyright->setEditText(mainWidget->scCopyright_); layoutGeneral->addWidget(copyright, 4, 1); QLabel *copyrightLabel = new QLabel (lastAuthor, i18n("&Copyright:"), pageGeneral); layoutGeneral->addWidget(copyrightLabel, 4, 0); // COMMENTS QGrid *pageComments = addGridPage(1, QGrid::Horizontal, i18n("Co&mments")); comments = new QMultiLineEdit(pageComments); comments->setText(mainWidget->scComment_); comments->setSizePolicy (QSizePolicy (QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding) ); connect(this, SIGNAL(finished()), this, SLOT(saveComboData())); connect(this, SIGNAL(user2Clicked()), title, SLOT(clearEdit())); connect(this, SIGNAL(user2Clicked()), subject, SLOT(clearEdit())); connect(this, SIGNAL(user2Clicked()), author, SLOT(clearEdit())); connect(this, SIGNAL(user2Clicked()), lastAuthor, SLOT(clearEdit())); connect(this, SIGNAL(user2Clicked()), copyright, SLOT(clearEdit())); connect(this, SIGNAL(user2Clicked()), comments, SLOT(clear())); connect(this, SIGNAL(okClicked()), this, SLOT(slotApply())); connect(this, SIGNAL(okClicked()), this, SLOT(hide())); }
LogDialog::LogDialog(KConfig& cfg, QWidget *parent, const char *name) : KDialogBase(parent, name, false, QString::null, Ok | Apply | Close | Help | User1 | User2 | User3, Close, true, KGuiItem(i18n("&Annotate")), KGuiItem(i18n("&Diff"), "vcs_diff"), KGuiItem(i18n("&Find..."), "find")) , cvsService(0) , partConfig(cfg) { QSplitter *splitter = new QSplitter(Qt::Vertical, this); setMainWidget(splitter); tree = new LogTreeView(this); connect( tree, SIGNAL(revisionClicked(QString,bool)), this, SLOT(revisionSelected(QString,bool)) ); QWidget* listWidget = new QWidget(this); QVBoxLayout* listLayout = new QVBoxLayout(listWidget); QHBoxLayout* searchLayout = new QHBoxLayout(listLayout); searchLayout->setMargin(KDialog::spacingHint()); searchLayout->setSpacing(KDialog::spacingHint()); list = new LogListView(partConfig, listWidget); listLayout->addWidget(list, 1); KListViewSearchLine* searchLine = new KListViewSearchLine(listWidget, list); QLabel* searchLabel = new QLabel(searchLine, i18n("S&earch:"), listWidget); searchLayout->addWidget(searchLabel); searchLayout->addWidget(searchLine, 1); connect( list, SIGNAL(revisionClicked(QString,bool)), this, SLOT(revisionSelected(QString,bool)) ); plain = new LogPlainView(this); connect( plain, SIGNAL(revisionClicked(QString,bool)), this, SLOT(revisionSelected(QString,bool)) ); tabWidget = new QTabWidget(splitter); tabWidget->addTab(tree, i18n("&Tree")); tabWidget->addTab(listWidget, i18n("&List")); tabWidget->addTab(plain, i18n("CVS &Output")); connect(tabWidget, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); QWhatsThis::add(tree, i18n("Choose revision A by clicking with the left " "mouse button,\nrevision B by clicking with " "the middle mouse button.")); items.setAutoDelete(true); tags.setAutoDelete(true); QWidget *mainWidget = new QWidget(splitter); QBoxLayout *layout = new QVBoxLayout(mainWidget, 0, spacingHint()); for (int i = 0; i < 2; ++i) { if ( i == 1 ) { QFrame *frame = new QFrame(mainWidget); frame->setFrameStyle(QFrame::HLine | QFrame::Sunken); layout->addWidget(frame); } QGridLayout *grid = new QGridLayout(layout); grid->setRowStretch(0, 0); grid->setRowStretch(1, 0); grid->setRowStretch(2, 1); grid->setColStretch(0, 0); grid->setColStretch(1, 1); grid->setColStretch(2, 0); grid->setColStretch(3, 1); grid->setColStretch(4, 2); QString versionident = (i==0)? i18n("Revision A:") : i18n("Revision B:"); QLabel *versionlabel = new QLabel(versionident, mainWidget); grid->addWidget(versionlabel, 0, 0); revbox[i] = new QLabel(mainWidget); revbox[i]->setFrameStyle(QFrame::Panel | QFrame::Sunken); grid->addWidget(revbox[i], 0, 1, Qt::AlignVCenter); QLabel *selectlabel = new QLabel(i18n("Select by tag:"), mainWidget); grid->addWidget(selectlabel, 0, 2); tagcombo[i] = new QComboBox(mainWidget); QFontMetrics fm(tagcombo[i]->fontMetrics()); tagcombo[i]->setMinimumWidth(fm.width("X")*20); grid->addWidget(tagcombo[i], 0, 3); QLabel *authorlabel = new QLabel(i18n("Author:"), mainWidget); grid->addWidget(authorlabel, 1, 0); authorbox[i] = new QLabel(mainWidget); authorbox[i]->setFrameStyle(QFrame::Panel | QFrame::Sunken); grid->addWidget(authorbox[i], 1, 1); QLabel *datelabel = new QLabel(i18n("Date:"), mainWidget); grid->addWidget(datelabel, 1, 2); datebox[i] = new QLabel(mainWidget); datebox[i]->setFrameStyle(QFrame::Panel | QFrame::Sunken); grid->addWidget(datebox[i], 1, 3); QLabel *commentlabel = new QLabel(i18n("Comment/Tags:"), mainWidget); grid->addWidget(commentlabel, 2, 0); commentbox[i] = new QTextEdit(mainWidget); commentbox[i]->setReadOnly(true); commentbox[i]->setTextFormat(Qt::PlainText); fm = commentbox[i]->fontMetrics(); commentbox[i]->setMinimumHeight(2*fm.lineSpacing()+10); grid->addMultiCellWidget(commentbox[i], 2, 2, 1, 3); tagsbox[i] = new QTextEdit(mainWidget); tagsbox[i]->setReadOnly(true); tagsbox[i]->setMinimumHeight(2*fm.lineSpacing()+10); grid->addWidget(tagsbox[i], 2, 4); } QWhatsThis::add(revbox[0], i18n("This revision is used when you click " "Annotate.\nIt is also used as the first " "item of a Diff operation.")); QWhatsThis::add(revbox[1], i18n("This revision is used as the second " "item of a Diff operation.")); connect( tagcombo[0], SIGNAL(activated(int)), this, SLOT(tagASelected(int)) ); connect( tagcombo[1], SIGNAL(activated(int)), this, SLOT(tagBSelected(int)) ); connect( this, SIGNAL(user1Clicked()), this, SLOT(annotateClicked()) ); connect( this, SIGNAL(user2Clicked()), this, SLOT(diffClicked()) ); connect( this, SIGNAL(user3Clicked()), this, SLOT(findClicked()) ); setButtonGuiItem(Ok, KGuiItem(i18n("to view something", "&View"),"fileopen")); setButtonGuiItem(Apply, KGuiItem(i18n("Create Patch..."))); setHelp("browsinglogs"); setWFlags(Qt::WDestructiveClose | getWFlags()); QSize size = configDialogSize(partConfig, "LogDialog"); resize(size); KConfigGroupSaver cs(&partConfig, "LogDialog"); tabWidget->setCurrentPage(partConfig.readNumEntry("ShowTab", 0)); updateButtons(); }
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); }