Re: The tooltip state. Not that good. Proposal for improvement.

2012-06-05 Thread Sebastian Kügler
On Tuesday, May 29, 2012 21:37:42 Mark wrote:
 Seriously, thank you for the information. That little piece of vital
 information was missing on the wiki. I added it:
 http://techbase.kde.org/Development/Tutorials/Plasma/QML/API#Dialog though
 you probably want to make it more acurate.

Stating the obvious ... it's a wiki for a reason... :-)
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-06-05 Thread Mark
On Tue, Jun 5, 2012 at 1:28 PM, Sebastian Kügler se...@kde.org wrote:

 On Tuesday, May 29, 2012 21:37:42 Mark wrote:
  Seriously, thank you for the information. That little piece of vital
  information was missing on the wiki. I added it:
  http://techbase.kde.org/Development/Tutorials/Plasma/QML/API#Dialogthough
  you probably want to make it more acurate.

 Stating the obvious ... it's a wiki for a reason... :-)


Sure, nice comment...
I am editing the wiki if i have something to add! I'm not a wiki pro nor do
i have all the knowledge in those components.
In fact, you, marco and aaron are probably _the_ ones that know nearly
everything of those components so why don't you make my testing easier and
share some of your knowledge in the wiki? I for one am actually looking in
there to find information!

I can't add what i don't know..
So please, add more information to the wiki since right now there is a lot
of stuff missing hence my questions in this list about those components.


 --
 sebas

 http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9
 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-06-05 Thread Sebastian Kügler
On Tuesday, June 05, 2012 14:57:42 Mark wrote:
 On Tue, Jun 5, 2012 at 1:28 PM, Sebastian Kügler se...@kde.org wrote:
  On Tuesday, May 29, 2012 21:37:42 Mark wrote:
   Seriously, thank you for the information. That little piece of vital
   information was missing on the wiki. I added it:
   http://techbase.kde.org/Development/Tutorials/Plasma/QML/API#Dialogthoug
   h
   you probably want to make it more acurate.
  
  Stating the obvious ... it's a wiki for a reason...
 
 Sure, nice comment...
 I am editing the wiki if i have something to add! I'm not a wiki pro nor do
 i have all the knowledge in those components.
 In fact, you, marco and aaron are probably the ones that know nearly
 everything of those components so why don't you make my testing easier and
 share some of your knowledge in the wiki? I for one am actually looking in
 there to find information!
 
 I can't add what i don't know..
 So please, add more information to the wiki since right now there is a lot
 of stuff missing hence my questions in this list about those components.

I just re-read and saw that you already added it, so please nevermind. (It's 
the exact thing I meant, if it's just a little bit of information you want 
added which you just gathered, just add it -- which you did.

Sorry for the misunderstanding.
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Mark
On Mon, May 28, 2012 at 12:34 AM, Aaron J. Seigo ase...@kde.org wrote:

 On Sunday, May 27, 2012 21:15:30 Mark wrote:
  You perhaps made the mental leap, for met it's still KDE without the
 SC.
  It's just the way people call KDE and that sticks. the SC seems like some
  expra part that people don't seem to remember.

 SC is part of the engineering jargon we use: it's the combined release of
 lots of separate modules. we don't use that term in public communication
 (marketing, etc) and there's a reason for that.

 regardless, what i said had nothing at all to do with the SC, but rather
 about
 the technical design of the code base and where the lines of separation
 exist.

 for those of us working on the technology, it's really important to
 understand
 the separation between the libraries, workspaces and applications because
 that
 affects the technical decisons we allow ourselves to make.

 --
 Aaron J. Seigo
 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel


This tooltip stuff just got a whole lot more complicated. I asked Martin
(added to cc) for information about the window previews in QML. The reply i
got was very surprising!

--
Hi Mark,

window previews can only be done in KWin and not in Plasma. IMHO the
complete
tooltip functionality has to be moved to KWin for exactly that reason. In
fact
I want to do more about it, like rendering unscaled window decorations
around
the preview which have a working close button. These are things only
possible
from inside KWin.

Cheers
--

Yeah, he wants to move tooltips to KWin! That certainly is interesting to
say the least and that is kinda blocking what i'm doing right now with the
tooltips.
So how is this going to work if it's in KWin?
How will this be put in a library if the tooltips depend on KWin.. Surely
it's not the intention to let Dolphin depend on KWin for the tooltips?

I would like to continue this tooltip effort and finish it, but i do need
to know where this is going to. Are the window previews somehow going to
be posible in QML outside of KWin so that everything stays the same as it
is tight now only with QML? Or is everything going to move to KWin? In the
latte one i really need help getting it there. KWin is complex!

Feedback - lots of it - is certainly helpful now since i just don't know
where tooltips are supposed to be ending up. :)
And getting everyone informed so that we all know who is doing what seems
to be helpful in this situation as well ^_-

Cheers,
Mark
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Aaron J. Seigo
On Tuesday, May 29, 2012 10:28:20 Mark wrote:
 On Mon, May 28, 2012 at 12:34 AM, Aaron J. Seigo ase...@kde.org wrote:
  On Sunday, May 27, 2012 21:15:30 Mark wrote:
   You perhaps made the mental leap, for met it's still KDE without the
  
  SC.
  
   It's just the way people call KDE and that sticks. the SC seems like
   some
   expra part that people don't seem to remember.
  
  SC is part of the engineering jargon we use: it's the combined release
  of
  lots of separate modules. we don't use that term in public communication
  (marketing, etc) and there's a reason for that.
  
  regardless, what i said had nothing at all to do with the SC, but rather
  about
  the technical design of the code base and where the lines of separation
  exist.
  
  for those of us working on the technology, it's really important to
  understand
  the separation between the libraries, workspaces and applications because
  that
  affects the technical decisons we allow ourselves to make.
  
  --
  Aaron J. Seigo
  ___
  Plasma-devel mailing list
  Plasma-devel@kde.org
  https://mail.kde.org/mailman/listinfo/plasma-devel
 
 This tooltip stuff just got a whole lot more complicated. I asked Martin
 (added to cc) for information about the window previews in QML. The reply i

this is why we do things on public mailing lists instead of N different private 
threads. it makes it much more difficult to work together on things.

 Yeah, he wants to move tooltips to KWin!

yes, this is Martin's current set of ideas: move everything to the window 
manager.

i disagree and think it is a horrible idea for reasons i've explained 
elsewhere.

 So how is this going to work if it's in KWin?
 How will this be put in a library if the tooltips depend on KWin.. Surely
 it's not the intention to let Dolphin depend on KWin for the tooltips?

well, yes, this is one reason what Martin suggested makes no sense. it's also 
completely irrelevant to the current task of separating out tooltips, so i 
don't think you need to worry about it. we have a working system right now for 
window previews. and yes, it relies on a compositer running, but that is a 
rutnime dependency .. 

for the task of creating a set of sharable tooltip classes, don't worry about 
reinventing the window preview code. there will be C++ involved, and that C++ 
can import an object into the QML that gives access to requesting window 
previews at a certain place in the tooltip (e.g. a new QML Item called 
WindowPreview that is actually a C++ class which handles all the previewing 
goodies; the QML would just create one or more of these WindowPreview objects 
and ensure they are placed correctly).

from there, we'll see how nicely the current system works for this (we know 
from Plasma Active where we will run into challenges) and then we can start 
working on a reasonable solution for them if we need to (the current system 
may turn out to be good enough for now for plasma desktop).

and please, keep discussion on the mailing list.

-- 
Aaron J. Seigo

signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Mark
On Tue, May 29, 2012 at 1:16 PM, Aaron J. Seigo ase...@kde.org wrote:

 On Tuesday, May 29, 2012 10:28:20 Mark wrote:
  On Mon, May 28, 2012 at 12:34 AM, Aaron J. Seigo ase...@kde.org wrote:
   On Sunday, May 27, 2012 21:15:30 Mark wrote:
You perhaps made the mental leap, for met it's still KDE without
 the
  
   SC.
  
It's just the way people call KDE and that sticks. the SC seems like
some
expra part that people don't seem to remember.
  
   SC is part of the engineering jargon we use: it's the combined
 release
   of
   lots of separate modules. we don't use that term in public
 communication
   (marketing, etc) and there's a reason for that.
  
   regardless, what i said had nothing at all to do with the SC, but
 rather
   about
   the technical design of the code base and where the lines of separation
   exist.
  
   for those of us working on the technology, it's really important to
   understand
   the separation between the libraries, workspaces and applications
 because
   that
   affects the technical decisons we allow ourselves to make.
  
   --
   Aaron J. Seigo
   ___
   Plasma-devel mailing list
   Plasma-devel@kde.org
   https://mail.kde.org/mailman/listinfo/plasma-devel
 
  This tooltip stuff just got a whole lot more complicated. I asked Martin
  (added to cc) for information about the window previews in QML. The
 reply i

 this is why we do things on public mailing lists instead of N different
 private
 threads. it makes it much more difficult to work together on things.

  Yeah, he wants to move tooltips to KWin!

 yes, this is Martin's current set of ideas: move everything to the window
 manager.

 i disagree and think it is a horrible idea for reasons i've explained
 elsewhere.


That's going to be a nice battle between you two at Akademy ;-)


  So how is this going to work if it's in KWin?
  How will this be put in a library if the tooltips depend on KWin.. Surely
  it's not the intention to let Dolphin depend on KWin for the tooltips?

 well, yes, this is one reason what Martin suggested makes no sense. it's
 also
 completely irrelevant to the current task of separating out tooltips, so i
 don't think you need to worry about it. we have a working system right now
 for
 window previews. and yes, it relies on a compositer running, but that is a
 rutnime dependency ..

 for the task of creating a set of sharable tooltip classes, don't worry
 about
 reinventing the window preview code. there will be C++ involved, and that
 C++
 can import an object into the QML that gives access to requesting window
 previews at a certain place in the tooltip (e.g. a new QML Item called
 WindowPreview that is actually a C++ class which handles all the previewing
 goodies; the QML would just create one or more of these WindowPreview
 objects
 and ensure they are placed correctly).


Ahh oke, i get it.
For the moment i can even try to use a QGraphicsProxyWidget and just send
WindowPreview to QML. It actually seems fairly easy to do as described
here:
http://qt-project.org/doc/qt-4.8/declarative-cppextensions-qwidgets-qwidgets-cpp.html
or
if it doesn't work i can always put a big red squared stub in it as
placeholder ^_-


 from there, we'll see how nicely the current system works for this (we know
 from Plasma Active where we will run into challenges) and then we can start
 working on a reasonable solution for them if we need to (the current system
 may turn out to be good enough for now for plasma desktop).

 and please, keep discussion on the mailing list.


It does seem like this will be useful anyway and just one small part that
is problematic (window previews) so I'll continue with it and get it
working.

Thank you for the clarification


 --
 Aaron J. Seigo
 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel


___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Marco Martin
On Tuesday 29 May 2012, Mark wrote:

  can import an object into the QML that gives access to requesting window
  previews at a certain place in the tooltip (e.g. a new QML Item called
  WindowPreview that is actually a C++ class which handles all the
  previewing goodies; the QML would just create one or more of these
  WindowPreview objects
  and ensure they are placed correctly).
 
 Ahh oke, i get it.
 For the moment i can even try to use a QGraphicsProxyWidget and just send
 WindowPreview to QML. It actually seems fairly easy to do as described
 here:
 http://qt-project.org/doc/qt-4.8/declarative-cppextensions-qwidgets-qwidget
 s-cpp.html or
 if it doesn't work i can always put a big red squared stub in it as
 placeholder ^_-

probably doesn't work since when windowpreview is a proxywidget doesn't have a 
read window id anymore: the window preview mechanism works by setting an Atom 
on the actual X11 window that asks for a preview of a particular window to be 
drawn at cerain coordinates by the compositor.

the nearest thing to what you need is the old windowstrip plasmoid that lives 
in plasma-mobile repository


-- 
Marco Martin
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Mark
On Tue, May 29, 2012 at 1:59 PM, Marco Martin notm...@gmail.com wrote:

 On Tuesday 29 May 2012, Mark wrote:

   can import an object into the QML that gives access to requesting
 window
   previews at a certain place in the tooltip (e.g. a new QML Item called
   WindowPreview that is actually a C++ class which handles all the
   previewing goodies; the QML would just create one or more of these
   WindowPreview objects
   and ensure they are placed correctly).
 
  Ahh oke, i get it.
  For the moment i can even try to use a QGraphicsProxyWidget and just send
  WindowPreview to QML. It actually seems fairly easy to do as described
  here:
 
 http://qt-project.org/doc/qt-4.8/declarative-cppextensions-qwidgets-qwidget
  s-cpp.html or
  if it doesn't work i can always put a big red squared stub in it as
  placeholder ^_-

 probably doesn't work since when windowpreview is a proxywidget doesn't
 have a
 read window id anymore: the window preview mechanism works by setting an
 Atom
 on the actual X11 window that asks for a preview of a particular window to
 be
 drawn at cerain coordinates by the compositor.


Then we follow the approach from this
http://get.qt.nokia.com/training/QtQuickforCppDevelopers/slides/qml-cpp-integration.pdf.
Custom painting on top of a QML item. That should certainly be possible
since you just make the WindowPreview in C++ and let it paint on a QML
item. Perhaps nasty but that probably works.

I could be a bit naive, but i don't really see an issue on getting the
preview to QML. Perhaps i still need to hit a big giant wall that stops me.
^_-


 the nearest thing to what you need is the old windowstrip plasmoid that
 lives
 in plasma-mobile repository

 Will take a look at that one.


 --
 Marco Martin
 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Marco Martin
On Tuesday 29 May 2012, Mark wrote:
 
 Then we follow the approach from this
 http://get.qt.nokia.com/training/QtQuickforCppDevelopers/slides/qml-cpp-int
 egration.pdf. Custom painting on top of a QML item. That should certainly
 be possible since you just make the WindowPreview in C++ and let it paint
 on a QML item. Perhaps nasty but that probably works.
-

the difference here is that who is painting is not the c++ side of that 
application... is another process entirely: kwin :p

as is said, the windowstrip applet does everything you need

-- 
Marco Martin
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Aaron J. Seigo
On Tuesday, May 29, 2012 13:53:47 Mark wrote:
 Ahh oke, i get it.
 For the moment i can even try to use a QGraphicsProxyWidget and just send
 WindowPreview to QML. It actually seems fairly easy to do as described
 here:
 http://qt-project.org/doc/qt-4.8/declarative-cppextensions-qwidgets-qwidgets
 -cpp.html or
 if it doesn't work i can always put a big red squared stub in it as
 placeholder ^_-

heh.. yes.. for getting devel going, a placeholder is fine. 

as marco noted, a proxy widget isn't going to be much help. what is needed is 
a QML element that knows of the top level window so it can set xatoms as 
needed (and later whatever we do for wayland, etc).

so to me it makes sense to have this particular QML item be a C++ subclass of 
QDeclarativeItem that is tightly coupled to the window implementation and has 
a property for the window id to show.

one question would be whether to support showing multiple windows in one of 
these items, or one window per item. i lean towards one window per item for 
ease of implementation and flexibility of use inside the QML.

(and yes, with the xatom approach we'll run into repaint latency issues if 
these are highly animated ... but let's start with this and then start 
experimenting from there.)

-- 
Aaron J. Seigo

signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Mark
On Tue, May 29, 2012 at 2:24 PM, Aaron J. Seigo ase...@kde.org wrote:

 On Tuesday, May 29, 2012 13:53:47 Mark wrote:
  Ahh oke, i get it.
  For the moment i can even try to use a QGraphicsProxyWidget and just send
  WindowPreview to QML. It actually seems fairly easy to do as described
  here:
 
 http://qt-project.org/doc/qt-4.8/declarative-cppextensions-qwidgets-qwidgets
  -cpp.html or
  if it doesn't work i can always put a big red squared stub in it as
  placeholder ^_-

 heh.. yes.. for getting devel going, a placeholder is fine.

 as marco noted, a proxy widget isn't going to be much help. what is needed
 is
 a QML element that knows of the top level window so it can set xatoms as
 needed (and later whatever we do for wayland, etc).

 so to me it makes sense to have this particular QML item be a C++ subclass
 of
 QDeclarativeItem that is tightly coupled to the window implementation and
 has
 a property for the window id to show.

 one question would be whether to support showing multiple windows in one of
 these items, or one window per item. i lean towards one window per item for
 ease of implementation and flexibility of use inside the QML.


Certainly 1! then a list of those elements when there are multiple.
Showing it would probably be with either a Row {} or Column {} depending on
the orientation.


 (and yes, with the xatom approach we'll run into repaint latency issues if
 these are highly animated ... but let's start with this and then start
 experimenting from there.)

 --
 Aaron J. Seigo
 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel


___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Mark
On Tue, May 29, 2012 at 2:29 PM, Mark mark...@gmail.com wrote:

 On Tue, May 29, 2012 at 2:24 PM, Aaron J. Seigo ase...@kde.org wrote:

 On Tuesday, May 29, 2012 13:53:47 Mark wrote:
  Ahh oke, i get it.
  For the moment i can even try to use a QGraphicsProxyWidget and just
 send
  WindowPreview to QML. It actually seems fairly easy to do as described
  here:
 
 http://qt-project.org/doc/qt-4.8/declarative-cppextensions-qwidgets-qwidgets
  -cpp.html or
  if it doesn't work i can always put a big red squared stub in it as
  placeholder ^_-

 heh.. yes.. for getting devel going, a placeholder is fine.

 as marco noted, a proxy widget isn't going to be much help. what is
 needed is
 a QML element that knows of the top level window so it can set xatoms as
 needed (and later whatever we do for wayland, etc).

 so to me it makes sense to have this particular QML item be a C++
 subclass of
 QDeclarativeItem that is tightly coupled to the window implementation and
 has
 a property for the window id to show.

 one question would be whether to support showing multiple windows in one
 of
 these items, or one window per item. i lean towards one window per item
 for
 ease of implementation and flexibility of use inside the QML.


 Certainly 1! then a list of those elements when there are multiple.
 Showing it would probably be with either a Row {} or Column {} depending
 on the orientation.


 (and yes, with the xatom approach we'll run into repaint latency issues if
 these are highly animated ... but let's start with this and then start
 experimenting from there.)

 --
 Aaron J. Seigo
 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel


 http://techbase.kde.org/Development/Tutorials/Plasma/QML/API#Dialog now i
remember one of the issues i had with a Dialog. What's the recommended way
of changing it's width and/or height?

width and height are read only ...
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Aaron J. Seigo
On Tuesday, May 29, 2012 19:42:53 Mark wrote:
 remember one of the issues i had with a Dialog. What's the recommended way
 of changing it's width and/or height?

it should, hopefully, resize to accomodate the size of the content. Marco: is 
there a way to signal to the dialog what the good size for the content is?

-- 
Aaron J. Seigo

signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Marco Martin
On Tuesday 29 May 2012, Aaron J. Seigo wrote:
 On Tuesday, May 29, 2012 19:42:53 Mark wrote:
  remember one of the issues i had with a Dialog. What's the recommended
  way of changing it's width and/or height?
 
 it should, hopefully, resize to accomodate the size of the content. Marco:
 is there a way to signal to the dialog what the good size for the
 content is?

the dialog should always follow its main item geometry, resize the contents 
and the dialog will sync

-- 
Marco Martin
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-29 Thread Mark
On Tue, May 29, 2012 at 8:55 PM, Marco Martin notm...@gmail.com wrote:

 On Tuesday 29 May 2012, Aaron J. Seigo wrote:
  On Tuesday, May 29, 2012 19:42:53 Mark wrote:
   remember one of the issues i had with a Dialog. What's the recommended
   way of changing it's width and/or height?
 
  it should, hopefully, resize to accomodate the size of the content.
 Marco:
  is there a way to signal to the dialog what the good size for the
  content is?

 the dialog should always follow its main item geometry, resize the contents
 and the dialog will sync


Interesting, so i can make the main item in fullscreen and still have a
fullscreen component. Nenermind my ApplicationWindow proposal, this is a
lot more fun to tease our beloved users ;-)

Anyone up for a user test of:
PlasmaCore.Dialog
{
   Rectangle
  {
width: Math.random() * 1680
height: Math.random() * 1050
  }
}

(now i probably wrote that wrong but you get the idea)

I hope you do smile the sarcasm ^_-

Seriously, thank you for the information. That little piece of vital
information was missing on the wiki. I added it:
http://techbase.kde.org/Development/Tutorials/Plasma/QML/API#Dialog though
you probably want to make it more acurate.


 --
 Marco Martin
 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Aaron J. Seigo
On Saturday, May 26, 2012 03:08:41 Mark wrote:
 For dolphin i can understand the reason to have it's own tooltip class
 because it wants to fetch the tooltip data in a separate process in order
 to prevent a crash in the tooltip from crashing dolphin.

there is no reason this could not be accomodated in the Plasma tooltips. the 
file icon would specify that it has a tooltip, when shown the manager sends it 
the about to show signal, it starts the process of fetching data, when that 
arrives it actually populates the tooltip content.

 To get this in a workable situation where anyone can use the tooltips as
 they seem right we probably have to make a new ToolTipManager altogether.

there are 3 classes in Plasma's tooltip system:

ToolTipManager - this one keeps track of which items have tooltips, owns the 
tooltip UI, shows/hides the actual tooltip and tells widgets when they should 
be updating their content because the tooltip will be shown (and again when to 
stop because it will be hidden)

ToolTipContent - this one stores what is in the tooltip itself and is used by 
the widget to tell the manager what should be shown

ToolTip - this is a private class, and handles the UI display

styling belongs to ToolTip. definition belongs to ToolTipContent. management to 
ToolTipManager. 

so if it is an issue of styling and controlling that style, then ToolTip would 
need adjustment and perhaps ToolTipContent to direct which style to use. 
ToolTipManager probably wouldn't get touched.

however, do we really need radically different visual styles?

all three application have a pixmap on the left and text on the right. the 
text on the right changes a fair amount from app to app, though: in 
systemsettings it is a category, a separator and a listing; in dolpin, it's a 
title, a separator, and a nicely aligned table of metadata. in Plasma we see 
very similar arrangements in the clock with multiple timezones and in the 
pager displaying multiple windows.

so i'm not sure it's a styling issue at all, and would in fact suggest that 
having a consistent presentation would be an improvement over the current 
situation.

there are things that could use some improving, however:

* Plasma::ToolTipManager is fairly focused on QGraphicsWidget. making it 
usable with QWidgets and ready for QML2 is probably important.

* it assumes one tooltip per widget; this was an issue for folderview, which 
it worked around by putting an invisible item over the item the mouse was 
over. perhaps this could have been different in folderview, however, and isn't 
a real problem in practice.

* ToolTipManager uses QMetaObject::invokeMethod to call toolTipAboutToShow and 
toolTipAboutToHide in items that have tooltips. it would be nice to have a 
more elegant way to do this, in particular a mechanism that would work nicely 
with QML2 and which allows the widget with the tooltip to define the 
connection.

so there are certainly some design issues to be addressed.

as for content, it would be interesting to see if ToolTipContent could be 
extended in some way to more easily accomodate the needs of things like 
showing a table of data (perhaps a QHashQString, QString .. what does 
dolphin use for this datastructure?)

 The current one is _way_ to much tailored at tooltips for the tasks
 plasmoid and doesn't leave much room for customization (correct me if i'm
 wrong). 

the tooltips in Plasma are used by pretty much everything in Plasma. the only 
thing specific to the tasks plasmoid in them is the ability to view previews of 
windows.

most things that use the tooltips ignore this feature cmpletely as it is not 
relevant to them. it is a requirement of some uses, such as in the tasks 
widget.

so i wouldn't say that the current tooltips are too tailored to the tasks 
widget as they are used, well, everywhere.

 I would like to suggest a ToolTipManager with styles! Not themes! I

perhaps this can be determined by the content rather than by explicitly 
setting the style in the application, which is probably just asking for 
inconsistencies. i also don't like the idea of having to subclass things just 
to get a nice tooltip in an application. it's both too much effort and too much 
of an invitation for inconsistency.

i realy wonder if the existing Plasma::ToolTipManager could not just be used 
in system settings already? if it is because it is too QGraphicsView centric, 
let's fix that first ...

i do think this is a good project that can bring a very nice improvement in 
looks and consistency... thanks for taking it on! :)

-- 
Aaron J. Seigo

signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Ben Cooksley
On Sun, May 27, 2012 at 7:43 PM, Aaron J. Seigo ase...@kde.org wrote:
 On Saturday, May 26, 2012 03:08:41 Mark wrote:
 For dolphin i can understand the reason to have it's own tooltip class
 because it wants to fetch the tooltip data in a separate process in order
 to prevent a crash in the tooltip from crashing dolphin.

 there is no reason this could not be accomodated in the Plasma tooltips. the
 file icon would specify that it has a tooltip, when shown the manager sends it
 the about to show signal, it starts the process of fetching data, when that
 arrives it actually populates the tooltip content.

 To get this in a workable situation where anyone can use the tooltips as
 they seem right we probably have to make a new ToolTipManager altogether.

 there are 3 classes in Plasma's tooltip system:

 ToolTipManager - this one keeps track of which items have tooltips, owns the
 tooltip UI, shows/hides the actual tooltip and tells widgets when they should
 be updating their content because the tooltip will be shown (and again when to
 stop because it will be hidden)

 ToolTipContent - this one stores what is in the tooltip itself and is used by
 the widget to tell the manager what should be shown

 ToolTip - this is a private class, and handles the UI display

 styling belongs to ToolTip. definition belongs to ToolTipContent. management 
 to
 ToolTipManager.

 so if it is an issue of styling and controlling that style, then ToolTip would
 need adjustment and perhaps ToolTipContent to direct which style to use.
 ToolTipManager probably wouldn't get touched.

 however, do we really need radically different visual styles?

 all three application have a pixmap on the left and text on the right. the
 text on the right changes a fair amount from app to app, though: in
 systemsettings it is a category, a separator and a listing; in dolpin, it's a
 title, a separator, and a nicely aligned table of metadata. in Plasma we see
 very similar arrangements in the clock with multiple timezones and in the
 pager displaying multiple windows.

For System Settings, the listing has icons as well. Is this possible
with Plasma's tooltip classes?

At the moment, it uses QWidgets (QIcon and QLabel to be precise) with
layouts, as the previous QPainter based code did not handle RTL
layouting properly, and quite often had rendering errors (text running
outside the painted background, etc)


 so i'm not sure it's a styling issue at all, and would in fact suggest that
 having a consistent presentation would be an improvement over the current
 situation.

Agreed, plus it would reduce the amount of code used :)


 there are things that could use some improving, however:

 * Plasma::ToolTipManager is fairly focused on QGraphicsWidget. making it
 usable with QWidgets and ready for QML2 is probably important.

 * it assumes one tooltip per widget; this was an issue for folderview, which
 it worked around by putting an invisible item over the item the mouse was
 over. perhaps this could have been different in folderview, however, and isn't
 a real problem in practice.

 * ToolTipManager uses QMetaObject::invokeMethod to call toolTipAboutToShow and
 toolTipAboutToHide in items that have tooltips. it would be nice to have a
 more elegant way to do this, in particular a mechanism that would work nicely
 with QML2 and which allows the widget with the tooltip to define the
 connection.

For System Settings, the items are in a QGridView, so not sure where
the toolTipAboutToShow, etc methods would go here (on the items
themselves, or the view?)


 so there are certainly some design issues to be addressed.

 as for content, it would be interesting to see if ToolTipContent could be
 extended in some way to more easily accomodate the needs of things like
 showing a table of data (perhaps a QHashQString, QString .. what does
 dolphin use for this datastructure?)

 The current one is _way_ to much tailored at tooltips for the tasks
 plasmoid and doesn't leave much room for customization (correct me if i'm
 wrong).

 the tooltips in Plasma are used by pretty much everything in Plasma. the only
 thing specific to the tasks plasmoid in them is the ability to view previews 
 of
 windows.

 most things that use the tooltips ignore this feature cmpletely as it is not
 relevant to them. it is a requirement of some uses, such as in the tasks
 widget.

 so i wouldn't say that the current tooltips are too tailored to the tasks
 widget as they are used, well, everywhere.

 I would like to suggest a ToolTipManager with styles! Not themes! I

 perhaps this can be determined by the content rather than by explicitly
 setting the style in the application, which is probably just asking for
 inconsistencies. i also don't like the idea of having to subclass things just
 to get a nice tooltip in an application. it's both too much effort and too 
 much
 of an invitation for inconsistency.

 i realy wonder if the existing Plasma::ToolTipManager could not just be used
 in 

Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Mark
On Sun, May 27, 2012 at 9:43 AM, Aaron J. Seigo ase...@kde.org wrote:

 On Saturday, May 26, 2012 03:08:41 Mark wrote:
  For dolphin i can understand the reason to have it's own tooltip class
  because it wants to fetch the tooltip data in a separate process in order
  to prevent a crash in the tooltip from crashing dolphin.

 there is no reason this could not be accomodated in the Plasma tooltips.
 the
 file icon would specify that it has a tooltip, when shown the manager
 sends it
 the about to show signal, it starts the process of fetching data, when that
 arrives it actually populates the tooltip content.


That could be some valuable info for Peter (Dolphin). Adding him in the cc
just in case.


  To get this in a workable situation where anyone can use the tooltips as
  they seem right we probably have to make a new ToolTipManager altogether.

 there are 3 classes in Plasma's tooltip system:

 ToolTipManager - this one keeps track of which items have tooltips, owns
 the
 tooltip UI, shows/hides the actual tooltip and tells widgets when they
 should
 be updating their content because the tooltip will be shown (and again
 when to
 stop because it will be hidden)

 ToolTipContent - this one stores what is in the tooltip itself and is
 used by
 the widget to tell the manager what should be shown

 ToolTip - this is a private class, and handles the UI display

 styling belongs to ToolTip. definition belongs to ToolTipContent.
 management to
 ToolTipManager.

 so if it is an issue of styling and controlling that style, then ToolTip
 would
 need adjustment and perhaps ToolTipContent to direct which style to use.
 ToolTipManager probably wouldn't get touched.

 however, do we really need radically different visual styles?


Well, i guess we need.. Just the tasks plasmoid has 2 different tooltip
styles. One for the app launcher icon and one for the launched apps with a
preview. System settings needs another different style and dolphin needs
yet another different style.


 all three application have a pixmap on the left and text on the right. the
 text on the right changes a fair amount from app to app, though: in
 systemsettings it is a category, a separator and a listing; in dolpin,
 it's a
 title, a separator, and a nicely aligned table of metadata. in Plasma we
 see
 very similar arrangements in the clock with multiple timezones and in the
 pager displaying multiple windows.

 so i'm not sure it's a styling issue at all, and would in fact suggest that
 having a consistent presentation would be an improvement over the current
 situation.

 there are things that could use some improving, however:

 * Plasma::ToolTipManager is fairly focused on QGraphicsWidget. making it
 usable with QWidgets and ready for QML2 is probably important.


 * it assumes one tooltip per widget; this was an issue for folderview,
 which
 it worked around by putting an invisible item over the item the mouse was
 over. perhaps this could have been different in folderview, however, and
 isn't
 a real problem in practice.

 * ToolTipManager uses QMetaObject::invokeMethod to call toolTipAboutToShow
 and
 toolTipAboutToHide in items that have tooltips. it would be nice to have a
 more elegant way to do this, in particular a mechanism that would work
 nicely
 with QML2 and which allows the widget with the tooltip to define the
 connection.

 so there are certainly some design issues to be addressed.

 as for content, it would be interesting to see if ToolTipContent could be
 extended in some way to more easily accomodate the needs of things like
 showing a table of data (perhaps a QHashQString, QString .. what does
 dolphin use for this datastructure?)


Dolphin created tooltips based on KFileItem. They then get send to
dolphin's internal FileMetaDataToolTip class that makes puts it all
together on top of a QWidget.


  The current one is _way_ to much tailored at tooltips for the tasks
  plasmoid and doesn't leave much room for customization (correct me if i'm
  wrong).

 the tooltips in Plasma are used by pretty much everything in Plasma. the
 only
 thing specific to the tasks plasmoid in them is the ability to view
 previews of
 windows.

 most things that use the tooltips ignore this feature cmpletely as it is
 not
 relevant to them. it is a requirement of some uses, such as in the tasks
 widget.

 so i wouldn't say that the current tooltips are too tailored to the tasks
 widget as they are used, well, everywhere.

  I would like to suggest a ToolTipManager with styles! Not themes! I

 perhaps this can be determined by the content rather than by explicitly
 setting the style in the application, which is probably just asking for
 inconsistencies. i also don't like the idea of having to subclass things
 just
 to get a nice tooltip in an application. it's both too much effort and too
 much
 of an invitation for inconsistency.


Subclassing did seem like a nice but a little to complex for what it
actually needs to do. So, no subclassing 

Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Djuro Drljaca
On Sun, May 27, 2012 at 2:44 PM, Mark mark...@gmail.com wrote:

 On Sun, May 27, 2012 at 9:43 AM, Aaron J. Seigo ase...@kde.org wrote:

 On Saturday, May 26, 2012 03:08:41 Mark wrote:
  For dolphin i can understand the reason to have it's own tooltip class
  because it wants to fetch the tooltip data in a separate process in
 order
  to prevent a crash in the tooltip from crashing dolphin.

 there is no reason this could not be accomodated in the Plasma tooltips.
 the
 file icon would specify that it has a tooltip, when shown the manager
 sends it
 the about to show signal, it starts the process of fetching data, when
 that
 arrives it actually populates the tooltip content.


 That could be some valuable info for Peter (Dolphin). Adding him in the cc
 just in case.


  To get this in a workable situation where anyone can use the tooltips as
  they seem right we probably have to make a new ToolTipManager
 altogether.

 there are 3 classes in Plasma's tooltip system:

 ToolTipManager - this one keeps track of which items have tooltips, owns
 the
 tooltip UI, shows/hides the actual tooltip and tells widgets when they
 should
 be updating their content because the tooltip will be shown (and again
 when to
 stop because it will be hidden)

 ToolTipContent - this one stores what is in the tooltip itself and is
 used by
 the widget to tell the manager what should be shown

 ToolTip - this is a private class, and handles the UI display

 styling belongs to ToolTip. definition belongs to ToolTipContent.
 management to
 ToolTipManager.

 so if it is an issue of styling and controlling that style, then ToolTip
 would
 need adjustment and perhaps ToolTipContent to direct which style to use.
 ToolTipManager probably wouldn't get touched.

 however, do we really need radically different visual styles?


 Well, i guess we need.. Just the tasks plasmoid has 2 different tooltip
 styles. One for the app launcher icon and one for the launched apps with a
 preview. System settings needs another different style and dolphin needs
 yet another different style.


 all three application have a pixmap on the left and text on the right. the
 text on the right changes a fair amount from app to app, though: in
 systemsettings it is a category, a separator and a listing; in dolpin,
 it's a
 title, a separator, and a nicely aligned table of metadata. in Plasma we
 see
 very similar arrangements in the clock with multiple timezones and in the
 pager displaying multiple windows.

 so i'm not sure it's a styling issue at all, and would in fact suggest
 that
 having a consistent presentation would be an improvement over the current
 situation.

 there are things that could use some improving, however:

 * Plasma::ToolTipManager is fairly focused on QGraphicsWidget. making it
 usable with QWidgets and ready for QML2 is probably important.


 * it assumes one tooltip per widget; this was an issue for folderview,
 which
 it worked around by putting an invisible item over the item the mouse was
 over. perhaps this could have been different in folderview, however, and
 isn't
 a real problem in practice.

 * ToolTipManager uses QMetaObject::invokeMethod to call
 toolTipAboutToShow and
 toolTipAboutToHide in items that have tooltips. it would be nice to have a
 more elegant way to do this, in particular a mechanism that would work
 nicely
 with QML2 and which allows the widget with the tooltip to define the
 connection.

 so there are certainly some design issues to be addressed.

 as for content, it would be interesting to see if ToolTipContent could be
 extended in some way to more easily accomodate the needs of things like
 showing a table of data (perhaps a QHashQString, QString .. what does
 dolphin use for this datastructure?)


 Dolphin created tooltips based on KFileItem. They then get send to
 dolphin's internal FileMetaDataToolTip class that makes puts it all
 together on top of a QWidget.


  The current one is _way_ to much tailored at tooltips for the tasks
  plasmoid and doesn't leave much room for customization (correct me if
 i'm
  wrong).

 the tooltips in Plasma are used by pretty much everything in Plasma. the
 only
 thing specific to the tasks plasmoid in them is the ability to view
 previews of
 windows.

 most things that use the tooltips ignore this feature cmpletely as it is
 not
 relevant to them. it is a requirement of some uses, such as in the tasks
 widget.

 so i wouldn't say that the current tooltips are too tailored to the tasks
 widget as they are used, well, everywhere.

  I would like to suggest a ToolTipManager with styles! Not themes! I

 perhaps this can be determined by the content rather than by explicitly
 setting the style in the application, which is probably just asking for
 inconsistencies. i also don't like the idea of having to subclass things
 just
 to get a nice tooltip in an application. it's both too much effort and
 too much
 of an invitation for inconsistency.


 Subclassing did seem like a 

Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Aaron J. Seigo
On Sunday, May 27, 2012 14:44:50 Mark wrote:
 On Sun, May 27, 2012 at 9:43 AM, Aaron J. Seigo ase...@kde.org wrote:
  On Saturday, May 26, 2012 03:08:41 Mark wrote:
   For dolphin i can understand the reason to have it's own tooltip class
   because it wants to fetch the tooltip data in a separate process in
   order
   to prevent a crash in the tooltip from crashing dolphin.
  
  there is no reason this could not be accomodated in the Plasma tooltips.
  the
  file icon would specify that it has a tooltip, when shown the manager
  sends it
  the about to show signal, it starts the process of fetching data, when
  that
  arrives it actually populates the tooltip content.
 
 That could be some valuable info for Peter (Dolphin). Adding him in the cc
 just in case.
 
   To get this in a workable situation where anyone can use the tooltips as
   they seem right we probably have to make a new ToolTipManager
   altogether.
  
  there are 3 classes in Plasma's tooltip system:
  
  ToolTipManager - this one keeps track of which items have tooltips, owns
  the
  tooltip UI, shows/hides the actual tooltip and tells widgets when they
  should
  be updating their content because the tooltip will be shown (and again
  when to
  stop because it will be hidden)
  
  ToolTipContent - this one stores what is in the tooltip itself and is
  used by
  the widget to tell the manager what should be shown
  
  ToolTip - this is a private class, and handles the UI display
  
  styling belongs to ToolTip. definition belongs to ToolTipContent.
  management to
  ToolTipManager.
  
  so if it is an issue of styling and controlling that style, then ToolTip
  would
  need adjustment and perhaps ToolTipContent to direct which style to use.
  ToolTipManager probably wouldn't get touched.
  
  however, do we really need radically different visual styles?
 
 Well, i guess we need.. Just the tasks plasmoid has 2 different tooltip
 styles. One for the app launcher icon and one for the launched apps with a
 preview. System settings needs another different style and dolphin needs
 yet another different style.
 
  all three application have a pixmap on the left and text on the right. the
  text on the right changes a fair amount from app to app, though: in
  systemsettings it is a category, a separator and a listing; in dolpin,
  it's a
  title, a separator, and a nicely aligned table of metadata. in Plasma we
  see
  very similar arrangements in the clock with multiple timezones and in the
  pager displaying multiple windows.
  
  so i'm not sure it's a styling issue at all, and would in fact suggest
  that
  having a consistent presentation would be an improvement over the current
  situation.
  
  there are things that could use some improving, however:
  
  * Plasma::ToolTipManager is fairly focused on QGraphicsWidget. making it
  usable with QWidgets and ready for QML2 is probably important.
  
  
  * it assumes one tooltip per widget; this was an issue for folderview,
  which
  it worked around by putting an invisible item over the item the mouse was
  over. perhaps this could have been different in folderview, however, and
  isn't
  a real problem in practice.
  
  * ToolTipManager uses QMetaObject::invokeMethod to call toolTipAboutToShow
  and
  toolTipAboutToHide in items that have tooltips. it would be nice to have a
  more elegant way to do this, in particular a mechanism that would work
  nicely
  with QML2 and which allows the widget with the tooltip to define the
  connection.
  
  so there are certainly some design issues to be addressed.
  
  as for content, it would be interesting to see if ToolTipContent could be
  extended in some way to more easily accomodate the needs of things like
  showing a table of data (perhaps a QHashQString, QString .. what does
  dolphin use for this datastructure?)
 
 Dolphin created tooltips based on KFileItem. They then get send to
 dolphin's internal FileMetaDataToolTip class that makes puts it all
 together on top of a QWidget.

right; so for Dolphin, either subclassing ToolTipContent or making a factory 
method to turn a KFileItem into a ToolTipContent might be best. and then 
ToolTipManager can handle the rest from there.

OR ... ToolTipContent to have a constructor that takes a KFileItem and which 
does the translation internally. this would only make sense if there is more 
than one application in which a tooltip on a file would be useful. my guess is 
yes, but that's just a guess. looking for these apps would be a good idea 
first.

what could be done is an iterative approach:

* make a subclass of ToolTipContent in libkonq that has this KFileItem mutator 
ability
* if there is use for it outside of kde-baseapps, at that point merge that 
code with ToolTipContent

 Step 1: How about i refactor the private ToolTip class to inherit
 from QDeclarativeView.

+1

 Step 2: Rewrite the current drawing logic for ToolTip in a QML file
 (TOOLTIP_STYLE_DEFAULT.qml).

+1

 Step 3: Introduce and enum:

Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Aaron J. Seigo
On Sunday, May 27, 2012 19:55:58 Ben Cooksley wrote:
 For System Settings, the listing has icons as well. Is this possible
 with Plasma's tooltip classes?

yes, as Marco pointed out.

but since we're looking at some re-work of the implementation anyways, it 
might make sense to give ToolTipContent the ability to have a set of items.

i see that System Settings is using a QAbstractItemModel here (or a subclass 
of that, didn't look further :) and passing in a QModelIndex. so perhaps 
ToolTipContent gets the ability to have such an index (perhaps a persistent 
index?) and that is then very easily used from QML.

this would allow us to do much prettier arrangements, including in places like 
the pager and clocks.

 At the moment, it uses QWidgets (QIcon and QLabel to be precise) with
 layouts, as the previous QPainter based code did not handle RTL
 layouting properly, and quite often had rendering errors (text running
 outside the painted background, etc)

yes, we'll move to QML for all this.

 For System Settings, the items are in a QGridView, so not sure where
 the toolTipAboutToShow, etc methods would go here (on the items
 themselves, or the view?)

i agree wit Marco's suggestion.. we'll need different mechanisms for different 
kinds of targets. and one would be written for QItemView that starts watching 
mouse events on the view when the view is hovered (and stops when it is 
unhovered)

-- 
Aaron J. Seigo

signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Mark
On Sun, May 27, 2012 at 5:48 PM, Aaron J. Seigo ase...@kde.org wrote:

 On Sunday, May 27, 2012 14:44:50 Mark wrote:
  On Sun, May 27, 2012 at 9:43 AM, Aaron J. Seigo ase...@kde.org wrote:
   On Saturday, May 26, 2012 03:08:41 Mark wrote:
For dolphin i can understand the reason to have it's own tooltip
 class
because it wants to fetch the tooltip data in a separate process in
order
to prevent a crash in the tooltip from crashing dolphin.
  
   there is no reason this could not be accomodated in the Plasma
 tooltips.
   the
   file icon would specify that it has a tooltip, when shown the manager
   sends it
   the about to show signal, it starts the process of fetching data, when
   that
   arrives it actually populates the tooltip content.
 
  That could be some valuable info for Peter (Dolphin). Adding him in the
 cc
  just in case.
 
To get this in a workable situation where anyone can use the
 tooltips as
they seem right we probably have to make a new ToolTipManager
altogether.
  
   there are 3 classes in Plasma's tooltip system:
  
   ToolTipManager - this one keeps track of which items have tooltips,
 owns
   the
   tooltip UI, shows/hides the actual tooltip and tells widgets when they
   should
   be updating their content because the tooltip will be shown (and again
   when to
   stop because it will be hidden)
  
   ToolTipContent - this one stores what is in the tooltip itself and is
   used by
   the widget to tell the manager what should be shown
  
   ToolTip - this is a private class, and handles the UI display
  
   styling belongs to ToolTip. definition belongs to ToolTipContent.
   management to
   ToolTipManager.
  
   so if it is an issue of styling and controlling that style, then
 ToolTip
   would
   need adjustment and perhaps ToolTipContent to direct which style to
 use.
   ToolTipManager probably wouldn't get touched.
  
   however, do we really need radically different visual styles?
 
  Well, i guess we need.. Just the tasks plasmoid has 2 different tooltip
  styles. One for the app launcher icon and one for the launched apps with
 a
  preview. System settings needs another different style and dolphin needs
  yet another different style.
 
   all three application have a pixmap on the left and text on the right.
 the
   text on the right changes a fair amount from app to app, though: in
   systemsettings it is a category, a separator and a listing; in dolpin,
   it's a
   title, a separator, and a nicely aligned table of metadata. in Plasma
 we
   see
   very similar arrangements in the clock with multiple timezones and in
 the
   pager displaying multiple windows.
  
   so i'm not sure it's a styling issue at all, and would in fact suggest
   that
   having a consistent presentation would be an improvement over the
 current
   situation.
  
   there are things that could use some improving, however:
  
   * Plasma::ToolTipManager is fairly focused on QGraphicsWidget. making
 it
   usable with QWidgets and ready for QML2 is probably important.
  
  
   * it assumes one tooltip per widget; this was an issue for folderview,
   which
   it worked around by putting an invisible item over the item the mouse
 was
   over. perhaps this could have been different in folderview, however,
 and
   isn't
   a real problem in practice.
  
   * ToolTipManager uses QMetaObject::invokeMethod to call
 toolTipAboutToShow
   and
   toolTipAboutToHide in items that have tooltips. it would be nice to
 have a
   more elegant way to do this, in particular a mechanism that would work
   nicely
   with QML2 and which allows the widget with the tooltip to define the
   connection.
  
   so there are certainly some design issues to be addressed.
  
   as for content, it would be interesting to see if ToolTipContent could
 be
   extended in some way to more easily accomodate the needs of things like
   showing a table of data (perhaps a QHashQString, QString .. what does
   dolphin use for this datastructure?)
 
  Dolphin created tooltips based on KFileItem. They then get send to
  dolphin's internal FileMetaDataToolTip class that makes puts it all
  together on top of a QWidget.

 right; so for Dolphin, either subclassing ToolTipContent or making a
 factory
 method to turn a KFileItem into a ToolTipContent might be best. and then
 ToolTipManager can handle the rest from there.

 OR ... ToolTipContent to have a constructor that takes a KFileItem and
 which
 does the translation internally. this would only make sense if there is
 more
 than one application in which a tooltip on a file would be useful. my
 guess is
 yes, but that's just a guess. looking for these apps would be a good idea
 first.

 what could be done is an iterative approach:

 * make a subclass of ToolTipContent in libkonq that has this KFileItem
 mutator
 ability
 * if there is use for it outside of kde-baseapps, at that point merge that
 code with ToolTipContent

  Step 1: How about i refactor the private ToolTip 

Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Aaron J. Seigo
On Sunday, May 27, 2012 18:22:10 Mark wrote:
 Is this (tooltip refactoring) going to be for frameworks only or for KDE
 4.10(?) as well?

there's no reason we could not start using the new tooltips classes in 4.x 
code AND for the library to be part of Frameworks as well.

there's a number of reasons we quite purposefully stopped calling everything 
KDE and in the process broke out the naming and even to some degree the 
marketing for the libraries (Platform 4.x, Frameworks 5.x), workspaces and 
applications.

they are independent pieces.

anytime we ask a question that implies the applications are welded to the 
workspaces / applications, or the applications to the workspaces, ... etc .. 
we're regressing. they are independent. there is no KDE 5. there never will be 
a KDE 5. there will be a KDE Frameworks 5. and workspaces? we'll decide as we 
go when and what to use where and how.

it is amazingly freeing when you make that mental leap :)

so go ahead. develop the classes with the goal of making it part of 
Frameworks. and we'll use it whenever we damn well feel like it. ;)

-- 
Aaron J. Seigo

signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Mark
On Sun, May 27, 2012 at 8:02 PM, Aaron J. Seigo ase...@kde.org wrote:

 On Sunday, May 27, 2012 18:22:10 Mark wrote:
  Is this (tooltip refactoring) going to be for frameworks only or for KDE
  4.10(?) as well?

 there's no reason we could not start using the new tooltips classes in 4.x
 code AND for the library to be part of Frameworks as well.

 there's a number of reasons we quite purposefully stopped calling
 everything
 KDE and in the process broke out the naming and even to some degree the
 marketing for the libraries (Platform 4.x, Frameworks 5.x), workspaces and
 applications.

 they are independent pieces.

 anytime we ask a question that implies the applications are welded to the
 workspaces / applications, or the applications to the workspaces, ... etc
 ..
 we're regressing. they are independent. there is no KDE 5. there never
 will be
 a KDE 5. there will be a KDE Frameworks 5. and workspaces? we'll decide as
 we
 go when and what to use where and how.

 it is amazingly freeing when you make that mental leap :)

 so go ahead. develop the classes with the goal of making it part of
 Frameworks. and we'll use it whenever we damn well feel like it. ;)

 --
 Aaron J. Seigo


You perhaps made the mental leap, for met it's still KDE without the SC.
It's just the way people call KDE and that sticks. the SC seems like some
expra part that people don't seem to remember.

Either way, first i'm going to start hacking on the internal tooltip class
and without making it a library. We'il see from there :) One step at a time.


 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel


___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-27 Thread Aaron J. Seigo
On Sunday, May 27, 2012 21:15:30 Mark wrote:
 You perhaps made the mental leap, for met it's still KDE without the SC.
 It's just the way people call KDE and that sticks. the SC seems like some
 expra part that people don't seem to remember.

SC is part of the engineering jargon we use: it's the combined release of 
lots of separate modules. we don't use that term in public communication 
(marketing, etc) and there's a reason for that.

regardless, what i said had nothing at all to do with the SC, but rather about 
the technical design of the code base and where the lines of separation exist.

for those of us working on the technology, it's really important to understand 
the separation between the libraries, workspaces and applications because that 
affects the technical decisons we allow ourselves to make.

-- 
Aaron J. Seigo

signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-26 Thread Mark
On Sat, May 26, 2012 at 4:09 AM, Mark mark...@gmail.com wrote:


 Op 26 mei 2012 03:08 schreef Mark mark...@gmail.com het volgende:

 
  Hi,
 
  While trying to fix some blur issues on tooltips i found myself digging
 deeper in ... other issues.
 
  For starters, there is no tooltip consistency!
  - Dolphin uses it's own tooltip classes.
  - System Settings uses it's own tooltip classes.
  - The plasma panels use the Plasma::ToolTipManager class - like it
 should be!
 
  That's only for the consistency using classes! The style also differs
 and only the last one has blur behind it [1].
 
  For dolphin i can understand the reason to have it's own tooltip class
 because it wants to fetch the tooltip data in a separate process in order
 to prevent a crash in the tooltip from crashing dolphin.
 
  To get this in a workable situation where anyone can use the tooltips as
 they seem right we probably have to make a new ToolTipManager altogether.
 The current one is _way_ to much tailored at tooltips for the tasks
 plasmoid and doesn't leave much room for customization (correct me if i'm
 wrong). I would like to suggest a ToolTipManager with styles! Not themes! I
 repeat, not themes! Just style as in which data is being displayed where.
 The plasma theme is still the one to be for the theme so nothing changes
 there. What i think that should be possible is defining a ToolTip Theme. Or
 i actually think it's required if the plasma tooltip stuff is to be used in
 places where the tooltip can look completely different (again, like
 dolphin).
 
  For example (in ascii art).
  ToolTipTheme - Dolphin
 
|---|  test...
|ICON|  
|---|  test...
 text...
 
  ToolTipTheme - TasksAppLauncher
 
|---|  APP NAME
|ICON|  APP DESCRIPTION
|---|
 
  ToolTipTheme - TasksPopup
 
|--|
|--|
|--|
|--|
|--|
|--|
|---|
|ICON|  APP DESCRIPTION
|---|
 
  That should make the intention clear even though the ascii art sucks ;)
 
  I would say that we need an abstract theme class:
 
  class ToolTipThemeAbstract
  {
virtual QGraphisWidget* getTheme() = 0;
  }
 
  and some classes that implement it:
  class ToolTipThemeDolphin : public ToolTipThemeAbstract
  {
QGraphisWidget* getTheme();
  }
 
  In this case the theme for Task popups would do the rendering of the
 preview and window stuff.
 
  The ToolTipManager call would remain the same only the values would be
 different.
 
 Plasma::ToolTipManager::self()-setContent(QGraphicsWidget, 
 ToolTipThemeAbstract);
  The ToolTipManager would simply render the theme (getTheme()). I'm not
 quite sure yet if the data can just be put directly in the theme or if the
 theme and data should be separated.
 
  Also, some themes should probably be provided by default. For example
 the TasksAppLauncher theme like in the ascii art above seems like a quite
 common fancy tooltip. Other themes like the dolphin one should just be an
 in house theme in the dolphin codebase. Others might like it, but it's
 certainly not a default theme that needs to be provided or something.
 
  I think this would cleanup the ToolTip mess quite a bit and make it very
 flexible for everyone to use.
 
  I will try and make a proof of concept for this in the coming days.
 Don't count on anything though - just to prevent high hopes.
  If this works out and is going to be used for KDE then i would like to
 deprecate the current ToolTip and friend classes, delete them in frameworks
 and replace everything by this proposed tooltip structure.
 
  Please do let me know what your thoughts are about this one!
 
  Cheers,
  Mark
 
  [1] Right now i'm fixing the blur issue for Dolphin and System Settings.
 Those patches will appear on reviewboard somewhere tomorrow.

 Lol, no theme then I write theme about everywhere.. I obviously meant
 style! Though template might fit the meaning better.

 Sorry,
 Mark

Patches for:
Dolphin: https://git.reviewboard.kde.org/r/105061/
System Settings: https://git.reviewboard.kde.org/r/105060/

I'd like to push them to master before the 4.9 branch happens. Why? because
i see this as - long standing - bugs being fixed.
Also, this fixes the current situation that the most common tooltips are at
least consistent in blurring.. It's obviously a temporary fix. The real fix
would require a lot more work as you can read in my first post in this
thread.

Cheers,
Mark
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: The tooltip state. Not that good. Proposal for improvement.

2012-05-25 Thread Mark
Op 26 mei 2012 03:08 schreef Mark mark...@gmail.com het volgende:

 Hi,

 While trying to fix some blur issues on tooltips i found myself digging
deeper in ... other issues.

 For starters, there is no tooltip consistency!
 - Dolphin uses it's own tooltip classes.
 - System Settings uses it's own tooltip classes.
 - The plasma panels use the Plasma::ToolTipManager class - like it should
be!

 That's only for the consistency using classes! The style also differs and
only the last one has blur behind it [1].

 For dolphin i can understand the reason to have it's own tooltip class
because it wants to fetch the tooltip data in a separate process in order
to prevent a crash in the tooltip from crashing dolphin.

 To get this in a workable situation where anyone can use the tooltips as
they seem right we probably have to make a new ToolTipManager altogether.
The current one is _way_ to much tailored at tooltips for the tasks
plasmoid and doesn't leave much room for customization (correct me if i'm
wrong). I would like to suggest a ToolTipManager with styles! Not themes! I
repeat, not themes! Just style as in which data is being displayed where.
The plasma theme is still the one to be for the theme so nothing changes
there. What i think that should be possible is defining a ToolTip Theme. Or
i actually think it's required if the plasma tooltip stuff is to be used in
places where the tooltip can look completely different (again, like
dolphin).

 For example (in ascii art).
 ToolTipTheme - Dolphin

   |---|  test...
   |ICON|  
   |---|  test...
text...

 ToolTipTheme - TasksAppLauncher

   |---|  APP NAME
   |ICON|  APP DESCRIPTION
   |---|

 ToolTipTheme - TasksPopup

   |--|
   |--|
   |--|
   |--|
   |--|
   |--|
   |---|
   |ICON|  APP DESCRIPTION
   |---|

 That should make the intention clear even though the ascii art sucks ;)

 I would say that we need an abstract theme class:

 class ToolTipThemeAbstract
 {
   virtual QGraphisWidget* getTheme() = 0;
 }

 and some classes that implement it:
 class ToolTipThemeDolphin : public ToolTipThemeAbstract
 {
   QGraphisWidget* getTheme();
 }

 In this case the theme for Task popups would do the rendering of the
preview and window stuff.

 The ToolTipManager call would remain the same only the values would be
different.

Plasma::ToolTipManager::self()-setContent(QGraphicsWidget,
ToolTipThemeAbstract);
 The ToolTipManager would simply render the theme (getTheme()). I'm not
quite sure yet if the data can just be put directly in the theme or if the
theme and data should be separated.

 Also, some themes should probably be provided by default. For example
the TasksAppLauncher theme like in the ascii art above seems like a quite
common fancy tooltip. Other themes like the dolphin one should just be an
in house theme in the dolphin codebase. Others might like it, but it's
certainly not a default theme that needs to be provided or something.

 I think this would cleanup the ToolTip mess quite a bit and make it very
flexible for everyone to use.

 I will try and make a proof of concept for this in the coming days. Don't
count on anything though - just to prevent high hopes.
 If this works out and is going to be used for KDE then i would like to
deprecate the current ToolTip and friend classes, delete them in frameworks
and replace everything by this proposed tooltip structure.

 Please do let me know what your thoughts are about this one!

 Cheers,
 Mark

 [1] Right now i'm fixing the blur issue for Dolphin and System Settings.
Those patches will appear on reviewboard somewhere tomorrow.

Lol, no theme then I write theme about everywhere.. I obviously meant
style! Though template might fit the meaning better.

Sorry,
Mark
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel