Esempio n. 1
0
GF_Err gf_ipmpx_dump_ParametricDescription(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump)
{
	u32 i;
	GF_IPMPX_ParametricDescription*p = (GF_IPMPX_ParametricDescription*)_p;
	StartElement(trace, "IPMP_ParametricDescription", indent, XMTDump);
	indent++;
	DumpInt(trace, "majorVersion", p->majorVersion, indent, XMTDump);
	DumpInt(trace, "minorVersion", p->minorVersion, indent, XMTDump);
	EndAttributes(trace, XMTDump, GF_TRUE);
	gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump);
	gf_ipmpx_dump_ByteArray(p->descriptionComment, "descriptionComment", trace, indent, XMTDump);

	StartList(trace, "descriptions", indent, XMTDump);
	indent++;
	for (i=0; i<gf_list_count(p->descriptions); i++) {
		GF_IPMPX_ParametricDescriptionItem *it = (GF_IPMPX_ParametricDescriptionItem *)gf_list_get(p->descriptions, i);
		StartElement(trace, "IPMP_ParametricDescriptionItem", indent, XMTDump);
		indent++;
		EndAttributes(trace, XMTDump, GF_TRUE);
		gf_ipmpx_dump_ByteArray(it->main_class, "class", trace, indent, XMTDump);
		gf_ipmpx_dump_ByteArray(it->subClass, "subClass", trace, indent, XMTDump);
		gf_ipmpx_dump_ByteArray(it->typeData, "typeData", trace, indent, XMTDump);
		gf_ipmpx_dump_ByteArray(it->type, "type", trace, indent, XMTDump);
		gf_ipmpx_dump_ByteArray(it->addedData, "addedData", trace, indent, XMTDump);
		indent--;
		EndElement(trace, "IPMP_ParametricDescriptionItem", indent, XMTDump);
	}
	indent--;
	EndList(trace, "descriptions", indent, XMTDump);

	indent--;
	EndElement(trace, "IPMP_ParametricDescription", indent, XMTDump);
	return GF_OK;
}
Esempio n. 2
0
GF_Err gf_ipmpx_dump_TrustSecurityMetadata(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump)
{
	u32 i, j;
	GF_IPMPX_TrustSecurityMetadata*p = (GF_IPMPX_TrustSecurityMetadata*)_p;
	StartElement(trace, "IPMP_TrustSecurityMetadata", indent, XMTDump);
	indent++;
	EndAttributes(trace, XMTDump, GF_TRUE);
	gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump);

	StartList(trace, "trustedTools", indent, XMTDump);
	indent++;

	for (i=0; i<gf_list_count(p->TrustedTools); i++) {
		GF_IPMPX_TrustedTool *tt = (GF_IPMPX_TrustedTool *)gf_list_get(p->TrustedTools, i);
		StartElement(trace, "IPMP_TrustedTool", indent, XMTDump);
		indent++;
		DumpBin128(trace, "toolID", (char *)tt->toolID, indent, XMTDump);
		DumpDate(trace, "AuditDate", tt->AuditDate, indent, XMTDump);
		EndAttributes(trace, XMTDump, GF_TRUE);
		StartList(trace, "trustSpecifications", indent, XMTDump);
		indent++;
		for (j=0; j<gf_list_count(tt->trustSpecifications); j++) {
			GF_IPMPX_TrustSpecification *ts = (GF_IPMPX_TrustSpecification *)gf_list_get(tt->trustSpecifications, j);
			StartElement(trace, "IPMP_TrustSpecification", indent, XMTDump);
			indent++;
			DumpDate(trace, "startDate", ts->startDate, indent, XMTDump);
			DumpInt(trace, "attackerProfile", ts->attackerProfile, indent, XMTDump);
			DumpInt(trace, "trustedDuration", ts->trustedDuration, indent, XMTDump);
			EndAttributes(trace, XMTDump, GF_TRUE);
			if (ts->CCTrustMetadata) gf_ipmpx_dump_ByteArray(ts->CCTrustMetadata, "CCTrustMetadata", trace, indent, XMTDump);
			indent--;
			EndElement(trace, "IPMP_TrustSpecification", indent, XMTDump);
		}
		indent--;
		EndList(trace, "trustSpecifications", indent, XMTDump);
		indent--;
		EndElement(trace, "IPMP_TrustedTool", indent, XMTDump);
	}
	indent--;
	EndList(trace, "trustedTools", indent, XMTDump);

	indent--;
	EndElement(trace, "IPMP_TrustSecurityMetadata", indent, XMTDump);
	return GF_OK;
}
Esempio n. 3
0
wxString GenerateHTMLString() {
  gCurrentString = _T("");

  AddStringLn(_T("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>"));
  AddStringLn(_T("<html>"));
  AddStringLn(_T("<head>"));
  // Although the file is going to be written as UTF-8, we set the charset here to
  // Western-1252, which is the only format supported by CHM files. The generated HTML files
  // then need to be converted to ANSI using a text editor.
  AddStringLn(_T("<meta http-equiv='content-type' content='text/html; charset=Western-1252'>"));
  AddStringLn(_T("<title>Appetizer</title>"));
  AddStringLn(_T("<style TYPE='text/css'>"));
	AddStringLn(_T("<!--"));
  AddStringLn(_T("h2 { color:#ff4f02; }"));
  AddStringLn(_T("h3 {  }"));
	AddStringLn(_T("-->"));
	AddStringLn(_T("</style>"));

  AddStringLn(_T("</head>"));
  AddStringLn(_T("<body>"));

  IMG(_T("images/Logo.jpg"));  

  // *******************************************************************************
  // INTRODUCTION
  // *******************************************************************************

  H2(_("Introduction"));
  H3(_("About Appetizer"));
  P(_("Appetizer is a free application launcher, or dock, for Windows. It allows organizing and launching your applications and other shortcuts into a convenient dock. The app is skinable and entirely customizable."));
  P(_("Additionally, the application supports the [http://portableapps.com PortableApps] format. So if you use Appetizer on a removable drive in the PortableApps format, the application will detect it and automatically import all your applications along with the 'Documents', 'Videos', 'Music' and 'Pictures' folders."));
  
  // -------------------------------------------------
  // Features
  // -------------------------------------------------
  H3(_("Features"));

  StartList();
  LI(_("Support for multiple skins"));
  LI(_("Support for plugins"));
  LI(_("Resizable dock, which allows displaying the icons both horizontally or vertically."));
  LI(_("Three sizes of icons: Small, large and extra-large"));
  LI(_("Support for custom icons"));
  LI(_("'Wizard' to automatically imports shortcuts from various locations"));
  LI(_("Organize the icons by drag & dropping them"));
  LI(_("'Multi-launch' functionality"));
  LI(_("Regroup multiple shortcuts within one menu"));
  LI(_("Hot key to hide / show the dock"));
  LI(_("Special items to provide extra functionalities: hide / show the desktop, Recycle Bin, Control Panel, etc."));
  LI(_("Support for multiple languages"));
  LI(_("Minimize to tray icon functionality"));
  EndList();

  IMG(_T("images/Screenshot.jpg"));


  // *******************************************************************************
  // USING APPETIZER
  // *******************************************************************************

  AddAnchor(_T("Usage"));
  H2(_("Using Appetizer"));
  P(_("Appetizer is made to be simple and intuitive. To get more information about an icon or a button, simply move the mouse over it. Additionally, try right-clicking the dock in different places - certain parts of the application such as the icons or the icon panel provide various contextual actions."));
  
  // -------------------------------------------------
  // Adding a shortcut
  // -------------------------------------------------
  H3(_("Adding a shortcut"));
  P(_("To add a shortcut, right-click anywhere on the icon panel and select 'New shortcut', then select a file or folder. Alternatively, you may also directly drag and drop a file onto the dock."));

  // -------------------------------------------------
  // Adding a group
  // -------------------------------------------------  
  H3(_("Adding a group of shortcuts"));
  P(_("To create a group of shortcuts, right-click anywhere on the icon panel, select 'New group', give a name to the group, and click 'Save'. To add shortcuts to this group, click or right-click on it and select 'Organize group shortcuts'. The newly opened window display all your shortcuts in a tree-like control. You can drag & drop these icons to add them to the group. You can also reorder them, still by drag & dropping them. Once this is done, click the 'Close' button."));  

  // -------------------------------------------------
  // Adding a special item
  // -------------------------------------------------
  H3(_("Adding a special items"));
  P(_("Special items provide additional functionalities that would not be possible using a normal shortcut. The special items include a 'Show desktop' button, the Recycle Bin, a link to the Control Panel, etc.")); 
  P(_("To add a special item, right-click on the dock and select 'Add special item'.")); 

  // -------------------------------------------------
  // Modifying or deleting a group or shortcut
  // -------------------------------------------------  
  H3(_("Modifying, moving or deleting a group or shortcut"));
  P(_("To change the properties of an icon, such as its name or location, right-click on it and select 'Properties'. To move an icon to a different location, click and drag it. To remove a shortcut, right-click on it and select 'Remove'.")); 

  // -------------------------------------------------
  // Changing the properties of a shortcut or group
  // -------------------------------------------------  
  AddAnchor(_T("FolderItemProperties"));
  H3(_("Changing the properties of a shortcut or group"));
  P(_("To change the properties of a shortcut or group, right-click on an icon and select 'Properties'. The following options are available:"));  
  StartList();
  LI(_("Name: The name displayed in the tooltip"));
  LI(_("Location: The target of the shortcut. Click on the '...' button to change it."));
  LI(_("Parameters: You may also specify some additional command line arguments in this field. This could be a path to a file or some switches specific to the application. This field is only relevant for executables and is optional."));
  LI(_("Icon: Click on 'Change icon' to select a custom icon. Click on 'Use default' to revert the icon to the default."));
  EndList();

  // -------------------------------------------------
  // Minimizing / Maximizing the dock
  // -------------------------------------------------
  H3(_("Minimizing / Maximizing the dock"));
  P(_("The dock can be minimized to the tray icon by clicking on the 'x' button. To bring it back to front, simply click on the tray icon. Note that this behavior can be changed in the 'Configuration' dialog"));
  P(_("Right-click on the tray icon for additional options."));

  // -------------------------------------------------
  // The option panel
  // -------------------------------------------------
  AddAnchor(_T("OptionPanel"));
  H3(_("The option panel"));
  IMG(_T("images/OptionPanel.jpg"));
  P(_("The option panel pops up when you click on the big arrow button. If you move the mouse over any of its buttons, a tooltip will show up giving you more information."));

  // -------------------------------------------------
  // Importing several shortcuts automatically
  // -------------------------------------------------
  AddAnchor(_T("Import"));
  H3(_("Importing several shortcuts automatically"));
  P(_("It is possible to automatically import shortcuts into Appetizer from various locations, including the Windows 'Start menu', the 'Quick Launch' toolbar, or the PortableApps folder. To do so, click on [images/ImportButton.jpg] in the [#OptionPanel option panel] and select where you would like to import shortcuts from, then click 'Start'."));

  // -------------------------------------------------
  // Launching several application simultaneously
  // -------------------------------------------------
  AddAnchor(_T("Multilaunch"));
  H3(_("Launching several application simultaneously"));
  P(_("Appetizer provides a functionality to launch several applications at the click of a button. This is equivalent to the Startup menu on Windows, except that it launches the app on your portable drive. To use this 'Multi-launch' group, follow these steps:"));
  StartList();
  LI(_("Right-click on any icon and select 'Multi-launch group' from the context menu"));
  LI(_("You can add as many shortcuts as you wish"));
  LI(_("To trigger the 'Multi-launch' group, open the [#OptionPanel option panel] and click on the 'Multi-launch' button: [images/Multilaunch.jpg]"));
  EndList();

  // *******************************************************************************
  // PLUGINS
  // *******************************************************************************

  AddAnchor(_T("Plugins"));
  H2(_("Plugins"));
  P(_("Appetizer supports a plugin system that allows easily adding new functionalities and customizing the application to your needs."));

  // -------------------------------------------------
  // Adding new plugins
  // -------------------------------------------------

  AddAnchor(_T("AddingPlugins"));
  H3(_("Adding a plugin"));
  P(_("To add a plugin, follow these steps:"));
  StartList();
  LI(_("Open the [#Configuring Configuration dialog]."));
  LI(_("Open the 'Plugin' tab."));
  LI(_("Click the 'Install...' button and open the plugin's .zpl package."));
  LI(_("If everything went well, you should see a message saying that the plugin was successfully installed. However, note that it will only be active the next time Appetizer is started."));
  EndList();

  // -------------------------------------------------
  // Creating a plugin
  // -------------------------------------------------
  AddAnchor(_T("CreatingPlugin"));
  H3(_("Creating a plugin"));
  P(_("Information on how to create a plugin is available on [http://app.etizer.org/wiki/creating-a-plugin Appetizer's website]"));

  // *******************************************************************************
  // CONFIGURING APPETIZER
  // *******************************************************************************

  AddAnchor(_T("Configuring"));
  H2(_("Configuring Appetizer"));
  P(_("The configuration dialogue is accessible by clicking on the 'Configuration' button in the [#OptionPanel option panel]. The description of each setting is given below:"));

  AddAnchor(_T("ConfiguringGeneral"));

  // -------------------------
  // General
  // -------------------------
  H3(_("General"));
  StartList();
  LI(_("[b]Language:[/b] Select your language here. If you wish to contribute and translate Appetizer in your own language, please [#Translating follow this link]."));  
  LI(_("[b]Always on top:[/b] If this is selected the bar will always remain on top of the other windows."));
  LI(_("[b]Allow only one instance of Appetizer at a time:[/b] If this is selected, only one instance of Appetizer can run at a time."));
  LI(_("[b]Install autorun file:[/b] Clicking this button will install an autorun file on your removable drive. This will allow Appetizer to automatically start when you insert the drive. However, note that in some instances Windows may prevent the autorun from being executed, for example for security reason or because the computer is set that way."));
  LI(_("[b]Check for update:[/b] Click this button to check if a new update is available."));
  EndList();

  // -------------------------
  // Appearance
  // -------------------------
  AddAnchor(_T("ConfiguringAppearance"));
  H3(_("Appearance"));
  StartList();
  LI(_("[b]Icon size:[/b] Choose the size of the icons."));
  LI(_("[b]Orientation:[/b] The bar can be vertically or horizontally orientated."));
  LI(_("[b]Skin:[/b] Choose one of the available skins."));
  EndList();

  // -------------------------
  // Operations
  // -------------------------
  AddAnchor(_T("ConfiguringOperations"));
  H3(_("Operations"));
  StartList();
  LI(_("[b]Auto-hide after launching an application:[/b] Select this option to have Appetizer hides itself each time you launch an application."));
  LI(_("[b]When ejecting the drive, close the apps that are locking it:[/b] If this option is selected, all the apps that are open on your removable drive will be closed when you click on the 'Eject' button."));
  LI(_("[b]Run multi-launch group on startup:[/b] Tick off this option to automatically run the [#Multilaunch multi-launch group] on startup."));
  LI(_("[b]'Close' button minimizes to System Tray:[/b] By default, the application is minimized to the System Tray when the 'Close' button is clicked. Tick off this option to make the 'Close' button actually close the app."));
  LI(_("[b]Hot key to hide / show the bar:[/b] Select the hot key to hide / show the bar. Select 'none' to disable it."));
  EndList();

  // -------------------------
  // Import
  // -------------------------
  AddAnchor(_T("ConfiguringImport"));
  H3(_("Import"));
  StartList();
  LI(_("[b]Exclude these items from the import operations:[/b] Normally, when importing shortcuts using the [#Import import tool], all the executables are added to the dock. If you wish to exclude certain files, add them to this list. The item names may be specified with [http://www.computerhope.com/jargon/w/wildcard.htm wildcards]. Note that this list is also automatically populated whenever you remove a shortcut from the dock."));
  EndList();
	
  // -------------------------
  // Plugins
  // -------------------------
  AddAnchor(_T("ConfiguringPlugins"));
  H3(_("Plugins"));
  P(_("This tab displays the plugins that are currently installed along with their status."));
  StartList();
  LI(_("[b]Enable / Disable buttons:[/b] Click these buttons to enable / disable the selected plugin."));
  LI(_("[b]Install...:[/b] Click to [#AddingPlugins install a new plugin]."));
  EndList();	

  // *******************************************************************************
  // OTHER TIPS
  // *******************************************************************************
  H2(_("Other tips"));
  StartList();
  LI(_("You can resize the dock by clicking and dragging its bottom right corner."));
  LI(_("You can move it by clicking anywhere on the icon panel and dragging."));
  LI(_("The bar will snap to the borders of the screens as you move it."));
  EndList();

  // *******************************************************************************
  // TRANSLATING APPETIZER
  // *******************************************************************************
  AddAnchor(_T("Translating"));
  H2(_("Translating Appetizer"));
  P(wxString::Format(_("If Appetizer is not available in your own language, you can easily create your own translation. Please [%s follow this link] for more information."), _T("http://app.etizer.org/translations/")));

  // *******************************************************************************
  // MORE LINKS
  // *******************************************************************************
  AddAnchor(_T("Links"));
  H2(_("Support and links"));
  P(wxString::Format(_("Official home page: %s"), _T("[http://app.etizer.org http://app.etizer.org]")));
  P(wxString::Format(_("Project home page: %s"), _T("[https://sourceforge.net/projects/appetizer https://sourceforge.net/projects/appetizer]")));
  P(wxString::Format(_("Some information on how to create a plugin: %s"), _T("[http://app.etizer.org/wiki/creating-a-plugin http://app.etizer.org/wiki/creating-a-plugin]")));
  P(wxString::Format(_("Beta versions and preleases are usually on [%s PortableApps Beta Testing forum]"), _T("http://portableapps.com/forums/development/beta_testing")));
  P(wxString::Format(_("For bug reports, suggestions, comments or translations, please contact %s"), imayle));//wxString::Format(_T("<a href=\"mailto:%s\">%s</a> or post on the beta forum."), imayle, imayle)));

  AddStringLn(_T("</body>"));
  AddStringLn(_T("</html>"));

  return gCurrentString;
}
Esempio n. 4
0
wxString GenerateHTMLString() {
  gCurrentString = _T("");

  AddStringLn(_T("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>"));
  AddStringLn(_T("<html>"));
  AddStringLn(_T("<head>"));
  AddStringLn(_T("<meta http-equiv='content-type' content='text/html; charset=Western-1252'>"));
  AddStringLn(_T("<title>Appetizer</title>"));

  AddStringLn(_T("<style TYPE='text/css'>"));
	AddStringLn(_T("<!--"));
  AddStringLn(_T("h2 { color:#ff4f02; }"));
  AddStringLn(_T("h3 {  }"));
	AddStringLn(_T("-->"));
	AddStringLn(_T("</style>"));

  AddStringLn(_T("</head>"));
  AddStringLn(_T("<body>"));

  IMG(_T("images/Logo.jpg"));  

  // *******************************************************************************
  // INTRODUCTION
  // *******************************************************************************

  H2(_("Introduction"));
  H3(_("About Appetizer"));
  P(_("Appetizer is a dock bar that allows you to organize, display and launch your applications and other shortcuts. Currently it is possible to add executables, documents and folders to the dock. Additionally, if you use Appetizer on a USB key in the [http://portableapps.com PortableApps] format, the application will detect it and automatically import all your applications along with the 'Documents', 'Videos', 'Music' and 'Pictures' folders."));
  
  // -------------------------------------------------
  // Features
  // -------------------------------------------------
  H3(_("Features"));

  StartList();
  LI(_("Resizable dock, which allows displaying the icons both horizontally or vertically."));
  LI(_("Support for multiple skins"));
  LI(_("Two size of icons: Small and large"));
  LI(_("Organize the icons by drag & dropping them"));
  LI(_("'Multi-launch' functionality"));
  LI(_("Regroup multiple shortcuts within one menu"));
  LI(_("Support for multiple languages"));
  LI(_("Minimize to tray icon functionality"));
  EndList();

  IMG(_T("images/Screenshot.jpg"));


  // *******************************************************************************
  // USING APPETIZER
  // *******************************************************************************

  H2(_("Using Appetizer"));
  P(_("Appetizer is made to be simple and intuitive. To get more information about an icon or a button, simply move the mouse over it. Additionally, try right-clicking the dock in different places - certain parts of the application such as the icons or the icon panel provide various contextual actions."));
  
  // -------------------------------------------------
  // Adding a shortcut
  // -------------------------------------------------
  H3(_("Adding a shortcut"));
  P(_("To add a shortcut, right-click anywhere on the icon panel and select 'New shortcut', then click on [images/SelectFile.jpg] to select a file or [images/SelectFolder.jpg] to select a folder. Once this is done, the 'Name' field should be automatically populated based on the file or folder you've chosen. Finally, you may also specify some additional parameters in the 'Parameters' field. This could be a path to a file or some switches specific to the application. This field is only relevant for executables and is optional."));  

  // -------------------------------------------------
  // Adding a group
  // -------------------------------------------------  
  H3(_("Adding a group of shortcuts"));
  P(_("To create a group of shortcuts, right-click anywhere on the icon panel, select 'New group', give a name to the group, and click 'Save'. To add shortcuts to this group, click or right-click on it and select 'Organize group shortcuts'. The newly opened window display all your shortcuts in a tree-like control. You can drag & drop these icons to add them to the group. You can also reorder them in a different, still by drag & dropping them. Once this is done, click the 'Close' button."));  

  // -------------------------------------------------
  // Changing the icon of a group
  // -------------------------------------------------  
  H3(_("Changing the icon of a group"));
  P(_("A group can take the icon of any of the shortcuts it contains. To do so, right-click on a group and select 'Properties'. Then click on 'Select a different icon'. If the group doesn't contain any shortcut, only the default icon can be selected."));  

  // -------------------------------------------------
  // Modifying or deleting a group or shortcut
  // -------------------------------------------------  
  H3(_("Modifying, moving or deleting a group or shortcut"));
  P(_("To change the properties of an icon, such as its name or location, right-click on it and select 'Properties'. To move an icon to a different location, click and drag it. To remove a shortcut, right-click on it and select 'Remove'.")); 

  // -------------------------------------------------
  // Minimizing / Maximizing the dock
  // -------------------------------------------------
  H3(_("Minimizing / Maximizing the dock"));
  P(_("The dock can be minimized to the tray icon by clicking on the 'x' button. To bring it back to front, simply click on the tray icon."));
  P(_("Right-click on the tray icon for additional options."));

  // -------------------------------------------------
  // The option panel
  // -------------------------------------------------
  A(_T(""), _T(""), _T("OptionPanel"));
  H3(_("The option panel"));
  IMG(_T("images/OptionPanel.jpg"));
  P(_("The option panel pops up when you click on the big arrow button. If you move the mouse over any of its buttons, a tooltip will show up giving you more information."));

  // -------------------------------------------------
  // Launching several application simultaneously
  // -------------------------------------------------
  H3(_("Launching several application simultaneously"));
  P(_("Appetizer provides a functionality to launch several applications at the click of a button. This is equivalent to the Startup menu on Windows, except that it launches the app on your portable drive. To use this 'Multi-launch' group, follow these steps:"));
  StartList();
  LI(_("Right-click on any icon and select 'Multi-launch group' from the context menu"));
  LI(_("You can add as many shortcuts as you wish"));
  LI(_("To trigger the 'Multi-launch' group, open the [#OptionPanel option panel] and click on the 'Multi-launch' button: [images/Multilaunch.jpg]"));
  EndList();

  // *******************************************************************************
  // CONFIGURING APPETIZER
  // *******************************************************************************
  H2(_("Configuring Appetizer"));
  P(_("The configuration dialogue is accessible by clicking on the 'Configuration' button in the [#OptionPanel option panel]. The description of each setting is given below:"));

  H3(_("General"));
  StartList();
  LI(_("[b]Language:[/b] Select your language here. If you wish to contribute and translate Appetizer in your own language, please [#Translating follow this link]."));
  LI(_("[b]Auto-hide after launching an application:[/b] Select this option to have Appetizer hides itself each time you launch an application."));
  LI(_("[b]Always on top:[/b] If this is selected the bar will always remain on top of the other windows."));
  LI(_("[b]Allow only one instance of Appetizer at a time:[/b] If this is selected, only one instance of Appetizer can run at a time."));
  LI(_("[b]Check for update:[/b] Click this button to check if a new update is available."));
  EndList();

  H3(_("Appearance"));
  StartList();
  LI(_("[b]Icon size:[/b] Choose the size of the icons, as displayed on the bar."));
  LI(_("[b]Orientation:[/b] The bar can be vertically or horizontally orientated."));
  LI(_("[b]Skin:[/b] Choose one of the available skins."));
  EndList();

  // *******************************************************************************
  // OTHER TIPS
  // *******************************************************************************
  H2(_("Other tips"));
  StartList();
  LI(_("You can resize the dock by clicking and dragging its bottom right corner."));
  LI(_("You can move it by clicking anywhere on the icon panel and dragging."));
  LI(_("The bar will snap to the borders of the screens as you move it."));
  EndList();

  // *******************************************************************************
  // TRANSLATING APPETIZER
  // *******************************************************************************
  A(_T(""), _T(""), _T("Translating"));
  H2(_("Translating Appetizer"));
  P(_("If Appetizer is not available in your own language, you can easily create your own translation. To do so, please follow these steps:"));
  StartList();
  LI(_("[http://www.poedit.net/ Download Poedit] and install it. This is a utility that makes it easier to create and maintain translation files."));
  LI(_("Open the folder where you've installed Appetizer and open the Data\\Locale folder"));
  LI(_("Copy and paste the 'en' folder."));
  LI(_("Within that folder, open 'appetizer.po' with Poedit."));
  LI(_("In Poedit, go into the Catalog menu and click Configuration. Change 'Country' and 'Language' to your own country and language."));
  LI(_("Now, to translate a line of text, click on it and add your translated text in the bottom text field."));
  LI(_("Once all the text is translated, please email 'appetizer.po' and 'appetizer.mo' to [email protected]"));
  EndList();
  P(_("Your translation will be added in the next release."));

  H3(_("Translating the help file"));
  P(_("If you wish to translate the help file, follow the same steps as above and edit the file in Data\\Help\\en\\appetizer.po."));

  AddStringLn(_T("</body>"));
  AddStringLn(_T("</html>"));

  return gCurrentString;
}
Esempio n. 5
0
GF_Err gf_ipmpx_dump_SelectiveDecryptionInit(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump)
{
	u32 i, count;
	GF_IPMPX_SelectiveDecryptionInit*p = (GF_IPMPX_SelectiveDecryptionInit*)_p;
	StartElement(trace, "IPMP_SelectiveDecryptionInit", indent, XMTDump);
	indent++;
	DumpInt(trace, "mediaTypeExtension", p->mediaTypeExtension, indent, XMTDump);
	DumpInt(trace, "mediaTypeIndication", p->mediaTypeIndication, indent, XMTDump);
	DumpInt(trace, "profileLevelIndication", p->profileLevelIndication, indent, XMTDump);
	DumpInt(trace, "compliance", p->compliance, indent, XMTDump);
	if (p->RLE_Data) DumpData_16(trace, "RLE_Data", p->RLE_Data, p->RLE_DataLength, indent, XMTDump);
	EndAttributes(trace, XMTDump, GF_TRUE);
	gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump);

	count = gf_list_count(p->SelEncBuffer);
	if (count) {
		StartList(trace, "SelectiveBuffers", indent, XMTDump);
		indent++;
		for (i=0; i<count; i++) {
			GF_IPMPX_SelEncBuffer *sb = (GF_IPMPX_SelEncBuffer *)gf_list_get(p->SelEncBuffer, i);
			StartElement(trace, "IPMP_SelectiveBuffer", indent, XMTDump);
			indent++;
			DumpBin128(trace, "cipher_Id", (char*)sb->cipher_Id, indent, XMTDump);
			DumpInt(trace, "syncBoundary", sb->syncBoundary, indent, XMTDump);
			if (!sb->Stream_Cipher_Specific_Init_Info) {
				DumpInt(trace, "mode", sb->mode, indent, XMTDump);
				DumpInt(trace, "blockSize", sb->blockSize, indent, XMTDump);
				DumpInt(trace, "keySize", sb->keySize, indent, XMTDump);
			}
			EndAttributes(trace, XMTDump, GF_TRUE);
			if (sb->Stream_Cipher_Specific_Init_Info)
				gf_ipmpx_dump_ByteArray(sb->Stream_Cipher_Specific_Init_Info, "StreamCipher", trace, indent, XMTDump);

			indent--;
			EndElement(trace, "IPMP_SelectiveBuffer", indent, XMTDump);
		}
		indent--;
		EndList(trace, "SelectiveBuffers", indent, XMTDump);
	}

	count = gf_list_count(p->SelEncFields);
	if (!p->RLE_Data && count) {
		StartList(trace, "SelectiveFields", indent, XMTDump);
		indent++;
		for (i=0; i<count; i++) {
			GF_IPMPX_SelEncField *sf = (GF_IPMPX_SelEncField *)gf_list_get(p->SelEncFields, i);
			StartElement(trace, "IPMP_SelectiveField", indent, XMTDump);
			indent++;
			DumpInt(trace, "field_Id", sf->field_Id, indent, XMTDump);
			DumpInt(trace, "field_Scope", sf->field_Scope, indent, XMTDump);
			DumpInt(trace, "buf", sf->buf, indent, XMTDump);
			if (sf->mappingTable) DumpData_16(trace, "mappingTable", sf->mappingTable, sf->mappingTableSize, indent, XMTDump);
			EndAttributes(trace, XMTDump, GF_TRUE);
			if (sf->shuffleSpecificInfo)
				gf_ipmpx_dump_ByteArray(sf->shuffleSpecificInfo, "shuffleSpecificInfo", trace, indent, XMTDump);

			indent--;
			EndElement(trace, "IPMP_SelectiveField", indent, XMTDump);
		}
		indent--;
		EndList(trace, "SelectiveFields", indent, XMTDump);
	}

	indent--;
	EndElement(trace, "IPMP_SelectiveDecryptionInit", indent, XMTDump);
	return GF_OK;
}
Esempio n. 6
0
GF_Err gf_ipmpx_dump_MutualAuthentication(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump)
{
	u32 i, count;
	GF_IPMPX_MutualAuthentication *p = (GF_IPMPX_MutualAuthentication*)_p;
	StartElement(trace, "IPMP_MutualAuthentication", indent, XMTDump);
	indent++;
	DumpBool(trace, "failedNegotiation", p->failedNegotiation, indent, XMTDump);
	if (gf_list_count(p->certificates)) DumpInt(trace, "certType", p->certType, indent, XMTDump);

	EndAttributes(trace, XMTDump, GF_TRUE);
	gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump);

	StartList(trace, "candidateAlgorithms", indent, XMTDump);
	count = gf_list_count(p->candidateAlgorithms);
	indent++;
	for (i=0; i<count; i++) {
		GF_IPMPX_Authentication *ip_auth = (GF_IPMPX_Authentication *)gf_list_get(p->candidateAlgorithms, i);
		gf_ipmpx_dump_AUTH(ip_auth, trace, indent, XMTDump);
	}
	indent--;
	EndList(trace, "candidateAlgorithms", indent, XMTDump);

	StartList(trace, "agreedAlgorithms", indent, XMTDump);
	count = gf_list_count(p->agreedAlgorithms);
	indent++;
	for (i=0; i<count; i++) {
		GF_IPMPX_Authentication *ip_auth = (GF_IPMPX_Authentication *)gf_list_get(p->agreedAlgorithms, i);
		gf_ipmpx_dump_AUTH(ip_auth, trace, indent, XMTDump);
	}
	indent--;
	EndList(trace, "agreedAlgorithms", indent, XMTDump);

	if (p->AuthenticationData) gf_ipmpx_dump_ByteArray(p->AuthenticationData, "AuthenticationData", trace, indent, XMTDump);

	count = gf_list_count(p->certificates);
	if (count || p->opaque || p->publicKey) {
		/*type 1*/
		if (count) {
			StartList(trace, "certificates", indent, XMTDump);
			for (i=0; i<count; i++) {
				GF_IPMPX_ByteArray *ipd = (GF_IPMPX_ByteArray *)gf_list_get(p->certificates, i);
				if (XMTDump) {
					gf_ipmpx_dump_ByteArray(ipd, NULL, trace, indent, XMTDump);
				} else {
					StartAttribute(trace, "", indent, GF_FALSE);
					DumpData(trace, NULL, ipd->data, ipd->length, indent, GF_FALSE);
					if (i+1<count) fprintf(trace, ",");
					fprintf(trace, "\n");
				}
			}
			EndList(trace, "certificates", indent, XMTDump);
		}
		/*type 2*/
		else if (p->publicKey) {
			gf_ipmpx_dump_AUTH((GF_IPMPX_Authentication *) p->publicKey, trace, indent, XMTDump);
		}
		/*type 0xFE*/
		else if (p->opaque) {
			gf_ipmpx_dump_ByteArray(p->opaque, "opaque", trace, indent, XMTDump);
		}
		if (!XMTDump) StartAttribute(trace, "trustData", indent, GF_FALSE);
		else {
			StartElement(trace, "trustData", indent, XMTDump);
			EndAttributes(trace, XMTDump, GF_TRUE);
		}
		gf_ipmpx_dump_data((GF_IPMPX_Data *)p->trustData, trace, indent, XMTDump);
		if (XMTDump) EndElement(trace, "trustData", indent, XMTDump);
		gf_ipmpx_dump_ByteArray(p->authCodes, "authCodes", trace, indent, XMTDump);
	}

	indent--;
	EndElement(trace, "IPMP_MutualAuthentication", indent, XMTDump);
	return GF_OK;
}
Esempio n. 7
0
//--------------------------------------------------------------
void AppCore::playTone(int pitch) {
	pd << StartList("tone") << "pitch" << pitch << Finish() << Bang("tone");
    cout << "playTone: " << pitch << endl;
}