Re: Haruna in kdereview

2021-08-09 Thread Albert Astals Cid
El dilluns, 9 d’agost de 2021, a les 22:02:29 (CEST), George Florea Banus va 
escriure:
> On 09.08.2021 22:22, Albert Astals Cid wrote:
> > El dilluns, 9 d’agost de 2021, a les 16:23:27 (CEST), George Florea Banus 
> > va escriure:
> >> Or where to go from here.
> > Which are your doubts?
> 
> I'd like to get the review done so I can make a new release.
> 
> Also, after review, how do I version the app? Do I have to make a 1.0 
> release or can I make it 0.7.0?

That's all up to you :)

https://community.kde.org/ReleasingSoftware should have some guidelines.

Cheers,
  Albert

> 
> > Cheers,
> >Albert
> 






Re: Haruna in kdereview

2021-08-09 Thread George Florea Banus

On 09.08.2021 22:22, Albert Astals Cid wrote:

El dilluns, 9 d’agost de 2021, a les 16:23:27 (CEST), George Florea Banus va 
escriure:

Or where to go from here.

Which are your doubts?


I'd like to get the review done so I can make a new release.

Also, after review, how do I version the app? Do I have to make a 1.0 
release or can I make it 0.7.0?



Cheers,
   Albert


Re: Haruna in kdereview

2021-08-09 Thread Albert Astals Cid
El dilluns, 9 d’agost de 2021, a les 16:23:27 (CEST), George Florea Banus va 
escriure:
> Or where to go from here.

Which are your doubts?

Cheers,
  Albert

> 
> On 19.07.2021 15:54, George Florea Banus wrote:
> > Hello
> >
> > I would like to move Haruna to KDEReview.
> >
> > Haruna is a media player based on mpv, focus is on video playback.
> >
> > https://invent.kde.org/multimedia/haruna
> >
> 






Re: Haruna in kdereview

2021-08-09 Thread George Florea Banus

On 21.07.2021 19:38, Jonah Brüchert wrote:
In AudioTube I've been using this FindYoutubeDl module. Maybe you can 
make use of it too.


And if someone on the list finds a problem with it, let me know so I 
can also fix it in AudioTube. 


Sorry for ignoring.

I already made a FindYouTubeDl module based on Findsmartctl by the time 
you posted.




Re: Haruna in kdereview

2021-08-09 Thread George Florea Banus

I have addressed everything that was brought to my attention.

Let me know if there's more. Or where to go from here.

On 19.07.2021 15:54, George Florea Banus wrote:

Hello

I would like to move Haruna to KDEReview.

Haruna is a media player based on mpv, focus is on video playback.

https://invent.kde.org/multimedia/haruna



Re: Haruna in kdereview

2021-07-25 Thread George Florea Banus



On 21.07.2021 18:42, Harald Sitter wrote:

On Wed, Jul 21, 2021 at 4:38 PM George Florea Banus
 wrote:

On 21.07.2021 13:53, Harald Sitter wrote:

- the color-schemes dir seems to do nothing. it installs files that
don't actually exist in the source. fix it or rm -rf?

It had the Breeze color schemes, but I removed them because I don't know
their licenses

https://bugs.kde.org/show_bug.cgi?id=434465

Good call. Maybe add a comment to the commented out option in the
cmakelists? There is also the question whether it is a good idea to
copy the schemes to begin with though. What's the use case behind
this?


I think it was for Windows.


- for the screenshots.md and the metainfo.xml you should consider
using our screenshot CDN instead
https://invent.kde.org/websites/product-screenshots

Already submitted a merge request

- not sure how big of a concern that will be in practice, but you
should be careful with calling mimeTypeForFile, it is potentially
costly and a local path may still be backed by a network'd mount. when
in doubt it's probably better to check KFileItem::isSlow() first and
use mimeTypeForUrl when isSlow is true (or resolve the mimetype in a
qfuture/thread)

mimeTypeForUrl says it will use mimeTypeForFile for local files. Is
checking with KFileItem::isSlow() still necessary?

You are right, I am misremember. What you want to do is match on
extension only when the file is slow
https://doc.qt.io/qt-5/qmimedatabase.html#MatchMode-enum

Mind you, putting the mimetype resolution into a QFuture (and not
change the matchmode) still might be better choice over all since you
eventually create previews that will read form the file anyway. So, if
you first resolve a mimetype no harm is done, so long as you don't do
it on the qApp thread.


Or is it still needed because "a local path may still be backed by a
network'd mount"?

Yep, that is what KFileItem::isSlow() is telling us. If you always
resolve in a QFuture (even for local files) you don't really need to
check isSlow.


I opted for the KFileItem::isSlow() version as I never used QFuture 
before and it seems even more complicated when QML comes into play.


https://invent.kde.org/multimedia/haruna/-/commit/4a4ba7f35ba333b9263b8aecf805189700647a52


- the way static singletons are managed looks a bit old school.
function local statics might be neater
https://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables

Single *instance() { static Single s; return  }

HS

I searched a little about this and people also recommend disabling the
copying and moving for singletons.

Any opinions on that?

Sounds like a good idea ->
https://doc.qt.io/qt-5/qobject.html#Q_DISABLE_COPY_MOVE in private
section of class should get that sorted


Done.



Re: Haruna in kdereview

2021-07-21 Thread Jonah Brüchert



- you should codify the runtime dep on youtube-dl via cmake. make a
dummy finder and set_package_properties it as type RUNTIME e.g.
https://invent.kde.org/plasma/plasma-disks/-/blob/master/cmake/Findsmartctl.cmake



In AudioTube I've been using this FindYoutubeDl module. Maybe you can 
make use of it too.


And if someone on the list finds a problem with it, let me know so I can 
also fix it in AudioTube.




# SPDX-FileCopyrightText: 2021 Jonah Brüchert 
#
# SPDX-License-Identifier: BSD-2-Clause

find_package(Python3 REQUIRED COMPONENTS Interpreter)

execute_process(COMMAND ${Python3_EXECUTABLE} -c "import youtube_dl" 
RESULT_VARIABLE YTDL_CHECK_RESULT)


if (${YTDL_CHECK_RESULT} EQUAL 0)
    set(YoutubeDL_FOUND TRUE)
endif()




OpenPGP_0xA81E075ABEC80A7E.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Re: Haruna in kdereview

2021-07-21 Thread Harald Sitter
On Wed, Jul 21, 2021 at 4:38 PM George Florea Banus
 wrote:
>
> On 21.07.2021 13:53, Harald Sitter wrote:
> > - the color-schemes dir seems to do nothing. it installs files that
> > don't actually exist in the source. fix it or rm -rf?
>
> It had the Breeze color schemes, but I removed them because I don't know
> their licenses
>
> https://bugs.kde.org/show_bug.cgi?id=434465

Good call. Maybe add a comment to the commented out option in the
cmakelists? There is also the question whether it is a good idea to
copy the schemes to begin with though. What's the use case behind
this?

> > - for the screenshots.md and the metainfo.xml you should consider
> > using our screenshot CDN instead
> > https://invent.kde.org/websites/product-screenshots
> Already submitted a merge request
> > - not sure how big of a concern that will be in practice, but you
> > should be careful with calling mimeTypeForFile, it is potentially
> > costly and a local path may still be backed by a network'd mount. when
> > in doubt it's probably better to check KFileItem::isSlow() first and
> > use mimeTypeForUrl when isSlow is true (or resolve the mimetype in a
> > qfuture/thread)
>
> mimeTypeForUrl says it will use mimeTypeForFile for local files. Is
> checking with KFileItem::isSlow() still necessary?

You are right, I am misremember. What you want to do is match on
extension only when the file is slow
https://doc.qt.io/qt-5/qmimedatabase.html#MatchMode-enum

Mind you, putting the mimetype resolution into a QFuture (and not
change the matchmode) still might be better choice over all since you
eventually create previews that will read form the file anyway. So, if
you first resolve a mimetype no harm is done, so long as you don't do
it on the qApp thread.

> Or is it still needed because "a local path may still be backed by a
> network'd mount"?

Yep, that is what KFileItem::isSlow() is telling us. If you always
resolve in a QFuture (even for local files) you don't really need to
check isSlow.

> > - the way static singletons are managed looks a bit old school.
> > function local statics might be neater
> > https://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables
> >
> > Single *instance() { static Single s; return  }
> >
> > HS
>
> I searched a little about this and people also recommend disabling the
> copying and moving for singletons.
>
> Any opinions on that?

Sounds like a good idea ->
https://doc.qt.io/qt-5/qobject.html#Q_DISABLE_COPY_MOVE in private
section of class should get that sorted

On Wed, Jul 21, 2021 at 4:38 PM George Florea Banus
 wrote:
>
> On 21.07.2021 13:53, Harald Sitter wrote:
> > It's an amazing app! Really awesome.
>
> Thank you.
>
> > - you might want to consider using a newer version in your
> > find_package call for ECM. ECM does enable more modern/useful features
> > but only when used with a suitably high version. so, I'd put this at
> > the actual minimal version you want to support
>
> Done.
>
> > - the color-schemes dir seems to do nothing. it installs files that
> > don't actually exist in the source. fix it or rm -rf?
>
> It had the Breeze color schemes, but I removed them because I don't know
> their licenses
>
> https://bugs.kde.org/show_bug.cgi?id=434465
>
> > - for the screenshots.md and the metainfo.xml you should consider
> > using our screenshot CDN instead
> > https://invent.kde.org/websites/product-screenshots
> Already submitted a merge request
> > - not sure how big of a concern that will be in practice, but you
> > should be careful with calling mimeTypeForFile, it is potentially
> > costly and a local path may still be backed by a network'd mount. when
> > in doubt it's probably better to check KFileItem::isSlow() first and
> > use mimeTypeForUrl when isSlow is true (or resolve the mimetype in a
> > qfuture/thread)
>
> mimeTypeForUrl says it will use mimeTypeForFile for local files. Is
> checking with KFileItem::isSlow() still necessary?
>
> Or is it still needed because "a local path may still be backed by a
> network'd mount"?
>
> > - Application::aboutApplication: we do have an AboutPage in klirigami
> > these days, maybe check that out so you can get rid of the qwidget
> > dialog
>
> Done.
>
> > - you should codify the runtime dep on youtube-dl via cmake. make a
> > dummy finder and set_package_properties it as type RUNTIME e.g.
> > https://invent.kde.org/plasma/plasma-disks/-/blob/master/cmake/Findsmartctl.cmake
> Done.
> > some further nitpicks:
> > - _debug.h should actually be superfluous as qdebug can inject context
> > on its own https://doc.qt.io/qt-5/qtglobal.html#qSetMessagePattern
>
> Done.
>
> > - Application::formatTime might want to use kformat::formatduration
> > https://api.kde.org/frameworks/kcoreaddons/html/classKFormat.html
>
> KFormat::formatDuration doesn't seem to add leading 0, so I'll keep the
> existing code, unless something's wrong with it.
>
> > - the way static singletons are managed looks a bit old school.
> > function local 

Re: Haruna in kdereview

2021-07-21 Thread George Florea Banus

On 21.07.2021 13:53, Harald Sitter wrote:

It's an amazing app! Really awesome.


Thank you.


- you might want to consider using a newer version in your
find_package call for ECM. ECM does enable more modern/useful features
but only when used with a suitably high version. so, I'd put this at
the actual minimal version you want to support


Done.


- the color-schemes dir seems to do nothing. it installs files that
don't actually exist in the source. fix it or rm -rf?


It had the Breeze color schemes, but I removed them because I don't know 
their licenses


https://bugs.kde.org/show_bug.cgi?id=434465


- for the screenshots.md and the metainfo.xml you should consider
using our screenshot CDN instead
https://invent.kde.org/websites/product-screenshots

Already submitted a merge request

- not sure how big of a concern that will be in practice, but you
should be careful with calling mimeTypeForFile, it is potentially
costly and a local path may still be backed by a network'd mount. when
in doubt it's probably better to check KFileItem::isSlow() first and
use mimeTypeForUrl when isSlow is true (or resolve the mimetype in a
qfuture/thread)


mimeTypeForUrl says it will use mimeTypeForFile for local files. Is 
checking with KFileItem::isSlow() still necessary?


Or is it still needed because "a local path may still be backed by a 
network'd mount"?



- Application::aboutApplication: we do have an AboutPage in klirigami
these days, maybe check that out so you can get rid of the qwidget
dialog


Done.


- you should codify the runtime dep on youtube-dl via cmake. make a
dummy finder and set_package_properties it as type RUNTIME e.g.
https://invent.kde.org/plasma/plasma-disks/-/blob/master/cmake/Findsmartctl.cmake

Done.

some further nitpicks:
- _debug.h should actually be superfluous as qdebug can inject context
on its own https://doc.qt.io/qt-5/qtglobal.html#qSetMessagePattern


Done.


- Application::formatTime might want to use kformat::formatduration
https://api.kde.org/frameworks/kcoreaddons/html/classKFormat.html


KFormat::formatDuration doesn't seem to add leading 0, so I'll keep the 
existing code, unless something's wrong with it.



- the way static singletons are managed looks a bit old school.
function local statics might be neater
https://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables

Single *instance() { static Single s; return  }

HS


I searched a little about this and people also recommend disabling the 
copying and moving for singletons.


Any opinions on that?


Thanks for the review.



Re: Haruna in kdereview

2021-07-21 Thread Harald Sitter
It's an amazing app! Really awesome.

- you might want to consider using a newer version in your
find_package call for ECM. ECM does enable more modern/useful features
but only when used with a suitably high version. so, I'd put this at
the actual minimal version you want to support
- the color-schemes dir seems to do nothing. it installs files that
don't actually exist in the source. fix it or rm -rf?
- for the screenshots.md and the metainfo.xml you should consider
using our screenshot CDN instead
https://invent.kde.org/websites/product-screenshots
- not sure how big of a concern that will be in practice, but you
should be careful with calling mimeTypeForFile, it is potentially
costly and a local path may still be backed by a network'd mount. when
in doubt it's probably better to check KFileItem::isSlow() first and
use mimeTypeForUrl when isSlow is true (or resolve the mimetype in a
qfuture/thread)
- Application::aboutApplication: we do have an AboutPage in klirigami
these days, maybe check that out so you can get rid of the qwidget
dialog
- you should codify the runtime dep on youtube-dl via cmake. make a
dummy finder and set_package_properties it as type RUNTIME e.g.
https://invent.kde.org/plasma/plasma-disks/-/blob/master/cmake/Findsmartctl.cmake

some further nitpicks:
- _debug.h should actually be superfluous as qdebug can inject context
on its own https://doc.qt.io/qt-5/qtglobal.html#qSetMessagePattern
- Application::formatTime might want to use kformat::formatduration
https://api.kde.org/frameworks/kcoreaddons/html/classKFormat.html
- the way static singletons are managed looks a bit old school.
function local statics might be neater
https://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables

Single *instance() { static Single s; return  }

HS


Re: Haruna in kdereview

2021-07-20 Thread Albert Astals Cid
El dimarts, 20 de juliol de 2021, a les 8:16:58 (CEST), George Florea Banus va 
escriure:
> > The thing you call Header in View -> "Hide header" is called 
> > historically called toolbar, i think you should rename it.
> 
> I'll called it header because that's what Qt calls it and the footer is 
> also a toolbar.
> Do you want me to change only user facing part or  everything? What 
> about the footer?

User facing part is enough.

Typically one would call the footer status bar, but that one is so full of 
widgets that i don't think statusbar would be a good name, anyhow the name is 
not exposed to the user, right?

Cheers,
  Albert

> 
> > All in all, the app is nice, but IMHO suffers a bit from being QML 
> > based and not being able to use KXMLGUI.
> >
> > Cheers,
> >Albert
> 
> Thanks for the review.
> 
> 
> 






Re: Haruna in kdereview

2021-07-20 Thread George Florea Banus

Formatting of my first reply looks terrible in the web mailing list.
Hopefully this one is better. Sorry.

On 20.07.2021 00:39, Albert Astals Cid wrote:
El dilluns, 19 de juliol de 2021, a les 14:54:26 (CEST), George Florea 
Banus va escriure:

You need a

KLocalizedString::setApplicationDomain("haruna")

just after creating your QApplication. Otherwise translations are not 
going to be loaded.


Done.

The menus look is a bit broken (separators and highlight being 
drawn past the actual menu width, icons being painted "blurrily"), but 
i guess that's not really your fault.


Nothing done here.


The Setting has a "Help!" <- remove the !


Done.

in that "Help!" menu you have a KHelpCenter entry that should be 
called "Haruna handbook" like in the rest of applications.


Done.

The first time i open the app the "Color scheme" combo box doesn't 
have contents, given there's a default entry i'd expect to see that.


I encountered a weird issues here. The color scheme is saved to the 
"ColorScheme" entry 
https://invent.kde.org/multimedia/haruna/-/blob/master/src/settings/generalsettings.kcfg#L46 

But the default value for "GeneralSettings::colorScheme()" is 
BreezeLight, even if I set a default value.
If I rename the entry, for example to "ColorScheme123" then it gets the 
correct default value.
Or if I move it to another settings class like MouseSettings, then it 
also gets the correct default value.


The "english only" help is kind of weird. Why are you using html for 
that? Seems like something you should do with tooltips and if those 
QML components don't support tooltips, at least make the help page 
with QML so it's translatable?


That's what I used before adding the docbook file. The content of the 
html pages are the same as the content in the docbook.

I kept them because the KHelpCenter doesn't render the html correctly.
Sometimes there's no space between words, if rows are long enough they 
get behind the scrollbar, there's no bold.
As for why not use tooltips, sometimes there's just to much text. 
https://invent.kde.org/multimedia/haruna/-/blob/master/help/VideoSettings.html


I've no idea what the "Open config..." entries in the settings menu 
are supposed to do, but both fail with "file doesn't exist" for me.


They open the config file and config folder, but it tried to open a 
wrong path, I fixed that now.

And now it's also hidden when the config folder doesn't exist.


Esc not only exits fullscreen (good) but enters fullscreen (weird).


Fixed.

The "Primary Subtitle" MenuItem that tries to be a title is kind of 
weird because it has exactly the same look that the other menus, 
at least disable clicking on it, because i can click on it and then 
it's even more confusing if it's really wants to be a title or not 
without reading the code :D


Yes, it's used as title. I wanted to change that menu, but couldn't come 
with anything better.

I think I'll change it so it manages only the primary subtitle.

It does remember the last thing i was playing, which I dislike, I 
tried to look for a config option to disable it but doesn't seem to be 
one. Feel free to ignore this.


I'll add an option to disable that behavior, someone else requested it too.

The thing you call Header in View -> "Hide header" is called 
historically called toolbar, i think you should rename it.


I'll called it header because that's what Qt calls it and the footer is 
also a toolbar.
Do you want me to change only user facing part or  everything? What 
about the footer?


All in all, the app is nice, but IMHO suffers a bit from being QML 
based and not being able to use KXMLGUI.


Cheers,
   Albert


Thanks for the review.




Re: Haruna in kdereview

2021-07-20 Thread George Florea Banus



On 20.07.2021 00:39, Albert Astals Cid wrote:

El dilluns, 19 de juliol de 2021, a les 14:54:26 (CEST), George Florea Banus va 
escriure:
You need a

KLocalizedString::setApplicationDomain("haruna")

just after creating your QApplication. Otherwise translations are not going to 
be loaded.

Done.

The menus look is a bit broken (separators and highlight being drawn past the actual 
menu width, icons being painted "blurrily"), but i guess that's not really your 
fault.

Nothing done here.

The Setting has a "Help!" <- remove the !

Done.

in that "Help!" menu you have a KHelpCenter entry that should be called "Haruna 
handbook" like in the rest of applications.

Done.

The first time i open the app the "Color scheme" combo box doesn't have 
contents, given there's a default entry i'd expect to see that.
I encountered a weird issues here. The color scheme is saved to the 
"ColorScheme" entry 
https://invent.kde.org/multimedia/haruna/-/blob/master/src/settings/generalsettings.kcfg#L46
But the default value for "GeneralSettings::colorScheme()" is 
BreezeLight, even if I set a default value.
If I rename the entry, for example to "ColorScheme123" then it gets the 
correct default value.
Or if I move it to another settings class like MouseSettings, then it 
also gets the correct default value.

The "english only" help is kind of weird. Why are you using html for that? 
Seems like something you should do with tooltips and if those QML components don't 
support tooltips, at least make the help page with QML so it's translatable?
That's what I used before adding the docbook file. The content of the 
html pages are the same as the content in the docbook.

I kept them because the KHelpCenter doesn't render the html correctly.
Sometimes there's no space between words, if rows are long enough they 
get behind the scrollbar, there's no bold.
As for why not use tooltips, sometimes there's just to much text. 
https://invent.kde.org/multimedia/haruna/-/blob/master/help/VideoSettings.html

I've no idea what the "Open config..." entries in the settings menu are supposed to do, 
but both fail with "file doesn't exist" for me.
They open the config file and config folder, but it tried to open a 
wrong path, I fixed that now.

And now it's also hidden when the config folder doesn't exist.

Esc not only exits fullscreen (good) but enters fullscreen (weird).

Fixed.

The "Primary Subtitle" MenuItem that tries to be a title is kind of weird because 
it has exactly the same look that the other menus, at least disable clicking on it, 
because i can click on it and then it's even more confusing if it's really wants to be a 
title or not without reading the code :D
Yes, it's used as title. I wanted to change that menu, but couldn't come 
with anything better.

I think I'll change it so it manages only the primary subtitle.

It does remember the last thing i was playing, which I dislike, I tried to look 
for a config option to disable it but doesn't seem to be one. Feel free to 
ignore this.

I'll add an option to disable that behavior, someone else requested it too.

The thing you call Header in View -> "Hide header" is called historically 
called toolbar, i think you should rename it.
I'll called it header because that's what Qt calls it and the footer is 
also a toolbar.
Do you want me to change only user facing part or  everything? What 
about the footer?

All in all, the app is nice, but IMHO suffers a bit from being QML based and 
not being able to use KXMLGUI.

Cheers,
   Albert


Thanks for the review.




Re: Haruna in kdereview

2021-07-19 Thread Albert Astals Cid
El dilluns, 19 de juliol de 2021, a les 14:54:26 (CEST), George Florea Banus va 
escriure:
> Hello
> 
> I would like to move Haruna to KDEReview.
> 
> Haruna is a media player based on mpv, focus is on video playback.
> 
> https://invent.kde.org/multimedia/haruna


You need a

KLocalizedString::setApplicationDomain("haruna") 

just after creating your QApplication. Otherwise translations are not going to 
be loaded.

The menus look is a bit broken (separators and highlight being drawn past 
the actual menu width, icons being painted "blurrily"), but i guess that's not 
really your fault.

The Setting has a "Help!" <- remove the !

in that "Help!" menu you have a KHelpCenter entry that should be called "Haruna 
handbook" like in the rest of applications.

The first time i open the app the "Color scheme" combo box doesn't have 
contents, given there's a default entry i'd expect to see that.

The "english only" help is kind of weird. Why are you using html for that? 
Seems like something you should do with tooltips and if those QML components 
don't support tooltips, at least make the help page with QML so it's 
translatable?

I've no idea what the "Open config..." entries in the settings menu are 
supposed to do, but both fail with "file doesn't exist" for me.

Esc not only exits fullscreen (good) but enters fullscreen (weird).

The "Primary Subtitle" MenuItem that tries to be a title is kind of weird 
because it has exactly the same look that the other menus, at least 
disable clicking on it, because i can click on it and then it's even more 
confusing if it's really wants to be a title or not without reading the code :D

It does remember the last thing i was playing, which I dislike, I tried to look 
for a config option to disable it but doesn't seem to be one. Feel free to 
ignore this.

The thing you call Header in View -> "Hide header" is called historically 
called toolbar, i think you should rename it.

All in all, the app is nice, but IMHO suffers a bit from being QML based and 
not being able to use KXMLGUI.

Cheers,
  Albert




Haruna in kdereview

2021-07-19 Thread George Florea Banus

Hello

I would like to move Haruna to KDEReview.

Haruna is a media player based on mpv, focus is on video playback.

https://invent.kde.org/multimedia/haruna