-rw-r--r-- | libopie/libopie.control | 2 | ||||
-rw-r--r-- | libopie/ofileselector.cc | 159 |
2 files changed, 80 insertions, 81 deletions
diff --git a/libopie/libopie.control b/libopie/libopie.control index 80bd2fc..e5416bf 100644 --- a/libopie/libopie.control +++ b/libopie/libopie.control @@ -1,9 +1,9 @@ -Files: $QTDIR/lib/libopie.so.1.0.0 $QTDIR/lib/libopie.so.1.0 $QTDIR/lib/libopie.so.1 +Files: $QTDIR/lib/libopie.so.1.0.0 $QTDIR/lib/libopie.so.1.0 $QTDIR/lib/libopie.so.1 $QTDIR/pics/opie/* Priority: optional Section: opie/system Package: libopie Maintainer: - Architecture: arm Version: $QPE_VERSION-$SUB_VERSION Depends: qt-embedded (>=$QTE_VERSION) Description: Opie library diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc index ea19143..cb18039 100644 --- a/libopie/ofileselector.cc +++ b/libopie/ofileselector.cc @@ -61,37 +61,37 @@ QMap<QString,QPixmap> *OFileSelector::m_pixmaps = 0; namespace { int indexByString( const QComboBox *box, const QString &str ){ int index= -1; for(int i= 0; i < box->count(); i++ ){ qWarning("str T%sT boxT%sT", str.latin1(), box->text(i).latin1() ); if( str == box->text(i ) ){ - index= i; - break; + index= i; + break; } } return index; } }; OFileSelector::OFileSelector(QWidget *wid, int mode, int selector, const QString &dirName, - const QString &fileName, const QStringList &mimetypes ) : QWidget( wid ) + const QString &fileName, const QStringList &mimetypes ) : QWidget( wid ) { if(wid!=0) resize(wid->width(),wid->height()); m_selector = selector; m_currentDir = dirName; m_name = fileName; - m_mimetypes = mimetypes; - if( mimetypes.isEmpty() ) - m_autoMime = true; + m_mimetypes = mimetypes; +// if( mimetypes.isEmpty() ) +// m_autoMime = true; m_mode = mode; m_shTool = true; m_shPerm = true; m_shLne = true; m_shChooser = true; m_shYesNo = true; // for FILESELECTOR only view is interesting @@ -134,17 +134,17 @@ OFileSelector::OFileSelector(QWidget *wid, int mode, int selector, const QString init(); m_edit->setText( fileName ); } void OFileSelector::initPics() { qWarning("init pics" ); m_pixmaps = new QMap<QString,QPixmap>; QPixmap pm = Resource::loadPixmap( "folder" ); - QPixmap lnk = Resource::loadPixmap( "symlink" ); + QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); QPainter painter( &pm ); painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); pm.setMask( pm.createHeuristicMask( FALSE ) ); m_pixmaps->insert("dirsymlink", pm ); QPixmap pm2 = Resource::loadPixmap( "lockedfolder" ); QPainter pen(&pm2 ); pen.drawPixmap(pm2.width()-lnk.width(), pm2.height()-lnk.height(), lnk ); @@ -413,22 +413,22 @@ void OFileSelector::reparse() m_mimeCheck->clear(); dir.setFilter( QDir::Files | QDir::Readable ); dir.setSorting(QDir::Size ); const QFileInfoList *list = dir.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; while( (fi=it.current()) ){ if(fi->extension() == QString::fromLatin1("desktop") ){ - ++it; - continue; + ++it; + continue; } MimeType type(fi->filePath() ); if( !m_mimetypes.contains( type.id() ) ) - m_mimetypes.append( type.id() ); + m_mimetypes.append( type.id() ); ++it; } m_mimetypes.prepend("All" ); m_mimeCheck->insertStringList(m_mimetypes ); // set it to the current mimetype m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currMime ) ); }; @@ -462,36 +462,36 @@ void OFileSelector::reparse() continue; } qWarning("Test: %s", fi->fileName().latin1() ); if(fi->isSymLink() ){ qWarning("Symlink %s", fi->fileName().latin1() ); QString file = fi->dirPath(true)+"/"+ fi->readLink(); qWarning("File ->%s", file.latin1() ); for(int i=0; i<=4; i++ ){ // prepend from dos - QFileInfo info( file ); - if( !info.exists() ){ - qWarning("does not exist" ); - addSymlink(currMime, fi, TRUE ); - break; - }else if( info.isDir() ){ - qWarning("isDir" ); - addDir(currMime, fi, TRUE ); - break; - }else if( info.isFile() ){ - qWarning("isFile" ); - addFile(currMime, fi, TRUE ); - break; - }else if( info.isSymLink() ){ - file = info.dirPath(true)+ "/"+ info.readLink(); - qWarning("isSymlink again %s", file.latin1() ); - }else if( i == 4 ){ // just insert it and have the symlink symbol - addSymlink(currMime, fi ); - qWarning("level too deep" ); - } + QFileInfo info( file ); + if( !info.exists() ){ + qWarning("does not exist" ); + addSymlink(currMime, fi, TRUE ); + break; + }else if( info.isDir() ){ + qWarning("isDir" ); + addDir(currMime, fi, TRUE ); + break; + }else if( info.isFile() ){ + qWarning("isFile" ); + addFile(currMime, fi, TRUE ); + break; + }else if( info.isSymLink() ){ + file = info.dirPath(true)+ "/"+ info.readLink(); + qWarning("isSymlink again %s", file.latin1() ); + }else if( i == 4 ){ // just insert it and have the symlink symbol + addSymlink(currMime, fi ); + qWarning("level too deep" ); + } } }else if( fi->isDir() ){ addDir(currMime, fi ); }else if( fi->isFile() ) { // file ? addFile(currMime, fi ); } ++it; } @@ -531,54 +531,55 @@ void OFileSelector::initializeYes() m_ok = new QPushButton("&Save", this, "save" ); m_cancel = new QPushButton("C&ancel", this, "cancel" ); m_boxOk = new QHBoxLayout(this ); m_boxOk->addWidget( m_ok, Qt::AlignHCenter ); m_boxOk->insertSpacing(1, 8 ); m_boxOk->addWidget( m_cancel, Qt::AlignHCenter); m_lay->addLayout(m_boxOk ); connect(m_ok, SIGNAL(clicked() ), - this, SLOT(slotOk() ) ); + this, SLOT(slotOk() ) ); connect(m_cancel, SIGNAL(clicked() ), - this, SLOT(slotCancel() ) ); + this, SLOT(slotCancel() ) ); } void OFileSelector::initializeChooser() { m_boxView = new QHBoxLayout(this ); m_mimeCheck = new QComboBox(this, "mime check"); m_viewCheck = new QComboBox(this, "view check"); m_boxView->addWidget(m_viewCheck, 0 ); - m_boxView->insertSpacing(1, 8 ); + m_boxView->insertSpacing(2, 8 ); m_boxView->addWidget(m_mimeCheck, 0 ); m_lay->addLayout(m_boxView ); + m_lay->insertSpacing( 4, 8); m_viewCheck->insertItem(tr("Documents") ); m_viewCheck->insertItem(tr("Files") ); m_viewCheck->insertItem(tr("All Files") ); - if(!m_autoMime ) - m_mimeCheck->insertItem(m_mimetypes.join("," ) ); - else{ // check +// if(!m_autoMime ) +// m_mimeCheck->insertItem(m_mimetypes.join("," ) ); +// else{ // check updateMimes(); m_mimeCheck->insertStringList( m_mimetypes ); - } +// } connect( m_viewCheck, SIGNAL(activated(const QString &) ), - this, SLOT(slotViewCheck(const QString & ) ) ); + this, SLOT(slotViewCheck(const QString & ) ) ); connect( m_mimeCheck, SIGNAL(activated(const QString &) ), - this, SLOT(slotMimeCheck(const QString & ) ) ); + this, SLOT(slotMimeCheck(const QString & ) ) ); } void OFileSelector::slotMimeCheck(const QString &view ){ if(m_selector == NORMAL ){ delete m_select; m_select = new FileSelector(view == "All" ? QString::null : view - , m_stack, "fileselector", FALSE, FALSE ); + , m_stack, "fileselector", FALSE, FALSE ); m_stack->addWidget( m_select, NORMAL ); m_stack->raiseWidget( NORMAL ); }else{ reparse(); } } void OFileSelector::slotViewCheck(const QString &view ){ @@ -592,30 +593,30 @@ void OFileSelector::slotViewCheck(const QString &view ){ delete m_View; delete m_boxToolbar; delete m_homeButton; delete m_docButton; delete m_location; delete m_up; delete m_pseudo; //if(m_pseudoLayout!=0 ) -// delete m_pseudoLayout; +// delete m_pseudoLayout; } m_View = 0; m_boxToolbar = 0; m_homeButton = 0; m_docButton = 0; m_location = 0; m_up = 0; m_pseudo = 0; m_pseudoLayout = 0; delete m_select; m_select = new FileSelector( currMime == "All" ? QString::null : currMime, - m_stack,"fileselector", FALSE, FALSE ); + m_stack,"fileselector", FALSE, FALSE ); m_stack->addWidget( m_select, NORMAL ); m_mimeCheck->clear(); m_selector = NORMAL; updateMimes(); m_mimeCheck->insertStringList( m_mimetypes ); m_stack->raiseWidget( NORMAL ); connect(m_select, SIGNAL(fileSelected( const DocLnk &) ), this, SLOT(slotFileBridgeSelected(const DocLnk &) ) ); @@ -689,30 +690,27 @@ void OFileSelector::initializeListView() m_pseudo = new QWidget(m_stack, "Pseudo Widget"); m_pseudoLayout = new QVBoxLayout(m_pseudo ); if(m_shTool ){ m_boxToolbar = new QHBoxLayout( ); m_boxToolbar->setAutoAdd( true ); m_location = new QComboBox(m_pseudo ); m_up = new QPushButton(Resource::loadIconSet("up"),"", m_pseudo,"cdUpButton"); - m_up->setMinimumSize( QSize( 20, 20 ) ); - m_up->setMaximumSize( QSize( 20, 20 ) ); + m_up->setFixedSize( QSize( 20, 20 ) ); connect(m_up ,SIGNAL(clicked()),this,SLOT(cdUP() ) ); m_up->setFlat(TRUE); m_homeButton = new QPushButton(Resource::loadIconSet("home") , "", m_pseudo); - m_homeButton->setMinimumSize( QSize( 20, 20 ) ); - m_homeButton->setMaximumSize( QSize( 20, 20 ) ); + m_homeButton->setFixedSize( QSize( 20, 20 ) ); connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotHome() ) ); m_homeButton->setFlat(TRUE); m_docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"", m_pseudo,"docsButton"); - m_docButton->setMinimumSize( QSize( 20, 20 ) ); - m_docButton->setMaximumSize( QSize( 20, 20 ) ); + m_docButton->setFixedSize( QSize( 20, 20 ) ); connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotDoc() ) ); m_docButton->setFlat(TRUE); m_boxToolbar->addWidget(m_location ); m_boxToolbar->addWidget(m_up ); m_boxToolbar->addWidget(m_homeButton ); m_boxToolbar->addWidget(m_docButton ); m_pseudoLayout->addLayout(m_boxToolbar ); @@ -734,30 +732,31 @@ void OFileSelector::initializeListView() m_stack->raiseWidget( EXTENDED ); m_pseudoLayout->addWidget(m_View ); QPEApplication::setStylusOperation( m_View->viewport(),QPEApplication::RightOnHold); // set up the stuff // Pixmap Name Date Size mime //(m_View->header() )->hide(); //m_View->setRootIsDecorated(false); m_View->addColumn(" "); - m_View->addColumn(tr("Name") ); - m_View->addColumn(tr("Size") ); + m_View->addColumn(tr("Name"),135 ); + m_View->addColumn(tr("Size"),-1 ); m_View->addColumn(tr("Date"), 60 ); - m_View->addColumn(tr("Mime Type") ); + m_View->addColumn(tr("Mime Type"),-1 ); QHeader *header = m_View->header(); header->hide(); m_View->setSorting(1 ); + m_View->setAllColumnsShowFocus( TRUE); // connect now connect(m_View, SIGNAL(selectionChanged() ), this, SLOT(slotSelectionChanged() ) ); connect(m_View, SIGNAL(currentChanged(QListViewItem *) ), this, SLOT(slotCurrentChanged(QListViewItem * ) ) ); connect(m_View, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint &, int) ), - this, SLOT(slotClicked( int, QListViewItem *, const QPoint &, int) ) ); + this, SLOT(slotClicked( int, QListViewItem *, const QPoint &, int) ) ); connect(m_View, SIGNAL(mouseButtonPressed(int, QListViewItem *, const QPoint &, int )), - this, SLOT(slotRightButton(int, QListViewItem *, const QPoint &, int ) ) ); + this, SLOT(slotRightButton(int, QListViewItem *, const QPoint &, int ) ) ); }; /* If a item is locked depends on the mode if we're in OPEN !isReadable is locked if we're in SAVE !isWriteable is locked @@ -786,65 +785,65 @@ void OFileSelector::addFile(const QString &mime, QFileInfo *info, bool symlink ) dir = info->dirPath( true ); if( symlink ) { // check if the readLink is readable // do it right later name = info->fileName() + " -> " + info->dirPath() + "/" + info->readLink(); }else{ // keep track of the icons name = info->fileName(); if( m_mode == OPEN ){ if( !info->isReadable() ){ - locked = true; - pix = Resource::loadPixmap("locked" ); + locked = true; + pix = Resource::loadPixmap("locked" ); } }else if( m_mode == SAVE ){ if( !info->isWritable() ){ - locked = true; - pix = Resource::loadPixmap("locked" ); + locked = true; + pix = Resource::loadPixmap("locked" ); } } } new OFileSelectorItem( m_View, pix, name, - info->lastModified().toString(), - QString::number( info->size() ), - dir, locked ); + info->lastModified().toString(), + QString::number( info->size() ), + dir, locked ); } void OFileSelector::addDir(const QString &mime, QFileInfo *info, bool symlink ) { if(!m_dir ) return; //if( showDirs ) { bool locked=false; QString name; QPixmap pix; if( ( m_mode == OPEN && !info->isReadable() ) || ( m_mode == SAVE && !info->isWritable() ) ){ locked = true; if( symlink ){ - pix = (*m_pixmaps)["symlinkedlocked"]; + pix = (*m_pixmaps)["symlinkedlocked"]; }else{ - pix = Resource::loadPixmap("lockedfolder" ); + pix = Resource::loadPixmap("lockedfolder" ); } }else{ if( symlink ){ - pix = (*m_pixmaps)["dirsymlink" ]; + pix = (*m_pixmaps)["dirsymlink" ]; }else{ - pix = Resource::loadPixmap("folder" ); + pix = Resource::loadPixmap("folder" ); } } if( symlink){ name = info->fileName()+ "->"+ info->dirPath(true) +"/" +info->readLink(); }else{ //if(info->isReadable() ) name = info->fileName(); } new OFileSelectorItem(m_View, pix, - name, info->lastModified().toString(), - QString::number(info->size() ),info->dirPath(true), locked, true ); + name, info->lastModified().toString(), + QString::number(info->size() ),info->dirPath(true), locked, true ); } } void OFileSelector::setShowDirs(bool dir ) { m_dir = dir; reparse(); } @@ -873,18 +872,18 @@ void OFileSelector::slotCurrentChanged(QListViewItem *item ) if( item == 0 ) return; if( m_selector == EXTENDED || m_selector == EXTENDED_ALL ){ OFileSelectorItem *sel = (OFileSelectorItem*)item; if(!sel->isDir() ){ qWarning("is not dir" ); if(m_shLne ){ - m_edit->setText(sel->text(1) ); - qWarning("setTexy" ); + m_edit->setText(sel->text(1) ); + qWarning("setTexy" ); } } }else { qWarning("mode not extended" ); } } // either select or change dir void OFileSelector::slotClicked( int button, QListViewItem *item, const QPoint &point, int ) @@ -897,23 +896,23 @@ void OFileSelector::slotClicked( int button, QListViewItem *item, const QPoint & qWarning("clicked" ); if(m_selector == EXTENDED || m_selector == EXTENDED_ALL ){ qWarning("inside" ); OFileSelectorItem *sel = (OFileSelectorItem*)item; if(!sel->isLocked() ){ // not locked either changedir or open QStringList str = QStringList::split("->", sel->text(1) ); if(sel->isDir() ){ - cd( sel->directory() + "/" + str[0] ); + cd( sel->directory() + "/" + str[0] ); }else{ - qWarning("file" ); - if(m_shLne ) - m_edit->setText(str[0] ); - emit fileSelected(str[0] ); - // emit DocLnk need to do it + qWarning("file" ); + if(m_shLne ) + m_edit->setText(str[0] ); + emit fileSelected(str[0] ); + // emit DocLnk need to do it } }else{ qWarning( "locked" ); } }; } void OFileSelector::slotRightButton(int button, QListViewItem *item, const QPoint &, int ) { @@ -934,49 +933,49 @@ void OFileSelector::slotContextMenu(QListViewItem *item) if( m_custom !=0){ m_custom->exec(); }else{ QPopupMenu menu; QAction up; up.setText("cd up"); up.addTo( &menu ); connect(&up, SIGNAL(activated() ), - this, SLOT(cdUP() ) ); + this, SLOT(cdUP() ) ); QAction act; OFileSelectorItem *sel = (OFileSelectorItem*)item; if(sel->isDir() ){ act.setText( tr("Change Directory") ); act.addTo(&menu ); connect(&act, SIGNAL(activated() ), - this, SLOT(slotChangedDir() ) ); + this, SLOT(slotChangedDir() ) ); }else{ act.setText( tr("Open file" ) ); act.addTo( &menu ); connect(&act, SIGNAL(activated() ), - this, SLOT(slotOpen() ) ); + this, SLOT(slotOpen() ) ); } QAction rescan; rescan.setText( tr("Rescan") ); rescan.addTo( &menu ); connect(&rescan, SIGNAL(activated() ), - this, SLOT(slotRescan() ) ); + this, SLOT(slotRescan() ) ); QAction rename; rename.setText( tr("Rename") ); rename.addTo( &menu ); connect(&rename, SIGNAL(activated() ), - this, SLOT(slotRename() ) ); + this, SLOT(slotRename() ) ); menu.insertSeparator(); QAction delItem; delItem.setText( tr("Delete") ); delItem.addTo(&menu ); connect(&delItem, SIGNAL(activated() ), - this, SLOT(slotDelete() ) ); + this, SLOT(slotDelete() ) ); menu.exec(QCursor::pos() ); } } bool OFileSelector::cd(const QString &str ) { qWarning(" dir %s", str.latin1() ); QDir dir( str); |