Welcome to the forum, Guest

TOPIC: YACReader pre-alpha 8.0

YACReader pre-alpha 8.0 9 years 3 months ago #968

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

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.
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #969

Luis Ángel

Offline

Administrator

Posts: 2625

Thank you received: 544

Karma: 8

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\
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #970

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

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.
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #971

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

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.
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #972

Luis Ángel

Offline

Administrator

Posts: 2625

Thank you received: 544

Karma: 8

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\
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #980

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

Compiling YACReaderLibrary on Linux (with gcc) is broken:
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.
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #982

Luis Ángel

Offline

Administrator

Posts: 2625

Thank you received: 544

Karma: 8

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\
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #983

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

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.
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #989

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

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.
The administrator has disabled public write access.

YACReader pre-alpha 8.0 9 years 3 months ago #990

Luis Ángel

Offline

Administrator

Posts: 2625

Thank you received: 544

Karma: 8

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: 9 years 3 months ago by Luis Ángel.
The administrator has disabled public write access.
Powered by Kunena Forum