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 @@ -13,8 +13,9 @@ BaseSetup::BaseSetup(Opie::Core::OConfig *a_cfg,QWidget * parent, const char * n 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 ); @@ -32,9 +33,9 @@ BaseSetup::BaseSetup(Opie::Core::OConfig *a_cfg,QWidget * parent, const char * n 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 ); @@ -42,8 +43,19 @@ BaseSetup::BaseSetup(Opie::Core::OConfig *a_cfg,QWidget * parent, const char * n 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")); @@ -64,8 +76,12 @@ BaseSetup::BaseSetup(Opie::Core::OConfig *a_cfg,QWidget * parent, const char * n 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() { @@ -76,5 +92,6 @@ 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 @@ -32,7 +32,12 @@ protected: 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 @@ -18,8 +18,10 @@ #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> @@ -34,8 +36,9 @@ #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>) @@ -225,8 +228,11 @@ void PMainWindow::slotConfig() { } if (reminfo) { m_info->hide(); } + if (m_disp) { + m_disp->setIntensity(m_Intensity,true); + } } /* * create a new image info component @@ -368,13 +374,31 @@ void PMainWindow::slotShowInfo( const QString& inf ) { } 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(); @@ -629,8 +653,21 @@ void PMainWindow::setupActions() 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() { @@ -697,8 +734,10 @@ void PMainWindow::setupMenu() 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); } @@ -724,8 +763,9 @@ void PMainWindow::listviewselected(QAction*which) void PMainWindow::readConfig() { autoSave =m_cfg->readBoolEntry("savestatus",true); + m_Intensity = m_cfg->readNumEntry("intensity",0); } void PMainWindow::polish() { @@ -763,4 +803,32 @@ 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 @@ -66,8 +66,9 @@ protected slots: 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(); @@ -83,16 +84,17 @@ private: 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(); @@ -100,8 +102,9 @@ private: 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); |