[Libreoffice-commits] .: filter/source instsetoo_native/inc_openoffice officecfg/registry scp2/source setup_native/source solenv/bin
Andras Timar
timar at kemper.freedesktop.org
Thu Jun 21 08:38:42 PDT 2012
filter/source/config/fragments/types/draw_Visio_Document.xcu | 2
instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf | 8 -
instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt | 5
instsetoo_native/inc_openoffice/windows/msi_templates/ControlC.idt | 2
instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt | 1
officecfg/registry/data/org/openoffice/Office/UI.xcu | 2
scp2/source/draw/module_draw.scp | 9 +
scp2/source/draw/registryitem_draw.scp | 6
scp2/source/draw/registryitem_draw.ulf | 5
setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx | 71 +++++++---
solenv/bin/modules/installer/windows/property.pm | 2
11 files changed, 84 insertions(+), 29 deletions(-)
New commits:
commit ade85a43e1369cb9e0026f048ed410a964db48d9
Author: Andras Timar <atimar at suse.com>
Date: Thu Jun 21 17:28:58 2012 +0200
fdo#51274 optionally associate Visio file types (vsd/vst) to Draw
Change-Id: I0362d758205e7d12484e9e86ff2dce9608730c57
diff --git a/filter/source/config/fragments/types/draw_Visio_Document.xcu b/filter/source/config/fragments/types/draw_Visio_Document.xcu
index 17600d0..a271e2a 100644
--- a/filter/source/config/fragments/types/draw_Visio_Document.xcu
+++ b/filter/source/config/fragments/types/draw_Visio_Document.xcu
@@ -1,7 +1,7 @@
<node oor:name="draw_Visio_Document" oor:op="replace" >
<prop oor:name="DetectService"><value>com.sun.star.comp.Draw.VisioImportFilter</value></prop>
<prop oor:name="URLPattern"/>
- <prop oor:name="Extensions"><value>vsd</value></prop>
+ <prop oor:name="Extensions"><value>vsd vst</value></prop>
<prop oor:name="MediaType"><value>application/vnd.visio</value></prop>
<prop oor:name="Preferred"><value>true</value></prop>
<prop oor:name="PreferredFilter"><value>Visio Document</value></prop>
diff --git a/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf b/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf
index 51f351b..d2a473b 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf
+++ b/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf
@@ -614,7 +614,7 @@ en-US = "Microsoft &Excel Spreadsheets"
en-US = "Microsoft Po&werPoint Presentations"
[OOO_CONTROL_273]
-en-US = "&[ProductName] Writer/Web"
+en-US = "Microsoft &Visio Documents"
[OOO_CONTROL_274]
en-US = "Set [DEFINEDPRODUCT] to be the default application for Microsoft Office file types."
@@ -622,12 +622,6 @@ en-US = "Set [DEFINEDPRODUCT] to be the default application for Microsoft Office
[OOO_CONTROL_275]
en-US = "[ProductName] can be set as the default application to open Microsoft Office file types. This means, for instance, that if you double click on one of these files, [ProductName] will open it, not the program that opens it now."
-[OOO_CONTROL_276]
-en-US = "File types"
-
-[OOO_CONTROL_277]
-en-US = "Default HTML editor"
-
[OOO_CONTROL_278]
en-US = "{&MSSansBold8}File Type"
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt
index 5611333..2fbbad7 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt
@@ -128,11 +128,12 @@ FileTypeDialog Branding2 Text 3 228 88 13 65537 [ProductName]
FileTypeDialog Cancel PushButton 301 243 66 17 3 OOO_CONTROL_138 CheckBox1
FileTypeDialog CheckBox1 CheckBox 41 106 200 10 3 SELECT_WORD OOO_CONTROL_270 CheckBox2
FileTypeDialog CheckBox2 CheckBox 41 131 200 10 3 SELECT_EXCEL OOO_CONTROL_271 CheckBox3
-FileTypeDialog CheckBox3 CheckBox 41 156 200 10 3 SELECT_POWERPOINT OOO_CONTROL_272 Back
+FileTypeDialog CheckBox3 CheckBox 41 156 200 10 3 SELECT_POWERPOINT OOO_CONTROL_272 CheckBox4
+FileTypeDialog CheckBox4 CheckBox 41 181 200 10 3 SELECT_VISIO OOO_CONTROL_273 Back
FileTypeDialog DlgDesc Text 21 20 272 25 65539 OOO_CONTROL_274
FileTypeDialog DlgLine Line 90 234 284 0 1
FileTypeDialog DlgText Text 21 56 326 40 3 OOO_CONTROL_275
-FileTypeDialog DlgText2 Text 21 190 326 30 3 OOO_CONTROL_309
+FileTypeDialog DlgText2 Text 21 200 326 30 3 OOO_CONTROL_309
FileTypeDialog DlgTitle Text 13 6 280 25 65539 OOO_CONTROL_278
FileTypeDialog Next PushButton 230 243 66 17 3 OOO_CONTROL_134 Cancel
InstallChangeFolder Banner Bitmap 0 0 374 44 1 BannerBmp
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/ControlC.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/ControlC.idt
index 604fc84..7b69d14 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/ControlC.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/ControlC.idt
@@ -14,6 +14,8 @@ FileTypeDialog CheckBox2 Enable &gm_p_Calc=3 OR ( !gm_p_Calc=3 AND &gm_p_Calc=-1
FileTypeDialog CheckBox2 Disable NOT ( &gm_p_Calc=3 OR ( !gm_p_Calc=3 AND &gm_p_Calc=-1 ) )
FileTypeDialog CheckBox3 Enable &gm_p_Impress=3 OR ( !gm_p_Impress=3 AND &gm_p_Impress=-1 )
FileTypeDialog CheckBox3 Disable NOT ( &gm_p_Impress=3 OR ( !gm_p_Impress=3 AND &gm_p_Impress=-1 ) )
+FileTypeDialog CheckBox4 Enable &gm_p_Draw=3 OR ( !gm_p_Draw=3 AND &gm_p_Draw=-1 )
+FileTypeDialog CheckBox4 Disable NOT ( &gm_p_Draw=3 OR ( !gm_p_Draw=3 AND &gm_p_Draw=-1 ) )
InstallWelcome Copyright Hide SHOWCOPYRIGHT="No"
InstallWelcome Copyright Show SHOWCOPYRIGHT="Yes"
LicenseAgreement Next Disable AgreeToLicense <> "Yes"
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
index 979b58f..a1cb18a 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
@@ -47,6 +47,7 @@ SetupType Typical
SELECT_WORD 0
SELECT_EXCEL 0
SELECT_POWERPOINT 0
+SELECT_VISIO 0
STR_NEW_DISPLAY_NAME OOO_STR_NEW_DISPLAY_NAME
STR_EDIT OOO_STR_EDIT
STR_MS_WORD_DOCUMENT OOO_STR_MS_WORD_DOCUMENT
diff --git a/officecfg/registry/data/org/openoffice/Office/UI.xcu b/officecfg/registry/data/org/openoffice/Office/UI.xcu
index 32249a8..e4e518b 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI.xcu
@@ -63,7 +63,7 @@
<value xml:lang="en-US">Drawings</value>
</prop>
<prop oor:name="Filters">
- <value oor:separator=";">draw_StarOffice_XML_Draw_Template;SGV - StarDraw 2.0;StarDraw 3.0;StarDraw 3.0 Vorlage;StarDraw 5.0;StarDraw 5.0 Vorlage;StarOffice XML (Draw);draw8;draw8_template</value>
+ <value oor:separator=";">draw_StarOffice_XML_Draw_Template;SGV - StarDraw 2.0;StarDraw 3.0;StarDraw 3.0 Vorlage;StarDraw 5.0;StarDraw 5.0 Vorlage;StarOffice XML (Draw);draw8;draw8_template;Visio Document;SVG - Scalable Vector Graphics;Corel Draw Document</value>
</prop>
</node>
<node oor:name="com.sun.star.text.WebDocument" oor:op="replace">
diff --git a/scp2/source/draw/module_draw.scp b/scp2/source/draw/module_draw.scp
index b5bec12..63e982c 100644
--- a/scp2/source/draw/module_draw.scp
+++ b/scp2/source/draw/module_draw.scp
@@ -68,4 +68,13 @@ Module gid_Module_Langpack_Draw_Template
Files = ();
End
+Module gid_Module_Prg_Draw_MSO_Reg
+ ParentID = gid_Module_Prg_Draw;
+ Name = "gid_Module_Prg_Draw_MSO_Reg";
+ Description = "gid_Module_Prg_Draw_MSO_Reg";
+ Styles = (HIDDEN_ROOT);
+ Minimal = YES;
+ Default = YES;
+End
+
#include "alllangmodules_draw.inc"
diff --git a/scp2/source/draw/registryitem_draw.scp b/scp2/source/draw/registryitem_draw.scp
index d82a59f..6a2ce53 100644
--- a/scp2/source/draw/registryitem_draw.scp
+++ b/scp2/source/draw/registryitem_draw.scp
@@ -1091,3 +1091,9 @@ REGISTER_PROPERTY_HANDLER_FOR_EXTENSION( odg )
REGISTER_PROPERTY_HANDLER_FOR_EXTENSION( otg )
REGISTER_PROPERTY_HANDLER_FOR_EXTENSION( sxd )
REGISTER_PROPERTY_HANDLER_FOR_EXTENSION( std )
+
+// registering the mso file types
+// CONDITIONAL_REGISTER_DOC_EXTENSION(name,modid, key, cond, disp_name, icon_id, app, default, dox_type)
+
+CONDITIONAL_REGISTER_DOC_EXTENSION( Vsd, gid_Module_Prg_Draw_MSO_Reg, vsd, VSD, MS_VISIO_DOCUMENT, 5, sdraw.exe, open, Draw )
+CONDITIONAL_REGISTER_DOCTEMPLATE_EXTENSION( Vst, gid_Module_Prg_Draw_MSO_Reg, vst, VST, MS_VISIO_TEMPLATE, 6, sdraw.exe, new, Draw )
diff --git a/scp2/source/draw/registryitem_draw.ulf b/scp2/source/draw/registryitem_draw.ulf
index 79efc15..819c76a 100644
--- a/scp2/source/draw/registryitem_draw.ulf
+++ b/scp2/source/draw/registryitem_draw.ulf
@@ -31,3 +31,8 @@ en-US = "OpenDocument Drawing"
[STR_REG_VAL_OO_DRAW_TEMPLATE]
en-US = "OpenDocument Drawing Template"
+[STR_REG_VAL_MS_VISIO_DOCUMENT]
+en-US = "Microsoft Visio 2000/XP/2003 Document"
+
+[STR_REG_VAL_MS_VISIO_TEMPLATE]
+en-US = "Microsoft Visio 2000/XP/2003 Template"
diff --git a/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx b/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx
index c7e4c3b..755a581 100644
--- a/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx
+++ b/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx
@@ -66,13 +66,16 @@ static const CHAR* g_Extensions[] =
".potx", // Office PowerPoint 2007 XML template
".potm", // Office PowerPoint 2007 macro-enabled XML template
".ppsx", // Office PowerPoint 2007 XML show
+ ".vsd", // Visio 2000/XP/2003 document
+ ".vst", // Visio 2000/XP/2003 template
0
};
static const int WORD_START = 0;
static const int EXCEL_START = 7;
static const int POWERPOINT_START = 15;
-static const int POWERPOINT_END = 23;
+static const int VISIO_START = 23;
+static const int VISIO_END = 25;
// ".xlam", // Office Excel 2007 XML macro-enabled add-in
// ".ppam", // Office PowerPoint 2007 macro-enabled XML add-in
@@ -121,7 +124,7 @@ static BOOL CheckExtensionInRegistry( LPCSTR lpSubKey )
{ // We will replace registration for our own types, too
bRet = true;
}
- else if ( strncmp( szBuffer, "ooostub.", 8 ) == 0 )
+ else if ( strncmp( szBuffer, "lostub.", 8 ) == 0 )
{ // We will replace registration for ooostub, too
bRet = true;
}
@@ -333,7 +336,7 @@ static void saveOldRegistration( LPCSTR lpSubKey )
if ( strncmp( szBuffer, "LibreOffice.", 12 ) != 0 )
{
// Save the old association
- RegSetValueExA( hKey, "OOoBackupAssociation", 0,
+ RegSetValueExA( hKey, "LOBackupAssociation", 0,
REG_SZ, (LPBYTE)szBuffer, nSize );
// Also save what the old association means, just so we can try to verify
// if/when restoring it that the old application still exists
@@ -346,7 +349,7 @@ static void saveOldRegistration( LPCSTR lpSubKey )
lResult = RegQueryValueExA( hKey2, "", NULL, NULL, (LPBYTE)szBuffer, &nSize );
if ( ERROR_SUCCESS == lResult )
{
- RegSetValueExA( hKey, "OOoBackupAssociationDeref", 0,
+ RegSetValueExA( hKey, "LOBackupAssociationDeref", 0,
REG_SZ, (LPBYTE)szBuffer, nSize );
}
RegCloseKey( hKey2 );
@@ -414,6 +417,7 @@ extern "C" UINT __stdcall LookForRegisteredExtensions( MSIHANDLE handle )
bool bWriterEnabled = false;
bool bCalcEnabled = false;
bool bImpressEnabled = false;
+ bool bDrawEnabled = false;
bool bRegisterNone = IsSetMsiProp( handle, "REGISTER_NO_MSO_TYPES" );
if ( ( ERROR_SUCCESS == MsiGetFeatureState( handle, L"gm_p_Wrt", ¤t_state, &future_state ) ) &&
@@ -446,9 +450,20 @@ extern "C" UINT __stdcall LookForRegisteredExtensions( MSIHANDLE handle )
else
OutputDebugStringFormat( "LookForRegisteredExtensions: Impress is NOT enabled" );
+ if ( ( ERROR_SUCCESS == MsiGetFeatureState( handle, L"gm_p_Draw", ¤t_state, &future_state ) ) &&
+ ( (future_state == INSTALLSTATE_LOCAL) || ((current_state == INSTALLSTATE_LOCAL) && (future_state == INSTALLSTATE_UNKNOWN) ) ) )
+ bDrawEnabled = true;
+
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Install state Draw is [%d], will be [%d]", current_state, future_state );
+ if ( bImpressEnabled )
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Draw is enabled" );
+ else
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Draw is NOT enabled" );
+
MsiSetPropertyA( handle, "SELECT_WORD", "" );
MsiSetPropertyA( handle, "SELECT_EXCEL", "" );
MsiSetPropertyA( handle, "SELECT_POWERPOINT", "" );
+ MsiSetPropertyA( handle, "SELECT_VISIO", "" );
if ( ! bRegisterNone )
{
@@ -460,23 +475,30 @@ extern "C" UINT __stdcall LookForRegisteredExtensions( MSIHANDLE handle )
MsiSetPropertyA( handle, "SELECT_EXCEL", "1" );
if ( bImpressEnabled )
MsiSetPropertyA( handle, "SELECT_POWERPOINT", "1" );
+ if ( bDrawEnabled )
+ MsiSetPropertyA( handle, "SELECT_VISIO", "1" );
}
else
{
if ( bWriterEnabled && ! checkSomeExtensionInRegistry( WORD_START, EXCEL_START ) )
{
MsiSetPropertyA( handle, "SELECT_WORD", "1" );
- OutputDebugStringFormat( "LookForRegisteredExtensions: Register for MicroSoft Word" );
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Register for Microsoft Word" );
}
if ( bCalcEnabled && ! checkSomeExtensionInRegistry( EXCEL_START, POWERPOINT_START ) )
{
MsiSetPropertyA( handle, "SELECT_EXCEL", "1" );
- OutputDebugStringFormat( "LookForRegisteredExtensions: Register for MicroSoft Excel" );
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Register for Microsoft Excel" );
}
- if ( bImpressEnabled && ! checkSomeExtensionInRegistry( POWERPOINT_START, POWERPOINT_END ) )
+ if ( bImpressEnabled && ! checkSomeExtensionInRegistry( POWERPOINT_START, VISIO_START ) )
{
MsiSetPropertyA( handle, "SELECT_POWERPOINT", "1" );
- OutputDebugStringFormat( "LookForRegisteredExtensions: Register for MicroSoft PowerPoint" );
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Register for Microsoft PowerPoint" );
+ }
+ if ( bImpressEnabled && ! checkSomeExtensionInRegistry( VISIO_START, VISIO_END ) )
+ {
+ MsiSetPropertyA( handle, "SELECT_VISIO", "1" );
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Register for Microsoft Visio" );
}
}
}
@@ -495,7 +517,7 @@ extern "C" UINT __stdcall RegisterSomeExtensions( MSIHANDLE handle )
{
registerSomeExtensions( handle, WORD_START, EXCEL_START, true );
MsiSetFeatureState( handle, L"gm_p_Wrt_MSO_Reg", INSTALLSTATE_LOCAL );
- OutputDebugStringFormat( "RegisterSomeExtensions: Register for MicroSoft Word" );
+ OutputDebugStringFormat( "RegisterSomeExtensions: Register for Microsoft Word" );
}
else
{
@@ -507,7 +529,7 @@ extern "C" UINT __stdcall RegisterSomeExtensions( MSIHANDLE handle )
{
registerSomeExtensions( handle, EXCEL_START, POWERPOINT_START, true );
MsiSetFeatureState( handle, L"gm_p_Calc_MSO_Reg", INSTALLSTATE_LOCAL );
- OutputDebugStringFormat( "RegisterSomeExtensions: Register for MicroSoft Excel" );
+ OutputDebugStringFormat( "RegisterSomeExtensions: Register for Microsoft Excel" );
}
else
{
@@ -517,16 +539,27 @@ extern "C" UINT __stdcall RegisterSomeExtensions( MSIHANDLE handle )
if ( IsSetMsiProp( handle, "SELECT_POWERPOINT" ) )
{
- registerSomeExtensions( handle, POWERPOINT_START, POWERPOINT_END, true );
+ registerSomeExtensions( handle, POWERPOINT_START, VISIO_START, true );
MsiSetFeatureState( handle, L"gm_p_Impress_MSO_Reg", INSTALLSTATE_LOCAL );
- OutputDebugStringFormat( "RegisterSomeExtensions: Register for MicroSoft PowerPoint" );
+ OutputDebugStringFormat( "RegisterSomeExtensions: Register for Microsoft PowerPoint" );
}
else
{
- registerSomeExtensions( handle, POWERPOINT_START, POWERPOINT_END, false );
+ registerSomeExtensions( handle, POWERPOINT_START, VISIO_START, false );
MsiSetFeatureState( handle, L"gm_p_Impress_MSO_Reg", INSTALLSTATE_ABSENT );
}
+ if ( IsSetMsiProp( handle, "SELECT_VISIO" ) )
+ {
+ registerSomeExtensions( handle, VISIO_START, VISIO_END, true );
+ MsiSetFeatureState( handle, L"gm_p_Draw_MSO_Reg", INSTALLSTATE_LOCAL );
+ OutputDebugStringFormat( "RegisterSomeExtensions: Register for Microsoft Visio" );
+ }
+ else
+ {
+ registerSomeExtensions( handle, VISIO_START, VISIO_END, false );
+ MsiSetFeatureState( handle, L"gm_p_Draw_MSO_Reg", INSTALLSTATE_ABSENT );
+ }
return ERROR_SUCCESS;
}
@@ -564,7 +597,9 @@ extern "C" UINT __stdcall FindRegisteredExtensions( MSIHANDLE handle )
if ( IsSetMsiProp( handle, "SELECT_EXCEL" ) )
registerSomeExtensions( handle, EXCEL_START, POWERPOINT_START, true );
if ( IsSetMsiProp( handle, "SELECT_POWERPOINT" ) )
- registerSomeExtensions( handle, POWERPOINT_START, POWERPOINT_END, true );
+ registerSomeExtensions( handle, POWERPOINT_START, VISIO_START, true );
+ if ( IsSetMsiProp( handle, "SELECT_VISIO" ) )
+ registerSomeExtensions( handle, VISIO_START, VISIO_END, true );
registerForExtensions( handle, bRegisterAll );
@@ -607,7 +642,7 @@ static void restoreOldRegistration( LPCSTR lpSubKey )
CHAR szBuffer[1024];
DWORD nSize = sizeof( szBuffer );
- lResult = RegQueryValueExA( hKey, "OOoBackupAssociation", NULL, NULL,
+ lResult = RegQueryValueExA( hKey, "LOBackupAssociation", NULL, NULL,
(LPBYTE)szBuffer, &nSize );
if ( ERROR_SUCCESS == lResult )
{
@@ -626,7 +661,7 @@ static void restoreOldRegistration( LPCSTR lpSubKey )
DWORD nSize3 = sizeof( szBuffer3 );
// Try to verify that the old association is OK to restore
- lResult = RegQueryValueExA( hKey, "OOoBackupAssociationDeref", NULL, NULL,
+ lResult = RegQueryValueExA( hKey, "LOBackupAssociationDeref", NULL, NULL,
(LPBYTE)szBuffer3, &nSize3 );
if ( ERROR_SUCCESS == lResult )
{
@@ -639,9 +674,9 @@ static void restoreOldRegistration( LPCSTR lpSubKey )
}
RegCloseKey( hKey2 );
}
- RegDeleteValueA( hKey, "OOoBackupAssociation" );
+ RegDeleteValueA( hKey, "LOBackupAssociation" );
}
- RegDeleteValueA( hKey, "OOoBackupAssociationDeref" );
+ RegDeleteValueA( hKey, "LOBackupAssociationDeref" );
RegCloseKey( hKey );
}
}
diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm
index 9f29195..e48d89c 100644
--- a/solenv/bin/modules/installer/windows/property.pm
+++ b/solenv/bin/modules/installer/windows/property.pm
@@ -647,6 +647,8 @@ sub update_checkbox_table
push(@{$checkboxfile}, $checkboxline);
$checkboxline = "SELECT_POWERPOINT" . "\t" . "0" . "\n";
push(@{$checkboxfile}, $checkboxline);
+ $checkboxline = "SELECT_VISIO" . "\t" . "0" . "\n";
+ push(@{$checkboxfile}, $checkboxline);
# Saving the property file
installer::files::save_file($checkboxfilename ,$checkboxfile);
More information about the Libreoffice-commits
mailing list