summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/mainwindow.cpp
Side-by-side diff
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.cpp68
1 files changed, 68 insertions, 0 deletions
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
@@ -10,40 +10,43 @@
#include "imageinfoui.h"
#include "viewmodebutton.h"
#include "basesetup.h"
#include <iface/ifaceinfo.h>
#include <iface/dirview.h>
#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>
#include <qtoolbar.h>
#include <qtoolbutton.h>
#include <qlayout.h>
#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 )
{
setCaption( QObject::tr("Opie Eye" ) );
m_cfg = new Opie::Core::OConfig("opie-eye");
m_cfg->setGroup("main" );
readConfig();
m_setDocCalled = false;
@@ -217,24 +220,27 @@ void PMainWindow::slotConfig() {
m_view->resetView();
readConfig();
}
delete keyWid;
m_stack->raiseWidget(w);
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
*/
template<class T>
void PMainWindow::initT( const char* name, T** ptr, int id) {
if ( *ptr ) {
(*ptr)->disconnect(this, SLOT(slotReturn()));
(*ptr)->setDestructiveClose();
@@ -360,29 +366,47 @@ void PMainWindow::slotShowInfo( const QString& inf ) {
}
m_aNext->setEnabled(false);
m_aPrevious->setEnabled(false);
m_aDirUp->setEnabled(false);
m_aShowInfo->setEnabled(false);
m_aViewfile->setEnabled(true);
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();
}
}
m_gPrevNext->setEnabled(true);
m_aDirUp->setEnabled(false);
m_aShowInfo->setEnabled(true);
m_aViewfile->setEnabled(false);
m_aStartSlide->setEnabled(false);
@@ -621,24 +645,37 @@ void PMainWindow::setupActions()
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()));
+}
+
+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);
toolBar->setHorizontalStretchable( true );
setToolBarsMovable( false );
m_aDirUp->addTo( toolBar );
fsButton = new PFileSystem( toolBar );
connect( fsButton, SIGNAL( changeDir( const QString& ) ),
@@ -689,24 +726,26 @@ void PMainWindow::setupMenu()
}
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);
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;
@@ -716,24 +755,25 @@ void PMainWindow::listviewselected(QAction*which)
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 {
@@ -755,12 +795,40 @@ 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;
+}