//----------------------------------------------------------------------------- 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()]); }
bool EXIFEditDialog::eventFilter(QObject *, QEvent *e) { if ( e->type() == QEvent::KeyPress ) { QKeyEvent *k = (QKeyEvent *)e; if (k->modifiers() == Qt::ControlModifier && (k->key() == Qt::Key_Enter || k->key() == Qt::Key_Return)) { slotApply(); if (isButtonEnabled(User1)) slotUser1(); return true; } else if (k->modifiers() == Qt::ShiftModifier && (k->key() == Qt::Key_Enter || k->key() == Qt::Key_Return)) { slotApply(); if (isButtonEnabled(User2)) slotUser2(); return true; } return false; } return false; }
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"); }
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())); }
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(); }