void KuickShow::slotHighlighted( const KFileItem *fi ) { KFileItem *item = const_cast<KFileItem *>( fi ); statusBar()->changeItem( item->getStatusBarInfo(), URL_ITEM ); bool image = FileWidget::isImage( fi ); QString meta; if ( image ) { KFileMetaInfo info = item->metaInfo(); if ( info.isValid() ) { meta = info.item( KFileMimeTypeInfo::Size ).string(); KFileMetaInfoGroup group = info.group( "Technical" ); if ( group.isValid() ) { QString bpp = group.item( "BitDepth" ).string(); if ( !bpp.isEmpty() ) meta.append( ", " ).append( bpp ); } } } statusBar()->changeItem( meta, META_ITEM ); fileWidget->actionCollection()->action("kuick_print")->setEnabled( image ); fileWidget->actionCollection()->action("kuick_showInSameWindow")->setEnabled( image ); fileWidget->actionCollection()->action("kuick_showInOtherWindow")->setEnabled( image ); fileWidget->actionCollection()->action("kuick_showFullscreen")->setEnabled( image ); }
void CelSplashScreen::setPixmap( const QString &filename ) { QPixmap _pixmap(filename); resize( _pixmap.size() ); // Set default values for status and version fields status.getRect().setX(20); status.getRect().setY(height() - 40); status.getRect().setWidth(width() - 200); status.getRect().setHeight(20); status.setFlags(Qt::AlignLeft | Qt::AlignTop); version.getRect().setX(width() - 180); version.getRect().setY(height() - 40); version.getRect().setWidth(150); version.getRect().setHeight(20); version.setFlags(Qt::AlignRight | Qt::AlignTop); version.setContent(VERSION); KFileMetaInfo info(filename); KFileMetaInfoGroup comments = info.group("Comment"); if (comments.isValid()) { status.set("status", comments); version.set("version", comments); int i = 0; char extraName[10]; sprintf(extraName, "extra%02d", i); while (i< 100 && comments.item(QString(extraName) + "_insert_before").isValid()) { TextItem extra; extra.set(extraName, comments); extraText.push_back(extra); i++; sprintf(extraName, "extra%02d", i); } } QRect desk = KGlobalSettings::splashScreenDesktopGeometry(); setGeometry( ( desk.width() / 2 ) - ( width() / 2 ) + desk.left(), ( desk.height() / 2 ) - ( height() / 2 ) + desk.top(), width(), height() ); if (_pixmap.hasAlphaChannel()) { QPixmap bg = QPixmap::grabWindow( qt_xrootwin(), x(), y(), width(), height() ); QPainter painter(&bg); painter.drawPixmap(0, 0, _pixmap); pixmap = bg; } else { pixmap = _pixmap; } QPainter painter( &pixmap, this ); version.draw(&painter); for(std::vector<TextItem>::const_iterator i = extraText.begin(); i != extraText.end(); ++i) (*i).draw(&painter); repaint(); }
TQStringList FileProps::availableKeys( const TQString& group ) const { KFileMetaInfoGroup g = m_info->group( group ); TQStringList allKeys = g.keys(); TQStringList ret; TQStringList::ConstIterator it = allKeys.begin(); for ( ; it != allKeys.end(); ++it ) { if ( g.item( *it ).isValid() ) ret.append( *it ); } return ret; }
// static helper: // creates strings like // "group: translatedKey: value" TQString FileProps::createKeyValue( const KFileMetaInfoGroup& g, const TQString& key ) { static const int MAX_SPACE = 25; KFileMetaInfoItem item = g.item( key ); TQString result("%1"); result = result.arg( (item.isValid() ? item.translatedKey() : key) + ":", -MAX_SPACE ); result.append( beatifyValue( item.string() ) ); TQString group("%1"); group = group.arg( g.translatedName() + ":", -MAX_SPACE ); result.prepend( group ); return result; }