summaryrefslogtreecommitdiff
authoralwin <alwin>2004-04-16 00:54:42 (UTC)
committer alwin <alwin>2004-04-16 00:54:42 (UTC)
commit7c29eeaecc8301fb500851382b3d94092ae72719 (patch) (side-by-side diff)
treeaa93d419a5b5752f080a6dc66afd5d8a3ec4ace0
parentde3d551d3b07617653c01e540ee3c6262a2cd595 (diff)
downloadopie-7c29eeaecc8301fb500851382b3d94092ae72719.zip
opie-7c29eeaecc8301fb500851382b3d94092ae72719.tar.gz
opie-7c29eeaecc8301fb500851382b3d94092ae72719.tar.bz2
not all buttons will showed in every view, small beauties
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/iconview.cpp11
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.cpp2
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp43
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.h4
4 files changed, 45 insertions, 15 deletions
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp
index f6e1816..7231bfb 100644
--- a/noncore/graphics/opie-eye/gui/iconview.cpp
+++ b/noncore/graphics/opie-eye/gui/iconview.cpp
@@ -258,63 +258,61 @@ void PIconView::slotChangeDir(const QString& path) {
* @param isDir see if this is a dir or real file
*/
QString PIconView::currentFileName(bool &isDir)const {
isDir = false;
QIconViewItem* _it = m_view->currentItem();
if ( !_it )
return QString::null;
IconViewItem* it = static_cast<IconViewItem*>( _it );
isDir = it->isDir();
return it->path();
}
QString PIconView::nextFileName(bool &isDir)const
{
isDir = false;
QIconViewItem* _it1 = m_view->currentItem();
if ( !_it1 )
return QString::null;
QIconViewItem* _it = _it1->nextItem();
if ( !_it )
return QString::null;
IconViewItem* it = static_cast<IconViewItem*>( _it );
isDir = it->isDir();
- m_view->setCurrentItem(_it);
return it->path();
}
QString PIconView::prevFileName(bool &isDir)const{
isDir = false;
QIconViewItem* _it = m_view->currentItem();
if ( !_it )
return QString::null;
_it = _it->prevItem();
if ( !_it )
return QString::null;
IconViewItem* it = static_cast<IconViewItem*>( _it );
isDir = it->isDir();
- m_view->setCurrentItem(_it);
return it->path();
}
void PIconView::slotTrash() {
bool isDir;
QString pa = currentFileName( isDir );
if ( isDir && pa.isEmpty() )
return;
if (!QPEMessageBox::confirmDelete( this,
tr("Delete Image" ),
tr("the Image %1" ).arg(pa)))
return
currentView()->dirLister()->deleteImage( pa );
delete m_view->currentItem();
}
/*
* see what views are available
*/
void PIconView::loadViews() {
ViewMap::Iterator it;
@@ -458,60 +456,63 @@ void PIconView::slotBeam() {
}
/*
* BEAM done clean up
*/
void PIconView::slotBeamDone( Ir* ir) {
delete ir;
}
void PIconView::slotStart() {
m_view->viewport()->setUpdatesEnabled( false );
}
void PIconView::slotEnd() {
if ( m_updatet )
m_view->arrangeItemsInGrid( );
m_view->viewport()->setUpdatesEnabled( true );
m_updatet = false;
}
void PIconView::slotShowNext()
{
bool isDir = false;
QString name = nextFileName(isDir);
- if (isDir) return;
if (name.isEmpty()) return;
- odebug << "Show next: " << name << oendl;
+ if (isDir) return;
+ /* if we got a name we have a next item */
+ m_view->setCurrentItem(m_view->currentItem()->nextItem());
slotShowImage(name);
}
void PIconView::slotShowPrev()
{
bool isDir = false;
QString name = prevFileName(isDir);
- if (isDir) return;
if (name.isEmpty()) return;
+ if (isDir) return;
+ /* if we got a name we have a prev item */
+ m_view->setCurrentItem(m_view->currentItem()->prevItem());
slotShowImage(name);
}
void PIconView::slotShowImage()
{
bool isDir = false;
QString name = currentFileName(isDir);
if (isDir) return;
slotShowImage( name );
}
void PIconView::slotShowImage( const QString& name) {
emit sig_display( name );
}
void PIconView::slotImageInfo() {
bool isDir = false;
QString name = currentFileName(isDir);
if (isDir) return;
slotImageInfo( name );
}
void PIconView::slotImageInfo( const QString& name) {
emit sig_showInfo( name );
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp
index aa2b9bc..fbc4494 100644
--- a/noncore/graphics/opie-eye/gui/imageview.cpp
+++ b/noncore/graphics/opie-eye/gui/imageview.cpp
@@ -22,48 +22,50 @@ ImageView::~ImageView()
delete m_viewManager;
}
}
Opie::Core::OKeyConfigManager* ImageView::manager()
{
if (!m_viewManager) {
initKeys();
}
return m_viewManager;
}
void ImageView::initKeys()
{
odebug << "init imageview keys" << oendl;
if (!m_cfg) {
m_cfg = new Opie::Core::OConfig("phunkview");
m_cfg->setGroup("image_view_keys" );
}
Opie::Core::OKeyPair::List lst;
lst.append( Opie::Core::OKeyPair::upArrowKey() );
lst.append( Opie::Core::OKeyPair::downArrowKey() );
lst.append( Opie::Core::OKeyPair::leftArrowKey() );
lst.append( Opie::Core::OKeyPair::rightArrowKey() );
+ lst.append( Opie::Core::OKeyPair(Qt::Key_N,0));
+ lst.append( Opie::Core::OKeyPair(Qt::Key_P,0));
m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys",
lst, false,this, "image_view_keys" );
m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo",
Resource::loadPixmap("1to1"), ViewInfo,
Opie::Core::OKeyPair(Qt::Key_I,Qt::ShiftButton),
this, SLOT(slotShowImageInfo())));
#if 0
m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("Next image"), "nextimage",
Resource::loadPixmap("next"), ViewInfo,
Opie::Core::OKeyPair(Qt::Key_N,0),
this, SLOT(slotDispNext())));
#endif
m_viewManager->handleWidget( this );
m_viewManager->load();
}
void ImageView::keyReleaseEvent(QKeyEvent * e)
{
if (!e || e->state()!=0) {
return;
}
if (e->key()==Qt::Key_N) slotDispNext();
if (e->key()==Qt::Key_P) slotDispPrev();
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 57be247..6f3f255 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -43,84 +43,96 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
m_cfg = new Opie::Core::OConfig("phunkview");
m_cfg->setGroup("Zecke_view" );
// qDebug( "Process-wide OApplication object @ %0x", oApp );
/*
* Initialize ToolBar and IconView
* And Connect Them
*/
QToolBar *bar = new QToolBar( this );
bar->setHorizontalStretchable( true );
setToolBarsMovable( false );
m_stack = new Opie::Ui::OWidgetStack( this );
setCentralWidget( m_stack );
m_view = new PIconView( m_stack, m_cfg );
m_stack->addWidget( m_view, IconView );
m_stack->raiseWidget( IconView );
connect(m_view, SIGNAL(sig_display(const QString&)),
this, SLOT(slotDisplay(const QString&)));
connect(m_view, SIGNAL(sig_showInfo(const QString&)),
this, SLOT(slotShowInfo(const QString&)) );
m_stack->forceMode(Opie::Ui::OWidgetStack::NoForce);
- QToolButton *btn = new QToolButton( bar );
- btn->setIconSet( Resource::loadIconSet( "up" ) );
- connect( btn, SIGNAL(clicked()),
+ upButton = new QToolButton( bar );
+ upButton->setIconSet( Resource::loadIconSet( "up" ) );
+ connect( upButton, SIGNAL(clicked()),
m_view, SLOT(slotDirUp()) );
- btn = new PFileSystem( bar );
- connect( btn, SIGNAL( changeDir( const QString& ) ),
+ fsButton = new PFileSystem( bar );
+ connect( fsButton, SIGNAL( changeDir( const QString& ) ),
m_view, SLOT(slotChangeDir( const QString& ) ) );
- btn = new QToolButton( bar );
+ QToolButton*btn = new QToolButton( bar );
btn->setIconSet( Resource::loadIconSet( "edit" ) );
connect( btn, SIGNAL(clicked()),
m_view, SLOT(slotRename()) );
if ( Ir::supported() ) {
btn = new QToolButton( bar );
btn->setIconSet( Resource::loadIconSet( "beam" ) );
connect( btn, SIGNAL(clicked()),
m_view, SLOT(slotBeam()) );
}
btn = new QToolButton( bar );
btn->setIconSet( Resource::loadIconSet( "trash" ) );
connect( btn, SIGNAL(clicked() ),
m_view, SLOT(slotTrash() ) );
- btn = new ViewModeButton( bar );
- connect( btn, SIGNAL(changeMode(int)),
+ viewModeButton = new ViewModeButton( bar );
+ connect( viewModeButton, SIGNAL(changeMode(int)),
m_view, SLOT(slotChangeMode(int)));
btn = new QToolButton( bar );
btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) );
connect( btn, SIGNAL(clicked() ),
this, SLOT(slotConfig() ) );
+
+
+ prevButton = new QToolButton(bar);
+ prevButton->setIconSet( Resource::loadIconSet( "back" ) );
+ connect(prevButton,SIGNAL(clicked()),m_view,SLOT(slotShowPrev()));
+ prevButton->hide();
+
+ nextButton = new QToolButton(bar);
+ nextButton->setIconSet( Resource::loadIconSet( "forward" ) );
+ connect(nextButton,SIGNAL(clicked()),m_view,SLOT(slotShowNext()));
+ nextButton->hide();
+
rotateButton = new QToolButton(bar);
rotateButton->setIconSet( Resource::loadIconSet( "rotate" ) );
rotateButton->setToggleButton(true);
odebug << "Mode = " << m_stack->mode() << oendl;
if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) {
rotateButton->setOn(true);
autoRotate = true;
} else {
rotateButton->setOn(false);
autoRotate = false;
}
connect(rotateButton,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool)));
btn = new QToolButton(bar);
btn->setIconSet( Resource::loadIconSet( "1to1" ) );
btn->setToggleButton(true);
btn->setOn(false);
connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotScaleToggled(bool)));
autoScale = true;
btn = new QToolButton(bar);
btn->setIconSet( Resource::loadIconSet( "mag" ) );
@@ -263,67 +275,82 @@ void PMainWindow::initDisp() {
m_disp->setMinimumSize(QApplication::desktop()->size()/2);
}
m_disp->setAutoScale(autoScale);
m_disp->setAutoRotate(autoRotate);
m_disp->setShowZoomer(zoomerOn);
connect(m_disp,SIGNAL(dispImageInfo(const QString&)),this,SLOT(slotShowInfo(const QString&)));
connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext()));
connect(m_disp,SIGNAL(dispPrev()),m_view,SLOT(slotShowPrev()));
}
}
/**
* With big Screen the plan could be to 'detach' the image
* window if visible and to create a ne wone
* init* already supports it but I make no use of it for
* now. We set filename and raise
*
* ### FIXME and talk to alwin
*/
void PMainWindow::slotShowInfo( const QString& inf ) {
if ( !m_info ) {
initInfo();
}
m_info->setPath( inf );
+ prevButton->hide();
+ nextButton->hide();
+ upButton->hide();
+ fsButton->hide();
+ viewModeButton->hide();
m_stack->raiseWidget( ImageInfo );
}
void PMainWindow::slotDisplay( const QString& inf ) {
if ( !m_disp ) {
initDisp();
}
m_disp->setImage( inf );
+ prevButton->show();
+ nextButton->show();
+ upButton->hide();
+ fsButton->hide();
+ viewModeButton->hide();
m_stack->raiseWidget( ImageDisplay );
}
void PMainWindow::slotReturn() {
raiseIconView();
}
void PMainWindow::closeEvent( QCloseEvent* ev ) {
/*
* return from view
* or properly quit
*/
if ( m_stack->visibleWidget() == m_info ||
m_stack->visibleWidget() == m_disp ) {
raiseIconView();
ev->ignore();
return;
}
ev->accept();
QTimer::singleShot(0, qApp, SLOT(closeAllWindows()));
}
void PMainWindow::raiseIconView() {
+ prevButton->hide();
+ nextButton->hide();
+ upButton->show();
+ fsButton->show();
+ viewModeButton->show();
m_stack->raiseWidget( IconView );
}
void PMainWindow::setDocument( const QString& showImg ) {
QString file = showImg;
DocLnk lnk(showImg);
if (lnk.isValid() )
file = lnk.file();
slotDisplay( file );
}
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h
index adb5dc2..1967ef7 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.h
+++ b/noncore/graphics/opie-eye/gui/mainwindow.h
@@ -42,32 +42,32 @@ public slots:
void slotReturn();
void slotRotateToggled(bool);
void slotScaleToggled(bool);
void slotZoomerToggled(bool);
void setDocument( const QString& );
protected:
void raiseIconView();
void closeEvent( QCloseEvent* );
private:
template<class T> void initT( const char* name, T**, int );
void initInfo();
void initDisp();
private:
Opie::Core::OConfig *m_cfg;
Opie::Ui::OWidgetStack *m_stack;
PIconView* m_view;
imageinfo *m_info;
ImageView *m_disp;
bool autoRotate;
bool autoScale;
bool zoomerOn;
- QToolButton*rotateButton;
-
+ QToolButton*rotateButton,*upButton,*fsButton,*viewModeButton;
+ QToolButton*nextButton,*prevButton;
private slots:
void slotConfig();
};
#endif