summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp85
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.h6
2 files changed, 61 insertions, 30 deletions
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 90e2e99..a96bfbd 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -43,16 +43,17 @@ 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;
m_polishDone = false;
+ m_SmallWindow = QApplication::desktop()->size().width()<330;
m_storage = new StorageInfo();
connect(m_storage, SIGNAL(disksChanged() ),
this, SLOT( dirChanged() ) );
m_stack = new Opie::Ui::OWidgetStack( this );
setCentralWidget( m_stack );
@@ -70,16 +71,19 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
listviewMenu = 0;
/* setup menu and toolbar */
setupActions();
setupToolbar();
setupMenu();
m_aHideToolbar->setOn(m_cfg->readBoolEntry("showtoolbar",true));
m_aAutoRotate->setEnabled(!m_aUnscaled->isOn());
+ if (m_aForceSmall) {
+ m_aForceSmall->setOn(m_cfg->readBoolEntry("dontshowseperate",true));
+ }
odebug << "mainwindow constructor done" << oendl;
}
PMainWindow::~PMainWindow() {
}
void PMainWindow::slotToggleZoomer()
{
@@ -249,19 +253,19 @@ void PMainWindow::initT( const char* name, T** ptr, int id) {
void PMainWindow::initInfo() {
initT<imageinfo>( "Image Info", &m_info, ImageInfo );
connect(m_info,SIGNAL(dispImage(const QString&)),this,SLOT(slotDisplay(const QString&)));
}
void PMainWindow::initDisp() {
initT<ImageView>( "Image ScrollView", &m_disp, ImageDisplay );
if (m_disp) {
- if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
+// if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
//m_disp->setMinimumSize(QApplication::desktop()->size()/2);
- }
+// }
m_disp->setMenuActions(m_hGroup,m_gPrevNext,m_gDisplayType);
m_disp->setAutoScale(!m_aUnscaled->isOn());
m_disp->setAutoRotate(m_aAutoRotate->isOn());
m_disp->setShowZoomer(m_aZoomer->isOn());
m_disp->setBackgroundColor(white);
connect(m_disp,SIGNAL(dispImageInfo(const QString&)),this,SLOT(slotShowInfo(const QString&)));
connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext()));
connect(m_disp,SIGNAL(dispPrev()),m_view,SLOT(slotShowPrev()));
@@ -301,27 +305,24 @@ void PMainWindow::setupViewWindow(bool current, bool forceDisplay)
m_disp->setBackgroundColor(black);
m_disp->reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0));
m_disp->setVScrollBarMode(QScrollView::AlwaysOff);
m_disp->setHScrollBarMode(QScrollView::AlwaysOff);
m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height());
m_disp->setFullScreen(current,forceDisplay);
} else {
setUpdatesEnabled(false);
+#if 0
if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
//m_disp->setMinimumSize(QApplication::desktop()->size()/2);
} else {
//m_disp->setMinimumSize(10,10);
}
- if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
- m_disp->reparent(0,QPoint(10,10));
- } else {
- m_disp->reparent(0,QPoint(0,0));
- }
+#endif
m_disp->setBackgroundColor(white);
m_stack->addWidget(m_disp,ImageDisplay);
m_disp->setVScrollBarMode(QScrollView::Auto);
m_disp->setHScrollBarMode(QScrollView::Auto);
if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
m_disp->setGeometry(30,30,QApplication::desktop()->width()-60,QApplication::desktop()->height()-60);
}
if (forceDisplay || m_disp->isVisible()) {
@@ -349,70 +350,71 @@ void PMainWindow::slotFullScreenToggled(bool current)
void PMainWindow::slotShowInfo( const QString& inf ) {
if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) {
return;
}
if ( !m_info ) {
initInfo();
}
m_info->setPath( inf );
- if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) {
+ if (m_SmallWindow) {
m_aNext->removeFrom(toolBar);
m_aPrevious->removeFrom(toolBar);
- m_aNext->setEnabled(false);
- m_aPrevious->setEnabled(false);
- m_aDirUp->setEnabled(false);
- m_aShowInfo->setEnabled(false);
- m_aViewfile->setEnabled(true);
- m_aStartSlide->setEnabled(false);
fsButton->hide();
}
+ 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;
if ( !m_disp ) {
nwindow = true;
initDisp();
}
m_disp->setImage( inf );
- if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) {
+ if (m_SmallWindow) {
if (m_gPrevNext->isEnabled()==false) {
m_gPrevNext->addTo(toolBar);
- m_gPrevNext->setEnabled(true);
-
- m_aDirUp->setEnabled(false);
- m_aShowInfo->setEnabled(true);
- m_aViewfile->setEnabled(false);
- m_aStartSlide->setEnabled(false);
fsButton->hide();
}
}
+ m_gPrevNext->setEnabled(true);
+ m_aDirUp->setEnabled(false);
+ m_aShowInfo->setEnabled(true);
+ m_aViewfile->setEnabled(false);
+ m_aStartSlide->setEnabled(false);
+
if (!nwindow && m_disp->fullScreen()!=m_aFullScreen->isOn()) {
slotFullScreenToggled(m_aFullScreen->isOn());
}
if (m_disp->fullScreen()) {
qwsDisplay()->requestFocus( m_disp->winId(), TRUE);
} else {
m_stack->raiseWidget( ImageDisplay );
}
}
void PMainWindow::raiseIconView() {
setUpdatesEnabled(false);
- if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) {
+ if (m_SmallWindow) {
m_gPrevNext->removeFrom(toolBar);
- m_gPrevNext->setEnabled(false);
- m_aDirUp->setEnabled(true);
- m_aShowInfo->setEnabled(true);
- m_aViewfile->setEnabled(true);
- m_aStartSlide->setEnabled(true);
fsButton->show();
}
+ m_gPrevNext->setEnabled(false);
+ m_aDirUp->setEnabled(true);
+ m_aShowInfo->setEnabled(true);
+ m_aViewfile->setEnabled(true);
+ m_aStartSlide->setEnabled(true);
+
if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) {
m_disp->stopSlide();
m_disp->hide();
}
m_stack->raiseWidget( IconView );
setUpdatesEnabled(true);
repaint();
}
@@ -617,16 +619,24 @@ void PMainWindow::setupActions()
}
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;
+ }
}
void PMainWindow::setupToolbar()
{
toolBar = new QToolBar( this );
addToolBar(toolBar);
toolBar->setHorizontalStretchable( true );
setToolBarsMovable( false );
@@ -642,17 +652,17 @@ void PMainWindow::setupToolbar()
m_aBeam->addTo( toolBar );
}
m_aShowInfo->addTo(toolBar);
m_aTrash->addTo(toolBar);
// m_aSetup->addTo(toolBar);
m_gDisplayType->addTo(toolBar);
- if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
+ if (!m_SmallWindow) {
m_gPrevNext->addTo(toolBar);
} else {
m_gPrevNext->setEnabled(false);
}
}
void PMainWindow::setupMenu()
{
@@ -685,16 +695,20 @@ void PMainWindow::setupMenu()
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);
+ 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;
@@ -732,8 +746,23 @@ void PMainWindow::polish()
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);
+ }
+}
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h
index 2f54090..a49a9d3 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.h
+++ b/noncore/graphics/opie-eye/gui/mainwindow.h
@@ -75,36 +75,38 @@ private:
void setupViewWindow(bool full, bool forceDisplay);
private:
Opie::Core::OConfig *m_cfg;
Opie::Ui::OWidgetStack *m_stack;
PIconView* m_view;
imageinfo *m_info;
ImageView *m_disp;
- bool autoSave;
+ bool autoSave:1;
bool m_setDocCalled:1;
bool m_polishDone:1;
+ bool m_SmallWindow:1;
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;
+ QAction *m_aAutoRotate,*m_aUnscaled,*m_aZoomer,*m_aForceSmall;
/* 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;
private slots:
void slotConfig();
void slotSelectDir(int);
void dirChanged();
+ void slotForceSmall(bool);
};
#endif