[Marble-devel] Re: Suggested Patch for Bug 232098 - JJ: Please add fast adding messurment points by ctrl+click

Thomas Lenarz tommesml at netcologne.de
Tue Sep 28 21:45:30 CEST 2010


Hello,
just a few thoughts: There are generally three modifier-keys available, 
CTRL, ALT, SHIFT. At least on both of my environments (Ubuntu/Gnome, 
Xubuntu/XFCE) the ALT + Left-Mouse Click & Drag combination is caught to 
move the Window around. Therefore ALT does not feel like an option.

SHIFT seems to be free as an option to call the Measure-Tool with the 
same convenience.

However, simply hardwire this function to a modifier-key + mouse-click 
combination might be a bit short-sighted. There could be a future need 
to conveniently trigger a different function upon a geographical location.

A solution I could think of is to introduce something like a 
"current-mode" represented by a set of radiobutton-style menu-items 
either in one of the drop-down menus or/and the right-click context-menu 
which determines what the modifier-key + Left-Mouse-Click does.

Meaning: If you would like to use the measure-tool for a long track, do 
a mouse-right-click for the context-menu, switch from "selection-mode" 
to "measure-tool-mode" by selecting the appropriate menu-item. This 
should be highlighted with a radiobutton-style marker.
 From now on you may use CTRL Left-Mouse-Click to measure.

This would also cover the transparency issue because there are visible 
menu-items which could be named in way that it is clear how they work. 
This scheme could be extended easily.

Hope I could express what I mean ;-)

All the best,
Thomas


Am 27.09.2010 02:21, Torsten Rahn schrieb:
>
> Technically it's nice work.
> But this kind of overloading sounds scary in terms of usability :-)
> I'm afraid that user's won't understand this easily. Is there maybe a
> different keycombination we could use? Or a slightly different solution that
> has the same convenience but is more transparent?
>
> Best Regards,
> Torsten
>
>
>
> Am Montag, 20. September 2010 19:55:03 schrieb Thomas Lenarz:
>> Hello,
>>
>> I myself haven't tested it on a touchscreen (no possibility).
>> Using either the touchpad of my laptop or a mouse it works fine.
>>
>> However, I am not convinced that it works in all situations because the
>> makes the CTRL-Key kind of overloaded: (press and depress on same
>> location ->  Measure-Point; press and depress on different locations ->
>> Rubber-Band)
>>
>> Best wishes,
>> Thomas
>>
>> Am 19.09.2010 21:38, Doug Penner wrote:
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> I'm kind of new to marble, but I just want to know if this has been
>>> tested on a touchscreen. I'm not sure how QT handles the mouse events
>>> on different types of mice (touchscreens being an advanced mouse) and
>>> if a large fingered person might cause the mouse-up to be slightly
>>> different than a mouse-down when tapping. A simple solution to that
>>> would probably to make a "dead-zone" value where if the distance
>>> between up and down was very small, it would consider them the same.
>>>
>>>
>>> ~Doug
>>>
>>> On 09/19/2010 11:51 AM, Thomas Lenarz wrote:
>>>>    Hello,
>>>>
>>>>    I tried to find a solution for the JJ described in Bug 232098
>>>>    recently:
>>>>
>>>>    I am new to marble development. I played around with the
>>>>    QT-Version and would like to propose the following change.
>>>>
>>>>    However, I am not sure if this change could break something around
>>>>    the rubber-band code, which uses the control-key as well. Therefore
>>>>    I compare the coordinates between button-press and button-release.
>>>>    The addMeasurePoint() triggers only if the coordinates are equal.
>>>>
>>>>    I am not sure how to generate a patch. It would be great if anyone
>>>>    could point me to some guidelines.
>>>>
>>>>    Please find the patch-file attached to this mail.
>>>>
>>>>    Thanks, Thomas
>>>>
>>>>    File: marble/src/lib/MarbleWidgetInputHandler.cpp
>>>>
>>>>    // Regarding mouse button releases: if ( e->type() ==
>>>>    QEvent::MouseButtonRelease&&   event->button() == Qt::LeftButton )
>>>>    {
>>>>
>>>>    if ( ( event->modifiers()&   Qt::ControlModifier )&&   (
>>>>    event->globalPos() == d->m_selectionOrigin ) ) {
>>>>    d->m_addMeasurePointAction->setData( QPoint( event->x(), event->y()
>>>>    ) ); addMeasurePoint(); } else {
>>>>
>>>>    //emit current coordinates to be be interpreted //as requested emit
>>>>    mouseClickScreenPosition( d->m_leftpressedx, d->m_leftpressedy );
>>>>
>>>>    }
>>>>
>>>>
>>>>    MarbleWidgetInputHandler::d->m_widget->setViewContext( Still ); if
>>>>    ( MarbleWidgetInputHandler::d->m_widget->mapQuality( Still ) !=
>>>>    MarbleWidgetInputHandler::d->m_widget->mapQuality( Animation ) ) {
>>>>
>>>>    MarbleWidgetInputHandler::d->m_widget->updateChangedMap(); }
>>>>
>>>>    d->m_leftpressed = false; }
>>>>
>>>>
>>>>    _______________________________________________ Marble-devel
>>>>    mailing list Marble-devel at kde.org
>>>>    https://mail.kde.org/mailman/listinfo/marble-devel
>>>
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.4.10 (GNU/Linux)
>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>>
>>> iEYEARECAAYFAkyWZssACgkQznigyIaDZ0XaWwCgqI/srLaqFP/NIAD3ACVIhOSL
>>> ZXgAoNxK4KGqpG/pWjGYACNe1NGwc/n5
>>> =gpOl
>>> -----END PGP SIGNATURE-----
>>
>> _______________________________________________
>> Marble-devel mailing list
>> Marble-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/marble-devel
>



More information about the Marble-devel mailing list