recycled the old fit to witdh slider into a zoom slider

This commit is contained in:
Luis Ángel San Martín 2015-12-08 23:13:56 +01:00
parent b11a50cf44
commit bbc2861ee5
7 changed files with 73 additions and 69 deletions

View File

@ -114,7 +114,7 @@ HEADERS += ../common/comic.h \
page_label_widget.h \
goto_flow_toolbar.h \
goto_flow_decorationbar.h \
#width_slider.h \
width_slider.h \
notifications_label_widget.h \
../common/pictureflow.h \
../common/custom_widgets.h \
@ -158,7 +158,7 @@ SOURCES += ../common/comic.cpp \
page_label_widget.cpp \
goto_flow_toolbar.cpp \
goto_flow_decorationbar.cpp \
#width_slider.cpp \
width_slider.cpp \
notifications_label_widget.cpp \
../common/pictureflow.cpp \
../common/custom_widgets.cpp \

View File

@ -417,7 +417,11 @@ void MainWindowViewer::createActions()
fitToPageAction->setData(FIT_TO_PAGE_ACTION_Y);
fitToPageAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FIT_TO_PAGE_ACTION_Y));
connect(fitToPageAction,SIGNAL(triggered()),this,SLOT(fitToPageSwitch()));
showZoomSliderlAction = new QAction(tr("Show zoom slider"), this);
showZoomSliderlAction->setIcon(QIcon(":/images/viewer_toolbar/zoom.png"));
showZoomSliderlAction->setDisabled(true);
increasePageZoomAction = new QAction(tr("Zoom+"),this);
increasePageZoomAction->setDisabled(true);
increasePageZoomAction->setData(ZOOM_PLUS_ACTION_Y);
@ -509,43 +513,34 @@ void MainWindowViewer::createToolBars()
//comicToolBar->addAction(adjustWidth);
#ifdef Q_OS_MAC
//sliderAction = new YACReaderSlider(this);
//sliderAction->hide();
comicToolBar->addAction(adjustWidthAction);
//QAction * action = comicToolBar->addFitToWidthSlider(adjustWidthAction);
//connect(action,SIGNAL(triggered()),this,SLOT(toggleFitToWidthSlider()));
#else
//QMenu * menu = new QMenu();
//sliderAction = new YACReaderSliderAction(this);
//menu->setAutoFillBackground(false);
//menu->setStyleSheet(" QMenu {background:transparent; border: 0px;padding: 0px; }"
// );
//menu->addAction(sliderAction);
//QToolButton * tb2 = new QToolButton();
//tb2->addAction(adjustWidthAction);
//tb2->setMenu(menu);
//tb2->addAction();
//tb2->setPopupMode(QToolButton::MenuButtonPopup);
//tb2->setDefaultAction(adjustWidthAction);
//comicToolBar->addWidget(tb2);
#endif
//connect(sliderAction,SIGNAL(fitToWidthRatioChanged(float)),viewer,SLOT(updateFitToWidthRatio(float)));
//connect(optionsDialog,SIGNAL(fitToWidthRatioChanged(float)),sliderAction,SLOT(updateFitToWidthRatio(float)));
comicToolBar->addAction(adjustWidthAction);
comicToolBar->addAction(adjustHeightAction);
comicToolBar->addAction(adjustToFullSizeAction);
comicToolBar->addAction(fitToPageAction);
#ifdef Q_OS_MAC
zoomSliderAction = new YACReaderSlider(this);
zoomSliderAction->hide();
comicToolBar->addAction(showZoomSliderlAction);
QAction * action = comicToolBar->addFitToWidthSlider(showZoomSliderlAction);
connect(action,SIGNAL(triggered()),this,SLOT(toggleFitToWidthSlider()));
#else
zoomSliderAction = new YACReaderSlider(this);
zoomSliderAction->hide();
comicToolBar->addAction(showZoomSliderlAction);
//QAction * action = comicToolBar->addFitToWidthSlider(showZoomSliderlAction);
connect(showZoomSliderlAction,SIGNAL(triggered()),this,SLOT(toggleFitToWidthSlider()));
connect(zoomSliderAction, SIGNAL(zoomRatioChanged(float)),viewer,SLOT(updateZoomRatio(float)));
#endif
comicToolBar->addAction(leftRotationAction);
comicToolBar->addAction(rightRotationAction);
comicToolBar->addAction(doublePageAction);
@ -555,7 +550,6 @@ void MainWindowViewer::createToolBars()
comicToolBar->addAction(showMagnifyingGlassAction);
comicToolBar->addSeparator();
comicToolBar->addAction(setBookmarkAction);
@ -850,6 +844,7 @@ void MainWindowViewer::enableActions()
adjustToFullSizeAction->setDisabled(false);
adjustToFullSizeAction->setDisabled(false);
fitToPageAction->setDisabled(false);
showZoomSliderlAction->setDisabled(false);
increasePageZoomAction->setDisabled(false);
decreasePageZoomAction->setDisabled(false);
//setBookmark->setDisabled(false);
@ -873,6 +868,8 @@ void MainWindowViewer::disableActions()
doublePageAction->setDisabled(true);
doubleMangaPageAction->setDisabled(true);
adjustToFullSizeAction->setDisabled(true);
fitToPageAction->setDisabled(true);
showZoomSliderlAction->setDisabled(true);
setBookmarkAction->setDisabled(true);
showBookmarksAction->setDisabled(true);
showInfoAction->setDisabled(true); //TODO enable goTo and showInfo (or update) when numPages emited
@ -1175,21 +1172,26 @@ void MainWindowViewer::setUpShortcutsManagement()
}
#ifdef Q_OS_MAC
/*
void MainWindowViewer::toggleFitToWidthSlider()
{
if(sliderAction->isVisible())
int y;
#ifdef Q_OS_MAC
y = 0;
#else
y = this->comicToolBar->frameSize().height();
#endif
if(zoomSliderAction->isVisible())
{
sliderAction->hide();
zoomSliderAction->hide();
}
else
{
sliderAction->move(250,0);
sliderAction->show();
zoomSliderAction->move(250, y);
zoomSliderAction->show();
}
}*/
#endif
}
void MainWindowViewer::newVersion()
{

View File

@ -64,9 +64,8 @@ class EditShortcutsDialog;
void processReset();
void setUpShortcutsManagement();
#ifdef Q_OS_MAC
void toggleFitToWidthSlider();
#endif
/*void viewComic();
void prev();
void next();
@ -128,16 +127,14 @@ class EditShortcutsDialog;
QAction *alwaysOnTopAction;
QAction *adjustToFullSizeAction;
QAction *fitToPageAction;
QAction *showZoomSliderlAction;
QAction *increasePageZoomAction;
QAction *decreasePageZoomAction;
QAction *showFlowAction;
QAction *showEditShortcutsAction;
#ifdef Q_OS_MAC
YACReaderSlider * sliderAction;
#else
YACReaderSliderAction * sliderAction;
#endif
YACReaderSlider * zoomSliderAction;
HttpVersionChecker * versionChecker;
QString previousComicPath;

View File

@ -386,8 +386,8 @@ void Viewer::increaseZoomFactor()
void Viewer::decreaseZoomFactor()
{
zoom -= 0.1;
if (zoom < 0.1)
zoom = 0.1;
if (zoom < 0.3)
zoom = 0.3;
updateContentSize();
notificationsLabel->setText(QString::number(getZoomFactor()*100)+"%");
notificationsLabel->flash();
@ -930,6 +930,12 @@ void Viewer::mouseReleaseEvent ( QMouseEvent * event )
event->accept();
}
void Viewer::updateZoomRatio(float ratio)
{
zoom = ratio;
updateContentSize();
}
void Viewer::updateConfig(QSettings * settings)
{
goToFlow->updateConfig(settings);

View File

@ -96,6 +96,7 @@ virtual void mouseReleaseEvent ( QMouseEvent * event );
void showIsCoverMessage();
void showIsLastMessage();
int getCurrentPageNumber();
void updateZoomRatio(float ratio);
private:
bool information;

View File

@ -12,9 +12,7 @@ YACReaderSliderAction::YACReaderSliderAction (QWidget * parent)
widget = new YACReaderSlider();
setDefaultWidget(widget);
connect(widget,SIGNAL(fitToWidthRatioChanged(float)),this,SIGNAL(fitToWidthRatioChanged(float)));
connect(widget,SIGNAL(zoomRatioChanged(float)),this,SIGNAL(zoomRatioChanged(float)));
}
void YACReaderSliderAction::updateText(int value)
@ -22,9 +20,9 @@ void YACReaderSliderAction::updateText(int value)
widget->updateText(value);
}
void YACReaderSliderAction::updateFitToWidthRatio(float v)
void YACReaderSliderAction::updateZoomRatio(float v)
{
widget->updateFitToWidthRatio(v);
widget->updateZoomRatio(v);
}
YACReaderSlider::YACReaderSlider(QWidget *parent)
@ -69,11 +67,11 @@ YACReaderSlider::YACReaderSlider(QWidget *parent)
setMinimumSize(276,45);
slider->setMinimum(50);
slider->setMaximum(100);
slider->setMinimum(30);
slider->setMaximum(500);
slider->setPageStep(5);
int value = Configuration::getConfiguration().getFitToWidthRatio()*100;
int value = Configuration::getConfiguration().getZoomLevel()*100;
slider->setValue(value);
percentageLabel->setText(QString("%1 %").arg(value));
connect(slider,SIGNAL(valueChanged(int)),this,SLOT(updateText(int)));
@ -82,11 +80,11 @@ YACReaderSlider::YACReaderSlider(QWidget *parent)
void YACReaderSlider::updateText(int value)
{
percentageLabel->setText(QString("%1 %").arg(value));
Configuration::getConfiguration().setFitToWidthRatio(value/100.0);
emit(fitToWidthRatioChanged(value / 100.0f));
Configuration::getConfiguration().setZoomLevel(value/100.0);
emit(zoomRatioChanged(value / 100.0f));
}
void YACReaderSlider::updateFitToWidthRatio(float v)
void YACReaderSlider::updateZoomRatio(float v)
{
int value = v*100;
slider->setValue(value);

View File

@ -19,11 +19,11 @@ public:
public slots:
void updateText(int value);
void updateFitToWidthRatio(float v);
void updateZoomRatio(float v);
signals:
void fitToWidthRatioChanged(float value);
void zoomRatioChanged(float value);
};
class YACReaderSliderAction : public QWidgetAction
@ -38,11 +38,11 @@ public:
public slots:
void updateText(int value);
void updateFitToWidthRatio(float v);
void updateZoomRatio(float v);
signals:
void fitToWidthRatioChanged(float value);
void zoomRatioChanged(float value);
};
#endif