summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/iconview.cpp
Side-by-side diff
Diffstat (limited to 'noncore/graphics/opie-eye/gui/iconview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/iconview.cpp63
1 files changed, 61 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp
index 74a8d0f..b3f0006 100644
--- a/noncore/graphics/opie-eye/gui/iconview.cpp
+++ b/noncore/graphics/opie-eye/gui/iconview.cpp
@@ -1,41 +1,45 @@
/*
* GPLv2 zecke@handhelds.org
* No WArranty...
*/
#include "iconview.h"
#include <lib/imagecache.h>
#include <iface/dirview.h>
#include <iface/dirlister.h>
-#include <qpe/config.h>
+#include <opie2/oconfig.h>
+#include <opie2/okeyconfigwidget.h>
+
#include <qpe/resource.h>
#include <qpe/qpemessagebox.h>
#include <qpe/ir.h>
#include <qpe/qcopenvelope_qws.h>
+
#include <qiconview.h>
#include <qlabel.h>
#include <qhbox.h>
#include <qcombobox.h>
#include <qdir.h>
#include <qapplication.h>
#include <qmainwindow.h>
#include <qtimer.h>
#include <qstyle.h>
+using Opie::Ui::OKeyConfigItem;
namespace {
QPixmap* _dirPix = 0;
QPixmap* _unkPix = 0;
class IconViewItem : public QIconViewItem {
public:
IconViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false);
QPixmap* pixmap()const;
QString path()const { return m_path; }
bool isDir()const { return m_isDir; }
void setText( const QString& );
void reCalc();
@@ -87,25 +91,25 @@ namespace {
m_noInfo = true;
QIconViewItem::setText( text );
reCalc();
}
inline void IconViewItem::reCalc()
{
calcRect();
}
}
-PIconView::PIconView( QWidget* wid, Config* cfg )
+PIconView::PIconView( QWidget* wid, Opie::Core::OConfig* cfg )
: QVBox( wid ), m_cfg( cfg )
{
{
QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" );
}
m_path = QDir::homeDirPath();
QHBox *hbox = new QHBox( this );
QLabel* lbl = new QLabel( hbox );
lbl->setText( tr("View as" ) );
m_views = new QComboBox( hbox, "View As" );
@@ -115,55 +119,97 @@ PIconView::PIconView( QWidget* wid, Config* cfg )
m_view= new QIconView( this );
connect(m_view, SIGNAL(clicked(QIconViewItem*) ),
this, SLOT(slotClicked(QIconViewItem*)) );
m_view->setArrangement( QIconView::LeftToRight );
m_view->setItemTextPos( QIconView::Right );
m_view->setResizeMode(QIconView::Adjust);
int dw = QApplication::desktop()->width();
int viewerWidth = dw-style().scrollBarExtent().width();
m_view->setGridX( viewerWidth-2*m_view->spacing() );
m_view->setGridY( fontMetrics().height()*2+40 );
+
+
+ initKeys();
+
loadViews();
slotViewChanged( m_views->currentItem() );
}
PIconView::~PIconView() {
{
QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" );
}
+ m_viewManager->save();
+ delete m_viewManager;
+}
+
+Opie::Ui::OKeyConfigManager* PIconView::manager() {
+ return m_viewManager;
+}
+
+void PIconView::initKeys() {
+ Opie::Ui::OKeyPair::List lst;
+ lst.append( Opie::Ui::OKeyPair::upArrowKey() );
+ lst.append( Opie::Ui::OKeyPair::downArrowKey() );
+ lst.append( Opie::Ui::OKeyPair::leftArrowKey() );
+ lst.append( Opie::Ui::OKeyPair::rightArrowKey() );
+ lst.append( Opie::Ui::OKeyPair::returnKey() );
+
+ m_viewManager = new Opie::Ui::OKeyConfigManager(m_cfg, "View-KeyBoard-Config",
+ lst, false,this, "keyconfig name" );
+ m_viewManager->addKeyConfig( OKeyConfigItem(tr("Beam Current Item") , "beam",
+ QString::fromLatin1("beam"), BeamItem,
+ Opie::Ui::OKeyPair(Qt::Key_B, Qt::ShiftButton),
+ this, SLOT(slotBeam())) );
+ m_viewManager->addKeyConfig( OKeyConfigItem(tr("Delete Current Item"), "delete",
+ QString::fromLatin1("trash"), DeleteItem,
+ Opie::Ui::OKeyPair(Qt::Key_D, Qt::ShiftButton),
+ this, SLOT(slotTrash())) );
+ m_viewManager->addKeyConfig( OKeyConfigItem(tr("View Current Item"), "view",
+ QString::fromLatin1("1to1"), ViewItem,
+ Opie::Ui::OKeyPair(Qt::Key_V, Qt::ShiftButton),
+ this, SLOT(slotShowImage())));
+ m_viewManager->addKeyConfig( OKeyConfigItem(tr("Show Image Info") , "info",
+ QString::fromLatin1("DocumentTypeWord"), InfoItem,
+ Opie::Ui::OKeyPair(Qt::Key_I, Qt::ShiftButton ),
+ this, SLOT(slotImageInfo()) ) );
+ m_viewManager->load();
+ m_viewManager->handleWidget( m_view );
}
void PIconView::slotDirUp() {
QDir dir( m_path );
dir.cdUp();
slotChangeDir( dir.absPath() );
}
void PIconView::slotChangeDir(const QString& path) {
if ( !currentView() )
return;
PDirLister *lister = currentView()->dirLister();
if (!lister )
return;
lister->setStartPath( path );
m_path = lister->currentPath();
+ m_view->setUpdatesEnabled( false );
m_view->clear();
addFolders( lister->folders() );
addFiles( lister->files() );
+ m_view->setUpdatesEnabled( true );
// Also invalidate the cache. We can't cancel the operations anyway
g_stringPix.clear();
g_stringInf.clear();
// looks ugly
static_cast<QMainWindow*>(parent())->setCaption( QObject::tr("%1 - O View", "Name of the dir").arg( m_path ) );
}
QString PIconView::currentFileName(bool &isDir)const {
isDir = false;
QIconViewItem* _it = m_view->currentItem();
@@ -308,12 +354,25 @@ void PIconView::slotBeam() {
void PIconView::slotBeamDone( Ir* ir) {
delete ir;
}
void PIconView::slotStart() {
m_view->setUpdatesEnabled( false );
}
void PIconView::slotEnd() {
m_view->setUpdatesEnabled( true );
}
+
+void PIconView::slotShowImage() {
+
+}
+void PIconView::slotShowImage( const QString& ) {
+
+}
+void PIconView::slotImageInfo() {
+
+}
+void PIconView::slotImageInfo( const QString& ) {
+
+}