> On Nov. 1, 2011, 3:07 p.m., Aaron J. Seigo wrote:
> > the wholesale copying of KOpenWithDialog is very unfortunate and needs to 
> > be avoided if at *all* possible. why is it copied instead of used directly?
> > 
> > the really big issue is the exec()'ing of the dialog, however.
> > 
> > it would also be nice to be able to access individual launcher 
> > configuration via the individual launchers' context menu.
> > 
> > p.s. whitespace :)
> 
> Craig Drummond wrote:
>     I agree the copying is bad - but without changing kdelibs I knew of no 
> other way. The reason it is copied is that in KOpenWithDialog you cannot 
> remove the "Open with" label (or change its text), or the kurlrequester below 
> it.
> 
> Aaron J. Seigo wrote:
>     the Open With label is settable by using the KOpenWithDialog( const 
> KUrl::List& urls, const QString& text, const QString& value, QWidget *parent 
> = 0 ); constructor, so it could be set to something sensible for this case. 
> as forthe KUrlRequester ... is that so bad? it allows the user to define an 
> arbitrary exec on disk, the ultimate "last resort".

Just tried KOpenWithDialog, and whilst you can set the text, and hide the 
checkboxes - the text entered in the url combo *must* be an application, not a 
desktop file. If you select a desktop file via the file selector you get the 
following error:

    "'XXX.desktop' not found, please type a valid program name."

So, KOpenWithDialog would need updating to resolve this.


> On Nov. 1, 2011, 3:07 p.m., Aaron J. Seigo wrote:
> > libs/taskmanager/taskactions.cpp, line 375
> > <http://git.reviewboard.kde.org/r/103007/diff/1/?file=39955#file39955line375>
> >
> >     dialogs must not be exec()'d as they *freeze* the entire UI.. in this 
> > case the whole plasma-desktop shell. i must be handled asynchronously.
> 
> Craig Drummond wrote:
>     Good point!
> 
> Craig Drummond wrote:
>     This is odd. I've tried running the dialog via "show()" and connecting to 
> the "okClicked()" signal. However, the slot never gets called. If I change it 
> to "exec()" the slot does get called...
>     
>     e.g. this does *not* work:
>     
>             KApplicationSelectorDialog *dlg=new 
> KApplicationSelectorDialog(i18n("XXX"), 0L);
>             connect(dlg, SIGNAL(okClicked()), this, SLOT(xxx()));
>             dlg->show();
>     
>     ...but this does:
>     
>             KApplicationSelectorDialog *dlg=new 
> KApplicationSelectorDialog(i18n("XXX"), 0L);
>             connect(dlg, SIGNAL(okClicked()), this, SLOT(xxx()));
>             dlg->exec();
>     
>     (Ignore the obvious memory leak)
>     
>     -----------------
>     
>     However, this seems to be a general issue with plasma dialogs. e.g. if 
> you configure a colour for the clock dialog, plasma is frozen. Perhaps all 
> plasma dialogs need to be run via another process?
> 
> Aaron J. Seigo wrote:
>     "e.g. this does *not* work"
>     
>     that is very, very odd. it would seem to imply that there is an event 
> loop issue. there is no difference otherwise between exec() and show() (in 
> fact, in fixing kcolorbutton i use show()). 
>     
>     ah! perhaps i see the issue: LauncherProperties::run calls exec() on 
> itself .. that creates an inner event loop around LauncherProperties. my 
> guess is that trips it up. neither LauncherProperties nor 
> KApplicationSelectorDialog should be exec()'d
>     
>     "(Ignore the obvious memory leak)"
>     
>     btw, easiest way to deal with this is to call 
> dlg->setAttribute(Qt::WA_DeleteOnClose);
>     
>     "this seems to be a general issue with plasma dialog"
>     
>     we have this issue in very few places, and where it remains it is fixable 
> ..  i just fixed KColorButton right now in fact (thanks for pointing that one 
> out)

We are looking in different places of the code. The exec I was talking about 
was from the "Show A Launcher" action from the task menu.

I'll change the LauncherProperties to not use exec...


- Craig


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103007/#review7801
-----------------------------------------------------------


On Oct. 31, 2011, 8:42 p.m., Craig Drummond wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103007/
> -----------------------------------------------------------
> 
> (Updated Oct. 31, 2011, 8:42 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Description
> -------
> 
> 1. If fail to automatically find launcher, then prompt user to select from 
> installed applications.
> 2. Add a config page, so that manualy set launchers may be adjusted.
> 
> (Part of IconTasks' taskmanager changes)
> 
> 
> Diffs
> -----
> 
>   libs/taskmanager/CMakeLists.txt 57f5f73 
>   libs/taskmanager/groupmanager.h acaa142 
>   libs/taskmanager/groupmanager.cpp 6e7ffa7 
>   libs/taskmanager/kapplicationselectordialog.h PRE-CREATION 
>   libs/taskmanager/kapplicationselectordialog.cpp PRE-CREATION 
>   libs/taskmanager/launcherconfig.h PRE-CREATION 
>   libs/taskmanager/launcherconfig.cpp PRE-CREATION 
>   libs/taskmanager/launcherconfig.ui PRE-CREATION 
>   libs/taskmanager/launcherproperties.h PRE-CREATION 
>   libs/taskmanager/launcherproperties.cpp PRE-CREATION 
>   libs/taskmanager/launcherproperties.ui PRE-CREATION 
>   libs/taskmanager/taskactions.cpp 0e6ba8e 
>   libs/taskmanager/taskitem.h 5de8478 
>   libs/taskmanager/taskitem.cpp 0a768e5 
> 
> Diff: http://git.reviewboard.kde.org/r/103007/diff/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Craig Drummond
> 
>

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

Reply via email to