/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #include "padialog.hrc" ModalDialog RID_PADIALOG { HelpID = "padmin:ModalDialog:RID_PADIALOG"; OutputSize = TRUE ; SVLook = TRUE ; Size = MAP_APPFONT ( 260 , 198 ) ; Moveable = TRUE ; Closeable = TRUE ; FixedLine RID_PA_FL_CUPSUSAGE { Pos = MAP_APPFONT( 6, 145 ); Size = MAP_APPFONT( 248, 8 ); Text [ en-US ] = "CUPS support"; }; CheckBox RID_PA_CB_CUPSUSAGE { HelpID = "padmin:CheckBox:RID_PADIALOG:RID_PA_CB_CUPSUSAGE"; Pos = MAP_APPFONT( 12, 158 ); Size = MAP_APPFONT( 168, 8 ); Text [ en-US ] = "Disable CUPS Support"; }; FixedLine RID_PA_FL_SEPBUTTON { Pos = MAP_APPFONT( 0, 176 ); Size = MAP_APPFONT( 260, 2 ); }; CancelButton RID_PA_BTN_CANCEL { DefButton = TRUE; Pos = MAP_APPFONT( 190, 181 ); Size = MAP_APPFONT( 60, 12 ); Text [ en-US ] = "Close"; }; FixedLine RID_PA_FL_PRINTERS { Pos = MAP_APPFONT( 6, 5 ); Size = MAP_APPFONT( 248, 8 ); Text [ en-US ] = "Installed ~printers"; }; ListBox RID_PA_LB_DEV { HelpID = "padmin:ListBox:RID_PADIALOG:RID_PA_LB_DEV"; Pos = MAP_APPFONT( 12, 15 ); Size = MAP_APPFONT( 168, 80 ); Border = TRUE; Sort = TRUE; }; FixedText RID_PA_TXT_COMMAND { Pos = MAP_APPFONT( 10, 100 ); Size = MAP_APPFONT( 40, 8 ); Text [ en-US ] = "Command:"; }; FixedText RID_PA_TXT_COMMAND_STRING { Pos = MAP_APPFONT( 55, 100 ); Size = MAP_APPFONT( 135, 8 ); }; FixedText RID_PA_TXT_DRIVER { Pos = MAP_APPFONT( 10, 110 ); Size = MAP_APPFONT( 40, 8 ); Text [ en-US ] = "Driver:"; }; FixedText RID_PA_TXT_DRIVER_STRING { Pos = MAP_APPFONT( 55, 110 ); Size = MAP_APPFONT( 135, 8 ); }; FixedText RID_PA_TXT_LOCATION { Pos = MAP_APPFONT( 10, 120 ); Size = MAP_APPFONT( 40, 8 ); Text [ en-US ] = "Location:"; }; FixedText RID_PA_TXT_LOCATION_STRING { Pos = MAP_APPFONT( 55, 120 ); Size = MAP_APPFONT( 135, 8 ); }; FixedText RID_PA_TXT_COMMENT { Pos = MAP_APPFONT( 10, 130 ); Size = MAP_APPFONT( 40, 8 ); Text [ en-US ] = "Comment:"; }; FixedText RID_PA_TXT_COMMENT_STRING { Pos = MAP_APPFONT( 55, 130 ); Size = MAP_APPFONT( 135, 8 ); }; PushButton RID_PA_BTN_CONF { HelpID = "padmin:PushButton:RID_PADIALOG:RID_PA_BTN_CONF"; Pos = MAP_APPFONT( 190, 15 ); Size = MAP_APPFONT( 60, 12 ); Text [ en-US ] = "Properties..."; }; PushButton RID_PA_BTN_RENAME { HelpID = "padmin:PushButton:RID_PADIALOG:RID_PA_BTN_RENAME"; Pos = MAP_APPFONT( 190, 32 ); Size = MAP_APPFONT( 60, 12 ); Text [ en-US ] = "R~ename..."; }; PushButton RID_PA_BTN_STD { HelpID = "padmin:PushButton:RID_PADIALOG:RID_PA_BTN_STD"; Pos = MAP_APPFONT( 190, 49 ); Size = MAP_APPFONT( 60, 12 ); Text [ en-US ] = "~Default"; }; PushButton RID_PA_BTN_DEL { HelpID = "padmin:PushButton:RID_PADIALOG:RID_PA_BTN_DEL"; Pos = MAP_APPFONT( 190, 66 ); Size = MAP_APPFONT( 60, 12 ); Text [ en-US ] = "Remo~ve..."; }; PushButton RID_PA_TESTPAGE { HelpID = "padmin:PushButton:RID_PADIALOG:RID_PA_TESTPAGE"; Pos = MAP_APPFONT( 190, 83 ); Size = MAP_APPFONT( 60, 12 ); Text [ en-US ] = "Test ~Page"; }; PushButton RID_PA_BTN_ADD { HelpID = "padmin:PushButton:RID_PADIALOG:RID_PA_BTN_ADD"; Pos = MAP_APPFONT( 5, 181 ); Size = MAP_APPFONT( 70, 12 ); Text [ en-US ] = "New Printer..."; }; String RID_PA_STR_DEFPRT { Text [ en-US ] = "Default printer"; }; String RID_PA_STR_RENAME { Text [ en-US ] = "Rename"; }; Text [ en-US ] = "Printer Administration"; }; ModalDialog RID_STRINGQUERYDLG { HelpID = "padmin:ModalDialog:RID_STRINGQUERYDLG"; OutputSize = TRUE ; SVLook = TRUE ; Pos = MAP_APPFONT ( 10 , 10 ) ; Size = MAP_APPFONT ( 200 , 42 ) ; Moveable = TRUE ; Closeable = TRUE ; FixedText RID_STRQRY_TXT_RENAME { Pos = MAP_APPFONT ( 6 , 6 ) ; Size = MAP_APPFONT ( 130 , 16 ) ; Wordbreak=TRUE; }; Edit RID_STRQRY_EDT_NEWNAME { HelpID = "padmin:Edit:RID_STRINGQUERYDLG:RID_STRQRY_EDT_NEWNAME"; Border = TRUE ; Pos = MAP_APPFONT ( 6 , 23 ) ; Size = MAP_APPFONT ( 130 , 12 ) ; }; ComboBox RID_STRQRY_BOX_NEWNAME { HelpID = "padmin:ComboBox:RID_STRINGQUERYDLG:RID_STRQRY_BOX_NEWNAME"; Border = TRUE ; DropDown = TRUE; Pos = MAP_APPFONT ( 6 , 23 ) ; Size = MAP_APPFONT ( 130 , 200 ) ; }; OKButton RID_STRQRY_BTN_OK { DefButton = TRUE ; Pos = MAP_APPFONT ( 145 , 6 ) ; Size = MAP_APPFONT ( 50 , 12 ) ; }; CancelButton RID_STRQRY_BTN_CANCEL { Pos = MAP_APPFONT ( 145 , 23 ) ; Size = MAP_APPFONT ( 50 , 12 ) ; }; }; String RID_ERR_NOPRINTER { Text [ en-US ] = "Could not open printer %s."; }; String RID_PA_TXT_TESTPAGE_PRINTED { Text [ en-US ] = "The test page was printed successfully. Please check the result."; }; String RID_ERR_NOWRITE { Text [en-US] = "No printers can be installed, because the file system is read-only.\nPlease contact your system administrator."; }; String RID_QRY_PRTNAME { Text [ en-US ] = "~New printer name"; }; String RID_TXT_TESTPAGE_MODEL { Text [ en-US ] = "Model"; }; String RID_TXT_TESTPAGE_NAME { Text [ en-US ] = "Name"; }; String RID_TXT_TESTPAGE_COMMENT { Text [ en-US ] = "Comment"; }; String RID_TXT_TESTPAGE_QUEUE { Text [ en-US ] = "Queue"; }; String RID_TXT_TESTPAGE_DATE { Text [ en-US ] = "Date"; }; String RID_TXT_TESTPAGE_TIME { Text [ en-US ] = "Time"; }; String RID_BXT_TESTPAGE { Text [ en-US ] = "Test page"; }; String RID_BXT_ENVIRONMENT { Text [ en-US ] = "Wrong environment"; }; String RID_YOU_SURE { Text [ en-US ] = "Are you sure ?"; }; Bitmap RID_BUTTERFLY { File = "source/butter.png" ; }; Bitmap RID_BMP_SMALL_PRINTER { File = "source/print.png"; }; Bitmap RID_BMP_SMALL_FAX { File = "source/fax.png"; }; Bitmap RID_BMP_SMALL_PDF { File = "source/pdf.png"; }; Bitmap RID_BMP_PRINTER { File = "source/printer_large.png"; }; ModelessDialog RID_PROGRESS_DLG { HelpID = "padmin:ModelessDialog:RID_PROGRESS_DLG"; OutputSize = TRUE ; SVLook = TRUE ; Pos = MAP_APPFONT ( 10 , 10 ) ; Size = MAP_APPFONT ( 150 , 90 ) ; Moveable = TRUE ; Closeable = FALSE ; CancelButton RID_PROGRESS_BTN_CANCEL { Pos = MAP_APPFONT ( 50 , 71 ) ; Size = MAP_APPFONT ( 50 , 14 ) ; }; FixedText RID_PROGRESS_OPERATION_TXT { Pos = MAP_APPFONT ( 6 , 6 ) ; Size = MAP_APPFONT ( 140 , 18 ) ; }; FixedText RID_PROGRESS_PROGRESS_TXT { Pos = MAP_APPFONT( 6, 48 ); Size = MAP_APPFONT( 140, 8 ); Text [ en-US ] = "Progress"; }; Window RID_PROGRESS_STATUSBAR { SVLook = TRUE; Border = TRUE; Pos = MAP_APPFONT ( 6 , 58 ) ; Size = MAP_APPFONT( 140, 8 ); }; FixedText RID_PROGRESS_FILENAME_TXT { Pos = MAP_APPFONT ( 6 , 28 ) ; Size = MAP_APPFONT ( 140 , 8 ) ; }; Text [ en-US ] = "Please wait"; }; ModalDialog RID_PPDIMPORT_DLG { HelpID = "padmin:ModalDialog:RID_PPDIMPORT_DLG"; OutputSize = TRUE ; SVLook = TRUE ; Size = MAP_APPFONT ( 265 , 225 ) ; Moveable = TRUE ; Closeable = TRUE ; FixedLine RID_PPDIMP_GROUP_PATH { Pos = MAP_APPFONT( 5, 5 ); Size = MAP_APPFONT( 200, 8 ); Text [ en-US ] = "Dri~ver directory"; }; FixedText RID_PPDIMP_TXT_PATH { Pos = MAP_APPFONT( 10, 33 ); Size = MAP_APPFONT( 190, 8 ); Text [ en-US ] = "Please select the driver directory."; }; ComboBox RID_PPDIMP_LB_PATH { HelpID = "padmin:ComboBox:RID_PPDIMPORT_DLG:RID_PPDIMP_LB_PATH"; Dropdown = TRUE; Border = TRUE; Sort = TRUE; Pos = MAP_APPFONT( 10, 15 ); Size = MAP_APPFONT( 130, 80 ); }; PushButton RID_PPDIMP_BTN_SEARCH { HelpID = "padmin:PushButton:RID_PPDIMPORT_DLG:RID_PPDIMP_BTN_SEARCH"; Pos = MAP_APPFONT( 145, 15 ); Size = MAP_APPFONT( 50, 14 ); Text [ en-US ] = "Browse..."; }; FixedLine RID_PPDIMP_GROUP_DRIVER { Pos = MAP_APPFONT( 5, 60 ); Size = MAP_APPFONT( 200, 8 ); Text [ en-US ] = "~Selection of drivers"; }; MultiListBox RID_PPDIMP_LB_DRIVER { HelpID = "padmin:MultiListBox:RID_PPDIMPORT_DLG:RID_PPDIMP_LB_DRIVER"; Border = TRUE; Sort = TRUE; SimpleMode = TRUE; AutoHScroll = TRUE; Pos = MAP_APPFONT( 10, 70 ); Size = MAP_APPFONT( 190, 120 ); }; FixedText RID_PPDIMP_TXT_DRIVER { Pos = MAP_APPFONT( 10, 195 ); Size = MAP_APPFONT( 190, 60 ); WordBreak = TRUE; Text [ en-US ] = "Please select the drivers to install and press \"%s\"."; }; String RID_PPDIMP_STR_LOADINGPPD { Text [ en-US ] = "Searching for drivers"; }; OKButton RID_PPDIMP_BTN_OK { DefButton = TRUE; Pos = MAP_APPFONT( 210, 10 ); Size = MAP_APPFONT( 50, 14 ); }; CancelButton RID_PPDIMP_BTN_CANCEL { Pos = MAP_APPFONT( 210, 29 ); Size = MAP_APPFONT( 50, 14 ); }; Text [ en-US ] = "Driver Installation"; }; String RID_QUERY_REMOVEDRIVER { Text [ en-US ] = "Do you really want to remove the driver \"%s\"?"; }; String RID_QUERY_REMOVEPRINTER { Text [ en-US ] = "Do you really want to remove this printer ?"; }; String RID_QUERY_DRIVERUSED { Text [ en-US ] = "There are still printers using the driver \"%s\". Do you really want to remove it? The corresponding printers will also be removed."; }; String RID_ERR_REMOVESGENPRT { Text [ en-US ] = "The driver \"%s\" is always needed and can therefore not be removed."; }; String RID_ERR_REMOVEDRIVERFAILED { Text [ en-US ] = "The driver \"%s1\" could not be removed. It was not possible to remove the file\n\n%s2."; }; String RID_ERR_REMOVEDEFAULTDRIVER { Text [ en-US ] = "The driver \"%s\" is used by your default printer. Therefore, it cannot be removed."; }; String RID_ERR_PRINTERNOTREMOVEABLE { Text [ en-US ] = "The printer %s cannot be removed."; }; String RID_TXT_PRINTERALREADYEXISTS { Text [ en-US ] = "A printer named \"%s\" already exists. This printer will not be imported."; }; String RID_TXT_PRINTERWITHOUTCOMMAND { Text [ en-US ] = "The printer \"%s\" has no valid configuration and, therefore, cannot be imported."; }; String RID_TXT_DRIVERDOESNOTEXIST { Text [ en-US ] = "The driver for the printer \"%s1\" (%s2) is not installed. Therefore the printer cannot be imported."; }; String RID_TXT_PRINTERADDFAILED { Text [ en-US ] = "The printer \"%s\" could not be added."; }; ModalDialog RID_ADD_PRINTER_DIALOG { HelpID = "padmin:ModalDialog:RID_ADD_PRINTER_DIALOG"; OutputSize = TRUE ; SVLook = TRUE ; Size = MAP_APPFONT ( 240 , 172 ) ; Moveable = TRUE ; Closeable = TRUE ; Control RID_ADDP_CTRL_TITLE { Pos = MAP_APPFONT( 0, 0 ); Size = MAP_APPFONT( 240, 26 ); }; FixedLine RID_ADDP_LINE { Pos = MAP_APPFONT( 0, 150 ); Size = MAP_APPFONT( 240, 2 ); }; OKButton RID_ADDP_BTN_FINISH { Pos = MAP_APPFONT( 185, 155 ); Size = MAP_APPFONT( 50, 12 ); Text [ en-US ] = "~Finish"; }; CancelButton RID_ADDP_BTN_CANCEL { Pos = MAP_APPFONT( 5, 155 ); Size = MAP_APPFONT( 50, 12 ); }; PushButton RID_ADDP_BTN_NEXT { HelpID = "padmin:PushButton:RID_ADD_PRINTER_DIALOG:RID_ADDP_BTN_NEXT"; Pos = MAP_APPFONT( 130, 155 ); Size = MAP_APPFONT( 50, 12 ); Text [ en-US ] = "~Next >>"; }; PushButton RID_ADDP_BTN_PREV { HelpID = "padmin:PushButton:RID_ADD_PRINTER_DIALOG:RID_ADDP_BTN_PREV"; Pos = MAP_APPFONT( 75, 155 ); Size = MAP_APPFONT( 50, 12 ); Text [ en-US ] = "<< ~Back"; }; Text [ en-US ] = "Add Printer"; }; TabPage RID_ADDP_PAGE_CHOOSEDRIVER { HelpID = "padmin:TabPage:RID_ADDP_PAGE_CHOOSEDRIVER"; Hide = TRUE; Pos = MAP_APPFONT( 0, 30 ); Size = MAP_APPFONT( 240, 120 ); String RID_ADDP_STR_TITLE { Text [ en-US ] = "Choose a driver"; }; FixedText RID_ADDP_CHDRV_TXT_DRIVER { Pos = MAP_APPFONT( 5, 5 ); Size = MAP_APPFONT( 230, 8 ); Text [ en-US ] = "Please select a s~uitable driver."; }; ListBox RID_ADDP_CHDRV_BOX_DRIVER { HelpID = "padmin:ListBox:RID_ADDP_PAGE_CHOOSEDRIVER:RID_ADDP_CHDRV_BOX_DRIVER"; Pos = MAP_APPFONT( 5, 15 ); Size = MAP_APPFONT( 175, 100 ); Border = TRUE; Sort = TRUE; }; PushButton RID_ADDP_CHDRV_BTN_ADD { HelpID = "padmin:PushButton:RID_ADDP_PAGE_CHOOSEDRIVER:RID_ADDP_CHDRV_BTN_ADD"; Pos = MAP_APPFONT( 185, 15 ); Size = MAP_APPFONT( 50, 12 ); Text [ en-US ] = "~Import..."; }; PushButton RID_ADDP_CHDRV_BTN_REMOVE { HelpID = "padmin:PushButton:RID_ADDP_PAGE_CHOOSEDRIVER:RID_ADDP_CHDRV_BTN_REMOVE"; Pos = MAP_APPFONT( 185, 32 ); Size = MAP_APPFONT( 50, 12 ); Text [ en-US ] = "~Delete"; }; String RID_ADDP_CHDRV_STR_REMOVE { Text [ en-US ] = "Delete driver"; }; }; TabPage RID_ADDP_PAGE_CHOOSEDEV { HelpID = "padmin:TabPage:RID_ADDP_PAGE_CHOOSEDEV"; Hide = TRUE; Pos = MAP_APPFONT( 0, 30 ); Size = MAP_APPFONT( 240, 120 ); String RID_ADDP_STR_TITLE { Text [ en-US ] = "Choose a device type"; }; FixedText RID_ADDP_CHDEV_TXT_OVER { Pos = MAP_APPFONT( 40, 25 ); Size = MAP_APPFONT( 180, 8 ); Text [ en-US ] = "Do you want to"; }; RadioButton RID_ADDP_CHDEV_BTN_PRINTER { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_CHOOSEDEV:RID_ADDP_CHDEV_BTN_PRINTER"; Pos = MAP_APPFONT ( 40, 40 ); Size = MAP_APPFONT( 180, 10 ); Text [ en-US ] = "Add a ~printer"; }; RadioButton RID_ADDP_CHDEV_BTN_FAX { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_CHOOSEDEV:RID_ADDP_CHDEV_BTN_FAX"; Pos = MAP_APPFONT ( 40, 50 ); Size = MAP_APPFONT( 180, 10 ); Text [ en-US ] = "Connect a fa~x device"; }; RadioButton RID_ADDP_CHDEV_BTN_PDF { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_CHOOSEDEV:RID_ADDP_CHDEV_BTN_PDF"; Pos = MAP_APPFONT ( 40, 60 ); Size = MAP_APPFONT( 180, 10 ); Text [ en-US ] = "Connect a P~DF converter"; }; RadioButton RID_ADDP_CHDEV_BTN_OLD { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_CHOOSEDEV:RID_ADDP_CHDEV_BTN_OLD"; Pos = MAP_APPFONT ( 40, 70 ); Size = MAP_APPFONT( 180, 10 ); Text [ en-US ] = "~Import printers from a StarOffice installation"; }; }; TabPage RID_ADDP_PAGE_NAME { HelpID = "padmin:TabPage:RID_ADDP_PAGE_NAME"; Hide = TRUE; Pos = MAP_APPFONT( 0, 30 ); Size = MAP_APPFONT( 240, 120 ); String RID_ADDP_STR_TITLE { Text [ en-US ] = "Choose a name"; }; FixedText RID_ADDP_NAME_TXT_NAME { Pos = MAP_APPFONT( 40, 25 ); Size = MAP_APPFONT( 220, 8 ); Text [ en-US ] = "Please enter a name for the printer."; }; FixedText RID_ADDP_NAME_TXT_FAXNAME { Pos = MAP_APPFONT( 40, 25 ); Size = MAP_APPFONT( 220, 8 ); Text [ en-US ] = "Please enter a name for the fax connection."; }; FixedText RID_ADDP_NAME_TXT_PDFNAME { Pos = MAP_APPFONT( 40, 25 ); Size = MAP_APPFONT( 220, 8 ); Text [ en-US ] = "Please enter a name for the PDF connection."; }; Edit RID_ADDP_NAME_EDT_NAME { HelpID = "padmin:Edit:RID_ADDP_PAGE_NAME:RID_ADDP_NAME_EDT_NAME"; Pos = MAP_APPFONT( 40, 35 ); Size = MAP_APPFONT( 160, 12 ); Border = TRUE; }; Edit RID_ADDP_NAME_EDT_FAXNAME { HelpID = "padmin:Edit:RID_ADDP_PAGE_NAME:RID_ADDP_NAME_EDT_FAXNAME"; Pos = MAP_APPFONT( 40, 35 ); Size = MAP_APPFONT( 160, 12 ); Border = TRUE; Text [ en-US ] = "Fax printer"; }; Edit RID_ADDP_NAME_EDT_PDFNAME { HelpID = "padmin:Edit:RID_ADDP_PAGE_NAME:RID_ADDP_NAME_EDT_PDFNAME"; Pos = MAP_APPFONT( 40, 35 ); Size = MAP_APPFONT( 160, 12 ); Border = TRUE; Text [ en-US ] = "PDF converter"; }; CheckBox RID_ADDP_NAME_BOX_DEFAULT { HelpID = "padmin:CheckBox:RID_ADDP_PAGE_NAME:RID_ADDP_NAME_BOX_DEFAULT"; Pos = MAP_APPFONT( 40, 50 ); Size = MAP_APPFONT( 160, 12 ); Text [ en-US ] = "~Use as default printer"; }; CheckBox RID_ADDP_NAME_BOX_FAXSWALLOW { HelpID = "padmin:CheckBox:RID_ADDP_PAGE_NAME:RID_ADDP_NAME_BOX_FAXSWALLOW"; Pos = MAP_APPFONT( 40, 50 ); Size = MAP_APPFONT( 160, 12 ); Text [ en-US ] = "Remo~ve fax number from output"; }; }; TabPage RID_ADDP_PAGE_COMMAND { HelpID = "padmin:TabPage:RID_ADDP_PAGE_COMMAND"; Hide = TRUE; Pos = MAP_APPFONT( 0, 30 ); Size = MAP_APPFONT( 240, 120 ); String RID_ADDP_STR_TITLE { Text [ en-US ] = "Choose a command line"; }; FixedText RID_ADDP_CMD_TXT_COMMAND { Pos = MAP_APPFONT( 10, 2 ); Size = MAP_APPFONT( 160, 24 ); WordBreak = TRUE; Text [ en-US ] = "Please enter a c~ommand line appropriate for this device."; }; ComboBox RID_ADDP_CMD_BOX_COMMAND { HelpID = "padmin:ComboBox:RID_ADDP_PAGE_COMMAND:RID_ADDP_CMD_BOX_COMMAND"; Pos = MAP_APPFONT( 10, 30); Size = MAP_APPFONT( 220, 85 ); Border = TRUE; }; ComboBox RID_ADDP_CMD_BOX_PDFCOMMAND { HelpID = "padmin:ComboBox:RID_ADDP_PAGE_COMMAND:RID_ADDP_CMD_BOX_PDFCOMMAND"; Pos = MAP_APPFONT( 10, 30); Size = MAP_APPFONT( 220, 60 ); Border = TRUE; }; FixedText RID_ADDP_CMD_TXT_PDFDIR { Pos = MAP_APPFONT( 10, 95 ); Size = MAP_APPFONT( 220, 8 ); Text [ en-US ] = "PDF ~target directory"; }; Edit RID_ADDP_CMD_EDT_PDFDIR { HelpID = "padmin:Edit:RID_ADDP_PAGE_COMMAND:RID_ADDP_CMD_EDT_PDFDIR"; Border = TRUE; Pos = MAP_APPFONT( 10, 104 ); Size = MAP_APPFONT( 190, 12 ); }; PushButton RID_ADDP_CMD_BTN_PDFDIR { HelpID = "padmin:PushButton:RID_ADDP_PAGE_COMMAND:RID_ADDP_CMD_BTN_PDFDIR"; Pos = MAP_APPFONT( 205, 104 ); Size = MAP_APPFONT( 25, 12 ); Text = "~..."; }; PushButton RID_ADDP_CMD_BTN_HELP { HelpID = "padmin:PushButton:RID_ADDP_PAGE_COMMAND:RID_ADDP_CMD_BTN_HELP"; Pos = MAP_APPFONT( 180, 2 ); Size = MAP_APPFONT( 50, 12 ); Text [ en-US ] = "~Help"; }; String RID_ADDP_CMD_STR_PDFHELP { Text [ en-US ] = "The command line for PDF converters is executed as follows: for each document printed, \"(TMP)\" in the command line is replaced by a temporary file and \"(OUTFILE)\" in the command line is replaced by the target PDF file name. If \"(TMP)\" is in the command line, the PostScript code will be supplied via a file, otherwise via standard input (i.e. as a pipe)."; }; String RID_ADDP_CMD_STR_FAXHELP { Text [ en-US ] = "The command line for fax connections is executed as follows: for each fax sent, \"(TMP)\" in the command line is replaced by a temporary file and \"(PHONE)\" in the command line is replaced by the fax number. If \"(TMP)\" appears in the command line, the PostScript code will be supplied via a file, otherwise it is passed as standard input (i.e. as a pipe)."; }; }; TabPage RID_ADDP_PAGE_OLDPRINTERS { HelpID = "padmin:TabPage:RID_ADDP_PAGE_OLDPRINTERS"; Hide = TRUE; Pos = MAP_APPFONT( 0, 30 ); Size = MAP_APPFONT( 240, 120 ); String RID_ADDP_STR_TITLE { Text [ en-US ] = "Import printers from old versions"; }; FixedText RID_ADDP_OLD_TXT_PRINTERS { Pos = MAP_APPFONT( 10, 10 ); Size = MAP_APPFONT( 165, 25 ); WordBreak = TRUE; Text [ en-US ] = "~These printers can be imported. Please select the ones you want to import."; }; MultiListBox RID_ADDP_OLD_BOX_PRINTERS { HelpID = "padmin:MultiListBox:RID_ADDP_PAGE_OLDPRINTERS:RID_ADDP_OLD_BOX_PRINTERS"; Pos = MAP_APPFONT( 10, 35 ); Size = MAP_APPFONT( 165, 80 ); Border = TRUE; }; PushButton RID_ADDP_OLD_BTN_SELECTALL { HelpID = "padmin:PushButton:RID_ADDP_PAGE_OLDPRINTERS:RID_ADDP_OLD_BTN_SELECTALL"; Pos = MAP_APPFONT( 180, 35 ); Size = MAP_APPFONT( 50, 12 ); Text [ en-US ] = "~Select All"; }; }; TabPage RID_ADDP_PAGE_FAXDRIVER { HelpID = "padmin:TabPage:RID_ADDP_PAGE_FAXDRIVER"; Hide = TRUE; Pos = MAP_APPFONT( 0, 30 ); Size = MAP_APPFONT( 240, 120 ); String RID_ADDP_STR_TITLE { Text [ en-US ] = "Choose a driver"; }; FixedText RID_ADDP_FAXDRV_TXT_DRIVER { Pos = MAP_APPFONT( 40, 20 ); Size = MAP_APPFONT( 160, 19 ); WordBreak = TRUE; Text [ en-US ] = "Use the following driver for this fax connection"; }; RadioButton RID_ADDP_FAXDRV_BTN_DEFAULT { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_FAXDRIVER:RID_ADDP_FAXDRV_BTN_DEFAULT"; Pos = MAP_APPFONT( 40,40 ); Size = MAP_APPFONT( 160, 10 ); Text [ en-US ] = "T~he default driver"; }; RadioButton RID_ADDP_FAXDRV_BTN_SELECT { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_FAXDRIVER:RID_ADDP_FAXDRV_BTN_SELECT"; Pos = MAP_APPFONT( 40, 50 ); Size = MAP_APPFONT( 160,24 ); Text [ en-US ] = "A speci~fic driver, to adapt the format to another printer"; }; }; TabPage RID_ADDP_PAGE_PDFDRIVER { HelpID = "padmin:TabPage:RID_ADDP_PAGE_PDFDRIVER"; Hide = TRUE; Pos = MAP_APPFONT( 0, 30 ); Size = MAP_APPFONT( 240, 120 ); String RID_ADDP_STR_TITLE { Text [ en-US ] = "Choose a driver"; }; FixedText RID_ADDP_PDFDRV_TXT_DRIVER { Pos = MAP_APPFONT( 40, 20 ); Size = MAP_APPFONT( 160, 19 ); WordBreak = TRUE; Text [ en-US ] = "Use the following driver for this PDF converter"; }; RadioButton RID_ADDP_PDFDRV_BTN_DEFAULT { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_PDFDRIVER:RID_ADDP_PDFDRV_BTN_DEFAULT"; Pos = MAP_APPFONT( 40, 40 ); Size = MAP_APPFONT( 160, 10 ); Text [ en-US ] = "T~he default driver"; }; RadioButton RID_ADDP_PDFDRV_BTN_DIST { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_PDFDRIVER:RID_ADDP_PDFDRV_BTN_DIST"; Pos = MAP_APPFONT( 40,50 ); Size = MAP_APPFONT( 160, 10 ); Text [ en-US ] = "The Adobe D~istiller(tm) driver"; }; RadioButton RID_ADDP_PDFDRV_BTN_SELECT { HelpID = "padmin:RadioButton:RID_ADDP_PAGE_PDFDRIVER:RID_ADDP_PDFDRV_BTN_SELECT"; Pos = MAP_APPFONT( 40, 60 ); Size = MAP_APPFONT( 160, 24 ); Text [ en-US ] = "A spec~ific driver, to adapt the format to another printer"; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ style'>feature/table-style LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/sc/source/filter/rtf
AgeCommit message (Collapse)Author
2024-12-08tdf#79298 - FORMATTING: Copy/paste: import strikethrough attributeAndreas Heinisch
Change-Id: I0539e87f2a87f869e234ed7c944b9da6bd0e82bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177847 Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Tested-by: Jenkins
2024-11-24Let ESelection use EPaM for simplificationMike Kaganski
And drop EPosition, which duplicates EPaM, except for its default ctor (used in a single place). Change-Id: I48bb6dafcba84465d61579df0ec71b815945532a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177075 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-10-25speedup saving large XLS file with lots of query formula(2)Noel Grandin
reduce cost of OUString construction by avoiding initialising a temporary and then overwriting it. 12s to 10s Change-Id: I889152ba71947004ca7d5c96f073182c94d95ed5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175539 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-04-05ofz#67765 Integer-overflowCaolán McNamara
Change-Id: I49b1a5024352575a3867500c15f542863c273e93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165814 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-29cid#67704 Integer-overflowCaolán McNamara
Change-Id: I42aa4b3e43636bf6f0c0f77c5028501229badee2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165545 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-23Related: tdf#160056 do calc NumberFormatting via ScInterpreterContextCaolán McNamara
and for the duration of Threaded calculation where there will be no new formats required we can drive number formatting with the unlocked RO policy. Change-Id: Ic0e449acdcf834bc569d13b4a984f13c55316801 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165160 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-21ITEM: Remove InvalidateAllItems()Armin Le Grand (allotropia)
I checked if this is used, but it can be replaced using Clear() -> all. This prevents that the whole array of Items in an ItemSet gets set to INVALID_POOL_ITEM. I also checked if INVALID_POOL_ITEM/IsInvalidItem is needed at all representing SfxItemState::DONTCARE but it is and still will need to be set for individual Items. At last checked if SfxItemState::UNKNOWN and ::DISABLED really need to be separate states, but indeed there are some rare cases that need that. To make things more consistent I also renamed SfxItemState::DONTCARE to SfxItemState::INVALID to better match Set/IsInvalid calls at ItemSet. The build showed a missing UT and led to a problem due to the hand-made ItemSet-like SearchAttrItemList. The state 'invalid' seems to be used as 'unused' marker. It should be changed to use SfxPoolItemHolder and not need that. For now, set by using an own loop to set to that state. Change-Id: Ifc51aad60570569a1e37d3084a5e307eed47d06c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165035 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-02-16tdf#101313 Copy-paste table from writer to calcNoel Grandin
With Merged Cells from Writer to Calc, Cells Placed in Wrong Position (Wrong cell offsets). regression from commit ed24564ce11683731b820c29d5a46e073ab7a2a7 Author: Noel Grandin <noel@peralex.com> Date: Thu Jul 19 15:22:31 2012 +0200 SV_DECL_VARARR_SORT(ScRTFColTwips) o3tl::sorted_vector Change-Id: I8c90c19f6a27a368fd5807b3eaab84ce820e26e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163518 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-12ITEM: ItemPool Rework (I)Armin Le Grand (allotropia)
Driving forward the Item reworks I now take the ItemPool in focus: It now does not hold any items anymore and should be renamed to something like ItemInfoProvider/ItemHelper, since it's main purpose is to provide the Defaults for the Item functionality. There is that SfxItemInfo, only a struct and bundling SlotID and ItemFlags. There are also the DefaultItems, just handled as ptrs in an array. It is/was always error-prone to keep these in sync. Remember that it's also necessary for the order to not only being sorted but being increments of one with no gaps allowed in the WhichIDs to which the Items are bound. I now bundled that to a new class ItemInfo that joins WhichID, SlotID, ItemFlags and the default Item. This is a pure virtual base class, it comes in three derivations: (1) ItemInfoStatic: This is supposed to be global static and hosts the Item in a std::unique_ptr to ensure cleanup. It is designed to be constructed once during runtime and being shared globally. It allows the ItemPtr to be nullptr to mark as non-static (if initial static is not possible for some reason) but still offers the needed data. Most cases (95%+) are of that case. The contained Item is owned by that instance. The flag isStaticDefault() is set at the Item. (2) ItemInfoDynamic: This is supposed to be used for cases where the Item cannot be static: Mainly for SfxSetItem (that needs a Pool itself in the contained SfxItemSet, so lifetime is bound to that Pool), but other cases showed up in the transition. These instances live while the Pool lives and get destructed when the Pool goes down. Also uses std::unique_ptr for the Item instance for as much automated cleanup as possible, the contained Item is owned by that instance, the instance by the Pool. The flag isDynamicDefault() is set at the Item. (3) ItemInfoUser: This is used for UserDefaults that can be set for every ItemInfo entry to 'overshadow' the default from the 'outside'. It uses a regular Item and the central access methods implCreateItemEntry/ implCleanupItemEntry to manage the Item instance, thus works like a SfxPoolItemHolder. The Item instance can be globally shared and re-used even when the Pool goes down. Instances belong to the Pool and are cleaned up when the Pool goes down. This Item does not need any further flag to be set. The ItemInfos are organized using a class called ItemInfoPackage: This bundles groups of ItemInfoStatic to functional instances. There are derivations/ implementations of this e.g. for Writer ItemPool bundling all the needed defaults for Writer, similar for draw/impress, Calc and other usages. These ItemInfoPackage can be 'registered' at an ItemPool using it's method registerItemInfoPackage. This does all the needed stuff to setup that group of ItemInfos at the Pool (It even sets internal vars First/LastWhich, that info can just be derived from the buildup ItemInfo Ptrs). The ItemInfoPackage has methods 'size()' and 'getItemInfo(index) to allow looping over it and deliver the infos the Pool needs. The (forced, pure virtual) overloads of getItemInfo in the specific implementations check for the ItemPtr being nullptr and create a exclusive incarnation of ItemInfoDynamic for the Pool if needed, returning that. The Pool owns the ItemInfoDynamic incarnations and uses the ItemInfoStatic directly. On shutdown it cleans up the ItemInfoDynamic as needed. The ItemInfoUser is used by the Pool when a UserDefault is set/used: for SetUserDefaultItem, GetUserDefaultItem, ResetUserDefaultItem. It is not held in a 2nd list, but directly in the list of ItemInfo'ptrs: To keep track of this an unordered_map is used that helds the original ItemInfo associated with the WhichID. That way no two lookups (as before) are needed to get the current Pool's default for any WhichID. The derivations of ItemInfoPackage are encapsulated and just allow access to an ItemInfoPackage& with a single method as return value. All use a static local instance of a std::array<ItemInfoStatic, FIXED_SIZE> which constructs all ItemInfoStatic and the static Item instances - if already possible. Sometimes it is necessary to overload the constructor to set some static instances for Items later than the lib init. These are also just marked with nullptr as Item instance. Some need to overload getItemInfo to complete instances of ItemInfoStatic, if needed, or create and deliver instances of ItemInfoDynamic. The registerItemInfoPackage also offers a optional lambda callback: there were two cases where local data from the Pool was needed to incarnate the item - just add that to the call to registerItemInfoPackage if needed, see examples in the adapted code. For the re-use of Items this means that now in SfxItemSet/SfxPoolItemHolder *true* static Items can and will be used without RefCount directly and globally. This is also the case for dynamic Items, with the exception of differing Pools for SfxSetItems which cannot be done. Future: That design is already prepared to allow solving that Pool-chaining problem: currently there are master/sub-pools and all accesses have to traverse that structure before even doing anything. For the future the idea is more to 'compose' a Pool by registering ItemInfoPackages, e.g. for Writer pool you may start with SfxItemPool, register the writer-specific ItemInfoPackage, then the one for DrawingLayer (if needed) and the one for EditEngine. It should also be possible to get to smaller granularities of that packages. Ideas for new ones will emerge. We might also think about composing Pools which can e.g. run Writer and Chart, so allowing to use Chart *without* OLE stuff in Writer - just ideas... More changes: - Adapted all stuff, cleaned up old stuff/ definitions - Removed FreezeIdRanges, that can be done once per Pool on-demand (and cannot be forgotten to be called) - Merged XOutdevItemPool with SdrItemPool and offered a ItemInfoPackage which joins both needed sets of Items - All the cleanup hassle with Pools and defaults cleaned up - Adapted all access methods of the pool to use that new stuff. Pool chaining currently stays, but I use a central method 'getTargetPool' instead of recursive calling to get the correct Pool for the action Change-Id: I2b8d3d4c3cc80b1d0d0b3c0f4bd90d7656b4bab7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163157 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-02-12tdf#159483 sc HTML paste: handle data-sheets-formula attributeMiklos Vajna
When a formula cell gets copied from google docs, the value of the <td> element only contains the formula result. This means once value cells and formula cells gets copied together, the pasted formula cell won't updated anymore when the input values change. Turns out there is a data-sheets-formula attribute on <td> that contains the formula, it seems it uses the R1C1 format. Fix the problem by extending ScHTMLLayoutParser::TableDataOn() to parse this attribute and set a formula on the target cell (rather than a value) if the formula is available. This required also extending ScEEImport a bit, since the HTML paste builds on top of the RTF one in Calc. Change-Id: I720df96ce74a5e865b7329d06f3b719551f31b96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163234 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-01-27ITEM: Cleanup some Pool stuff with DefaultsArmin Le Grand (allotropia)
Sorted out some methods at ItemPool which process Defaults to make more clear what is going on and what which method is doing. Change-Id: I2568d3e03d0a56a14b6fe4e04521e1a8e22c000b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162643 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-12-30move IsFuzzing to comphelperCaolán McNamara
and try something a bit more generic Change-Id: I1d8256576cd02f0a589df350ba7b53059dd586a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161250 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-28Decouple ScPatternAttr from SfxItemPoolArmin Le Grand (allotropia)
ScPatternAttr is traditionally derived from SfxPoolItem (or better: SfxSetItem) and held in the ScDocumentPool as Item. This is only because of 'using' the 'poolable' functionality of the Item/ItemSet/ItemPool mechanism. Lots of hacks were added to sc and Item/ItemSet/ ItemPool to make that 'work' which shows already that this relationship is not optimal. It uses DirectPutItemInPool/DirectRemoveItemFromPool to do so, also with massive overhead to do that (and with not much success). The RefCnt in the SfxPoolItem that is used for this never worked reliably, so the SfxItemPool was (ab)used as garbage collector (all Items added and never removed get deleted at last for good when the Pool goes down). For this reasons and to be able to further get ItemSets modernized I changed this. I did two big changes here: (1) No longer derive ScPatternAttr from SfxItemSet/ SfxSetItem, no longer hold as SfxPoolItem (2) Add tooling to reliably control the lifetime of ScPatternAttr instances and ther uniqueness/ reusage for memory reasons It is now a regular non-derived class. The SfxItemSet formally derived from SfxSetItem is now a member. The RefCnt is now also a member (so independent from size/data type of SfxPoolItem). All in all it's pretty much the same size as before. To support handling it I created a CellAttributeHelper that is at/owned by ScDocument and takes over tooling to handle the ScPatternAttr. It supports to guarantee the uniqueness of incarnated ScPatternAttr instances for a ScDocument by providing helpers like registerAndCheck and doUnregister. It hosts the default CellAttribute/ ScPatternAttr. That default handling was anyways not using the standard default-handling of Items/Pools. I adapted whole SC to use that mainly by replacing calls to DirectPutItemInPool with registerAndCheck and DirectRemoveItemFromPool with doUnregister, BUT: This was not sufficient, the RefCnt kept to be broken. For that reason I decided to also do (2) in this change: I added a CellAttributeHolder that owns/regulates the lifetime of a single ScPatternAttr. Originally it also contained the CellAttributeHolder, but after some thoughts I decided that this is not needed - if there is no ScPatternAttr set, no CellAttributeHolder is needed for safe cleanup at destruction of the helper. So I moved/added the CellAttributeHolder to ScPatternAttr where it belongs more naturally anyways. The big plus is that CellAttributeHolder is just one ptr, so not bigger than having a simple ScPatternAttr*. That way, e.g. ScAttrEntry in ScAttrArray did not 'grow' at all. In principle all places where a ScPatternAttr* is used can now be replaced by using a CellAttributeHolder, except for construction. It is capable to be initialized with either ScPatternAttr instances from the heap (it creates a copy that then gets RefCounted) or allocated (it supports ownership change at construction time). Note that ScAttrEntry started to get more a C++ class in that change, it has a constructor. I did not change the SCROW member, but that should also be done. Also made registerAndCheck/doUnregister private in CellAttributeHelper and exclusively used by CellAttributeHolder. That way the RefCnt works, and a lot of code gets much simpler (check ScItemPoolCache, it's now straightforward) and safer and ~ScPatternAttr() uses now a hard assert(!isRegistered()); which shows that RefCnt works now (the 1st time?). There can be done more (see ToDo section below) but I myself will concentrate on getting ItemSets forward. This decoupling makes both involved mechanisms more safe, less complex and more stable. It also opens up possibilities to further optimize ScPatternAttr in SC without further hacking Item/ItemSet/ItemPool stuff. NOTE: ScPatternAttr *should* be renamed to 'CellAttribute' which describes what it is. The experiencd devs may know what it does, but it is a hindrance for understanding for attacting new devs. I already used now names like CellAttributeHelper/CellAttributeHolder etc., but abstained from renaming ScPatternAttr, see ToDo list below. SfxItemSet discussion: ScPatternAttr still contains a SfxItemSet, or better, a SfxSetItem. For that reason it still depends on access to an SfxItemPool (so there is acces in CellAttributeHelper). This is in principle not needed - no Item (in the range [ATTR_PATTERN_START .. ATTR_PATTERN_END]) needs that. In principle ScPatternAttr could now do it's own handling of those needed Items, however this might be done (linear array, hash-by-WhichID, ...). The Items get translated to and from this to the rest of the office anyways. Note that *merging* of SfxItemSets is *still* needed what means to have WhichID slots in SfxItemState::DONTCARE, see note in ScPatternAttr::ScPatternAttr about that. And there is also the Surrogates stuff which would have to be checked. The other extreme is to use SfxItemSet *more*, e.g. directly derive from SfxItemSet what would make stuff easier, maybe even get back to using the 'regular' Items like all office, I doubt that that would be much slower, so why...? Also possible is to remove that range of Items exclusively used by ScPatternAttr from ScDocumentPool *completely* and create an own Pool for them, owned by CellAttributeHelper. That Pool might even be static global, so all SC Docs could share all those Items - maybe even the ScPatternAttr themselves (except the default per document). That would remove the dependency of ScPatternAttr from a Pool completely. ToDo-List: - rename ScPatternAttr to CellAttribute or similar - use SfxItemSetFixed with range [ATTR_PATTERN_START .. ATTR_PATTERN_END] instead of regular SfxItemSet (if the copy-construtor works now...?) - maybe create own/separate Pool for exclusive Items - make ScAttrEntry more a C++ class by moving SCROW to the private section, add get/set methods and adapt SC Had to add some more usages of CellAttributeHolder to the SC Sort mechanism, there were situations where the sorted ScPatternAttr were replaced in the Table, but the 'sorted' ones were just ScPatternAttr*, thus deleting the valid ones in the Table already. Using CellAttributeHolder makes this safe, too. Added a small, one-entry cache to CellAttributeHelper to buffer the last found buffered ScPattrnAttr. It has a HitRate of ca. 5-6% and brings the UnitTest testSheetCellRangeProperties from 0m48,710s to 0m37,556s. Not too massive, but erery bit counts :-) Also shows that after that change optimizations in the now split functionality is possible and easy. Change-Id: I268a7b2a943ce5ddfe3c75b5e648c0f6b0cedb85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161244 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-09-15reduce casting around ScDocShellNoel Grandin
instead of using SfxObjectShell and then static_cast'ing it everywhere. Change-Id: Id3184e44f048228dc4d0d9fa5d579e663c2762cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156945 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-01sc: filter: rtf: add method "WriteFontTable"Henry Castro
Write the font table while visiting column/row and get the unique index to reference it. "The \fonttbl control word introduces the font table group. Unique \fN control words define each font available in the document, and are used to reference that font throughout the document." Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I20c5d1128972f5ec9b9b2e246f466bdb173ef8a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154906 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156415 Tested-by: Jenkins
2023-09-01sc: filter: rtf: add method "AddFont"Henry Castro
Create a map font name associated with unique index. "The \fonttbl control word introduces the font table group. Unique \fN control words define each font available in the document, and are used to reference that font throughout the document".. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I028226cb539865f1980f953385c887a3bd4b8e3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154905 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156414
2023-09-01sc: filter: rtf: prefix m_* private membersHenry Castro
Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: If8389b6e63a90616131d0dd9fbb5a7b8b96ffe3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154904 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156413 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-01sc: filter: rtf: use a separate document streamHenry Castro
"An RTF file has the following syntax: '{' <header> <document>'}' " In order to build the header: <header> \rtf <charset> \deff? <fonttbl> <filetbl>? <colortbl>? <stylesheet>? <listtables>? <revtbl>? The font table should be created while visiting the column/rows. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: Id72a3c87acab6cfc7889cf81f7e83a0d73e378a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154903 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156412 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-07-25follow tdf#154131 Treat also HMTL importLaurent Balland
Add Detect numbers in scientific notation option to HTML paste Still need some qa tests Change-Id: I553404a01ab2a61566b861b3c01d14bdc0c46668 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152591 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2023-04-10Drop SvStream::WriteCharPtrMike Kaganski
WriteOString is a better replacement Change-Id: Ic431b9aeb98d19fe61cff71360eee555105cc2bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150192 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-02-13sc: avoid divide by zero in ScEEImport::GraphicSizeXisco Fauli
See https://crashreport.libreoffice.org/stats/signature/ScEEImport::GraphicSize(short,long,ScEEParseEntry%20*) Change-Id: Ia5acccb1118aff2486d23eabd536053e67f346ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146746 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-10unique_ptr->optional for GraphicNoel Grandin
Graphic is just a wrapper around shared_ptr, so no need to allocate this separately Change-Id: Ie657dea1c021e66a6876e814090a44cb6f995b91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139739 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-29ref-count SdrObjectNoel Grandin
Which means we can get rid of the majestic hack of ScCaptionPtr Previously, SdrObject was manually managed, and the ownership passed around in very complicated fashion. Notes: (*) SvxShape has a strong reference to SdrObject, where previously it had a weak reference. It is now strong since otherwise the SdrObject will go away very eagerly. (*) SdrObject still has a weak reference to SvxShape (*) In the existing places that an SdrObject is being deleted, we now just clear the reference (*) instead of SwVirtFlyDrawObj removing itself from the page that contains inside it's destructor, make the call site do the removing from the page. (*) Needed to take the SolarMutex in UndoManagerHelper_Impl::impl_clear because this can be called from UNO (e.g. sfx2_complex JUnit test) and the SdrObjects need the SolarMutex when destructing. (*) handle a tricky situation with SwDrawVirtObj in the SwDrawModel destructor because the existing code wants mpDrawObj in SwAnchoredObject to be sometimes owning, sometimes not, which results in a cycle with the new code. Change-Id: I4d79df1660e386388e5d51030653755bca02a163 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138837 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-17create getter for ScCellValue::mpEditTextNoel Grandin
so we can assert that it has the correct tag type Change-Id: I984c22ae2527d652f2d4194227dc1173793300c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136054 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-16make meType in ScCellValue privateNoel Grandin
as a first step to wrapping up the internals of this class and adding some asserts Change-Id: Ic13ddd917948dbf3fd6d73f44b8efcc727726baf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135994 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-01use SfxItemSet::GetItemIfSet in sc/source/filterNoel Grandin
Change-Id: I8ba941cea8f3b8ed0f37d2dc6b2520ae89652afe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130744 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-14Recheck modules s[a-c]* with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: I867e1f7a2c44210de3281b36e22708a5d32ddb7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129476 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-12-14Stream::Tell returns sal_uInt64Noel Grandin
Change-Id: I02e49d4f59c17a9868c4111ac91b5dd2715e689c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126630 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-17rather return ref from getCharClassPtrNoel Grandin
since we never return a nullptr, and rename to reflect that Change-Id: I5b8f0aba6ce387bb0fe1ce6088ba2685d2ade7f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122209 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-02rename UpdateMode -> UpdateLayout in editeng classNoel Grandin
... because "update" is such a generic term I keep forgetting what we are turning on and off Also return the previous value from SetUpdateLayout to make the save/restore code more compact. Change-Id: Iae1764c837a92e58c9b17521f130e8fc80311d22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121479 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-13split SvNumberFormatter into it's own headerNoel Grandin
so I can make changes without running into cyclic dependencies between header files Change-Id: I98a91c7cc66002ba745cdb8239e5cc267922a45c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120412 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-11convert some LogicToLogic calls to use o3tl::convert insteadTomaž Vajngerl
If a LogicToLogic uses fixed units, we can use o3tl::convert instead. We can also do the same for all other cases where LogicToLogic is used, but that needs additional investigation to determine if it is safe to do so. Note: MapUnit::Pixel is converted to o3tl::Length::pt because it assumed 72 PPI for a logical pixel, which corresponds with the conversion rate of a point (72 PPI). Today, 96 PPI is standard, which is also used for o3tl::Length:px. Change-Id: I29126df38bfcfda74b5d83d4cb880a378aecd18b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120230 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-02ofz#32766 AbrtCaolán McNamara
Change-Id: I333e1571c68e62b209dce008edc1ab4d40b01f8a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119907 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-26use officecfg for SvxHtmlOptionsNoel Grandin
Change-Id: Ie7db7d20509e45fd87d8460c7fae6c0131e0a1f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119494 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-16Use WhichRangesContainer in editengMike Kaganski
Change-Id: Ia6516df33341181990c2b8b8affa859395831007 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119013 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-05-08ref-count SfxItemPoolNoel Grandin
so we can remove SfxItemPoolUser, which is a right performance hog when we have large calc spreadsheets Change-Id: I344002f536f6eead5cf98c6647dd1667fd9c8874 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115247 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-06add SfxItemPoolDeleter utilityNoel Grandin
add use so we can hold the pool with std::unique_ptr Change-Id: I685fbc37c0ae145a5b48a66a88eab9fb29a0fc0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115174 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-09Recheck include/ with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: Ifc253bf800bb1468b5774663a93f4fb30bec81d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113657 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-21Some more unit conversion unificationMike Kaganski
Change-Id: I1a906d918bb4255a75c62c68a57244f59d51d2b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111269 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-02-02Don't bother shrinking row height when changing just one row interactivelyTor Lillqvist
This reverts dca0374fb1edbd9bdeeaadda3f1866ce66b3a778 and instead tries to achieve the same without using a flag in ScGlobal. How reliable that is I don't know. See https://gerrit.libreoffice.org/c/core/+/110245 for discussion. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110245 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Change-Id: I2a7aa5bf3d29e5fd071e2f1cab628b923b5b6754 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110285 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2020-11-18Remove unused SdrGrafObj::SetGraphicLink rReferer, rFilterName parametersStephan Bergmann
unused since 9fb7aaf570c03c8a26d763f1205fb8c890e8211a "Make linked graphic register into LinkedManager again", and remove further function parameters and class members that turn out to be unused now, too Change-Id: I3dd2b138fd8787d12b89547526da751ea5954845 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106041 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-17loplugin:stringviewparam check methods tooNoel
not just functions Change-Id: Icca295dd159002b428b73f2c95d40725434f04d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105789 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-20use tools::Long in scNoel
Change-Id: I8f37a8d1174ed816df971b8cee036d4e88d4a7fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104526 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-14ScRangeData ctor variant always dereferences its ScDocument* argCaolán McNamara
Change-Id: I67c344bfd14e55992a9ae07099e2d58bb99c4d3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102621 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-03Make ImpSvNumberformatScan::GetColor constMike Kaganski
Change-Id: Idbcce18029944ab884cdde03e21190cbb574a00f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102005 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2020-08-08loplugin:flatten in sc/filterNoel Grandin
Change-Id: I3fa60b5c1ef253d9e9e9a727e29c052de277e77a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100339 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>