El estado de la toolbar se almacena ahora en la configuraci?n.

Se ha modificado el escroll vertical para que s?a fluido (wheel).
This commit is contained in:
Luis Ángel San Martín 2012-11-06 23:42:19 +01:00
parent bd1edd440b
commit 040764e1f5
5 changed files with 53 additions and 21 deletions

View File

@ -51,6 +51,8 @@ void Configuration::load(QSettings * settings)
settings->setValue(BACKGROUND_COLOR,QColor(0,0,0));
if(!settings->contains(ALWAYS_ON_TOP))
settings->setValue(ALWAYS_ON_TOP,false);
if(!settings->contains(SHOW_TOOLBARS))
settings->setValue(SHOW_TOOLBARS, true);
}
void Configuration::load(const QString & path)

View File

@ -78,6 +78,8 @@
void setBackgroundColor(const QColor& color){settings->value(BACKGROUND_COLOR,color);};
bool getAlwaysOnTop(){return settings->value(ALWAYS_ON_TOP).toBool();};
void setAlwaysOnTop(bool b){ settings->setValue(ALWAYS_ON_TOP,b);};
bool getShowToolbars(){return settings->value(SHOW_TOOLBARS).toBool();};
void setShowToolbars(bool b){return settings->setValue(SHOW_TOOLBARS,b);};
void save();

View File

@ -107,6 +107,11 @@ void MainWindowViewer::setupUI()
showMaximized();
setAcceptDrops(true);
if(Configuration::getConfiguration().getShowToolbars() && !Configuration::getConfiguration().getFullScreen())
showToolBars();
else
hideToolBars();
}
void MainWindowViewer::createActions()
@ -535,7 +540,8 @@ void MainWindowViewer::toNormal()
viewer->fullscreen = false;//TODO, change by the right use of windowState();
//viewer->hideMagnifyingGlass();
showNormal();
showToolBars();
if(Configuration::getConfiguration().getShowToolbars())
showToolBars();
viewer->show();
if(viewer->magnifyingGlassIsVisible())
viewer->showMagnifyingGlass();
@ -543,6 +549,8 @@ void MainWindowViewer::toNormal()
void MainWindowViewer::toggleToolBars()
{
toolbars?hideToolBars():showToolBars();
Configuration::getConfiguration().setShowToolbars(toolbars);
}
void MainWindowViewer::hideToolBars()
{

View File

@ -110,6 +110,7 @@ drag(false)
//animations
verticalScroller = new QPropertyAnimation(verticalScrollBar(), "sliderPosition");
connect(verticalScroller,SIGNAL(valueChanged (const QVariant &)),this,SIGNAL(backgroundChanges()));
}
void Viewer::createConnections()
@ -343,26 +344,14 @@ void Viewer::keyPressEvent(QKeyEvent *event)
void Viewer::wheelEvent(QWheelEvent * event)
{
if(render->hasLoadedComic())
{
if((event->delta()<0)&&(verticalScrollBar()->sliderPosition()==verticalScrollBar()->maximum()))
if(render->hasLoadedComic())
{
if(wheelStop)
if((event->delta()<0)&&(verticalScrollBar()->sliderPosition()==verticalScrollBar()->maximum()))
{
next();
event->accept();
wheelStop = false;
return;
}
else
wheelStop = true;
}
else
if((event->delta()>0)&&(verticalScrollBar()->sliderPosition()==verticalScrollBar()->minimum()))
{
if(wheelStop)
if(wheelStop)
{
prev();
next();
verticalScroller->stop();
event->accept();
wheelStop = false;
return;
@ -370,10 +359,40 @@ void Viewer::wheelEvent(QWheelEvent * event)
else
wheelStop = true;
}
else
{
if((event->delta()>0)&&(verticalScrollBar()->sliderPosition()==verticalScrollBar()->minimum()))
{
if(wheelStop)
{
prev();
verticalScroller->stop();
event->accept();
wheelStop = false;
return;
}
else
wheelStop = true;
}
}
QAbstractScrollArea::wheelEvent(event);
emit backgroundChanges();
}
int deltaNotFinished = 0;
if(verticalScroller->state() == QAbstractAnimation::Running)
{
deltaNotFinished = verticalScroller->startValue().toInt() - verticalScroller->endValue().toInt();
verticalScroller->stop();
}
int currentPos = verticalScrollBar()->sliderPosition();
verticalScroller->setDuration(250);
verticalScroller->setStartValue(currentPos);
verticalScroller->setEndValue(currentPos - event->delta() - deltaNotFinished);
verticalScroller->start();
//QAbstractScrollArea::wheelEvent(event);
}
}
void Viewer::resizeEvent(QResizeEvent * event)

View File

@ -20,6 +20,7 @@
#define ADJUST_TO_FULL_SIZE "ADJUST_TO_FULL_SIZE"
#define BACKGROUND_COLOR "BACKGROUND_COLOR"
#define ALWAYS_ON_TOP "ALWAYS_ON_TOP"
#define SHOW_TOOLBARS "SHOW_TOOLBARS"
#define FLOW_TYPE_GL "FLOW_TYPE_GL"
#define Y_POSITION "Y_POSITION"