Re: [PATCH]{PUSHED]Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2012-05-14 Thread Norbert Thiebaud
For the record...

after a few iterations this was pushed as
http://cgit.freedesktop.org/libreoffice/core/commit/?id=07b3d083b49b4cbb248b5ba0aeba2bbdd3cc487d

Norbert


On Sat, May 12, 2012 at 6:23 PM, Timothy Pearson
kb9...@pearsoncomputing.net wrote:
 All,

 I have created a patch that enables Trinity Desktop Environment (TDE, the
 successor to KDE3.5.10) desktop integration for LibreOffice.  The patch is
 based against a copy of the LibreOffice GIT pulled on 05/11/2012 and has
 been tested as fully functional on the latest TDE development sources
 (R14.0.0).

 This move is required for continued desktop integration support on TDE, as
 TDE has diverged significantly enough from the old KDE 3.5.10 release API
 that the KDE3 integration modules no longer function within TDE desktop
 sessions.  Additionally, we would like to ability to repair minor
 imperfections noted within the integration modules, and potentially expand
 the integration module(s) where needed.

 The patch file is available in our GIT tree here:
 http://git.trinitydesktop.org/cgit/tde/tree/main/thirdparty/libreoffice/git_05_11_2012/patches/libreoffice-trinity.diff

 This patch incorporates feedback from my earlier patch attempt late last
 year, and avoids code duplication with the existing KDE 3.5 integration
 module as much as possible.

 Please let me know if you would like any additional information!

 Timothy Pearson
 Trinity Desktop Project

 ___
 LibreOffice mailing list
 LibreOffice@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/libreoffice
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2012-05-13 Thread Timothy Pearson
All,

I have created a patch that enables Trinity Desktop Environment (TDE, the
successor to KDE3.5.10) desktop integration for LibreOffice.  The patch is
based against a copy of the LibreOffice GIT pulled on 05/11/2012 and has
been tested as fully functional on the latest TDE development sources
(R14.0.0).

This move is required for continued desktop integration support on TDE, as
TDE has diverged significantly enough from the old KDE 3.5.10 release API
that the KDE3 integration modules no longer function within TDE desktop
sessions.  Additionally, we would like to ability to repair minor
imperfections noted within the integration modules, and potentially expand
the integration module(s) where needed.

The patch file is available in our GIT tree here:
http://git.trinitydesktop.org/cgit/tde/tree/main/thirdparty/libreoffice/git_05_11_2012/patches/libreoffice-trinity.diff

This patch incorporates feedback from my earlier patch attempt late last
year, and avoids code duplication with the existing KDE 3.5 integration
module as much as possible.

Please let me know if you would like any additional information!

Timothy Pearson
Trinity Desktop Project

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2011-11-30 Thread Lionel Elie Mamane
On Sun, Oct 30, 2011 at 09:54:19PM -0500, Timothy Pearson wrote:

 The Trinity Desktop Project developers are willing to ensure that
 the TDE integration modules continues to function with new TDE
 releases.

For that, I suppose the optimal way would be a
http://bugs.freedesktop.org/ account to assign bugs to that module
to. Maybe we could give it its own submodule in bugzilla so that this
assignment is automatic?

-- 
Lionel
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2011-11-01 Thread Lubos Lunak
On Monday 31 of October 2011, Timothy Pearson wrote:
   And I don't remember any reply to my questions, and I don't see anything
  changing since then, so they still stand: What are the reasons this is
  done as a huge copypaste s/KDE/TDE/ patch?

 Primarily so that we can start hacking on the TDE module without breaking
 the KDE3 module, and also if you look at the patch the Qt classnames have
 all been altered.  The TDE developers are nearing the end of a yearlong
 project to convert TDE to use those class names, and as soon as the final
 transition is done the KDE3 module will be completely unbuildable, let
 alone usable, on TDE.

 If it's really only class name changes, then it's nothing that a couple of 
typedef's or #define's wouldn't solve.

 I have been discussing this with Michael Meeks, and basically if
 LibreOffice would rather we hack up the KDE3 module to work with TDE that
 is fine, but we will not be able to guarantee that our changes do not
 seriously break the module when used under KDE3.  I have serious concerns
 about the maintainability of such code, including readability,

 I picked a file at random, vcl/unx/kde/salnativewidgets-kde.cxx, compared it 
with the TDE file from the patch, and if I ignore type name changes, the 
differences boil down to the attached a.patch, which is 2 changes of less 
than 20 lines in total, for a file that is 70k big. Second random file 
picked, just in case, fpicker/source/unx/kde/kdefilepicker.cxx , is pretty 
much identical (again minus the type name changes).

 In other words, to me it looks like it would have been much less work to 
create the TDE version by something like:

foo-tde.cxx:
#define BUILDING_TDE
#define QApplication QTApplication
...
#include foo-kde.cxx

foo-kde.cxx:
...
#ifdef BUILDING_TDE // or possibly even better #if TDE_IS_VERSION( 3,7,0 )
...
#endif
...

 speed of patch acceptance (due to offsite KDE3 tests most likely being
 mandatory), and how prone the code will be to accidental breakage.

 If you start taking care of the KDE3/TDE code, you'll more or less end up 
being the maintainer of it. People occassionally do a build fix or similar, I 
rarely do a bugfix when I find the time and/or somebody whines a lot, but 
that's about it I expect.

 I would assume that TDE still maintains some kind of backwards 
compatibility[*], so you should generally know whether your changes are safe 
or whether it's something new that needs an #ifdef (in which case the 
TDE_IS_VERSION check is needed anyway). If something slips through, it can 
get fixed when somebody notices.

 So I don't know the extent of the changes you plan in the code, but from what 
I can see there does not seem to be a good reason to have a special copy of 
the sources for TDE.

[*] I still don't see it said anywhere if TDE maintains any API backwards 
compatibility with KDE3 or not. The configure checks in the patch search for 
KDE3/Qt3 names, so I would assume the answer is yes. If not, then at least 
that part of the patch is definitely wrong.

-- 
 Lubos Lunak
 l.lu...@suse.cz
--- /home/llunak/build/src/libo/vcl/unx/kde/salnativewidgets-kde.cxx	2011-10-31 13:32:50.598155002 +0100
+++ a.cxx	2011-11-01 17:57:00.640561003 +0100
@@ -392,11 +395,7 @@ WidgetPainter::WidgetPainter( void )
   m_pToolBarVert( NULL ),
   m_pToolButton( NULL ),
   m_pMenuBar( NULL ),
-  m_nMenuBarEnabledItem( 0 ),
-  m_nMenuBarDisabledItem( 0 ),
   m_pPopupMenu( NULL ),
-  m_nPopupMenuEnabledItem( 0 ),
-  m_nPopupMenuDisabledItem( 0 ),
   m_pProgressBar( NULL )
 {
 }
@@ -1923,7 +1922,17 @@ void KDESalFrame::UpdateSettings( AllSet
 aStyleSettings.SetFaceColor( aBack );
 aStyleSettings.SetInactiveTabColor( aBack );
 aStyleSettings.SetDialogColor( aBack );
-aStyleSettings.SetCheckedColorSpecialCase( );
+if( aBack == COL_LIGHTGRAY )
+aStyleSettings.SetCheckedColor( Color( 0xCC, 0xCC, 0xCC ) );
+else
+{
+Color aColor2 = aStyleSettings.GetLightColor();
+aStyleSettings.
+SetCheckedColor( Color( (BYTE)(((USHORT)aBack.GetRed()+(USHORT)aColor2.GetRed())/2),
+(BYTE)(((USHORT)aBack.GetGreen()+(USHORT)aColor2.GetGreen())/2),
+(BYTE)(((USHORT)aBack.GetBlue()+(USHORT)aColor2.GetBlue())/2)
+) );
+}
 
 // Selection
 aStyleSettings.SetHighlightColor( toColor( qColorGroup.highlight() ) );
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2011-11-01 Thread Timothy Pearson
  If it's really only class name changes, then it's nothing that a couple
 of
 typedef's or #define's wouldn't solve.

Agreed.

  I picked a file at random, vcl/unx/kde/salnativewidgets-kde.cxx, compared
 it
 with the TDE file from the patch, and if I ignore type name changes, the
 differences boil down to the attached a.patch, which is 2 changes of less
 than 20 lines in total, for a file that is 70k big. Second random file
 picked, just in case, fpicker/source/unx/kde/kdefilepicker.cxx , is pretty
 much identical (again minus the type name changes).

  In other words, to me it looks like it would have been much less work to
 create the TDE version by something like:

 foo-tde.cxx:
 #define BUILDING_TDE
 #define QApplication QTApplication
 ...
 #include foo-kde.cxx

 foo-kde.cxx:
 ...
 #ifdef BUILDING_TDE // or possibly even better #if TDE_IS_VERSION( 3,7,0
 )
 ...
 #endif

Yes, you are are correct here as well.  Now that I have been away from the
problem for a little while I am starting to think this approach is
best--when it does finally come time for KDE3.5.10 to die the combined
integration module can live on, permanently latched into TDE mode.


  If you start taking care of the KDE3/TDE code, you'll more or less end up
 being the maintainer of it. People occassionally do a build fix or
 similar, I
 rarely do a bugfix when I find the time and/or somebody whines a lot, but
 that's about it I expect.

Yep, quite familiar with this. :-)


  I would assume that TDE still maintains some kind of backwards
 compatibility[*], so you should generally know whether your changes are

We don't explicitly guarantee it, but the core TDE codebase is large and
stable enough that in practice there is a high degree of backwards
compatibility.


 [*] I still don't see it said anywhere if TDE maintains any API backwards
 compatibility with KDE3 or not. The configure checks in the patch search
 for
 KDE3/Qt3 names, so I would assume the answer is yes. If not, then at least
 that part of the patch is definitely wrong.

The include file names themselves have not been changed at this point;
this is on a to-do wishlist for the project.

Thanks for the input!

Tim

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2011-10-31 Thread Michael Meeks
Hi Timothy,

On Sun, 2011-10-30 at 21:54 -0500, Timothy Pearson wrote:
 I have created a patch that enables Trinity Desktop Environment (TDE, the
 successor to KDE3.5.10) desktop integration for LibreOffice.  The patch is
 based against a copy of the LibreOffice GIT pulled on 10/28/2011 and has
 been tested as fully functional on the latest TDE release (v3.5.13).

Great ! :-) you managed to get past the vcl updates we did recently,
which is good.

 This move is required for continued desktop integration support on TDE

So - of course, we're interested in included your code, and supporting
TDE. The only real question is: how best to do that in a clean and
maintainable way - particularly as we start to change VCL more
aggressively.

 as TDE has diverged significantly enough from the old KDE 3.5.10 release API
 that the KDE3 integration modules no longer function within TDE desktop
 sessions.

Fine.

   Additionally, we would like to ability to repair minor
 imperfections noted within the integration modules, and potentially expand
 the integration module(s) where needed.

Great.

 The Trinity Desktop Project developers are willing to ensure that the TDE
 integration modules continues to function with new TDE releases.

Even better - it is already quite hard to test VCL changes that impact
the backend, so the more we can share there the more easily we can keep
your stuff building.

 The patch file is available in our GIT tree here:
 http://git.trinitydesktop.org/viewgit/index.php?a=treep=Trinity%20Desktop%20Environmenthb=HEADf=main/thirdparty/libreoffice/git_10_28_2011/patches

So - my normal instinct here would be to merge your first patch
immediately :-) and do a little dance as well.

In this case, I think we need to consider maintainability quite
carefully, and perhaps there are a few tricks here that we can do to
reduce the amount of work and code duplication necessary to support TDE
just as well.

Lets discuss that privately with Lubos, but I think we can get this
fixed up and merged for the 3.5 release (freeze is Dec 5th) quite
easily.

Thanks for your work !

Regards,

Michael.

-- 
michael.me...@suse.com  , Pseudo Engineer, itinerant idiot

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2011-10-31 Thread Lubos Lunak
On Monday 31 of October 2011, Michael Meeks wrote:
 Hi Timothy,

 On Sun, 2011-10-30 at 21:54 -0500, Timothy Pearson wrote:
  I have created a patch that enables Trinity Desktop Environment (TDE, the
  successor to KDE3.5.10) desktop integration for LibreOffice.  The patch
  is based against a copy of the LibreOffice GIT pulled on 10/28/2011 and
  has been tested as fully functional on the latest TDE release (v3.5.13).

   Great ! :-) you managed to get past the vcl updates we did recently,
 which is good.

 As a sidenote, no idea what you mean here. I don't think anything has 
significantly changed in the KDE3/4 vcl modules in the last year and they 
still work.

  The patch file is available in our GIT tree here:
  http://git.trinitydesktop.org/viewgit/index.php?a=treep=Trinity%20Deskto
 p%20Environmenthb=HEADf=main/thirdparty/libreoffice/git_10_28_2011/patch
 es

   So - my normal instinct here would be to merge your first patch
 immediately :-) and do a little dance as well.

   In this case, I think we need to consider maintainability quite
 carefully, and perhaps there are a few tricks here that we can do to
 reduce the amount of work and code duplication necessary to support TDE
 just as well.

   Lets discuss that privately with Lubos, but I think we can get this
 fixed up and merged for the 3.5 release (freeze is Dec 5th) quite
 easily.

 The original mail rings a bell ... 
http://lists.freedesktop.org/archives/libreoffice/2011-September/017515.html .

 And I don't remember any reply to my questions, and I don't see anything 
changing since then, so they still stand: What are the reasons this is done 
as a huge copypaste s/KDE/TDE/ patch?

-- 
 Lubos Lunak
 l.lu...@suse.cz
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2011-10-31 Thread Timothy Pearson

  The original mail rings a bell ...
 http://lists.freedesktop.org/archives/libreoffice/2011-September/017515.html
.

  And I don't remember any reply to my questions, and I don't see anything
 changing since then, so they still stand: What are the reasons this is done
 as a huge copypaste s/KDE/TDE/ patch?


Primarily so that we can start hacking on the TDE module without breaking
the KDE3 module, and also if you look at the patch the Qt classnames have
all been altered.  The TDE developers are nearing the end of a yearlong
project to convert TDE to use those class names, and as soon as the final
transition is done the KDE3 module will be completely unbuildable, let
alone usable, on TDE.

I have been discussing this with Michael Meeks, and basically if
LibreOffice would rather we hack up the KDE3 module to work with TDE that
is fine, but we will not be able to guarantee that our changes do not
seriously break the module when used under KDE3.  I have serious concerns
about the maintainability of such code, including readability, speed of
patch acceptance (due to offsite KDE3 tests most likely being mandatory),
and how prone the code will be to accidental breakage.

Does this help at all?  I didn't see your original message so I apologize
for the lack of a reply.

Tim



___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] Trinity Desktop Environment (TDE) desktop integraton for LibreOffice

2011-10-30 Thread Timothy Pearson
All,

I have created a patch that enables Trinity Desktop Environment (TDE, the
successor to KDE3.5.10) desktop integration for LibreOffice.  The patch is
based against a copy of the LibreOffice GIT pulled on 10/28/2011 and has
been tested as fully functional on the latest TDE release (v3.5.13).

This move is required for continued desktop integration support on TDE, as
TDE has diverged significantly enough from the old KDE 3.5.10 release API
that the KDE3 integration modules no longer function within TDE desktop
sessions.  Additionally, we would like to ability to repair minor
imperfections noted within the integration modules, and potentially expand
the integration module(s) where needed.

The Trinity Desktop Project developers are willing to ensure that the TDE
integration modules continues to function with new TDE releases.

The patch file is available in our GIT tree here:
http://git.trinitydesktop.org/viewgit/index.php?a=treep=Trinity%20Desktop%20Environmenthb=HEADf=main/thirdparty/libreoffice/git_10_28_2011/patches

Let me know if you would like any additional information!

Timothy Pearson
Trinity Desktop Project

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice