Diffstat (limited to 'noncore/graphics/opie-eye/gui/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index 4ee252f..3efbb53 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp @@ -460,374 +460,381 @@ void PMainWindow::closeEvent( QCloseEvent* ev ) { void PMainWindow::setDocument( const QString& showImg ) { QString file = showImg; DocLnk lnk(showImg); if (lnk.isValid() ) file = lnk.file(); slotDisplay( file ); #if 0 if (!m_polishDone) { QTimer::singleShot(0,this,SLOT(check_view_fullscreen())); } #endif } void PMainWindow::check_view_fullscreen() { if (!m_view) return; if (!m_view->hasFocus()&&m_aFullScreen->isOn()) { qwsDisplay()->requestFocus( m_disp->winId(), TRUE); } } void PMainWindow::slotSelectDir(int id) { emit changeDir( m_dev[fsMenu->text(id )] ); } void PMainWindow::dirChanged() { fsMenu->clear(); m_dev.clear(); /* home dir, too */ QString f = getenv( "HOME" ); if (!f.isEmpty()) { m_dev.insert("Home directory",f); fsMenu->insertItem("Home directory"); } const QList<FileSystem> &fs = m_storage->fileSystems(); QListIterator<FileSystem> it(fs ); for ( ; it.current(); ++it ) { const QString disk = (*it)->name(); const QString path = (*it)->path(); m_dev.insert( disk, path ); fsMenu->insertItem( disk ); } } void PMainWindow::showToolbar(bool how) { if (!how) toolBar->hide(); else toolBar->show(); if (autoSave) { m_cfg->writeEntry("showtoolbar",how); } } void PMainWindow::setupActions() { m_aDirUp = new QAction( tr( "Go dir up" ), Resource::loadIconSet( "up" ), 0, 0, this, 0, true ); m_aDirUp->setToggleAction(false); connect(m_aDirUp,SIGNAL(activated()),m_view,SLOT(slotDirUp())); if ( Ir::supported() ) { m_aBeam = new QAction( tr( "Beam file" ), Resource::loadIconSet( "beam" ),0, 0, this, 0, true ); m_aBeam->setToggleAction(false); connect(m_aBeam,SIGNAL(activated()),m_view,SLOT(slotBeam())); } else { m_aBeam = 0; } m_aShowInfo = new QAction( tr( "Show imageinfo" ), Resource::loadIconSet( "edit" ), 0, 0, this, 0, true ); m_aShowInfo->setToggleAction(false); connect(m_aShowInfo,SIGNAL(activated()),m_view,SLOT(slotImageInfo())); m_aTrash = new QAction( tr( "Delete file" ), Resource::loadIconSet("trash"), 0, 0, this, 0, true ); m_aTrash->setToggleAction(false); connect(m_aTrash,SIGNAL(activated()),m_view,SLOT(slotTrash())); m_aViewfile = new QAction( tr( "Display image" ), Resource::loadIconSet("mag"), 0, 0, this, 0, true ); m_aViewfile->setToggleAction(false); connect(m_aViewfile,SIGNAL(activated()),m_view,SLOT(slotShowImage())); m_aStartSlide = new QAction( tr( "Start slideshow" ), Resource::loadIconSet("play"),0, 0, this, 0, true ); m_aStartSlide->setToggleAction(false); connect(m_aStartSlide,SIGNAL(activated()),m_view,SLOT(slotStartSlide())); m_aHideToolbar = new QAction( tr( "Show toolbar" ), Resource::loadIconSet( "UtilsIcon" ), 0, 0, this, 0, true ); m_aHideToolbar->setOn (true); connect(m_aHideToolbar,SIGNAL(toggled(bool)),this,SLOT(showToolbar(bool))); m_aSetup = new QAction( tr( "Settings" ), Resource::loadIconSet("SettingsIcon"), 0, 0, this, 0, true ); m_aSetup->setToggleAction(false); connect(m_aSetup,SIGNAL(activated()),this,SLOT(slotConfig())); m_gListViewMode = new QActionGroup(this,"Select listmode",true); connect(m_gListViewMode,SIGNAL(selected(QAction*)),this,SLOT(listviewselected(QAction*))); m_aDirLong = new QAction( tr( "Thumbnail and Imageinfo" ),Resource::loadIconSet("opie-eye/opie-eye-thumb"), 0, 0, this, 0, true ); m_aDirLong->setToggleAction(true); m_aDirShort = new QAction( tr( "Thumbnail and name" ),Resource::loadIconSet("opie-eye/opie-eye-thumbonly"), 0, 0, this, 0, true ); m_aDirShort->setToggleAction(true); m_aDirName = new QAction( tr( "Name only" ), Resource::loadIconSet("opie-eye/opie-eye-textview"),0, 0, this, 0, true ); m_aDirName->setToggleAction(true); int mode = m_cfg->readNumEntry("ListViewMode", 1); if (mode < 1 || mode>3) mode = 1; switch (mode) { case 3: m_aDirName->setOn(true); break; case 2: m_aDirShort->setOn(true); break; case 1: default: m_aDirLong->setOn(true); } m_gListViewMode->insert(m_aDirLong); m_gListViewMode->insert(m_aDirShort); m_gListViewMode->insert(m_aDirName); m_gPrevNext = new QActionGroup(this,"imageprevnext",false); m_aNext = new QAction( tr( "Next image" ), Resource::loadIconSet("forward"), 0, 0, this, 0, true ); m_aNext->setToggleAction(false); connect(m_aNext,SIGNAL(activated()),m_view,SLOT(slotShowNext())); m_aPrevious = new QAction( tr( "Previous image" ), Resource::loadIconSet("back"), 0, 0, this, 0, true ); m_aPrevious->setToggleAction(false); connect(m_aPrevious,SIGNAL(activated()),m_view,SLOT(slotShowPrev())); m_gPrevNext->insert(m_aPrevious); m_gPrevNext->insert(m_aNext); m_aFullScreen = new QAction( tr( "Show images fullscreen" ), Resource::loadIconSet("fullscreen"), 0, 0, this, 0, true ); m_aFullScreen->setToggleAction(true); if (autoSave) { m_aFullScreen->setOn(m_cfg->readBoolEntry("fullscreen",false)); } else { m_aFullScreen->setOn(false); } connect(m_aFullScreen,SIGNAL(toggled(bool)),this,SLOT(slotFullScreenButton(bool))); m_gDisplayType = new QActionGroup(this,"imagedisplaytype",false); m_aAutoRotate = new QAction( tr( "Auto rotate images" ), Resource::loadIconSet( "rotate" ), 0, 0, this, 0, true ); m_aAutoRotate->setToggleAction(true); if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { m_aAutoRotate->setOn(true); } else { m_aAutoRotate->setOn(false); } if (autoSave) { m_aAutoRotate->setOn(m_cfg->readBoolEntry("autorotate",m_aAutoRotate->isOn())); } connect(m_aAutoRotate,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool))); m_aUnscaled = new QAction( tr( "Show images unscaled" ), Resource::loadIconSet( "1to1" ), 0, 0, this, 0, true ); m_aUnscaled->setToggleAction(true); connect(m_aUnscaled,SIGNAL(toggled(bool)),this,SLOT(slotScaleToggled(bool))); if (autoSave) { m_aUnscaled->setOn(m_cfg->readBoolEntry("unscaled",false)); } else { m_aUnscaled->setOn(false); } m_aZoomer = new QAction( tr( "Show zoomer window when unscaled" ), Resource::loadIconSet( "mag" ), 0, 0, this, 0, true ); m_aZoomer->setToggleAction(true); if (autoSave) { m_aZoomer->setOn(m_cfg->readBoolEntry("zoomeron",true)); } else { m_aZoomer->setOn (true); } connect(m_aZoomer,SIGNAL(toggled(bool)),this,SLOT(slotZoomerToggled(bool))); m_gDisplayType->insert(m_aAutoRotate); m_gDisplayType->insert(m_aUnscaled); m_gDisplayType->insert(m_aZoomer); m_hGroup = new QActionGroup(this,"actioncollection",false); m_hGroup->insert(m_aFullScreen); if (!m_SmallWindow) { m_aForceSmall = new QAction(tr("Dont show seperate windows"),Resource::loadIconSet( "AppsIcon" ), 0, 0, this, 0, true); m_aForceSmall->setToggleAction(true); connect(m_aForceSmall,SIGNAL(toggled(bool)),this,SLOT(slotForceSmall(bool))); } else { m_aForceSmall = 0; } m_setCurrentBrightness = new QAction(tr("Display brightness..."), 0, 0, this, 0, false); connect(m_setCurrentBrightness,SIGNAL(activated()),this,SLOT(setupBrightness())); m_IncBrightness = new QAction(tr("Increase brightness by 5"),Resource::loadIconSet( "up" ),0, 0, this, 0, false); m_DecBrightness = new QAction(tr("Decrease brightness by 5"),Resource::loadIconSet( "down" ),0, 0, this, 0, false); m_hBright = new QActionGroup(this,"actioncollection",false), + m_hBright->insert(m_setCurrentBrightness); m_hBright->insert(m_IncBrightness); m_hBright->insert(m_DecBrightness); } void PMainWindow::setupBrightness() { if (!m_disp) { return; } + bool reshow=false; + if (m_disp->isVisible()&&m_disp->fullScreen()) { + m_disp->hide(); + reshow = true; + } int lb = m_disp->Intensity(); if (Valuebox(0,-100,100,lb,lb)) { m_disp->setIntensity(lb,true); } + if (reshow) { + m_disp->showFullScreen(); + qwsDisplay()->requestFocus( m_disp->winId(), TRUE); + } } void PMainWindow::setupToolbar() { toolBar = new QToolBar( this ); addToolBar(toolBar); toolBar->setHorizontalStretchable( true ); setToolBarsMovable( false ); m_aDirUp->addTo( toolBar ); fsButton = new PFileSystem( toolBar ); connect( fsButton, SIGNAL( changeDir( const QString& ) ), m_view, SLOT(slotChangeDir( const QString& ) ) ); connect( this, SIGNAL( changeDir( const QString& ) ), m_view, SLOT(slotChangeDir( const QString& ) ) ); if (m_aBeam) { m_aBeam->addTo( toolBar ); } m_aShowInfo->addTo(toolBar); m_aTrash->addTo(toolBar); -// m_aSetup->addTo(toolBar); m_gDisplayType->addTo(toolBar); if (!m_SmallWindow) { m_gPrevNext->addTo(toolBar); } else { m_gPrevNext->setEnabled(false); } } void PMainWindow::setupMenu() { fileMenu = new QPopupMenu( menuBar() ); menuBar()->insertItem( tr( "File" ), fileMenu ); dispMenu = new QPopupMenu( menuBar() ); menuBar()->insertItem( tr( "Show" ), dispMenu ); settingsMenu = new QPopupMenu( menuBar() ); menuBar()->insertItem( tr( "Settings" ), settingsMenu ); m_aViewfile->addTo(fileMenu); m_aShowInfo->addTo(fileMenu); m_aStartSlide->addTo(fileMenu); fileMenu->insertSeparator(); m_aDirUp->addTo( fileMenu ); fsMenu = new QPopupMenu(fileMenu); fileMenu->insertItem(Resource::loadIconSet( "cardmon/pcmcia" ),tr("Select filesystem"),fsMenu); connect( fsMenu, SIGNAL( activated( int ) ), this, SLOT(slotSelectDir( int ) ) ); dirChanged(); if ( m_aBeam ) { fileMenu->insertSeparator(); m_aBeam->addTo( fileMenu ); } fileMenu->insertSeparator(); m_aTrash->addTo(fileMenu); listviewMenu = new QPopupMenu(dispMenu); dispMenu->insertItem(Resource::loadIconSet("opie-eye/opie-eye-thumb"),tr("Listview mode"),listviewMenu); m_gListViewMode->addTo(listviewMenu); dispMenu->insertSeparator(); m_aFullScreen->addTo(dispMenu); m_gDisplayType->addTo(dispMenu); dispMenu->insertSeparator(); m_gPrevNext->addTo(dispMenu); - m_setCurrentBrightness->addTo(dispMenu); - m_setCurrentBrightness->setEnabled(false); dispMenu->insertSeparator(); m_hBright->addTo(dispMenu); m_hBright->setEnabled(false); if (m_aForceSmall) { dispMenu->insertSeparator(); m_aForceSmall->addTo(dispMenu); } m_aSetup->addTo(settingsMenu); m_aHideToolbar->addTo(settingsMenu); } void PMainWindow::listviewselected(QAction*which) { if (!which || which->isOn()==false) return; int val = 1; if (which==m_aDirName) { val = 3; } else if (which==m_aDirShort) { val = 2; } else if (which==m_aDirLong) { val = 1; } emit changeListMode(val); } void PMainWindow::readConfig() { autoSave =m_cfg->readBoolEntry("savestatus",true); m_Intensity = m_cfg->readNumEntry("intensity",0); } void PMainWindow::polish() { if (m_disp) { odebug << "======================\n" << "Called via setdocument\n" << "======================" << oendl; m_setDocCalled = true; m_view->setDoccalled(true); m_disp->setCloseIfHide(true); } else { m_setDocCalled = false; m_view->setDoccalled(false); } m_polishDone = true; QMainWindow::polish(); if (m_setDocCalled) { if (m_aFullScreen->isOn()) { QTimer::singleShot(0,this,SLOT(check_view_fullscreen())); } else if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { } } } void PMainWindow::slotForceSmall(bool how) { odebug << "Disable separate windows: " << how << oendl; if (m_stack) { if (how) { m_stack->forceMode(Opie::Ui::OWidgetStack::SmallScreen); } else { m_stack->forceMode(Opie::Ui::OWidgetStack::NoForce); } } if (autoSave) { m_cfg->writeEntry("dontshowseperate",how); } } bool PMainWindow::Valuebox(QWidget*parent,int min, int max, int current,int&store) { QDialog dlg(parent,"brightnessbox",true); QVBoxLayout * m_MainLayout; QGridLayout * m_IntensityLayout; QSpinBox * m_Intensity; QLabel * m_IntensityLabel; m_MainLayout = new QVBoxLayout( &dlg, 11, 6, "m_MainLayout"); m_IntensityLayout = new QGridLayout( 0, 1, 1, 0, 6, "m_IntensityLayout"); m_Intensity = new QSpinBox( &dlg, "m_Intensity" ); m_Intensity->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Fixed)); m_Intensity->setButtonSymbols( QSpinBox::PlusMinus ); m_Intensity->setMaxValue( max ); m_Intensity->setMinValue(min); m_Intensity->setValue( current ); m_IntensityLayout->addWidget( m_Intensity, 0, 1 ); m_IntensityLabel = new QLabel( &dlg, "m_IntensityLabel" ); m_IntensityLabel->setText(QObject::tr("Display brightness:")); m_IntensityLayout->addWidget(m_IntensityLabel, 0, 0 ); m_MainLayout->addLayout(m_IntensityLayout); if (dlg.exec()) { store = m_Intensity->value(); return true; } return false; } |