SVN commit 788519 by dfaure: Some servicetype->mimetype renamings in cases where only mimetypes are used. M +1 -0 konqcombo.cpp M +6 -6 konqmainwindow.cpp M +8 -5 konqmainwindow.h M +11 -5 konqview.cpp M +4 -2 konqview.h M +7 -7 konqviewmanager.cpp M +2 -2 konqviewmanager.h --- trunk/KDE/kdebase/apps/konqueror/src/konqcombo.cpp #788518:788519 @@ -750,6 +750,7 @@ QSize KonqComboItemDelegate::sizeHint( const QStyleOptionViewItem &option, const QModelIndex &index ) const { + Q_UNUSED(index); int vMargin = QApplication::style()->pixelMetric( QStyle::PM_FocusFrameVMargin ); QSize size( 1, qMax( option.fontMetrics.lineSpacing(), option.decorationSize.height() ) ); --- trunk/KDE/kdebase/apps/konqueror/src/konqmainwindow.cpp #788518:788519 @@ -2893,7 +2893,7 @@ popup->clear(); QAction* clearAction = popup->addAction( i18n("Empty Closed Tabs History") ); connect(clearAction, SIGNAL(triggered()), m_undoManager, SLOT(clearClosedItemsList())); - popup->insertSeparator(); + popup->insertSeparator((QAction*)0); QList::ConstIterator it = m_undoManager->closedTabsList().begin(); const QList::ConstIterator end = m_undoManager->closedTabsList().end(); @@ -4501,12 +4501,12 @@ m_popupUrl = items.first().url(); sReading = KProtocolManager::supportsReading( m_popupUrl ); if (sReading) - m_popupServiceType = items.first().mimetype(); + m_popupMimeType = items.first().mimetype(); } else { m_popupUrl = KUrl(); - m_popupServiceType.clear(); + m_popupMimeType.clear(); } @@ -4537,7 +4537,7 @@ url.cleanPath(); bool isIntoTrash = url.protocol() == "trash" || url.url().startsWith( "system:/trash" ); const bool doTabHandling = !openedForViewURL && !isIntoTrash && sReading; - const bool showEmbeddingServices = items.count() == 1 && !m_popupServiceType.isEmpty() && + const bool showEmbeddingServices = items.count() == 1 && !m_popupMimeType.isEmpty() && !isIntoTrash && !devicesFile && (itemFlags & KParts::BrowserExtension::ShowTextSelectionItems) == 0; @@ -4547,7 +4547,7 @@ // List of services for the "Preview In" submenu. embeddingServices = KMimeTypeTrader::self()->query( - m_popupServiceType, + m_popupMimeType, "KParts/ReadOnlyPart", // Obey "HideFromMenus". It defaults to false so we want "absent or true" // (wow, testing for 'true' if absent doesn't work, so order matters) @@ -4717,7 +4717,7 @@ m_currentView->stop(); m_currentView->setLocationBarURL(m_popupUrl); m_currentView->setTypedURL(QString()); - if ( m_currentView->changeViewMode( m_popupServiceType, + if ( m_currentView->changeViewMode( m_popupMimeType, service->desktopEntryName() ) ) m_currentView->openUrl( m_popupUrl, m_popupUrl.pathOrUrl() ); } --- trunk/KDE/kdebase/apps/konqueror/src/konqmainwindow.h #788518:788519 @@ -692,11 +692,14 @@ KonqFrameBase* m_pWorkingTab; - QString m_popupServiceType; - KUrl m_popupUrl; - KFileItemList m_popupItems; - KParts::OpenUrlArguments m_popupUrlArgs; - KParts::BrowserArguments m_popupUrlBrowserArgs; + // Store a number of things when opening a popup, they are needed + // in the slots connected to the popup's actions. + // TODO: a struct with new/delete to save a bit of memory? + QString m_popupMimeType; + KUrl m_popupUrl; + KFileItemList m_popupItems; + KParts::OpenUrlArguments m_popupUrlArgs; + KParts::BrowserArguments m_popupUrlBrowserArgs; KCMultiDialog* m_configureDialog; --- trunk/KDE/kdebase/apps/konqueror/src/konqview.cpp #788518:788519 @@ -304,19 +304,25 @@ } } -bool KonqView::changeViewMode( const QString &serviceType, +bool KonqView::changeViewMode( const QString &mimeType, const QString &serviceName, bool forceAutoEmbed ) { // Caller should call stop first. assert ( !m_bLoading ); - kDebug(1202) << "changeViewMode: serviceType is " << serviceType + kDebug(1202) << "changeViewMode: mimeType is " << mimeType << " serviceName is " << serviceName << " current service name is " << m_service->desktopEntryName(); - if ( KMimeType::mimeType(serviceType) && KMimeType::mimeType(serviceType)->is(m_serviceType) && (serviceName.isEmpty() || serviceName == m_service->desktopEntryName()) ) + KMimeType::Ptr mime = KMimeType::mimeType(mimeType); + if (!mime) // huh? + return false; + + // See bug #108542 + if (mime->is(m_serviceType) && (serviceName.isEmpty() || serviceName == m_service->desktopEntryName())) { return true; + } if ( isLockedViewMode() ) { @@ -328,7 +334,7 @@ KService::List partServiceOffers, appServiceOffers; KService::Ptr service; KonqFactory konqFactory; - KonqViewFactory viewFactory = konqFactory.createView( serviceType, serviceName, &service, &partServiceOffers, &appServiceOffers, forceAutoEmbed ); + KonqViewFactory viewFactory = konqFactory.createView( mimeType, serviceName, &service, &partServiceOffers, &appServiceOffers, forceAutoEmbed ); if ( viewFactory.isNull() ) { @@ -338,7 +344,7 @@ return false; } - m_serviceType = serviceType; + m_serviceType = mimeType; m_partServiceOffers = partServiceOffers; m_appServiceOffers = appServiceOffers; --- trunk/KDE/kdebase/apps/konqueror/src/konqview.h #788518:788519 @@ -109,11 +109,11 @@ * Change the type of view (i.e. loads a new konqueror view) * Contract: the caller should call stop() first, * - * @param serviceType the service type we want to show + * @param mimeType the mime type we want to show * @param serviceName allows to enforce a particular service to be chosen, * @see KonqFactory. */ - bool changeViewMode( const QString &serviceType, + bool changeViewMode( const QString &mimeType, const QString &serviceName = QString(), bool forceAutoEmbed = false ); @@ -235,6 +235,8 @@ /** * @return the servicetype this view is currently displaying + * This is usually a mimetype, but it can be "Browser/View" + * for toggle views like the sidebar or the embedded konsole. */ QString serviceType() const { return m_serviceType; } --- trunk/KDE/kdebase/apps/konqueror/src/konqviewmanager.cpp #788518:788519 @@ -73,19 +73,19 @@ this, SLOT( slotActivePartChanged ( KParts::Part * ) ) ); } -KonqView* KonqViewManager::createFirstView( const QString &serviceType, const QString &serviceName ) +KonqView* KonqViewManager::createFirstView( const QString &mimeType, const QString &serviceName ) { //kDebug(1202) << serviceName; KService::Ptr service; KService::List partServiceOffers, appServiceOffers; - KonqViewFactory newViewFactory = createView( serviceType, serviceName, service, partServiceOffers, appServiceOffers, true /*forceAutoEmbed*/ ); + KonqViewFactory newViewFactory = createView( mimeType, serviceName, service, partServiceOffers, appServiceOffers, true /*forceAutoEmbed*/ ); if ( newViewFactory.isNull() ) { kDebug(1202) << "No suitable factory found."; return 0; } - KonqView* childView = setupView( tabContainer(), newViewFactory, service, partServiceOffers, appServiceOffers, serviceType, false ); + KonqView* childView = setupView( tabContainer(), newViewFactory, service, partServiceOffers, appServiceOffers, mimeType, false ); setActivePart( childView->part() ); @@ -161,7 +161,7 @@ KonqView* KonqViewManager::splitMainContainer( KonqView* currentView, Qt::Orientation orientation, - const QString &serviceType, + const QString &serviceType, // This can be Browser/View, not necessarily a mimetype const QString &serviceName, bool newOneFirst ) { @@ -349,18 +349,18 @@ // Full screen off if( mainWindow->isFullScreen()) mainWindow->showNormal(); - + const QSize size = readConfigSize( closedWindowItem.configGroup(), mainWindow ); if ( size.isValid() ) mainWindow->resize( size ); else // no size in the profile; use last known size mainWindow->restoreWindowSize(); } - + mainWindow->viewManager()->loadRootItem( closedWindowItem.configGroup(), mainWindow->viewManager()->tabContainer(), KUrl(), true, KUrl() ); mainWindow->activateChild(); mainWindow->show(); - + kDebug(1202) << "done"; } --- trunk/KDE/kdebase/apps/konqueror/src/konqviewmanager.h #788518:788519 @@ -59,7 +59,7 @@ explicit KonqViewManager( KonqMainWindow *mainWindow ); ~KonqViewManager(); - KonqView* createFirstView( const QString &serviceType, const QString &serviceName ); + KonqView* createFirstView( const QString &mimeType, const QString &serviceName ); /** * Splits the view, depending on orientation, either horizontally or @@ -350,7 +350,7 @@ * it clones the current view. * Returns the newly created view. */ - KonqViewFactory createView( const QString &serviceType, + KonqViewFactory createView( const QString &serviceType, /* can be servicetype or mimetype */ const QString &serviceName, KService::Ptr &service, KService::List &partServiceOffers,