const char *String::toCString(bool unicode) const { d->cstring = to8Bit(unicode); return d->cstring.c_str(); }
/* In the constructor, we just pass the standard parameters on to QWidget. The menu uses a single slot to simplify the process of adding more items to the options menu. */ ImageViewer::ImageViewer( QWidget *parent, const char *name, int wFlags ) : QWidget( parent, name, wFlags ), conversion_flags( PreferDither ), helpmsg( 0 ) { pickx = -1; picky = -1; clickx = -1; clicky = -1; alloc_context = 0; menubar = new QMenuBar(this); menubar->setSeparator( QMenuBar::InWindowsStyle ); QStrList fmt = QImage::outputFormats(); saveimage = new QPopupMenu( menubar ); savepixmap = new QPopupMenu( menubar ); for (const char* f = fmt.first(); f; f = fmt.next()) { saveimage->insertItem( f ); savepixmap->insertItem( f ); } connect( saveimage, SIGNAL(activated(int)), this, SLOT(saveImage(int)) ); connect( savepixmap, SIGNAL(activated(int)), this, SLOT(savePixmap(int)) ); file = new QPopupMenu( menubar ); menubar->insertItem( "&File", file ); file->insertItem( "&New window", this, SLOT(newWindow()), CTRL+Key_N ); file->insertItem( "&Open...", this, SLOT(openFile()), CTRL+Key_O ); si = file->insertItem( "Save image", saveimage ); sp = file->insertItem( "Save pixmap", savepixmap ); file->insertSeparator(); file->insertItem( "E&xit", qApp, SLOT(quit()), CTRL+Key_Q ); edit = new QPopupMenu( menubar ); menubar->insertItem( "&Edit", edit ); edit->insertItem("&Copy", this, SLOT(copy()), CTRL+Key_C); edit->insertItem("&Paste", this, SLOT(paste()), CTRL+Key_V); edit->insertSeparator(); edit->insertItem("&Horizontal flip", this, SLOT(hFlip()), ALT+Key_H); edit->insertItem("&Vertical flip", this, SLOT(vFlip()), ALT+Key_V); edit->insertItem("&Rotate 180", this, SLOT(rot180()), ALT+Key_R); edit->insertSeparator(); edit->insertItem("&Text...", this, SLOT(editText())); edit->insertSeparator(); t1 = edit->insertItem( "Convert to &1 bit", this, SLOT(to1Bit()) ); t8 = edit->insertItem( "Convert to &8 bit", this, SLOT(to8Bit()) ); t32 = edit->insertItem( "Convert to &32 bit", this, SLOT(to32Bit()) ); options = new QPopupMenu( menubar ); menubar->insertItem( "&Options", options ); ac = options->insertItem( "AutoColor" ); co = options->insertItem( "ColorOnly" ); mo = options->insertItem( "MonoOnly" ); options->insertSeparator(); fd = options->insertItem( "DiffuseDither" ); bd = options->insertItem( "OrderedDither" ); td = options->insertItem( "ThresholdDither" ); options->insertSeparator(); ta = options->insertItem( "ThresholdAlphaDither" ); ba = options->insertItem( "OrderedAlphaDither" ); fa = options->insertItem( "DiffuseAlphaDither" ); options->insertSeparator(); ad = options->insertItem( "PreferDither" ); dd = options->insertItem( "AvoidDither" ); options->insertSeparator(); ss = options->insertItem( "Smooth scaling" ); cc = options->insertItem( "Use color context" ); if ( QApplication::colorSpec() == QApplication::ManyColor ) options->setItemEnabled( cc, FALSE ); options->setCheckable( TRUE ); setMenuItemFlags(); menubar->insertSeparator(); QPopupMenu* help = new QPopupMenu( menubar ); menubar->insertItem( "&Help", help ); help->insertItem( "Help!", this, SLOT(giveHelp()), CTRL+Key_H ); connect( options, SIGNAL(activated(int)), this, SLOT(doOption(int)) ); status = new QLabel(this); status->setFrameStyle( QFrame::WinPanel | QFrame::Sunken ); status->setFixedHeight( fontMetrics().height() + 4 ); setMouseTracking( TRUE ); }
/* In the constructor, we just pass the standard parameters on to QWidget. The menu uses a single slot to simplify the process of adding more items to the options menu. */ FLImageViewer::FLImageViewer( QWidget *parent, const char *name, WFlags fl ) : QWidget( parent, name, fl | Qt::WDestructiveClose | Qt::WType_Dialog | Qt::WShowModal | Qt::WStyle_Maximize | Qt::WStyle_SysMenu ), conversion_flags( PreferDither ), helpmsg( 0 ) { pickx = -1; picky = -1; clickx = -1; clicky = -1; alloc_context = 0; menubar = new QMenuBar( this ); menubar->setSeparator( QMenuBar::InWindowsStyle ); QStrList fmt = QImage::outputFormats(); saveimage = new QPopupMenu( menubar ); savepixmap = new QPopupMenu( menubar ); for ( const char* f = fmt.first(); f; f = fmt.next() ) { saveimage->insertItem( f ); savepixmap->insertItem( f ); } connect( saveimage, SIGNAL( activated( int ) ), this, SLOT( saveImage( int ) ) ); connect( savepixmap, SIGNAL( activated( int ) ), this, SLOT( savePixmap( int ) ) ); file = new QPopupMenu( menubar ); menubar->insertItem( tr( "&Archivo" ), file ); //file->insertItem( "&New window", this, SLOT(newWindow()), CTRL+Key_N ); file->insertItem( tr( "&Abrir..." ), this, SLOT( openFile() ), CTRL + Key_O ); si = file->insertItem( tr( "Guardar imagen" ), saveimage ); sp = file->insertItem( tr( "Guardar pixmap" ), savepixmap ); //file->insertSeparator(); //file->insertItem( "E&xit", qApp, SLOT(quit()), CTRL+Key_Q ); edit = new QPopupMenu( menubar ); menubar->insertItem( tr( "&Edición" ), edit ); edit->insertItem( tr( "&Copiar" ), this, SLOT( copy() ), CTRL + Key_C ); edit->insertItem( tr( "&Pegar" ), this, SLOT( paste() ), CTRL + Key_V ); edit->insertSeparator(); edit->insertItem( tr( "Volteo &Horizontal" ), this, SLOT( hFlip() ), ALT + Key_H ); edit->insertItem( tr( "Volteo &Vertical" ), this, SLOT( vFlip() ), ALT + Key_V ); edit->insertItem( tr( "&Rotar 180" ), this, SLOT( rot180() ), ALT + Key_R ); edit->insertSeparator(); //edit->insertItem("&Text...", this, SLOT(editText())); //edit->insertSeparator(); t1 = edit->insertItem( tr( "Convertir a &1 bit" ), this, SLOT( to1Bit() ) ); t8 = edit->insertItem( tr( "Convertir a &8 bit" ), this, SLOT( to8Bit() ) ); t32 = edit->insertItem( tr( "Convertir a &32 bit" ), this, SLOT( to32Bit() ) ); options = new QPopupMenu( menubar ); menubar->insertItem( tr( "&Opciones" ), options ); ac = options->insertItem( "AutoColor" ); co = options->insertItem( "ColorOnly" ); mo = options->insertItem( "MonoOnly" ); options->insertSeparator(); fd = options->insertItem( "DiffuseDither" ); bd = options->insertItem( "OrderedDither" ); td = options->insertItem( "ThresholdDither" ); options->insertSeparator(); ta = options->insertItem( "ThresholdAlphaDither" ); ba = options->insertItem( "OrderedAlphaDither" ); fa = options->insertItem( "DiffuseAlphaDither" ); options->insertSeparator(); ad = options->insertItem( "PreferDither" ); dd = options->insertItem( "AvoidDither" ); options->insertSeparator(); ss = options->insertItem( tr( "Escalado suavizado" ) ); cc = options->insertItem( tr( "Usar contexto de color" ) ); if ( QApplication::colorSpec() == QApplication::ManyColor ) options->setItemEnabled( cc, FALSE ); options->setCheckable( TRUE ); setMenuItemFlags(); //menubar->insertSeparator(); //QPopupMenu* help = new QPopupMenu( menubar ); //menubar->insertItem( "&Help", help ); //help->insertItem( "Help!", this, SLOT(giveHelp()), CTRL+Key_H ); connect( options, SIGNAL( activated( int ) ), this, SLOT( doOption( int ) ) ); status = new QLabel( this ); status->setFrameStyle( QFrame::WinPanel | QFrame::Sunken ); status->setFixedHeight( fontMetrics().height() + 4 ); setMouseTracking( TRUE ); }