summaryrefslogtreecommitdiff
path: root/libopie/ofileselector.cc
Side-by-side diff
Diffstat (limited to 'libopie/ofileselector.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ofileselector.cc23
1 files changed, 22 insertions, 1 deletions
diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc
index 14f035e..fbe69ed 100644
--- a/libopie/ofileselector.cc
+++ b/libopie/ofileselector.cc
@@ -726,48 +726,51 @@ void OFileSelector::initializeListView()
m_homeButton->setMaximumSize( 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 ) );
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 );
// lets fill the combobox
StorageInfo storage;
const QList<FileSystem> &fs = storage.fileSystems();
QListIterator<FileSystem> it ( fs );
for( ; it.current(); ++it ){
const QString disk = (*it)->name();
const QString path = (*it)->path();
m_location->insertItem(path+ "<-"+disk );
}
+ int count = m_location->count();
+ m_location->insertItem(m_currentDir );
+ m_location->setCurrentItem( count );
};
m_View = new QListView(m_pseudo, "Extended view" );
m_stack->addWidget( m_pseudo, EXTENDED );
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("Date"), 60 );
m_View->addColumn(tr("Mime Type") );
QHeader *header = m_View->header();
header->hide();
m_View->setSorting(1 );
// 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) ) );
connect(m_View, SIGNAL(mouseButtonPressed(int, QListViewItem *, const QPoint &, int )),
@@ -981,48 +984,53 @@ void OFileSelector::slotContextMenu(QListViewItem *item)
QAction rename;
rename.setText( tr("Rename") );
rename.addTo( &menu );
connect(&rename, SIGNAL(activated() ),
this, SLOT(slotRename() ) );
menu.insertSeparator();
QAction delItem;
delItem.setText( tr("Delete") );
delItem.addTo(&menu );
connect(&delItem, SIGNAL(activated() ),
this, SLOT(slotDelete() ) );
menu.exec(QCursor::pos() );
}
}
bool OFileSelector::cd(const QString &str )
{
qWarning(" dir %s", str.latin1() );
QDir dir( str);
if(dir.exists() ){
m_currentDir = str;
reparse();
+ if(m_shTool ){
+ int count = m_location->count();
+ m_location->insertItem(str );
+ m_location->setCurrentItem( count );
+ }
return true;
}
return false;
}
void OFileSelector::slotChangedDir()
{
OFileSelectorItem *sel = (OFileSelectorItem*)m_View->currentItem();
if(sel->isDir() ){
QStringList str = QStringList::split("->", sel->text(1) );
cd( sel->directory() + "/" + str[0] );
}
}
void OFileSelector::slotOpen()
{
OFileSelectorItem *sel = (OFileSelectorItem*)m_View->currentItem();
if(!sel->isDir() ){
QStringList str = QStringList::split("->", sel->text(1) );
slotFileSelected( str[0] );
}
}
void OFileSelector::slotRescan()
{
reparse();
@@ -1032,28 +1040,41 @@ void OFileSelector::slotRename()
// rename inline
}
void OFileSelector::slotDelete()
{
qWarning("delete slot" );
OFileSelectorItem *sel = (OFileSelectorItem*)m_View->currentItem();
QStringList list = QStringList::split("->", sel->text(1) );
if( sel->isDir() ){
QString str = QString::fromLatin1("rm -rf ") + list[0];
::system(str.utf8().data() );
}else{
QFile::remove( list[0] );
}
m_View->takeItem( sel );
delete sel;
}
void OFileSelector::cdUP()
{
QDir dir( m_currentDir );
dir.cdUp();
if(dir.exists() ){
m_currentDir = dir.absPath();
reparse();
+ int count = m_location->count();
+ m_location->insertItem(m_currentDir );
+ m_location->setCurrentItem( count );
}
}
+void OFileSelector::slotHome()
+{
+ cd(QDir::homeDirPath() );
+}
+void OFileSelector::slotDoc()
+{
+ cd(QDir::homeDirPath() + "/Documents" );
+}
+void OFileSelector::slotNavigate()
+{
-
+}