summaryrefslogtreecommitdiff
authoralwin <alwin>2004-11-02 00:30:38 (UTC)
committer alwin <alwin>2004-11-02 00:30:38 (UTC)
commit51b7bdf260bc2b5b066c6594a6d0c507add682fd (patch) (unidiff)
tree991e7658e5abc440343e03b83eb4f867ae6adbaf
parent2dc92f4bfe9e81edc2b0b24ecacf3bc44b344984 (diff)
downloadopie-51b7bdf260bc2b5b066c6594a6d0c507add682fd.zip
opie-51b7bdf260bc2b5b066c6594a6d0c507add682fd.tar.gz
opie-51b7bdf260bc2b5b066c6594a6d0c507add682fd.tar.bz2
ok. now we have real working, simple solution how to act with switching fullscreen
when imagewindow is hidden. It is realy impressive what a brain can generate brainf* ideas finding such a solution - I should stop programming on holidays.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.cpp3
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp24
2 files changed, 12 insertions, 15 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp
index be58c72..ebdfc60 100644
--- a/noncore/graphics/opie-eye/gui/imageview.cpp
+++ b/noncore/graphics/opie-eye/gui/imageview.cpp
@@ -25,32 +25,33 @@ ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name
25 initKeys(); 25 initKeys();
26 m_slideValue = 5; 26 m_slideValue = 5;
27 m_gDisplayType = 0; 27 m_gDisplayType = 0;
28 m_gPrevNext = 0; 28 m_gPrevNext = 0;
29 m_hGroup = 0; 29 m_hGroup = 0;
30} 30}
31 31
32void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, QActionGroup*disptypeGroup) 32void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, QActionGroup*disptypeGroup)
33{ 33{
34 m_gDisplayType = disptypeGroup; 34 m_gDisplayType = disptypeGroup;
35 m_gPrevNext = nextprevGroup; 35 m_gPrevNext = nextprevGroup;
36 m_hGroup = hGroup; 36 m_hGroup = hGroup;
37} 37}
38 38
39ImageView::~ImageView() 39ImageView::~ImageView()
40{ 40{
41 odebug << "Destructor imageview" << oendl;
41 delete m_viewManager; 42 delete m_viewManager;
42} 43}
43 44
44Opie::Core::OKeyConfigManager* ImageView::manager() 45Opie::Core::OKeyConfigManager* ImageView::manager()
45{ 46{
46 if (!m_viewManager) { 47 if (!m_viewManager) {
47 initKeys(); 48 initKeys();
48 } 49 }
49 return m_viewManager; 50 return m_viewManager;
50} 51}
51 52
52void ImageView::startSlide(int value) 53void ImageView::startSlide(int value)
53{ 54{
54 if (!m_slideTimer) { 55 if (!m_slideTimer) {
55 m_slideTimer = new QTimer(this); 56 m_slideTimer = new QTimer(this);
56 } 57 }
@@ -64,37 +65,39 @@ void ImageView::startSlide(int value)
64 65
65void ImageView::stopSlide() 66void ImageView::stopSlide()
66{ 67{
67 if (!m_slideTimer) { 68 if (!m_slideTimer) {
68 return; 69 return;
69 } 70 }
70 m_slideTimer->stop(); 71 m_slideTimer->stop();
71 delete m_slideTimer; 72 delete m_slideTimer;
72 m_slideTimer = 0; 73 m_slideTimer = 0;
73} 74}
74 75
75void ImageView::nextSlide() 76void ImageView::nextSlide()
76{ 77{
77 if (!m_slideTimer) { 78 if (!m_slideTimer) {
78 return; 79 return;
79 } 80 }
81#if 0
80 if (isHidden()) { 82 if (isHidden()) {
81 delete m_slideTimer; 83 delete m_slideTimer;
82 m_slideTimer = 0; 84 m_slideTimer = 0;
83 return; 85 return;
84 } 86 }
87#endif
85 emit dispNext(); 88 emit dispNext();
86 m_slideTimer->start(m_slideValue*1000,true); 89 m_slideTimer->start(m_slideValue*1000,true);
87} 90}
88void ImageView::initKeys() 91void ImageView::initKeys()
89{ 92{
90 odebug << "init imageview keys" << oendl; 93 odebug << "init imageview keys" << oendl;
91 if (!m_cfg) { 94 if (!m_cfg) {
92 m_cfg = new Opie::Core::OConfig("opie-eye"); 95 m_cfg = new Opie::Core::OConfig("opie-eye");
93 m_cfg->setGroup("image_view_keys" ); 96 m_cfg->setGroup("image_view_keys" );
94 } 97 }
95 Opie::Core::OKeyPair::List lst; 98 Opie::Core::OKeyPair::List lst;
96 lst.append( Opie::Core::OKeyPair::upArrowKey() ); 99 lst.append( Opie::Core::OKeyPair::upArrowKey() );
97 lst.append( Opie::Core::OKeyPair::downArrowKey() ); 100 lst.append( Opie::Core::OKeyPair::downArrowKey() );
98 lst.append( Opie::Core::OKeyPair::leftArrowKey() ); 101 lst.append( Opie::Core::OKeyPair::leftArrowKey() );
99 lst.append( Opie::Core::OKeyPair::rightArrowKey() ); 102 lst.append( Opie::Core::OKeyPair::rightArrowKey() );
100 lst.append( Opie::Core::OKeyPair(Qt::Key_Escape,0)); 103 lst.append( Opie::Core::OKeyPair(Qt::Key_Escape,0));
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 5eb065f..6660eb2 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -201,42 +201,36 @@ void PMainWindow::slotConfig() {
201 } 201 }
202 202
203 203
204 if ( act ) { 204 if ( act ) {
205 m_view->resetView(); 205 m_view->resetView();
206 keyWid->save(); 206 keyWid->save();
207 m_disp->manager()->save(); 207 m_disp->manager()->save();
208 m_info->manager()->save(); 208 m_info->manager()->save();
209 m_view->manager()->save(); 209 m_view->manager()->save();
210 bSetup->save_values(); 210 bSetup->save_values();
211 readConfig(); 211 readConfig();
212 } 212 }
213 delete keyWid; 213 delete keyWid;
214 214
215 m_stack->raiseWidget(w); 215 m_stack->raiseWidget(w);
216 if (remdisp) { 216 if (remdisp) {
217 m_disp->disconnect(this, SLOT(slotReturn())); 217 m_disp->hide();
218 m_disp->setDestructiveClose();
219 m_stack->removeWidget(m_disp);
220 m_disp = 0;
221 } 218 }
222 if (reminfo) { 219 if (reminfo) {
223 m_info->disconnect(this, SLOT(slotReturn())); 220 m_info->hide();
224 m_info->setDestructiveClose();
225 m_stack->removeWidget(m_info);
226 m_info = 0;
227 } 221 }
228} 222}
229 223
230/* 224/*
231 * create a new image info component 225 * create a new image info component
232 * and detach the current one 226 * and detach the current one
233 * we will make the other delete on exit 227 * we will make the other delete on exit
234 */ 228 */
235template<class T> 229template<class T>
236void PMainWindow::initT( const char* name, T** ptr, int id) { 230void PMainWindow::initT( const char* name, T** ptr, int id) {
237 if ( *ptr ) { 231 if ( *ptr ) {
238 (*ptr)->disconnect(this, SLOT(slotReturn())); 232 (*ptr)->disconnect(this, SLOT(slotReturn()));
239 (*ptr)->setDestructiveClose(); 233 (*ptr)->setDestructiveClose();
240 m_stack->removeWidget( *ptr ); 234 m_stack->removeWidget( *ptr );
241 } 235 }
242 *ptr = new T(m_cfg, m_stack, name ); 236 *ptr = new T(m_cfg, m_stack, name );
@@ -275,40 +269,35 @@ void PMainWindow::initDisp() {
275 slotFullScreenToggled(m_aFullScreen->isOn()); 269 slotFullScreenToggled(m_aFullScreen->isOn());
276 } 270 }
277} 271}
278 272
279void PMainWindow::slotToggleFullScreen() 273void PMainWindow::slotToggleFullScreen()
280{ 274{
281 bool current = !m_aFullScreen->isOn(); 275 bool current = !m_aFullScreen->isOn();
282 m_aFullScreen->setOn(current); 276 m_aFullScreen->setOn(current);
283} 277}
284 278
285void PMainWindow::slotFullScreenButton(bool current) 279void PMainWindow::slotFullScreenButton(bool current)
286{ 280{
287 if (autoSave) { 281 if (autoSave) {
288 m_cfg->writeEntry("fullscreen",current); 282 m_cfg->writeEntry("fullscreen",current);
289 } 283 }
290 if (!m_disp) return; 284 if (!m_disp) return;
291 285 if (m_disp->isVisible()) {
292 if (m_disp->isHidden()) { 286 setupViewWindow(current, true);
293 /* it must get some setups for switch we can just do if the window is visible.
294 so we must delete the imageview window and re-create it when displaying new
295 image */
296 return;
297 } 287 }
298 setupViewWindow(current, true);
299} 288}
300 289
301void PMainWindow::setupViewWindow(bool current, bool forceDisplay) 290void PMainWindow::setupViewWindow(bool current, bool forceDisplay)
302{ 291{
303 if (!m_disp) return; 292 if (!m_disp) return;
304 if (current) { 293 if (current) {
305 m_disp->setBackgroundColor(black); 294 m_disp->setBackgroundColor(black);
306 m_disp->reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0)); 295 m_disp->reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0));
307 m_disp->setVScrollBarMode(QScrollView::AlwaysOff); 296 m_disp->setVScrollBarMode(QScrollView::AlwaysOff);
308 m_disp->setHScrollBarMode(QScrollView::AlwaysOff); 297 m_disp->setHScrollBarMode(QScrollView::AlwaysOff);
309 m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); 298 m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height());
310 } else { 299 } else {
311 setUpdatesEnabled(false); 300 setUpdatesEnabled(false);
312 if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { 301 if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
313 m_disp->setMinimumSize(QApplication::desktop()->size()/2); 302 m_disp->setMinimumSize(QApplication::desktop()->size()/2);
314 } else { 303 } else {
@@ -356,48 +345,53 @@ void PMainWindow::slotShowInfo( const QString& inf ) {
356 m_info->setPath( inf ); 345 m_info->setPath( inf );
357 if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { 346 if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) {
358 m_aNext->removeFrom(toolBar); 347 m_aNext->removeFrom(toolBar);
359 m_aPrevious->removeFrom(toolBar); 348 m_aPrevious->removeFrom(toolBar);
360 m_aNext->setEnabled(false); 349 m_aNext->setEnabled(false);
361 m_aPrevious->setEnabled(false); 350 m_aPrevious->setEnabled(false);
362 m_aDirUp->setEnabled(false); 351 m_aDirUp->setEnabled(false);
363 m_aShowInfo->setEnabled(false); 352 m_aShowInfo->setEnabled(false);
364 m_aViewfile->setEnabled(true); 353 m_aViewfile->setEnabled(true);
365 m_aStartSlide->setEnabled(false); 354 m_aStartSlide->setEnabled(false);
366 fsButton->hide(); 355 fsButton->hide();
367 } 356 }
368 m_stack->raiseWidget( ImageInfo ); 357 m_stack->raiseWidget( ImageInfo );
369} 358}
370 359
371void PMainWindow::slotDisplay( const QString& inf ) { 360void PMainWindow::slotDisplay( const QString& inf ) {
361 bool nwindow = false;
372 if ( !m_disp ) { 362 if ( !m_disp ) {
363 nwindow = true;
373 initDisp(); 364 initDisp();
374 } 365 }
375 m_disp->setImage( inf ); 366 m_disp->setImage( inf );
376 if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { 367 if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) {
377 if (m_gPrevNext->isEnabled()==false) { 368 if (m_gPrevNext->isEnabled()==false) {
378 m_gPrevNext->addTo(toolBar); 369 m_gPrevNext->addTo(toolBar);
379 m_gPrevNext->setEnabled(true); 370 m_gPrevNext->setEnabled(true);
380 371
381 m_aDirUp->setEnabled(false); 372 m_aDirUp->setEnabled(false);
382 m_aShowInfo->setEnabled(true); 373 m_aShowInfo->setEnabled(true);
383 m_aViewfile->setEnabled(false); 374 m_aViewfile->setEnabled(false);
384 m_aStartSlide->setEnabled(false); 375 m_aStartSlide->setEnabled(false);
385 fsButton->hide(); 376 fsButton->hide();
386 } 377 }
387 } 378 }
379 if (!nwindow && m_disp->fullScreen()!=m_aFullScreen->isOn()) {
380 slotFullScreenToggled(m_aFullScreen->isOn());
381 }
388 if (m_disp->fullScreen()) { 382 if (m_disp->fullScreen()) {
389 qwsDisplay()->requestFocus( m_disp->winId(), TRUE); 383 qwsDisplay()->requestFocus( m_disp->winId(), TRUE);
390 } else { 384 } else {
391 m_stack->raiseWidget( ImageDisplay ); 385 m_stack->raiseWidget( ImageDisplay );
392 } 386 }
393} 387}
394 388
395void PMainWindow::raiseIconView() { 389void PMainWindow::raiseIconView() {
396 setUpdatesEnabled(false); 390 setUpdatesEnabled(false);
397 if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { 391 if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) {
398 m_gPrevNext->removeFrom(toolBar); 392 m_gPrevNext->removeFrom(toolBar);
399 m_gPrevNext->setEnabled(false); 393 m_gPrevNext->setEnabled(false);
400 m_aDirUp->setEnabled(true); 394 m_aDirUp->setEnabled(true);
401 m_aShowInfo->setEnabled(true); 395 m_aShowInfo->setEnabled(true);
402 m_aViewfile->setEnabled(true); 396 m_aViewfile->setEnabled(true);
403 m_aStartSlide->setEnabled(true); 397 m_aStartSlide->setEnabled(true);