Re: Review Request 124147: Create Data Dir If it Does Not Exist

2015-07-07 Thread David Narváez

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124147/
---

(Updated July 7, 2015, 8:29 a.m.)


Review request for KDE Frameworks.


Changes
---

Adding qWarnings and renaming the misnamed (now static) function.


Repository: kio


Description
---

Prevents a cold start bug when the data dir is not created. Also, by
storing the file name as a member of the KCookieServer class we avoid
calculating it every time cookies are saved.


Diffs (updated)
-

  src/ioslaves/http/kcookiejar/kcookieserver.h 
f61c7d0e4da58b805565632cf3dd484445c21275 
  src/ioslaves/http/kcookiejar/kcookieserver.cpp 
ac585a0b04637c485647564d18a89a75d6c11d97 

Diff: https://git.reviewboard.kde.org/r/124147/diff/


Testing
---

Restarted kded5 with no file named kcookiejar inside ~/.local/share and with a 
regular file named kcookiejar in that location.


Thanks,

David Narváez

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124147: Create Data Dir If it Does Not Exist

2015-07-07 Thread David Faure


 On July 2, 2015, 9:47 a.m., David Faure wrote:
  src/ioslaves/http/kcookiejar/kcookieserver.cpp, line 68
  https://git.reviewboard.kde.org/r/124147/diff/2/?file=380949#file380949line68
 
  This would be worth a qWarning too.
  
  And then I would still return a non-null string, so the rest of the 
  code can (try to) keep going.
  
  No point in giving up because of a permission problem; I would warn and 
  keep going with the filename, to give a chance to the user to fix the 
  permission problem and not have to reboot.
 
 David Narváez wrote:
 The whole reason why I started working on this is because the cookie 
 server was continuing without letting me know about the fact that it could 
 not create this folder. Is there a way to notify the user with more than a 
 qWarning() (after all this is running from kded5) like a popup dialog,  
 notification or something? If this crashes there will at least be a drkonqi 
 dialog to notify the user.

Yeah, you can show a messagebox.


- David


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124147/#review81981
---


On July 7, 2015, 8:29 a.m., David Narváez wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124147/
 ---
 
 (Updated July 7, 2015, 8:29 a.m.)
 
 
 Review request for KDE Frameworks.
 
 
 Repository: kio
 
 
 Description
 ---
 
 Prevents a cold start bug when the data dir is not created. Also, by
 storing the file name as a member of the KCookieServer class we avoid
 calculating it every time cookies are saved.
 
 
 Diffs
 -
 
   src/ioslaves/http/kcookiejar/kcookieserver.h 
 f61c7d0e4da58b805565632cf3dd484445c21275 
   src/ioslaves/http/kcookiejar/kcookieserver.cpp 
 ac585a0b04637c485647564d18a89a75d6c11d97 
 
 Diff: https://git.reviewboard.kde.org/r/124147/diff/
 
 
 Testing
 ---
 
 Restarted kded5 with no file named kcookiejar inside ~/.local/share and with 
 a regular file named kcookiejar in that location.
 
 
 Thanks,
 
 David Narváez
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124147: Create Data Dir If it Does Not Exist

2015-07-07 Thread David Narváez


 On July 2, 2015, 9:47 a.m., David Faure wrote:
  src/ioslaves/http/kcookiejar/kcookieserver.cpp, line 68
  https://git.reviewboard.kde.org/r/124147/diff/2/?file=380949#file380949line68
 
  This would be worth a qWarning too.
  
  And then I would still return a non-null string, so the rest of the 
  code can (try to) keep going.
  
  No point in giving up because of a permission problem; I would warn and 
  keep going with the filename, to give a chance to the user to fix the 
  permission problem and not have to reboot.

The whole reason why I started working on this is because the cookie server was 
continuing without letting me know about the fact that it could not create this 
folder. Is there a way to notify the user with more than a qWarning() (after 
all this is running from kded5) like a popup dialog,  notification or 
something? If this crashes there will at least be a drkonqi dialog to notify 
the user.


 On July 2, 2015, 9:47 a.m., David Faure wrote:
  src/ioslaves/http/kcookiejar/kcookieserver.cpp, line 113
  https://git.reviewboard.kde.org/r/124147/diff/2/?file=380949#file380949line113
 
  So how about changing the static function to actually return the 
  filename? Then it can also ensure it's not null.

See above.


 On July 2, 2015, 9:47 a.m., David Faure wrote:
  src/ioslaves/http/kcookiejar/kcookieserver.cpp, line 118
  https://git.reviewboard.kde.org/r/124147/diff/2/?file=380949#file380949line118
 
  ROTFL, ok, this code could be removed by now
  (kfm was KDE1 - and that file was surely not where QStandardPaths is 
  looking) :-)

Will make a separate patch for this.


- David


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124147/#review81981
---


On June 22, 2015, 12:27 a.m., David Narváez wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124147/
 ---
 
 (Updated June 22, 2015, 12:27 a.m.)
 
 
 Review request for KDE Frameworks.
 
 
 Repository: kio
 
 
 Description
 ---
 
 Prevents a cold start bug when the data dir is not created. Also, by
 storing the file name as a member of the KCookieServer class we avoid
 calculating it every time cookies are saved.
 
 
 Diffs
 -
 
   src/ioslaves/http/kcookiejar/kcookieserver.h 
 f61c7d0e4da58b805565632cf3dd484445c21275 
   src/ioslaves/http/kcookiejar/kcookieserver.cpp 
 ac585a0b04637c485647564d18a89a75d6c11d97 
 
 Diff: https://git.reviewboard.kde.org/r/124147/diff/
 
 
 Testing
 ---
 
 Restarted kded5 with no file named kcookiejar inside ~/.local/share and with 
 a regular file named kcookiejar in that location.
 
 
 Thanks,
 
 David Narváez
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Mark Gaiser

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/#review82195
---



src/knotificationmanager.cpp (line 87)
https://git.reviewboard.kde.org/r/124281/#comment56593

Don't you have a memory leak here?
You have a list of pointers which you own here, but QList doesn't know 
that. When that list goes out of scope it doesn't delete the pointers as far as 
i know.
The simplest way i can think of is to make plugins a class member and call 
qDeleteAll(m_plugins) in the class destructor which then deletes all objects.
Or you could go for smart pointers which you store in the QList, that would 
also clean it up nicely when going out of scope.


I'm looking at the KNotifications dependency graph here [1] and see that 
KWindowSystem is only required for KCrash.
So err, can't that one go as well since you removed KService which required 
KCrash which then required KWindowSystem?

I could be very wrong if KNotifications is using KWindowSystem somewhere, 
obviously. But the graph doesn't give me that impression.

[1] 
http://api.kde.org/frameworks-api/frameworks5-apidocs/knotifications/html/knotifications-dependencies.html

- Mark Gaiser


On jul 7, 2015, 7 p.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124281/
 ---
 
 (Updated jul 7, 2015, 7 p.m.)
 
 
 Review request for KDE Frameworks and Martin Gräßlin.
 
 
 Repository: knotifications
 
 
 Description
 ---
 
 This patch reduces the dependencies of KNotifications framework and 
 effectively makes it a tier 2 framework.
 
 KService is used only for locating additional notification plugins and to my 
 knowledge,
 there are none such plugins currently existing, at least not in all around 
 KDE plus
 the class for the plugins wasn't exported until about two months ago, so this 
 should
 be safe without a legacy support.
 
 KIconThemes is used only to get KIconLoader::Small icon pixmap for 
 notifications
 using KPassivePopup. After some playing around it turns out that it puts the 
 icon into
 the KPassivePopup title and makes it as big as the text. So I've made the 
 icon size to
 be the same as the text height. So this keeps things visually the same + 
 still DPI aware,
 though I believe the KPassivePopup should receive a complete visual overhaul 
 anyway.
 
 Additionally, KCodecs dependency has again one single usage for decoding html 
 entities
 to QChars within QXmlStreamReader parser, so eventually could also be 
 removed/replaced
 with QTextDocument::toPlainText() which seems to do the same job as 
 QXmlStreamReader+KCodecs.
 
 
 Diffs
 -
 
   CMakeLists.txt 2d5437b 
   metainfo.yaml 7fc15f7 
   src/CMakeLists.txt 1cebece 
   src/knotificationmanager.cpp 8d4f953 
   src/knotificationplugin.cpp 7315c17 
   src/notifybypopup.cpp e377051 
   tests/kpassivepopuptest.h bc0dedc 
   tests/kpassivepopuptest.cpp 2486fd8 
 
 Diff: https://git.reviewboard.kde.org/r/124281/diff/
 
 
 Testing
 ---
 
 Everything still compiles + I added a test for KPassivePopup with an icon.
 
 
 Thanks,
 
 Martin Klapetek
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Martin Tobias Holmedahl Sandsmark

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/#review82192
---



src/plugins/voikko/voikkoclient.cpp (line 28)
https://git.reviewboard.kde.org/r/124282/#comment56578

here you can just use the Q_FUNC_INFO macro to get the same information 
(the function signature).



src/plugins/voikko/voikkoclient.cpp (line 30)
https://git.reviewboard.kde.org/r/124282/#comment56579

plural is dictionaries



src/plugins/voikko/voikkoclient.cpp (line 32)
https://git.reviewboard.kde.org/r/124282/#comment56580

I prefer to error out early («if (!dictionaries) return;»), less 
indentation and state to remember.



src/plugins/voikko/voikkodict.h (line 64)
https://git.reviewboard.kde.org/r/124282/#comment56585

prefix all private members with m_



src/plugins/voikko/voikkodict.cpp (line 47)
https://git.reviewboard.kde.org/r/124282/#comment56581

ALL_UPPERCASE usually means defines (because they have slightly different 
behavior from other variables).



src/plugins/voikko/voikkodict.cpp (line 97)
https://git.reviewboard.kde.org/r/124282/#comment56582

always use braces {}



src/plugins/voikko/voikkodict.cpp (line 108)
https://git.reviewboard.kde.org/r/124282/#comment56584

just return true here, and you don't need the else block.



src/plugins/voikko/voikkodict.cpp (line 125)
https://git.reviewboard.kde.org/r/124282/#comment56586

if (replacements.contains(word)) {
suggestions.append(word);
}

is much more readable



src/plugins/voikko/voikkodict.cpp (line 130)
https://git.reviewboard.kde.org/r/124282/#comment56588

can't you free the string again here? then you can do an early return if 
wcharSuggestions is empty.

(I'd also prefer avoiding hungarian notiation  -- typeVariablename.)



src/plugins/voikko/voikkodict.cpp (line 140)
https://git.reviewboard.kde.org/r/124282/#comment56587

isn't this the wrong delete? It is declared as a pointer, not an array.



src/plugins/voikko/voikkodict.cpp (line 172)
https://git.reviewboard.kde.org/r/124282/#comment56590

This is not very elegant.

A better solution might be to split this up into two functions 
(fetchPersonal() that returns languageNode, and storePersonal() that takes a 
languageNode()), maybe?



src/plugins/voikko/voikkodict.cpp (line 180)
https://git.reviewboard.kde.org/r/124282/#comment56589

error out early instead.

also, QIODevice::Truncate? That will delete everything already in the file.



src/plugins/voikko/voikkodict.cpp (line 236)
https://git.reviewboard.kde.org/r/124282/#comment56591

error out early


- Martin Tobias Holmedahl Sandsmark


On July 7, 2015, 2:44 p.m., Jesse Jaara wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124282/
 ---
 
 (Updated July 7, 2015, 2:44 p.m.)
 
 
 Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.
 
 
 Repository: sonnet
 
 
 Description
 ---
 
 # Implement Voikko based spellchecker for Sonnet
 
 ## Description
 Implements a spell chekcing plugin based on libvoikko 
 http://voikko.puimula.org/.
 Primarily for supporting highquality Finnishs spell checking, but HFST 
 trancuders
 can be found several other languages too.
 http://sourceforge.net/projects/hfst/files/resources/spell-transducers/
 
 
 ## List of commits (oldest 1st)
 ---
 
 Define QLoggingCategory for for voikko speller plugin
 
 * Declared SONNET_VOIKKO QLoggingCategory
 
 --
 
 Implement Voikko based spellchecker (dictionary)
 
 * All Sonnet::SpellerPlugin functions are implemented.
* storeReplacement() and addToPersonal() use Json based storage.
 * File location:
 * UNIX  OSX: 
 QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
 * Windows = Vista: 
 QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
 * XP: QSP::GenericDataLocation/../../Aplication 
 Data/Sonnet/Voikko-user-dictionary.json
 * Format:
 ```JSON
 { languageId: {
 PersonalWords: [
 word
 ],
 Replacements: [
 {bad: eror,
  good: error}
 ]
 }
 ```
 * Before use VoikkoDict based chekkers must be ensured to be with valid with 
 initFailed().
   As so the ctor is protected and only accessible from friens class 
 VoikkoClient, which
   does this check before returning the speller. Using an invalid speller will 
 result in
   null-pointer exceptions.
 
 

Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Martin Klapetek


 On July 7, 2015, 5:10 p.m., Alex Richardson wrote:
  src/knotificationmanager.cpp, line 89
  https://git.reviewboard.kde.org/r/124281/diff/2/?file=383580#file383580line89
 
  Use `KPluginLoader::findPlugins` or `KPluginLoader::instantiatePlugins` 
  and then do the qobject_cast to avoid that duplicate code

Fwiw, the KPluginLoader docu says this:

Therefore, if you do not need the plugin version feature, you can (and should) 
just use QPluginLoader instead.

Looks like it could be updated.


 On July 7, 2015, 5:10 p.m., Alex Richardson wrote:
  src/notifybypopup.cpp, line 278
  https://git.reviewboard.kde.org/r/124281/diff/2/?file=383581#file383581line278
 
  nullptr? or Q_NULLPTR if that's not allowed.
  Would make it explicit that it's a pointer.

Yeah, good point.


- Martin


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/#review82179
---


On July 7, 2015, 4:42 p.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124281/
 ---
 
 (Updated July 7, 2015, 4:42 p.m.)
 
 
 Review request for KDE Frameworks and Martin Gräßlin.
 
 
 Repository: knotifications
 
 
 Description
 ---
 
 This patch reduces the dependencies of KNotifications framework and 
 effectively makes it a tier 2 framework.
 
 KService is used only for locating additional notification plugins and to my 
 knowledge,
 there are none such plugins currently existing, at least not in all around 
 KDE plus
 the class for the plugins wasn't exported until about two months ago, so this 
 should
 be safe without a legacy support.
 
 KIconThemes is used only to get KIconLoader::Small icon pixmap for 
 notifications
 using KPassivePopup. After some playing around it turns out that it puts the 
 icon into
 the KPassivePopup title and makes it as big as the text. So I've made the 
 icon size to
 be the same as the text height. So this keeps things visually the same + 
 still DPI aware,
 though I believe the KPassivePopup should receive a complete visual overhaul 
 anyway.
 
 Additionally, KCodecs dependency has again one single usage for decoding html 
 entities
 to QChars within QXmlStreamReader parser, so eventually could also be 
 removed/replaced
 with QTextDocument::toPlainText() which seems to do the same job as 
 QXmlStreamReader+KCodecs.
 
 
 Diffs
 -
 
   CMakeLists.txt 2d5437b 
   metainfo.yaml 7fc15f7 
   src/CMakeLists.txt 1cebece 
   src/knotificationmanager.cpp 8d4f953 
   src/notifybypopup.cpp e377051 
   tests/kpassivepopuptest.h bc0dedc 
   tests/kpassivepopuptest.cpp 2486fd8 
 
 Diff: https://git.reviewboard.kde.org/r/124281/diff/
 
 
 Testing
 ---
 
 Everything still compiles + I added a test for KPassivePopup with an icon.
 
 
 Thanks,
 
 Martin Klapetek
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Martin Klapetek

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/
---

(Updated July 7, 2015, 9 p.m.)


Review request for KDE Frameworks and Martin Gräßlin.


Changes
---

KPluginLoader + Q_NULLPTR


Repository: knotifications


Description
---

This patch reduces the dependencies of KNotifications framework and effectively 
makes it a tier 2 framework.

KService is used only for locating additional notification plugins and to my 
knowledge,
there are none such plugins currently existing, at least not in all around KDE 
plus
the class for the plugins wasn't exported until about two months ago, so this 
should
be safe without a legacy support.

KIconThemes is used only to get KIconLoader::Small icon pixmap for 
notifications
using KPassivePopup. After some playing around it turns out that it puts the 
icon into
the KPassivePopup title and makes it as big as the text. So I've made the icon 
size to
be the same as the text height. So this keeps things visually the same + still 
DPI aware,
though I believe the KPassivePopup should receive a complete visual overhaul 
anyway.

Additionally, KCodecs dependency has again one single usage for decoding html 
entities
to QChars within QXmlStreamReader parser, so eventually could also be 
removed/replaced
with QTextDocument::toPlainText() which seems to do the same job as 
QXmlStreamReader+KCodecs.


Diffs (updated)
-

  CMakeLists.txt 2d5437b 
  metainfo.yaml 7fc15f7 
  src/CMakeLists.txt 1cebece 
  src/knotificationmanager.cpp 8d4f953 
  src/knotificationplugin.cpp 7315c17 
  src/notifybypopup.cpp e377051 
  tests/kpassivepopuptest.h bc0dedc 
  tests/kpassivepopuptest.cpp 2486fd8 

Diff: https://git.reviewboard.kde.org/r/124281/diff/


Testing
---

Everything still compiles + I added a test for KPassivePopup with an icon.


Thanks,

Martin Klapetek

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Martin Tobias Holmedahl Sandsmark


 On July 7, 2015, 7:07 p.m., Martin Tobias Holmedahl Sandsmark wrote:
  src/plugins/voikko/voikkodict.cpp, line 125
  https://git.reviewboard.kde.org/r/124282/diff/3/?file=383592#file383592line125
 
  if (replacements.contains(word)) {
  suggestions.append(word);
  }
  
  is much more readable

I didn't see apol's comment above, but considering that this isn't something 
that's going to be called often and be performance criticial I much prefer your 
original code (much more readable).

Even if my example was wrong (the new version was hard to grok). :-)


- Martin Tobias Holmedahl


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/#review82192
---


On July 7, 2015, 2:44 p.m., Jesse Jaara wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124282/
 ---
 
 (Updated July 7, 2015, 2:44 p.m.)
 
 
 Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.
 
 
 Repository: sonnet
 
 
 Description
 ---
 
 # Implement Voikko based spellchecker for Sonnet
 
 ## Description
 Implements a spell chekcing plugin based on libvoikko 
 http://voikko.puimula.org/.
 Primarily for supporting highquality Finnishs spell checking, but HFST 
 trancuders
 can be found several other languages too.
 http://sourceforge.net/projects/hfst/files/resources/spell-transducers/
 
 
 ## List of commits (oldest 1st)
 ---
 
 Define QLoggingCategory for for voikko speller plugin
 
 * Declared SONNET_VOIKKO QLoggingCategory
 
 --
 
 Implement Voikko based spellchecker (dictionary)
 
 * All Sonnet::SpellerPlugin functions are implemented.
* storeReplacement() and addToPersonal() use Json based storage.
 * File location:
 * UNIX  OSX: 
 QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
 * Windows = Vista: 
 QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
 * XP: QSP::GenericDataLocation/../../Aplication 
 Data/Sonnet/Voikko-user-dictionary.json
 * Format:
 ```JSON
 { languageId: {
 PersonalWords: [
 word
 ],
 Replacements: [
 {bad: eror,
  good: error}
 ]
 }
 ```
 * Before use VoikkoDict based chekkers must be ensured to be with valid with 
 initFailed().
   As so the ctor is protected and only accessible from friens class 
 VoikkoClient, which
   does this check before returning the speller. Using an invalid speller will 
 result in
   null-pointer exceptions.
 
 --
 
 Implement Sonnet::Client for Voikko speller
 
 * Reliability set to 50.
   Voikko is primarily only used for Finnish at the moment, although
   the HFST transducer-backend has added support for other languages
   of varying quality.
   As for Finnish (99% of use cases) the results are top quality.
 
   In any case the reliability should be higher than that of hunspell
   and aspell to prevent them from kicking in for Finnish, as the
   Finnish dictionarys for them are low-quality.
 
 * Name is Voikko
 
 --
 
 Add in CMakeBits needed to compile Voikko speller.
 
 * Added FindVOIKKO module
 
 
 Diffs
 -
 
   cmake/FindVOIKKO.cmake PRE-CREATION 
   src/plugins/CMakeLists.txt 3d24d61 
   src/plugins/voikko/CMakeLists.txt PRE-CREATION 
   src/plugins/voikko/voikkoclient.h PRE-CREATION 
   src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
   src/plugins/voikko/voikkodebug.h PRE-CREATION 
   src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
   src/plugins/voikko/voikkodict.h PRE-CREATION 
   src/plugins/voikko/voikkodict.cpp PRE-CREATION 
 
 Diff: https://git.reviewboard.kde.org/r/124282/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Jesse Jaara
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Martin Klapetek


 On July 7, 2015, 9:38 p.m., Mark Gaiser wrote:
  src/knotificationmanager.cpp, line 89
  https://git.reviewboard.kde.org/r/124281/diff/3/?file=383605#file383605line89
 
  Don't you have a memory leak here?
  You have a list of pointers which you own here, but QList doesn't know 
  that. When that list goes out of scope it doesn't delete the pointers as 
  far as i know.
  The simplest way i can think of is to make plugins a class member and 
  call qDeleteAll(m_plugins) in the class destructor which then deletes all 
  objects.
  Or you could go for smart pointers which you store in the QList, that 
  would also clean it up nicely when going out of scope.

 Don't you have a memory leak here?

No; the plugins wanted are deleted when KNotificationManager is deleted, the 
plugins not wanted are deleted on line 101. The QObject *s are owned by 
KNotificationManager, that's what the last arg to 
KPluginLoader::instantiatePlugins does.


On July 7, 2015, 9:38 p.m., Martin Klapetek wrote:
  I'm looking at the KNotifications dependency graph here [1] and see that 
  KWindowSystem is only required for KCrash.
  So err, can't that one go as well since you removed KService which required 
  KCrash which then required KWindowSystem?
  
  I could be very wrong if KNotifications is using KWindowSystem somewhere, 
  obviously. But the graph doesn't give me that impression.
  
  [1] 
  http://api.kde.org/frameworks-api/frameworks5-apidocs/knotifications/html/knotifications-dependencies.html

No; KWS is used much more than that, do a grep in the repo. Basically it's used 
for window activation/raising and related stuff, not _only_ because of KCrash. 
In fact, KCrash is only a dependency of KService and not used at all in 
KNotifications, KService is gone but KWindowSystem is still very much needed.


- Martin


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/#review82195
---


On July 7, 2015, 9 p.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124281/
 ---
 
 (Updated July 7, 2015, 9 p.m.)
 
 
 Review request for KDE Frameworks and Martin Gräßlin.
 
 
 Repository: knotifications
 
 
 Description
 ---
 
 This patch reduces the dependencies of KNotifications framework and 
 effectively makes it a tier 2 framework.
 
 KService is used only for locating additional notification plugins and to my 
 knowledge,
 there are none such plugins currently existing, at least not in all around 
 KDE plus
 the class for the plugins wasn't exported until about two months ago, so this 
 should
 be safe without a legacy support.
 
 KIconThemes is used only to get KIconLoader::Small icon pixmap for 
 notifications
 using KPassivePopup. After some playing around it turns out that it puts the 
 icon into
 the KPassivePopup title and makes it as big as the text. So I've made the 
 icon size to
 be the same as the text height. So this keeps things visually the same + 
 still DPI aware,
 though I believe the KPassivePopup should receive a complete visual overhaul 
 anyway.
 
 Additionally, KCodecs dependency has again one single usage for decoding html 
 entities
 to QChars within QXmlStreamReader parser, so eventually could also be 
 removed/replaced
 with QTextDocument::toPlainText() which seems to do the same job as 
 QXmlStreamReader+KCodecs.
 
 
 Diffs
 -
 
   CMakeLists.txt 2d5437b 
   metainfo.yaml 7fc15f7 
   src/CMakeLists.txt 1cebece 
   src/knotificationmanager.cpp 8d4f953 
   src/knotificationplugin.cpp 7315c17 
   src/notifybypopup.cpp e377051 
   tests/kpassivepopuptest.h bc0dedc 
   tests/kpassivepopuptest.cpp 2486fd8 
 
 Diff: https://git.reviewboard.kde.org/r/124281/diff/
 
 
 Testing
 ---
 
 Everything still compiles + I added a test for KPassivePopup with an icon.
 
 
 Thanks,
 
 Martin Klapetek
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Alex Richardson

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/#review82179
---


Looks good to me otherwise


src/knotificationmanager.cpp (line 87)
https://git.reviewboard.kde.org/r/124281/#comment56570

Use `KPluginLoader::findPlugins` or `KPluginLoader::instantiatePlugins` and 
then do the qobject_cast to avoid that duplicate code



src/notifybypopup.cpp (line 274)
https://git.reviewboard.kde.org/r/124281/#comment56571

nullptr? or Q_NULLPTR if that's not allowed.
Would make it explicit that it's a pointer.


- Alex Richardson


On July 7, 2015, 3:42 p.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124281/
 ---
 
 (Updated July 7, 2015, 3:42 p.m.)
 
 
 Review request for KDE Frameworks and Martin Gräßlin.
 
 
 Repository: knotifications
 
 
 Description
 ---
 
 This patch reduces the dependencies of KNotifications framework and 
 effectively makes it a tier 2 framework.
 
 KService is used only for locating additional notification plugins and to my 
 knowledge,
 there are none such plugins currently existing, at least not in all around 
 KDE plus
 the class for the plugins wasn't exported until about two months ago, so this 
 should
 be safe without a legacy support.
 
 KIconThemes is used only to get KIconLoader::Small icon pixmap for 
 notifications
 using KPassivePopup. After some playing around it turns out that it puts the 
 icon into
 the KPassivePopup title and makes it as big as the text. So I've made the 
 icon size to
 be the same as the text height. So this keeps things visually the same + 
 still DPI aware,
 though I believe the KPassivePopup should receive a complete visual overhaul 
 anyway.
 
 Additionally, KCodecs dependency has again one single usage for decoding html 
 entities
 to QChars within QXmlStreamReader parser, so eventually could also be 
 removed/replaced
 with QTextDocument::toPlainText() which seems to do the same job as 
 QXmlStreamReader+KCodecs.
 
 
 Diffs
 -
 
   CMakeLists.txt 2d5437b 
   metainfo.yaml 7fc15f7 
   src/CMakeLists.txt 1cebece 
   src/knotificationmanager.cpp 8d4f953 
   src/notifybypopup.cpp e377051 
   tests/kpassivepopuptest.h bc0dedc 
   tests/kpassivepopuptest.cpp 2486fd8 
 
 Diff: https://git.reviewboard.kde.org/r/124281/diff/
 
 
 Testing
 ---
 
 Everything still compiles + I added a test for KPassivePopup with an icon.
 
 
 Thanks,
 
 Martin Klapetek
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Aleix Pol Gonzalez


 On July 7, 2015, 9:07 p.m., Martin Tobias Holmedahl Sandsmark wrote:
  src/plugins/voikko/voikkoclient.cpp, line 32
  https://git.reviewboard.kde.org/r/124282/diff/3/?file=383588#file383588line32
 
  I prefer to error out early («if (!dictionaries) return;»), less 
  indentation and state to remember.

That's not the policy for KDE Frameworks though: 
https://techbase.kde.org/Policies/Kdelibs_Coding_Style
See that running astyle is part of the process of becoming a framework: 
https://community.kde.org/Frameworks/CreationGuidelines


- Aleix


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/#review82192
---


On July 7, 2015, 4:44 p.m., Jesse Jaara wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124282/
 ---
 
 (Updated July 7, 2015, 4:44 p.m.)
 
 
 Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.
 
 
 Repository: sonnet
 
 
 Description
 ---
 
 # Implement Voikko based spellchecker for Sonnet
 
 ## Description
 Implements a spell chekcing plugin based on libvoikko 
 http://voikko.puimula.org/.
 Primarily for supporting highquality Finnishs spell checking, but HFST 
 trancuders
 can be found several other languages too.
 http://sourceforge.net/projects/hfst/files/resources/spell-transducers/
 
 
 ## List of commits (oldest 1st)
 ---
 
 Define QLoggingCategory for for voikko speller plugin
 
 * Declared SONNET_VOIKKO QLoggingCategory
 
 --
 
 Implement Voikko based spellchecker (dictionary)
 
 * All Sonnet::SpellerPlugin functions are implemented.
* storeReplacement() and addToPersonal() use Json based storage.
 * File location:
 * UNIX  OSX: 
 QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
 * Windows = Vista: 
 QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
 * XP: QSP::GenericDataLocation/../../Aplication 
 Data/Sonnet/Voikko-user-dictionary.json
 * Format:
 ```JSON
 { languageId: {
 PersonalWords: [
 word
 ],
 Replacements: [
 {bad: eror,
  good: error}
 ]
 }
 ```
 * Before use VoikkoDict based chekkers must be ensured to be with valid with 
 initFailed().
   As so the ctor is protected and only accessible from friens class 
 VoikkoClient, which
   does this check before returning the speller. Using an invalid speller will 
 result in
   null-pointer exceptions.
 
 --
 
 Implement Sonnet::Client for Voikko speller
 
 * Reliability set to 50.
   Voikko is primarily only used for Finnish at the moment, although
   the HFST transducer-backend has added support for other languages
   of varying quality.
   As for Finnish (99% of use cases) the results are top quality.
 
   In any case the reliability should be higher than that of hunspell
   and aspell to prevent them from kicking in for Finnish, as the
   Finnish dictionarys for them are low-quality.
 
 * Name is Voikko
 
 --
 
 Add in CMakeBits needed to compile Voikko speller.
 
 * Added FindVOIKKO module
 
 
 Diffs
 -
 
   cmake/FindVOIKKO.cmake PRE-CREATION 
   src/plugins/CMakeLists.txt 3d24d61 
   src/plugins/voikko/CMakeLists.txt PRE-CREATION 
   src/plugins/voikko/voikkoclient.h PRE-CREATION 
   src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
   src/plugins/voikko/voikkodebug.h PRE-CREATION 
   src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
   src/plugins/voikko/voikkodict.h PRE-CREATION 
   src/plugins/voikko/voikkodict.cpp PRE-CREATION 
 
 Diff: https://git.reviewboard.kde.org/r/124282/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Jesse Jaara
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124220: kwindowsystem: Add a plugin infrastructure for platform specific implementations

2015-07-07 Thread Hrvoje Senjan

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124220/#review82168
---


Seems kwindowsystem master doesn't build now (against Qt 5.5 at least):

```
[   55s] In file included from 
/home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:21:0:
[   55s] 
/home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo_p.h:72:11:
 error: 'QScopedPointer' does not name a type
[   55s]  const QScopedPointerPrivate d;
[   55s]^
[   55s] 
/home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:
 In constructor 'KWindowInfoPrivate::KWindowInfoPrivate(WId, NET::Properties, 
NET::Properties2)':
[   55s] 
/home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:55:7:
 error: class 'KWindowInfoPrivate' does not have any field named 'd'
[   55s]  : d(new Private(window, properties, properties2))
[   55s]^
[   55s] 
/home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:
 In member function 'WId KWindowInfoPrivate::win() const':
[   55s] 
/home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:65:12:
 error: 'd' was not declared in this scope
[   55s]  return d-window;
[   55s] ^
```

- Hrvoje Senjan


On Srp. 7, 2015, 1:31 popodne, Martin Gräßlin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124220/
 ---
 
 (Updated Srp. 7, 2015, 1:31 popodne)
 
 
 Review request for KDE Frameworks.
 
 
 Repository: kwindowsystem
 
 
 Description
 ---
 
 A plugin interface is added which allows a platform specific plugin
 to implement an interface. If the plugin does not implement the
 interface, it will fall back to the default implementation. Also
 if no plugin can be resolved it will fall back to the default
 implementation.
 
 This replaces the existing compile time and runtime selection. In
 order to make this work the KWindowInfoPrivate is changed from a
 templated approach to using pure virtuals just like the other private
 implementations in this library.
 
 As the platform specific parts are no longer compiled in we cannot
 just delegate the KWindowSystem::icon with NETWinInfo overload
 to the xcb implementation. In order to solve this problem the required
 method is added to the private interface with a default implementation
 which does not return anything. If we are not on platform xcb and
 KWindowSystem is compiled with X11 support the plugin for xcb is loaded
 and the call gets delegated to the xcb implementation. This allows e.g.
 KWin to still read icons for Xwayland clients.
 
 
 Diffs
 -
 
   src/CMakeLists.txt ff2ce392ecd7969eb94543528c7a670ea0fcd870 
   src/config-kwindowsystem.h.cmake fa0eec115870be27a17ec7b398e40f0c7506f11b 
   src/kwindoweffects.cpp fd88e20e1728506f135bcd5ecda3c05754839717 
   src/kwindoweffects_dummy.cpp 3e24cecb5c7d25883c179b622abdb5ab06587c33 
   src/kwindoweffects_dummy_p.h PRE-CREATION 
   src/kwindoweffects_p.h 7c740da952f279a2c5fe689daa5a06c131fa9c9d 
   src/kwindowinfo.cpp f29828581cdaecb7613c3f62cff72aa1fc33c266 
   src/kwindowinfo_dummy_p.h PRE-CREATION 
   src/kwindowinfo_p.h 6727dd1715a13e5bd7793275620c5fa682318f1c 
   src/kwindowsystem.cpp 789132e1b4883dd54218d29af9710dedfe6218e1 
   src/kwindowsystem_dummy_p.h PRE-CREATION 
   src/kwindowsystem_p.h 0b5f3e8aeb7b70234c61c59979abd840f349b154 
   src/kwindowsystemplugininterface.cpp PRE-CREATION 
   src/kwindowsystemplugininterface_p.h PRE-CREATION 
   src/platforms/wayland/CMakeLists.txt PRE-CREATION 
   src/platforms/wayland/plugin.h PRE-CREATION 
   src/platforms/wayland/plugin.cpp PRE-CREATION 
   src/platforms/wayland/wayland.json PRE-CREATION 
   src/platforms/xcb/CMakeLists.txt PRE-CREATION 
   src/platforms/xcb/kwindoweffects.cpp  
   src/platforms/xcb/kwindoweffects_x11.h PRE-CREATION 
   src/platforms/xcb/kwindowinfo.cpp  
   src/platforms/xcb/kwindowinfo_p_x11.h  
   src/platforms/xcb/kwindowsystem.cpp  
   src/platforms/xcb/kwindowsystem_p_x11.h  
   src/platforms/xcb/plugin.h PRE-CREATION 
   src/platforms/xcb/plugin.cpp PRE-CREATION 
   src/platforms/xcb/xcb.json PRE-CREATION 
   src/pluginwrapper.cpp PRE-CREATION 
   src/pluginwrapper_p.h PRE-CREATION 
 
 Diff: https://git.reviewboard.kde.org/r/124220/diff/
 
 
 Testing
 ---
 
 * unit tests still pass (X11)
 * kwin_wayland still shows icons for Xwayland clients
 
 
 Thanks,
 
 Martin Gräßlin
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org

Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Martin Klapetek

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/
---

Review request for KDE Frameworks and Martin Gräßlin.


Repository: knotifications


Description
---

This patch reduces the dependencies of KNotifications framework and effectively 
makes it a tier 2 framework.

KService is used only for locating additional notification plugins and to my 
knowledge,
there are none such plugins currently existing, at least not in all around KDE 
plus
the class for the plugins wasn't exported until about two months ago, so this 
should
be safe without a legacy support.

KIconThemes is used only to get KIconLoader::Small icon pixmap for 
notifications
using KPassivePopup. After some playing around it turns out that it puts the 
icon into
the KPassivePopup title and makes it as big as the text. So I've made the icon 
size to
be the same as the text height. So this keeps things visually the same + still 
DPI aware,
though I believe the KPassivePopup should receive a complete visual overhaul 
anyway.

Additionally, KCodecs dependency has again one single usage for decoding html 
entities
to QChars within QXmlStreamReader parser, so eventually could also be 
removed/replaced
with QTextDocument::toPlainText() which seems to do the same job as 
QXmlStreamReader+KCodecs.


Diffs
-

  CMakeLists.txt 2d5437b 
  metainfo.yaml 7fc15f7 
  src/CMakeLists.txt 1cebece 
  src/knotificationmanager.cpp 8d4f953 
  src/notifybypopup.cpp e377051 
  tests/kpassivepopuptest.h bc0dedc 
  tests/kpassivepopuptest.cpp 2486fd8 

Diff: https://git.reviewboard.kde.org/r/124281/diff/


Testing
---

Everything still compiles + I added a test for KPassivePopup with an icon.


Thanks,

Martin Klapetek

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124212: kwindowsystem: Change source file layout

2015-07-07 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124212/
---

(Updated July 7, 2015, 11:31 a.m.)


Status
--

This change has been marked as submitted.


Review request for KDE Frameworks.


Changes
---

Submitted with commit 21dd5094204c4b467a5c7f8114e1249b4d42f6bc by Martin 
Gräßlin to branch master.


Repository: kwindowsystem


Description
---

In the src directory we introduce a platforms directory with a specific
* osx
* wayland
* windows
* xcb

sub directory. The platform specific source and header files are moved
into those directories.

This is a preparation step to move the platform specific behavior into
plugins which get loaded at runtime. Such a change is required to
support more platforms in future for which kwindowsystem cannot provide
support directly. An example is proper Wayland support on the Plasma
platform. It needs to provide its own implementationn which has to
differ from the generic Wayland implementation.


Diffs
-

  autotests/CMakeLists.txt dda0af259b292ee5e526bb9166811fc1b376f388 
  src/CMakeLists.txt ff2ce392ecd7969eb94543528c7a670ea0fcd870 
  src/fixx11h.h  
  src/kkeyserver_mac.h  
  src/kkeyserver_mac.cpp  
  src/kkeyserver_win.h  
  src/kkeyserver_win.cpp  
  src/kkeyserver_x11.h  
  src/kkeyserver_x11.cpp  
  src/kmanagerselection.h  
  src/kselectionowner.h  
  src/kselectionowner.cpp  
  src/kselectionwatcher.h  
  src/kselectionwatcher.cpp  
  src/kwindoweffects_x11.cpp  
  src/kwindowinfo_mac.cpp  
  src/kwindowinfo_mac_p.h  
  src/kwindowinfo_p_x11.h  
  src/kwindowinfo_win.cpp  
  src/kwindowinfo_x11.cpp  
  src/kwindowsystem.cpp 789132e1b4883dd54218d29af9710dedfe6218e1 
  src/kwindowsystem_mac.cpp  
  src/kwindowsystem_p_wayland.h  
  src/kwindowsystem_p_x11.h  
  src/kwindowsystem_wayland.cpp  
  src/kwindowsystem_win.cpp  
  src/kwindowsystem_x11.cpp  
  src/kxerrorhandler.cpp  
  src/kxerrorhandler_p.h  
  src/kxmessages.h  
  src/kxmessages.cpp  
  src/kxutils.cpp  
  src/kxutils_p.h  
  src/netwm.h  
  src/netwm.cpp  
  src/netwm_p.h  
  src/platforms/CMakeLists.txt PRE-CREATION 
  src/platforms/osx/CMakeLists.txt PRE-CREATION 
  src/platforms/wayland/CMakeLists.txt PRE-CREATION 
  src/platforms/windows/CMakeLists.txt PRE-CREATION 
  src/platforms/xcb/CMakeLists.txt PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/124212/diff/


Testing
---

compiles, installs and autotest pass on platform Linux/xcb


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124220: kwindowsystem: Add a plugin infrastructure for platform specific implementations

2015-07-07 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124220/
---

(Updated July 7, 2015, 11:31 a.m.)


Status
--

This change has been marked as submitted.


Review request for KDE Frameworks.


Changes
---

Submitted with commit 569a72353ba8ca9eb9f1208b7cc4c5d28f9e by Martin 
Gräßlin to branch master.


Repository: kwindowsystem


Description
---

A plugin interface is added which allows a platform specific plugin
to implement an interface. If the plugin does not implement the
interface, it will fall back to the default implementation. Also
if no plugin can be resolved it will fall back to the default
implementation.

This replaces the existing compile time and runtime selection. In
order to make this work the KWindowInfoPrivate is changed from a
templated approach to using pure virtuals just like the other private
implementations in this library.

As the platform specific parts are no longer compiled in we cannot
just delegate the KWindowSystem::icon with NETWinInfo overload
to the xcb implementation. In order to solve this problem the required
method is added to the private interface with a default implementation
which does not return anything. If we are not on platform xcb and
KWindowSystem is compiled with X11 support the plugin for xcb is loaded
and the call gets delegated to the xcb implementation. This allows e.g.
KWin to still read icons for Xwayland clients.


Diffs
-

  src/CMakeLists.txt ff2ce392ecd7969eb94543528c7a670ea0fcd870 
  src/config-kwindowsystem.h.cmake fa0eec115870be27a17ec7b398e40f0c7506f11b 
  src/kwindoweffects.cpp fd88e20e1728506f135bcd5ecda3c05754839717 
  src/kwindoweffects_dummy.cpp 3e24cecb5c7d25883c179b622abdb5ab06587c33 
  src/kwindoweffects_dummy_p.h PRE-CREATION 
  src/kwindoweffects_p.h 7c740da952f279a2c5fe689daa5a06c131fa9c9d 
  src/kwindowinfo.cpp f29828581cdaecb7613c3f62cff72aa1fc33c266 
  src/kwindowinfo_dummy_p.h PRE-CREATION 
  src/kwindowinfo_p.h 6727dd1715a13e5bd7793275620c5fa682318f1c 
  src/kwindowsystem.cpp 789132e1b4883dd54218d29af9710dedfe6218e1 
  src/kwindowsystem_dummy_p.h PRE-CREATION 
  src/kwindowsystem_p.h 0b5f3e8aeb7b70234c61c59979abd840f349b154 
  src/kwindowsystemplugininterface.cpp PRE-CREATION 
  src/kwindowsystemplugininterface_p.h PRE-CREATION 
  src/platforms/wayland/CMakeLists.txt PRE-CREATION 
  src/platforms/wayland/plugin.h PRE-CREATION 
  src/platforms/wayland/plugin.cpp PRE-CREATION 
  src/platforms/wayland/wayland.json PRE-CREATION 
  src/platforms/xcb/CMakeLists.txt PRE-CREATION 
  src/platforms/xcb/kwindoweffects.cpp  
  src/platforms/xcb/kwindoweffects_x11.h PRE-CREATION 
  src/platforms/xcb/kwindowinfo.cpp  
  src/platforms/xcb/kwindowinfo_p_x11.h  
  src/platforms/xcb/kwindowsystem.cpp  
  src/platforms/xcb/kwindowsystem_p_x11.h  
  src/platforms/xcb/plugin.h PRE-CREATION 
  src/platforms/xcb/plugin.cpp PRE-CREATION 
  src/platforms/xcb/xcb.json PRE-CREATION 
  src/pluginwrapper.cpp PRE-CREATION 
  src/pluginwrapper_p.h PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/124220/diff/


Testing
---

* unit tests still pass (X11)
* kwin_wayland still shows icons for Xwayland clients


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124222: kidletime: Introduce plugin infrastructure for platform specific parts

2015-07-07 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124222/
---

(Updated July 7, 2015, 11:34 a.m.)


Status
--

This change has been marked as submitted.


Review request for KDE Frameworks.


Changes
---

Submitted with commit ef79ebfccac039d2a497c3a4d6f8ee7a2f4304ee by Martin 
Gräßlin to branch master.


Repository: kidletime


Description
---

Instead of having the platform specific implementations hard compiled
in, they are split out into plugins which can get loaded at runtime
depending on the platform we are in.


Diffs
-

  src/CMakeLists.txt 23e5e2914e3a8991d14b664d80ac0d4b60545b40 
  src/abstractsystempoller.h 00202d00b19fbbbd7443e07e411bdedecca230ee 
  src/kidletime.cpp fc4ce77454db52d1bbaf9831c378f22548a237a7 
  src/logging.h PRE-CREATION 
  src/logging.cpp PRE-CREATION 
  src/macpoller.h aab6a3acc16d5fb2b9a3156a142125a15d7e610f 
  src/macpoller.cpp  
  src/org.freedesktop.ScreenSaver.xml  
  src/plugins/CMakeLists.txt PRE-CREATION 
  src/plugins/osx/CMakeLists.txt PRE-CREATION 
  src/plugins/osx/osx.json PRE-CREATION 
  src/plugins/windows/CMakeLists.txt PRE-CREATION 
  src/plugins/windows/windows.json PRE-CREATION 
  src/plugins/xscreensaver/CMakeLists.txt PRE-CREATION 
  src/plugins/xscreensaver/xcb.json PRE-CREATION 
  src/plugins/xsync/CMakeLists.txt PRE-CREATION 
  src/plugins/xsync/fixx11h.h PRE-CREATION 
  src/plugins/xsync/xcb.json PRE-CREATION 
  src/widgetbasedpoller.h fac0a724d32fb79a3c9b7829cba3b17f03bfff32 
  src/windowspoller.h 502ed6dd6c6eaae1b35a14dce66812ebec30677e 
  src/windowspoller.cpp  
  src/xscreensaverbasedpoller.h 363ec521faa39e5b996c9e6767171f72005d11ca 
  src/xscreensaverbasedpoller.cpp  
  src/xsyncbasedpoller.h 8f67cbed38519e15cf5a96b5086da348ec8fabd5 
  src/xsyncbasedpoller.cpp  

Diff: https://git.reviewboard.kde.org/r/124222/diff/


Testing
---

Tried the example app on X11: it correctly loads the xsync plugin. If I modify 
it to be not available it correctly loads the xscreensaver plugin. In both 
cases the interaction is correct.

With --platform wayland no plugin gets loaded (as expected) and the 
functionality is pretty much broken.

Osx and Windows are obviously neither compile nor runtime tested. But I 
adjusted the code to my best knowledge.


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124266: Introduce an env variable to overwrite the platform name

2015-07-07 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124266/
---

(Updated July 7, 2015, 11:35 a.m.)


Status
--

This change has been marked as submitted.


Review request for KDE Frameworks.


Changes
---

Submitted with commit fd607506642195b1cfd58d92b5d720d888b711b1 by Martin 
Gräßlin to branch master.


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


Repository: kglobalaccel


Description
---

With the env variable KGLOBALACCELD_PLATFORM the platform name can
be specified, which is being used for searching for the plugin to
load. This is required because some plugins are more specific than
the supported platforms. If the environment variable is not
specified, the QGuiApplication::platformName() is used as before.

CCBUG: 349911


Diffs
-

  src/runtime/globalshortcutsregistry.cpp 
1340e0e39c1f412b6138fa80cdb93bf81c8dd593 

Diff: https://git.reviewboard.kde.org/r/124266/diff/


Testing
---

KWin adjusted to use this environment variable:
Loaded plugin 
/opt/kf5/lib/x86_64-linux-gnu/plugins/org.kde.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so
 for platform org.kde.kwin


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124133: Add dedicated Version tab to KAboutApplicationDialog

2015-07-07 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124133/
---

(Updated July 7, 2015, 11:26 a.m.)


Status
--

This change has been marked as submitted.


Review request for KDE Frameworks.


Changes
---

Submitted with commit 9c47f37bd1faa39d130739e6a49003442bd3388b by Martin 
Gräßlin to branch master.


Repository: kxmlgui


Description
---

This replaces the version information of the version and frameworks and
moves it into a dedicated tab. In this tab the information is extended
by the Qt version (which is equally relevant as e.g. the frameworks
version) in both runtime and compile time.

Also windowing system is added. This will become a useful information
for KWin developers starting in Plasma 5.4 when users start to test
things out and we need to know whether the window they experience the
problem with is running on wayland or xwayland.


Diffs
-

  src/kaboutapplicationdialog.cpp 5eeea7711aa4f95a9cd4191d68ad330ef795caea 

Diff: https://git.reviewboard.kde.org/r/124133/diff/


Testing
---


File Attachments


New wayland, new X11, old X11
  
https://git.reviewboard.kde.org/media/uploaded/files/2015/06/20/b76ba6ae-b01c-4c6a-9248-29d39c652d83__snapshot_J11265.png


Thanks,

Martin Gräßlin

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/#review82175
---


I like it!

- Martin Gräßlin


On July 7, 2015, 2:52 p.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124281/
 ---
 
 (Updated July 7, 2015, 2:52 p.m.)
 
 
 Review request for KDE Frameworks and Martin Gräßlin.
 
 
 Repository: knotifications
 
 
 Description
 ---
 
 This patch reduces the dependencies of KNotifications framework and 
 effectively makes it a tier 2 framework.
 
 KService is used only for locating additional notification plugins and to my 
 knowledge,
 there are none such plugins currently existing, at least not in all around 
 KDE plus
 the class for the plugins wasn't exported until about two months ago, so this 
 should
 be safe without a legacy support.
 
 KIconThemes is used only to get KIconLoader::Small icon pixmap for 
 notifications
 using KPassivePopup. After some playing around it turns out that it puts the 
 icon into
 the KPassivePopup title and makes it as big as the text. So I've made the 
 icon size to
 be the same as the text height. So this keeps things visually the same + 
 still DPI aware,
 though I believe the KPassivePopup should receive a complete visual overhaul 
 anyway.
 
 Additionally, KCodecs dependency has again one single usage for decoding html 
 entities
 to QChars within QXmlStreamReader parser, so eventually could also be 
 removed/replaced
 with QTextDocument::toPlainText() which seems to do the same job as 
 QXmlStreamReader+KCodecs.
 
 
 Diffs
 -
 
   CMakeLists.txt 2d5437b 
   metainfo.yaml 7fc15f7 
   src/CMakeLists.txt 1cebece 
   src/knotificationmanager.cpp 8d4f953 
   src/notifybypopup.cpp e377051 
   tests/kpassivepopuptest.h bc0dedc 
   tests/kpassivepopuptest.cpp 2486fd8 
 
 Diff: https://git.reviewboard.kde.org/r/124281/diff/
 
 
 Testing
 ---
 
 Everything still compiles + I added a test for KPassivePopup with an icon.
 
 
 Thanks,
 
 Martin Klapetek
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Jesse Jaara

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/
---

(Updated heinä 7, 2015, 2 ip)


Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.


Changes
---

Repelaced few missed NULL's with Q_NULLPTR.
Removed end-of-line whitespace from FindVOIKKO.cmake


Repository: sonnet


Description
---

# Implement Voikko based spellchecker for Sonnet

## Description
Implements a spell chekcing plugin based on libvoikko 
http://voikko.puimula.org/.
Primarily for supporting highquality Finnishs spell checking, but HFST 
trancuders
can be found several other languages too.
http://sourceforge.net/projects/hfst/files/resources/spell-transducers/


## List of commits (oldest 1st)
---

Define QLoggingCategory for for voikko speller plugin

* Declared SONNET_VOIKKO QLoggingCategory

--

Implement Voikko based spellchecker (dictionary)

* All Sonnet::SpellerPlugin functions are implemented.
   * storeReplacement() and addToPersonal() use Json based storage.
* File location:
* UNIX  OSX: 
QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
* Windows = Vista: 
QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
* XP: QSP::GenericDataLocation/../../Aplication 
Data/Sonnet/Voikko-user-dictionary.json
* Format:
```JSON
{ languageId: {
PersonalWords: [
word
],
Replacements: [
{bad: eror,
 good: error}
]
}
```
* Before use VoikkoDict based chekkers must be ensured to be with valid with 
initFailed().
  As so the ctor is protected and only accessible from friens class 
VoikkoClient, which
  does this check before returning the speller. Using an invalid speller will 
result in
  null-pointer exceptions.

--

Implement Sonnet::Client for Voikko speller

* Reliability set to 50.
  Voikko is primarily only used for Finnish at the moment, although
  the HFST transducer-backend has added support for other languages
  of varying quality.
  As for Finnish (99% of use cases) the results are top quality.

  In any case the reliability should be higher than that of hunspell
  and aspell to prevent them from kicking in for Finnish, as the
  Finnish dictionarys for them are low-quality.

* Name is Voikko

--

Add in CMakeBits needed to compile Voikko speller.

* Added FindVOIKKO module


Diffs (updated)
-

  cmake/FindVOIKKO.cmake PRE-CREATION 
  src/plugins/CMakeLists.txt 3d24d61 
  src/plugins/voikko/CMakeLists.txt PRE-CREATION 
  src/plugins/voikko/voikkoclient.h PRE-CREATION 
  src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
  src/plugins/voikko/voikkodebug.h PRE-CREATION 
  src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
  src/plugins/voikko/voikkodict.h PRE-CREATION 
  src/plugins/voikko/voikkodict.cpp PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/124282/diff/


Testing
---


Thanks,

Jesse Jaara

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Aleix Pol Gonzalez

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/#review82174
---



src/plugins/voikko/voikkoclient.h (line 37)
https://git.reviewboard.kde.org/r/124282/#comment56563

it's override, no need to specify it's virtual.



src/plugins/voikko/voikkodict.cpp (line 71)
https://git.reviewboard.kde.org/r/124282/#comment56567

This line does nothing.



src/plugins/voikko/voikkodict.cpp (line 125)
https://git.reviewboard.kde.org/r/124282/#comment56564

use constFind, now you're looking up the word twice.



src/plugins/voikko/voikkodict.cpp (line 261)
https://git.reviewboard.kde.org/r/124282/#comment56566

qCDebug(SONNET_VOIKKO)  Loaded  words.size()  replacements from 
the user dictionary.;

Same above.


I don't really know much about Voikko or even Sonnet, so just reviewing the 
code.

- Aleix Pol Gonzalez


On July 7, 2015, 4 p.m., Jesse Jaara wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124282/
 ---
 
 (Updated July 7, 2015, 4 p.m.)
 
 
 Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.
 
 
 Repository: sonnet
 
 
 Description
 ---
 
 # Implement Voikko based spellchecker for Sonnet
 
 ## Description
 Implements a spell chekcing plugin based on libvoikko 
 http://voikko.puimula.org/.
 Primarily for supporting highquality Finnishs spell checking, but HFST 
 trancuders
 can be found several other languages too.
 http://sourceforge.net/projects/hfst/files/resources/spell-transducers/
 
 
 ## List of commits (oldest 1st)
 ---
 
 Define QLoggingCategory for for voikko speller plugin
 
 * Declared SONNET_VOIKKO QLoggingCategory
 
 --
 
 Implement Voikko based spellchecker (dictionary)
 
 * All Sonnet::SpellerPlugin functions are implemented.
* storeReplacement() and addToPersonal() use Json based storage.
 * File location:
 * UNIX  OSX: 
 QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
 * Windows = Vista: 
 QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
 * XP: QSP::GenericDataLocation/../../Aplication 
 Data/Sonnet/Voikko-user-dictionary.json
 * Format:
 ```JSON
 { languageId: {
 PersonalWords: [
 word
 ],
 Replacements: [
 {bad: eror,
  good: error}
 ]
 }
 ```
 * Before use VoikkoDict based chekkers must be ensured to be with valid with 
 initFailed().
   As so the ctor is protected and only accessible from friens class 
 VoikkoClient, which
   does this check before returning the speller. Using an invalid speller will 
 result in
   null-pointer exceptions.
 
 --
 
 Implement Sonnet::Client for Voikko speller
 
 * Reliability set to 50.
   Voikko is primarily only used for Finnish at the moment, although
   the HFST transducer-backend has added support for other languages
   of varying quality.
   As for Finnish (99% of use cases) the results are top quality.
 
   In any case the reliability should be higher than that of hunspell
   and aspell to prevent them from kicking in for Finnish, as the
   Finnish dictionarys for them are low-quality.
 
 * Name is Voikko
 
 --
 
 Add in CMakeBits needed to compile Voikko speller.
 
 * Added FindVOIKKO module
 
 
 Diffs
 -
 
   cmake/FindVOIKKO.cmake PRE-CREATION 
   src/plugins/CMakeLists.txt 3d24d61 
   src/plugins/voikko/CMakeLists.txt PRE-CREATION 
   src/plugins/voikko/voikkoclient.h PRE-CREATION 
   src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
   src/plugins/voikko/voikkodebug.h PRE-CREATION 
   src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
   src/plugins/voikko/voikkodict.h PRE-CREATION 
   src/plugins/voikko/voikkodict.cpp PRE-CREATION 
 
 Diff: https://git.reviewboard.kde.org/r/124282/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Jesse Jaara
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Jesse Jaara

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/
---

Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.


Repository: sonnet


Description
---

# Implement Voikko based spellchecker for Sonnet

## Description
Implements a spell chekcing plugin based on libvoikko 
http://voikko.puimula.org/.
Primarily for supporting highquality Finnishs spell checking, but HFST 
trancuders
can be found several other languages too.
http://sourceforge.net/projects/hfst/files/resources/spell-transducers/


## List of commits (oldest 1st)
---

Define QLoggingCategory for for voikko speller plugin

* Declared SONNET_VOIKKO QLoggingCategory

--

Implement Voikko based spellchecker (dictionary)

* All Sonnet::SpellerPlugin functions are implemented.
   * storeReplacement() and addToPersonal() use Json based storage.
* File location:
* UNIX  OSX: 
QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
* Windows = Vista: 
QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
* XP: QSP::GenericDataLocation/../../Aplication 
Data/Sonnet/Voikko-user-dictionary.json
* Format:
```JSON
{ languageId: {
PersonalWords: [
word
],
Replacements: [
{bad: eror,
 good: error}
]
}
```
* Before use VoikkoDict based chekkers must be ensured to be with valid with 
initFailed().
  As so the ctor is protected and only accessible from friens class 
VoikkoClient, which
  does this check before returning the speller. Using an invalid speller will 
result in
  null-pointer exceptions.

--

Implement Sonnet::Client for Voikko speller

* Reliability set to 50.
  Voikko is primarily only used for Finnish at the moment, although
  the HFST transducer-backend has added support for other languages
  of varying quality.
  As for Finnish (99% of use cases) the results are top quality.

  In any case the reliability should be higher than that of hunspell
  and aspell to prevent them from kicking in for Finnish, as the
  Finnish dictionarys for them are low-quality.

* Name is Voikko

--

Add in CMakeBits needed to compile Voikko speller.

* Added FindVOIKKO module


Diffs
-

  cmake/FindVOIKKO.cmake PRE-CREATION 
  src/plugins/CMakeLists.txt 3d24d61cf8de95301516fc80e7fed378215b447c 
  src/plugins/voikko/CMakeLists.txt PRE-CREATION 
  src/plugins/voikko/voikkoclient.h PRE-CREATION 
  src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
  src/plugins/voikko/voikkodebug.h PRE-CREATION 
  src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
  src/plugins/voikko/voikkodict.h PRE-CREATION 
  src/plugins/voikko/voikkodict.cpp PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/124282/diff/


Testing
---


Thanks,

Jesse Jaara

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124220: kwindowsystem: Add a plugin infrastructure for platform specific implementations

2015-07-07 Thread Aleix Pol Gonzalez


 On July 7, 2015, 2:16 p.m., Hrvoje Senjan wrote:
  Seems kwindowsystem master doesn't build now (against Qt 5.5 at least):
  
  ```
  [   55s] In file included from 
  /home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:21:0:
  [   55s] 
  /home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo_p.h:72:11:
   error: 'QScopedPointer' does not name a type
  [   55s]  const QScopedPointerPrivate d;
  [   55s]^
  [   55s] 
  /home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:
   In constructor 'KWindowInfoPrivate::KWindowInfoPrivate(WId, 
  NET::Properties, NET::Properties2)':
  [   55s] 
  /home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:55:7:
   error: class 'KWindowInfoPrivate' does not have any field named 'd'
  [   55s]  : d(new Private(window, properties, properties2))
  [   55s]^
  [   55s] 
  /home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:
   In member function 'WId KWindowInfoPrivate::win() const':
  [   55s] 
  /home/abuild/rpmbuild/BUILD/kwindowsystem-5.12.0git.20150707T133122~569a723/src/kwindowinfo.cpp:65:12:
   error: 'd' was not declared in this scope
  [   55s]  return d-window;
  [   55s] ^
  ```

Should be fixed now.


- Aleix


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124220/#review82168
---


On July 7, 2015, 1:31 p.m., Martin Gräßlin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124220/
 ---
 
 (Updated July 7, 2015, 1:31 p.m.)
 
 
 Review request for KDE Frameworks.
 
 
 Repository: kwindowsystem
 
 
 Description
 ---
 
 A plugin interface is added which allows a platform specific plugin
 to implement an interface. If the plugin does not implement the
 interface, it will fall back to the default implementation. Also
 if no plugin can be resolved it will fall back to the default
 implementation.
 
 This replaces the existing compile time and runtime selection. In
 order to make this work the KWindowInfoPrivate is changed from a
 templated approach to using pure virtuals just like the other private
 implementations in this library.
 
 As the platform specific parts are no longer compiled in we cannot
 just delegate the KWindowSystem::icon with NETWinInfo overload
 to the xcb implementation. In order to solve this problem the required
 method is added to the private interface with a default implementation
 which does not return anything. If we are not on platform xcb and
 KWindowSystem is compiled with X11 support the plugin for xcb is loaded
 and the call gets delegated to the xcb implementation. This allows e.g.
 KWin to still read icons for Xwayland clients.
 
 
 Diffs
 -
 
   src/CMakeLists.txt ff2ce392ecd7969eb94543528c7a670ea0fcd870 
   src/config-kwindowsystem.h.cmake fa0eec115870be27a17ec7b398e40f0c7506f11b 
   src/kwindoweffects.cpp fd88e20e1728506f135bcd5ecda3c05754839717 
   src/kwindoweffects_dummy.cpp 3e24cecb5c7d25883c179b622abdb5ab06587c33 
   src/kwindoweffects_dummy_p.h PRE-CREATION 
   src/kwindoweffects_p.h 7c740da952f279a2c5fe689daa5a06c131fa9c9d 
   src/kwindowinfo.cpp f29828581cdaecb7613c3f62cff72aa1fc33c266 
   src/kwindowinfo_dummy_p.h PRE-CREATION 
   src/kwindowinfo_p.h 6727dd1715a13e5bd7793275620c5fa682318f1c 
   src/kwindowsystem.cpp 789132e1b4883dd54218d29af9710dedfe6218e1 
   src/kwindowsystem_dummy_p.h PRE-CREATION 
   src/kwindowsystem_p.h 0b5f3e8aeb7b70234c61c59979abd840f349b154 
   src/kwindowsystemplugininterface.cpp PRE-CREATION 
   src/kwindowsystemplugininterface_p.h PRE-CREATION 
   src/platforms/wayland/CMakeLists.txt PRE-CREATION 
   src/platforms/wayland/plugin.h PRE-CREATION 
   src/platforms/wayland/plugin.cpp PRE-CREATION 
   src/platforms/wayland/wayland.json PRE-CREATION 
   src/platforms/xcb/CMakeLists.txt PRE-CREATION 
   src/platforms/xcb/kwindoweffects.cpp  
   src/platforms/xcb/kwindoweffects_x11.h PRE-CREATION 
   src/platforms/xcb/kwindowinfo.cpp  
   src/platforms/xcb/kwindowinfo_p_x11.h  
   src/platforms/xcb/kwindowsystem.cpp  
   src/platforms/xcb/kwindowsystem_p_x11.h  
   src/platforms/xcb/plugin.h PRE-CREATION 
   src/platforms/xcb/plugin.cpp PRE-CREATION 
   src/platforms/xcb/xcb.json PRE-CREATION 
   src/pluginwrapper.cpp PRE-CREATION 
   src/pluginwrapper_p.h PRE-CREATION 
 
 Diff: https://git.reviewboard.kde.org/r/124220/diff/
 
 
 Testing
 ---
 
 * unit tests still pass (X11)
 * kwin_wayland still shows icons for Xwayland clients
 
 
 Thanks,
 
 Martin Gräßlin
 


___

Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Aleix Pol Gonzalez

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/#review82172
---



src/knotificationmanager.cpp (line 87)
https://git.reviewboard.kde.org/r/124281/#comment56560

Would it make any sense to remove this altogether?

If nobody is using it, it sounds useless.
Was it used for those Ubuntu-specific notifications, maybe?



src/notifybypopup.cpp (line 561)
https://git.reviewboard.kde.org/r/124281/#comment56561

Will that pass the DPI test? Have you tested with  a different 
QT_DEVICE_PIXEL_RATIO?


- Aleix Pol Gonzalez


On July 7, 2015, 2:52 p.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124281/
 ---
 
 (Updated July 7, 2015, 2:52 p.m.)
 
 
 Review request for KDE Frameworks and Martin Gräßlin.
 
 
 Repository: knotifications
 
 
 Description
 ---
 
 This patch reduces the dependencies of KNotifications framework and 
 effectively makes it a tier 2 framework.
 
 KService is used only for locating additional notification plugins and to my 
 knowledge,
 there are none such plugins currently existing, at least not in all around 
 KDE plus
 the class for the plugins wasn't exported until about two months ago, so this 
 should
 be safe without a legacy support.
 
 KIconThemes is used only to get KIconLoader::Small icon pixmap for 
 notifications
 using KPassivePopup. After some playing around it turns out that it puts the 
 icon into
 the KPassivePopup title and makes it as big as the text. So I've made the 
 icon size to
 be the same as the text height. So this keeps things visually the same + 
 still DPI aware,
 though I believe the KPassivePopup should receive a complete visual overhaul 
 anyway.
 
 Additionally, KCodecs dependency has again one single usage for decoding html 
 entities
 to QChars within QXmlStreamReader parser, so eventually could also be 
 removed/replaced
 with QTextDocument::toPlainText() which seems to do the same job as 
 QXmlStreamReader+KCodecs.
 
 
 Diffs
 -
 
   CMakeLists.txt 2d5437b 
   metainfo.yaml 7fc15f7 
   src/CMakeLists.txt 1cebece 
   src/knotificationmanager.cpp 8d4f953 
   src/notifybypopup.cpp e377051 
   tests/kpassivepopuptest.h bc0dedc 
   tests/kpassivepopuptest.cpp 2486fd8 
 
 Diff: https://git.reviewboard.kde.org/r/124281/diff/
 
 
 Testing
 ---
 
 Everything still compiles + I added a test for KPassivePopup with an icon.
 
 
 Thanks,
 
 Martin Klapetek
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Jesse Jaara

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/
---

(Updated heinä 7, 2015, 2:44 ip)


Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.


Changes
---

* Don't mark methods virtual
* path = path.absolutePath(); does nothing, removed
* use path instead of QDir(directory) in the lambda's return statement
* Remove annoying qCDebug() clause, it's friend was already removode earlier
* Use constFind instead of contains to look for replacements
* Change Last NULL to Q_NULLPTR


Repository: sonnet


Description
---

# Implement Voikko based spellchecker for Sonnet

## Description
Implements a spell chekcing plugin based on libvoikko 
http://voikko.puimula.org/.
Primarily for supporting highquality Finnishs spell checking, but HFST 
trancuders
can be found several other languages too.
http://sourceforge.net/projects/hfst/files/resources/spell-transducers/


## List of commits (oldest 1st)
---

Define QLoggingCategory for for voikko speller plugin

* Declared SONNET_VOIKKO QLoggingCategory

--

Implement Voikko based spellchecker (dictionary)

* All Sonnet::SpellerPlugin functions are implemented.
   * storeReplacement() and addToPersonal() use Json based storage.
* File location:
* UNIX  OSX: 
QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
* Windows = Vista: 
QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
* XP: QSP::GenericDataLocation/../../Aplication 
Data/Sonnet/Voikko-user-dictionary.json
* Format:
```JSON
{ languageId: {
PersonalWords: [
word
],
Replacements: [
{bad: eror,
 good: error}
]
}
```
* Before use VoikkoDict based chekkers must be ensured to be with valid with 
initFailed().
  As so the ctor is protected and only accessible from friens class 
VoikkoClient, which
  does this check before returning the speller. Using an invalid speller will 
result in
  null-pointer exceptions.

--

Implement Sonnet::Client for Voikko speller

* Reliability set to 50.
  Voikko is primarily only used for Finnish at the moment, although
  the HFST transducer-backend has added support for other languages
  of varying quality.
  As for Finnish (99% of use cases) the results are top quality.

  In any case the reliability should be higher than that of hunspell
  and aspell to prevent them from kicking in for Finnish, as the
  Finnish dictionarys for them are low-quality.

* Name is Voikko

--

Add in CMakeBits needed to compile Voikko speller.

* Added FindVOIKKO module


Diffs (updated)
-

  cmake/FindVOIKKO.cmake PRE-CREATION 
  src/plugins/CMakeLists.txt 3d24d61 
  src/plugins/voikko/CMakeLists.txt PRE-CREATION 
  src/plugins/voikko/voikkoclient.h PRE-CREATION 
  src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
  src/plugins/voikko/voikkodebug.h PRE-CREATION 
  src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
  src/plugins/voikko/voikkodict.h PRE-CREATION 
  src/plugins/voikko/voikkodict.cpp PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/124282/diff/


Testing
---


Thanks,

Jesse Jaara

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Martin Klapetek


 On July 7, 2015, 3:56 p.m., Aleix Pol Gonzalez wrote:
  src/knotificationmanager.cpp, line 89
  https://git.reviewboard.kde.org/r/124281/diff/1/?file=383552#file383552line89
 
  Would it make any sense to remove this altogether?
  
  If nobody is using it, it sounds useless.
  Was it used for those Ubuntu-specific notifications, maybe?

No, there were requests for custom plugins, but nobody was using it because the 
plugin class was not public until very recently. So yeah, this is wanted 
feature and I'd like to keep it in.


 On July 7, 2015, 3:56 p.m., Aleix Pol Gonzalez wrote:
  src/notifybypopup.cpp, line 565
  https://git.reviewboard.kde.org/r/124281/diff/1/?file=383553#file383553line565
 
  Will that pass the DPI test? Have you tested with  a different 
  QT_DEVICE_PIXEL_RATIO?

Yeah it works fine if the app has the Qt::AA_UseHighDpiPixmaps attribute set 
(which they are supposed to be setting for hidpi support), then it scales 
correctly with any QT_DEVICE_PIXEL_RATIO.


- Martin


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/#review82172
---


On July 7, 2015, 2:52 p.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124281/
 ---
 
 (Updated July 7, 2015, 2:52 p.m.)
 
 
 Review request for KDE Frameworks and Martin Gräßlin.
 
 
 Repository: knotifications
 
 
 Description
 ---
 
 This patch reduces the dependencies of KNotifications framework and 
 effectively makes it a tier 2 framework.
 
 KService is used only for locating additional notification plugins and to my 
 knowledge,
 there are none such plugins currently existing, at least not in all around 
 KDE plus
 the class for the plugins wasn't exported until about two months ago, so this 
 should
 be safe without a legacy support.
 
 KIconThemes is used only to get KIconLoader::Small icon pixmap for 
 notifications
 using KPassivePopup. After some playing around it turns out that it puts the 
 icon into
 the KPassivePopup title and makes it as big as the text. So I've made the 
 icon size to
 be the same as the text height. So this keeps things visually the same + 
 still DPI aware,
 though I believe the KPassivePopup should receive a complete visual overhaul 
 anyway.
 
 Additionally, KCodecs dependency has again one single usage for decoding html 
 entities
 to QChars within QXmlStreamReader parser, so eventually could also be 
 removed/replaced
 with QTextDocument::toPlainText() which seems to do the same job as 
 QXmlStreamReader+KCodecs.
 
 
 Diffs
 -
 
   CMakeLists.txt 2d5437b 
   metainfo.yaml 7fc15f7 
   src/CMakeLists.txt 1cebece 
   src/knotificationmanager.cpp 8d4f953 
   src/notifybypopup.cpp e377051 
   tests/kpassivepopuptest.h bc0dedc 
   tests/kpassivepopuptest.cpp 2486fd8 
 
 Diff: https://git.reviewboard.kde.org/r/124281/diff/
 
 
 Testing
 ---
 
 Everything still compiles + I added a test for KPassivePopup with an icon.
 
 
 Thanks,
 
 Martin Klapetek
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124281: Remove KService and KIconThemes usage from KNotifications

2015-07-07 Thread Martin Klapetek

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124281/
---

(Updated July 7, 2015, 4:42 p.m.)


Review request for KDE Frameworks and Martin Gräßlin.


Changes
---

Set Qt::AA_UseHighDpiPixmaps attribute on the kpassivepopup test

Apps are meant to set it and so should the tests


Repository: knotifications


Description
---

This patch reduces the dependencies of KNotifications framework and effectively 
makes it a tier 2 framework.

KService is used only for locating additional notification plugins and to my 
knowledge,
there are none such plugins currently existing, at least not in all around KDE 
plus
the class for the plugins wasn't exported until about two months ago, so this 
should
be safe without a legacy support.

KIconThemes is used only to get KIconLoader::Small icon pixmap for 
notifications
using KPassivePopup. After some playing around it turns out that it puts the 
icon into
the KPassivePopup title and makes it as big as the text. So I've made the icon 
size to
be the same as the text height. So this keeps things visually the same + still 
DPI aware,
though I believe the KPassivePopup should receive a complete visual overhaul 
anyway.

Additionally, KCodecs dependency has again one single usage for decoding html 
entities
to QChars within QXmlStreamReader parser, so eventually could also be 
removed/replaced
with QTextDocument::toPlainText() which seems to do the same job as 
QXmlStreamReader+KCodecs.


Diffs (updated)
-

  CMakeLists.txt 2d5437b 
  metainfo.yaml 7fc15f7 
  src/CMakeLists.txt 1cebece 
  src/knotificationmanager.cpp 8d4f953 
  src/notifybypopup.cpp e377051 
  tests/kpassivepopuptest.h bc0dedc 
  tests/kpassivepopuptest.cpp 2486fd8 

Diff: https://git.reviewboard.kde.org/r/124281/diff/


Testing
---

Everything still compiles + I added a test for KPassivePopup with an icon.


Thanks,

Martin Klapetek

___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


Re: Review Request 124282: Implement Voikko based spellchecker for Sonnet

2015-07-07 Thread Jesse Jaara


 On heinä 7, 2015, 2:11 ip, Aleix Pol Gonzalez wrote:
  src/plugins/voikko/voikkodict.cpp, line 261
  https://git.reviewboard.kde.org/r/124282/diff/1/?file=383564#file383564line261
 
  qCDebug(SONNET_VOIKKO)  Loaded  words.size()  replacements 
  from the user dictionary.;
  
  Same above.

That's make the ting extreamly nasty if someone ever decides that they also want
the debugging and warning messages to be translated. That line mostlikely only
gets called once during the lifetime of the application, so performance wise it
isn't an issue.


- Jesse


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/#review82174
---


On heinä 7, 2015, 2:44 ip, Jesse Jaara wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124282/
 ---
 
 (Updated heinä 7, 2015, 2:44 ip)
 
 
 Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.
 
 
 Repository: sonnet
 
 
 Description
 ---
 
 # Implement Voikko based spellchecker for Sonnet
 
 ## Description
 Implements a spell chekcing plugin based on libvoikko 
 http://voikko.puimula.org/.
 Primarily for supporting highquality Finnishs spell checking, but HFST 
 trancuders
 can be found several other languages too.
 http://sourceforge.net/projects/hfst/files/resources/spell-transducers/
 
 
 ## List of commits (oldest 1st)
 ---
 
 Define QLoggingCategory for for voikko speller plugin
 
 * Declared SONNET_VOIKKO QLoggingCategory
 
 --
 
 Implement Voikko based spellchecker (dictionary)
 
 * All Sonnet::SpellerPlugin functions are implemented.
* storeReplacement() and addToPersonal() use Json based storage.
 * File location:
 * UNIX  OSX: 
 QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
 * Windows = Vista: 
 QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
 * XP: QSP::GenericDataLocation/../../Aplication 
 Data/Sonnet/Voikko-user-dictionary.json
 * Format:
 ```JSON
 { languageId: {
 PersonalWords: [
 word
 ],
 Replacements: [
 {bad: eror,
  good: error}
 ]
 }
 ```
 * Before use VoikkoDict based chekkers must be ensured to be with valid with 
 initFailed().
   As so the ctor is protected and only accessible from friens class 
 VoikkoClient, which
   does this check before returning the speller. Using an invalid speller will 
 result in
   null-pointer exceptions.
 
 --
 
 Implement Sonnet::Client for Voikko speller
 
 * Reliability set to 50.
   Voikko is primarily only used for Finnish at the moment, although
   the HFST transducer-backend has added support for other languages
   of varying quality.
   As for Finnish (99% of use cases) the results are top quality.
 
   In any case the reliability should be higher than that of hunspell
   and aspell to prevent them from kicking in for Finnish, as the
   Finnish dictionarys for them are low-quality.
 
 * Name is Voikko
 
 --
 
 Add in CMakeBits needed to compile Voikko speller.
 
 * Added FindVOIKKO module
 
 
 Diffs
 -
 
   cmake/FindVOIKKO.cmake PRE-CREATION 
   src/plugins/CMakeLists.txt 3d24d61 
   src/plugins/voikko/CMakeLists.txt PRE-CREATION 
   src/plugins/voikko/voikkoclient.h PRE-CREATION 
   src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
   src/plugins/voikko/voikkodebug.h PRE-CREATION 
   src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
   src/plugins/voikko/voikkodict.h PRE-CREATION 
   src/plugins/voikko/voikkodict.cpp PRE-CREATION 
 
 Diff: https://git.reviewboard.kde.org/r/124282/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Jesse Jaara
 


___
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel