> On June 27, 2011, 8:33 a.m., Sebastian Trueg wrote:
> > I will have to review this project in general as I did a while back before 
> > looking at the code:
> > The user is not really concerned with the status of any Nepomuk services 
> > since that is an implementation detail. Thus, your main widget is not very 
> > end user friendly. It could be a great developer tool though if it also 
> > provided the possibility to start and stop services.
> > 
> > The there are a few issues:
> > - The tooltip just shows "Running Running Running Running Running" without 
> > any details
> > - The menu has two quit actions
> > - The systray applet does not provide actions to suspend/resume strigi or 
> > show its detailed status.
> > - I have two entries for the strigi service here
> > 
> > Also I see no need for a plugin system when there is only one single plugin.
> > 
> > So for now I would have to vote against this merge as it does not bring any 
> > useful features to the user while at the same time removing essential ones.
> 
> Artem Serebriyskiy wrote:
>     There are more plugins, they are just autogenerated at build time. 
> Separate plugins are necessary only if service want's to export some 
> functionality to user, like suspend/resume for strigi. I will provide 
> separate backend for backup too.
>     
>     About issues:
>     1. Well, I will see what can i do, because tooltips are not working on my 
> system at all.
>     About other issues - well, it is possible that I commited really wrong 
> version, but  all other issues seem incorrect( no offence) ( or may be I 
> don't understand them correctly). See attached screensoot please:
>     2. The menu has one quit action - in context menu.
>     3. The systray applet do provide actions for suspend/resume strigi, both 
> from widget and from context menu. If this actions don't work, then it is a 
> bug and I will fix it.
>     4. There is one entry for strigi service.
>     
>     Other:
>     I think the question about role of this applet - for developer or for 
> user - should be solved later, after we solve this weird situation with 4 
> issues.
>     
>     Please, attach your screenshot too.
>
> 
> Sebastian Trueg wrote:
>     I would not know how to attach a screenshot. Here is a link though: 
> http://simplest-image-hosting.net/jpg-0-plasma-desktopt22088
>     
>     And here the console log (I renamed it to nepomukcontroller2 to avoid a 
> collision with the one from kde-runtime since I build from your scratch 
> repo): 
>     
>     nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file 
> "systraynepomukfilewatchpluginui.rc" for component "nepomukcontroller2" 
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Nepomuk 
> file watch service system tray plugin"
>     nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file 
> "systraynepomukqueryservicepluginui.rc" for component "nepomukcontroller2" 
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Nepomuk 
> query service  system tray plugin"
>     nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file 
> "systraynepomukstoragepluginui.rc" for component "nepomukcontroller2" 
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Nepomuk 
> storage  system tray plugin"
>     nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file 
> "systraystrigipluginui.rc" for component "nepomukcontroller2" 
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Strigi 
> system tray plugin"
>     nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file 
> "systraystrigipluginui.rc" for component "nepomukcontroller2" 
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Strigi 
> system tray plugin"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: 
>  "Nepomuk file watch service"  finish initialization
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already 
> initialized
>     nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed 
> to retrieve menu
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "Nepomuk file watch service" changed status to  "Not started"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: 
>  "Nepomuk query service"  finish initialization
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already 
> initialized
>     nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed 
> to retrieve menu
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "Nepomuk query service" changed status to  "Not started"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: 
>  "Nepomuk storage"  finish initialization
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already 
> initialized
>     nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed 
> to retrieve menu
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "Nepomuk storage" changed status to  "Not started"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: 
>  "strigi_basic"  finish initialization
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already 
> initialized
>     nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed 
> to retrieve menu
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "strigi_basic" changed status to  "Not started"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "strigi_basic" changed status to  "Not started"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: 
>  "strigi_basic"  finish initialization
>     nepomukcontroller2(26210) 
> Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already 
> initialized
>     nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed 
> to retrieve menu
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "strigi_basic" changed status to  "Not started"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "strigi_basic" changed status to  "Not started"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "Nepomuk query service" changed status to  "Running"
>     nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin  
> "Nepomuk storage" changed status to  "Running"
> 
> Artem Serebriyskiy wrote:
>     Ok. I am sorry for all this mess. I was sure that using the same name for 
> new application would be more convinient. In contrary, it creates hard to 
> catch bugs.
>     
>     So, I was able to reproduce last 2 issues after I do the same thing - 
> rename nepomukcontroller to another name. As you can see in 
>     >> nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc 
> file "systraystrigipluginui.rc" for component "nepomukcontroller2"
>     plugin failed to load ui. Because of this, it failed to create menu and 
> thus to provide any actions. The ui files location is determineg using apps 
> name. I am not sure what name is used - name of executable or name given to 
> KAboutData.
>     
>     The issuse with 2 strigi plugins was caused by the same problem. It  
> looks like that ksycoca return 2 plugins for strigi service. One from 
> location ~/kde/share/kde4/services/nepomukcontroller2 and one from 
> ~/kde/share/kde4/services/nepomukcontroller. Because of this, plugin is 
> loaded twice. Or it is possible that only one file actually exists, but 
> ksycoca cached both entries.
>     
>     Anyway, I renamed application myself. Now it is called nepomuksystray_qt. 
> I hope this name is not in use. After install, you must have no messages like 
> "KXMLGUIClient::setXMLFile: cannot find .rc file ... " and all actions should 
> appear.
>     If you still will have 2(3,4) entries for strigi service, then check the 
> output please. It now writes things like:
>     >> Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: 
> <PLUGIN NAME> defined in <PATH TO DESKTOP FILE>
>     There must exist only one plugin for every service. If you have more then 
> one, then remove extra .desktop files and update ksycoca.
>     
>     The changes are only in repo, I wouldn'd publish a patch here until I get 
> a conformation from you.
>     
>     Thanks for your patience and sorry again for this mess.
>
> 
> Sebastian Trueg wrote:
>     No need to be sorry. Apparently I did cause it myself by not renaming 
> properly. :/
>     
>     Now it works, here, too.
>     
>     Now how about some start/stop service actions?
> 
> Artem Serebriyskiy wrote:
>     No problem with that. But I still think that this system tray should be 
> for user too. 
>     So, I have added a so-called "development mode". In development mode, you 
> can start/stop services and plugin may export extra actions. To enable this 
> mode you must edit config file ( ~/.kde/share/config/nepomuksystray_qtrc ) 
> and add following lines:
>     [main]
>     devMode=true
>     
>     Then restart system tray. You will see start/stop actions only in main 
> widget - not in context menu.
> 
> Sebastian Trueg wrote:
>     I checked the current state with the backup plugin. It makes sense to 
> have this in the systray. But:
>     
>     1. The systray tooltip provides information about the number of running 
> services. This is of no interest to the user. The current systray shows the 
> indexing state. While this is rather random it puts users at ease when 
> nepomuk uses resources. It might make more sense to allow the plugins to 
> provide useful information in some way (that is if you are fixed on the whole 
> plugin design which IMHO is a bit over-engineered).
>     
>     2. The main widget is not very pretty. It shows non-localized service 
> names and uses a list with buttons that do not fit the rest of KDE. It would 
> be much more helpful to have generic information in there like the current 
> systray widget does. Seeing the state of services is not interesting to the 
> user. It is an implementation detail!
>     
>     3. Having a developer mode which needs to be activated in a config file 
> is like having no such mode at all. It would make more sense to provide a 
> config dialog which allowed to set some "advanced mode".
> 
> Artem Serebriyskiy wrote:
>     1. Ok. I will see what I can invent here.
>     2. The main widget is awfull, I know. I was never a good designer. I am 
> currently trying to find someone who can create a good mockup that I can 
> implement.
>     3. Well, I was afraid that if I create KCM for system tray applet, you 
> will kill me in place :). There is a question: currently 'advanced mode' must 
> be enabled on application initialization. So switching to 'advanced mode' 
> will require KCM to restart applet(automatically, of course. No manual typing 
> 'kquitapp blablabla'). Is it ok with you ?
> 
> Sebastian Trueg wrote:
>     If it is too hard to do it dynamically restarting should be fine.

About the GUI: the plugin system makes it hard to create a really nice and 
coherent GUI since fitting together different parts always means to either 
separate them completely (through tabs or a list) or to restrict the GUIs to 
certain constraints. You should evaluate what each plugin needs to show and try 
to design the API accordingly. Although I still think a fixed GUI without 
plugins would be much easier to create, easier to maintain, and quicker to 
code. :P


- Sebastian


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


On June 27, 2011, 9:35 p.m., Artem Serebriyskiy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/101786/
> -----------------------------------------------------------
> 
> (Updated June 27, 2011, 9:35 p.m.)
> 
> 
> Review request for Nepomuk.
> 
> 
> Summary
> -------
> 
> Merge project nepomuk-system-tray into kde-runtime.
> 
> (Quick note: There were a merge request about 6-8 month ago, it was done in 
> bug tracker and I think it is long gone )
> 
> Description of the project: provides library and several runtime components ( 
> well, currently one, plasma dataengine is in [slow] development ) for quering 
> and displaying status(es) of nepomuk service(s).
> 
> 2 main parts + plugins:
> library - view independed, async, plugin-based framework that allow you to 
> track status of the service
> runtime/[systemtray] - current implementation of system tray, done with usual 
> technologies ( no plasma/QML )
> plugins/ - library with written plugin for strigi and build-time plugin 
> autogeneration for other services.
> 
> Personal repo is [email protected]:nepomuk-system-tray
> 
> 
> Diffs
> -----
> 
>   nepomuk/controller/CMakeLists.txt 76c452d 
>   nepomuk/controller/Messages.sh ea4aa1e 
>   nepomuk/controller/lib/CMakeLists.txt PRE-CREATION 
>   nepomuk/controller/lib/config.h.in PRE-CREATION 
>   nepomuk/controller/lib/nepomuksystray_export.h PRE-CREATION 
>   nepomuk/controller/lib/serverclient.h PRE-CREATION 
>   nepomuk/controller/lib/systrayplugin.h PRE-CREATION 
>   nepomuk/controller/lib/systrayplugin.cpp PRE-CREATION 
>   nepomuk/controller/lib/systraypluginmanager.h PRE-CREATION 
>   nepomuk/controller/lib/systraypluginmanager.cpp PRE-CREATION 
>   nepomuk/controller/main.cpp c14c165 
>   nepomuk/controller/nepomukcontroller.desktop debbfff 
>   nepomuk/controller/plugins/CMakeLists.txt PRE-CREATION 
>   
> nepomuk/controller/plugins/basic_template/nepomuksystray_template.desktop.in 
> PRE-CREATION 
>   nepomuk/controller/plugins/basic_template/systraytemplatepluginui.rc.in 
> PRE-CREATION 
>   nepomuk/controller/plugins/basic_template/templateplugin.cpp.in 
> PRE-CREATION 
>   nepomuk/controller/plugins/basic_template/templateplugin.h.in PRE-CREATION 
>   nepomuk/controller/plugins/nepomuksystray_plugin.desktop PRE-CREATION 
>   nepomuk/controller/plugins/strigi/CMakeLists.txt PRE-CREATION 
>   nepomuk/controller/plugins/strigi/nepomuksystray_strigi.desktop 
> PRE-CREATION 
>   nepomuk/controller/plugins/strigi/strigiplugin.h PRE-CREATION 
>   nepomuk/controller/plugins/strigi/strigiplugin.cpp PRE-CREATION 
>   nepomuk/controller/plugins/strigi/systraystrigipluginui.rc PRE-CREATION 
>   nepomuk/controller/runtime/CMakeLists.txt PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/CMakeLists.txt PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/main.cpp PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/mainWidget.ui PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/mainWindow.ui PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/mainwidget.h PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/mainwidget.cpp PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/nepomukcontroller.desktop 
> PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/nepomukcontrollerrc PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/nepomukcontrollerui.rc PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/serviceWidget.ui PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/servicewidget.h PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/servicewidget.cpp PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/systray.h PRE-CREATION 
>   nepomuk/controller/runtime/systemtray/systray.cpp PRE-CREATION 
>   nepomuk/controller/systray.h 3e2adb6 
>   nepomuk/controller/systray.cpp 920877b 
> 
> Diff: http://git.reviewboard.kde.org/r/101786/diff
> 
> 
> Testing
> -------
> 
> Testing:
> ( My machine ) GNU/Linux x86_64, 2.6.38.
> 
> Compiles, works. There are problems with resizing of main widget - Qt doesn't 
> support automatic resizing of top-level windows, so a dirty-dirty hack is 
> used.
> 
> 
> Screenshots
> -----------
> 
> systray-on-dev-machin
>   http://git.reviewboard.kde.org/r/101786/s/190/
> nepomuk-systray-xephyr
>   http://git.reviewboard.kde.org/r/101786/s/192/
> 
> 
> Thanks,
> 
> Artem
> 
>

_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk

Reply via email to