Skip to content
YACReader

YACReader pre-alpha 8.0

More
11 years 9 months ago #968 by selmf
Replied by selmf on topic YACReader pre-alpha 8.0

Luis Ángel wrote:

Qulox wrote: Bugs I've found so far...

Thank you. The 'A' is for switching between fit to with and fit to heigh, by default "fit to with" and "fit to height" don't have their own keyboard shortcut, I guess that I should add the switching action to the context menu....


I don't think it's a good idea to switch between two fitting modes. It makes much more sense to switch to a specific mode (switch from "whatever" to "fit to width" or "fit to height"), so each mode should get the possibility to be triggered by a shortcut.

Speaking of fit modes, "show full size" needs some attention as well. If you invoke this mode, it will disable all other fitting options until you disable it. Very annoying. I'd suggest removing the "checkable" status from it's icon and disabling it as soon as another fitting option is invoked.

Currently, every fitting mode has it's own config option. Maybe merging these into a "fit_mode" option would be better?

My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.

Please Log in or Create an account to join the conversation.

  • Luis Ángel
  • Topic Author
  • Offline
  • Administrator
  • Administrator
More
11 years 9 months ago #969 by Luis Ángel
Replied by Luis Ángel on topic YACReader pre-alpha 8.0
You are right, adding these features in different iterations over the time has messed up the usability.

Contribute to the project becoming a patron: www.patreon.com/yacreader
You can also donate via Pay-Pal: www.paypal.com/donate?business=5TAMNQCDD...e=Support+YACReader\

Please Log in or Create an account to join the conversation.

More
11 years 9 months ago #970 by selmf
Replied by selmf on topic YACReader pre-alpha 8.0
I started doing a bit of refractoring work on the fitting code when working on the zoom feature, but I haven't touched the config/settings handling yet. I'll see if I can whip something up.

My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.

Please Log in or Create an account to join the conversation.

More
11 years 9 months ago #971 by selmf
Replied by selmf on topic YACReader pre-alpha 8.0
Another bug: It's impossible to delete a shortcut. If you try, you get the message "The shortcut "" is already assigned to other function"

My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.

Please Log in or Create an account to join the conversation.

  • Luis Ángel
  • Topic Author
  • Offline
  • Administrator
  • Administrator
More
11 years 9 months ago #972 by Luis Ángel
Replied by Luis Ángel on topic YACReader pre-alpha 8.0

selmf wrote: Another bug: It's impossible to delete a shortcut. If you try, you get the message "The shortcut "" is already assigned to other function"


Fixed!

Thank you for working on the fitting code.

Contribute to the project becoming a patron: www.patreon.com/yacreader
You can also donate via Pay-Pal: www.paypal.com/donate?business=5TAMNQCDD...e=Support+YACReader\

Please Log in or Create an account to join the conversation.

More
11 years 9 months ago #980 by selmf
Replied by selmf on topic YACReader pre-alpha 8.0
Compiling YACReaderLibrary on Linux (with gcc) is broken:
Code:
LANG=C make g++ -c -include YACReaderLibrary -pipe -std=c++11 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -Wall -W -D_REENTRANT -fPIE -DSERVER_RELEASE -DNOMINMAX -DYACREADER_LIBRARY -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DNDEBUG -D_REENTRANT -DENV_UNIX -D_7ZIP_LARGE_PAGES -DLIBDIR=\"/usr/lib\" -DDATADIR=\"/usr/share\" -DBINDIR=\"/usr/bin\" -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_CORE_LIB -I/usr/lib/qt/mkspecs/linux-g++ -I. -I. -I../common -Iserver -Idb -I../custom_widgets -Icomic_vine -Icomic_vine/model -isystem /usr/include/poppler/qt5 -Iserver -Iserver/lib/bfLogging -Iserver/lib/bfHttpServer -Iserver/lib/bfTemplateEngine -I../custom_widgets -I../compressed_archive -I../compressed_archive/libp7zip/CPP -I../compressed_archive/libp7zip/CPP/myWindows -I../compressed_archive/libp7zip/CPP/include_windows -I../QsLog -I../shortcuts_management -isystem /usr/include/qt -isystem /usr/include/qt/QtOpenGL -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtQuick -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtSql -isystem /usr/include/qt/QtQml -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtScript -isystem /usr/include/qt/QtCore -I. -o reading_list_model.o db/reading_list_model.cpp db/reading_list_model.cpp: In member function 'virtual int ReadingListModel::rowCount(const QModelIndex&) const': db/reading_list_model.cpp:29:20: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:29:51: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp: In member function 'virtual int ReadingListModel::columnCount(const QModelIndex&) const': db/reading_list_model.cpp:44:20: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp:44:60: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp: In member function 'virtual QVariant ReadingListModel::data(const QModelIndex&, int) const': db/reading_list_model.cpp:63:20: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(SpecialListItem)) ^ db/reading_list_model.cpp:63:51: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(SpecialListItem)) ^ db/reading_list_model.cpp:66:20: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(LabelItem)) ^ db/reading_list_model.cpp:66:45: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(LabelItem)) ^ db/reading_list_model.cpp:69:20: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:69:51: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:72:20: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp:72:60: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp:76:61: error: must #include <typeinfo> before using typeid if (role == ReadingListModel::LabelColorRole && typeid(*item) == typeid(LabelItem) ) ^ db/reading_list_model.cpp:76:86: error: must #include <typeinfo> before using typeid if (role == ReadingListModel::LabelColorRole && typeid(*item) == typeid(LabelItem) ) ^ db/reading_list_model.cpp:88:66: error: must #include <typeinfo> before using typeid if (role == ReadingListModel::SpecialListTypeRole && typeid(*item) == typeid(SpecialListItem)) ^ db/reading_list_model.cpp:88:97: error: must #include <typeinfo> before using typeid if (role == ReadingListModel::SpecialListTypeRole && typeid(*item) == typeid(SpecialListItem)) ^ db/reading_list_model.cpp:94:16: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp:94:56: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp: In member function 'virtual Qt::ItemFlags ReadingListModel::flags(const QModelIndex&) const': db/reading_list_model.cpp:114:16: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp:114:56: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListSeparatorItem)) ^ db/reading_list_model.cpp: In member function 'virtual QModelIndex ReadingListModel::parent(const QModelIndex&) const': db/reading_list_model.cpp:181:16: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:181:47: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp: At global scope: db/reading_list_model.cpp:192:78: warning: unused parameter 'action' [-Wunused-parameter] bool ReadingListModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const ^ db/reading_list_model.cpp:214:75: warning: unused parameter 'action' [-Wunused-parameter] bool ReadingListModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) ^ db/reading_list_model.cpp: In member function 'void ReadingListModel::addNewLabel(const QString&, YACReader::LabelColors)': db/reading_list_model.cpp:293:9: warning: unused variable 'newPos' [-Wunused-variable] int newPos = addLabelIntoList(new LabelItem(QList<QVariant>() << name << YACReader::colorToName(color) << id << color)); ^ db/reading_list_model.cpp: In member function 'bool ReadingListModel::isEditable(const QModelIndex&)': db/reading_list_model.cpp:361:20: error: must #include <typeinfo> before using typeid return typeid(*item) != typeid(SpecialListItem); ^ db/reading_list_model.cpp:361:51: error: must #include <typeinfo> before using typeid return typeid(*item) != typeid(SpecialListItem); ^ db/reading_list_model.cpp: In member function 'bool ReadingListModel::isReadingList(const QModelIndex&)': db/reading_list_model.cpp:369:20: error: must #include <typeinfo> before using typeid return typeid(*item) == typeid(ReadingListItem); ^ db/reading_list_model.cpp:369:51: error: must #include <typeinfo> before using typeid return typeid(*item) == typeid(ReadingListItem); ^ db/reading_list_model.cpp: In member function 'bool ReadingListModel::isReadingSubList(const QModelIndex&)': db/reading_list_model.cpp:377:16: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:377:47: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp: In member function 'void ReadingListModel::rename(const QModelIndex&, const QString&)': db/reading_list_model.cpp:403:16: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:403:47: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:416:21: error: must #include <typeinfo> before using typeid else if(typeid(*item) == typeid(LabelItem)) ^ db/reading_list_model.cpp:416:46: error: must #include <typeinfo> before using typeid else if(typeid(*item) == typeid(LabelItem)) ^ db/reading_list_model.cpp: In member function 'void ReadingListModel::deleteItem(const QModelIndex&)': db/reading_list_model.cpp:437:20: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:437:51: error: must #include <typeinfo> before using typeid if(typeid(*item) == typeid(ReadingListItem)) ^ db/reading_list_model.cpp:443:25: error: must #include <typeinfo> before using typeid else if(typeid(*item) == typeid(LabelItem)) ^ db/reading_list_model.cpp:443:50: error: must #include <typeinfo> before using typeid else if(typeid(*item) == typeid(LabelItem)) ^ db/reading_list_model.cpp: In member function 'void ReadingListModel::cleanAll()': db/reading_list_model.cpp:465:16: warning: deleting object of polymorphic class type 'ReadingListItem' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] delete rootItem; ^ db/reading_list_model.cpp: In member function 'bool ReadingListModel::isEditable(const QModelIndex&)': db/reading_list_model.cpp:362:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ db/reading_list_model.cpp: In member function 'bool ReadingListModel::isReadingList(const QModelIndex&)': db/reading_list_model.cpp:370:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ db/reading_list_model.cpp: In member function 'bool ReadingListModel::isReadingSubList(const QModelIndex&)': db/reading_list_model.cpp:387:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ Makefile:2605: recipe for target 'reading_list_model.o' failed make: *** [reading_list_model.o] Error 1

My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.

Please Log in or Create an account to join the conversation.

  • Luis Ángel
  • Topic Author
  • Offline
  • Administrator
  • Administrator
More
11 years 9 months ago #982 by Luis Ángel
Replied by Luis Ángel on topic YACReader pre-alpha 8.0
I am able to compile it using gcc 4.8.2. Are you using gcc 4.9?

Contribute to the project becoming a patron: www.patreon.com/yacreader
You can also donate via Pay-Pal: www.paypal.com/donate?business=5TAMNQCDD...e=Support+YACReader\

Please Log in or Create an account to join the conversation.

More
11 years 9 months ago #983 by selmf
Replied by selmf on topic YACReader pre-alpha 8.0
Yes, gcc 4.9.2. When I add "#include <typeinfo>" to db/reading_list_model.cpp as the error message suggests it works.

Btw, I found a regression in the cover flow. In YACReader, it's no longer possible to click on the right side of the flow to browse the preview. Only the left side works.
YACReaderLibrary seems to be unaffected.

My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.

Please Log in or Create an account to join the conversation.

More
11 years 8 months ago #989 by selmf
Replied by selmf on topic YACReader pre-alpha 8.0
Finally found some time to look into that gl_flow regression. Turns out it's rather trivial. All that is missing is a minus sign in the mouse event code for clicks on the right side.

Let me know if you need more details or want a patch/pull request/code snippet for that.

My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.

Please Log in or Create an account to join the conversation.

  • Luis Ángel
  • Topic Author
  • Offline
  • Administrator
  • Administrator
More
11 years 8 months ago - 11 years 8 months ago #990 by Luis Ángel
Replied by Luis Ángel on topic YACReader pre-alpha 8.0

selmf wrote: Finally found some time to look into that gl_flow regression. Turns out it's rather trivial. All that is missing is a minus sign in the mouse event code for clicks on the right side.

Let me know if you need more details or want a patch/pull request/code snippet for that.


The code in YACReaderFlowGL::mousePressEvent is the same in both 7.2.0 and current development version. It seems that since the QOpenGLWidget migration gluUnproject is not working properly, I have changed the default config for OpenGL I guess that something is missing.

In 7.2.0 mouse clicks are pixel perfect (x-axis) in the gl_flow, a click on the left/right of the central cover performs next()/previous() navigation.

Contribute to the project becoming a patron: www.patreon.com/yacreader
You can also donate via Pay-Pal: www.paypal.com/donate?business=5TAMNQCDD...e=Support+YACReader\
Last edit: 11 years 8 months ago by Luis Ángel.

Please Log in or Create an account to join the conversation.

Moderators: Luis Ángel
Powered by Kunena Forum

Thanks for downloading YACReader!

Your download is starting.

YACReader for iOS and Android

Connect to YACReaderLibrary to browse, read remotely and import comics. Your reading progress is synchronized across devices.

Download on the App Store Get it on Google Play Available at Amazon Appstore

Discover all the features on the iOS and Android pages, and learn how to use them in the iOS and Android user guides.

Support YACReader

YACReader for desktop and server is free to use, but it is not free to develop: maintaining this website, developer programs, code signing certificates, test devices and, of course, all the time it takes. Less than 0.01% of downloads end in a donation, so any amount counts.

By supporting the project you help keep it regularly updated and, most importantly, alive. Thanks!