Re: Minutes of the design meeting 2018-Jan-31

2018-02-05 Thread Michel RENON

Hi,

Le 31/01/2018 à 21:48, Heiko Tietze a écrit :

[...]
GSoC

  * Full list of ideas https://pad.documentfoundation.org/p/UX-GSoC_Ideas
  * Public list 
https://wiki.documentfoundation.org/Development/GSoC/Ideas#User_Interface


Here are some suggestions based on my recent experience in teaching 
LibreOffice and writing a python macro :




Impress : work on "papercut" bugs
--


1 - Animations sets for a text box with several paragraphs don't affect 
new paragraphs (not inherited)

https://bugs.documentfoundation.org/show_bug.cgi?id=57581

This is the most annoying problem that new users face :
  - they create a slide with few lines of text,
  - they add an animation on the text, to make it appear line by line
  - they test : it works correctly
  - they add one line of text (inside or at the end)
  - they test and boom... the animation is "broken"
  - they make a pause, then... close impress and open powerpoint...



2 - Editing: Text spacing changes when click in textbox
https://bugs.documentfoundation.org/show_bug.cgi?id=89060

It is a subtle but very annoying visual effect.






Python macros



I had to create a macro embedded in a file.
As I had not written basic for a long time, I tried to write it in python.

The fist problem is that on Ubuntu, it is necessary to install a 
specific package 'libreoffice-script-provider-python'



The second problem is that, by default, there is no tool to integrate a 
python macro in a document.

I found the APSO extension [1] that allows that and is very useful.

I found some difficult points in writing python macro with that extension :
  - after modifying a python script, you have to close and re-open the 
odf file

  - some inline documentation is missing : about API, and some sample code
  - the context (available via XSCRIPTCONTEXT) is missing some API, 
compared to basic






So here are my suggestions for GSoC :
  - allow an easy activation of python support : a simple button would 
download and install all necessary packages
  - integrate the functionality of APSO (to allow embedding/managing 
python script in odf file)
  - remove the need to re-open the odf file before using a new version 
of python script




Other points can be done directly in the current extension :
  - add some inline documentation about API [2]
  - add inline documentation on both ways to use python script :
- an external script that connects to LibreOffice
- an internal script that get called by menu/button
  - allow to create scripts empty or with comments (that provide 
minimum documentation and good practice)
  - add a library of sample code (a list of "how-to ?"), that can be 
easily copied in script files



Adding API to the context (available via XSCRIPTCONTEXT) can be done by 
working on LibreOffice code :

/usr/lib/libreoffice/program/pythonscript/py






Cheers,

Michel






[1] 
https://extensions.libreoffice.org/extensions/apso-alternative-script-organizer-for-python


[2] based on very useful page 
https://wiki.openoffice.org/wiki/Python/Transfer_from_Basic_to_Python

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


Re: IDE integration with qtcreator

2017-11-27 Thread Michel Renon

Hi Heiko,

Le 26/11/2017 à 11:37, Heiko Tietze a écrit :

Trying to setup an IDE environment but after "make qtcreator-ide-integration" the build 
fails as system include files are not found. For example in case of sc 
"libxml/xpathInternals.h: No such file or directory" (exists at 
/usr/include/libxml2/libxml/). Same happens now for make from bash while it worked before. Removing 
all .pro and *.pro.user solves it for bash but isn't helpful for qtcreator. Guess there is a path 
variable missing, but what and where?



I would say that your problem is not related to qt-creator integration.

The "make qtcreator-ide-integration" command creates .pro files that are 
used to just load files in qt-creator.
The build process in qt-creator is just a GUI shortcut to the standards 
cli commands : that's why the error appears also in the bash environment.


The only link would be that "make qtcreator-ide-integration removes some 
files.
Maybe you can execute some git command to check that your repo is up to 
date ? ('git pull')



Cheers,

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


Re: QtCreator for LibreOffice : debugger integration

2015-10-07 Thread Michel Renon

Hi Michael,

Le 15/06/2015 15:30, Michael Stahl a écrit :

On 15.06.2015 15:21, Michel Renon wrote:
> Hi,
>
> Here is the next step of QtCreator integration : debugging of OUString
> (and internal type rtl_uString)
>
> http://imgur.com/ZrvIZ2V,2G52CwW,2r2wVSP
>
> 1 : default view for OUString variable : just address and length
> 2 : new view : you have the string (here with some specific french
> characters and 'euro' symbol)
> 3 : new view : you can have internals of OUString

i don't quite understand - why not just display the content of the
string by default using the python pretty printers in solenv/gdb, like
Eclipse CDT and KDevelop do?


Because QtCreator has its own api...
http://doc.qt.io/qtcreator/creator-debugging-helpers.html

It seems that there cannot be common/shared code between existing gdb helpers 
and qtcreator's one [1].


So can i create a folder : solenv/gdb/qtcreator that will contain specific 
qtcreator gdb helpers ?
I started with strings, and will continue with other basic LO types.


Currently, I need to manually enter the path to those helpers in a QtCreator 
dialog.
(qtcreator just execute in gdb "source path/to/helper.py")
Is there a way to predefine that command in gdb to avoid any manual 
configuration ?
If possible, I plan to execute it at the end of "make 
qtcreator-ide-integration" command.


Cheers,
Michel


[1] An example with OUString for QtCreator :
---

def __get_rtl_ustring(d, pdata):
"""
"""
charSize = 2
array = pdata["buffer"]
length = pdata["length"]
cutoff = min(length*charSize, d.stringCutOff)
mem = d.readMemory(array, cutoff)
encodingType = Hex4EncodedLittleEndian
return mem, encodingType

def qdump__rtl__OUString(d, value):
"""
class SAL_WARN_UNUSED SAL_DLLPUBLIC_RTTI OUString
{
public:
/// @cond INTERNAL
rtl_uString * pData;
/// @endcond
"""

pdata = value["pData"]

# show rtl_uString
mem, encodingType = __get_rtl_ustring(d, pdata)
d.putValue(mem, encodingType)
d.putAddress(value.address)
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: QtCreator for LibreOffice : debugger integration

2015-10-07 Thread Michel Renon

Le 07/10/2015 14:22, Michael Stahl a écrit :

On 07.10.2015 13:12, Michel Renon wrote:
> Hi Michael,
>
> Le 15/06/2015 15:30, Michael Stahl a écrit :
>> On 15.06.2015 15:21, Michel Renon wrote:
>>> Hi,
>>>
>>> Here is the next step of QtCreator integration : debugging of OUString
>>> (and internal type rtl_uString)
>>>
>>> http://imgur.com/ZrvIZ2V,2G52CwW,2r2wVSP
>>>
>>> 1 : default view for OUString variable : just address and length
>>> 2 : new view : you have the string (here with some specific french
>>> characters and 'euro' symbol)
>>> 3 : new view : you can have internals of OUString
>>
>> i don't quite understand - why not just display the content of the
>> string by default using the python pretty printers in solenv/gdb, like
>> Eclipse CDT and KDevelop do?
>
> Because QtCreator has its own api...
> http://doc.qt.io/qtcreator/creator-debugging-helpers.html

... but evidently the gdb ones do work, for me, on Fedora 22:

qt-creator-3.5.0-1.fc22.x86_64


Ah...
I have Qt Creator 3.1.1 (with Ubuntu SDK)


if i attach to soffice.bin and hover over an OUString variable the
pop-up displays the content of the string properly; also the "variable"
view on the right side of the window.

iirc this didn't work out-of-the-box, i had to go to
Tools->Options->Debugger->GDB and change something there, probably the
"Load system GDB pretty printers" setting.

Fyi, here is a screenshot of the popup display when I applied your settings
http://imgur.com/z8o1F7G

I'll ask that question to Qt support and keep you informed.


Thanks for your feedback,
Michel

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


[Libreoffice-commits] core.git: .gitignore

2015-08-02 Thread Michel Renon
 .gitignore |4 
 1 file changed, 4 insertions(+)

New commits:
commit 71ace488448b64e6c4cd9065e109d2c9850b031a
Author: Michel Renon michel.re...@free.fr
Date:   Sat Aug 1 21:56:55 2015 +0200

QtCreator integration : git must ignore .pro and .pro.user files.

Change-Id: Ifd21679fb7dd2b5c0c3bfe7726bf2c4d19897e21
Reviewed-on: https://gerrit.libreoffice.org/17467
Reviewed-by: Samuel Mehrbrodt s.mehrbr...@gmail.com
Tested-by: Samuel Mehrbrodt s.mehrbr...@gmail.com

diff --git a/.gitignore b/.gitignore
index 6f7b854..ec3a2fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -123,6 +123,10 @@ DerivedData
 *.vcxproj*
 *.opensdf
 
+# QtCreator specific
+*.pro
+*.pro.user
+
 # doxygen output
 /docs
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: bin/gbuild-to-ide

2015-08-02 Thread Michel Renon
 bin/gbuild-to-ide |  130 +++---
 1 file changed, 123 insertions(+), 7 deletions(-)

New commits:
commit 228a93bb3a20aa720a95d87a1fc9e047e566805e
Author: Michel Renon michel.re...@free.fr
Date:   Sat Aug 1 12:35:33 2015 +0200

QtCreator integration : generate lo.pro.user project file.

That project file handles 12 global build options :
6 about tests, 3 about clean, 2 about l10n, 1 default.
There is one run command to launch 'soffice'.
Note that QtCreator will add automatically run commands for each subproject.

Change-Id: I3650a9041654cbec7d51d8cbb7951a11ed49aad5
Reviewed-on: https://gerrit.libreoffice.org/17458
Tested-by: Jenkins c...@libreoffice.org
Reviewed-by: Samuel Mehrbrodt s.mehrbr...@gmail.com

diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 8ab4463..9e5b7a7 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -1016,6 +1016,88 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 }
 return xml
 
+def generate_meta_build_configs(self):
+xml = 
+# In QtCreator UI, build configs are listed alphabetically,
+# so it can be different from the creation order.
+# So we prefix the names with the index.
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '0',
+'base_folder' : self.base_folder,
+'arg' : ,
+'name' : 01-Global Build,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '1',
+'base_folder' : self.base_folder,
+'arg' : unitcheck,
+'name' : 02-Global tests -- quick tests (unitcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '2',
+'base_folder' : self.base_folder,
+'arg' : unitcheck slowcheck,
+'name' : 03-Global tests -- slow tests (unitcheck, slowcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '3',
+'base_folder' : self.base_folder,
+'arg' : unitcheck slowcheck subsequentcheck,
+'name' : 04-Global tests -- integration tests (unitcheck, 
slowcheck, subsequentcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '4',
+'base_folder' : self.base_folder,
+'arg' : perfcheck,
+'name' : 05-Global tests -- performance tests (perfcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '5',
+'base_folder' : self.base_folder,
+'arg' : check,
+'name' : 06-Global tests -- tests (check),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '6',
+'base_folder' : self.base_folder,
+'arg' : build-nocheck,
+'name' : 07-Global build -- nocheck,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '7',
+'base_folder' : self.base_folder,
+'arg' : build-l10n-only,
+'name' : 08-Global build -- build-l10n-only,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '8',
+'base_folder' : self.base_folder,
+'arg' : build-non-l10n-only,
+'name' : 09-Global build -- build-non-l10n-only,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '9',
+'base_folder' : self.base_folder,
+'arg' : clean,
+'name' : 10-Global build -- clean,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '10',
+'base_folder' : self.base_folder,
+'arg' : clean-build,
+'name' : 11-Global build -- clean-build,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '11',
+'base_folder' : self.base_folder,
+'arg' : clean-host,
+'name' : 12-Global build -- clean-host,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_count_template % {
+'nb' : '12',
+}
+return xml
+
 # By default, QtCreator creates 2 BuildStepList : Build et Clean
 # but the clean can be empty.
 build_configs_template = 
@@ -1161,6 +1243,19 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 }
 return xml
 
+def generate_meta_pro_user_content(self):
+
+build_configs = self.generate_meta_build_configs()
+deploy_configs = self.generate_deploy_configs

[Libreoffice-commits] core.git: bin/gbuild-to-ide

2015-07-28 Thread Michel Renon
 bin/gbuild-to-ide |   58 +++---
 1 file changed, 29 insertions(+), 29 deletions(-)

New commits:
commit 5e188b4e27d41e123ec4cd0bd3ece2181d72158a
Author: Michel Renon michel.re...@free.fr
Date:   Tue Jul 28 22:26:26 2015 +0200

QtCreator integration : remove unnecessary whitespaces.

Change-Id: Iee8a6add830be94e6a6942dc9c4464b1a91656ff
Reviewed-on: https://gerrit.libreoffice.org/17389
Reviewed-by: Maxim Monastirsky momonas...@gmail.com
Tested-by: Maxim Monastirsky momonas...@gmail.com

diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 82d1634..45838f2 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -1015,15 +1015,15 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 'nb' : '9',
 }
 return xml
-
+
 # By default, QtCreator creates 2 BuildStepList : Build et Clean
 # but the clean can be empty.
 build_configs_template = 
 valuemap type=QVariantMap 
key=ProjectExplorer.Target.BuildConfiguration.%(index)s
 value type=QString 
key=ProjectExplorer.BuildConfiguration.BuildDirectory%(base_folder)s/value
-
+
 valuemap type=QVariantMap 
key=ProjectExplorer.BuildConfiguration.BuildStepList.0
-
+
  valuemap type=QVariantMap key=ProjectExplorer.BuildStepList.Step.0
   value type=bool key=ProjectExplorer.BuildStep.Enabledtrue/value
   value type=QString 
key=ProjectExplorer.ProjectConfiguration.DefaultDisplayNameMake/value
@@ -1037,13 +1037,13 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
   value type=QString 
key=Qt4ProjectManager.MakeStep.MakeArguments%(arg)s/value
   value type=QString 
key=Qt4ProjectManager.MakeStep.MakeCommand/value
  /valuemap
- 
+
  value type=int key=ProjectExplorer.BuildStepList.StepsCount1/value
  value type=QString 
key=ProjectExplorer.ProjectConfiguration.DefaultDisplayNameBuild/value
  value type=QString 
key=ProjectExplorer.ProjectConfiguration.DisplayName/value
  value type=QString 
key=ProjectExplorer.ProjectConfiguration.IdProjectExplorer.BuildSteps.Build/value
 /valuemap
-
+
 value type=int 
key=ProjectExplorer.BuildConfiguration.BuildStepListCount1/value
 value type=bool 
key=ProjectExplorer.BuildConfiguration.ClearSystemEnvironmentfalse/value
 valuelist type=QVariantList 
key=ProjectExplorer.BuildConfiguration.UserEnvironmentChanges/
@@ -1063,7 +1063,7 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 def generate_deploy_configs(self, lib_folder):
 xml = QtCreatorIntegrationGenerator.deploy_configs_template % {}
 return xml
-
+
 deploy_configs_template = 
valuemap type=QVariantMap 
key=ProjectExplorer.Target.DeployConfiguration.0
 valuemap type=QVariantMap 
key=ProjectExplorer.BuildConfiguration.BuildStepList.0
@@ -1079,9 +1079,9 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
/valuemap
value type=int 
key=ProjectExplorer.Target.DeployConfigurationCount1/value
 
-
+
 def generate_run_configs(self, lib_folder):
-
+
 # If we use 'soffice', it's ok only for Run, not for Debug.
 # So we put soffice.bin that is ok for both.
 loexec = %s/instdir/program/soffice.bin % self.base_folder
@@ -1090,7 +1090,7 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 'workdir' : self.base_folder
 }
 return xml
-
+
 run_configs_template = 
valuemap type=QVariantMap 
key=ProjectExplorer.Target.RunConfiguration.0
 valuelist type=QVariantList 
key=Analyzer.Valgrind.AddedSuppressionFiles/
@@ -1129,7 +1129,7 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 /valuelist
 value type=int key=PE.EnvironmentAspect.Base2/value
 valuelist type=QVariantList key=PE.EnvironmentAspect.Changes/
-
+
 value type=QString 
key=ProjectExplorer.CustomExecutableRunConfiguration.Arguments/value
 value type=QString 
key=ProjectExplorer.CustomExecutableRunConfiguration.Executable%(loexec)s/value
 value type=bool 
key=ProjectExplorer.CustomExecutableRunConfiguration.UseTerminalfalse/value
@@ -1212,7 +1212,7 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
value type=bool key=EditorConfiguration.inEntireDocumentfalse/value
   /valuemap
  /data
- 
+
  data
   variableProjectExplorer.Project.PluginSettings/variable
   valuemap type=QVariantMap/
@@ -1276,18 +1276,18 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 if os.path.isfile(path+ext):
 return ext
 return 
-
+
 def get_header_extension(self, src_file):
 path = os.path.join(self.base_folder, src_file)
 for ext in (.hxx, .hpp, .h):
 if os.path.isfile(path+ext):
 return ext
 return 
-
+
 def build_data_libs(self

[Libreoffice-commits] core.git: bin/gbuild-to-ide

2015-07-27 Thread Michel Renon
 bin/gbuild-to-ide |   23 +--
 1 file changed, 13 insertions(+), 10 deletions(-)

New commits:
commit dcec162ea083b3604ff82c4dc3ca43d2b5054ea7
Author: Michel Renon michel.re...@free.fr
Date:   Tue Jul 14 23:40:04 2015 +0200

tdf#92561 : QtCreator doesn't find any generated c++ headers.

Use lib.include to list :
- all include paths (with generated c++ headers),
- header files for each lib/module.

Change-Id: I44f20ddbcaf2ffa844ec02977dea10f32fe9d92f
Reviewed-on: https://gerrit.libreoffice.org/17055
Tested-by: Jenkins c...@libreoffice.org
Reviewed-by: Maxim Monastirsky momonas...@gmail.com
Tested-by: Maxim Monastirsky momonas...@gmail.com

diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index af1b20a..82d1634 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -1298,8 +1298,13 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 return os.path.relpath(path, lib.location)
 
 sources_list = []
-headers_list = []
 includepath_list = []
+# The explicit headers list is not mandatory :
+# QtCreator just needs 'include_path_list' to find all headers 
files.
+# But files listed in 'header_list' will be shown
+# in a specific Headers folder in QtCreator's Project panel.
+# We will list here only headers files of current lib.
+headers_list = []
 for file_ in lib.cxxobjects:
 # the file has no extension : search it
 # self._log(\nfile : %s % file_)
@@ -1312,21 +1317,19 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 if ext:
 headers_list.append(lopath(file_+ext))
 
-# List all headers
+# List all include paths
 for hdir in lib.include:
-# except from workdir folder
-if workdir not in hdir:
+hf_lopath = lopath(hdir)
+includepath_list.append(hf_lopath)
+
+# List headers files from current lib
+for hdir in lib.include:
+if hdir.startswith(lib.location):
 for hf in os.listdir(hdir):
 if hf.endswith(('.h', '.hxx', '.hpp', '.hrc')):
 hf_lopath = lopath(os.path.join(hdir, hf))
 headers_list.append(hf_lopath)
 
-# We also need to have a list of include paths
-for header in headers_list:
-header_path = os.path.dirname(header)
-if header_path not in includepath_list:
-includepath_list.append(header_path)
-
 # All datas are prepared, store them for the lib.
 if lib_folder in self.data_libs:
 self.data_libs[lib_folder]['sources'] |= set(sources_list)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: bin/gbuild-to-ide

2015-07-20 Thread Michel Renon
 bin/gbuild-to-ide |   11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit 09491390e6662516339f8aa920bb8ae9493e34c0
Author: Michel Renon michel.re...@free.fr
Date:   Sat Jul 11 23:56:12 2015 +0200

tdf#92560 : QtCreator integration complains about a ucpp without a .pro 
file

The script gbuild-to-ide now handles correctly specific case where a module
is not a direct subfolder of LibreOffice base folder.
Currently, 3 modules :
external/neon, external/clucene, external/ucpp.

Change-Id: I9477519a530439d43919b4e1b51dc2c71ee05fe0
Reviewed-on: https://gerrit.libreoffice.org/17054
Tested-by: Jenkins c...@libreoffice.org
Reviewed-by: Michael Stahl mst...@redhat.com

diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 0452a9e..af1b20a 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -1291,7 +1291,8 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 all_libs = set(self.gbuildparser.libs) | set(self.gbuildparser.exes)
 for lib in all_libs:
 self._log(\nlibrary : %s, loc=%s % (lib.short_name(), 
lib.location))
-lib_folder = os.path.basename(lib.location)
+lib_name = os.path.basename(lib.location)
+lib_folder = os.path.relpath(lib.location, self.base_folder)
 
 def lopath(path):
 return os.path.relpath(path, lib.location)
@@ -1336,7 +1337,8 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 'sources' : set(sources_list),
 'headers' : set(headers_list),
 'includepath' : set(includepath_list),
-'loc' : lib.location
+'loc' : lib.location,
+'name' : lib_name
 }
 
 def emit(self):
@@ -1356,13 +1358,14 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 headers_list = sorted(self.data_libs[lib_folder]['headers'])
 includepath_list = 
sorted(self.data_libs[lib_folder]['includepath'])
 lib_loc = self.data_libs[lib_folder]['loc']
+lib_name = self.data_libs[lib_folder]['name']
 
 sources =  \\\n.join(sources_list)
 headers =  \\\n.join(headers_list)
 includepath =  \\\n.join(includepath_list)
 
 # create .pro file
-qt_pro_file = '%s/%s.pro' % (lib_loc, lib_folder)
+qt_pro_file = '%s/%s.pro' % (lib_loc, lib_name)
 try:
 content = QtCreatorIntegrationGenerator.pro_template % 
{'sources' : sources, 'headers' : headers, 'includepath' : includepath}
 mode = 'w+'
@@ -1378,7 +1381,7 @@ class 
QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
 print(\n\n, file=sys.stderr)
 
 # create .pro.user file
-qt_pro_user_file = '%s/%s.pro.user' % (lib_loc, lib_folder)
+qt_pro_user_file = '%s/%s.pro.user' % (lib_loc, lib_name)
 try:
 with open(qt_pro_user_file, mode) as fprouser:
 fprouser.write(self.generate_pro_user_content(lib_folder))
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Re: Howto build a viewer to compare differences using tiles?

2015-07-16 Thread Michel Renon

Hi Stef,

Le 15/07/2015 18:52, Stef Bon a écrit :

Hi,

I'm building backup/version system, using sqlite, btrfs and FUSE for
the user. It's comparable to snapper, but that's more a tool to
backup/snapshot the system. Fuse-backup is a tool for the user, he/she
can assign a directory to backup easily, and view versions of files
with a simple mouseclick.

[...]

Now I've spoken with Michael Meeks in Den Hage begin May at the
OpenSuse conference. I asked him howto build a tool to view the
differences between versions. He suggested me to look at the
libreofficekit, and especially the lokdocview, to view pages as tiles.

Now can someone describe globally howto write an app using qt 5,
showing the pages as tiles, the page of the current version left and
the previous version right?




I'm also interested by creating a Qt+QML app with LOKit : I would like 
to use it for making UX prototypes :-)


We are not alone : Canonical just announced that they start to integrate 
LOKit as a plugin of their DocViewer app [1].

It seems Bjoern is involved in this project ?

I found the code of the plugin [2], but I have no knowledge how to use 
it to create a standard basic app.


Hope this helps,

Michel





[1] 
https://lists.ubuntu.com/archives/ubuntu-community-team/2015-June/000649.html


[2] 
http://bazaar.launchpad.net/~verzegnassi-stefano/ubuntu-docviewer-app/lo-plugin-prototype/files

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


QtCreator for LibreOffice : debugger integration

2015-06-15 Thread Michel Renon

Hi,

Here is the next step of QtCreator integration : debugging of OUString
(and internal type rtl_uString)

http://imgur.com/ZrvIZ2V,2G52CwW,2r2wVSP

1 : default view for OUString variable : just address and length
2 : new view : you have the string (here with some specific french 
characters and 'euro' symbol)

3 : new view : you can have internals of OUString

I had to write few lines of python into ~/.gdbinit file.

My question is :
as it's not a source file, how/where should I upload that file ? And 
instructions to use it ?




And a noob question :
how to define an unicode string in c++ ?
I wrote :
rtl:OUString sTest = éèà€;
or
rtl:OUString sTest(éèà€);

but it both failed into assert at runtime.


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


Michel Renon license statement

2015-05-27 Thread Michel Renon
All of my past  future contributions to LibreOffice may be licensed 
under the MPLv2/LGPLv3+ dual license.


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


Re: QtCreator for LibreOffice - first integration

2015-05-27 Thread Michel Renon

Hi Bjoern,

Le 27/05/2015 18:27, Bjoern Michaelsen a écrit :

Hi Michel,

On Mon, May 25, 2015 at 01:04:04PM +0200, Michel Renon wrote:

I worked on using QtCreator IDE for LibreOffice :
https://gerrit.libreoffice.org/15804


That very awesome!


Here is an album of screenshots (similar to Bjoern's video with KDevelop) :
http://imgur.com/0z53TxF,qhImiuH,PhZlDZv,stXNCr7,2z03uah,NZYfoIi,mdF4xlT,WX8zNl2


Seeing that is on Linux, do you know ny chance if that stuff works on Windows
too?


Absolutely no idea :-(
I don't have any recent windows machine to test
(just an old netbook with XP...)


Cheers,
Michel


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


QtCreator for LibreOffice - first integration

2015-05-25 Thread Michel Renon

Hi,

I worked on using QtCreator IDE for LibreOffice :
https://gerrit.libreoffice.org/15804

Thanks to Arnaud who finalized the gerrit validation.


Here is an album of screenshots (similar to Bjoern's video with KDevelop) :
http://imgur.com/0z53TxF,qhImiuH,PhZlDZv,stXNCr7,2z03uah,NZYfoIi,mdF4xlT,WX8zNl2

1 : Opening QtCreator with 'sw' project file
2 : In the locator (ctrl+k), you can search classes
3 : After choosing SwInsertBookmarDlg in locator
4 : There are others way to view code, here is the Class View
(but I still don't know how to open the ClassView on a specific class 
from the source code panel)

5 : Here are the predefined build settings
6 : To debug, just add a breakpoint in the code
7 : Then start the debugger (the green triangle with a bug) : QtCreator 
launches LibreOffice
8 : As soon as the breakpoint is reached, QtCreator is back to front 
with all graphical tools to debug


Tip : the default behavior for the green triangle buttons (run /debug) 
is to execute 'make' before 'run' or 'debug'. But there are menus items 
'run without deploy' and 'debug without deploy' that allows to run/debug 
last compiled version if you have already modified source code.




My next task is to enhance the debugger to have better display of 
specific LibreOffice objects (specially OUString)



Feedback and suggestions are welcomed,

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


[Libreoffice-commits] core.git: bin/gbuild-to-ide Makefile.in

2015-05-25 Thread Michel Renon
 Makefile.in   |3 
 bin/gbuild-to-ide |  510 +-
 2 files changed, 509 insertions(+), 4 deletions(-)

New commits:
commit 237a1b79a1d5af10434c2b93cfc83c1c8e55a9d5
Author: Michel Renon michel.re...@free.fr
Date:   Tue May 19 16:30:41 2015 +0200

QtCreator IDE integration.

First version of QtCreator IDE integration :
'make qtcreator-ide-integration' generates .pro and .pro.user files for 
each subfolder of LibreOffice.
It also creates a 'lo.pro' meta project that list all other .pro files.
Developers can use use QtCreator to edit, compile and debug LibreOffice.

Change-Id: Ib05d8c36a7ca055ecd7a4db5776f4c28bf05676c
Reviewed-on: https://gerrit.libreoffice.org/15804
Tested-by: Jenkins c...@libreoffice.org
Reviewed-by: Björn Michaelsen bjoern.michael...@canonical.com

diff --git a/Makefile.in b/Makefile.in
index 61cc906..3f806c0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -370,7 +370,8 @@ $(foreach ide,\
vs2012 \
vs2013 \
vim \
-   xcode, \
+   xcode \
+   qtcreator,\
 $(eval $(call gb_Top_GbuildToIdeIntegration,$(ide
 
 endif # MAKE_RESTARTS
diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 0ec56d1..0452a9e 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -18,7 +18,7 @@ import uuid
 import json
 import xml.etree.ElementTree as ET
 import xml.dom.minidom as minidom
-
+import traceback
 
 class GbuildParserState:
 
@@ -924,6 +924,508 @@ class 
VisualStudioIntegrationGenerator(IdeIntegrationGenerator):
 self.write_pretty_xml(proj_node, filters_path)
 
 
+
+
+
+class QtCreatorIntegrationGenerator(IdeIntegrationGenerator):
+
+def __init__(self, gbuildparser, ide):
+IdeIntegrationGenerator.__init__(self, gbuildparser, ide)
+self.target_by_location = {}
+for target in set(self.gbuildparser.libs) | 
set(self.gbuildparser.exes):
+if target.location not in self.target_by_location:
+self.target_by_location[target.location] = set()
+self.target_by_location[target.location] |= set([target])
+
+self._do_log = False # set to 'True' to activate log of 
QtCreatorIntegrationGenerator
+if self._do_log:
+qtlog_path = os.path.abspath('../qtlog_.txt')
+self.qtlog = open(qtlog_path, 'w')
+
+def _log(self, message):
+if self._do_log:
+self.qtlog.write(message)
+
+def log_close(self):
+if self._do_log:
+self.qtlog.close()
+
+def generate_build_configs(self, lib_folder):
+module_folder = os.path.join(self.base_folder, lib_folder)
+xml = 
+# In QtCreator UI, build configs are listed alphabetically, 
+# so it can be different from the creation order.
+# So we prefix the names with the index.
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '0',
+'base_folder' : module_folder,
+'arg' : ,
+'name' : 1-Build %s % lib_folder,
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '1',
+'base_folder' : module_folder,
+'arg' : unitcheck,
+'name' : 2-Local tests -- quick tests (unitcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '2',
+'base_folder' : module_folder,
+'arg' : unitcheck slowcheck,
+'name' : 3-Local tests -- slow tests (unitcheck, slowcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '3',
+'base_folder' : module_folder,
+'arg' : unitcheck slowcheck subsequentcheck,
+'name' : 4-Local tests -- integration tests (unitcheck, 
slowcheck, subsequentcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '4',
+'base_folder' : self.base_folder,
+'arg' : unitcheck,
+'name' : 5-Global tests -- quick tests (unitcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '5',
+'base_folder' : self.base_folder,
+'arg' : unitcheck slowcheck,
+'name' : 6-Global tests -- slow tests (unitcheck, slowcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '6',
+'base_folder' : self.base_folder,
+'arg' : unitcheck slowcheck subsequentcheck,
+'name' : 7-Global tests -- integration tests (unitcheck, 
slowcheck, subsequentcheck),
+}
+xml += QtCreatorIntegrationGenerator.build_configs_template % {
+'index' : '7',
+'base_folder' : self.base_folder,
+'arg' : build-nocheck

Re: Questions about QtCreator-LibreOffice integration

2015-02-22 Thread Michel Renon

Hi Arnaud,

Le 22/02/2015 16:14, Arnaud Versini a écrit :

Hi Michel,

Personnaly I'm for the first solution, there is few gitignore about
visual studio, adding those for QT Creator doesn'tseems an issue.

Bjoern any sugestion ?


I should have precised that I already asked Bjoern and :
- he choose the first solution
- he told me to ask in the libreoffice ml to have further 
informations/suggestions



So, it seems that I'll implement #1
:-)

Cheers,
Michel

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


Questions about QtCreator-LibreOffice integration

2015-02-17 Thread Michel Renon

Hi,

For my first participation in LibreOffice code, I'm starting to 
configure my working environment by working on QtCreator integration, 
based on current script 'gbuild-to-ide'.


I had already some good results :
- build LO from Qtcreator
- debug LO with QtCreator GUI (and see variables and stackframe)

But the problem is related to project files.
QtCreator has an interesting feature : it handles 'metaproject' : a 
project that lists other subprojects in subfolders. It works very well 
for LO except :

- the project file must have the same name that his directory
(ie : in the 'sw' folder, the project file must be 'sw.pro', not 
'.sw.pro', neither 'sw_qt.pro'...)


- in the metaproject, we just list subfolders, and QtCreator searches 
for subprojects ; we can't explicitly indicate the subproject file


and each project/subproject file has a corresponding .pro.user file 
that contains the real build and configuration settings.


So, in order to not pollute LO code and git repo, how can we organize 
those project files ?


I thought about 2 solutions :
- create project files in the real folders (ie 'sw.pro' and 
'sw.pro.user' in 'sw'), then list all those project files in the 
'.gitignore'

(are there already some '.pro' files in LO repo ?)

- create ghost folders with project files :
create '.sw_qtcreator.pro' and '.sw_qtcreator.pro.user' inside 
'.sw_qtcreator' folder ; then list those ghost folders in '.gitignore'.



Do you have another suggestions ?
What should I implement ?

Cheers,

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


Re: [libreoffice-projects] minutes of ESC call ...

2015-02-01 Thread Michel Renon

Hi,

Le 29/01/2015 17:06, Michael Meeks a écrit :

[...]
* GSoC (Cedric)
 + We need to have new ideas added to the wiki page:
 https://wiki.documentfoundation.org/Development/Gsoc/Ideas
 + sooner the better etc. preferably before FOSDEM: today / tomorrow.



here are some ideas : if you think some might be interesting, tell me 
and I'll make some specs/ux design





- writer :
when you drag'n'drop several images in a document, all images are 
anchored at the same paragraph. If user wants each image to be bellow 
the previous, he has to do that manually (think about writing a user 
manual with lots of screenshots).
-- Add something to allow user to select the anchor type (or better : 
some predefined layout) of the dropped images.

something might be a floating/popup panel or a sidebar panel ?


- calc :
indicate sheet protection via something visual in the tab sheets.
Maybe an icon beside the name inside each tab ?
Maybe add an option to visually identify protected cells (dim protected 
cells or highlight editable cells)

TBD : how/where to indicate if the whole document is protected ?


- calc :
  - allow to easily call python/js/beanshell/.. functions from cell 
formula. just do =MyPythonFunction(). It would allow to easily use 
scientific python libraries.


  - show a suggestion panel for functions, just bellow the edited cell
(a kind of autocomplete, with infos about function, args...)

  - the suggestion panel may allow to create new functions (name and 
arguments) and then switch to macro editor ; default code would include 
useful comments (some how-to, building blocks, sample codes...)


  - the existing function wizard should list functions from all 
languages (python/js/beanshell/..). TBD : how to handle documentation of 
user-defined macros ?



- macros :
  - reorganize dialogs (I made a quick proposal that would need further 
polishing) :

https://wiki.documentfoundation.org/Design/Whiteboard/Macros_Dialogs#Proposal_by_Michel_R
(but the iTunes-like selector is not consistent with the current macro 
editor)


  - replace the macro editor engine with scintilla 
(http://www.scintilla.org/) to allow to edit easily other languages 
(python/js/beanshell/..) ; writing a scintilla lexer for LOBasic should 
not be complicated.





- general:
reorganize Insert menu
ex with writer :
https://wiki.documentfoundation.org/User:Michelr#Writer_:_new_Insert_menu
(A consequence is that OLE embedding needs to have some visual/UX bugs 
corrected : I'll file bugs asap)




- writer/calc :
transpose the current table design sidebar panel from impress to 
writer and calc.
It would not answer the need for table styles, but it would replace 
existing obsolete autoformat dialog.

For calc, it would modify selected cells.
The table design panel could be slightly enhanced to handle some more 
options (change colors, text options...)




- draw:
when user selects multiple shapes, there is only one visual selection (a 
rect with 9 green handles) around all selected objets. The problem is 
that user doesn't know exactly which objects are selected.

Change that to have each object selected, with their own blue handles.




Hope this helps,

Michel




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


Re: [Libreoffice-ux-advise] Template manager issues pending

2013-05-30 Thread Michel Renon

Hi all,

Le 29/05/2013 23:35, Cor Nouws a écrit :

Rafael Dominguez wrote (20-05-13 04:05)

I did the rest of them already, ill push it tomorrow and ill send you a
msg after, so you can test it.


Hi Rafael,

Just to make sure that I didn't miss anything: did you already have a
change to push the work?



As a reminder, the implementation started by Raphael seems :
- complicated to code (OS specific)
- difficult to maintain (because of OS specific)
- not the best UX

If it's still not implemented, why not switch to another solution:
-- after the OpenFile picker, just add a dialog to ask user what he 
wants to do (open template or create a new doc from template).


This solution is :
- much easier to implement (I suppose it should be few lines of code)
- easy to maintain (std VCL code)
- a good UX (confirmed by Cedric and Mirek)

Cheers,

Michel



___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Template manager issues pending

2013-05-20 Thread Michel Renon

Hi all,

Le 20/05/2013 02:28, Cor Nouws a écrit :

Cor Nouws wrote (20-05-13 01:39)


only managed to add the checkbox option to the gtk+, kde4
and native dialogs, still pending the windows one and mac, but i dont
have access to a mac, so its hard to work on that one.


Joren - also in cc here - does have and does some useful patches now and
then. No idea if he would be able and willing... just posting the
hint  ;)


Another idea - by far the simplest, but less elegant -
When a user opens a template, give a popup  ( :D )

   You choose a template
   Do you want a new file from that
   template or edit the template ?
   [[ New document ]]  [  Edit template  ]

New document = default

Ideas?



Well, that was already proposed 2 times in this thread !
;-)

First by Raphael on 09/04/2013, then myself on 11/05/2013.

Mirek and Cedric acknowledged that it should be the right way to do.

The remaining point seems to be how to ask user :
- a modal dialog ?
- an infobar ?

is 'infobar' something like that :
https://wiki.documentfoundation.org/Design/Whiteboards/Infobar ?


so, IMHO, I think that an infobar is too late in the opening process :
- the infobar is shown above the newly created window (the opened 
template or the newly created file)
- if a click in a button of infobar closes the current window and open 
another, it may disturb the user
- is it technically ok to close the current window and open another from 
an infobar ?



It seems to me that a simple dialog before opening template/creating new 
file is technically much simpler and more obvious for users.




Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Template manager issues pending

2013-05-10 Thread Michel Renon

Hi all,

Le 10/05/2013 17:06, Cor Nouws a écrit :

Hi all,

Worked myself through the list with template related issues and - apart
from all great progress - found a few that are still open. And with 4.1
approaching rapidly...
60589 - [Template manager]: Can not copy styles between different files
and templates



I would say that the only one being able to work on that is Mirek : as 
he strongly designed the new Template Manager, he must know how to do that.

*why is Mirek silent for such a long time on this subject ?*

As I really don't understand how the new Template Manager was designed, 
I absolutely have no idea how to correct that bug in the new Template 
Manager.





My only proposal is based on something existing :
(I just saw it has already been proposed by Raphael on 09/04/2013)
in the Styles  Formatting window, there are buttons on top. In 
Writer, there is even a popup with an action Load Styles... :

It opens a dialog that has nearly what you need :
- the list of categories of templates, then the list of templates
- it can copy some styles from the selected template to the current 
document.


My idea is to simply extend it by integrating code from old template 
manager (v3.6). As those dialogs seems similar, I suppose it should not 
require a complete rewrite.


Then, maybe add this action (Load Styles...) in Styles  Formatting 
for Calc, Impress and Draw.



If you think it might be a solution, then I can make a more precise 
proposal.




61396 - FILEOPEN: [Template Manager]Possibility to edit a template that
is not in the repository, is lacking



I saw a comment with the proposal :
when a user does Open from the File menu and selects a template, 
then LO should open the template ; instead of creating a new file from 
the template.
It seems to be a coherent behavior : the user selects the command open 
so LO must open. When the user selects new from template, then LO must 
create a new file from a template.


If you really want to prevent modification of bad file, maybe add an 
dialog asking confirmation : Do you really want to open the template 
'test.ott' ? or create a new file from this template ?







and related
59427 -  [Template Manager] low discoverability of new template manager
- we could use File → Organize templates menu


I agree



Cheers,
Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


[Libreoffice-ux-advise] Impress : general feed back

2013-05-09 Thread Michel RENON

Hi,

While working on entrance animations, I also ran an simple test of 
Impress and found bizarre behaviors :

https://wiki.documentfoundation.org/User:Michelr#Impress_4.0_:_urgent_bugs_and_enhancements

What do you think of my Proposal for urgent bugs ?
Can it be implemented easily ?

(others proposal short-term and mid-term are still in brainstorm state)

Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Mass changes to Impress animations - related to fdo#41572

2013-05-03 Thread Michel Renon

Hi,

Le 01/05/2013 18:33, Mirek M. a écrit :

On Wed, May 1, 2013 at 5:59 PM, Michel Renon michel.re...@free.fr
mailto:michel.re...@free.fr wrote:
[...]

Is it ok to create a new panel (in the tasks panel) ?


Aren't entrance animations just a subset of custom animations? What
about other kinds of animations, like exit animations? Don't they
deserve equal treatment?



I don't think so.

Entrance animation are at the core of slideshows :
- if you show all lines at once, your audience will spend a lot of time 
reading instead of listening to you
- if you show line by line, you keep control on the slideshow, you can 
let them imagine the next line will be a surprise...

- it's quite boring when a slide content doesn't change for a long time

So, yes, entrance animation are very important, while other are nearly 
optional.


And I'm not the only one : look at Powerpoint 2003 : it behaves just 
like that :
- with one or two click (in the ribbon, top-left : very important 
button), you can define the default entrance animation

- for all other animations, you use the standard Animation panel


It's the shower faucet principle :
http://michel.renon.free.fr/libreoffice/robinet_douche.jpg



Except for fewer clicks, what would the new panel bring?


it brings :
- a clear, obvious and consistent UX
- very easy to discover : the title of the panel is explicit
- very easy to use : only 3 popups with immediate change
- a shortcut to the most used functionality




Aren't all of
the options it contains already available via Effect Options?


Yes, but hidden in an terrible UI and behind a lot of clicks, icons and 
dialogs.


My proposal tries to optimize the definition of entrance animation of 
the main textfield.


If the user wants to make something special, he just has to use the 
Custom Animation as today.




I would rather opt for redesigning the current custom animation panel
than adding a new panel, especially as the task pane is overpopulated as is.


the Custom Animation panel really needs enhancements. But this is 
different from my proposal : whatever redesign you do for the Custom 
Animation, it will never be as useful as my proposal.
And, as said before, entrance animation are at the core : optimizing 
them will change life of 100% of Impress users. While other animation 
are not at the core : today, it's not worth working on other animations, 
let's focus on more important UI/UX tasks (ex : 
https://wiki.documentfoundation.org/User:Michelr#Impress_4.0_:_urgent_bugs_and_enhancements).



On a more general point of view, I'm a simple user of Impress. Handling 
entrance animation is so complex, buggy that I avoided using it for 
years. And some friends refuse to use it because they find it unusable : 
simple tasks are complex to perform (ex entrance animations), and buggy, 
buggy.



Given that bad UI feedback, I find it much more important to work/focus 
on basic/most used functionalities than working on adding unnecessary 
functionalities (ex : adding 3D Ultra advanced OpenGL transitions or 
simplifying entrance animation ?)
My idea is First let's make LibreOffice be really easy to use for basic 
work. Then, we'll take care of more advanced functionalities.


Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Mass changes to Impress animations - related to fdo#41572

2013-05-03 Thread Michel Renon

Hi Janit,

Le 01/05/2013 18:16, Janit Anjaria a écrit :

Hey Michel!
It is great that you have added something to the wiki page.I will have a
look at it,and it would be great if you can provide me with guidance on
the UI part so i can give the best possible result to the community
under Thorsten's help and your help as well on the UI Part.


As the UX is not defined/validated, it may be difficult for me to give 
precise clues.


But here are some general suggestions :
- you can look at how LibreOffice handles the Tasks Panel :
- how to add a panel
- how to hide/disable a panel
- how to handle widgets in a panel (create, handle events...)

- for the Custom Animation panel
- how does it behaves internally ? ie write documentation about it.
I wrote nothing about it in my basic feedback [1], but it seems to 
me that there are some bugs (ex : some bizarre feedback when you change 
order of elements).
You  may learn *a lot* and it'll be essential for every future 
change. Years ago, I had to start a project with a framework (MacApp2). 
I spent severals days reading code from the framework to understand the 
general architecture. It was an incredible way of learning : when I 
started coding, most of basic ideas where already integrated.




Cheers,
Michel






[1] 
https://wiki.documentfoundation.org/User:Michelr#Impress_4.0_:_urgent_bugs_and_enhancements

___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Mass changes to Impress animations - related to fdo#41572

2013-05-03 Thread Michel Renon

Le 03/05/2013 12:51, Michel Renon a écrit :

Hi Janit,

[...]

But here are some general suggestions :


I forgot :
- you can look at how LibreOffice handles smartTags :
  - how to create them
  - how to handle events
  - can we add some widgets ? (ie a popup in a smarttag ?)


Cheers,

Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


[Libreoffice-ux-advise] Articles about LibreOffice design process

2013-04-10 Thread Michel Renon

Hi,

I inform you that I wrote a list of 9 articles about LibreOffice, 
specially about the design process. The first starts here :

http://mr-consultant.net/blog/2013/04/thoughts-about-design-process-part-1-the-context/

If you have very few time, you can just go directly to last, the 
conclusion. There is a very-condensed version of my feedback and 
proposals :

http://mr-consultant.net/blog/2013/04/thoughts-about-libre-office-design-process-part-9-conclusion/

As there is also some informations for TDF, and as they participate to 
design mailing-list, I send a copy to Charles and Italo. I hope they'll 
find my feedback interesting.


Thanks for reading,

Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Mass changes to Impress animations - related to fdo#41572

2013-03-28 Thread Michel Renon

Hi Thorsten, Janit,

Le 22/03/2013 09:13, Thorsten Behrens a écrit :

[...]


- Is it possible to implement some visual changes on objects in slides ?
ex : add some small widget beside (or inside?) an object to indicate
a status or to show a popup to activate some changes. Or have a
special border.
These widgets/borders would be shown via a menu command, or via a
mouse hover, only while designing the slide.


Yes, that is possible - there's a concept called SmartTag in Impress,
that is e.g. used to implement this four-way icon at the presentation
placeholder objects ('insert table/chart/picture/movie'), or for
editing motion path animations. So the base technology for that is
there.


very good news !




- Is it possible to implement some visual changes on every single
line/ some lines of a textfield ? It's a detailed version  of the
previous point : can a line in a textfield have some widget ? or be
drawn with some special border ?


In general yes, though slightly more involved.

great !




- today, the 'animation objects' are linked to object in slides, but
is the reverse also true ?
ie if user modify a slide object, can the animation object be
updated automatically ?


Not sure I get the idea - are you referring to changes e.g. to master
pages, that then translate to all slides using it (that is one aspect
of the original question / task Janit was looking into)?



No, I was referring to the edition of a slide, when an animation is 
already defined on the lines of text : if you change the content of the 
text, the animation is not updated.

From a user pov, it's really annoying.
From a technical pov, is it possible to implement it ?
(I suppose it has nothing to do with UX, only code, and just define 
rules to handle different use cases)




[...]




With all your first answers, I started to brainstorm some ideas.
I'll begin to mockup them in few days. I'll create a new page on the wiki.

Thanks
Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Mass changes to Impress animations - related to fdo#41572

2013-03-21 Thread Michel Renon

Hi Thorsten, Janit,

In order to work on that problem, I would like to have some technical 
advise about what can be implemented or not.

(just to avoid wasting time by designing things that can't be implemented)
Well this mail is mostly for Thorsten as you're the official mentor of 
Impress/Draw.


- Is it possible to implement some visual changes on objects in slides ?
ex : add some small widget beside (or inside?) an object to indicate a 
status or to show a popup to activate some changes. Or have a special 
border.
These widgets/borders would be shown via a menu command, or via a mouse 
hover, only while designing the slide.


Here is an example of such widgets in a RAD tool to build forms. On the 
left, the standard view, on the right, the widgets indicate the tab 
order of 3 textfields in form : 
http://michel.renon.free.fr/libreoffice/text_order_form.png



- Is it possible to implement some visual changes on every single line/ 
some lines of a textfield ? It's a detailed version  of the previous 
point : can a line in a textfield have some widget ? or be drawn with 
some special border ?



- today, the 'animation objects' are linked to object in slides, but is 
the reverse also true ?
ie if user modify a slide object, can the animation object be updated 
automatically ?



The answers may have 4 values :
-1- it can be implemented immediately, no changes required in VCL
-2- it can be implemented after some work in VCL (and other) ; the 
average delay is few weeks ( 2 months) of devs
-3- it can be implemented after a long work in VCL (and other) ; the 
average delay is  2 months

-4- it can't be implemented, can't be done in VCL

well, if you find a fifth answer, tell me !


And two open questions :

- In this whole subject, what objects are linked to ODF format ?
(ie : what can be changed without changing the file format)

- what are the technical limitations related to animations in Impress ?



Thanks,

Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Deleting multiple styles at once

2013-02-13 Thread Michel Renon

Hi,

I hope it's not too late to answer !

Le 08/02/2013 18:06, Jean-Francois Nifenecker a écrit :

Hi,

[...]

So, as you might have guessed ;) my proposal is to get rid of any
message box for that matter.




While I agree in the general principle (if it's undoable, don't ask 
confirmation), there is something different here :
when you undo the deletion of a style, the style is not associated 
anymore to the text. So it's a partial undo (just tested in LO 3.5  
3.6) [1].
In this case, the user must be informed that the text will definitely 
loose his style (and can't be undone).


Or if devs can re-associate style to the text, then no need for 
confirmation. But it should be much much more complicated !


Michel


[1]
- create text
- add some attributes (font, color)
- create new style test1 from selected text
- save document
- delete style test1
-- the text become standard
- undo
-- the style test1 is back in the style list
-- the text is still standard
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Template manager - the menu entries

2013-01-14 Thread Michel Renon

Hi all,

Le 13/01/2013 22:58, Cor Nouws a écrit :

Hi all,

My sincere apologies if I missed a discussion about this (but in any
case my mail box does not show it).

We had the menu:
  File  Templates  Organise
 Address Book Source
 Save
 Edit

Now we have:
  File  Save As Template
  File  New  Template


What is wrong with the old menu?
It is easier to find.
It is consistent with what people know.
And File  New  Template for editing / organising is not so logic with
the rest of the menu File  New



That was also my first impression while testing LO 4 beta2




Maybe the new menu could be:
  File  Templates  Organise / Edit
 Save
 Address Book Source

Ideas?


Seems ok for me :
similar and simpler than current version ; no changes for users, easy 
for dev.



Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] LATE FEATURE: Personas in LibreOffice

2013-01-09 Thread Michel Renon

Hi all,

Le 08/01/2013 11:07, Jan Holesovsky a écrit :

Hi Cor,

Cor Nouws píše v Po 07. 01. 2013 v 22:56 +0100:


Idea looks great to me and is an invitement for futher enhancements in
the future :-)

I gues the code in a daily from 2012-12-28 (1) is not yet complet?
I see the option page, but choosing an own background image does not
work (file picker handling is broken) and a choosen persona is not shown...


That's too old, you need a build post 2012-01-04.  The 'own background'
is not working even there, and will be removed from 4.0 if the Persona
part is approved (otherwise both will go).


I tested on build 2013-01-08 on Ubuntu 12.04 and nothing works :-(

Btw, it's a nice feature !
As it's a user's choice, we have not to worry about readability of toobars.


May i make some suggestions on the pref panel ?
- why not keep the own image to select an image in local hd ?
- if i understand ok (images and personas are exclusive), we can have 
the choices :

 *Toolbar background*
   O Default
   O Image  Select Image...
   O Firefox PersonaSelect Persona...

(I renamed own image to Image)

- would it be possible to add a preview of image/persona ?
and a status text if there is an error (error loading image, error 
loading persona, timeout...).

From a user pov, it's an expected feed-back before validating.

- to be complete, LO should keep the path of image/url of persona, and 
show it below the preview ; and the url should be entered automatically 
in the persona dialog.




So my complete suggestion in ascii :

 *Toolbar background*
   O Default
   O Image  Select Image...
   O Firefox PersonaSelect Persona...

 [Status text, only if error]
   +---+
   |   |
   | preview   |
   |   |
   |   |
   +---+
   path/url : xx





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


Re: [Libreoffice-ux-advise] Template Manager: UI to reset the default template

2013-01-09 Thread Michel Renon

Le 09/01/2013 16:49, Cedric Bosdonnat a écrit :

On Wed, 2013-01-09 at 14:10 +0100, Cedric Bosdonnat wrote:

On Wed, 2013-01-09 at 11:51 +0100, Cedric Bosdonnat wrote:

Hi guys,

There is one thing really missing in the new template manager: we have
no way to reset the default template after having set it.

Any idea where / how to integrate that?


I just saw the Blank template item idea for each category in the bugs
page... that will do the trick I think.


Hum, yet another reply to myself... the Gear popup menu has the action
to reset the default template.



what is the current implementation (lo  4.0) :
- is there a default .ott, .otc, otd, otp ?
- or is it harcoded ?


I realize there is no feed-back to inform user which template is default.
Can we add some visual feed-back ?
for ex a special background or border, an icon, or bold text ?

And if the default template is hardcoded, can we add some information 
text to say The default Writer/Calc/Impress/Draw template is defined by 
LO
If you can create a blank template (eg corresponding to LO default), 
the action in gear menu seems useless.


Just a reflexion : wouldn't it be interesting to show all default 
template to user ? A list with 4 templates : 1 for Writer, 1 for Calc, 1 
for Impress, 1 for Draw


Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] LATE FEATURE: Personas in LibreOffice

2013-01-09 Thread Michel Renon

Hi all,

Le 08/01/2013 11:07, Jan Holesovsky a écrit :

Hi Cor,

Cor Nouws píše v Po 07. 01. 2013 v 22:56 +0100:


Idea looks great to me and is an invitement for futher enhancements in
the future :-)

I gues the code in a daily from 2012-12-28 (1) is not yet complet?
I see the option page, but choosing an own background image does not
work (file picker handling is broken) and a choosen persona is not shown...


That's too old, you need a build post 2012-01-04.  The 'own background'
is not working even there, and will be removed from 4.0 if the Persona
part is approved (otherwise both will go).


I tested on build 2013-01-08 on Ubuntu 12.04 and nothing works :-(

Btw, it's a nice feature !
As it's a user's choice, we have not to worry about readability of toobars.


May i make some suggestions on the pref panel ?
- why not keep the own image to select an image in local hd ?
- if i understand ok (images and personas are exclusive), we can have 
the choices :

 *Toolbar background*
   O Default
   O Image  Select Image...
   O Firefox PersonaSelect Persona...

(I renamed own image to Image)

- would it be possible to add a preview of image/persona ?
and a status text if there is an error (error loading image, error 
loading persona, timeout...).

From a user pov, it's an expected feed-back before validating.

- to be complete, LO should keep the path of image/url of persona, and 
show it below the preview ; and the url should be entered automatically 
in the persona dialog.




So my complete suggestion in ascii :

 *Toolbar background*
   O Default
   O Image  Select Image...
   O Firefox PersonaSelect Persona...

 [Status text, only if error]
   +---+
   |   |
   | preview   |
   |   |
   |   |
   +---+
   path/url : xx





Thanks,
Michel
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Advice required on auto text resize (Impress)

2012-10-15 Thread Michel Renon

Hi,

Le 13/10/2012 23:58, Jean-Baptiste Faure a écrit :

Hi,

Le 08/10/2012 15:23, Thorsten Behrens a écrit :

Hi there,

[...]

Thank you very much for these explanations about autofit feature.

Jean-Baptiste Faure wrote:

I think this autofit feature is very disturbing if you are not aware of
it.

Granted - so how to best display that? PowerPoint has a little icon
next to the textboxes that have this enabled.

I think it is a good idea. Perhaps this icon should have two states, one
which indicates that this property is enabled and another when autofit
is in action (text size is actually reduced) with a tooltip saying that
autofit is enabled and what is the actual font size.


As the problem seems to be feedback for user, why not indicate the 
real size in the font size list ?


For example, if the official size is 48 and the real size is 32, the 
font size list would show :

48 (32)

From a technical point of view, it might be simpler to implement than 
adding an icon near the textbox.


Here is the proposal :
http://wiki.documentfoundation.org/User:Michelr#Impress_:_autofit_text

Thanks,
Michel


___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


Re: [Libreoffice-ux-advise] Killed the ButtonBar in slide sorter

2012-10-02 Thread Michel Renon

Hi Jon,

Le 26/09/2012 16:34, Jan Holesovsky a écrit :

Hi Michel,

Michel Renon píše v St 26. 09. 2012 v 13:45 +0200:


UI decisions should be taken based on facts, analysis, polls, statistics.


So this is the statistics I have at hand: Several people angry about a
feature, and nobody praising it.  Now, you are the first one, so please
tell me how much do you actually use Impress.  If you do, it is really
hard to believe that you haven't got bitten by this yet.  Also, I would
be most interested to hear how many times have you actually used the
buttons.


I use Impress very few, but this buttonBar has never disturbed me.
I essentially use the 'duplicate' button of this toolbar.
I can list other parts of Impress that are design nightmare ! (I have 
a list of bugs of LO and I will create bug reports asap).
I asked other people (from my LUG) and they had no problem with the 
buttonbar, or even with the concept of popup objects. They even find the 
context menu (with right-click) so '90s (while still very useful) and 
tend to prefer the popup objects, because they become used to that with 
current web UI.




We cannot measure everything, otherwise we wouldn't get much far because
all that time spent talking, and considering, and writing
specifications.  Much better approach is to try what seems good, and if
it does not work, ie. we get complaints constantly, not only a few
during a transition period, change it.



This way of doing is possible with a small user base (I did it twelve 
years ago while writing big and important software for Airbus : we used 
a kind of agile process (idea, code, feed-back and loop).
Early users (1-4 people) were also testers and we created a wonderful 
software, still used and appreciated! (10-50 current users)
However, with LO's user base, it's impossible : most users want 
something that just work out-of-the-box, they are not testers and don't 
want to be considered like that : they have to produce documents, mostly 
in professional context, that's all. LO must be stable, efficient and 
not change UI (that disturb users) every release.
You can imagine an equivalence with car industry : drivers won't accept 
a new car that has defaults or that is not complete or that has 
something for testing.


And look at the huge problem that Apple has to face with his incomplete 
Maps app. Tim Cook had to apologize and explicitly said to use others 
software (from concurrents!).
It's not a design problem, but it shows that a large user base can't be 
considered as testers ; they accept only a finished product (already 
tested).



  Please note that Renaissance is 3-4 years old project.


A good idea will never be obsolete ;-)


Renaissance was a project, not an idea ;-)


Who cares where ideas come from ?
Henri Poincaré (a french mathematician) solve a problem while jumping in 
a bus, Archimedes is famous for taking a bath, Isaac Newton and an apple.

(ok, Newton's apple is a legend...)



[...]

As a general point of view on this subject, I would say that it shows
several problems in the design team (that's why I'm CCing to design list) :

- there is a lack of long-term vision for LO's UI/UX : a vision, a
roadmap, with tenets. Some big users (administrations, companies...)
need that kind of information so that they can plan training, migration [1].
For example :
 - should we use or avoid appearing / disappearing UI elements ?
 - should we use floating and/or docked panels ?
 When a decision is made, it should not change for several years (3-5)


Alex / Astron / Mirek / others [in alphabetical order :-)] all have
common vision, and it shows with 3.6 - it is the most beautiful open
source office suite around.  How comes you have not noticed that? ;-)


I was talking about something precise : roadmap with practical guidelines :
- a roadmap defines where are we going to ?
- a roadmap defines what is the schedule ?
- practical guideline defines what should you do/don't do ? how to 
react in every kind of situation ?


In the context of design, it would mean :
- how will the LO's UI be in the future ?
- what is the schedule of the incremental/big changes ?
(in X months, the panel Y will be changed, etc)
- guideline are for devs / ui people (like Human Interface Guideline, 
for iOS or Android or MS or Gnome or KDE)


Today, the design principles are too abstract to be considered as 
guidelines.


And I repeat that such a schedule is important for companies and 
administration, so that they can plan one or two years ahead (training 
/migration)



- a developer may decide to make big UI changes, just because he talked
with few users : it's a complete by-pass of the existing UI process
(whiteboards, proposals, discussions, vote) ; it may also bring some big
inconsistencies [2]


Imagine a new volunteer who contributed code to improve something, do
you want to say him/her that OK, but you haven't followed the PROCESS,
return to the drawing board.?

yes !
because :
- we all make

Re: [Libreoffice-ux-advise] Killed the ButtonBar in slide sorter

2012-09-26 Thread Michel Renon

Hi Cor, Jan,

Le 25/09/12 16:00, Jan Holesovsky a écrit :


 [...]

Therefore the good OpenOffice.org developers and people conducted a
large project some years ago, Renaissance.
Of course the toolbar is one of the changes the was a result from that.
I guess all the work was done, because many obvious actions are not easy
enough accessible for Joe-average. And that these were only the first
steps in a route to make Impress (more) more contemporary.
The little pop-ups fit more in modern UI (-expectations) I guess then
context menu's - let alone short-cuts and pull down menus...


I don't think I agree with you here.  The touch-based devices need to
have everything shown, nothing appearing based on a presence of a mouse
pointer;


It's a technical fact : touch interfaces have no 'hover' event.
But look at what's happening with Nautilus : devs are making big changes 
to prepare for touch interface. The mistake is that they change 
*current* desktop version so that *future* versions may work on tablets.
Since last year, users just can see Nautilus has less and less 
behaviors. Devs just say we know what's good for you : we'll bring them 
back later for touch.
The result is that the Nautilus project is forked and will be replaced 
very soon.
We have to realize what for next 2 years (and more...), most LO users 
will still use a computer (desktop or laptop) to edit.


Your modification will be useful for the tablet version of LO, but maybe 
not for the desktop version.



and it seems to me as a good trend in general.


This is a personal and subjective opinion.
UI decisions should be taken based on facts, analysis, polls, statistics.
I also made that mistake : few months ago, I made a proposal for another 
Insert menu, based on most used items, well most items I used and 
supposed others also used. In the design list, I had some immediate and 
strict feed-back : don't suppose, provide real and pertinent usage 
values otherwise propose something different. They were right.



 Please note
that Renaissance is 3-4 years old project.



A good idea will never be obsolete ;-)


I have heard complaints about this Button bar from several people, and
no 'oh, I love these appearing buttons' - so I believe we are fine.  The
same with the appearing / disappearing header / footer controls - lots
of complaints that it is too much disruptive, so I believe that not
using any controls that appear after a timeout only supports that the
above mentioned trend is Good :-)


I may be the first, but let me tell you that I find the new 
header/footer control *very useful* !


The complaints I heard about OOo/LO were all about the old 
look/design. The header/footer control, while not perfect, brings 
something new that's really welcomed.

And I wish we can use that idea for table edition and much more.

Why not allow users to enable/disable such appearing-controls by 
preferences ?

Everybody should be happy :
- beginners and average users won't see changes between versions
- power users may choose what they prefer



As a general point of view on this subject, I would say that it shows 
several problems in the design team (that's why I'm CCing to design list) :


- there is a lack of long-term vision for LO's UI/UX : a vision, a 
roadmap, with tenets. Some big users (administrations, companies...) 
need that kind of information so that they can plan training, migration [1].

For example :
   - should we use or avoid appearing / disappearing UI elements ?
   - should we use floating and/or docked panels ?
   When a decision is made, it should not change for several years (3-5)


- a developer may decide to make big UI changes, just because he talked 
with few users : it's a complete by-pass of the existing UI process 
(whiteboards, proposals, discussions, vote) ; it may also bring some big 
inconsistencies [2]


- most important, it may changes/revert recent modifications -- users 
will be disturbed by those UI flip/flop (for example see previous 
changes between Rythmbox and Banshee in Ubuntu)


(please see absolutely no offense to you Jan, I'm just trying to analyze 
the situation ; and the context of my feedback is that I have not enough 
time to work, propose on the UI/UX team, so it's just a little 
reflexion/suggestion ; but as a simple user, I would be very disturbed 
by such changes)




Thanks,
Michel



[1] And in France, last week we had an important announce about OSS and 
the administration : they'll study different projects and choose some of 
them. Nothing is decided between LO/OOo : Each project's team has to 
prove his project is stable, well organized, well structured and has a 
clear roadmap.


[2] I just tried Thunderbird 18 (aurora channel) and the main window has 
no more menu bar ! Menus are now in a popup button on the right.
But the problem is that the compose window still has the standard menu 
bar : inconsistency, users will be disturbed.

___

Re: [Libreoffice] UX opportunity ... / Easy Hacks

2010-11-10 Thread Michel RENON

Hi everybody,


Just a short intro for my first post in this list :
I'm a Mac OpenOffice user for several years.
I've been coding with C++ years ago, now i code mostly in PHP and Python 
(OpenERP).

I'm also interested in UX and ergonomics, and i've made a (not so
complete) proposal for Renaissance project 
(http://wiki.services.openoffice.org/wiki/Proposal_by_Michel_Renon).





Le 28/10/10 11:37, Michael Meeks a écrit :

Hi Christoph,

( and any other UX gurus out there :-)

Hi guys; I'd -love- to get a number of easy hacks - ie. small fixes -
that can be made to our ergonomics into the page here:

http://wiki.documentfoundation.org/Easy_Hacks

These are entry level tasks for people - but IMHO[1] an accumulation of
small failings creates an overall bad experience. The problem is that
much of StarDiv's work (due to the process penalty for small changes)
tends to be of the form totally re-write the slides side-bar rather
than fix slide side-bar-multi-select glitches :-)

I was wondering - do you have a list of small pet peeves, you know the
stuff: extra clicks, broken keyboard/mouse grabs, bad keyboard
navigation, over-complicated interactions in specific areas that we can
turn into easy hacks ? It would be great to get some volunteer
developers working on these things - and we are (so far) burning through
our most easy hacks rather quickly.


Here are some requests.
Some are enhancements, others are bugs.
I don't know if they can be considered as easy hacks or if i should 
enter them in the bugtracker.

Please let me know.
And in which category of easy hacks should I insert them ?

(FYI, I already sent some of them in openoffice mailing list months ago, 
but they had few or no response)


Thanks,

Michel



* MacOS : cursor visibility :
when I type some text, mouse pointer should be hidden (the arrow or the 
I-beam).

It's a standard behaviour on Mac since... 1984 !



- today, when you paste an image in writer, the anchor mode is always 
to paragrah.  This is very annoying when you paste several images : 
they overlap.

it would be usefull to define the anchor
  - in preference
  - and/or during pasting




- add a menu Save a copy as...
I really miss that for Calc : it would allow me to save the current 
spreadsheet in csv, while not changing the current ods file.

It should be usefull for writer, draw and impress too.


- today, when you want to insert a spreadsheet or draw object in writer, 
you have to do :
select menu Insert  Object  OLE object, then choose a line in a 
dialog !

It should be much simpler ! most people don't know what OLE means.
Provide a more direct acces to insert LibreOffice 
Write/Calc/Draw/Impress object function.


Maybe show the OLE Object menu line only on windows ?


- writer :
be able to search text with format hilight color or background color




- when you open 2 windows of the same document, there is a problem with 
the zoom : if you reduce zoom in one window, it may change rendering in 
the other window.

Maybe the problem also appears whith scrolling.



- draw : create a hand tool that would allow easy and fast scrolling. It 
would be activated/desactivated with a keybord shortcut

In Inkscape, it seems to be CTRL + ALT


- draw : change the object selection
exmple : create a big rect 'rectangle1'. create a smaller rect 
'rectangle2', inside 'rectangle1'. For the user, 'rectangle2' is above 
'rectangle1'. Select 'rectangle1' : his handles are shown. Click inside 
'rectangle2' : nothing changes.

With Inkscape (and others drawing software), 'rectangle2' is selected.



- have only one type of floating windows for tools

for example, the tools border, color show a standard window.
But most others tools (specialy drawing tools) use the openoffice 
implementation of floating windows.

Why not use only the openoffice implementation ?
(I don't know if it's technically possible or if it'll create UX problems)


writer, mac : small freeze at startup

After a cold start of writer, il you start to type some text, openoffice 
freezes for some seconds (loading some code ?) and then shows the text.
It's not a bug, but it gives the impression that openoffice is *slow* or 
*unusuable*...



* mouse position problem
The problem appears when you select (single-clic) an object (drawing or 
OLE) in writer, Impress or Draw.

We have several steps :
step 1 : user clicks on an