mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
Refractoring: Use only one fitting mode config option for all fitting modes.
This commit is contained in:
parent
bf98cf3343
commit
b199095515
@ -33,8 +33,8 @@ void Configuration::load(QSettings * settings)
|
|||||||
settings->setValue(MAG_GLASS_SIZE,QSize(350,175));
|
settings->setValue(MAG_GLASS_SIZE,QSize(350,175));
|
||||||
if(!settings->contains(ZOOM_LEVEL))
|
if(!settings->contains(ZOOM_LEVEL))
|
||||||
settings->setValue(MAG_GLASS_SIZE,QSize(350,175));
|
settings->setValue(MAG_GLASS_SIZE,QSize(350,175));
|
||||||
if(!settings->contains(FIT))
|
//if(!settings->contains(FIT))
|
||||||
settings->setValue(FIT,false);
|
// settings->setValue(FIT,false);
|
||||||
if(!settings->contains(FLOW_TYPE))
|
if(!settings->contains(FLOW_TYPE))
|
||||||
settings->setValue(FLOW_TYPE,0);
|
settings->setValue(FLOW_TYPE,0);
|
||||||
if(!settings->contains(FULLSCREEN))
|
if(!settings->contains(FULLSCREEN))
|
||||||
@ -47,8 +47,8 @@ void Configuration::load(QSettings * settings)
|
|||||||
settings->setValue(MAXIMIZED,false);
|
settings->setValue(MAXIMIZED,false);
|
||||||
if(!settings->contains(DOUBLE_PAGE))
|
if(!settings->contains(DOUBLE_PAGE))
|
||||||
settings->setValue(DOUBLE_PAGE,false);
|
settings->setValue(DOUBLE_PAGE,false);
|
||||||
if(!settings->contains(ADJUST_TO_FULL_SIZE))
|
//if(!settings->contains(ADJUST_TO_FULL_SIZE))
|
||||||
settings->setValue(ADJUST_TO_FULL_SIZE,false);
|
// settings->setValue(ADJUST_TO_FULL_SIZE,false);
|
||||||
if(!settings->contains(BACKGROUND_COLOR))
|
if(!settings->contains(BACKGROUND_COLOR))
|
||||||
settings->setValue(BACKGROUND_COLOR,QColor(40,40,40));
|
settings->setValue(BACKGROUND_COLOR,QColor(40,40,40));
|
||||||
if(!settings->contains(ALWAYS_ON_TOP))
|
if(!settings->contains(ALWAYS_ON_TOP))
|
||||||
|
@ -62,10 +62,19 @@ using namespace YACReader;
|
|||||||
void setZoomLevel(float zl) { settings->setValue(ZOOM_LEVEL,zl);}
|
void setZoomLevel(float zl) { settings->setValue(ZOOM_LEVEL,zl);}
|
||||||
float getPageZoomLevel() { return settings->value(PAGE_ZOOM_LEVEL).toFloat();}
|
float getPageZoomLevel() { return settings->value(PAGE_ZOOM_LEVEL).toFloat();}
|
||||||
void setPageZoomLevel(float zl) { settings->setValue(PAGE_ZOOM_LEVEL,zl);}
|
void setPageZoomLevel(float zl) { settings->setValue(PAGE_ZOOM_LEVEL,zl);}
|
||||||
|
/*
|
||||||
|
//Old fitting modes
|
||||||
bool getAdjustToWidth() {return settings->value(FIT).toBool();}
|
bool getAdjustToWidth() {return settings->value(FIT).toBool();}
|
||||||
void setAdjustToWidth(bool atw=true) {settings->setValue(FIT,atw);}
|
void setAdjustToWidth(bool atw=true) {settings->setValue(FIT,atw);}
|
||||||
bool getFitToPage() {return settings->value(PAGEFIT).toBool();}
|
bool getFitToPage() {return settings->value(PAGEFIT).toBool();}
|
||||||
void setFitToPage(bool b=true) {settings->setValue(PAGEFIT,b);}
|
void setFitToPage(bool b=true) {settings->setValue(PAGEFIT,b);}
|
||||||
|
bool getAdjustToFullSize(){return settings->value(ADJUST_TO_FULL_SIZE).toBool();}
|
||||||
|
void setAdjustToFullSize(bool b){settings->setValue(ADJUST_TO_FULL_SIZE,b);}
|
||||||
|
*/
|
||||||
|
|
||||||
|
QString getFitMode() { return settings->value(FITMODE).toString(); }
|
||||||
|
void setFitMode ( QString fitMode ){settings->setValue(FITMODE, fitMode);}
|
||||||
|
|
||||||
FlowType getFlowType(){return (FlowType)settings->value(FLOW_TYPE_SW).toInt();}
|
FlowType getFlowType(){return (FlowType)settings->value(FLOW_TYPE_SW).toInt();}
|
||||||
void setFlowType(FlowType type){settings->setValue(FLOW_TYPE_SW,type);}
|
void setFlowType(FlowType type){settings->setValue(FLOW_TYPE_SW,type);}
|
||||||
bool getFullScreen(){return settings->value(FULLSCREEN).toBool();}
|
bool getFullScreen(){return settings->value(FULLSCREEN).toBool();}
|
||||||
@ -82,8 +91,6 @@ using namespace YACReader;
|
|||||||
void setDoublePage(bool b){settings->setValue(DOUBLE_PAGE,b);}
|
void setDoublePage(bool b){settings->setValue(DOUBLE_PAGE,b);}
|
||||||
bool getDoubleMangaPage(){return settings->value(DOUBLE_MANGA_PAGE).toBool();}
|
bool getDoubleMangaPage(){return settings->value(DOUBLE_MANGA_PAGE).toBool();}
|
||||||
void setDoubleMangaPage(bool b){settings->setValue(DOUBLE_MANGA_PAGE,b);}
|
void setDoubleMangaPage(bool b){settings->setValue(DOUBLE_MANGA_PAGE,b);}
|
||||||
bool getAdjustToFullSize(){return settings->value(ADJUST_TO_FULL_SIZE).toBool();}
|
|
||||||
void setAdjustToFullSize(bool b){settings->setValue(ADJUST_TO_FULL_SIZE,b);}
|
|
||||||
QColor getBackgroundColor(){return settings->value(BACKGROUND_COLOR).value<QColor>();}
|
QColor getBackgroundColor(){return settings->value(BACKGROUND_COLOR).value<QColor>();}
|
||||||
void setBackgroundColor(const QColor& color){settings->value(BACKGROUND_COLOR,color);}
|
void setBackgroundColor(const QColor& color){settings->value(BACKGROUND_COLOR,color);}
|
||||||
bool getAlwaysOnTop(){return settings->value(ALWAYS_ON_TOP).toBool();}
|
bool getAlwaysOnTop(){return settings->value(ALWAYS_ON_TOP).toBool();}
|
||||||
|
@ -262,7 +262,7 @@ void MainWindowViewer::createActions()
|
|||||||
adjustHeightAction->setIcon(QIcon(":/images/viewer_toolbar/toHeight.png"));
|
adjustHeightAction->setIcon(QIcon(":/images/viewer_toolbar/toHeight.png"));
|
||||||
//adjustWidth->setCheckable(true);
|
//adjustWidth->setCheckable(true);
|
||||||
adjustHeightAction->setDisabled(true);
|
adjustHeightAction->setDisabled(true);
|
||||||
adjustHeightAction->setChecked(Configuration::getConfiguration().getAdjustToWidth());
|
//adjustHeightAction->setChecked(Configuration::getConfiguration().getAdjustToWidth());
|
||||||
adjustHeightAction->setToolTip(tr("Fit image to height"));
|
adjustHeightAction->setToolTip(tr("Fit image to height"));
|
||||||
//adjustWidth->setIcon(QIcon(":/images/fitWidth.png"));
|
//adjustWidth->setIcon(QIcon(":/images/fitWidth.png"));
|
||||||
adjustHeightAction->setData(ADJUST_HEIGHT_ACTION_Y);
|
adjustHeightAction->setData(ADJUST_HEIGHT_ACTION_Y);
|
||||||
@ -273,7 +273,7 @@ void MainWindowViewer::createActions()
|
|||||||
adjustWidthAction->setIcon(QIcon(":/images/viewer_toolbar/toWidth.png"));
|
adjustWidthAction->setIcon(QIcon(":/images/viewer_toolbar/toWidth.png"));
|
||||||
//adjustWidth->setCheckable(true);
|
//adjustWidth->setCheckable(true);
|
||||||
adjustWidthAction->setDisabled(true);
|
adjustWidthAction->setDisabled(true);
|
||||||
adjustWidthAction->setChecked(Configuration::getConfiguration().getAdjustToWidth());
|
//adjustWidthAction->setChecked(Configuration::getConfiguration().getAdjustToWidth());
|
||||||
adjustWidthAction->setToolTip(tr("Fit image to width"));
|
adjustWidthAction->setToolTip(tr("Fit image to width"));
|
||||||
//adjustWidth->setIcon(QIcon(":/images/fitWidth.png"));
|
//adjustWidth->setIcon(QIcon(":/images/fitWidth.png"));
|
||||||
adjustWidthAction->setData(ADJUST_WIDTH_ACTION_Y);
|
adjustWidthAction->setData(ADJUST_WIDTH_ACTION_Y);
|
||||||
@ -405,9 +405,9 @@ void MainWindowViewer::createActions()
|
|||||||
|
|
||||||
adjustToFullSizeAction = new QAction(tr("Show full size"),this);
|
adjustToFullSizeAction = new QAction(tr("Show full size"),this);
|
||||||
adjustToFullSizeAction->setIcon(QIcon(":/images/viewer_toolbar/full.png"));
|
adjustToFullSizeAction->setIcon(QIcon(":/images/viewer_toolbar/full.png"));
|
||||||
adjustToFullSizeAction->setCheckable(true);
|
//adjustToFullSizeAction->setCheckable(true);
|
||||||
adjustToFullSizeAction->setDisabled(true);
|
adjustToFullSizeAction->setDisabled(true);
|
||||||
adjustToFullSizeAction->setChecked(Configuration::getConfiguration().getAdjustToFullSize());
|
//adjustToFullSizeAction->setChecked(Configuration::getConfiguration().getAdjustToFullSize());
|
||||||
adjustToFullSizeAction->setData(ADJUST_TO_FULL_SIZE_ACTION_Y);
|
adjustToFullSizeAction->setData(ADJUST_TO_FULL_SIZE_ACTION_Y);
|
||||||
adjustToFullSizeAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(ADJUST_TO_FULL_SIZE_ACTION_Y));
|
adjustToFullSizeAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(ADJUST_TO_FULL_SIZE_ACTION_Y));
|
||||||
connect(adjustToFullSizeAction,SIGNAL(triggered()),this,SLOT(adjustToFullSizeSwitch()));
|
connect(adjustToFullSizeAction,SIGNAL(triggered()),this,SLOT(adjustToFullSizeSwitch()));
|
||||||
@ -416,7 +416,7 @@ void MainWindowViewer::createActions()
|
|||||||
//fitToPageAction->setIcon(QIcon(":/images/viewer_toolbar/full.png"));
|
//fitToPageAction->setIcon(QIcon(":/images/viewer_toolbar/full.png"));
|
||||||
fitToPageAction->setCheckable(true);
|
fitToPageAction->setCheckable(true);
|
||||||
fitToPageAction->setDisabled(true);
|
fitToPageAction->setDisabled(true);
|
||||||
fitToPageAction->setChecked(Configuration::getConfiguration().getFitToPage());
|
//fitToPageAction->setChecked(Configuration::getConfiguration().getFitToPage());
|
||||||
fitToPageAction->setData(FIT_TO_PAGE_ACTION_Y);
|
fitToPageAction->setData(FIT_TO_PAGE_ACTION_Y);
|
||||||
fitToPageAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FIT_TO_PAGE_ACTION_Y));
|
fitToPageAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FIT_TO_PAGE_ACTION_Y));
|
||||||
connect(fitToPageAction,SIGNAL(triggered()),this,SLOT(fitToPageSwitch()));
|
connect(fitToPageAction,SIGNAL(triggered()),this,SLOT(fitToPageSwitch()));
|
||||||
@ -971,21 +971,28 @@ void MainWindowViewer::showToolBars()
|
|||||||
}
|
}
|
||||||
void MainWindowViewer::fitToWidth()
|
void MainWindowViewer::fitToWidth()
|
||||||
{
|
{
|
||||||
|
Configuration::getConfiguration().setFitMode("to_width");
|
||||||
|
viewer->updatePage();
|
||||||
|
/*
|
||||||
Configuration & conf = Configuration::getConfiguration();
|
Configuration & conf = Configuration::getConfiguration();
|
||||||
if(!conf.getAdjustToWidth())
|
if(!conf.getAdjustToWidth())
|
||||||
{
|
{
|
||||||
conf.setAdjustToWidth(true);
|
conf.setAdjustToWidth(true);
|
||||||
viewer->updatePage();
|
viewer->updatePage();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
void MainWindowViewer::fitToHeight()
|
void MainWindowViewer::fitToHeight()
|
||||||
{
|
{
|
||||||
|
Configuration::getConfiguration().setFitMode("to_height");
|
||||||
|
viewer->updatePage();
|
||||||
|
/*
|
||||||
Configuration & conf = Configuration::getConfiguration();
|
Configuration & conf = Configuration::getConfiguration();
|
||||||
if(conf.getAdjustToWidth())
|
if(conf.getAdjustToWidth())
|
||||||
{
|
{
|
||||||
conf.setAdjustToWidth(false);
|
conf.setAdjustToWidth(false);
|
||||||
viewer->updatePage();
|
viewer->updatePage();
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindowViewer::checkNewVersion()
|
void MainWindowViewer::checkNewVersion()
|
||||||
@ -1189,8 +1196,9 @@ void MainWindowViewer::toggleFitToWidthSlider()
|
|||||||
|
|
||||||
void MainWindowViewer::changeFit()
|
void MainWindowViewer::changeFit()
|
||||||
{
|
{
|
||||||
|
//TODO: this is depreceated
|
||||||
Configuration & conf = Configuration::getConfiguration();
|
Configuration & conf = Configuration::getConfiguration();
|
||||||
conf.setAdjustToWidth(!conf.getAdjustToWidth());
|
//conf.setAdjustToWidth(!conf.getAdjustToWidth());
|
||||||
viewer->updatePage();
|
viewer->updatePage();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1403,19 +1411,20 @@ void MainWindowViewer::alwaysOnTopSwitch()
|
|||||||
|
|
||||||
void MainWindowViewer::adjustToFullSizeSwitch()
|
void MainWindowViewer::adjustToFullSizeSwitch()
|
||||||
{
|
{
|
||||||
Configuration::getConfiguration().setAdjustToFullSize(!Configuration::getConfiguration().getAdjustToFullSize());
|
//Configuration::getConfiguration().setAdjustToFullSize(!Configuration::getConfiguration().getAdjustToFullSize());
|
||||||
|
Configuration::getConfiguration().setFitMode("full_size");
|
||||||
viewer->updatePage();
|
viewer->updatePage();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindowViewer::fitToPageSwitch()
|
void MainWindowViewer::fitToPageSwitch()
|
||||||
{
|
{
|
||||||
Configuration::getConfiguration().setFitToPage(!Configuration::getConfiguration().getFitToPage());
|
//Configuration::getConfiguration().setFitToPage(!Configuration::getConfiguration().getFitToPage());
|
||||||
|
Configuration::getConfiguration().setFitMode("full_page");
|
||||||
viewer->updatePage();
|
viewer->updatePage();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindowViewer::increasePageZoomLevel()
|
void MainWindowViewer::increasePageZoomLevel()
|
||||||
{
|
{
|
||||||
qDebug() << "Increase page zoom level!";
|
|
||||||
Configuration::getConfiguration().setPageZoomLevel(Configuration::getConfiguration().getPageZoomLevel() + 0.1);
|
Configuration::getConfiguration().setPageZoomLevel(Configuration::getConfiguration().getPageZoomLevel() + 0.1);
|
||||||
viewer->updatePage();
|
viewer->updatePage();
|
||||||
}
|
}
|
||||||
|
@ -314,21 +314,22 @@ void Viewer::updateContentSize()
|
|||||||
//there is an image to resize
|
//there is an image to resize
|
||||||
if(currentPage !=0 && !currentPage->isNull())
|
if(currentPage !=0 && !currentPage->isNull())
|
||||||
{
|
{
|
||||||
if(Configuration::getConfiguration().getAdjustToFullSize())
|
if(!Configuration::getConfiguration().getFitMode().isNull())
|
||||||
|
{
|
||||||
|
if(Configuration::getConfiguration().getFitMode()=="full_size")
|
||||||
{
|
{
|
||||||
content->resize(currentPage->size());
|
content->resize(currentPage->size());
|
||||||
}
|
}
|
||||||
else if(Configuration::getConfiguration().getFitToPage())
|
if(Configuration::getConfiguration().getFitMode()=="full_page")
|
||||||
{
|
{
|
||||||
QSize pagefit=currentPage->size();
|
QSize pagefit=currentPage->size();
|
||||||
pagefit.scale(size(), Qt::KeepAspectRatio);
|
pagefit.scale(size(), Qt::KeepAspectRatio);
|
||||||
content->resize(pagefit);
|
content->resize(pagefit);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
//float aspectRatio = (float)currentPage->width()/currentPage->height();
|
//float aspectRatio = (float)currentPage->width()/currentPage->height();
|
||||||
//Fit to width
|
//Fit to width
|
||||||
if(Configuration::getConfiguration().getAdjustToWidth())
|
if(Configuration::getConfiguration().getFitMode()=="to_width")
|
||||||
{
|
{
|
||||||
QSize pagefit=currentPage->size();
|
QSize pagefit=currentPage->size();
|
||||||
pagefit.scale(width(), 0, Qt::KeepAspectRatioByExpanding);
|
pagefit.scale(width(), 0, Qt::KeepAspectRatioByExpanding);
|
||||||
@ -355,7 +356,7 @@ void Viewer::updateContentSize()
|
|||||||
else
|
else
|
||||||
content->resize(static_cast<int>(height()*aspectRatio),height());
|
content->resize(static_cast<int>(height()*aspectRatio),height());
|
||||||
}*/
|
}*/
|
||||||
else
|
if(Configuration::getConfiguration().getFitMode()=="to_height")
|
||||||
{
|
{
|
||||||
QSize pagefit=currentPage->size();
|
QSize pagefit=currentPage->size();
|
||||||
pagefit.scale(0, height(), Qt::KeepAspectRatioByExpanding);
|
pagefit.scale(0, height(), Qt::KeepAspectRatioByExpanding);
|
||||||
@ -373,7 +374,6 @@ void Viewer::updateContentSize()
|
|||||||
|
|
||||||
if(devicePixelRatio()>1)//only in retina display
|
if(devicePixelRatio()>1)//only in retina display
|
||||||
{
|
{
|
||||||
qDebug() << "Retina Display detected" << "devicePixelRatio:" << devicePixelRatio();
|
|
||||||
QPixmap page = currentPage->scaled(content->width()*devicePixelRatio(), content->height()*devicePixelRatio(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
QPixmap page = currentPage->scaled(content->width()*devicePixelRatio(), content->height()*devicePixelRatio(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
page.setDevicePixelRatio(devicePixelRatio());
|
page.setDevicePixelRatio(devicePixelRatio());
|
||||||
content->setPixmap(page);
|
content->setPixmap(page);
|
||||||
@ -899,7 +899,8 @@ void Viewer::mouseReleaseEvent ( QMouseEvent * event )
|
|||||||
|
|
||||||
void Viewer::updateFitToWidthRatio(float ratio)
|
void Viewer::updateFitToWidthRatio(float ratio)
|
||||||
{
|
{
|
||||||
Configuration::getConfiguration().setAdjustToWidth(true);
|
//Configuration::getConfiguration().setAdjustToWidth(true);
|
||||||
|
Configuration::getConfiguration().setFitMode("to_width");
|
||||||
adjustToWidthRatio = ratio;
|
adjustToWidthRatio = ratio;
|
||||||
updateContentSize();
|
updateContentSize();
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#define FLOW_TYPE_SW "FLOW_TYPE_SW"
|
#define FLOW_TYPE_SW "FLOW_TYPE_SW"
|
||||||
#define FIT "FIT"
|
#define FIT "FIT"
|
||||||
#define PAGEFIT "PAGEFIT"
|
#define PAGEFIT "PAGEFIT"
|
||||||
|
#define FITMODE "FITMODE"
|
||||||
#define FLOW_TYPE "FLOW_TYPE"
|
#define FLOW_TYPE "FLOW_TYPE"
|
||||||
#define FULLSCREEN "FULLSCREEN"
|
#define FULLSCREEN "FULLSCREEN"
|
||||||
#define FIT_TO_WIDTH_RATIO "FIT_TO_WIDTH_RATIO"
|
#define FIT_TO_WIDTH_RATIO "FIT_TO_WIDTH_RATIO"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user