z1dev / zkanji

Japanese language study suite and dictionary
GNU General Public License v3.0
59 stars 10 forks source link

Fix Linux builds #2

Closed bakatrouble closed 7 years ago

bakatrouble commented 7 years ago

image Runs fine. There are some encoding problems (when importing dictionary, window asking for JLPT replacements looks like this: image"Skip all" button gave me Segmentation Fault for the first time, now process just hangs on step 7/8)

Executing ./zkanji -i ./dataimports for first time does nothing, program starts on second launch.

bakatrouble commented 7 years ago

Will later write a build script for AUR (Arch User Repository), don't you mind?

bakatrouble commented 7 years ago

Is handwriting recognition also missing yet? It was a killer feature for me.

galtgendo commented 7 years ago

For one, I think you should leave distro stuff for its future distro maintainer (wrt. to any distro, not just ArchLinux). The other major thing is that ui files already were utf8, so your batch conversion has actually messed those up (and touching sln and the other VC file was pointless, even given its BOM mark sillyness).

galtgendo commented 7 years ago

...my above comment referenced situation from two commits; third commit mostly fixed that (wrt. ui files), but it still needlessly touches wordstudyform.ui.

galtgendo commented 7 years ago

One more thing: I've seen that "every other time, it launches" too.

Your problem with alpha sign was most likely that mess you've made with ui files.

bakatrouble commented 7 years ago

Okay, I'll revert last u file a bit later. What about packaging, it's common practice in Arch Linux ecosystem for users to create custom packages for software that isn't in official repositories, usually in form of scripts building software from source: https://wiki.archlinux.org/index.php/Arch_User_Repository

I can pass ownership to you once it's complete

galtgendo commented 7 years ago

...also, I don't see that visual (font ? encoding ?) problem you've mentioned about replacement window.

bakatrouble commented 7 years ago

Yes, I've realized I've messed up encodings already, so deleted that part of the comment

galtgendo commented 7 years ago

I don't know about the author, but personally, I'm strongly opposed to any upstream meddling with distro packaging; either it's an extra maintenance burden, that upstream sooner or later fails to bear (if (for example) package files format changes) or the content of such files is close to trivial (then any semi-qualified user can produce such file from distro template).

galtgendo commented 7 years ago

On an unrelated note: the main program window does something, that I consider misbehavior: it opens always in the top left corner, underneath my panel. Does that happen for you too or is that likely window manager dependent ?

If I comment out the call to setWindowFlags and setting Qt::WindowStaysOnTopHint in the constructor (of ZWindow), window manager places the window somewhat randomly, but no longer ignoring the panel.

bakatrouble commented 7 years ago

It always opens in top right corner, below (not overlapping) the top panel.

z1dev commented 7 years ago

I see the problem that was fixed in the first commit, but I'm not sure about the rest. First of all let's not touch any VS related files. Those shouldn't be used by a Linux build at all. Same thing with the resource.rc, which is for Windows only.

I'm not sure about the encoding problem you have, QtCreator compiled the project fine under the virtual Linux that I temporarily set up for testing.

The handwriting recognition is already in this version. It's the zdict.zks data file what is missing from the source release. You can download the Windows binary release and copy it from the data folder to your zkanji data folder.

Is there a way to pull only some commits while the rest is not definite? Please bear with me while I'm learning the GitHub interface.

z1dev commented 7 years ago

zkanji will have a lot of problems under Linux for now, since my main target was Windows for the first release. I'll start fixing problems on Linux from this point on.

I also noticed that windows open in all kind of corners on Linux, which is interesting. They open in the center of the screen or their parent window under Windows.

bakatrouble commented 7 years ago

Actually, encodings conversion is just a cosmetic fix, QtCreator doesn't allow to edit files unless I manually select latin-1 encoding (the only incorrect chars are in copyright header comment)

Removed all the commits but the first one.

bakatrouble commented 7 years ago

Some texts are unreadable with dark Qt theme... Fixing it now. There are also a lot of built-in icons in Qt: list, demo. It's preferred to use those, because they depend on system icon theme if available.

image

z1dev commented 7 years ago

Zkanji supports (or will support) full recoloring of the controls in the settings. This should be true about anything, apart from the window grey border/background and the labels there. Controls and text within controls will use the settings. The defaults should fit the dark theme of Qt since zkanji does use the Qt defaults. If something doesn't fit, it means I picked the wrong default color.

I won't use the default Qt icons, unless they are available in SVG format too. I made the icons in that format to make the interface fully scalable. Is there a style guide somewhere that I could use to alter the colors of the SVG images instead?

EDIT: to the colors, there are many non default text that were designed with the white backgrounds in mind. I should check what is the default background at the moment and alter those defaults accordingly.

bakatrouble commented 7 years ago

Hmm... I'm not sure there're such guides somewhere. For icons, you may create "light" and "dark" themes then, I think it should be sufficient. As for colors, there are few in palette that you might use as defaults, here's enum documentation: http://doc.qt.io/qt-5/qpalette.html#ColorRole-enum You're currently using QStyle::SH_Table_GridLineColor style hint for all drawing area contents, I suggest you to use QPalette::Text for hint and strokes at least. Definition table (?) row backgrounds as well as candidates list katakana/hiragana items backgrounds are too bright for grey text as well, but I'm not sure what palette colors you could use for those.

bakatrouble commented 7 years ago

After all, you could enforce some built-in style like Fusion, but I personally wouldn't like this solution as user.

z1dev commented 7 years ago

I thought I'm only using QStyle::SH_Table_GridLineColor to draw grid lines where necessary. If I'm using that for anything else then it's a bug.

galtgendo commented 7 years ago

Actually, a minor thing about those encoding commits: while mostly cosmetic (even if personally I find it annoying if these days someone goes outside ASCII range and isn't using utf8)), there was a single thing, that might have been more than that: the change for const char *buinfromaji in grammar.cpp.

I'm not sure which action would trigger that part, so can't tell whether current state is valid or not.

Also, @bakatrouble: could you temporarily move your panel to the corner zkanji opens in and check how it behaves then ?

galtgendo commented 7 years ago

..ah, never mind, buinfromaji seems to be an unused variable.

...or is it ? missed a macro...

bakatrouble commented 7 years ago

Hmm... Before it was opening right below top panel, now it opens somewhere in the middle of screen, although not centered.