author | alwin <alwin> | 2005-03-22 22:18:58 (UTC) |
---|---|---|
committer | alwin <alwin> | 2005-03-22 22:18:58 (UTC) |
commit | d7b39880bb7de4908e8a1239d37bb48d83c4a0ba (patch) (side-by-side diff) | |
tree | 64ffc1750d149f52c1c48c676f7ecc29cc442b23 | |
parent | 31035d399edaaaff64976705fd44468b6357c863 (diff) | |
download | opie-d7b39880bb7de4908e8a1239d37bb48d83c4a0ba.zip opie-d7b39880bb7de4908e8a1239d37bb48d83c4a0ba.tar.gz opie-d7b39880bb7de4908e8a1239d37bb48d83c4a0ba.tar.bz2 |
-fixed some strange display bugs depending of switch to qte 2.3.10
-inserted the missed (and asked for) feature setting a display brightness
on the fly.
Known Bugs left: When starting with setting a document the image will not
displayed if too large. It is since switch to qte 2.3.10 eg. seems to be
a timing problem when loading cost too much time. I have no idea how to fix
it this moment.
-rw-r--r-- | noncore/graphics/opie-eye/gui/basesetup.cpp | 19 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/basesetup.h | 5 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 68 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.h | 5 |
4 files changed, 95 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/gui/basesetup.cpp b/noncore/graphics/opie-eye/gui/basesetup.cpp index fdf3466..b0fefbf 100644 --- a/noncore/graphics/opie-eye/gui/basesetup.cpp +++ b/noncore/graphics/opie-eye/gui/basesetup.cpp @@ -11,12 +11,13 @@ BaseSetup::BaseSetup(Opie::Core::OConfig *a_cfg,QWidget * parent, const char * n setFrameStyle(Box|Raised); m_cfg = a_cfg; m_MainLayout = new QVBoxLayout( this, 11, 6, "m_MainLayout"); m_SlidetimeLayout = new QGridLayout( 0, 1, 1, 0, 6, "m_SlidetimeLayout"); m_IconsizeLayout = new QGridLayout( 0, 1, 1, 0, 6, "m_IconsizeLayout"); + m_IntensityLayout = new QGridLayout( 0, 1, 1, 0, 6, "m_IntensityLayout"); m_SlideShowTime = new QSpinBox( this, "m_SlideShowTime" ); m_SlideShowTime->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Fixed)); m_SlideShowTime->setButtonSymbols( QSpinBox::PlusMinus ); m_SlideShowTime->setMaxValue( 60 ); m_SlideShowTime->setMinValue(0); @@ -30,22 +31,33 @@ BaseSetup::BaseSetup(Opie::Core::OConfig *a_cfg,QWidget * parent, const char * n m_SlidetimeLayout->addWidget( m_SlidetimeLabel, 0, 0 ); m_MainLayout->addLayout( m_SlidetimeLayout ); m_Iconsize = new QSpinBox( this, "m_Iconsize" ); m_Iconsize->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Fixed)); m_Iconsize->setButtonSymbols( QSpinBox::PlusMinus ); - m_Iconsize->setMaxValue( 64 ); + m_Iconsize->setMaxValue( 128 ); m_Iconsize->setMinValue(12); m_Iconsize->setValue( 32 ); m_Iconsize->setSuffix(tr(" pixel")); m_IconsizeLayout->addWidget( m_Iconsize, 0, 1 ); m_IconsizeLabel = new QLabel( this, "m_IconsizeLabel" ); m_IconsizeLabel->setText(tr("Size of thumbnails:")); m_IconsizeLayout->addWidget( m_IconsizeLabel, 0, 0 ); m_MainLayout->addLayout(m_IconsizeLayout); + m_Intensity = new QSpinBox( this, "m_Intensity" ); + m_Intensity->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Fixed)); + m_Intensity->setButtonSymbols( QSpinBox::PlusMinus ); + m_Intensity->setMaxValue( 255 ); + m_Intensity->setMinValue(-255); + m_Intensity->setValue( 0 ); + m_IntensityLayout->addWidget( m_Intensity, 0, 1 ); + m_IntensityLabel = new QLabel( this, "m_IntensityLabel" ); + m_IntensityLabel->setText(tr("Default display brightness:")); + m_IntensityLayout->addWidget(m_IntensityLabel, 0, 0 ); + m_MainLayout->addLayout(m_IntensityLayout); #if 0 m_ShowToolBar = new QCheckBox( this, "m_ShowToolBar" ); m_ShowToolBar->setText(tr("Show toolbar on startup")); m_MainLayout->addWidget( m_ShowToolBar ); #endif @@ -62,19 +74,24 @@ BaseSetup::BaseSetup(Opie::Core::OConfig *a_cfg,QWidget * parent, const char * n m_SlideShowTime->setValue(stime); m_SaveStateAuto->setChecked(m_cfg->readBoolEntry("savestatus",true)); stime = m_cfg->readNumEntry("iconsize", 32); if (stime<12)stime = 12; if (stime>64)stime = 64; m_Iconsize->setValue(stime); + stime = m_cfg->readNumEntry("intensity",0); + if (stime<-255) stime = -255; + if (stime>255) stime = 255; + m_Intensity->setValue(stime); } BaseSetup::~BaseSetup() { } void BaseSetup::save_values() { if (!m_cfg) return; m_cfg->writeEntry("slideshowtimeout",m_SlideShowTime->value()); m_cfg->writeEntry("savestatus",m_SaveStateAuto->isChecked()); m_cfg->writeEntry("iconsize",m_Iconsize->value()); + m_cfg->writeEntry("intensity",m_Intensity->value()); } diff --git a/noncore/graphics/opie-eye/gui/basesetup.h b/noncore/graphics/opie-eye/gui/basesetup.h index 95929f2..cda6777 100644 --- a/noncore/graphics/opie-eye/gui/basesetup.h +++ b/noncore/graphics/opie-eye/gui/basesetup.h @@ -30,9 +30,14 @@ protected: QLabel * m_SlidetimeLabel; QCheckBox *m_SaveStateAuto; QSpacerItem *spacer1; QGridLayout * m_IconsizeLayout; QSpinBox * m_Iconsize; QLabel * m_IconsizeLabel; + + QGridLayout * m_IntensityLayout; + QSpinBox * m_Intensity; + QLabel * m_IntensityLabel; + }; #endif diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index e532867..3a89dfd 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp @@ -16,12 +16,14 @@ #include <opie2/odebug.h> #include <opie2/owidgetstack.h> #include <opie2/oapplicationfactory.h> #include <opie2/otabwidget.h> #include <opie2/okeyconfigwidget.h> +#include <opie2/owait.h> +#include <opie2/oapplication.h> #include <qpe/resource.h> #include <qpe/config.h> #include <qpe/ir.h> #include <qpe/storage.h> #include <qpe/applnk.h> @@ -32,12 +34,13 @@ #include <qdialog.h> #include <qmap.h> #include <qtimer.h> #include <qframe.h> #include <qmenubar.h> #include <qaction.h> +#include <qspinbox.h> //OPIE_EXPORT_APP_V2( Opie::Core::OApplicationFactory<PMainWindow>,"Opie Eye" ) OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<PMainWindow>) PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) : QMainWindow( wid, name, style ), m_info( 0 ), m_disp( 0 ) @@ -223,12 +226,15 @@ void PMainWindow::slotConfig() { if (remdisp) { m_disp->hide(); } if (reminfo) { m_info->hide(); } + if (m_disp) { + m_disp->setIntensity(m_Intensity,true); + } } /* * create a new image info component * and detach the current one * we will make the other delete on exit @@ -366,17 +372,35 @@ void PMainWindow::slotShowInfo( const QString& inf ) { m_aStartSlide->setEnabled(false); m_stack->raiseWidget( ImageInfo ); } void PMainWindow::slotDisplay( const QString& inf ) { bool nwindow = false; + bool disp_hack = false; + int lb; + if (m_disp && m_disp->fullScreen()) { + lb = m_disp->Intensity(); + delete m_disp; + m_disp = 0; + + disp_hack = true; + } if ( !m_disp ) { nwindow = true; initDisp(); + m_disp->setIntensity((disp_hack?lb:m_Intensity)); } + m_setCurrentBrightness->setEnabled(true); + + Opie::Ui::OWait wdlg; + wdlg.setTimerLength(30); + wdlg.show(); + //qApp->processEvents(20); m_disp->setImage( inf ); + wdlg.hide(); + //qApp->processEvents(20); if (m_SmallWindow) { if (m_gPrevNext->isEnabled()==false) { m_gPrevNext->addTo(toolBar); fsButton->hide(); } } @@ -627,12 +651,25 @@ void PMainWindow::setupActions() 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())); +} + +void PMainWindow::setupBrightness() +{ + if (!m_disp) { + return; + } + int lb = m_disp->Intensity(); + if (Valuebox(0,-255,255,lb,lb)) { + m_disp->setIntensity(lb,true); + } } void PMainWindow::setupToolbar() { toolBar = new QToolBar( this ); addToolBar(toolBar); @@ -695,12 +732,14 @@ void PMainWindow::setupMenu() 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); if (m_aForceSmall) { dispMenu->insertSeparator(); m_aForceSmall->addTo(dispMenu); } m_aSetup->addTo(settingsMenu); @@ -722,12 +761,13 @@ void PMainWindow::listviewselected(QAction*which) 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" @@ -761,6 +801,34 @@ void PMainWindow::slotForceSmall(bool how) } } 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; +} diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h index a49a9d3..62b446b 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.h +++ b/noncore/graphics/opie-eye/gui/mainwindow.h @@ -64,12 +64,13 @@ protected slots: void raiseIconView(); void closeEvent( QCloseEvent* ); void showToolbar(bool); void listviewselected(QAction*); void slotFullScreenButton(bool); void check_view_fullscreen(); + virtual void setupBrightness(); private: template<class T> void initT( const char* name, T**, int ); void initInfo(); void initDisp(); void setupViewWindow(bool full, bool forceDisplay); @@ -81,29 +82,31 @@ private: imageinfo *m_info; ImageView *m_disp; bool autoSave:1; bool m_setDocCalled:1; bool m_polishDone:1; bool m_SmallWindow:1; + int m_Intensity; QToolButton*fsButton; QToolBar *toolBar; QPopupMenu *fileMenu,*dispMenu,*fsMenu,*listviewMenu,*settingsMenu; QAction*m_aShowInfo,*m_aBeam,*m_aTrash,*m_aViewfile,*m_aDirUp,*m_aStartSlide; QAction*m_aHideToolbar,*m_aSetup,*m_aDirName,*m_aDirShort,*m_aDirLong; QActionGroup *m_gListViewMode,*m_gDisplayType,*m_gPrevNext,*m_hGroup; QAction *m_aNext,*m_aPrevious,*m_aFullScreen; - QAction *m_aAutoRotate,*m_aUnscaled,*m_aZoomer,*m_aForceSmall; + QAction *m_aAutoRotate,*m_aUnscaled,*m_aZoomer,*m_aForceSmall,*m_setCurrentBrightness; /* init funs */ void readConfig(); void setupActions(); void setupToolbar(); void setupMenu(); /* for the device submenu - ToDo: Merge with the special button */ StorageInfo *m_storage; QMap<QString, QString> m_dev; + static bool Valuebox(QWidget*parent,int min, int max, int current,int&store); private slots: void slotConfig(); void slotSelectDir(int); void dirChanged(); void slotForceSmall(bool); |