55 QWidget* parent,
const char* name ) :
57 Qt::WStyle_Customize |
61 Qt::WStyle_NoBorder | Qt::WType_Popup )
66 #if defined(Q_OS_MACX)
67 ChangeWindowAttributes( (OpaqueWindowPtr*)winId(), kWindowNoShadowAttribute, kWindowNoAttributes );
74 SystemParametersInfo( SPI_SETDROPSHADOW, 0, NULL, 0 );
80 setWindowFlags(Qt::WNoAutoErase);
85 QRect appRec = qApp->mainWidget()->frameGeometry();
86 int finalWidth, finalHeight;
87 int actualFinalWidth, actualFinalHeight;
103 QFontMetrics fm( qApp->font() );
115 finalHeight = (appRec.height() - 2*
EDIT_MARGIN) / 2;
124#if defined(Q_OS_MACX)
125 actualFinalHeight+=2;
142 QString calibrationString( qApp->translate(
"PhotoDescEdit",
"This is the photo description calibration string.") );
143 QFontMetrics fm( qApp->font() );
165 int fullWidth, fullHeight;
169 scaled(finalWidth,finalHeight, Qt::IgnoreAspectRatio ));
178 int actualWidth, actualHeight;
180 paddedSSImage.width(), paddedSSImage.height(),
181 actualWidth, actualHeight );
184 int leftOffset = (paddedSSImage.width() - actualWidth) / 2;
185 int topOffset = (paddedSSImage.height() - actualHeight) / 2;
186 QImage SSImage( actualWidth, actualHeight, paddedSSImage.depth() );
189 for(x=0; x<actualWidth; x++)
191 for(y=0; y<actualHeight; y++)
193 SSImage.setPixel( x, y, QColor(Qt::red).rgb() );
194 SSImage.setPixel( x, y, paddedSSImage.pixel(x+leftOffset, y+topOffset) );
197 imageLarge =
new QImage(SSImage.smoothScale(finalWidth,finalHeight, Qt::IgnoreAspectRatio ));
209 tmpTextEdit.setLineWidth( 0 );
210 tmpTextEdit.setMargin( 0 );
211 tmpTextEdit.setMidLineWidth( 0 );
212 tmpTextEdit.setFrameStyle( Q3Frame::NoFrame | Q3Frame::Plain );
214 tmpTextEdit.setWrapPolicy( Q3TextEdit::AtWordOrDocumentBoundary );
215 tmpTextEdit.constPolish();
216 tmpTextEdit.polish();
218 tmpTextEdit.setWordWrap( Q3TextEdit::FixedPixelWidth );
220 tmpTextEdit.setWrapColumnOrWidth( finalWidth );
223 tmpTextEdit.updateScrollBars();
224 tmpTextEdit.constPolish();
225 tmpTextEdit.polish();
229 if(tmpTextEdit.lines() > 4)
231 tmpTextEdit.setWrapColumnOrWidth( finalWidth - tmpTextEdit.verticalScrollBar()->width() );
232 tmpTextEdit.updateScrollBars();
233 tmpTextEdit.constPolish();
234 tmpTextEdit.polish();
239 QFontMetrics fm( qApp->font() );
240 if(tmpTextEdit.lines() >
idealTextSize / (fm.leading() + fm.height()) )
242 tmpTextEdit.setWrapColumnOrWidth(
idealTextSize - tmpTextEdit.verticalScrollBar()->width() );
243 tmpTextEdit.updateScrollBars();
244 tmpTextEdit.constPolish();
245 tmpTextEdit.polish();
251 textRectangle =
new QImage( QPixmap::grabWidget(&tmpTextEdit).convertToImage() );
262 finalPos = QPoint( initCenterX - actualFinalWidth/2, initCenterY - actualFinalHeight/2 );
265 if(
finalPos.x() + actualFinalWidth > appRec.x() + appRec.width() )
266 finalPos.setX( appRec.x() + appRec.width()- actualFinalWidth );
270 if(
finalPos.y() + actualFinalHeight > appRec.y() + appRec.height() )
271 finalPos.setY( appRec.y() + appRec.height()- actualFinalHeight );
280 backgroundImage =
new QPixmap( QPixmap::grabWindow(QApplication::desktop()->winId(),
283 setBackgroundMode( Qt::NoBackground );
291 mainGrid =
new Q3GridLayout(
this, 1, 2, 0 );
297 staticFrame->setBackgroundMode( Qt::NoBackground );
302 staticPhoto->setBackgroundMode( Qt::NoBackground );
307 photoDesc->setWrapPolicy( Q3TextEdit::AtWordOrDocumentBoundary );
308 photoDesc->setFrameStyle( Q3Frame::NoFrame );
312 photoDesc->setFrameStyle( QFrame::StyledPanel | Q3Frame::Plain );
315 connect(
photoDesc, SIGNAL( finished() ),
322 QColor darkBlue(35, 75, 139);
323 bw1->setPaletteBackgroundColor( darkBlue );
324 bw2->setPaletteBackgroundColor( darkBlue );
325 bw3->setPaletteBackgroundColor( darkBlue );
326 bw4->setPaletteBackgroundColor( darkBlue );
339 staticGrid->addMultiCellWidget( bw1, 0, 0, 0, 2 );
340 staticGrid->addMultiCellWidget( bw2, 1, 2, 0, 0 );
341 staticGrid->addMultiCellWidget( bw3, 1, 2, 2, 2 );
342 staticGrid->addMultiCellWidget( bw4, 3, 3, 0, 2 );
358 staticGrid->addMultiCellWidget( bw1, 0, 0, 0, 3 );
361 staticGrid->addMultiCellWidget( bw4, 2, 2, 0, 3 );
382 timer =
new QTimer();
383 connect(
timer, SIGNAL(timeout()),
this, SLOT(
animate()) );