summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageinfoui.cpp57
-rw-r--r--noncore/graphics/opie-eye/gui/imageinfoui.h23
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp16
3 files changed, 85 insertions, 11 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageinfoui.cpp b/noncore/graphics/opie-eye/gui/imageinfoui.cpp
index 74a9ea4..039dfa3 100644
--- a/noncore/graphics/opie-eye/gui/imageinfoui.cpp
+++ b/noncore/graphics/opie-eye/gui/imageinfoui.cpp
@@ -8,43 +8,90 @@
8#include <qvariant.h> 8#include <qvariant.h>
9#include <qtooltip.h> 9#include <qtooltip.h>
10#include <qwhatsthis.h> 10#include <qwhatsthis.h>
11#include <qimage.h> 11#include <qimage.h>
12#include <qpixmap.h> 12#include <qpixmap.h>
13#include <qstring.h> 13#include <qstring.h>
14#include <qfileinfo.h> 14#include <qfileinfo.h>
15 15
16#include <lib/slavemaster.h> 16#include "lib/slavemaster.h"
17#include <lib/imagecache.h> 17#include "lib/imagecache.h"
18
19#include <opie2/oconfig.h>
20#include <opie2/oconfig.h>
21#include <opie2/okeyconfigwidget.h>
22#include <opie2/odebug.h>
18 23
19#include <qpe/qcopenvelope_qws.h> 24#include <qpe/qcopenvelope_qws.h>
20#include <qpe/resource.h> 25#include <qpe/resource.h>
21 26
22static const int THUMBSIZE = 128; 27static const int THUMBSIZE = 128;
23 28
29using namespace Opie::Core;
24 30
25imageinfo::imageinfo(QWidget* parent, const char* name, WFlags fl ) 31imageinfo::imageinfo(QWidget* parent, const char* name, WFlags fl )
26 : QWidget( parent, name, fl ) 32 : QWidget( parent, name, fl )
27{ 33{
34 m_viewManager = 0;
28 init(name); 35 init(name);
36 initKeys();
29} 37}
30 38
31imageinfo::imageinfo(const QString&_path, QWidget* parent, const char* name, WFlags fl ) 39imageinfo::imageinfo(const QString&_path, QWidget* parent, const char* name, WFlags fl )
32 : QWidget( parent, name, fl ),currentFile(_path) 40 : QWidget( parent, name, fl ),currentFile(_path)
33{ 41{
42 m_viewManager = 0;
34 init(name); 43 init(name);
44 initKeys();
35 slotChangeName(_path); 45 slotChangeName(_path);
36} 46}
47
48Opie::Ui::OKeyConfigManager* imageinfo::manager()
49{
50 if (!m_viewManager) {
51 initKeys();
52 }
53 return m_viewManager;
54}
55
56void imageinfo::initKeys()
57{
58 odebug << "init imageinfo keys" << oendl;
59 m_cfg = new Opie::Core::OConfig("phunkview");
60 m_cfg->setGroup("Zecke_view" );
61 Opie::Ui::OKeyPair::List lst;
62 lst.append( Opie::Ui::OKeyPair::upArrowKey() );
63 lst.append( Opie::Ui::OKeyPair::downArrowKey() );
64 lst.append( Opie::Ui::OKeyPair::leftArrowKey() );
65 lst.append( Opie::Ui::OKeyPair::rightArrowKey() );
66// lst.append( Opie::Ui::OKeyPair::returnKey() );
67
68 m_viewManager = new Opie::Ui::OKeyConfigManager(m_cfg, "Imageinfo-KeyBoard-Config",
69 lst, false,this, "keyconfig name" );
70 m_viewManager->addKeyConfig( Opie::Ui::OKeyConfigItem(tr("View Full Image"), "view",
71 Resource::loadPixmap("1to1"), ViewItem,
72 Opie::Ui::OKeyPair(Qt::Key_V, Qt::ShiftButton),
73 this, SLOT(slotShowImage())));
74 m_viewManager->load();
75 m_viewManager->handleWidget( this );
76 m_viewManager->handleWidget( TextView1 );
77}
78
79void imageinfo::slotShowImage()
80{
81 emit dispImage(currentFile);
82}
83
37void imageinfo::init(const char* name) { 84void imageinfo::init(const char* name) {
38 { 85 {
39 QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" ); 86 QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" );
40 } 87 }
41 if ( !name ) 88 if ( !name )
42 setName( "imageinfo" ); 89 setName( "imageinfo" );
43 resize( 289, 335 ); 90 resize( 289, 335 );
44 setCaption( tr( "Image info" ) ); 91 setCaption( tr( "Image info" ) );
45 imageinfoLayout = new QVBoxLayout( this ); 92 imageinfoLayout = new QVBoxLayout( this );
46 imageinfoLayout->setSpacing(2); 93 imageinfoLayout->setSpacing(2);
47 imageinfoLayout->setMargin(4); 94 imageinfoLayout->setMargin(4);
48 95
49 PixmapLabel1 = new QLabel( this, "PixmapLabel1" ); 96 PixmapLabel1 = new QLabel( this, "PixmapLabel1" );
50 PixmapLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)5, PixmapLabel1->sizePolicy().hasHeightForWidth() ) ); 97 PixmapLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)5, PixmapLabel1->sizePolicy().hasHeightForWidth() ) );
@@ -91,16 +138,20 @@ void imageinfo::slotChangeName(const QString&_path)
91 } 138 }
92} 139}
93 140
94imageinfo::~imageinfo() 141imageinfo::~imageinfo()
95{ 142{
96 { 143 {
97 QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" ); 144 QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" );
98 } 145 }
146 if (m_viewManager) {
147 m_viewManager->save();
148 delete m_viewManager;
149 }
99} 150}
100 151
101void imageinfo::slot_fullInfo(const QString&_path, const QString&_t) 152void imageinfo::slot_fullInfo(const QString&_path, const QString&_t)
102{ 153{
103 if (_path == currentFile) { 154 if (_path == currentFile) {
104 qDebug(_t); 155 qDebug(_t);
105 QString t = _t; 156 QString t = _t;
106 t.replace(QRegExp("\n"),"<br>"); 157 t.replace(QRegExp("\n"),"<br>");
diff --git a/noncore/graphics/opie-eye/gui/imageinfoui.h b/noncore/graphics/opie-eye/gui/imageinfoui.h
index 300c92a..0a5e183 100644
--- a/noncore/graphics/opie-eye/gui/imageinfoui.h
+++ b/noncore/graphics/opie-eye/gui/imageinfoui.h
@@ -7,43 +7,62 @@
7 7
8class QVBoxLayout; 8class QVBoxLayout;
9class QHBoxLayout; 9class QHBoxLayout;
10class QGridLayout; 10class QGridLayout;
11class QFrame; 11class QFrame;
12class QLabel; 12class QLabel;
13class QTextView; 13class QTextView;
14 14
15namespace Opie {
16 namespace Core {
17 class OConfig;
18 }
19 namespace Ui {
20 class OKeyConfigManager;
21 }
22}
23
15class imageinfo : public QWidget 24class imageinfo : public QWidget
16{ 25{
17 Q_OBJECT 26 Q_OBJECT
27 enum ActionIds {
28 ViewItem
29 };
18 30
19public: 31public:
20 imageinfo( QWidget* parent = 0, const char* name = 0, WFlags fl =0); 32 imageinfo( QWidget* parent = 0, const char* name = 0, WFlags fl =0);
21 imageinfo(const QString&_path, QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 33 imageinfo(const QString&_path, QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
22 ~imageinfo(); 34 ~imageinfo();
23 35
24 void setDestructiveClose(); 36 void setDestructiveClose();
37 Opie::Ui::OKeyConfigManager* manager();
38
39signals:
40 void dispImage(const QString&);
25 41
26public slots: 42public slots:
27 void setPath( const QString& path ); 43 void setPath( const QString& path );
44 void slotShowImage();
28 45
29private: 46private:
30 void init(const char* name); 47 void init(const char* name);
31 48
32protected: 49protected:
33 QLabel* PixmapLabel1; 50 QLabel* PixmapLabel1;
34 QLabel* fnameLabel; 51 QLabel* fnameLabel;
35 QFrame* Line1; 52 QFrame* Line1;
36 QTextView* TextView1; 53 QTextView* TextView1;
37
38protected:
39 QVBoxLayout* imageinfoLayout; 54 QVBoxLayout* imageinfoLayout;
40 QString currentFile; 55 QString currentFile;
41 56
57 Opie::Core::OConfig * m_cfg;
58 Opie::Ui::OKeyConfigManager*m_viewManager;
59 void initKeys();
60
42protected slots: 61protected slots:
43 virtual void slot_fullInfo(const QString&, const QString&); 62 virtual void slot_fullInfo(const QString&, const QString&);
44 virtual void slotThumbNail(const QString&, const QPixmap&); 63 virtual void slotThumbNail(const QString&, const QPixmap&);
45 64
46 virtual void slotChangeName(const QString&); 65 virtual void slotChangeName(const QString&);
47}; 66};
48 67
49/* for testing purpose */ 68/* for testing purpose */
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 88acd59..5e94f93 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -13,41 +13,39 @@
13#include <iface/dirview.h> 13#include <iface/dirview.h>
14 14
15#include <opie2/odebug.h> 15#include <opie2/odebug.h>
16#include <opie2/owidgetstack.h> 16#include <opie2/owidgetstack.h>
17#include <opie2/oapplicationfactory.h> 17#include <opie2/oapplicationfactory.h>
18#include <opie2/otabwidget.h> 18#include <opie2/otabwidget.h>
19#include <opie2/okeyconfigwidget.h> 19#include <opie2/okeyconfigwidget.h>
20 20
21
22#include <qpe/resource.h> 21#include <qpe/resource.h>
23#include <qpe/config.h> 22#include <qpe/config.h>
24#include <qpe/ir.h> 23#include <qpe/ir.h>
25 24
26#include <qtoolbar.h> 25#include <qtoolbar.h>
27#include <qtoolbutton.h> 26#include <qtoolbutton.h>
28#include <qlayout.h> 27#include <qlayout.h>
29#include <qdialog.h> 28#include <qdialog.h>
30#include <qmap.h> 29#include <qmap.h>
31#include <qtimer.h> 30#include <qtimer.h>
32 31
33 32
34 33
35 34
36OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<PMainWindow> ) 35OPIE_EXPORT_APP_V2( Opie::Core::OApplicationFactory<PMainWindow>,"Opie Eye" )
37 36
38PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) 37PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
39 : QMainWindow( wid, name, style ), m_info( 0 ), m_disp( 0 ) 38 : QMainWindow( wid, name, style ), m_info( 0 ), m_disp( 0 )
40{ 39{
41 setCaption( QObject::tr("Opie Eye Caramba" ) ); 40 setCaption( QObject::tr("Opie Eye Caramba" ) );
42 m_cfg = new Opie::Core::OConfig("phunkview"); 41 m_cfg = new Opie::Core::OConfig("phunkview");
43 m_cfg->setGroup("Zecke_view" ); 42 m_cfg->setGroup("Zecke_view" );
44 43// qDebug( "Process-wide OApplication object @ %0x", oApp );
45
46 /* 44 /*
47 * Initialize ToolBar and IconView 45 * Initialize ToolBar and IconView
48 * And Connect Them 46 * And Connect Them
49 */ 47 */
50 QToolBar *bar = new QToolBar( this ); 48 QToolBar *bar = new QToolBar( this );
51 bar->setHorizontalStretchable( true ); 49 bar->setHorizontalStretchable( true );
52 setToolBarsMovable( false ); 50 setToolBarsMovable( false );
53 51
@@ -87,17 +85,17 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
87 btn->setIconSet( Resource::loadIconSet( "trash" ) ); 85 btn->setIconSet( Resource::loadIconSet( "trash" ) );
88 connect( btn, SIGNAL(clicked() ), 86 connect( btn, SIGNAL(clicked() ),
89 m_view, SLOT(slotTrash() ) ); 87 m_view, SLOT(slotTrash() ) );
90 88
91 btn = new QToolButton( bar ); 89 btn = new QToolButton( bar );
92 btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) ); 90 btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) );
93 connect( btn, SIGNAL(clicked() ), 91 connect( btn, SIGNAL(clicked() ),
94 this, SLOT(slotConfig() ) ); 92 this, SLOT(slotConfig() ) );
95 93
96 rotateButton = new QToolButton(bar); 94 rotateButton = new QToolButton(bar);
97 rotateButton->setIconSet( Resource::loadIconSet( "rotate" ) ); 95 rotateButton->setIconSet( Resource::loadIconSet( "rotate" ) );
98 rotateButton->setToggleButton(true); 96 rotateButton->setToggleButton(true);
99 rotateButton->setOn(true); 97 rotateButton->setOn(true);
100 connect(rotateButton,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool))); 98 connect(rotateButton,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool)));
101 autoRotate = true; 99 autoRotate = true;
102 100
103 btn = new QToolButton(bar); 101 btn = new QToolButton(bar);
@@ -159,16 +157,20 @@ void PMainWindow::slotConfig() {
159 } 157 }
160 158
161/* 159/*
162 * Add the KeyConfigWidget 160 * Add the KeyConfigWidget
163 */ 161 */
164 Opie::Ui::OKeyConfigWidget* keyWid = new Opie::Ui::OKeyConfigWidget( wid, "key config" ); 162 Opie::Ui::OKeyConfigWidget* keyWid = new Opie::Ui::OKeyConfigWidget( wid, "key config" );
165 keyWid->setChangeMode( Opie::Ui::OKeyConfigWidget::Queue ); 163 keyWid->setChangeMode( Opie::Ui::OKeyConfigWidget::Queue );
166 keyWid->insert( tr("Browser Keyboard Actions"), m_view->manager() ); 164 keyWid->insert( tr("Browser Keyboard Actions"), m_view->manager() );
165 if ( !m_info ) {
166 initInfo();
167 }
168 keyWid->insert( tr("Imageinfo Keyboard Actions"), m_info->manager() );
167 keyWid->load(); 169 keyWid->load();
168 wid->addTab( keyWid, QString::fromLatin1("AppsIcon" ), tr("Keyboard Configuration") ); 170 wid->addTab( keyWid, QString::fromLatin1("AppsIcon" ), tr("Keyboard Configuration") );
169 171
170 172
171 bool act = ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted ); 173 bool act = ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted );
172 174
173/* 175/*
174 * clean up 176 * clean up
@@ -205,16 +207,17 @@ void PMainWindow::initT( const char* name, T** ptr, int id) {
205 m_stack->addWidget( *ptr, id ); 207 m_stack->addWidget( *ptr, id );
206 208
207 connect(*ptr, SIGNAL(sig_return()), 209 connect(*ptr, SIGNAL(sig_return()),
208 this,SLOT(slotReturn())); 210 this,SLOT(slotReturn()));
209 211
210} 212}
211void PMainWindow::initInfo() { 213void PMainWindow::initInfo() {
212 initT<imageinfo>( "Image Info", &m_info, ImageInfo ); 214 initT<imageinfo>( "Image Info", &m_info, ImageInfo );
215 connect(m_info,SIGNAL(dispImage(const QString&)),this,SLOT(slotDisplay(const QString&)));
213} 216}
214void PMainWindow::initDisp() { 217void PMainWindow::initDisp() {
215 initT<ImageScrollView>( "Image ScrollView", &m_disp, ImageDisplay ); 218 initT<ImageScrollView>( "Image ScrollView", &m_disp, ImageDisplay );
216 if (m_disp) { 219 if (m_disp) {
217 m_disp->setAutoScale(autoScale); 220 m_disp->setAutoScale(autoScale);
218 m_disp->setAutoRotate(autoRotate); 221 m_disp->setAutoRotate(autoRotate);
219 } 222 }
220 223
@@ -224,18 +227,19 @@ void PMainWindow::initDisp() {
224 * With big Screen the plan could be to 'detach' the image 227 * With big Screen the plan could be to 'detach' the image
225 * window if visible and to create a ne wone 228 * window if visible and to create a ne wone
226 * init* already supports it but I make no use of it for 229 * init* already supports it but I make no use of it for
227 * now. We set filename and raise 230 * now. We set filename and raise
228 * 231 *
229 * ### FIXME and talk to alwin 232 * ### FIXME and talk to alwin
230 */ 233 */
231void PMainWindow::slotShowInfo( const QString& inf ) { 234void PMainWindow::slotShowInfo( const QString& inf ) {
232 if ( !m_info ) 235 if ( !m_info ) {
233 initInfo(); 236 initInfo();
237 }
234 m_info->setPath( inf ); 238 m_info->setPath( inf );
235 m_stack->raiseWidget( ImageInfo ); 239 m_stack->raiseWidget( ImageInfo );
236} 240}
237 241
238void PMainWindow::slotDisplay( const QString& inf ) { 242void PMainWindow::slotDisplay( const QString& inf ) {
239 if ( !m_disp ) { 243 if ( !m_disp ) {
240 initDisp(); 244 initDisp();
241 } 245 }