//----------------------------------------------------------------------------- // Get all the tasks //FIXME QList<WId> daisy::getAllTasks() { m_activetasks.clear();m_attentionwindow.clear();showedTasks.clear(); QList<WId> taskDict = KWindowSystem::windows(); m_activewindow = -1;m_startingwindow = -1;m_closingwindow = -1; Plasma::ToolTipContent toolTipData;toolTipData.setAutohide(false); QString str;QString widclass_tmp;total_taskpreviews=0; //THUMBNAILS if ( m_taskpreviews && m_type == QString("standard_dock") ) { for (int i = 0; i < m_max_taskpreviews; ++i) {m_taskicons[i]->setGeometry( QRect(-10000, -10000, 0, 0) );} } if (m_showtooltips_l)clearToolTipContent(); QList<WId>::ConstIterator it; for (it = taskDict.begin(); it != taskDict.end(); ++it ) { KWindowInfo taskInfo = KWindowSystem::windowInfo( *it, NET::WMName | NET::WMVisibleName | NET::WMVisibleIconName | NET::WMState | NET::XAWMState | NET::WMDesktop | NET::WMWindowType, NET::WM2WindowClass ); TaskPtr task_tmp = TaskManager::TaskManager::self()->findTask( *it ); if ( task_tmp && *it == KWindowSystem::activeWindow() ) {m_focusedWindow = *it;} //THUMBNAILS if ( m_taskpreviews && m_type == QString("standard_dock") && task_tmp ) { if ( !m_showtaskoflauncher && ( m_alias.indexOf( taskInfo.windowClassName() ) != -1 || m_alias.indexOf( QString(taskInfo.windowClassClass().toLower()) ) != -1 ) ) {} else if ( total_taskpreviews<m_max_taskpreviews ) { createTaskThumbnail(task_tmp, total_taskpreviews); total_taskpreviews++; showedTasks << *it; } } if ( m_alias.indexOf( taskInfo.windowClassName() ) != -1 || m_alias.indexOf( QString(taskInfo.windowClassClass().toLower()) ) != -1 ) { if ( m_alias.indexOf( taskInfo.windowClassName() ) != -1 ) widclass_tmp = QString( taskInfo.windowClassName() ); else widclass_tmp = QString(taskInfo.windowClassClass().toLower()); //ATTENTION checkAttention( taskInfo, widclass_tmp ); m_activetasks << m_alias.indexOf( widclass_tmp ); if ( *it == KWindowSystem::activeWindow() ) m_activewindow = m_alias.indexOf( widclass_tmp ); //TOLLTIPS if (m_showtooltips_l) { str.clear();QString desk_name = KWindowSystem::desktopName( taskInfo.desktop() ); int win_count = m_activetasks.count( m_alias.indexOf( widclass_tmp ) ); if ( win_count == 1 ) { if (taskInfo.desktop() != -1) {str.append( desk_name );str.insert( 0, i18n("On ") );} else str.insert( 0, i18n("On all desktops") ); toolTipData.setMainText( taskInfo.visibleIconNameWithState() ); toolTipData.setSubText( str ); } else { str.setNum( win_count );str.append( i18n(" instances") ); toolTipData.setMainText( widclass_tmp ); toolTipData.setSubText( str ); } if ( m_tiptype == "thumbnail" ) { #if (KDE_VERSION_MINOR < 3) toolTipData.setWindowToPreview(*it); #else toolTipData.setWindowsToPreview( matchAllTasks( widclass_tmp, 4 ) ); #endif } if ( m_tiptype == "thumbnail" || m_tiptype == "icon" ) toolTipData.setImage( KIcon( m_values[m_alias.indexOf( widclass_tmp )][2]).pixmap(IconSize(KIconLoader::Panel)) ); Plasma::ToolTipManager::self()->setContent(m_widgets[m_alias.indexOf( widclass_tmp )], toolTipData); } } } //THUMBNAILS if ( m_taskpreviews && m_type == QString("standard_dock") ) { resizeRepos( true ); } return taskDict; }
void K3b::ImageWritingDialog::slotUpdateImage( const QString& ) { QString path = d->imagePath(); // check the image types d->haveMd5Sum = false; d->md5Job->cancel(); d->infoView->clear(); //d->infoView->header()->resizeSection( 0, 20 ); d->md5SumItem = 0; d->foundImageType = IMAGE_UNKNOWN; d->tocFile.truncate(0); d->imageFile.truncate(0); QFileInfo info( path ); if( info.isFile() ) { // ------------------------------------------------ // Test for iso9660 image // ------------------------------------------------ K3b::Iso9660 isoF( path ); if( isoF.open() ) { #ifdef K3B_DEBUG isoF.debug(); #endif d->createIso9660InfoItems( &isoF ); isoF.close(); calculateMd5Sum( path ); d->foundImageType = IMAGE_ISO; d->imageFile = path; } if( d->foundImageType == IMAGE_UNKNOWN ) { // check for cdrecord clone image // try both path and path.toc as tocfiles K3b::CloneTocReader cr; if( path.right(4) == ".toc" ) { cr.openFile( path ); if( cr.isValid() ) { d->tocFile = path; d->imageFile = cr.imageFilename(); } } if( d->imageFile.isEmpty() ) { cr.openFile( path + ".toc" ); if( cr.isValid() ) { d->tocFile = cr.filename(); d->imageFile = cr.imageFilename(); } } if( !d->imageFile.isEmpty() ) { // we have a cdrecord clone image d->createCdrecordCloneItems( d->tocFile, d->imageFile ); calculateMd5Sum( d->imageFile ); d->foundImageType = IMAGE_CDRECORD_CLONE; } } if( d->foundImageType == IMAGE_UNKNOWN ) { // check for cue/bin stuff // once again we try both path and path.cue K3b::CueFileParser cp; if( path.right(4).toLower() == ".cue" ) cp.openFile( path ); else if( path.right(4).toLower() == ".bin" ) cp.openFile( path.left( path.length()-3) + "cue" ); if( cp.isValid() ) { d->tocFile = cp.filename(); d->imageFile = cp.imageFilename(); } if( d->imageFile.isEmpty() ) { cp.openFile( path + ".cue" ); if( cp.isValid() ) { d->tocFile = cp.filename(); d->imageFile = cp.imageFilename(); } } if( !d->imageFile.isEmpty() ) { // we have a cue file if( cp.toc().contentType() == K3b::Device::AUDIO ) { d->foundImageType = IMAGE_AUDIO_CUE; d->createAudioCueItems( cp ); } else { d->foundImageType = IMAGE_CUE_BIN; // we cannot be sure if writing will work... :( d->createCueBinItems( d->tocFile, d->imageFile ); calculateMd5Sum( d->imageFile ); } } } if( d->foundImageType == IMAGE_UNKNOWN ) { // TODO: check for cdrdao tocfile } if( d->foundImageType == IMAGE_UNKNOWN ) { QTreeWidgetItem* item = new QTreeWidgetItem( d->infoView ); if ( !info.isReadable() ) { item->setText( 0, i18n("Unable to read image file") ); } else { item->setText( 0, i18n("Seems not to be a usable image") ); } item->setForeground( 0, d->negativeTextColor ); item->setIcon( 0, KIcon( "dialog-error") ); } else { // remember as recent image int i = 0; while ( i < d->comboRecentImages->count() && d->comboRecentImages->itemText(i) != path ) ++i; if ( i == d->comboRecentImages->count() ) d->comboRecentImages->insertItem( 0, path ); } } else { QTreeWidgetItem* item = new QTreeWidgetItem( d->infoView ); item->setText( 0, i18n("File not found") ); item->setForeground( 0, d->negativeTextColor ); item->setIcon( 0, KIcon( "dialog-error") ); } slotToggleAll(); }
void Paste::resetIcon() { setPopupIcon("edit-paste"); m_list->icon->setPixmap(KIcon("edit-paste").pixmap(KIconLoader::SizeSmall, KIconLoader::SizeSmall)); }
KoShapeCollectionDocker::KoShapeCollectionDocker(QWidget* parent) : QDockWidget(parent) { setWindowTitle(i18n("Add Shape")); QWidget* mainWidget = new QWidget(this); QGridLayout* mainLayout = new QGridLayout(mainWidget); mainLayout->setMargin(0); //mainLayout->setSizeConstraint(QLayout::SetFixedSize); setWidget(mainWidget); m_quickView = new QListView (mainWidget); mainLayout->addWidget(m_quickView, 0, 0); m_quickView->setViewMode(QListView::IconMode); m_quickView->setDragDropMode(QListView::DragOnly); m_quickView->setSelectionMode(QListView::SingleSelection); m_quickView->setResizeMode(QListView::Adjust); m_quickView->setFlow(QListView::LeftToRight); m_quickView->setGridSize(QSize(40, 44)); m_quickView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); m_quickView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); m_quickView->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); m_quickView->setTextElideMode(Qt::ElideNone); m_quickView->setWordWrap(true); connect(m_quickView, SIGNAL(clicked(const QModelIndex&)), this, SLOT(activateShapeCreationToolFromQuick(const QModelIndex&))); m_moreShapes = new QToolButton(mainWidget); m_moreShapes->setText(i18n("More")); m_moreShapes->setToolButtonStyle(Qt::ToolButtonIconOnly); m_moreShapes->setIconSize(QSize(32, 32)); m_moreShapes->setIcon(KIcon("shape-choose")); m_moreShapes->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); mainLayout->addWidget(m_moreShapes, 0, 1); QSpacerItem * verticalSpacer = new QSpacerItem( 20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding ); mainLayout->addItem( verticalSpacer, 1, 0, 1, 2 ); mainLayout->setColumnStretch (2, 10); m_moreShapesContainer = new CollectionMenu(mainWidget); m_moreShapes->setMenu(m_moreShapesContainer); m_moreShapes->setPopupMode(QToolButton::InstantPopup); QGridLayout *containerLayout = new QGridLayout(m_moreShapesContainer); containerLayout->setMargin(4); m_collectionChooser = new QListWidget (m_moreShapesContainer); containerLayout->addWidget(m_collectionChooser, 0, 0, 1, 2); m_collectionChooser->setViewMode(QListView::IconMode); m_collectionChooser->setSelectionMode(QListView::SingleSelection); m_collectionChooser->setResizeMode(QListView::Adjust); m_collectionChooser->setGridSize(QSize(75, 64)); m_collectionChooser->setMovement(QListView::Static); m_collectionChooser->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); m_collectionChooser->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); connect(m_collectionChooser, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(activateShapeCollection(QListWidgetItem *))); m_addCollectionButton = new QToolButton (m_moreShapesContainer); containerLayout->addWidget(m_addCollectionButton, 1, 0); m_addCollectionButton->setIcon(SmallIcon("list-add")); m_addCollectionButton->setIconSize(QSize(16, 16)); m_addCollectionButton->setToolTip(i18n("Open Shape Collection")); m_addCollectionButton->setPopupMode(QToolButton::InstantPopup); m_addCollectionButton->setVisible(false); m_closeCollectionButton = new QToolButton (m_moreShapesContainer); containerLayout->addWidget(m_closeCollectionButton, 1, 1); m_closeCollectionButton->setIcon(SmallIcon("list-remove")); m_closeCollectionButton->setIconSize(QSize(16, 16)); m_closeCollectionButton->setToolTip(i18n("Remove Shape Collection")); m_closeCollectionButton->setVisible(false); connect(m_closeCollectionButton, SIGNAL(clicked()), this, SLOT(removeCurrentCollection())); if(! KGlobal::activeComponent().dirs()->resourceDirs("app_shape_collections").isEmpty()) { buildAddCollectionMenu(); } m_collectionView = new QListView (m_moreShapesContainer); containerLayout->addWidget(m_collectionView, 0, 2, -1, 1); m_collectionView->setViewMode(QListView::IconMode); m_collectionView->setDragDropMode(QListView::DragOnly); m_collectionView->setSelectionMode(QListView::SingleSelection); m_collectionView->setResizeMode(QListView::Adjust); m_collectionView->setGridSize(QSize(48+20, 48)); m_collectionView->setFixedSize(QSize(165,345)); m_collectionView->setWordWrap(true); connect(m_collectionView, SIGNAL(clicked(const QModelIndex&)), this, SLOT(activateShapeCreationTool(const QModelIndex&))); // Load the default shapes and add them to the combobox loadDefaultShapes(); }
void TestKHTML::setupActions() { QDomDocument document = m_part->domDocument(); QDomElement fileMenu = document.documentElement().firstChild().childNodes().item( 0 ).toElement(); QDomElement quitElement = document.createElement("action"); quitElement.setAttribute("name", KStandardAction::name(KStandardAction::Quit)); fileMenu.appendChild(quitElement); QDomElement viewMenu = document.documentElement().firstChild().childNodes().item( 2 ).toElement(); QDomElement element = document.createElement("action"); element.setAttribute("name", "debugRenderTree"); viewMenu.appendChild(element); element = document.createElement("action"); element.setAttribute("name", "debugDOMTree"); viewMenu.appendChild(element); QDomElement toolBar = document.documentElement().firstChild().nextSibling().toElement(); element = document.createElement("action"); element.setAttribute("name", "editable"); toolBar.insertBefore(element, toolBar.firstChild()); element = document.createElement("action"); element.setAttribute("name", "navigable"); toolBar.insertBefore(element, toolBar.firstChild()); element = document.createElement("action"); element.setAttribute("name", "reload"); toolBar.insertBefore(element, toolBar.firstChild()); element = document.createElement("action"); element.setAttribute("name", "print"); toolBar.insertBefore(element, toolBar.firstChild()); KAction *action = new KAction(KIcon("view-refresh"), "Reload", this ); m_part->actionCollection()->addAction( "reload", action ); connect(action, SIGNAL(triggered(bool)), this, SLOT(reload())); action->setShortcut(Qt::Key_F5); KAction *kprint = new KAction(KIcon("document-print"), "Print", this ); m_part->actionCollection()->addAction( "print", kprint ); connect(kprint, SIGNAL(triggered(bool)), m_part->browserExtension(), SLOT(print())); kprint->setEnabled(true); KToggleAction *ta = new KToggleAction( KIcon("edit-rename"), "Navigable", this ); actionCollection()->addAction( "navigable", ta ); ta->setShortcuts( KShortcut() ); ta->setChecked(m_part->isCaretMode()); connect(ta, SIGNAL(toggled(bool)), this, SLOT(toggleNavigable(bool))); ta = new KToggleAction( KIcon("document-properties"), "Editable", this ); actionCollection()->addAction( "editable", ta ); ta->setShortcuts( KShortcut() ); ta->setChecked(m_part->isEditable()); connect(ta, SIGNAL(toggled(bool)), this, SLOT(toggleEditable(bool))); KStandardAction::quit( kapp, SLOT(quit()), m_part->actionCollection() ); guiFactory()->addClient(m_part); }
UpcomingEventsWidget::UpcomingEventsWidget( const LastFmEventPtr &event, QGraphicsItem *parent, Qt::WindowFlags wFlags ) : QGraphicsWidget( parent, wFlags ) , m_mapButton( 0 ) , m_urlButton( 0 ) , m_image( new QLabel ) , m_event( event ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Maximum ); m_image->setText( i18n("Loading picture...") ); m_image->setAttribute( Qt::WA_NoSystemBackground ); m_image->setAlignment( Qt::AlignCenter ); m_image->setFixedSize( 128, 128 ); QGraphicsProxyWidget *imageProxy = new QGraphicsProxyWidget( this ); imageProxy->setWidget( m_image ); m_attendance = createLabel(); m_date = createLabel(); m_location = createLabel(); m_name = createLabel(); m_participants = createLabel(); m_tags = createLabel(); m_venue = createLabel(); QGraphicsLinearLayout *buttonsLayout = new QGraphicsLinearLayout( Qt::Horizontal ); buttonsLayout->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Fixed ); if( event && event->venue() && event->venue()->location ) { QPointF geo( event->venue()->location->longitude, event->venue()->location->latitude ); if( !geo.isNull() ) { m_mapButton = new Plasma::PushButton( this ); m_mapButton->setMaximumSize( QSizeF( 22, 22 ) ); m_mapButton->setIcon( KIcon("edit-find") ); // TODO: a map icon would be nice m_mapButton->setToolTip( i18n( "View map" ) ); buttonsLayout->addItem( m_mapButton ); } } if( event && event->url().isValid() ) { m_urlButton = new Plasma::PushButton( this ); m_urlButton->setMaximumSize( QSizeF( 22, 22 ) ); m_urlButton->setIcon( KIcon("applications-internet") ); m_urlButton->setToolTip( i18n( "Open Last.fm webpage for this event" ) ); connect( m_urlButton, SIGNAL(clicked()), this, SLOT(openUrl()) ); buttonsLayout->addItem( m_urlButton ); } QSizePolicy::Policy minPol = QSizePolicy::Minimum; QGraphicsWidget *supportLabel, *venueLabel, *locationLabel, *dateLabel, *attendLabel, *tagsLabel; supportLabel = createLabel( i18nc("@label:textbox Supporing acts for an event", "Supporting:"), minPol ); venueLabel = createLabel( i18nc("@label:textbox", "Venue:"), minPol ); locationLabel = createLabel( i18nc("@label:textbox", "Location:"), minPol ); dateLabel = createLabel( i18nc("@label:textbox", "Date:"), minPol ); attendLabel = createLabel( i18nc("@label:textbox", "Attending:"), minPol ); tagsLabel = createLabel( i18nc("@label:textbox", "Tags:"), minPol ); QGraphicsGridLayout *infoLayout = new QGraphicsGridLayout; infoLayout->addItem( supportLabel, 0, 0 ); infoLayout->addItem( venueLabel, 1, 0 ); infoLayout->addItem( locationLabel, 2, 0 ); infoLayout->addItem( dateLabel, 3, 0 ); infoLayout->addItem( attendLabel, 4, 0 ); infoLayout->addItem( tagsLabel, 5, 0 ); infoLayout->addItem( m_participants, 0, 1 ); infoLayout->addItem( m_venue, 1, 1 ); infoLayout->addItem( m_location, 2, 1 ); infoLayout->addItem( m_date, 3, 1 ); infoLayout->addItem( m_attendance, 4, 1 ); infoLayout->addItem( m_tags, 5, 1 ); QGraphicsGridLayout *layout = new QGraphicsGridLayout; layout->addItem( imageProxy, 0, 0, 2, 1, Qt::AlignCenter ); layout->addItem( m_name, 0, 1 ); layout->addItem( buttonsLayout, 0, 2, Qt::AlignRight ); layout->addItem( infoLayout, 1, 1, 1, 2 ); setLayout( layout ); QString name = event->name(); if( event->isCancelled() ) name = i18nc( "@label:textbox Title for a canceled upcoming event", "<s>%1</s> (Canceled)", name ); setName( name ); setDate( event->date() ); setLocation( event->venue()->location ); setVenue( event->venue() ); setAttendance( event->attendance() ); setParticipants( event->participants() ); setTags( event->tags() ); setImage( event->imageUrl(LastFmEvent::Large) ); }
soundKonverterView::soundKonverterView( Logger *_logger, Config *_config, CDManager *_cdManager, QWidget *parent ) : QWidget( parent ), config( _config ), logger( _logger ), cdManager( _cdManager ) { setAcceptDrops( true ); const int fontHeight = QFontMetrics(QApplication::font()).boundingRect("M").size().height(); // the grid for all widgets in the main window QGridLayout* gridLayout = new QGridLayout( this ); fileList = new FileList( logger, config, this ); gridLayout->addWidget( fileList, 1, 0 ); gridLayout->setRowStretch( 1, 1 ); connect( fileList, SIGNAL(fileCountChanged(int)), this, SLOT(fileCountChanged(int)) ); connect( fileList, SIGNAL(conversionStarted()), this, SLOT(conversionStarted()) ); connect( fileList, SIGNAL(conversionStopped(bool)), this, SLOT(conversionStopped(bool)) ); connect( fileList, SIGNAL(queueModeChanged(bool)), this, SLOT(queueModeChanged(bool)) ); connect( fileList, SIGNAL(showLog(int)), this, SIGNAL(showLog(int)) ); optionsLayer = new OptionsLayer( config, this ); fileList->setOptionsLayer( optionsLayer ); optionsLayer->hide(); gridLayout->addWidget( optionsLayer, 1, 0 ); connect( optionsLayer, SIGNAL(done(const KUrl::List&,ConversionOptions*,const QString&)), fileList, SLOT(addFiles(const KUrl::List&,ConversionOptions*,const QString&)) ); connect( optionsLayer, SIGNAL(saveFileList()), fileList, SLOT(save()) ); // add a horizontal box layout for the add combobutton to the grid QHBoxLayout *addBox = new QHBoxLayout(); addBox->setContentsMargins( 1, 0, 1, 0 ); // extra margin - determined by experiments gridLayout->addLayout( addBox, 3, 0 ); // create the combobutton for adding files to the file list cAdd = new ComboButton( this ); QFont font = cAdd->font(); //font.setWeight( QFont::DemiBold ); font.setPointSize( font.pointSize() + 3 ); cAdd->setFont( font ); cAdd->insertItem( KIcon("audio-x-generic"), i18n("Add files...") ); cAdd->insertItem( KIcon("folder"), i18n("Add folder...") ); cAdd->insertItem( KIcon("media-optical-audio"), i18n("Add CD tracks...") ); cAdd->insertItem( KIcon("network-workgroup"), i18n("Add url...") ); cAdd->insertItem( KIcon("view-media-playlist"), i18n("Add playlist...") ); cAdd->increaseHeight( 0.6*fontHeight ); addBox->addWidget( cAdd, 0, Qt::AlignVCenter ); connect( cAdd, SIGNAL(clicked(int)), this, SLOT(addClicked(int)) ); cAdd->setFocus(); addBox->addSpacing( fontHeight ); startAction = new KAction( KIcon("system-run"), i18n("Start"), this ); connect( startAction, SIGNAL(triggered()), fileList, SLOT(startConversion()) ); pStart = new KPushButton( KIcon("system-run"), i18n("Start"), this ); pStart->setFixedHeight( pStart->size().height() ); pStart->setEnabled( false ); startAction->setEnabled( false ); addBox->addWidget( pStart, 0, Qt::AlignVCenter ); connect( pStart, SIGNAL(clicked()), fileList, SLOT(startConversion()) ); stopActionMenu = new KActionMenu( KIcon("process-stop"), i18n("Stop"), this ); stopActionMenu->setDelayed( false ); killAction = new KAction( KIcon("flag-red"), i18n("Stop immediatelly"), this ); stopActionMenu->addAction( killAction ); connect( killAction, SIGNAL(triggered()), fileList, SLOT(killConversion()) ); stopAction = new KAction( KIcon("flag-yellow"), i18n("Stop after current conversions are completed"), this ); stopActionMenu->addAction( stopAction ); connect( stopAction, SIGNAL(triggered()), fileList, SLOT(stopConversion()) ); continueAction = new KAction( KIcon("flag-green"), i18n("Continue after current conversions are completed"), this ); stopActionMenu->addAction( continueAction ); connect( continueAction, SIGNAL(triggered()), fileList, SLOT(continueConversion()) ); queueModeChanged( true ); pStop = new KPushButton( KIcon("process-stop"), i18n("Stop"), this ); pStop->setFixedHeight( pStop->size().height() ); pStop->hide(); stopActionMenu->setEnabled( false ); pStop->setMenu( stopActionMenu->menu() ); addBox->addWidget( pStop, 0, Qt::AlignVCenter ); addBox->addSpacing( fontHeight ); progressIndicator = new ProgressIndicator( this, ProgressIndicator::Feature( ProgressIndicator::FeatureSpeed | ProgressIndicator::FeatureTime ) ); addBox->addWidget( progressIndicator, 0, Qt::AlignVCenter ); connect( progressIndicator, SIGNAL(progressChanged(const QString&)), this, SIGNAL(progressChanged(const QString&)) ); connect( fileList, SIGNAL(timeChanged(float)), progressIndicator, SLOT(timeChanged(float)) ); connect( fileList, SIGNAL(finished(bool)), progressIndicator, SLOT(finished(bool)) ); Convert *convert = new Convert( config, fileList, logger, this ); connect( fileList, SIGNAL(convertItem(FileListItem*)), convert, SLOT(add(FileListItem*)) ); connect( fileList, SIGNAL(killItem(FileListItem*)), convert, SLOT(kill(FileListItem*)) ); connect( fileList, SIGNAL(itemRemoved(FileListItem*)), convert, SLOT(itemRemoved(FileListItem*)) ); connect( convert, SIGNAL(finished(FileListItem*,FileListItem::ReturnCode,bool)), fileList, SLOT(itemFinished(FileListItem*,FileListItem::ReturnCode,bool)) ); connect( convert, SIGNAL(rippingFinished(const QString&)), fileList, SLOT(rippingFinished(const QString&)) ); connect( convert, SIGNAL(finishedProcess(int,bool,bool)), logger, SLOT(processCompleted(int,bool,bool)) ); connect( convert, SIGNAL(updateTime(float)), progressIndicator, SLOT(update(float)) ); connect( convert, SIGNAL(timeFinished(float)), progressIndicator, SLOT(timeFinished(float)) ); }
RaptorGraphicsWidget::RaptorGraphicsWidget(QGraphicsItem *parent, const KConfigGroup &appletconfig) : QGraphicsWidget(parent), d(new Private(this)) { setAcceptHoverEvents(true); // d->model = new Kickoff::ApplicationModel(this); // d->model->init(); if (!Nepomuk::ResourceManager::instance()->init()) { kDebug() << "f*****g nepomuk never dies"; d->model = new Raptor::NepomukModel(this); } else { KNotification::event(KNotification::Error, i18n("Nepomuk is not running. Falling back to useless mode!!!")); d->model = new Kickoff::ApplicationModel(this); qobject_cast<Kickoff::ApplicationModel*>(d->model)->init(); } d->searchModel = new Kickoff::SearchModel(); d->favoritesModel = new Kickoff::FavoritesModel(this); d->view = new RaptorGraphicsView(this);//Initialize the view as first element, some depend on it d->view->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); d->view->setModel(d->model); // d->view = new RaptorItemsView(); // RaptorItemDelegate *delegate = new RaptorItemDelegate(); d->breadCrumb = new Breadcrumb(d->view, this); d->searchLine = new Plasma::LineEdit(this); d->favoritesIcon = new Plasma::IconWidget(this); d->favoritesIcon->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); d->favoritesIcon->setIcon(KIcon("rating")); //d->searchLine->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); d->appletConfig = appletconfig; QGraphicsLinearLayout *verticalLayout = new QGraphicsLinearLayout(Qt::Vertical); QGraphicsLinearLayout *horizontalLayout = new QGraphicsLinearLayout(); horizontalLayout->addItem(d->breadCrumb); horizontalLayout->addStretch(); horizontalLayout->addItem(d->favoritesIcon); horizontalLayout->addItem(d->searchLine); horizontalLayout->setMaximumHeight(Plasma::Theme::defaultTheme()->fontMetrics().height() + 2 * 2);//Set height to font height + some more spaces verticalLayout->addItem(horizontalLayout); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(); layout->setOrientation(Qt::Horizontal); layout->addItem(d->view); verticalLayout->addItem(layout); setLayout(verticalLayout); // // delegate->setTextColor(Plasma::Theme::defaultTheme()->color(Plasma::Theme::TextColor)); // // // let's make the view nicer in the applet // d->view->setAttribute(Qt::WA_NoSystemBackground); // d->view->viewport()->setAutoFillBackground(true); // QPalette p = d->view->viewport()->palette(); // p.setColor(QPalette::Base, Qt::transparent); // d->view->viewport()->setPalette(p); // // d->view->setModel(d->model); // d->view->setItemDelegate(delegate); // // d->view->hideScrollBars(); // KConfigGroup config(&d->appletConfig, "PlasmaRunnerManager"); KConfigGroup conf(&config, "Plugins"); conf.writeEntry("servicesEnabled", true); KService::List offers = KServiceTypeTrader::self()->query("Plasma/Runner"); foreach (const KService::Ptr &service, offers) { KPluginInfo description(service); QString runnerName = description.pluginName(); if (runnerName != "services") { conf.writeEntry(QString(runnerName + "Enabled"), false); } }
NCSAFindBar::NCSAFindBar( Okular::Document * document, QWidget * parent ) : QWidget( parent ) , m_active( false ) { doc = document; if(NULL != doc) { doc->addObserver(this); } QVBoxLayout * vlay = new QVBoxLayout( this ); QHBoxLayout * displayRow = new QHBoxLayout(); vlay->addLayout( displayRow ); display = new QLabel(""); displayRow->addWidget(display); displayRow->insertStretch(1); resultComboBox = new QComboBox(); //resultComboBox->addItems(fonts); displayRow->addWidget(resultComboBox); QHBoxLayout * lay = new QHBoxLayout(); vlay->setMargin( 2 ); vlay->addLayout(lay); QPushButton * optionsBtn = new QPushButton( this ); optionsBtn->setText( i18n( "NCSA Options" ) ); optionsBtn->setToolTip( i18n( "Modify search behavior" ) ); QMenu * optionsMenu = new QMenu( optionsBtn ); m_buildFontAct = optionsMenu->addAction( i18n( "Create custom font" ) ); connect( m_buildFontAct, SIGNAL(triggered(bool)), this, SLOT(buildFontAct(bool)) ); optionsBtn->setMenu( optionsMenu ); lay->addWidget( optionsBtn ); QStringList fonts = QFontDatabase().families(); fontComboBox = new QComboBox(); fontComboBox->addItems(fonts); lay->addWidget(fontComboBox); connect( fontComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(changeFont(int)) ); connect( resultComboBox, SIGNAL(highlighted(int)), this, SLOT(resultComboBoxIndexChanged(int)) ); QPalette p(palette()); p.setColor(QPalette::Background, Qt::white); display->setAutoFillBackground(true); display->setPalette(p); display->setText("Lalala"); QFont font; font.setPointSize(32); font.setBold(true); font.setFamily(fonts.at(16)); display->setFont(font); searchLine = new QLineEdit(); lay->addWidget(searchLine); connect(searchLine,SIGNAL(textChanged(QString)),this,SLOT(searchLineTextChanged(QString))); hide(); QPushButton * searchBtn = new QPushButton( KIcon( "Search" ), i18nc( "Search using word spotting technique", "search" ), this ); searchBtn->setToolTip( i18n( "Search using word spotting technique" ) ); lay->addWidget( searchBtn ); connect( searchBtn, SIGNAL(clicked()), this, SLOT(performSearch()) ); // "activate" it only at th very end m_active = true; wordSpottingUtil = NULL; }
DockTaskIcon::DockTaskIcon(DockApp *app, QGraphicsItem *parent) : DockIcon(parent), m_app(app) { setDragable(true); setIcon(KIcon(app->icon())); }
Private(KoDockWidgetTitleBar* thePublic) : thePublic(thePublic), openIcon(thePublic->style()->standardIcon(QStyle::SP_TitleBarShadeButton)), closeIcon(thePublic->style()->standardIcon(QStyle::SP_TitleBarUnshadeButton)) {if (openIcon.isNull()) openIcon= KIcon("arrow-down");if (closeIcon.isNull()) closeIcon= KIcon("arrow-right");}
void JobViewServer::setupUi() { // Paar allgemeine Parameter setBackgroundHints(DefaultBackground); setHasConfigurationInterface(true); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); resize(400, 80); // Rahmen, der das Hauptlayout enthält Plasma::Frame* frame = new Plasma::Frame(); frame->setFrameShadow(Plasma::Frame::Sunken); QGraphicsLinearLayout* fullSpaceLayout = new QGraphicsLinearLayout(); fullSpaceLayout->setContentsMargins(0,0,0,0); setLayout(fullSpaceLayout); fullSpaceLayout->addItem(frame); QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(); layout->setContentsMargins(0,0,0,0); frame->setLayout(layout); // Icon mit History und Queue Indicator iconWidget = new Plasma::IconWidget(); iconWidget->setPreferredWidth(25); iconWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); iconWidget->setIcon(KIcon("arrow-down")); layout->addItem(iconWidget); // Layout mit Progressbars meterContainer = new Plasma::Label(); meterContainer->nativeWidget()->setWordWrap(true); meterLayout = new QGraphicsLinearLayout(); meterContainer->setLayout(meterLayout); layout->addItem(meterContainer); // Popup erzeugen popup = new Plasma::Dialog(); QVBoxLayout* popupLayout = new QVBoxLayout(); popupLayout->setContentsMargins(0,0,0,0); popup->setLayout(popupLayout); popup->setWindowFlags(Qt::Popup); popup->resize(400, 300); // GraphicsView und GraphicsScene erzeugen QGraphicsScene* popupScene = new QGraphicsScene(); QGraphicsView* popupView = new QGraphicsView(); popupView->setScene(popupScene); popupView->setFrameStyle(QFrame::NoFrame); popupView->setStyleSheet("background-color: transparent;"); popupView->setAlignment(Qt::AlignHCenter | Qt::AlignTop); popupView->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); popupView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); popupLayout->addWidget(popupView); // Container mit dem GridLayout zur Scene hinzufügen jobViewContainer = new QGraphicsWidget(); jobViewLayout = new QGraphicsLinearLayout(Qt::Vertical); jobViewLayout->setContentsMargins(5,5,5,5); jobViewContainer->setLayout(jobViewLayout); popupScene->addItem(jobViewContainer); // Überschrift-/Nachrichtenbereich popupHeadline = new Plasma::Label(); popupHeadline->nativeWidget()->setAlignment(Qt::AlignCenter); jobViewLayout->addItem(popupHeadline); QObject::connect(iconWidget, SIGNAL(clicked()), this, SLOT(showPopup())); }
void KonqPopupMenuPrivate::init(KonqPopupMenu::Flags kpf, KParts::BrowserExtension::PopupFlags flags) { m_itemFlags = flags; q->setFont(KGlobalSettings::menuFont()); Q_ASSERT(m_popupItemProperties.items().count() >= 1); bool bTrashIncluded = false; const KFileItemList lstItems = m_popupItemProperties.items(); KFileItemList::const_iterator it = lstItems.constBegin(); const KFileItemList::const_iterator kend = lstItems.constEnd(); for ( ; it != kend; ++it ) { const KUrl url = (*it).url(); if ( !bTrashIncluded && ( ( url.protocol() == "trash" && url.path().length() <= 1 ) ) ) { bTrashIncluded = true; } } const bool isDirectory = m_popupItemProperties.isDirectory(); const bool sReading = m_popupItemProperties.supportsReading(); bool sDeleting = (m_itemFlags & KParts::BrowserExtension::NoDeletion) == 0 && m_popupItemProperties.supportsDeleting(); const bool sWriting = m_popupItemProperties.supportsWriting(); const bool sMoving = sDeleting && m_popupItemProperties.supportsMoving(); const bool isLocal = m_popupItemProperties.isLocal(); KUrl url = m_sViewURL; url.cleanPath(); bool isTrashLink = false; bool isCurrentTrash = false; bool currentDir = false; bool isSymLink = false; bool isSymLinkInSameDir = false; // true for "ln -s foo bar", false for links to foo/sub or /foo //check if url is current directory if ( lstItems.count() == 1 ) { KFileItem firstPopupItem( lstItems.first() ); if (firstPopupItem.isLink()) { isSymLink = true; isSymLinkInSameDir = !firstPopupItem.linkDest().contains('/'); } KUrl firstPopupURL( firstPopupItem.url() ); firstPopupURL.cleanPath(); //kDebug(1203) << "View path is " << url.url(); //kDebug(1203) << "First popup path is " << firstPopupURL.url(); currentDir = firstPopupURL.equals( url, KUrl::CompareWithoutTrailingSlash ); if ( firstPopupItem.isDesktopFile() ) { KDesktopFile desktopFile( firstPopupItem.localPath() ); const KConfigGroup cfg = desktopFile.desktopGroup(); isTrashLink = ( cfg.readEntry("Type") == "Link" && cfg.readEntry("URL") == "trash:/" ); } if (isTrashLink) { sDeleting = false; } // isCurrentTrash: popup on trash:/ itself, or on the trash.desktop link isCurrentTrash = (firstPopupURL.protocol() == "trash" && firstPopupURL.path().length() <= 1) || isTrashLink; } const bool isIntoTrash = (url.protocol() == "trash") && !isCurrentTrash; // trashed file, not trash:/ itself const bool bIsLink = (m_itemFlags & KParts::BrowserExtension::IsLink); //kDebug() << "isLocal=" << isLocal << " url=" << url << " isCurrentTrash=" << isCurrentTrash << " isIntoTrash=" << isIntoTrash << " bTrashIncluded=" << bTrashIncluded; ////////////////////////////////////////////////////////////////////////// addGroup( "topactions" ); // used e.g. for ShowMenuBar. includes a separator at the end KAction * act; KAction *actNewWindow = 0; #if 0 // TODO in the desktop code itself. if (( flags & KParts::BrowserExtension::ShowProperties ) && isOnDesktop && !KAuthorized::authorizeKAction("editable_desktop_icons")) { flags &= ~KParts::BrowserExtension::ShowProperties; // remove flag } #endif // Either 'newview' is in the actions we're given (probably in the tabhandling group) // or we need to insert it ourselves (e.g. for the desktop). // In the first case, actNewWindow must remain 0. if ( ((kpf & KonqPopupMenu::ShowNewWindow) != 0) && sReading ) { const QString openStr = i18n("&Open"); actNewWindow = new KAction(m_parentWidget /*for status tips*/); m_ownActions.append(actNewWindow); actNewWindow->setIcon( KIcon("window-new") ); actNewWindow->setText( openStr ); QObject::connect(actNewWindow, SIGNAL(triggered()), q, SLOT(slotPopupNewView())); } if ( isDirectory && sWriting && !isCurrentTrash ) // A dir, and we can create things into it { const bool mkdirRequested = m_itemFlags & KParts::BrowserExtension::ShowCreateDirectory; if ( (currentDir || mkdirRequested) && m_pMenuNew ) // Current dir -> add the "new" menu { // As requested by KNewFileMenu : m_pMenuNew->checkUpToDate(); m_pMenuNew->setPopupFiles(m_popupItemProperties.urlList()); q->addAction( m_pMenuNew ); q->addSeparator(); } else if (mkdirRequested) { KAction *actNewDir = new KAction(m_parentWidget); m_ownActions.append(actNewDir); actNewDir->setIcon( KIcon("folder-new") ); actNewDir->setText( i18n( "Create &Folder..." ) ); QObject::connect(actNewDir, SIGNAL(triggered()), q, SLOT(slotPopupNewDir())); q->addAction( actNewDir ); q->addSeparator(); } } else if ( isIntoTrash ) { // Trashed item, offer restoring act = new KAction(m_parentWidget /*for status tips*/); m_ownActions.append(act); act->setText( i18n( "&Restore" ) ); act->setHelpText(i18n("Restores this file or directory, back to the location where it was deleted from initially")); QObject::connect(act, SIGNAL(triggered()), q, SLOT(slotPopupRestoreTrashedItems())); q->addAction(act); } if (m_itemFlags & KParts::BrowserExtension::ShowNavigationItems) { if (m_itemFlags & KParts::BrowserExtension::ShowUp) addNamedAction( "go_up" ); addNamedAction( "go_back" ); addNamedAction( "go_forward" ); if (m_itemFlags & KParts::BrowserExtension::ShowReload) addNamedAction( "reload" ); q->addSeparator(); } if (!currentDir && isSymLink && !isSymLinkInSameDir) { // #65151: offer to open the target's parent dir act = new KAction(m_parentWidget); m_ownActions.append(act); act->setText(isDirectory ? i18n("Show Original Directory") : i18n("Show Original File")); act->setHelpText(i18n("Opens a new file manager window showing the target of this link, in its parent directory.")); QObject::connect(act, SIGNAL(triggered()), q, SLOT(slotShowOriginalFile())); q->addAction(act); } // "open in new window" is either provided by us, or by the tabhandling group if (actNewWindow) { q->addAction(actNewWindow); q->addSeparator(); } addGroup( "tabhandling" ); // includes a separator at the end if (m_itemFlags & KParts::BrowserExtension::ShowUrlOperations) { if ( !currentDir && sReading ) { if ( sDeleting ) { addNamedAction( "cut" ); } addNamedAction( "copy" ); } if ( isDirectory && sWriting ) { if ( currentDir ) addNamedAction( "paste" ); else addNamedAction( "pasteto" ); } } if ( isCurrentTrash ) { act = new KAction(m_parentWidget); m_ownActions.append(act); act->setIcon( KIcon("trash-empty") ); act->setText( i18n( "&Empty Trash Bin" ) ); KConfig trashConfig( "trashrc", KConfig::SimpleConfig); act->setEnabled( !trashConfig.group("Status").readEntry( "Empty", true ) ); QObject::connect(act, SIGNAL(triggered()), q, SLOT(slotPopupEmptyTrashBin())); q->addAction(act); } if ( isCurrentTrash ) { act = new KAction(m_parentWidget); m_ownActions.append(act); act->setIcon( KIcon("trash-empty") ); act->setText( i18n( "&Configure Trash Bin" ) ); QObject::connect(act, SIGNAL(triggered()), q, SLOT(slotConfigTrashBin())); q->addAction(act); } // This is used by KHTML, see khtml_popupmenu.rc (copy, selectAll, searchProvider etc.) // and by DolphinPart (rename, trash, delete) addGroup( "editactions" ); if (m_itemFlags & KParts::BrowserExtension::ShowTextSelectionItems) { // OK, we have to stop here. // Anything else that is provided by the part addGroup( "partactions" ); return; } if ( !isCurrentTrash && !isIntoTrash && (m_itemFlags & KParts::BrowserExtension::ShowBookmark)) { QString caption; if (currentDir) { const bool httpPage = m_sViewURL.protocol().startsWith("http", Qt::CaseInsensitive); if (httpPage) caption = i18n("&Bookmark This Page"); else caption = i18n("&Bookmark This Location"); } else if (isDirectory) caption = i18n("&Bookmark This Folder"); else if (bIsLink) caption = i18n("&Bookmark This Link"); else caption = i18n("&Bookmark This File"); act = new KAction(m_parentWidget); m_ownActions.append(act); act->setObjectName( QLatin1String("bookmark_add" )); // for unittest act->setIcon( KIcon("bookmark-new") ); act->setText( caption ); QObject::connect(act, SIGNAL(triggered()), q, SLOT(slotPopupAddToBookmark())); if (lstItems.count() > 1) act->setEnabled(false); if (KAuthorized::authorizeKAction("bookmarks")) q->addAction( act ); if (bIsLink) addGroup( "linkactions" ); // see khtml } // "Open With" actions m_menuActions.setItemListProperties(m_popupItemProperties); if ( sReading ) { m_menuActions.addOpenWithActionsTo(q, "DesktopEntryName != 'kfmclient' and DesktopEntryName != 'kfmclient_dir' and DesktopEntryName != 'kfmclient_html'"); QList<QAction *> previewActions = m_actionGroups.value("preview"); if (!previewActions.isEmpty()) { if (previewActions.count() == 1) { q->addAction(previewActions.first()); } else { QMenu* subMenu = new QMenu(i18n("Preview In"), q); subMenu->menuAction()->setObjectName( QLatin1String("preview_submenu" )); // for the unittest q->addMenu(subMenu); subMenu->addActions(previewActions); } } } // Second block, builtin + user m_menuActions.addServiceActionsTo(q); q->addSeparator(); // Use the Dolphin setting for showing the "Copy To" and "Move To" actions KSharedConfig::Ptr dolphin = KSharedConfig::openConfig("dolphinrc"); // CopyTo/MoveTo menus if (m_itemFlags & KParts::BrowserExtension::ShowUrlOperations && KConfigGroup(dolphin, "General").readEntry("ShowCopyMoveMenu", false)) { m_copyToMenu.setItems(lstItems); m_copyToMenu.setReadOnly(sMoving == false); m_copyToMenu.addActionsTo(q); q->addSeparator(); } if (!isCurrentTrash && !isIntoTrash && sReading && (kpf & KonqPopupMenu::NoPlugins) == 0) { addPlugins(); // now it's time to add plugins } if ( (m_itemFlags & KParts::BrowserExtension::ShowProperties) && KPropertiesDialog::canDisplay( lstItems ) ) { act = new KAction(m_parentWidget); m_ownActions.append(act); act->setObjectName( QLatin1String("properties" )); // for unittest act->setText( i18n( "&Properties" ) ); QObject::connect(act, SIGNAL(triggered()), q, SLOT(slotPopupProperties())); q->addAction(act); } while ( !q->actions().isEmpty() && q->actions().last()->isSeparator() ) delete q->actions().last(); if ( isDirectory && isLocal ) { if ( KFileShare::authorization() == KFileShare::Authorized ) { q->addSeparator(); act = new KAction(m_parentWidget); m_ownActions.append(act); act->setText( i18n("Share") ); QObject::connect(act, SIGNAL(triggered()), q, SLOT(slotOpenShareFileDialog())); q->addAction(act); } } // Anything else that is provided by the part addGroup( "partactions" ); }
/*! Returns an icon to be used in the project explorer. */ QIcon Datapicker::icon() const { return KIcon("color-picker-black"); }
int kScreenSaverMain( int argc, char** argv, KScreenSaverInterface& screenSaverInterface ) { KLocale::setMainCatalog("libkscreensaver"); KCmdLineArgs::init(argc, argv, screenSaverInterface.aboutData()); KCmdLineOptions options; options.add("setup", ki18n("Setup screen saver")); options.add("window-id wid", ki18n("Run in the specified XWindow")); options.add("root", ki18n("Run in the root XWindow")); options.add("demo", ki18n("Start screen saver in demo mode"), "default"); KCmdLineArgs::addCmdLineOptions(options); KApplication app; // Set a useful default icon. app.setWindowIcon(KIcon("preferences-desktop-screensaver")); if (!pipe(termPipe)) { #ifndef Q_WS_WIN struct sigaction sa; sa.sa_handler = termHandler; sigemptyset(&sa.sa_mask); sa.sa_flags = 0; sigaction(SIGTERM, &sa, 0); #endif QSocketNotifier *sn = new QSocketNotifier(termPipe[0], QSocketNotifier::Read, &app); QObject::connect(sn, SIGNAL(activated(int)), &app, SLOT(quit())); } #ifdef Q_WS_X11 oldXErrorHandler = XSetErrorHandler(xErrorHandler); #endif KCrash::setCrashHandler( crashHandler ); KGlobal::locale()->insertCatalog("klock"); KGlobal::locale()->insertCatalog("kscreensaver"); DemoWindow *demoWidget = 0; Window saveWin = 0; KScreenSaver *target; KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); if (args->isSet("setup")) { QDialog *dlg = screenSaverInterface.setup(); args->clear(); dlg->exec(); delete dlg; return 0; } if (args->isSet("window-id")) { #ifdef Q_WS_WIN saveWin = (HWND)(args->getOption("window-id").toULong()); #else saveWin = args->getOption("window-id").toInt(); #endif } #ifdef Q_WS_X11 //FIXME if (args->isSet("root")) { QX11Info inf; saveWin = RootWindow(QX11Info::display(), inf.screen()); } #endif if (args->isSet("demo")) { saveWin = 0; } if (saveWin == 0) { demoWidget = new DemoWindow(); demoWidget->setAttribute(Qt::WA_NoSystemBackground); demoWidget->setAttribute(Qt::WA_PaintOnScreen); demoWidget->show(); app.processEvents(); saveWin = demoWidget->winId(); } target = screenSaverInterface.create( saveWin ); target->setAttribute(Qt::WA_PaintOnScreen); target->show(); if (demoWidget) { target->installEventFilter( demoWidget ); } args->clear(); app.exec(); delete target; delete demoWidget; return 0; }
bool zip::parse(QTreeWidget * listv, QString bf, akuRatioWidget *ratioBar ) { // variabile che indica la presenza di file con password (header compreso) bool fileswithpass = false; bf.remove(0, (bf.indexOf("\n") + 1)); // elimino la prima riga bf.remove(bf.lastIndexOf("\n"), bf.size()); // elimino l'ultima riga // memorizzo l'ultima riga per conservare delle informazioni utili QString lastline = bf.mid((bf.lastIndexOf("\n") + 1), bf.size()); bf.remove(bf.lastIndexOf("\n"), bf.size()); bool crypted = false; QStringList flist = bf.split ( "\n" ); //splitto basandomi sul carattere di newline int numeroPezziPercorso; QRegExp sep("(\\s+)"); //inizio il ciclo per la visualizzazione dell'elenco for ( int i = 0; i < flist.size(); i++ ) { // estraggo prima il percorso del file a partire dal carattere 62 QString filepath = flist[i].mid(62, flist[i].size()); // questa funzione per quanto migliore, non prende i file che iniziano per spazio vuoto //QString filepath = flist[i].section(sep, 9 , -1); QStringList singleItem = filepath.split (QDir().separator()); //splitto i nomi delle cartelle //puts(singleItem.join(" ").toAscii()); numeroPezziPercorso = singleItem.size() - 1; QTreeWidgetItem *fitem; //nuovo elemento da allocare in lista QTreeWidgetItem *tmpItem; //puntatore a elemento temporaneo bool foldFound = false; //se ho trovato l'elemento... bool itemFound = false; for ( int j = 0; j < singleItem.size(); j++ ) {//per ogni cartella ramifico... itemFound = false; foldFound = false; //-------------------queste operazioni avvengono solo ed esclusivamente al primo ciclo---------------------// if ( j == 0 ) { //se e' il primo ciclo limitiamo la ricerca ai top level items for ( int c = 0; c < listv -> topLevelItemCount(); c++ ) { //se trovo l'elemento tra i top level setto il current if ( ( listv -> topLevelItem ( c ) ) -> text ( 0 ) == singleItem[j] ) { tmpItem = listv -> topLevelItem ( c ); foldFound = true; break; //se ho trovato l'elemento è inutile continuare il ciclo } } if ( foldFound == false ) { //altrimenti alloco in lista in topLevel.. Questo accade anche se non è stato eseguito nessun ciclo fitem = new QTreeWidgetItem ( listv ); fitem -> setText ( 0, singleItem[j] ); tmpItem = fitem; } } else { //------------------queste operazioni avvengono per tutti gli altri cicli-------------------// //cerco ciò che mi interessa tra i child dell currentItem() attuale for ( int c=0; c < tmpItem -> childCount(); c++ ) { if ( tmpItem->child ( c ) -> text ( 0 ) == singleItem[j] ) { tmpItem = tmpItem->child ( c ); //se lo trovo setto il current item itemFound = true; break; //se ho trovato l'elemento è inutile continuare il ciclo } } if (( itemFound == false ) && (!singleItem[j].isEmpty())) { //altrimenti alloco e setto il currentItem fitem = new QTreeWidgetItem ( tmpItem ); fitem -> setText ( 0, singleItem[j] ); tmpItem = fitem; } } } //flist[i].remove(62, flist[i].size()); QStringList dlist = (flist.at(i)).split(" ", QString::SkipEmptyParts ); // generiamo una lista contenente i parametri dei file //puts(dlist[4].toAscii() + dlist[6].toAscii()); //if (!((dlist[6] == "stor") && (dlist[4] == "bx"))) { //è inutile scrivere gli attributi della cartella // provo a vedere se basta leggere la "d" dai permessi per individuare una cartella invece di un controllo // fatto nella riga precedente. if (dlist[0][0] != QChar('d')) { fitem -> setText(4, dlist[7] + " " + dlist[8]); // modified QString size = KLocale( QString() ).formatByteSize(dlist[3].toDouble()); // 3 -> dimensione originale del file fitem -> setText(1, size); size = KLocale( QString() ).formatByteSize(dlist[5].toDouble()); // 5 -> dimensione packed del file fitem -> setText(2, size); fitem -> setText(5, dlist[0]); // attributi fitem -> setText(7, dlist[4] + " " + dlist[6]); // metodo if ((dlist[4][0] == QChar('B')) || (dlist[4][0] == QChar('T'))) crypted = true; else crypted = false; fitem -> setText(8, dlist[1] + " " + dlist[2]); // version and so // calcolo il ratio float ratio = 0; if (dlist[3].toInt() != 0) { ratio = (100.0 * dlist[5].toFloat() / dlist[3].toFloat()); ratio = abs(ratio - 100); } fitem -> setText(3, QString().setNum(ratio) + "%"); // // akuRatioWidget *ratioWidget = new akuRatioWidget(ratio); // // listv -> setItemWidget(fitem, 3, ratioWidget); // fitem -> setTextAlignment ( 1, Qt::AlignRight | Qt::AlignVCenter ); fitem -> setTextAlignment ( 2, Qt::AlignRight | Qt::AlignVCenter ); fitem -> setTextAlignment ( 3, Qt::AlignHCenter | Qt::AlignVCenter ); fitem -> setTextAlignment ( 5, Qt::AlignHCenter | Qt::AlignVCenter ); fitem -> setTextAlignment ( 7, Qt::AlignRight | Qt::AlignVCenter ); fitem -> setTextAlignment ( 8, Qt::AlignCenter | Qt::AlignVCenter ); KMimeType::Ptr mimePtr = KMimeType::findByUrl(KUrl(singleItem[numeroPezziPercorso])); KIcon icon(mimePtr -> iconName()); fitem -> setIcon (0, icon); fitem -> setText(9, mimePtr->name()); } if (crypted == true) { fitem -> setIcon(10, KIcon("dialog-password")); fileswithpass = true; } } QStringList archinfo; archinfo = lastline.split ( " ", QString::SkipEmptyParts ); archiveDetails << archinfo[0] << KLocale(archinfo[2] ).formatByteSize(archinfo[2].toULong()) << KLocale(archinfo[5] ).formatByteSize(archinfo[5].toULong()); QString ratio = archinfo.at (8); ratio.remove (ratio.length() - 1, 1); ratioBar -> setRatio (int(ratio.toFloat() + 0.5f)); return fileswithpass; }
void ContactsKopete::updateContactData(const QString & contact) { if (d->noOnlineContacts) { load(true); return; } // Retrieving contact name QDBusReply < QString > contactName = d->interface->getDisplayName(contact); if (!contactName.isValid()) { return; } QDBusReply < QVariantMap > contactProperties = d->interface->contactProperties(contact); if (!contactProperties.isValid() || contactProperties.value().size() == 0) { return; } QDBusReply < bool > contactOnline = d->interface->isContactOnline(contact); if (!contactOnline.isValid()) { return; } QString avatarPath = contactProperties.value().value("picture").toString(); avatarPath = KUrl(avatarPath).toLocalFile(); if (avatarPath.isEmpty()) { avatarPath = "user-online"; } kDebug() << "avatarPath" << avatarPath; QString status = contactProperties.value().value("status_message").toString(); if (status.isEmpty()) { status = contactProperties.value().value("status").toString(); } int index; for (index = 0; index < size(); index++) { if (itemAt(index).data == contact) { break; } } if (index >= size()) { // we don't have this contact in the list if (contactOnline.value()) { add( contactProperties.value().value("display_name").toString(), status, KIcon(avatarPath), contact); } } else { // we already have this contact if (contactOnline.value()) { // we are updating the contact set(index, contactProperties.value().value("display_name").toString(), status, KIcon(avatarPath), contact); } else { // we are removing the contact from the list removeAt(index); if (size() == 0) { d->noOnlineContacts = true; add(i18n("No online contacts"), "", KIcon("user-offline"), QVariant()); } } } }
Thesaurus::Thesaurus() { m_standAlone = false; m_thesProc = new KProcess; m_wnProc = new KProcess; m_dialog = new KDialog(0); m_dialog->setButtons(KDialog::Help | KDialog::Ok | KDialog::Cancel); m_dialog->setDefaultButton(KDialog::Ok); m_dialog->setHelp(QString(), "thesaurus"); m_dialog->resize(600, 400); KConfigGroup cfg = KGlobal::config()->group(""); m_dataFile = cfg.readEntry("datafile"); if (m_dataFile.isEmpty()) m_dataFile = KGlobal::dirs()->findResource("data", "koffice/thesaurus/thesaurus.txt"); setCaption(); m_noMatch = i18n("(No match)"); m_historyPos = 1; QWidget *page = new QWidget(); m_dialog->setMainWidget(page); QVBoxLayout *topLayout = new QVBoxLayout(page); topLayout->setMargin(KDialog::marginHint()); topLayout->setSpacing(KDialog::spacingHint()); QHBoxLayout *row1 = new QHBoxLayout; topLayout->addLayout(row1); m_edit = new KHistoryComboBox(page); QLabel editLabel(i18n("&Search for:"), page); editLabel.setBuddy(m_edit); m_search = new KPushButton(i18n("S&earch"), page); connect(m_search, SIGNAL(clicked()), this, SLOT(slotFindTerm())); row1->addWidget(&editLabel, 0); row1->addWidget(m_edit, 1); row1->addWidget(m_search, 0); m_back = new QToolButton(page); m_back->setIcon(KIcon(QString::fromLatin1("go-previous"))); m_back->setToolTip(i18nc("@action:button Go back to the previous word in history", "Back")); row1->addWidget(m_back, 0); m_forward = new QToolButton(page); m_forward->setIcon(KIcon(QString::fromLatin1("go-next"))); m_forward->setToolTip(i18nc("@action:button Go forward to the next word in history", "Forward")); row1->addWidget(m_forward, 0); KPushButton *lang = new KPushButton(i18n("Change Language..."), page); connect(lang, SIGNAL(clicked()), this, SLOT(slotChangeLanguage())); row1->addWidget(lang, 0); connect(m_back, SIGNAL(clicked()), this, SLOT(slotBack())); connect(m_forward, SIGNAL(clicked()), this, SLOT(slotForward())); m_tabWidget = new KTabWidget(page); topLayout->addWidget(m_tabWidget); // // Thesaurus Tab // QWidget *thesWidget = new QWidget(m_tabWidget); m_tabWidget->addTab(thesWidget, i18n("&Thesaurus")); QHBoxLayout *thesLayout = new QHBoxLayout; thesLayout->setSpacing(KDialog::spacingHint()); thesWidget->setLayout(thesLayout); QGroupBox *synGroupBox = new QGroupBox(i18n("Synonyms"), thesWidget); QHBoxLayout *synLayout = new QHBoxLayout(); synGroupBox->setLayout(synLayout); m_synListWidget = new QListWidget(synGroupBox); synLayout->addWidget(m_synListWidget); thesLayout->addWidget(synGroupBox); QGroupBox *hyperGroupBox = new QGroupBox(i18n("More General Words"), thesWidget); QHBoxLayout *hyperLayout = new QHBoxLayout(); hyperGroupBox->setLayout(hyperLayout); m_hyperListWidget = new QListWidget(hyperGroupBox); hyperLayout->addWidget(m_hyperListWidget); thesLayout->addWidget(hyperGroupBox); QGroupBox *hypoGroupBox = new QGroupBox(i18n("More Specific Words"), thesWidget); QHBoxLayout *hypoLayout = new QHBoxLayout(); hypoGroupBox->setLayout(hypoLayout); m_hypoListWidget = new QListWidget(hypoGroupBox); hypoLayout->addWidget(m_hypoListWidget); thesLayout->addWidget(hypoGroupBox); // single click -- keep display unambiguous by removing other selections: connect(m_synListWidget, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(slotSetReplaceTermSyn(QListWidgetItem *))); connect(m_hyperListWidget, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(slotSetReplaceTermHyper(QListWidgetItem *))); connect(m_hypoListWidget, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(slotSetReplaceTermHypo(QListWidgetItem *))); // double click -- set the double clicked item as the new search term connect(m_synListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(slotFindTermFromList(QListWidgetItem *))); connect(m_hyperListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(slotFindTermFromList(QListWidgetItem *))); connect(m_hypoListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(slotFindTermFromList(QListWidgetItem *))); // // WordNet Tab // QWidget *wnWidget = new QWidget(m_tabWidget); m_tabWidget->addTab(wnWidget, i18n("&Wordnet")); QVBoxLayout *wnLayout = new QVBoxLayout; wnLayout->setSpacing(KDialog::spacingHint()); wnLayout->setMargin(KDialog::marginHint()); wnWidget->setLayout(wnLayout); m_wnComboBox = new KComboBox(wnWidget); m_wnComboBox->setEditable(false); wnLayout->addWidget(m_wnComboBox); connect(m_wnComboBox, SIGNAL(activated(int)), this, SLOT(slotFindTerm())); m_resultTextBrowser = new KTextBrowser(wnWidget); m_resultTextBrowser->setReadOnly(true); connect(m_resultTextBrowser, SIGNAL(anchorClicked(const QUrl &)), this, SLOT(slotFindTermFromUrl(const QUrl &))); wnLayout->addWidget(m_resultTextBrowser); // Connect for the history box m_edit->setTrapReturnKey(true); // Do not use Return as default key... connect(m_edit, SIGNAL(returnPressed()), this, SLOT(slotFindTerm())); connect(m_edit, SIGNAL(activated(int)), this, SLOT(slotGotoHistory(int))); QHBoxLayout *row2 = new QHBoxLayout( /*m_top_layout*/ ); topLayout->addLayout(row2); m_replaceLineEdit = new KLineEdit(page); m_replaceLabel = new QLabel(i18n("&Replace with:"), page); m_replaceLabel->setBuddy(m_replaceLineEdit); row2->addWidget(m_replaceLabel, 0); row2->addWidget(m_replaceLineEdit, 1); // Set focus m_edit->setFocus(); updateNavButtons(); connect(m_dialog, SIGNAL(accepted()), this, SLOT(process())); connect(m_dialog, SIGNAL(rejected()), this, SLOT(dialogClosed())); }
void MainWindow::setupActions() { KAction *newDownloadAction = actionCollection()->addAction("new_download"); newDownloadAction->setText(i18n("&New Download...")); newDownloadAction->setIcon(KIcon("document-new")); newDownloadAction->setShortcuts(KShortcut("Ctrl+N")); newDownloadAction->setHelpText(i18n("Opens a dialog to add a transfer to the list")); connect(newDownloadAction, SIGNAL(triggered()), SLOT(slotNewTransfer())); KAction *openAction = actionCollection()->addAction("import_transfers"); openAction->setText(i18n("&Import Transfers...")); openAction->setIcon(KIcon("document-open")); openAction->setShortcuts(KShortcut("Ctrl+I")); openAction->setHelpText(i18n("Imports a list of transfers")); connect(openAction, SIGNAL(triggered()), SLOT(slotImportTransfers())); KAction *exportAction = actionCollection()->addAction("export_transfers"); exportAction->setText(i18n("&Export Transfers List...")); exportAction->setIcon(KIcon("document-export")); exportAction->setShortcuts(KShortcut("Ctrl+E")); exportAction->setHelpText(i18n("Exports the current transfers into a file")); connect(exportAction, SIGNAL(triggered()), SLOT(slotExportTransfers())); KAction *createMetalinkAction = actionCollection()->addAction("create_metalink"); createMetalinkAction->setText(i18n("&Create a Metalink...")); createMetalinkAction->setIcon(KIcon("journal-new")); createMetalinkAction->setHelpText(i18n("Creates or modifies a metalink and saves it on disk")); connect(createMetalinkAction, SIGNAL(triggered()), SLOT(slotCreateMetalink())); KAction *priorityTop = actionCollection()->addAction("priority_top"); priorityTop->setText(i18n("Top Priority")); priorityTop->setIcon(KIcon("arrow-up-double")); priorityTop->setShortcuts(KShortcut("Ctrl+PgUp")); priorityTop->setHelpText(i18n("Download selected transfer first")); connect(priorityTop, SIGNAL(triggered()), this, SLOT(slotPriorityTop())); KAction *priorityBottom = actionCollection()->addAction("priority_bottom"); priorityBottom->setText(i18n("Least Priority")); priorityBottom->setIcon(KIcon("arrow-down-double")); priorityBottom->setShortcuts(KShortcut("Ctrl+PgDown")); priorityBottom->setHelpText(i18n("Download selected transfer last")); connect(priorityBottom, SIGNAL(triggered()), this, SLOT(slotPriorityBottom())); KAction *priorityUp = actionCollection()->addAction("priority_up"); priorityUp->setText(i18n("Increase Priority")); priorityUp->setIcon(KIcon("arrow-up")); priorityUp->setShortcuts(KShortcut("Ctrl+Up")); priorityUp->setHelpText(i18n("Increase priority for selected transfer")); connect(priorityUp, SIGNAL(triggered()), this, SLOT(slotPriorityUp())); KAction *priorityDown = actionCollection()->addAction("priority_down"); priorityDown->setText(i18n("Decrease Priority")); priorityDown->setIcon(KIcon("arrow-down")); priorityDown->setShortcuts(KShortcut("Ctrl+Down")); priorityDown->setHelpText(i18n("Decrease priority for selected transfer")); connect(priorityDown, SIGNAL(triggered()), this, SLOT(slotPriorityDown())); //FIXME: Not needed maybe because the normal delete already deletes groups? KAction *deleteGroupAction = actionCollection()->addAction("delete_groups"); deleteGroupAction->setText(i18n("Delete Group")); deleteGroupAction->setIcon(KIcon("edit-delete")); deleteGroupAction->setHelpText(i18n("Delete selected group")); connect(deleteGroupAction, SIGNAL(triggered()), SLOT(slotDeleteGroup())); KAction *renameGroupAction = actionCollection()->addAction("rename_groups"); renameGroupAction->setText(i18n("Rename Group...")); renameGroupAction->setIcon(KIcon("edit-rename")); connect(renameGroupAction, SIGNAL(triggered()), SLOT(slotRenameGroup())); KAction *setIconGroupAction = actionCollection()->addAction("seticon_groups"); setIconGroupAction->setText(i18n("Set Icon...")); setIconGroupAction->setIcon(KIcon("preferences-desktop-icons")); setIconGroupAction->setHelpText(i18n("Select a custom icon for the selected group")); connect(setIconGroupAction, SIGNAL(triggered()), SLOT(slotSetIconGroup())); m_autoPasteAction = new KToggleAction(KIcon("edit-paste"), i18n("Auto-Paste Mode"), actionCollection()); actionCollection()->addAction("auto_paste", m_autoPasteAction); m_autoPasteAction->setChecked(Settings::autoPaste()); m_autoPasteAction->setWhatsThis(i18n("<b>Auto paste</b> button toggles the auto-paste mode " "on and off.\nWhen set, KGet will periodically scan " "the clipboard for URLs and paste them automatically.")); connect(m_autoPasteAction, SIGNAL(triggered()), SLOT(slotToggleAutoPaste())); m_konquerorIntegration = new KToggleAction(KIcon("konqueror"), i18n("Use KGet as Konqueror Download Manager"), actionCollection()); actionCollection()->addAction("konqueror_integration", m_konquerorIntegration); connect(m_konquerorIntegration, SIGNAL(triggered(bool)), SLOT(slotTrayKonquerorIntegration(bool))); m_konquerorIntegration->setChecked(Settings::konquerorIntegration()); // local - Destroys all sub-windows and exits KStandardAction::quit(this, SLOT(slotQuit()), actionCollection()); // local - Standard configure actions KStandardAction::preferences(this, SLOT(slotPreferences()), actionCollection()); KStandardAction::configureNotifications(this, SLOT(slotConfigureNotifications()), actionCollection()); m_menubarAction = KStandardAction::showMenubar(this, SLOT(slotShowMenubar()), actionCollection()); m_menubarAction->setChecked(!menuBar()->isHidden()); // Transfer related actions actionCollection()->addAction(KStandardAction::SelectAll, "select_all", m_viewsContainer, SLOT(selectAll())); KAction *deleteSelectedAction = actionCollection()->addAction("delete_selected_download"); deleteSelectedAction->setText(i18nc("delete selected transfer item", "Remove Selected")); deleteSelectedAction->setIcon(KIcon("edit-delete")); deleteSelectedAction->setShortcuts(KShortcut("Del")); deleteSelectedAction->setHelpText(i18n("Removes selected transfer and deletes files from disk if it's not finished")); connect(deleteSelectedAction, SIGNAL(triggered()), SLOT(slotDeleteSelected())); KAction *deleteAllFinishedAction = actionCollection()->addAction("delete_all_finished"); deleteAllFinishedAction->setText(i18nc("delete all finished transfers", "Remove All Finished")); deleteAllFinishedAction->setIcon(KIcon("edit-clear-list")); deleteAllFinishedAction->setHelpText(i18n("Removes all finished transfers and leaves all files on disk")); connect(deleteAllFinishedAction, SIGNAL(triggered()), SLOT(slotDeleteFinished())); KAction *deleteSelectedIncludingFilesAction = actionCollection()->addAction("delete_selected_download_including_files"); deleteSelectedIncludingFilesAction->setText(i18nc("delete selected transfer item and files", "Remove Selected and Delete Files")); deleteSelectedIncludingFilesAction->setIcon(KIcon("edit-delete")); deleteSelectedIncludingFilesAction->setHelpText(i18n("Removes selected transfer and deletes files from disk in any case")); connect(deleteSelectedIncludingFilesAction, SIGNAL(triggered()), SLOT(slotDeleteSelectedIncludingFiles())); KAction *redownloadSelectedAction = actionCollection()->addAction("redownload_selected_download"); redownloadSelectedAction->setText(i18nc("redownload selected transfer item", "Redownload Selected")); redownloadSelectedAction->setIcon(KIcon("view-refresh")); connect(redownloadSelectedAction, SIGNAL(triggered()), SLOT(slotRedownloadSelected())); KAction *startAllAction = actionCollection()->addAction("start_all_download"); startAllAction->setText(i18n("Start All")); startAllAction->setIcon(KIcon("media-seek-forward")); startAllAction->setShortcuts(KShortcut("Ctrl+R")); startAllAction->setHelpText(i18n("Starts / resumes all transfers")); connect(startAllAction, SIGNAL(triggered()), SLOT(slotStartAllDownload())); KAction *startSelectedAction = actionCollection()->addAction("start_selected_download"); startSelectedAction->setText(i18n("Start Selected")); startSelectedAction->setIcon(KIcon("media-playback-start")); startSelectedAction->setHelpText(i18n("Starts / resumes selected transfer")); connect(startSelectedAction, SIGNAL(triggered()), SLOT(slotStartSelectedDownload())); KAction *stopAllAction = actionCollection()->addAction("stop_all_download"); stopAllAction->setText(i18n("Pause All")); stopAllAction->setIcon(KIcon("media-playback-pause")); stopAllAction->setShortcuts(KShortcut("Ctrl+P")); stopAllAction->setHelpText(i18n("Pauses all transfers")); connect(stopAllAction, SIGNAL(triggered()), SLOT(slotStopAllDownload())); KAction *stopSelectedAction = actionCollection()->addAction("stop_selected_download"); stopSelectedAction->setText(i18n("Stop Selected")); stopSelectedAction->setIcon(KIcon("media-playback-pause")); stopSelectedAction->setHelpText(i18n("Pauses selected transfer")); connect(stopSelectedAction, SIGNAL(triggered()), SLOT(slotStopSelectedDownload())); KActionMenu *startActionMenu = new KActionMenu(KIcon("media-playback-start"), i18n("Start"), actionCollection()); actionCollection()->addAction("start_menu", startActionMenu); startActionMenu->setDelayed(true); startActionMenu->addAction(startSelectedAction); startActionMenu->addAction(startAllAction); connect(startActionMenu, SIGNAL(triggered()), SLOT(slotStartDownload())); KActionMenu *stopActionMenu = new KActionMenu(KIcon("media-playback-pause"), i18n("Pause"), actionCollection()); actionCollection()->addAction("stop_menu", stopActionMenu); stopActionMenu->setDelayed(true); stopActionMenu->addAction(stopSelectedAction); stopActionMenu->addAction(stopAllAction); connect(stopActionMenu, SIGNAL(triggered()), SLOT(slotStopDownload())); KAction *openDestAction = actionCollection()->addAction("transfer_open_dest"); openDestAction->setText(i18n("Open Destination")); openDestAction->setIcon(KIcon("document-open")); connect(openDestAction, SIGNAL(triggered()), SLOT(slotTransfersOpenDest())); KAction *openFileAction = actionCollection()->addAction("transfer_open_file"); openFileAction->setText(i18n("Open File")); openFileAction->setIcon(KIcon("document-open")); connect(openFileAction, SIGNAL(triggered()), SLOT(slotTransfersOpenFile())); KAction *showDetailsAction = new KToggleAction(KIcon("document-properties"), i18n("Show Details"), actionCollection()); actionCollection()->addAction("transfer_show_details", showDetailsAction); connect(showDetailsAction, SIGNAL(triggered()), SLOT(slotTransfersShowDetails())); KAction *copyUrlAction = actionCollection()->addAction("transfer_copy_source_url"); copyUrlAction->setText(i18n("Copy URL to Clipboard")); copyUrlAction->setIcon(KIcon("edit-copy")); connect(copyUrlAction, SIGNAL(triggered()), SLOT(slotTransfersCopySourceUrl())); KAction *transferHistoryAction = actionCollection()->addAction("transfer_history"); transferHistoryAction->setText(i18n("&Transfer History")); transferHistoryAction->setIcon(KIcon("view-history")); transferHistoryAction->setShortcuts(KShortcut("Ctrl+H")); connect(transferHistoryAction, SIGNAL(triggered()), SLOT(slotTransferHistory())); KAction *transferGroupSettingsAction = actionCollection()->addAction("transfer_group_settings"); transferGroupSettingsAction->setText(i18n("&Group Settings")); transferGroupSettingsAction->setIcon(KIcon("preferences-system")); transferGroupSettingsAction->setShortcuts(KShortcut("Ctrl+G")); connect(transferGroupSettingsAction, SIGNAL(triggered()), SLOT(slotTransferGroupSettings())); KAction *transferSettingsAction = actionCollection()->addAction("transfer_settings"); transferSettingsAction->setText(i18n("&Transfer Settings")); transferSettingsAction->setIcon(KIcon("preferences-system")); transferSettingsAction->setShortcuts(KShortcut("Ctrl+T")); connect(transferSettingsAction, SIGNAL(triggered()), SLOT(slotTransferSettings())); KAction *listLinksAction = actionCollection()->addAction("import_links"); listLinksAction->setText(i18n("Import &Links...")); listLinksAction->setIcon(KIcon("view-list-text")); listLinksAction->setShortcuts(KShortcut("Ctrl+L")); connect(listLinksAction, SIGNAL(triggered()), SLOT(slotShowListLinks())); //create the download finished actions which can be displayed in the toolbar KSelectAction *downloadFinishedActions = new KSelectAction(i18n("After downloads finished action"), this);//TODO maybe with name?? actionCollection()->addAction("download_finished_actions", downloadFinishedActions); downloadFinishedActions->setHelpText(i18n("Choose an action that is executed after all downloads have been finished.")); KAction *noAction = downloadFinishedActions->addAction(i18n("No Action")); connect(noAction, SIGNAL(triggered()), SLOT(slotDownloadFinishedActions())); downloadFinishedActions->addAction(noAction); KAction *quitAction = downloadFinishedActions->addAction(i18n("Quit KGet")); quitAction->setData(KGet::Quit); connect(quitAction, SIGNAL(triggered()), SLOT(slotDownloadFinishedActions())); downloadFinishedActions->addAction(quitAction); #ifdef HAVE_KWORKSPACE KAction *shutdownAction = downloadFinishedActions->addAction(i18n("Turn Off Computer")); shutdownAction->setData(KGet::Shutdown); connect(shutdownAction, SIGNAL(triggered()), SLOT(slotDownloadFinishedActions())); downloadFinishedActions->addAction(shutdownAction); KAction *hibernateAction = downloadFinishedActions->addAction(i18n("Hibernate Computer")); hibernateAction->setData(KGet::Hibernate); connect(hibernateAction, SIGNAL(triggered()), SLOT(slotDownloadFinishedActions())); downloadFinishedActions->addAction(hibernateAction); KAction *suspendAction = downloadFinishedActions->addAction(i18n("Suspend Computer")); suspendAction->setData(KGet::Suspend); connect(suspendAction, SIGNAL(triggered()), SLOT(slotDownloadFinishedActions())); downloadFinishedActions->addAction(suspendAction); #endif if (Settings::afterFinishActionEnabled()) { downloadFinishedActions->setCurrentItem(Settings::afterFinishAction() + 1); } else { downloadFinishedActions->setCurrentItem(0); } }
Kleo::DNAttributeOrderConfigWidget::DNAttributeOrderConfigWidget( DNAttributeMapper * mapper, QWidget * parent, Qt::WindowFlags f ) : QWidget( parent, f ), d( new Private ) { assert( mapper ); d->mapper = mapper; QGridLayout * glay = new QGridLayout( this ); glay->setMargin( 0 ); glay->setSpacing( KDialog::spacingHint() ); glay->setColumnStretch( 0, 1 ); glay->setColumnStretch( 2, 1 ); int row = -1; ++row; glay->addWidget( new QLabel( i18n("Available attributes:"), this ), row, 0 ); glay->addWidget( new QLabel( i18n("Current attribute order:"), this ), row, 2 ); ++row; glay->setRowStretch( row, 1 ); d->availableLV = new Q3ListView( this ); prepare( d->availableLV ); d->availableLV->setSorting( 0 ); glay->addWidget( d->availableLV, row, 0 ); d->currentLV = new Q3ListView( this ); prepare( d->currentLV ); d->currentLV->setSorting( -1 ); glay->addWidget( d->currentLV, row, 2 ); connect( d->availableLV, SIGNAL(clicked(Q3ListViewItem*)), SLOT(slotAvailableSelectionChanged(Q3ListViewItem*)) ); connect( d->currentLV, SIGNAL(clicked(Q3ListViewItem*)), SLOT(slotCurrentOrderSelectionChanged(Q3ListViewItem*)) ); d->placeHolderItem = new Q3ListViewItem( d->availableLV, "_X_", i18n("All others") ); // the up/down/left/right arrow cross: QGridLayout * xlay = new QGridLayout(); xlay->setSpacing( 0 ); xlay->setObjectName( "xlay" ); xlay->setAlignment( Qt::AlignCenter ); static const struct { const char * icon; int row, col; const char * tooltip; const char * slot; } navButtons[] = { { "go-top", 0, 1, I18N_NOOP( "Move to top" ), SLOT(slotDoubleUpButtonClicked()) }, { "go-up", 1, 1, I18N_NOOP( "Move one up" ), SLOT(slotUpButtonClicked()) }, { "go-previous", 2, 0, I18N_NOOP( "Remove from current attribute order" ), SLOT(slotLeftButtonClicked()) }, { "go-next", 2, 2, I18N_NOOP( "Add to current attribute order" ), SLOT(slotRightButtonClicked()) }, { "go-down", 3, 1, I18N_NOOP( "Move one down" ), SLOT(slotDownButtonClicked()) }, { "go-bottom", 4, 1, I18N_NOOP( "Move to bottom" ), SLOT(slotDoubleDownButtonClicked()) } }; for ( unsigned int i = 0 ; i < sizeof navButtons / sizeof *navButtons ; ++i ) { QToolButton * tb = d->navTB[i] = new QToolButton( this ); tb->setIcon( KIcon( navButtons[i].icon ) ); tb->setEnabled( false ); tb->setToolTip( i18n( navButtons[i].tooltip ) ); xlay->addWidget( tb, navButtons[i].row, navButtons[i].col ); connect( tb, SIGNAL(clicked()), navButtons[i].slot ); } glay->addLayout( xlay, row, 1 ); }
void KoShapeCollectionDocker::loadDefaultShapes() { QList<KoCollectionItem> defaultList; QList<KoCollectionItem> arrowList; QList<KoCollectionItem> funnyList; QList<KoCollectionItem> geometricList; QList<KoCollectionItem> quicklist; int quickCount=0; QStringList quickShapes; quickShapes << "TextShapeID" << "PictureShape" << "KoConnectionShape" << "ChartShape" << "ArtisticText"; KConfigGroup cfg = KGlobal::config()->group("KoShapeCollection"); quickShapes = cfg.readEntry("QuickShapes", quickShapes); foreach(const QString & id, KoShapeRegistry::instance()->keys()) { KoShapeFactory *factory = KoShapeRegistry::instance()->value(id); // don't show hidden factories if ( factory->hidden() ) { continue; } bool oneAdded = false; foreach(const KoShapeTemplate & shapeTemplate, factory->templates()) { oneAdded = true; KoCollectionItem temp; temp.id = shapeTemplate.id; temp.name = shapeTemplate.name; temp.toolTip = shapeTemplate.toolTip; temp.icon = KIcon(shapeTemplate.icon); temp.properties = shapeTemplate.properties; if(shapeTemplate.family == "funny") funnyList.append(temp); else if(shapeTemplate.family == "arrow") arrowList.append(temp); else if(shapeTemplate.family == "geometric") geometricList.append(temp); else defaultList.append(temp); QString id= temp.id; if (!shapeTemplate.templateId.isEmpty()) { id += '_'+shapeTemplate.templateId; } if (quickShapes.contains(id)) { quicklist.append(temp); quickCount++; } } if(!oneAdded) { KoCollectionItem temp; temp.id = factory->id(); temp.name = factory->name(); temp.toolTip = factory->toolTip(); temp.icon = KIcon(factory->icon()); temp.properties = 0; if(factory->family() == "funny") funnyList.append(temp); else if(factory->family() == "arrow") arrowList.append(temp); else if(factory->family() == "geometric") geometricList.append(temp); else defaultList.append(temp); if(quickShapes.contains(temp.id)) { quicklist.append(temp); quickCount++; } } }
DirOpener::DirOpener( Config *_config, Mode _mode, QWidget *parent, Qt::WFlags f ) : KDialog( parent, f ), dialogAborted( false ), config( _config ), mode( _mode ) { setCaption( i18n("Add folder") ); setWindowIcon( KIcon("folder") ); if( mode == Convert ) { setButtons( KDialog::User1 | KDialog::Cancel ); } else if( mode == ReplayGain ) { setButtons( KDialog::Ok | KDialog::Cancel ); } setButtonText( KDialog::User1, i18n("Proceed") ); setButtonIcon( KDialog::User1, KIcon("go-next") ); const int fontHeight = QFontMetrics(QApplication::font()).boundingRect("M").size().height(); connect( this, SIGNAL(user1Clicked()), this, SLOT(proceedClicked()) ); connect( this, SIGNAL(okClicked()), this, SLOT(addClicked()) ); page = DirOpenPage; QWidget *widget = new QWidget(); QGridLayout *mainGrid = new QGridLayout( widget ); QGridLayout *topGrid = new QGridLayout(); mainGrid->addLayout( topGrid, 0, 0 ); setMainWidget( widget ); lSelector = new QLabel( i18n("1. Select directory"), widget ); QFont font; font.setBold( true ); lSelector->setFont( font ); topGrid->addWidget( lSelector, 0, 0 ); lOptions = new QLabel( i18n("2. Set conversion options"), widget ); topGrid->addWidget( lOptions, 0, 1 ); // draw a horizontal line QFrame *lineFrame = new QFrame( widget ); lineFrame->setFrameShape( QFrame::HLine ); lineFrame->setFrameShadow( QFrame::Sunken ); mainGrid->addWidget( lineFrame, 1, 0 ); if( mode == ReplayGain ) { lSelector->hide(); lOptions->hide(); lineFrame->hide(); } // Dir Opener Widget dirOpenerWidget = new QWidget( widget ); mainGrid->addWidget( dirOpenerWidget, 2, 0 ); QVBoxLayout *box = new QVBoxLayout( dirOpenerWidget ); QHBoxLayout *directoryBox = new QHBoxLayout(); box->addLayout( directoryBox ); QLabel *labelFilter = new QLabel( i18n("Directory:"), dirOpenerWidget ); directoryBox->addWidget( labelFilter ); uDirectory = new KUrlRequester( KUrl("kfiledialog:///soundkonverter-add-media"), dirOpenerWidget ); uDirectory->setMode( KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly ); directoryBox->addWidget( uDirectory ); QLabel *labelDirectory = new QLabel( i18n("Only add selected file formats:"), dirOpenerWidget ); box->addWidget( labelDirectory ); QHBoxLayout *fileTypesBox = new QHBoxLayout(); box->addLayout( fileTypesBox ); QStringList codecList; fileTypes = new KListWidget( dirOpenerWidget ); if( mode == Convert ) { codecList = config->pluginLoader()->formatList( PluginLoader::Decode, PluginLoader::CompressionType(PluginLoader::InferiorQuality|PluginLoader::Lossy|PluginLoader::Lossless|PluginLoader::Hybrid) ); } else if( mode == ReplayGain ) { codecList = config->pluginLoader()->formatList( PluginLoader::ReplayGain, PluginLoader::CompressionType(PluginLoader::InferiorQuality|PluginLoader::Lossy|PluginLoader::Lossless|PluginLoader::Hybrid) ); } for( int i = 0; i < codecList.size(); i++ ) { if( codecList.at(i) == "audio cd" ) continue; QListWidgetItem *newItem = new QListWidgetItem( codecList.at(i), fileTypes ); newItem->setFlags( Qt::ItemIsEnabled | Qt::ItemIsUserCheckable ); newItem->setCheckState( Qt::Checked ); } QVBoxLayout *fileTypesFormatsBox = new QVBoxLayout(); fileTypesBox->addLayout( fileTypesFormatsBox ); fileTypesFormatsBox->addWidget( fileTypes ); QLabel *formatHelp = new QLabel( "<a href=\"format-help\">" + i18n("Are you missing some file formats?") + "</a>", this ); connect( formatHelp, SIGNAL(linkActivated(const QString&)), this, SLOT(showHelp()) ); fileTypesFormatsBox->addWidget( formatHelp ); QVBoxLayout *fileTypesButtonsBox = new QVBoxLayout(); fileTypesBox->addLayout( fileTypesButtonsBox ); fileTypesButtonsBox->addStretch(); pSelectAll = new KPushButton( KIcon("edit-select-all"), i18n("Select all"), dirOpenerWidget ); fileTypesButtonsBox->addWidget( pSelectAll ); connect( pSelectAll, SIGNAL(clicked()), this, SLOT(selectAllClicked()) ); pSelectNone = new KPushButton( KIcon("application-x-zerosize"), i18n("Select none"), dirOpenerWidget ); fileTypesButtonsBox->addWidget( pSelectNone ); connect( pSelectNone, SIGNAL(clicked()), this, SLOT(selectNoneClicked()) ); cRecursive = new QCheckBox( i18n("Recursive"), dirOpenerWidget ); cRecursive->setChecked( true ); cRecursive->setToolTip( i18n("If checked, files from subdirectories will be added, too.") ); fileTypesButtonsBox->addWidget( cRecursive ); fileTypesButtonsBox->addStretch(); // Conversion Options Widget options = new Options( config, i18n("Select your desired output options and click on \"Ok\"."), widget ); mainGrid->addWidget( options, 2, 0 ); adjustSize(); options->hide(); const KUrl url = KFileDialog::getExistingDirectoryUrl( uDirectory->url(), this ); if( !url.isEmpty() ) uDirectory->setUrl( url ); else dialogAborted = true; // Prevent the dialog from beeing too wide because of the directory history if( parent && width() > parent->width() ) setInitialSize( QSize(parent->width()-fontHeight,sizeHint().height()) ); KSharedConfig::Ptr conf = KGlobal::config(); KConfigGroup group = conf->group( "DirOpener" ); restoreDialogSize( group ); }
IpodPhotoItem::IpodPhotoItem(IpodAlbumItem* const parent, IpodPhotoItem* const prev, Itdb_Artwork* const art) : QTreeWidgetItem(parent, prev), m_artwork(art) { setIcon( 0, KIcon("image-jp2") ); }
// Add Plasma QML import paths const QStringList importPaths = KGlobal::dirs()->findDirs( "module", "imports" ); foreach( const QString &importPath, importPaths ) { m_qmlView->engine()->addImportPath( importPath ); } m_qmlView->setSource( fileName ); // Create tab showing database tables QWidget *tableTab = new QWidget( m_tabWidget ); m_tableView = new QTableView( tableTab ); m_tableView->setEditTriggers( QAbstractItemView::NoEditTriggers ); m_tableChooser = new KComboBox( tableTab ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Agency(s)"), "agency" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Stops"), "stops" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Routes (groups of trips)"), "routes" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Trips (sequences of two or more stops"), "trips" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Stop Times"), "stop_times" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Calendar (service dates with weekly schedule)"), "clendar" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Calendar Dates (exceptions for weekly schedules services)"), "calendar_dates" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Fare Attributes"), "fare_attributes" ); m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Fare Rules"), "fare_rules" ); // m_tableChooser->addItem( KIcon("table"), i18nc("@info/plain", "Shapes"), "shapes" ); // Not used
void K3b::ImageWritingDialog::Private::createIso9660InfoItems( K3b::Iso9660* isoF ) { QTreeWidgetItem* isoRootItem = new QTreeWidgetItem( infoView ); isoRootItem->setText( 0, i18n("Detected:") ); isoRootItem->setText( 1, i18n("ISO 9660 image") ); isoRootItem->setForeground( 0, infoTextColor ); isoRootItem->setIcon( 1, KIcon( "application-x-cd-image") ); isoRootItem->setTextAlignment( 0, Qt::AlignRight ); const KIO::filesize_t size = K3b::filesize( KUrl(isoF->fileName()) ); const KIO::filesize_t volumeSpaceSize = Private::volumeSpaceSize( *isoF ); QTreeWidgetItem* item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("Filesize:") ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); if( size < volumeSpaceSize ) { item->setText( 1, i18n("%1 (different than declared volume size)", KIO::convertSize( size )) ); item->setForeground( 1, negativeTextColor ); item->setIcon( 1, KIcon( "dialog-error") ); item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("Volume Size:") ); item->setText( 1, KIO::convertSize( volumeSpaceSize ) ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); } else { item->setText( 1, KIO::convertSize( size ) ); } item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("System Id:") ); item->setText( 1, isoF->primaryDescriptor().systemId.isEmpty() ? QString("-") : isoF->primaryDescriptor().systemId ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("Volume Id:") ); item->setText( 1, isoF->primaryDescriptor().volumeId.isEmpty() ? QString("-") : isoF->primaryDescriptor().volumeId ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("Volume Set Id:") ); item->setText( 1, isoF->primaryDescriptor().volumeSetId.isEmpty() ? QString("-") : isoF->primaryDescriptor().volumeSetId ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("Publisher Id:") ); item->setText( 1, isoF->primaryDescriptor().publisherId.isEmpty() ? QString("-") : isoF->primaryDescriptor().publisherId ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("Preparer Id:") ); item->setText( 1, isoF->primaryDescriptor().preparerId.isEmpty() ? QString("-") : isoF->primaryDescriptor().preparerId ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); item = new QTreeWidgetItem( infoView ); item->setText( 0, i18n("Application Id:") ); item->setText( 1, isoF->primaryDescriptor().applicationId.isEmpty() ? QString("-") : isoF->primaryDescriptor().applicationId ); item->setForeground( 0, infoTextColor ); item->setTextAlignment( 0, Qt::AlignRight ); }
KIcon ScriptAppConfigType::icon() const { return KIcon("preferences-plugin-script"); }
Playlist::Widget::Widget( QWidget* parent ) : KVBox( parent ) { setContentsMargins( 1, 1, 1, 1 ); m_searchWidget = new ProgressiveSearchWidget( this ); //this is really only useful for debugging at the moment, so dont show it to users and testers /*m_sortBox = new QComboBox( this ); m_sortBox->insertItem( 0, "Album", Album); m_sortBox->insertItem( 1, "AlbumArtist", Album); m_sortBox->insertItem( 2, "Artist", Artist ); m_sortBox->insertItem( 3, "Bitrate", Bitrate ); m_sortBox->insertItem( 4, "Bpm", Bpm ); m_sortBox->insertItem( 5, "Comment", Comment ); m_sortBox->insertItem( 6, "Composer", Composer ); m_sortBox->insertItem( 7, "Directory", Directory ); m_sortBox->insertItem( 8, "DiscNumber", DiscNumber ); m_sortBox->insertItem( 9, "Filename", Filename ); m_sortBox->insertItem( 10, "Filesize", Filesize ); m_sortBox->insertItem( 11, "Genre", Genre ); m_sortBox->insertItem( 12, "LastPlayed", LastPlayed ); m_sortBox->insertItem( 13, "Length", Length ); m_sortBox->insertItem( 14, "Mood", Mood ); m_sortBox->insertItem( 15, "PlayCount", PlayCount ); m_sortBox->insertItem( 16, "Rating", Rating ); m_sortBox->insertItem( 17, "SampleRate", SampleRate ); m_sortBox->insertItem( 18, "Score", Score ); m_sortBox->insertItem( 29, "Source", Source ); m_sortBox->insertItem( 30, "Title", Title ); m_sortBox->insertItem( 31, "TrackNumber", TrackNumber ); m_sortBox->insertItem( 32, "Type", Type ); m_sortBox->insertItem( 33, "Year", Year ); connect( m_sortBox, SIGNAL( activated( int ) ), this, SLOT( sort( int ) ) );*/ QWidget * layoutHolder = new QWidget( this ); QVBoxLayout* mainPlaylistlayout = new QVBoxLayout( layoutHolder ); mainPlaylistlayout->setContentsMargins( 0, 0, 0, 0 ); m_playlistView = new PrettyListView( this ); m_playlistView->show(); connect( m_searchWidget, SIGNAL( filterChanged( const QString &, int, bool ) ), m_playlistView, SLOT( find( const QString &, int, bool ) ) ); connect( m_searchWidget, SIGNAL( next( const QString &, int ) ), m_playlistView, SLOT( findNext( const QString &, int ) ) ); connect( m_searchWidget, SIGNAL( previous( const QString &, int ) ), m_playlistView, SLOT( findPrevious( const QString &, int ) ) ); connect( m_searchWidget, SIGNAL( filterCleared() ), m_playlistView, SLOT( clearSearchTerm() ) ); connect( m_searchWidget, SIGNAL( showOnlyMatches( bool ) ), m_playlistView, SLOT( showOnlyMatches( bool ) ) ); connect( m_searchWidget, SIGNAL( activateFilterResult() ), m_playlistView, SLOT( playFirstSelected() ) ); connect( m_searchWidget, SIGNAL( downPressed() ), m_playlistView, SLOT( setFocus() ) ); connect( m_playlistView, SIGNAL( found() ), m_searchWidget, SLOT( match() ) ); connect( m_playlistView, SIGNAL( notFound() ), m_searchWidget, SLOT( noMatch() ) ); connect( LayoutManager::instance(), SIGNAL( activeLayoutChanged() ), m_playlistView, SLOT( reset() ) ); mainPlaylistlayout->setSpacing( 0 ); mainPlaylistlayout->addWidget( m_playlistView ); KHBox *barBox = new KHBox( this ); barBox->setMargin( 0 ); KToolBar *plBar = new Amarok::ToolBar( barBox ); plBar->setObjectName( "PlaylistToolBar" ); Model::instance(); // the Controller ctor creates the undo/redo actions that we use below, so we want // to make sure that it's been constructed and the the actions registered Controller::instance(); { //START Playlist toolbar plBar->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Preferred ); plBar->setIconDimensions( 22 ); plBar->setMovable( false ); plBar->addAction( new KToolBarSpacerAction( this ) ); plBar->addAction( Amarok::actionCollection()->action( "playlist_clear" ) ); //FIXME this action should go in ActionController, but we don't have any visibility to the view KAction *action = new KAction( KIcon( "music-amarok" ), i18n("Show active track"), this ); connect( action, SIGNAL( triggered( bool ) ), m_playlistView, SLOT( scrollToActiveTrack() ) ); plBar->addAction( action ); plBar->addSeparator(); plBar->addAction( Amarok::actionCollection()->action( "playlist_undo" ) ); plBar->addAction( Amarok::actionCollection()->action( "playlist_redo" ) ); plBar->addSeparator(); plBar->addAction( Amarok::actionCollection()->action( "playlist_save" ) ); plBar->addAction( Amarok::actionCollection()->action( "playlist_export" ) ); plBar->addSeparator(); Playlist::LayoutConfigAction *layoutConfigAction = new Playlist::LayoutConfigAction( this ); plBar->addAction( layoutConfigAction ); QToolButton *tbutton = qobject_cast<QToolButton*>(plBar->widgetForAction( layoutConfigAction ) ); if( tbutton ) tbutton->setPopupMode( QToolButton::InstantPopup ); plBar->addAction( new KToolBarSpacerAction( this ) ); } //END Playlist Toolbar setFrameShape( QFrame::StyledPanel ); setFrameShadow( QFrame::Sunken ); }
KIcon ScriptAppConfigPage::icon() const { return KIcon("system-run"); }
KIcon NativeAppConfigPage::icon() const { return KIcon("system-run"); }
KIcon VorbisFormat::icon() const { return KIcon( "audio-x-wav" ); //TODO: get a *real* icon! }