# HG changeset patch # User Rik # Date 1400168258 25200 # Node ID dff05c124017e96022352cdb6d55f2e78a9e484b # Parent fc43c8017e9ba4e4b166ed9f0338af5d2f1db487# Parent be569698970c47a0bf3eb3ebc8ebfb989e3674d7 maint: periodic merge of gui-release to stable. diff --git a/libgui/Makefile.am b/libgui/Makefile.am --- a/libgui/Makefile.am +++ b/libgui/Makefile.am @@ -30,6 +30,7 @@ languages/en_US.ts \ languages/es_ES.ts \ languages/fr_FR.ts \ + languages/it_IT.ts \ languages/nl_NL.ts \ languages/pt_BR.ts \ languages/pt_PT.ts \ diff --git a/libgui/graphics/ContextMenu.cc b/libgui/graphics/ContextMenu.cc --- a/libgui/graphics/ContextMenu.cc +++ b/libgui/graphics/ContextMenu.cc @@ -50,8 +50,6 @@ ContextMenu::ContextMenu (const graphics_object& go, QMenu* menu) : Object (go, menu) { - uicontextmenu::properties& up = properties (); - menu->setAutoFillBackground (true); connect (menu, SIGNAL (aboutToShow (void)), SLOT (aboutToShow (void))); diff --git a/libgui/graphics/gl-select.cc b/libgui/graphics/gl-select.cc --- a/libgui/graphics/gl-select.cc +++ b/libgui/graphics/gl-select.cc @@ -51,9 +51,9 @@ } void -opengl_selector::init_marker (const std::string& m, double size, float width) +opengl_selector::init_marker (const std::string& m, double sz, float width) { - opengl_renderer::init_marker (m, size, width); + opengl_renderer::init_marker (m, sz, width); apply_pick_matrix (); } diff --git a/libgui/languages/it_IT.ts b/libgui/languages/it_IT.ts new file mode 100644 --- /dev/null +++ b/libgui/languages/it_IT.ts @@ -0,0 +1,3825 @@ + + + + + ListDialog + + + Select All + Seleziona Tutto + + + + QColorDialog + + + Hu&e: + Tinta: + + + + &Sat: + Saturazione: + + + + &Val: + Luminosità: + + + + &Red: + Rosso: + + + + &Green: + Verde: + + + + Bl&ue: + Blu: + + + + A&lpha channel: + Canale alpha: + + + + Select Color + Seleziona Colore + + + + &Basic colors + Colori di base + + + + &Custom colors + Colori personalizzati + + + + &Add to Custom Colors + Aggiungi ai Colori Personalizzati + + + + QDialog + + + Done + Fatto + + + + What's This? + Cos'è questo? + + + + QDialogButtonBox + + + + OK + OK + + + + QErrorMessage + + + Debug Message: + Messaggio di Debug: + + + + Warning: + Avviso: + + + + Fatal Error: + Errore Fatale: + + + + &Show this message again + Mostra di nuovo questo messaggio + + + + &OK + OK + + + + QFileDialog + + + + Find Directory + Trova Cartella + + + + Open + Apri + + + + Save As + Salva come + + + + + All Files (*) + Tutti i File (*) + + + + Show + Mostra + + + + &Rename + &Rinomina + + + + &Delete + &Elimina + + + + Show &hidden files + Mostra &file nascosti + + + + &New Folder + &Nuova cartella + + + + + Directory: + Cartella: + + + + + File &name: + Nome &file: + + + + + + &Open + &Apri + + + + + &Save + &Salva + + + + Directories + Cartelle + + + + + &Choose + &Seleziona + + + + + %1 +Directory not found. +Please verify the correct directory name was given. + %1 +Nessuna cartella trovata. +Verificare la corretta ortografia del nome inserito. + + + + %1 already exists. +Do you want to replace it? + %1 esiste già. +Si desidera sostituirlo? + + + + %1 +File not found. +Please verify the correct file name was given. + %1 +File non trovato. +Verificare la corretta ortografia del nome inserito. + + + + New Folder + Nuova Cartella + + + + '%1' is write protected. +Do you want to delete it anyway? + '%1' è protetto da scrittura. +Si è certi di volerlo eliminare? + + + + Are sure you want to delete '%1'? + Si è certi di voler eliminare '%1'? + + + + Could not delete directory. + Impossibile eliminare la cartella. + + + + Recent Places + Percorsi Recenti + + + + All Files (*.*) + Tutti i File (*.*) + + + + QFileSystemModel + + + %1 TB + %1 TB + + + + %1 GB + %1 GB + + + + %1 MB + %1 MB + + + + %1 KB + %1 KB + + + + %1 bytes + %1 byte + + + + Invalid filename + Nome del file non valido + + + + <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. + <b>Il nome "%1" non può essere utilizzato.</b><p>Si consiglia di utilizzarne uno con meno caratteri o senza segni di punteggiatura. + + + + Name + Nome + + + + Size + Dimensione + + + + Kind + Match OS X Finder + Tipo + + + + Type + All other platforms + Tipo + + + + Date Modified + Data Ultima Modifica + + + + QFontDialog + + + Select Font + Seleziona Tipo di Carattere + + + + &Font + &Tipo + + + + Font st&yle + &Stile + + + + &Size + &Dimensione + + + + Effects + Effetti + + + + Stri&keout + Bar&rato + + + + &Underline + &Sottolineato + + + + Sample + Colore + + + + Wr&iting System + Sistema di Scrittura + + + + QInputDialog + + + Enter a value: + Inserire un valore: + + + + QMessageBox + + + Show Details... + Mostra Dettagli... + + + + Hide Details... + Nascondi Dettagli... + + + + + OK + OK + + + + Help + Aiuto + + + + <h3>About Qt</h3><p>This program uses Qt version %1.</p> + <h3>A proposito Qt</h3><p>Questo programma utilizza Qt versione %1.</p> + + + + <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.digia.com/product/licensing">qt.digia.com/product/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).</p><p>Qt is a Digia product. See <a href="http://qt.digia.com/">qt.digia.com</a> for more information.</p> + <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.digia.com/product/licensing">qt.digia.com/product/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).</p><p>Qt is a Digia product. See <a href="http://qt.digia.com/">qt.digia.com</a> for more information.</p> + + + + About Qt + A proposito di Qt + + + + QObject + + + automatic + automatico + + + + function + funzione + + + + global + globale + + + + hidden + nascosto + + + + inherited + ereditato + + + + persistent + persistente + + + + foreground + primo piano + + + + background + sfondo + + + + selection + selezione + + + + cursor + cursore + + + + <p><strong>A Note about Octave's New GUI</strong></p><p>One of the biggest new features for Octave 3.8 is a graphical user interface. It is the one thing that users have requested most often over the last few years and now it is almost ready. But because it is not quite as polished as we would like, we have decided to wait until the 4.0.x release series before making the GUI the default interface.</p><p>Given the length of time and the number of bug fixes and improvements since the last major release, we also decided against delaying the release of all these new improvements any longer just to perfect the GUI. So please enjoy the 3.8 release of Octave and the preview of the new GUI. We believe it is working reasonably well, but we also know that there are some obvious rough spots and many things that could be improved.</p><p><strong>We Need Your Help</strong></p><p>There are many ways that you can help us fix the remaining problems, complete the GUI, and improve the overall user experience for both novices and experts alike (links will open an external browser):</p><p><ul><li>If you are a skilled software developer, you can help by contributing your time to help <a href="http://octave.org/get-involved.html">develop Octave</a>.</li><li>If Octave does not work properly, you are encouraged to <a href="http://octave.org/bugs.html">report problems </a> that you find.</li><li>Whether you are a user or developer, you can <a href="http://octave.org/donate.html">help to fund the project</a>. Octave development takes a lot of time and expertise. Your contributions help to ensure that Octave will continue to improve.</li></ul></p><p>We hope you find Octave to be useful. Please help us make it even better for the future!</p> + <p><strong>Nota sulla nuova interfaccia grafica di Octave</strong></p><p>Una delle maggiori novità di Octave 3.8 è l'interfaccia grafica utente. Si tratta della caratteristica più richiesta dagli utenti negli ultimi anni, ed ora è quasi pronta. Tuttavia, poiché essa non è ancora rifinita come vorremmo, abbiamo deciso di attendere fino alle serie di rilascio 4.0.x prima di renderla l'interfaccia di default.</p><p>D'altro canto, considerato il lasso di tempo trascorso, i bug risolti ed i miglioramenti dall'ultima "major release", abbiamo deciso di non ritardare ulteriormente un nuovo rilascio soltanto per perfezionare l'interfaccia grafica: è con piacere che presentiamo la versione 3.8 di Octave ed un'anteprima della nuova interfaccia grafica. Crediamo che essi funzioni sufficientemente bene, pur avendo ancora qualche problema ed aspetti che potrebbero essere migliorati.</p><p><strong>Abbiamo bisogno del tuo aiuto</strong></p><p>Sono molti i modi in cui puoi aiutare a risolvere i problemi restanti, a completare l'interfaccia grafica e a migliorare in generale l'esperienza di utilizzo, tanto per i principianti quanto per gli utenti esperti:</p><p><ul><li>Se sei uno programmatore esperto, puoi aiutare contribuendo allo <a href="http://octave.org/get-involved.html">sviluppo di Octave</a>.</li><li>Se Octave non funziona correttamente, ti incoraggiamo a <a href="http://octave.org/bugs.html">segnalare i problemi</a> che incontri.</li><li>Che tu sia un utente o uno sviluppatore, puoi aiutare a <a href="http://octave.org/donate.html">finanziare il progetto</a>. Lo sviluppo di Octave richiede molto tempo e molte competenze. I tuoi contributi aiutano ad assicurare il continuo miglioramento del software.</li></ul></p><p>Speriamo che troverai Octave utile. Perfavore, aiutaci a renderlo ancora migliore per il futuro!</p> + + + + QPPDOptionsModel + + + Name + Nome + + + + Value + Valore + + + + QPageSetupWidget + + + Centimeters (cm) + Centimetri (cm) + + + + Millimeters (mm) + Millimetri (mm) + + + + Inches (in) + Pollici (in) + + + + Points (pt) + Punti (pt) + + + + QPrintDialog + + + + + Print + Stampa + + + + A0 + A0 + + + + A1 + A1 + + + + A2 + A2 + + + + A3 + A3 + + + + A4 + A4 + + + + A5 + A5 + + + + A6 + A6 + + + + A7 + A7 + + + + A8 + A8 + + + + A9 + A9 + + + + B0 + B0 + + + + B1 + B1 + + + + B2 + B2 + + + + B3 + B3 + + + + B4 + B4 + + + + B5 + B5 + + + + B6 + B6 + + + + B7 + B7 + + + + B8 + B8 + + + + B9 + B9 + + + + B10 + B10 + + + + C5E + C5E + + + + DLE + DLE + + + + Executive + Executive + + + + Folio + Folio + + + + Ledger + Ledger + + + + Legal + Legal + + + + Letter + Letter + + + + Tabloid + tabloid + + + + US Common #10 Envelope + US Common #10 Envelope + + + + Custom + Personalizzato + + + + File exists + Il file esiste + + + + <qt>Do you want to overwrite it?</qt> + <qt>Si desidera sovrascriverlo?</qt> + + + + A0 (841 x 1189 mm) + A0 (841 x 1189 mm) + + + + A1 (594 x 841 mm) + A1 (594 x 841 mm) + + + + A2 (420 x 594 mm) + A2 (420 x 594 mm) + + + + A3 (297 x 420 mm) + A3 (297 x 420 mm) + + + + A4 (210 x 297 mm, 8.26 x 11.7 inches) + A4 (210 x 297 mm, 8.26 x 11.7 inches) + + + + A5 (148 x 210 mm) + A5 (148 x 210 mm)>A5 (148 x 210 mm) + + + + A6 (105 x 148 mm) + A6 (105 x 148 mm) + + + + A7 (74 x 105 mm) + A7 (74 x 105 mm) + + + + A8 (52 x 74 mm) + A8 (52 x 74 mm) + + + + A9 (37 x 52 mm) + A9 (37 x 52 mm) + + + + B0 (1000 x 1414 mm) + B0 (1000 x 1414 mm) + + + + B1 (707 x 1000 mm) + B1 (707 x 1000 mm) + + + + B2 (500 x 707 mm) + B2 (500 x 707 mm) + + + + B3 (353 x 500 mm) + B3 (353 x 500 mm) + + + + B4 (250 x 353 mm) + B4 (250 x 353 mm) + + + + B5 (176 x 250 mm, 6.93 x 9.84 inches) + B5 (176 x 250 mm, 6.93 x 9.84 pollici) + + + + B6 (125 x 176 mm) + B6 (125 x 176 mm) + + + + B7 (88 x 125 mm) + B7 (88 x 125 mm) + + + + B8 (62 x 88 mm) + B8 (62 x 88 mm) + + + + B9 (44 x 62 mm) + B9 (44 x 62 mm) + + + + B10 (31 x 44 mm) + B10 (31 x 44 mm) + + + + C5E (163 x 229 mm) + C5E (163 x 229 mm) + + + + DLE (110 x 220 mm) + DLE (110 x 220 mm) + + + + Executive (7.5 x 10 inches, 191 x 254 mm) + Executive (7.5 x 10 pollici, 191 x 254 mm) + + + + Folio (210 x 330 mm) + Folio (210 x 330 mm) + + + + Ledger (432 x 279 mm) + Ledger (432 x 279 mm) + + + + Legal (8.5 x 14 inches, 216 x 356 mm) + Legal (8.5 x 14 pollici, 216 x 356 mm) + + + + Letter (8.5 x 11 inches, 216 x 279 mm) + Letter (8.5 x 11 pollici, 216 x 279 mm) + + + + Tabloid (279 x 432 mm) + Tabloid (279 x 432 mm) + + + + US Common #10 Envelope (105 x 241 mm) + US Common #10 Busta (105 x 241 mm) + + + + Print all + Stampa tutto + + + + Print selection + Stampa selezione + + + + Print range + Stampa intervallo + + + + Print current page + Stampa la pagina corrente + + + + + &Options >> + &Opzioni>> + + + + &Print + &Stampa + + + + &Options << + &Opzioni + + + + Print to File (PDF) + Stampa su file (PDF) + + + + Print to File (Postscript) + Stampa su file (Postscript) + + + + Local file + File locale + + + + Write %1 file + Scrivi %1 file + + + + Print To File... + Stampa su file... + + + + %1 is a directory. +Please choose a different file name. + %1 è una cartella. +Si prega di scegliere un altro nome. + + + + File %1 is not writable. +Please choose a different file name. + %1 non è scrivibile. +Si prega di scegliere un altro nome. + + + + %1 already exists. +Do you want to overwrite it? + %1 esiste già. +Si desidera sovrascriverlo? + + + + The 'From' value cannot be greater than the 'To' value. + Il valore 'Da' non può superare il valore 'A'. + + + + OK + OK + + + + QPrintPreviewDialog + + + + Page Setup + Formato Pagina + + + + QTerminal + + + Copy + Copia + + + + Paste + Incolla + + + + Clear All + Pulisci tutto + + + + QWinTerminalImpl + + + copied selection to clipboard + selezione copiata negli appunti + + + + QsciLexerBash + + + Default + Default + + + + Error + Errore + + + + Comment + Commento + + + + Number + Numero + + + + Keyword + Parola chiave + + + + Double-quoted string + Stringa con doppi apici + + + + Single-quoted string + Stringa con singoli apici + + + + Operator + Operatore + + + + Identifier + Identificatore + + + + Scalar + Scalare + + + + Parameter expansion + Espansione dei parametri + + + + Backticks + Apici inversi + + + + Here document delimiter + Delimitatore dello "here document" + + + + Single-quoted here document + "Here document" delimitato da singoli apici + + + + QsciLexerBatch + + + Default + Default + + + + Comment + Commento + + + + Keyword + Parola chiave + + + + Label + Etichetta + + + + Hide command character + Nascondi caratteri di comando + + + + External command + Comando esterno + + + + Variable + Variabile + + + + Operator + Operatore + + + + QsciLexerCPP + + + Default + Default + + + + Inactive default + Default inattivo + + + + C comment + Commento C + + + + Inactive C comment + Commento C inattivo + + + + C++ comment + Commento C++ + + + + Inactive C++ comment + Commento C++ inattivo + + + + JavaDoc style C comment + Commento C in stile JavaDoc + + + + Inactive JavaDoc style C comment + Commento C inattivo in stile JavaDoc + + + + Number + Numero + + + + Inactive number + Numero inattivo + + + + Keyword + Parola chiave + + + + Inactive keyword + Parola chiave inattiva + + + + Double-quoted string + Stringa con doppi apici + + + + Inactive double-quoted string + Stringa con doppi apici inattiva + + + + Single-quoted string + Stringa con singoli apici + + + + Inactive single-quoted string + Stringa con singoli apici inattiva + + + + IDL UUID + UUID IDL + + + + Inactive IDL UUID + UUID IDL inattivo + + + + Pre-processor block + Blocco per il precompilatore + + + + Inactive pre-processor block + Blocco inattivo per il precompilatore + + + + Operator + Operatore + + + + Inactive operator + Operatore inattivo + + + + Identifier + Identificatore + + + + Inactive identifier + Identificatore inattivo + + + + Unclosed string + Stringa non terminata + + + + Inactive unclosed string + Stringa non terminata inattiva + + + + C# verbatim string + Stringa senza formattazione C# + + + + Inactive C# verbatim string + Stringa senza formattazione C# inattiva + + + + JavaScript regular expression + Espressione regolare JavaScript + + + + Inactive JavaScript regular expression + Espressione regolare JavaScript inattiva + + + + JavaDoc style C++ comment + Commento C++ in stile JavaDoc + + + + Inactive JavaDoc style C++ comment + Commento C++ inattivo in stile JavaDoc + + + + Secondary keywords and identifiers + Parole chiave ed identificatori secondari + + + + Inactive secondary keywords and identifiers + Parole chiave ed identificatori secondari inattivi + + + + JavaDoc keyword + Parola chiave JavaDoc + + + + Inactive JavaDoc keyword + Parola chiave JavaDoc inattiva + + + + JavaDoc keyword error + Errore in una parola chiave JavaDoc + + + + Inactive JavaDoc keyword error + Errore in una parola chiave JavaDoc inattiva + + + + Global classes and typedefs + Classi e typedef globali + + + + Inactive global classes and typedefs + Classi e typedef globali inattivi + + + + Stringa C++ + Stringa "raw" C++ + + + + Inactive C++ raw string + Stringa "raw" C++ inattiva + + + + QsciLexerDiff + + + Default + Default + + + + Comment + Commento + + + + Command + Comando + + + + Header + Intestazione + + + + Position + Posizione + + + + Removed line + Riga rimossa + + + + Added line + Riga aggiunta + + + + Changed line + Riga modificata + + + + QsciLexerMatlab + + + Default + Default + + + + Comment + Commento + + + + Command + Comando + + + + Number + Numero + + + + Keyword + Parola chiave + + + + Single-quoted string + Stringa con singoli apici + + + + Operator + Operatore + + + + Identifier + Identificatore + + + + Double-quoted string + Stringa con doppi apici + + + + QsciLexerPerl + + + Default + Default + + + + Error + Errore + + + + Comment + Commento + + + + POD + POD + + + + Number + Numero + + + + Keyword + Parola chiave + + + + Double-quoted string + Stringa con doppi apici + + + + Single-quoted string + Stringa con apici singoli + + + + Operator + Operatore + + + + Identifier + Identificatore + + + + Scalar + Scalare + + + + Array + Vettore + + + + Hash + Hash + + + + Symbol table + Tabella dei simboli + + + + Regular expression + Espressione regolare + + + + Substitution + Sostituzione + + + + Backticks + Apici inversi + + + + Data section + Sezione dati + + + + Here document delimiter + Delimitatore dello "here document" + + + + Single-quoted here document + "Here document" delimitato da apici singoli + + + + Double-quoted here document + "Here document" delimitato da doppi apici + + + + Backtick here document + "Here document" delimitato da apici inversi + + + + Quoted string (q) + Stringa delimitata da apici (q) + + + + Quoted string (qq) + Stringa delimitata da apici (qq) + + + + Quoted string (qx) + Stringa delimitata da apici (qx) + + + + Quoted string (qr) + Stringa delimitata da apici (qr) + + + + Quoted string (qw) + Stringa delimitata da apici (qw) + + + + POD verbatim + POD senza formattazione + + + + Subroutine prototype + Prototipo di subroutine + + + + Format identifier + Identificatore del formato + + + + Format body + Corpo del formato + + + + Double-quoted string (interpolated variable) + Stringa con doppi apici (variabile interpolata) + + + + Translation + Traduzione + + + + Regular expression (interpolated variable) + Espressione regolare (variabile interpolata) + + + + Substitution (interpolated variable) + Sostituzione (variabile interpolata) + + + + Backticks (interpolated variable) + Apici inversi (variabile interpolata) + + + + Double-quoted here document (interpolated variable) + "Here document" delimitato da doppi apici (variabile interpolata) + + + + Backtick here document (interpolated variable) + Here document" delimitato da apici inversi (variabile interpolata) + + + + Quoted string (qq, interpolated variable) + Stringa delimitata da apici (qq, variabile interpolata) + + + + Quoted string (qx, interpolated variable) + Stringa delimitata da apici (qx, variabile interpolata) + + + + Quoted string (qr, interpolated variable) + Stringa delimitata da apici (qr, variabile interpolata) + + + + QsciScintilla + + + &Undo + &Annulla + + + + &Redo + &Ripeti + + + + Cu&t + &Taglia + + + + &Copy + &Copia + + + + &Paste + &Incolla + + + + Delete + &Cancella + + + + Select All + Seleziona Tutto + + + + documentation_dock_widget + + + Documentation + Documentazione + + + + See the documentation for help. + Si faccia riferimento alla documentazione per maggiori informazioni. + + + + file_editor + + + + + + + Octave Editor + Editor di Octave + + + + Octave Files (*.m);;All Files (*) + File di Octave (*.m);;Tutti i File (*) + + + + New Function + Nuova Funzione + + + + New function name: + + Nome della nuova funzione: + + + + File not saved! A file with the selected name +%1 +is already open in the editor + File non alvato! Un file chiamato +%1 +è già aperto nell'editor + + + + &%1 %2 + &%1 %2 + + + + &Save File + &Salva + + + + &Open File... + &Apri... + + + + &New Script + &Nuovo Script + + + + Save File &As... + Salva &Come... + + + + Print... + Stampa... + + + + &Undo + &Annulla + + + + &Redo + &Ripeti + + + + &Copy + &Copia + + + + Cu&t + &Taglia + + + + Paste + Incolla + + + + &Next Bookmark + &Segnalibro Successivo + + + + Pre&vious Bookmark + Seg&nalibro Precedente + + + + Toggle &Bookmark + Attiva/disattiva &Segnalibro + + + + &Remove All Bookmarks + Elimina Tutti i Segnalibri + + + + &Next Breakpoint + &Breakpoint Successivo + + + + Pre&vious Breakpoint + &Breakpoint Precedente + + + + Toggle &Breakpoint + Attiva/disattiva &Breakpoint + + + + &Remove All Breakpoints + &Rimuovi Tutti i Breakpoint + + + + &Comment + &Commenta + + + + &Uncomment + &Decommenta + + + + &Indent + &Indenta + + + + &Unindent + &Rimuovi indentazione + + + + &Find and Replace... + &Trova e Sostituisci... + + + + Save File and Run + Salva ed Esegui + + + + Go &to Line... + Vai &alla Riga... + + + + &Recent Editor Files + &Documenti Recenti + + + + &Edit Function + &Modifica Funzione + + + + &Close + &Chiudi + + + + Close All + &Chiudi Tutto + + + + Close Other Files + Chiudi gli Altri File + + + + &Preferences... + &Preferenze... + + + + &Styles Preferences... + &Preferenze di stile... + + + + Run &Selection + Esegui &Selezione + + + + &Help + &Aiuto + + + + &Help on Keyword + &Aiuto su Parola Chiave + + + + &Documentation on Keyword + &Documentaizone sulla Parola Chiave + + + + Could not open file +%1 +for read: %2. + Impossibile aprire +%1 +in lettura: %2. + + + + File +%1 +does not exist. Do you want to create it? + Il file +%1 +non esiste. Si desidera crearlo? + + + + Could not open file +%1 +for write: %2. + Impossibile aprire +%1 +in scrittura: %2. + + + + The associated file editor tab has disappeared. + La scheda corrispondente nell'editor è scomparsa. + + + + &File + File + + + + New &Function... + Nuova &Funzione... + + + + &Edit + &Modifica + + + + &Debug + &Debug + + + + &Run + &Esegui + + + + file_editor_tab + + + Goto line + Vai alla riga + + + + Line number + Numero riga + + + + + <unnamed> + <senza nome> + + + + Do you want to save or discard the changes? + Si desidera salvare o annullare le modifiche? + + + + Do you want to cancel closing, save or discard the changes? + Si desidera annullare l'operazione di chiusura, salvare o annullare le modifiche? + + + + + + + + Editor di Octave + + + + + The file +%1 +is about to be closed but has been modified. +%2 + Il file +%1 +sta per essere chiuso ma è stato modificato. +%2 + + + + Octave Files (*.m);;All Files (*) + File di Octave (*.m);;Tutti i File (*) + + + + + +Warning: The contents in the editor is modified! + +Attenzione: il contenuto nell'editor è modificato! + + + + It seems that the file +%1 +has been deleted or renamed. Do you want to save it now?%2 + Sembra che il file +%1 +sia stato rinominato o rimosso. Si desidera salvarlo ora?%2 + + + + Could not open file %1 for write: +%2. + Impossibile aprire %1 in scrittura: +%2. + + + + Line: + Riga: + + + + Col: + Car: + + + + "%1" +is not a valid identifier. + +If you keep this file name, you will not be able to +call your script using its name as an Octave command. + +Do you want to choose another name? + "%1" +non è un nome valido. + +Se lo si mantiene, non si potrà invocare +lo script come comando Octave. + +Si desidera scegliere un altro nome? + + + + It seems that '%1' has been modified by another application. Do you want to reload it? + Sembra che '%1' Sia stato modificato da un'altra applicazione. Si desidera ricaricarlo? + + + + files_dock_widget + + + File Browser + Gestore dei File + + + + Browse your files. + Esplorare i prorpi file. + + + + Enter the path or filename + Inserire il percorso o il nome del file + + + + Move up one directory + Cartella precedente + + + + Actions on current directory + Azioni sulla cartella corrente + + + + Set Browser Directory... + Scegliere la Cartella del Gestore... + + + + Find Files... + Cerca File... + + + + New File + Nuovo File + + + + + New Directory + Nuova Cartella + + + + Double-click a file to open it + Fai doppio click su un file per aprirlo + + + + Show Octave directory + Mostra la cartella di Octave + + + + Go to current Octave directory + Vai alla directory corrente di Octave + + + + Set Octave directory + Scegli la cartella di Octave + + + + Set Octave directroy to current browser directory + Scegli la directory corrente come directory di Octave + + + + Show Home Directory + Mostra la cartella personale + + + + Search Directory... + Cerca Cartella... + + + + Find Files... + Cerca File... + + + + New File... + Nuovo File... + + + + New Directory... + Nuova Cartella... + + + + File size + Dimensione + + + + File type + Tipo + + + + Date modified + Data ultima modifica + + + + Show hidden + Mostra file nascosti + + + + Open + Apri + + + + Open in Default Application + Apri con l'Applicazione Predefinita + + + + Copy Selection to Clipboard + Copia Selezione negli Appunti + + + + Run + Esegui + + + + Load Data + Carica Dati + + + + Set Current Directory + Seleziona la Cartella Corrente + + + + Rename + Rinomina + + + + Delete + Elimina + + + + Rename file/directory + Rinomina file/cartella + + + + Rename file/directory: + + Rinomina file/cartella + + + + + + to: + + a: + + + + + Delete file/directory + Elimina file/cartella + + + + Are you sure you want to delete + + Si è sicuri di voler eliminare + + + + + Can not delete a directory that is not empty + Impossibile eliminare una cartella non vuota + + + + Set directory of file browser + Seleziona la cartella del gestore di file + + + + Create File + Nuovo File + + + + Create file in + + String ends with \n! + Nuovo file in + + + + + New File.txt + nuovo.txt + + + + Create Directory + Nuova Cartella + + + + Create folder in + + String ends with \n! + Nuova cartella in + + + + + final_page + + + Enjoy! + Buon lavoro! + + + + Previous + Precedente + + + + Finish + Finito + + + + Cancel + Annulla + + + + <html><body> +<p>We hope you find Octave to be a useful tool.</p> +<p>If you encounter problems, there are a number of ways to get help, including commercial support options, a mailing list, a wiki, and other commnity-based support channels. +You can find more information about each of these by visiting <a href="http://octave.org/support.html">http://octave.org/support.html</a> (opens in external browser).</p> +</body></html> + <html><body> +<p>Speriamo che troverai Octave un programma utile.</p> +<p>Se incontri dei problemi, ci sono molto modi per ottenere aiuto, incluse possibilità di supporto commerciale, una mailing list, una wiki ed altri canali di supporto basati sulla comunità. +Puoi trovare maggiori informazioni su ciascuno di essi visitando <a href="http://octave.org/support.html">http://octave.org/support.html</a> (utilizza un browser esterno).</p> +</body></html> + + + + <html><head> +<style> +a:link { text-decoration: underline; color: #0000ff; } +</style> +<head/><body> +<p>For more information about Octave:</p> +<ul> +<li>Visit <a href="http://octave.org">http://octave.org</a> (opens in external browser)</li> +<li>Get the documentation online as <a href="http://www.gnu.org/software/octave/doc/interpreter/index.html">html</a>- or <a href="http://www.gnu.org/software/octave/octave.pdf">pdf</span></a>-document (opens in external browser)</li> +<li>Open the documentation browser of the Octave GUI with the help menu</li> +</ul> +</body></html> + <html><head> +<style> +a:link { text-decoration: underline; color: #0000ff; } +</style> +<head/><body> +<p>Per maggiori informazioni su Octave:</p> +<ul> +<li>visita <a href="http://octave.org">http://octave.org</a> (utilizza un browser esterno)</li> +<li>Puoi trovare la documentazione online agl'indirizzi <a href="http://www.gnu.org/software/octave/doc/interpreter/index.html">html</a>- o <a href="http://www.gnu.org/software/octave/octave.pdf">pdf</span></a>-document (utilizza un browser esterno)</li> +<li>Apri la documentazione dell'interfaccia grafica di Octave utilizzando il meno help</li> +</ul> +</body></html> + + + + find_dialog + + + Find and Replace + Trova e Sostituisci + + + + Find &what: + Trova: + + + + Re&place with: + Sostituisci con: + + + + Match &case + Maiuscole/&minuscole + + + + Search from &start + Cerca dall'&inizio + + + + &Wrap while searching + &Evidenzia durante la ricerca + + + + &Find Next + &Trova Successivo + + + + Find &Previous + Trova &Precedente + + + + &Replace + &Sostituisci + + + + Replace &All + &Sostituisci Tutto + + + + &More... + &Avanzate... + + + + &Whole words + Parole &intere + + + + Regular E&xpressions + Espressioni &Regolari + + + + Search &backward + Cerca indietro + + + + Search se&lection + Cerca nella selezione + + + + Search from end + Cerca dalla fine + + + + Search from start + Cerca dall'inizio + + + + Replace Result + Sostituisci Risultato + + + + %1 items replaced + %1 occorrenze sostituite + + + + Find Result + Trova Risultato + + + + No more matches found + Nessun'altra corrispondenza + + + + find_files_dialog + + + Find Files + Cerca File + + + + Named: + Chiamato: + + + + Start in: + Comincia da: + + + + Enter the start directory + Inserire la cartella di partenza + + + + Browse... + Esplora... + + + + Browse for start directory + Seleziona la cartella di partenza + + + + Search recursively through directories for matching files + Cerca ricorsivamente nella gerarchia di cartelle + + + + Include matching directories in search results + Includi cartelle nei risultati di ricerca + + + + Name case insensitive + Nessuna distinzione maiuscole/minuscole nel nome + + + + Set matching name is case insensitive + + + + + Contains text: + Contiene il testo: + + + + Enter the filename search expression + Inserire una espressione di ricerca per il nome del file + + + + Search subdirectories + Ricerca nelle sottocartelle + + + + Include directory names + Includi i nomi di cartelle + + + + Enter the file content search expression + Inserisci una espressione di ricerca nel contenuto del file + + + + Text to match + Testo da trovare + + + + Text case insensitive + Testo senza distinzione maisucol/minuscole + + + + Set text content is case insensitive + + + + + Search results + Risultati della ricerca + + + + Idle. + Inattivo. + + + + Find + Cerca + + + + Start search for matching files + Inizia la ricerca + + + + Stop + Interrompi + + + + Stop searching + Interrompi la ricerca + + + + File name/location + Nome del file/posizione + + + + File contents + Contenuti + + + + Searching... + Ricerca in corso... + + + + %1 match(es) + %1 corrispondenze + + + + Set search directory + Scegli la cartella di ricerca + + + + find_files_model + + + Filename + Nome del file + + + + Directory + Cartella + + + + history_dock_widget + + + Browse and search the command history. + Naviga lo storico dei comandi. + + + + Double-click a command to transfer it to the terminal. + Fare doppio click su un comando per trasferirlo nel termianle. + + + + Enter text to filter the command history. + Inserire del testo per filtrare lo storico dei comandi. + + + + Command History + Storico dei comandi + + + + Copy + Copia + + + + Evaluate + Valuta + + + + Create script + Crea script + + + + initial_page + + + Welcome to Octave! + Benvenuto in Octave! + + + + Next + Successivo + + + + Cancel + Annulla + + + + <html><body> +<p>You seem to be using the Octave graphical interface for the first time on this computer. +Click 'Next' to create a configuration file and launch Octave.</p> +<p>The configuration file is stored in<br>%1.</p> +</body></html> + <html><body> +<p>Sembra che si stia usando l'interfaccia grafica di Octave per la prima volta su questo computer. +Fare click su 'Successivo' per creare un file di configurazione e lanciare Octave.</p> +<p>Il file di configurazione verrà salvato in<br>%1.</p> +</body></html> + + + + main_window + + + Load Workspace + Carica lo Spazio di Lavoro + + + + + About Octave + A proposito di Octave + + + + &File + &File + + + + New + Nuovo + + + + Figure + Figura + + + + Open... + Apri... + + + + Preferences... + Preferenze... + + + + Exit + Esci + + + + &Edit + &Modifica + + + + Undo + Annulla + + + + Copy + Copia + + + + Paste + Incolla + + + + Save Workspace As + Salva lo Spazio di Lavoro Come + + + + The file %1 +can not be executed because its name +is not a valid identifier. + +Do you want to execute +%2 +instead? + Il file %1 +non può essere eseguito perché il suo +nome non è un identificatore valido. + +Si desidera eseguire +%2 +invece? + + + + The release notes file '%1' is empty. + Il file delle note di rilascio '%1' è vuoto. + + + + The release notes file '%1' cannot be read. + Il file delle note di rilascio '%1' non può essere letto. + + + + Octave Release Notes + Note di Rilascio di Octave + + + + Octave Community News + Notizie dalla Comunità di Octave + + + + Clear Clipboard + Pulisci Appunti + + + + Find Files... + Trova File... + + + + Clear Command Window + Pulisci la Finestra dei Comandi + + + + Clear Command History + Pulisci lo Storico dei Comandi + + + + Clear Workspace + Pulisci lo Spazio di Lavoro + + + + De&bug + De&bug + + + + Step + Un'istruzione alla volta + + + + Continue + Continua + + + + Exit Debug Mode + Abbandona la Modalità di Debug + + + + Show File Browser + Nostra l'Esploratore di Risorse + + + + File Browser + Esploratore di Risorse + + + + <strong>You are using a release candidate of Octave's experimental GUI.</strong> Octave is under continuous improvement and the GUI will be the default interface for the 4.0 release. For more information, select the "Release Notes" item in the "News" menu of the GUI, or visit <a href="http://octave.org">http://octave.org</a>. + <strong>Stai utilizzando una 'release candidate' dell'interfaccia grafica sperimentale di Octave.</strong> Octave è in continuo miglioramenteo e l'interfaccia grafica sarà l'interfaccia di default per la versione 4.0. Per maggiori informazioni, seleziona la voce "Note di Rilascio" nel menu "Notizie" dell'interfaccia grafica o visita <a href="http://octave.org">http://octave.org</a>. + + + + Step In + Entra + + + + Octave + + + + + Load Workspace... + Apri Spazio di Lavoro... + + + + Save Workspace As... + Salva Spazio di Lavoro Come... + + + + New Script + Nuovo Script + + + + Function... + Funzione... + + + + Step Out + Esci + + + + Reset Default Window Layout + Ripristina il Layout della Finestra + + + + Octave Packages + Octave Packages + + + + Share Code + Condividi Codice (Agorà) + + + + Contribute to Octave + Contribuisci + + + + Octave Developer Resources + Risorse per Sviluppatori + + + + On Disk + Su Disco + + + + Online + In Linea + + + + &News + &Notizie + + + + Release Notes + Note di Rilascio + + + + Community News + Notizie dalla Comunità + + + + More Info + Maggiori Informazioni + + + + Hide + Nascondi + + + + + Experimental GUI Info + Informazioni sull'Interfaccia Grafica Sperimentale + + + + Enter directory name + Inserisci nome cartella + + + + Current Directory: + Cartella Corrente: + + + + One directory up + Livello precedente + + + + + Browse directories + Naviga cartelle + + + + &Window + &Finestra + + + + Show Command Window + Mostra la Finestra dei Comandi + + + + Show Command History + Mostra lo Storico dei Comandi + + + + Show Workspace + Mostra lo Spazio di Lavoro + + + + Show Editor + Mostra l'Editor + + + + Show Documentation + Mostra la Documentazione + + + + Command Window + Finestra dei Comandi + + + + Command History + Storico dei Comandi + + + + Workspace + Spazio di lavoro + + + + Editor + Editor + + + + + Documentation + Documentazione + + + + &Help + &Aiuto + + + + Report Bug + Segnala un Problema + + + + news_reader + + + <html> +<body> +<p> +Octave's community news source seems to be unavailable. +</p> +<p> +For the latest news, please check +<a href="http://octave.org/community-news.html">http://octave.org/community-news.html</a> +when you have a connection to the web (link opens in an external browser). +</p> +<p> +<small><em>&mdash; The Octave Developers, + <html> +<body> +<p> +Le notizie dalla comunità di Octave non sembrano essere disponibili. +</p> +<p> +Per le ultime novità, si prega di controllare +<a href="http://octave.org/community-news.html">http://octave.org/community-news.html</a> +avendo a disposizione una connesione ad internet (utilizza un browser esterno). +</p> +<p> +<small><em>&mdash; Gli Sviluppatori di Octave, + + + + <html> +<body> +<p> +Connecting to the web to display the latest Octave Community news has been disabled. +</p> +<p> +For the latest news, please check +<a href="http://octave.org/community-news.html">http://octave.org/community-news.html</a> +when you have a connection to the web (link opens in an external browser) +or enable web connections for news in Octave's network settings dialog. +</p> +<p> +<small><em>&mdash; The Octave Developers, + <html> +<body> +<p> +La connessione ad internet per mostrare le ultime notizie dalla comunità di Octave non è abilitata. +</p> +<p> +Per le ultime novità, si prega di controllare +<a href="http://octave.org/community-news.html">http://octave.org/community-news.html</a> +avendo a disposizione una connesione ad internet (utilizza un browser esterno) +o di abilitare la connessione ad internet per le notizie nella finestra delle impostazioni di rete di Octave. +</p> +<p> +<small><em>&mdash; Gli Sviluppatori di Octave, + + + + octave_dock_widget + + + + Undock widget + Rimuovi widget dal lanciatore + + + + Hide widget + Nascondi widget + + + + Dock widget + Ancora widget al lanciatore + + + + octave_qscintilla + + + Help on + Aiuto su + + + + Documentation on + Documentaizone su + + + + Edit + Modifica + + + + &Run Selection + &Esegui Selezione + + + + octave_qt_link + + + + + Yes + + + + + No + No + + + + File +%1 +does not exist. Do you want to create it? + Il file +%1 +non esiste. Si desidera crearlo? + + + + Octave Editor + Editor di octave + + + + The file %1 does not exist in the load path. To run or debug the function you are editing, you must either change to the directory %2 or add that directory to the load path. + Il file %1 non esiste nelle cartelle di esecuzione. Per lanciare o eseguire il debug della funzione in corso di modifica, è necessario passare alla cartella %2 o aggiungerla tale cartella alle cartelle di esecuzione. + + + + The file %1 is shadowed by a file with the same name in the load path. To run or debug the function you are editing, change to the directory %2. + Il file %1 è nascosto da un file con lo stesso nome presente nelle cartelle di esecuzione. Per lanciare o esguire il debug del file in corso di modifica, passare alla directory %2. + + + + Change Directory or Add Directory to Load Path + Cambia Cartella o Aggiungi Cartella alle Cartelle di Esecuzione + + + + Change Directory + Cambia Cartella + + + + Add Directory to Load Path + Aggiungi Cartella alle Cartelle di esecuzione. + + + + Cancel + Annulla + + + + resource_manager + + + The settings file +%1 +does not exist and can not be created. +Make sure you have read and write permissions to +%2 + +Octave GUI must be closed now. + Il file di configurazione +%1 +non esiste e non può essere creato. +Assicurasi di avere permesso di lettura e scrittura in +%2 + +L'inerfaccia grafica deve essere chiusa. + + + + Octave Critical Error + Errore Critico di Octave + + + + settings_dialog + + + Settings + Impostazioni + + + + General + Genrale + + + + Octave logo only + Logo di Octave solamente + + + + Letter icons + Icone testuali + + + + Graphic icons + Icone grafiche + + + + Dock widget title bar + Barra del titolo del lanciatore di widget + + + + Custom style + Stile personalizzato + + + + Background color + Colore dello sfondo + + + + Text color + Colore del testo + + + + Editor + Editor + + + + Color + Colore + + + + Indent width + Ampiezza indentazione + + + + Tab indents line + Tasto Tab per l'indentazione + + + + Auto indentation + Indentazione automatica + + + + Tab width + Ampiezza tabulazione + + + + Show indentation guides + Mostra guide per l'indentazione + + + + Backspace unindents line + Tasto Backspace per rimuove l'indentazione + + + + Match keywords + Abbina parole chiave + + + + Case sensitive + Distinzione maiuscole/minuscole + + + + Replace word by suggested one + Sostituisci una parola con quella suggerita + + + + Match words in document + Abbina parole nel documento + + + + Restore editor tabs from previous session on startup + Ripristina le schede dell'editor dalla sessione precedente all'avvio + + + + Use custom file editor + Utilizza editor personalizzato + + + + emacs +%l %f + + + + + Editor Styles + Stili dell'Editor + + + + <html><head/><body><p>Select font, font size (as a difference from the default size), font style (<b>b</b>old, <b>i</b>talic, <b>u</b>nderline), text color and background color (for the latter, the color pink (255,0,255) is a placeholder for the default background color).</p></body></html> + <html><head/><body><p>Seleziona stile di carattere, dimensione carattere (come differenza dalla dimensione iniziale), stile del carattere (<b>g</b>rassetto, <b>c</b>orsivo, <b>s</b>ottolinea), colore del testo e colore dello sfondo (per il quale il colore rosa (255, 0, 255) indica il colore di default).</p></body></html> + + + + Terminal Colors + Colori del Terminale + + + + Font + Stile di carattere + + + + Show line numbers + Mostra numero di riga + + + + Highlight current line + Evidenzia la riga corrente + + + + Code completion + Completamento del codice + + + + Show complete path in window title + Mostra il percorso completo nel titolo della finestra + + + + Show whitespace + Mostra spazi + + + + Do not show whitespace used for indentation + Non mostrare gli spazi utilizzati per l'indentazione + + + + # of characters typed before completion list displayed + Numero i caratteri da digitare prima che la lista di completamento appaia + + + + Create nonexistent files without prompting + Crea file inesistenti senza chiedere conferma + + + + command line (%f=file, %l=line): + linea di comando (%f=file, %l=riga): + + + + Terminal + Terminale + + + + Cursor type: + Tipo di cursore: + + + + Cursor blinking + Lampeggiamento del cursore + + + + Use foreground color + Usa colore di primo piano + + + + Font size + Dimensione carattere + + + + Set focus to terminal when running a command from within another widget + Rendi il terminale la finestra attiva quando un comando è eseguito da uno widget + + + + File Browser + Gestore dei file + + + + Show file size + Mostra dimensione del file + + + + Show file type + Mostra tipo del file + + + + Show date of last modification + Mostra la data di ultima modifica + + + + Show hidden files + Mostra i file nascosti + + + + Interface + Interfaccia + + + + Octave Startup + Avvio di Octave + + + + These preferences are applied after the startup files like .octaverc. + Queste preferenze sono applicate dopo l'esecuzione del file di avvio .octaverc. + + + + + Startup path + Percorso di avvio + + + + + Browse + Naviga + + + + Restore last Octave directory of previous session + Ripristina la cartella Octave della sessione precedente + + + + Tab width min. + Ampiezza tabulazione min. + + + + max. + max + + + + Display + + + + + Alternating row colors + Colori alternati per le righe + + + + Behavior + Comportamento + + + + Restore last directory of previous session + Ripristina l'ultima cartella della sessione precedente + + + + Workspace + Spazio di lavoro + + + + Storage Class Colors + Colori della Storage Class + + + + Network + Rete + + + + Allow Octave to connect to the Octave web site to display current news and information + Pemetti ad Octave di connettersi al sito web di Octave per mostrare notizie ed informazioni aggiornate + + + + Use proxy server + Usa server proxy + + + + HttpProxy + HttpProxy + + + + Icon set for dock widgets + Icone per il lanciatore degli widget + + + + Language (requires restart) + Lingua (richiede riavvio) + + + + Icon size + Dimensione icona + + + + Synchronize Octave working directory with file browser + Sincronizza la cartella di lavoro di Octave con il gestore dei file + + + + Socks5Proxy + Socks5Proxy + + + + Hostname: + Nome host: + + + + Proxy type: + Tipo di proxy: + + + + Port: + Porta: + + + + Username: + Nome utente: + + + + Password: + Password: + + + + + + System setting + Parametri di sistema + + + + IBeam Cursor + Cursore IBeam + + + + Block Cursor + Cursore blocco + + + + Underline Cursor + Cursore testo sottolineato + + + + Difference to the default size + Differenza rispetto alla dimensione di default + + + + Background color, pink (255,0,255) means default + Colore dello sfondo; rosa (255,0,255) indica default + + + + b + short form for bold + g + + + + i + short form for italic + c + + + + u + short form for underlined + s + + + + Set Octave Startup Directory + Scegli la Cartella di Avvio di Octave + + + + Set File Browser Startup Directory + Scegli la Cartella di Avvio del Gestore di File + + + + setup_community_news + + + Community News + Notizie dalla Comunità + + + + Previous + Precedente + + + + Next + Successiva + + + + Cancel + Chiudi + + + + <html><body> +<p>When the Octave GUI starts, it will check the Octave web site for current news and information about the Octave community. +The check will happen at most once each day and news will only be displayed if there is something new since the last time you viewed the news.</p> +<p>You may also view the news by selecting the "Community News" item in the "Help" menu in the GUI, or by visiting +<a href="http://octave.org/community-news.html">http://octave.org/community-news.html</a>.</p> +</body></html> + <html><body> +<p>Quando l'interfaccia grafica di Octave si avvia, l'applicazione controllerà il sito web di Octave per ottenere notizie ed informazioni recenti riguardo alla comunità di Octave. Tale controllo averrà non più di una volta al giorno e la finestra delle notizie verrà aperta soltanto nel caso in cui ci sia qualcosa di nuovo rispetto all'ultima consultazione</p> +<p>Le notizie possono essere raggiunte anche selezionando "Notizie dalla Comunità" nel menu "Aiuto" dell'interfaccia grafica, o visitando +<a href="http://octave.org/community-news.html">http://octave.org/community-news.html</a>.</p> +</body></html> + + + + <html><head> +<style> +a:link { text-decoration: underline; color: #0000ff; } +</style> +<head/><body> +<p>Allow Octave to connect to the Octave web site when it starts to display current news and information about the Octave community.</p> +</body></html> + <html><head> +<style> +a:link { text-decoration: underline; color: #0000ff; } +</style> +<head/><body> +<p>Permetti ad Octave di connettersi ad sito web di Octave all'avvio per mostrare notizie ed informazione recenti riguardo alla comunità di Octave.</p> +</body></html> + + + + terminal_dock_widget + + + Command Window + Finestra dei Comandi + + + + webinfo + + + Type here and press 'Return' to search + Scrivi qui e premi 'Invio' per cercare + + + + Global search + Ricerca globale + + + + Error + Errore + + + + The info file %1 does not exist + Il file di informazione %1 non esiste + + + + welcome_wizard + + + Welcome to GNU Octave + Benvenuto in GNU Octave + + + + workspace_model + + + Name + Nome + + + + Class + Tipo + + + + Dimension + Dimensione + + + + Value + Valore + + + + Attribute + Attributo + + + + Right click to copy, rename, or display + Fai click con il tasto destro del mouse per copiare, rinominare o mostrare + + + + + complex + complesso + + + + workspace_view + + + Workspace + Spazio di lavoro + + + + View the variables in the active workspace. + Mostra le variabili nello spazio di lavoro. + + + + Copy + Copia + + + + Rename + Rinomina + + + + Only top-level symbols may be renamed. + Solamente i simboli di primo livello possono essere rinominati. + + + + View the variables in the active workspace.<br> + Mostra le variabili nello spazio di lavoro attivo. + + + + Colors for variable attributes: + Colori per gli attributi variabili: + + + diff --git a/libgui/languages/translators b/libgui/languages/translators --- a/libgui/languages/translators +++ b/libgui/languages/translators @@ -6,6 +6,7 @@ de_DE Andreas Weber es_ES Valentin Ortega-Clavero fr_FR David Bateman , Catalin Codreanu +it_IT Massimiliano Fasi pt_BR Júlio Hoffimann Mendes pt_PT Carnë Draug ru_RU Andriy Shinkarchuck diff --git a/libgui/qterminal/libqterminal/unix/Vt102Emulation.cpp b/libgui/qterminal/libqterminal/unix/Vt102Emulation.cpp --- a/libgui/qterminal/libqterminal/unix/Vt102Emulation.cpp +++ b/libgui/qterminal/libqterminal/unix/Vt102Emulation.cpp @@ -964,7 +964,9 @@ if ( modifiers & Qt::AltModifier && !(wantsAltModifier || wantsAnyModifier) && !event->text().isEmpty() ) { - textToSend.prepend("\033"); +#if !defined(Q_OS_MAC) + textToSend.prepend("\033"); +#endif } if ( entry.command() != KeyboardTranslator::NoCommand ) diff --git a/libgui/src/history-dock-widget.cc b/libgui/src/history-dock-widget.cc --- a/libgui/src/history-dock-widget.cc +++ b/libgui/src/history-dock-widget.cc @@ -29,7 +29,7 @@ #include #include #include - +#include #include "error.h" #include "cmd-hist.h" @@ -93,6 +93,14 @@ this, SLOT (handle_double_click (QModelIndex))); setFocusProxy (_filter_line_edit); + + // shrink max. displayed entry size to desktop width + QSize screen = QDesktopWidget ().screenGeometry ().size (); + int w = screen.width (); + QFontMetrics fm = _history_list_view->fontMetrics (); + int h = fm.height (); + _history_list_view->setGridSize (QSize (w,h)); + _history_list_view->setTextElideMode (Qt::ElideRight); } void history_dock_widget::ctxMenu (const QPoint &xpos) @@ -234,4 +242,3 @@ _history_list_view->selectAll (); } } - diff --git a/libgui/src/m-editor/file-editor-tab.cc b/libgui/src/m-editor/file-editor-tab.cc --- a/libgui/src/m-editor/file-editor-tab.cc +++ b/libgui/src/m-editor/file-editor-tab.cc @@ -129,10 +129,6 @@ _edit_area->setMarginsBackgroundColor (QColor (232, 232, 220)); _edit_area->setMarginType (2, QsciScintilla::TextMargin); - // code folding - _edit_area->setMarginType (3, QsciScintilla::SymbolMargin); - _edit_area->setFolding (QsciScintilla::BoxedTreeFoldStyle , 3); - // other features _edit_area->setBraceMatching (QsciScintilla::StrictBraceMatch); _edit_area->setAutoIndent (true); @@ -1379,6 +1375,23 @@ update_lexer (); + // code folding + if (settings->value ("editor/code_folding",true).toBool ()) + { + _edit_area->setMarginType (3, QsciScintilla::SymbolMargin); + _edit_area->setFolding (QsciScintilla::BoxedTreeFoldStyle , 3); + } + else + { + _edit_area->setFolding (QsciScintilla::NoFoldStyle, 3); + } + + // status bar + if (settings->value ("editor/show_edit_status_bar",true).toBool ()) + _status_bar->show (); + else + _status_bar->hide (); + //highlight current line color QVariant default_var = QColor (240, 240, 240); QColor setting_color = settings->value ("editor/highlight_current_line_color", diff --git a/libgui/src/m-editor/file-editor.cc b/libgui/src/m-editor/file-editor.cc --- a/libgui/src/m-editor/file-editor.cc +++ b/libgui/src/m-editor/file-editor.cc @@ -1550,6 +1550,37 @@ } void +file_editor::copyClipboard () +{ + QWidget * foc_w = focusWidget (); + + if (foc_w && foc_w->inherits ("octave_qscintilla")) + { + request_copy (true); + } +} +void +file_editor::pasteClipboard () +{ + QWidget * foc_w = focusWidget (); + + if (foc_w && foc_w->inherits ("octave_qscintilla")) + { + request_paste (true); + } +} +void +file_editor::selectAll () +{ + QWidget * foc_w = focusWidget (); + + if (foc_w && foc_w->inherits ("octave_qscintilla")) + { + request_selectall (true); + } +} + +void file_editor::set_shortcuts () { // File menu diff --git a/libgui/src/m-editor/file-editor.h b/libgui/src/m-editor/file-editor.h --- a/libgui/src/m-editor/file-editor.h +++ b/libgui/src/m-editor/file-editor.h @@ -198,6 +198,9 @@ protected slots: + void copyClipboard (); + void pasteClipboard (); + void selectAll (); private slots: diff --git a/libgui/src/main-window.cc b/libgui/src/main-window.cc --- a/libgui/src/main-window.cc +++ b/libgui/src/main-window.cc @@ -95,7 +95,8 @@ _cmd_queue_mutex (), _dbg_queue (new QStringList ()), // no debug pending _dbg_processing (1), - _dbg_queue_mutex () + _dbg_queue_mutex (), + _prevent_readline_conflicts (true) { QSettings *settings = resource_manager::get_settings (); @@ -681,7 +682,14 @@ int icon_size = settings->value ("toolbar_icon_size",16).toInt (); _main_tool_bar->setIconSize (QSize (icon_size,icon_size)); - set_global_shortcuts (true); + if (settings->value ("show_status_bar",true).toBool ()) + status_bar->show (); + else + status_bar->hide (); + + _prevent_readline_conflicts = + settings->value ("shortcuts/prevent_readline_conflicts", true).toBool (); + configure_shortcuts (); set_global_shortcuts (command_window_has_focus ()); resource_manager::update_network_settings (); @@ -1006,8 +1014,10 @@ foreach (octave_dock_widget *widget, dock_widget_list ()) widget->connect_visibility_changed (); +#ifdef HAVE_QSCINTILLA // Main window completely shown, determine whether to create an empty script editor_window->empty_script (true, false); +#endif } void @@ -1280,7 +1290,7 @@ Fregister_graphics_toolkit (ovl ("qt")); - set_global_shortcuts (true); + configure_shortcuts (); } @@ -1425,6 +1435,22 @@ construct_news_menu (menu_bar); } +QAction* +main_window::add_action (QMenu *menu, const QIcon &icon, const QString &text, + const char *member, const QWidget *receiver) +{ + QAction *a; + + if (receiver) + a = menu->addAction (icon, text, receiver, member); + else + a = menu->addAction (icon, text, this, member); + + addAction (a); // important for shortcut context + a->setShortcutContext (Qt::ApplicationShortcut); + return a; +} + void main_window::construct_file_menu (QMenuBar *p) { @@ -1571,14 +1597,12 @@ } QAction * -main_window::construct_debug_menu_item (const char *icon_file, - const QString& item, - const QKeySequence& key) +main_window::construct_debug_menu_item (const char *icon, const QString& item, + const char *member) { - QAction *action = _debug_menu->addAction (QIcon (icon_file), item); + QAction *action = add_action (_debug_menu, QIcon (icon), item, member); action->setEnabled (false); - action->setShortcut (key); #ifdef HAVE_QSCINTILLA editor_window->debug_menu ()->addAction (action); @@ -1594,20 +1618,20 @@ _debug_menu = p->addMenu (tr ("De&bug")); _debug_step_over = construct_debug_menu_item - (":/actions/icons/db_step.png", tr ("Step"), - Qt::Key_F10); + (":/actions/icons/db_step.png", tr ("Step"), + SLOT (debug_step_over ())); _debug_step_into = construct_debug_menu_item - (":/actions/icons/db_step_in.png", tr ("Step In"), - Qt::Key_F11); + (":/actions/icons/db_step_in.png", tr ("Step In"), + SLOT (debug_step_into ())); _debug_step_out = construct_debug_menu_item (":/actions/icons/db_step_out.png", tr ("Step Out"), - Qt::ShiftModifier + Qt::Key_F11); + SLOT (debug_step_out ())); _debug_continue = construct_debug_menu_item (":/actions/icons/db_cont.png", tr ("Continue"), - Qt::Key_F5); + SLOT (debug_continue ())); _debug_menu->addSeparator (); #ifdef HAVE_QSCINTILLA @@ -1615,36 +1639,38 @@ #endif _debug_quit = construct_debug_menu_item - (":/actions/icons/db_stop.png", tr ("Exit Debug Mode"), - Qt::ShiftModifier + Qt::Key_F5); - - connect (_debug_step_over, SIGNAL (triggered ()), - this, SLOT (debug_step_over ())); - - connect (_debug_step_into, SIGNAL (triggered ()), - this, SLOT (debug_step_into ())); - - connect (_debug_step_out, SIGNAL (triggered ()), - this, SLOT (debug_step_out ())); - - connect (_debug_continue, SIGNAL (triggered ()), - this, SLOT (debug_continue ())); - - connect (_debug_quit, SIGNAL (triggered ()), - this, SLOT (debug_quit ())); + (":/actions/icons/db_stop.png", tr ("Quit Debug Mode"), + SLOT (debug_quit ())); } QAction * main_window::construct_window_menu_item (QMenu *p, const QString& item, - bool checkable, - const QKeySequence& key) + bool checkable, QWidget *widget) { - QAction *action = p->addAction (item); - + QAction *action = p->addAction (QIcon (), item); + + addAction (action); // important for shortcut context action->setCheckable (checkable); - action->setShortcut (key); action->setShortcutContext (Qt::ApplicationShortcut); + if (widget) // might be zero for editor_window + { + if (checkable) + { + // action for visibilty of dock widget + connect (action, SIGNAL (toggled (bool)), + widget, SLOT (setVisible (bool))); + + connect (widget, SIGNAL (active_changed (bool)), + action, SLOT (setChecked (bool))); + } + else + { + // action for focus of dock widget + connect (action, SIGNAL (triggered ()), widget, SLOT (focus ())); + } + } + return action; } @@ -1653,125 +1679,48 @@ { QMenu *window_menu = p->addMenu (tr ("&Window")); - QKeySequence ctrl = Qt::ControlModifier; - QKeySequence ctrl_shift = Qt::ControlModifier + Qt::ShiftModifier; - - QAction *show_command_window_action = construct_window_menu_item - (window_menu, - tr ("Show Command Window"), true, - ctrl_shift + Qt::Key_0); - - QAction *show_history_action = construct_window_menu_item - (window_menu, tr ("Show Command History"), - true, ctrl_shift + Qt::Key_1); - - QAction *show_file_browser_action = construct_window_menu_item - (window_menu, tr ("Show File Browser"), - true, ctrl_shift + Qt::Key_2); - - QAction *show_workspace_action = construct_window_menu_item - (window_menu, tr ("Show Workspace"), true, - ctrl_shift + Qt::Key_3); - - QAction *show_editor_action = construct_window_menu_item - (window_menu, tr ("Show Editor"), true, - ctrl_shift + Qt::Key_4); - - QAction *show_documentation_action = construct_window_menu_item - (window_menu, tr ("Show Documentation"), - true, ctrl_shift + Qt::Key_5); - - window_menu->addSeparator (); - - QAction *command_window_action = construct_window_menu_item - (window_menu, tr ("Command Window"), false, - ctrl + Qt::Key_0); - - QAction *history_action = construct_window_menu_item - (window_menu, tr ("Command History"), false, - ctrl + Qt::Key_1); - - QAction *file_browser_action = construct_window_menu_item - (window_menu, tr ("File Browser"), false, - ctrl + Qt::Key_2); - - QAction *workspace_action = construct_window_menu_item - (window_menu, tr ("Workspace"), false, - ctrl + Qt::Key_3); - - QAction *editor_action = construct_window_menu_item - (window_menu, tr ("Editor"), false, - ctrl + Qt::Key_4); - - QAction *documentation_action = construct_window_menu_item - (window_menu, tr ("Documentation"), false, - ctrl + Qt::Key_5); + _show_command_window_action = construct_window_menu_item + (window_menu, tr ("Show Command Window"), true, command_window); + + _show_history_action = construct_window_menu_item + (window_menu, tr ("Show Command History"), true, history_window); + + _show_file_browser_action = construct_window_menu_item + (window_menu, tr ("Show File Browser"), true, file_browser_window); + + _show_workspace_action = construct_window_menu_item + (window_menu, tr ("Show Workspace"), true, workspace_window); + + _show_editor_action = construct_window_menu_item + (window_menu, tr ("Show Editor"), true, editor_window); + + _show_documentation_action = construct_window_menu_item + (window_menu, tr ("Show Documentation"), true, doc_browser_window); window_menu->addSeparator (); - QAction *reset_windows_action - = window_menu->addAction (tr ("Reset Default Window Layout")); - - connect (show_command_window_action, SIGNAL (toggled (bool)), - command_window, SLOT (setVisible (bool))); - - connect (command_window, SIGNAL (active_changed (bool)), - show_command_window_action, SLOT (setChecked (bool))); - - connect (show_workspace_action, SIGNAL (toggled (bool)), - workspace_window, SLOT (setVisible (bool))); - - connect (workspace_window, SIGNAL (active_changed (bool)), - show_workspace_action, SLOT (setChecked (bool))); - - connect (show_history_action, SIGNAL (toggled (bool)), - history_window, SLOT (setVisible (bool))); - - connect (history_window, SIGNAL (active_changed (bool)), - show_history_action, SLOT (setChecked (bool))); - - connect (show_file_browser_action, SIGNAL (toggled (bool)), - file_browser_window, SLOT (setVisible (bool))); - - connect (file_browser_window, SIGNAL (active_changed (bool)), - show_file_browser_action, SLOT (setChecked (bool))); - -#ifdef HAVE_QSCINTILLA - connect (show_editor_action, SIGNAL (toggled (bool)), - editor_window, SLOT (setVisible (bool))); - - connect (editor_window, SIGNAL (active_changed (bool)), - show_editor_action, SLOT (setChecked (bool))); -#endif - - connect (show_documentation_action, SIGNAL (toggled (bool)), - doc_browser_window, SLOT (setVisible (bool))); - - connect (doc_browser_window, SIGNAL (active_changed (bool)), - show_documentation_action, SLOT (setChecked (bool))); - - connect (command_window_action, SIGNAL (triggered ()), - command_window, SLOT (focus ())); - - connect (workspace_action, SIGNAL (triggered ()), - workspace_window, SLOT (focus ())); - - connect (history_action, SIGNAL (triggered ()), - history_window, SLOT (focus ())); - - connect (file_browser_action, SIGNAL (triggered ()), - file_browser_window, SLOT (focus ())); - -#ifdef HAVE_QSCINTILLA - connect (editor_action, SIGNAL (triggered ()), - editor_window, SLOT (focus ())); -#endif - - connect (documentation_action, SIGNAL (triggered ()), - doc_browser_window, SLOT (focus ())); - - connect (reset_windows_action, SIGNAL (triggered ()), - this, SLOT (reset_windows ())); + _command_window_action = construct_window_menu_item + (window_menu, tr ("Command Window"), false, command_window); + + _history_action = construct_window_menu_item + (window_menu, tr ("Command History"), false, history_window); + + _file_browser_action = construct_window_menu_item + (window_menu, tr ("File Browser"), false, file_browser_window); + + _workspace_action = construct_window_menu_item + (window_menu, tr ("Workspace"), false, workspace_window); + + _editor_action = construct_window_menu_item + (window_menu, tr ("Editor"), false, editor_window); + + _documentation_action = construct_window_menu_item + (window_menu, tr ("Documentation"), false, doc_browser_window); + + window_menu->addSeparator (); + + _reset_windows_action = add_action (window_menu, QIcon (), + tr ("Reset Default Window Layout"), SLOT (reset_windows ())); } void @@ -1783,61 +1732,37 @@ help_menu->addSeparator (); - QAction *report_bug_action - = help_menu->addAction (tr ("Report Bug")); - - QAction *octave_packages_action - = help_menu->addAction (tr ("Octave Packages")); - - QAction *agora_action - = help_menu->addAction (tr ("Share Code")); - - QAction *contribute_action - = help_menu->addAction (tr ("Contribute to Octave")); - - QAction *developer_action - = help_menu->addAction (tr ("Octave Developer Resources")); + _report_bug_action = add_action (help_menu, QIcon (), + tr ("Report Bug"), SLOT (open_bug_tracker_page ())); + + _octave_packages_action = add_action (help_menu, QIcon (), + tr ("Octave Packages"), SLOT (open_octave_packages_page ())); + + _agora_action = add_action (help_menu, QIcon (), + tr ("Share Code"), SLOT (open_agora_page ())); + + _contribute_action = add_action (help_menu, QIcon (), + tr ("Contribute to Octave"), SLOT (open_contribute_page ())); + + _developer_action = add_action (help_menu, QIcon (), + tr ("Octave Developer Resources"), SLOT (open_developer_page ())); help_menu->addSeparator (); - QAction *about_octave_action - = help_menu->addAction (tr ("About Octave")); - - connect (report_bug_action, SIGNAL (triggered ()), - this, SLOT (open_bug_tracker_page ())); - - connect (octave_packages_action, SIGNAL (triggered ()), - this, SLOT (open_octave_packages_page ())); - - connect (agora_action, SIGNAL (triggered ()), - this, SLOT (open_agora_page ())); - - connect (contribute_action, SIGNAL (triggered ()), - this, SLOT (open_contribute_page ())); - - connect (developer_action, SIGNAL (triggered ()), - this, SLOT (open_developer_page ())); - - connect (about_octave_action, SIGNAL (triggered ()), - this, SLOT (show_about_octave ())); + _about_octave_action = add_action (help_menu, QIcon (), + tr ("About Octave"), SLOT (show_about_octave ())); } void main_window::construct_documentation_menu (QMenu *p) { - QMenu *documentation_menu = p->addMenu (tr ("Documentation")); - - QAction *ondisk_documentation_action - = documentation_menu->addAction (tr ("On Disk")); - - QAction *online_documentation_action - = documentation_menu->addAction (tr ("Online")); - - connect (ondisk_documentation_action, SIGNAL (triggered ()), - doc_browser_window, SLOT (focus ())); - - connect (online_documentation_action, SIGNAL (triggered ()), - this, SLOT (open_online_documentation_page ())); + QMenu *doc_menu = p->addMenu (tr ("Documentation")); + + _ondisk_doc_action = add_action (doc_menu, QIcon (), + tr ("On Disk"), SLOT (focus ()), doc_browser_window); + + _online_doc_action = add_action (doc_menu, QIcon (), + tr ("Online"), SLOT (open_online_documentation_page ())); } void @@ -1845,17 +1770,11 @@ { QMenu *news_menu = p->addMenu (tr ("&News")); - QAction *release_notes_action - = news_menu->addAction (tr ("Release Notes")); - - QAction *current_news_action - = news_menu->addAction (tr ("Community News")); - - connect (release_notes_action, SIGNAL (triggered ()), - this, SLOT (display_release_notes ())); - - connect (current_news_action, SIGNAL (triggered ()), - this, SLOT (load_and_display_community_news ())); + _release_notes_action = add_action (news_menu, QIcon (), + tr ("Release Notes"), SLOT (display_release_notes ())); + + _current_news_action = add_action (news_menu, QIcon (), + tr ("Community News"), SLOT (load_and_display_community_news ())); } void @@ -2280,15 +2199,16 @@ void main_window::set_global_edit_shortcuts (bool enable) { + // this slot is called when editor gets/loses focus if (enable) - { + { // editor loses focus, set the global shortcuts shortcut_manager::set_shortcut (_copy_action, "main_edit:copy"); shortcut_manager::set_shortcut (_paste_action, "main_edit:paste"); shortcut_manager::set_shortcut (_undo_action, "main_edit:undo"); shortcut_manager::set_shortcut (_select_all_action, "main_edit:select_all"); } else - { + { // disable shortcuts that are also provided by the editor itself QKeySequence no_key = QKeySequence (); _copy_action->setShortcut (no_key); _paste_action->setShortcut (no_key); @@ -2298,36 +2218,81 @@ } void +main_window::configure_shortcuts () +{ + // file menu + shortcut_manager::set_shortcut (_open_action, "main_file:open_file"); + shortcut_manager::set_shortcut (_new_script_action, "main_file:new_file"); + shortcut_manager::set_shortcut (_new_function_action, "main_file:new_function"); + shortcut_manager::set_shortcut (_new_function_action, "main_file:new_figure"); + shortcut_manager::set_shortcut (_load_workspace_action, "main_file:load_workspace"); + shortcut_manager::set_shortcut (_save_workspace_action, "main_file:save_workspace"); + shortcut_manager::set_shortcut (_preferences_action, "main_file:preferences"); + shortcut_manager::set_shortcut (_exit_action,"main_file:exit"); + + // edit menu + shortcut_manager::set_shortcut (_copy_action, "main_edit:copy"); + shortcut_manager::set_shortcut (_paste_action, "main_edit:paste"); + shortcut_manager::set_shortcut (_undo_action, "main_edit:undo"); + shortcut_manager::set_shortcut (_select_all_action, "main_edit:select_all"); + shortcut_manager::set_shortcut (_clear_clipboard_action, "main_edit:clear_clipboard"); + shortcut_manager::set_shortcut (_find_files_action, "main_edit:find_in_files"); + shortcut_manager::set_shortcut (_clear_command_history_action, "main_edit:clear_history"); + shortcut_manager::set_shortcut (_clear_command_window_action, "main_edit:clear_command_window"); + shortcut_manager::set_shortcut (_clear_workspace_action, "main_edit:clear_workspace"); + + // debug menu + shortcut_manager::set_shortcut (_debug_step_over, "main_debug:step_over"); + shortcut_manager::set_shortcut (_debug_step_into, "main_debug:step_into"); + shortcut_manager::set_shortcut (_debug_step_out, "main_debug:step_out"); + shortcut_manager::set_shortcut (_debug_continue, "main_debug:continue"); + shortcut_manager::set_shortcut (_debug_quit, "main_debug:quit"); + + // window menu + shortcut_manager::set_shortcut (_show_command_window_action, "main_window:show_command"); + shortcut_manager::set_shortcut (_show_history_action, "main_window:show_history"); + shortcut_manager::set_shortcut (_show_workspace_action, "main_window:show_workspace"); + shortcut_manager::set_shortcut (_show_file_browser_action, "main_window:show_file_browser"); + shortcut_manager::set_shortcut (_show_editor_action, "main_window:show_editor"); + shortcut_manager::set_shortcut (_show_documentation_action, "main_window:show_doc"); + shortcut_manager::set_shortcut (_command_window_action, "main_window:command"); + shortcut_manager::set_shortcut (_history_action, "main_window:history"); + shortcut_manager::set_shortcut (_workspace_action, "main_window:workspace"); + shortcut_manager::set_shortcut (_file_browser_action, "main_window:file_browser"); + shortcut_manager::set_shortcut (_editor_action, "main_window:editor"); + shortcut_manager::set_shortcut (_documentation_action, "main_window:doc"); + shortcut_manager::set_shortcut (_reset_windows_action, "main_window:reset"); + + // help menu + shortcut_manager::set_shortcut (_ondisk_doc_action, "main_help:ondisk_doc"); + shortcut_manager::set_shortcut (_online_doc_action, "main_help:online_doc"); + shortcut_manager::set_shortcut (_report_bug_action, "main_help:report_bug"); + shortcut_manager::set_shortcut (_octave_packages_action, "main_help:packages"); + shortcut_manager::set_shortcut (_agora_action, "main_help:agora"); + shortcut_manager::set_shortcut (_contribute_action, "main_help:contribute"); + shortcut_manager::set_shortcut (_developer_action, "main_help:developer"); + shortcut_manager::set_shortcut (_about_octave_action, "main_help:about"); + + // news menu + shortcut_manager::set_shortcut (_release_notes_action, "main_news:release_notes"); + shortcut_manager::set_shortcut (_current_news_action, "main_news:community_news"); +} + +void main_window::set_global_shortcuts (bool set_shortcuts) { + // this slot is called when the terminal gets/loses focus + + // return if the user don't want to use readline shortcuts + if (! _prevent_readline_conflicts) + return; + if (set_shortcuts) - { - - // file menu - shortcut_manager::set_shortcut (_open_action, "main_file:open_file"); - shortcut_manager::set_shortcut (_new_script_action, "main_file:new_file"); - shortcut_manager::set_shortcut (_new_function_action, "main_file:new_function"); - shortcut_manager::set_shortcut (_new_function_action, "main_file:new_figure"); - shortcut_manager::set_shortcut (_load_workspace_action, "main_file:load_workspace"); - shortcut_manager::set_shortcut (_save_workspace_action, "main_file:save_workspace"); - shortcut_manager::set_shortcut (_preferences_action, "main_file:preferences"); - shortcut_manager::set_shortcut (_exit_action,"main_file:exit"); - - // edit menu - shortcut_manager::set_shortcut (_copy_action, "main_edit:copy"); - shortcut_manager::set_shortcut (_paste_action, "main_edit:paste"); - shortcut_manager::set_shortcut (_undo_action, "main_edit:undo"); - shortcut_manager::set_shortcut (_select_all_action, "main_edit:select_all"); - shortcut_manager::set_shortcut (_clear_clipboard_action, "main_edit:clear_clipboard"); - shortcut_manager::set_shortcut (_find_files_action, "main_edit:find_in_files"); - shortcut_manager::set_shortcut (_clear_command_history_action, "main_edit:clear_history"); - shortcut_manager::set_shortcut (_clear_command_window_action, "main_edit:clear_command_window"); - shortcut_manager::set_shortcut (_clear_workspace_action, "main_edit:clear_workspace"); - + { // terminal loses focus: set the global shortcuts + configure_shortcuts (); } else - { - + { // terminal gets focus: disable some shortcuts QKeySequence no_key = QKeySequence (); // file menu @@ -2341,9 +2306,6 @@ _exit_action->setShortcut (no_key); // edit menu - //_copy_action->setShortcut (no_key); - //_paste_action->setShortcut (no_key); - //_undo_action->setShortcut (no_key); _select_all_action->setShortcut (no_key); _clear_clipboard_action->setShortcut (no_key); _find_files_action->setShortcut (no_key); @@ -2351,8 +2313,23 @@ _clear_command_window_action->setShortcut (no_key); _clear_workspace_action->setShortcut (no_key); + // window menu + _reset_windows_action->setShortcut (no_key); + + // help menu + _ondisk_doc_action->setShortcut (no_key); + _online_doc_action->setShortcut (no_key); + _report_bug_action->setShortcut (no_key); + _octave_packages_action->setShortcut (no_key); + _agora_action->setShortcut (no_key); + _contribute_action->setShortcut (no_key); + _developer_action->setShortcut (no_key); + _about_octave_action->setShortcut (no_key); + + // news menu + _release_notes_action->setShortcut (no_key); + _current_news_action->setShortcut (no_key); } - } void diff --git a/libgui/src/main-window.h b/libgui/src/main-window.h --- a/libgui/src/main-window.h +++ b/libgui/src/main-window.h @@ -213,19 +213,18 @@ void construct_octave_qt_link (void); + QAction *add_action (QMenu *menu, const QIcon &icon, const QString &text, + const char *member, const QWidget *receiver = 0); + void construct_menu_bar (void); void construct_file_menu (QMenuBar *p); void construct_new_menu (QMenu *p); void construct_edit_menu (QMenuBar *p); - void construct_debug_menu_item (QMenu *p, const QString& item, - const QKeySequence& key); - QAction *construct_debug_menu_item (const char *icon_file, - const QString& item, - const QKeySequence& key); + QAction *construct_debug_menu_item (const char *icon, const QString& item, + const char* member); void construct_debug_menu (QMenuBar *p); QAction *construct_window_menu_item (QMenu *p, const QString& item, - bool checkable, - const QKeySequence& key); + bool checkable, QWidget*); void construct_window_menu (QMenuBar *p); void construct_help_menu (QMenuBar *p); void construct_documentation_menu (QMenu *p); @@ -271,6 +270,8 @@ void execute_debug_callback (); + void configure_shortcuts (); + bool confirm_exit_octave (); workspace_model *_workspace_model; @@ -333,6 +334,32 @@ QAction *_find_files_action; QAction *_select_all_action; + QAction *_show_command_window_action; + QAction *_show_history_action; + QAction *_show_workspace_action; + QAction *_show_file_browser_action; + QAction *_show_editor_action; + QAction *_show_documentation_action; + QAction *_command_window_action; + QAction *_history_action; + QAction *_workspace_action; + QAction *_file_browser_action; + QAction *_editor_action; + QAction *_documentation_action; + QAction *_reset_windows_action; + + QAction *_ondisk_doc_action; + QAction *_online_doc_action; + QAction *_report_bug_action; + QAction *_octave_packages_action; + QAction *_agora_action; + QAction *_contribute_action; + QAction *_developer_action; + QAction *_about_octave_action; + + QAction *_release_notes_action; + QAction *_current_news_action; + // Toolbars. QComboBox *_current_directory_combo_box; static const int current_directory_width = 300; @@ -364,6 +391,8 @@ QStringList *_dbg_queue; QSemaphore _dbg_processing; QMutex _dbg_queue_mutex; + + bool _prevent_readline_conflicts; }; class news_reader : public QObject diff --git a/libgui/src/settings-dialog.cc b/libgui/src/settings-dialog.cc --- a/libgui/src/settings-dialog.cc +++ b/libgui/src/settings-dialog.cc @@ -122,6 +122,10 @@ ui->cb_prompt_to_exit->setChecked ( settings->value ("prompt_to_exit",false).toBool ()); + // Main status bar + ui->cb_status_bar->setChecked ( + settings->value ("show_status_bar",true).toBool ()); + // Octave startup ui->cb_restore_octave_dir->setChecked ( settings->value ("restore_octave_dir",false).toBool ()); @@ -153,6 +157,10 @@ settings->value ("editor/long_line_marker",true).toBool ()); ui->editor_long_line_column->setValue ( settings->value ("editor/long_line_column",80).toInt ()); + ui->cb_edit_status_bar->setChecked ( + settings->value ("editor/show_edit_status_bar",true).toBool ()); + ui->cb_code_folding->setChecked ( + settings->value ("editor/code_folding",true).toBool ()); ui->editor_codeCompletion->setChecked ( settings->value ("editor/codeCompletion", true).toBool ()); @@ -271,6 +279,13 @@ // terminal colors read_terminal_colors (settings); + // shortcuts + ui->cb_prevent_readline_conflicts->setChecked ( + settings->value ("shortcuts/prevent_readline_conflicts", true).toBool ()); + int set = settings->value ("shortcuts/set",0).toInt (); + ui->rb_sc_set1->setChecked (set == 0); + ui->rb_sc_set2->setChecked (set == 1); + #ifdef HAVE_QSCINTILLA // editor styles: create lexer, read settings, and create dialog elements QsciLexer *lexer; @@ -545,6 +560,9 @@ // promp to exit settings->setValue ("prompt_to_exit", ui->cb_prompt_to_exit->isChecked ()); + // status bar + settings->setValue ( "show_status_bar", ui->cb_status_bar->isChecked ()); + // Octave startup settings->setValue ("restore_octave_dir", ui->cb_restore_octave_dir->isChecked ()); @@ -564,6 +582,10 @@ ui->editor_long_line_marker->isChecked ()); settings->setValue ("editor/long_line_column", ui->editor_long_line_column->value ()); + settings->setValue ("editor/code_folding", + ui->cb_code_folding->isChecked ()); + settings->setValue ("editor/show_edit_status_bar", + ui->cb_edit_status_bar->isChecked ()); settings->setValue ("editor/codeCompletion", ui->editor_codeCompletion->isChecked ()); settings->setValue ("editor/codeCompletion_threshold", @@ -650,7 +672,6 @@ case 2: cursorType = "underline"; break; } settings->setValue ("terminal/cursorType", cursorType); - settings->sync (); #ifdef HAVE_QSCINTILLA // editor styles: create lexer, get dialog contents, and write settings @@ -685,10 +706,19 @@ write_terminal_colors (settings); + // shortcuts + settings->setValue ("shortcuts/prevent_readline_conflicts", + ui->cb_prevent_readline_conflicts->isChecked ()); + int set = 0; + if (ui->rb_sc_set2->isChecked ()) + set = 1; + settings->setValue ("shortcuts/set",set); shortcut_manager::write_shortcuts (); + // settings dialog's geometry settings->setValue ("settings/last_tab",ui->tabWidget->currentIndex ()); settings->setValue ("settings/geometry",saveGeometry ()); + settings->sync (); } diff --git a/libgui/src/settings-dialog.ui b/libgui/src/settings-dialog.ui --- a/libgui/src/settings-dialog.ui +++ b/libgui/src/settings-dialog.ui @@ -32,7 +32,7 @@ - 6 + 1 @@ -103,7 +103,7 @@ - + Confirm before exiting @@ -280,6 +280,16 @@ + + + + Show status bar + + + true + + + @@ -396,7 +406,7 @@ 0 0 662 - 470 + 524 @@ -648,6 +658,26 @@ + + + + Enable Code Folding + + + true + + + + + + + Show status bar + + + true + + + @@ -1684,9 +1714,74 @@ 0 + + + + + Select this option to prevent conflicts with readline shortcuts + + + Disable global shortcuts when terminal window has focus + + + true + + + + + + + + + Qt::Horizontal + + + + + + + + + Use Shortcut Set: + + + + + + + Set 1 + + + true + + + + + + + Set 2 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + - Enter a new shortcut by double clicking on the related row. + Edit an actual shortcut by double clicking into the related cell @@ -1715,9 +1810,6 @@ 0 - - 0 - true @@ -1731,7 +1823,7 @@ false - 3 + 5 false @@ -1752,21 +1844,35 @@ Action + + + false + + - Default Shortcut - - - AlignLeft|AlignVCenter + Set 1 Default - Actual Shortcut + Set 1 Actual + + + + + Set 2 Default - - AlignLeft|AlignVCenter + + + false + + + + + + Set 2 Actual diff --git a/libgui/src/shortcut-manager.cc b/libgui/src/shortcut-manager.cc --- a/libgui/src/shortcut-manager.cc +++ b/libgui/src/shortcut-manager.cc @@ -106,6 +106,44 @@ QKeySequence ()); init (tr ("Clear Workspace"), "main_edit:clear_workspace", QKeySequence ()); + // debug + init (tr ("Step Over"), "main_debug:step_over", QKeySequence (Qt::Key_F10)); + init (tr ("Step Into"), "main_debug:step_into", QKeySequence (Qt::Key_F11)); + init (tr ("Step Out"), "main_debug:step_out", QKeySequence (Qt::ShiftModifier + Qt::Key_F11)); + init (tr ("Continue"), "main_debug:continue", QKeySequence (Qt::Key_F5)); + init (tr ("Quit Debug Mode"), "main_debug:quit", QKeySequence (Qt::ShiftModifier + Qt::Key_F5)); + + // window + QKeySequence ctrl = Qt::ControlModifier; + QKeySequence ctrl_shift = Qt::ControlModifier + Qt::ShiftModifier; + init (tr ("Show Command Window"), "main_window:show_command", ctrl_shift + Qt::Key_0); + init (tr ("Show Command History"), "main_window:show_history", ctrl_shift + Qt::Key_1); + init (tr ("Show File Browser"), "main_window:show_file_browser", ctrl_shift + Qt::Key_2); + init (tr ("Show Workspace"), "main_window:show_workspace", ctrl_shift + Qt::Key_3); + init (tr ("Show Editor"), "main_window:show_editor", ctrl_shift + Qt::Key_4); + init (tr ("Show Documentation"), "main_window:show_doc", ctrl_shift + Qt::Key_5); + init (tr ("Command Window"), "main_window:command", ctrl + Qt::Key_0); + init (tr ("Command History"), "main_window:history", ctrl + Qt::Key_1); + init (tr ("File Browser"), "main_window:file_browser", ctrl + Qt::Key_2); + init (tr ("Workspace"), "main_window:workspace", ctrl + Qt::Key_3); + init (tr ("Editor"), "main_window:editor", ctrl + Qt::Key_4); + init (tr ("Documentation"), "main_window:doc", ctrl + Qt::Key_5); + init (tr ("Reset Window Layout"), "main_window:reset", QKeySequence ()); + + // help + init (tr ("Show Ondisk Documentation"), "main_help:ondisk_doc", QKeySequence ()); + init (tr ("Show Online Documentation"), "main_help:online_doc", QKeySequence ()); + init (tr ("Report a Bug"), "main_help:report_bug", QKeySequence ()); + init (tr ("Octave Packages"), "main_help:packages", QKeySequence ()); + init (tr ("Share Code"), "main_help:agora", QKeySequence ()); + init (tr ("Contribute to Octave"), "main_help:contribute", QKeySequence ()); + init (tr ("Octave Developer Resources"), "main_help:developer", QKeySequence ()); + init (tr ("About Octave"), "main_help:about", QKeySequence ()); + + // news + init (tr ("Release Notes"), "main_news:release_notes", QKeySequence ()); + init (tr ("Community News"), "main_news:community_news", QKeySequence ()); + // actions of the editor // file @@ -204,20 +242,25 @@ void shortcut_manager::init (QString description, QString key, QKeySequence def_sc) { - QKeySequence actual = QKeySequence (_settings->value ("shortcuts/"+key, def_sc).toString ()); + QKeySequence actual_0 = QKeySequence (_settings->value ("shortcuts/"+key, def_sc).toString ()); + QKeySequence actual_1 = QKeySequence (_settings->value ("shortcuts/"+key+"_1", def_sc).toString ()); // append the new shortcut to the list shortcut_t shortcut_info; shortcut_info.description = description; shortcut_info.settings_key = key; - shortcut_info.actual_sc = actual; - shortcut_info.default_sc = def_sc; + shortcut_info.actual_sc [0] = actual_0; + shortcut_info.actual_sc [1] = actual_1; + shortcut_info.default_sc [0] = def_sc; + shortcut_info.default_sc [1] = def_sc; // TODO: Different defaults _sc << shortcut_info; // insert shortcut prepended by widget in order check for duplicates later QString widget = key.section ('_',0,0); // get widget that uses the shortcut - if (! actual.isEmpty ()) - _shortcut_hash[widget + ":" + actual.toString ()] = _sc.count (); // offset of 1 to avoid 0 + if (! actual_0.isEmpty ()) + _shortcut_hash[widget + ":" + actual_0.toString ()] = _sc.count (); // offset of 1 to avoid 0 + if (! actual_1.isEmpty ()) + _shortcut_hash[widget + "_1:" + actual_1.toString ()] = _sc.count (); // offset of 1 to avoid 0 _action_hash[key] = _sc.count (); // offset of 1 to avoid 0 } @@ -285,9 +328,18 @@ QTreeWidgetItem* section = _level_hash[sc.settings_key.section(':',0,0)]; QTreeWidgetItem* tree_item = new QTreeWidgetItem (section); + // set a slightly transparent foreground for default columns + QColor fg = QColor (tree_item->foreground (1).color ()); + fg.setAlpha (128); + tree_item->setForeground (1, QBrush (fg)); + tree_item->setForeground (3,QBrush (fg)); + + // write the shortcuts tree_item->setText (0, sc.description); - tree_item->setText (1, sc.default_sc); - tree_item->setText (2, sc.actual_sc); + tree_item->setText (1, sc.default_sc [0]); + tree_item->setText (2, sc.actual_sc [0]); + tree_item->setText (3, sc.default_sc [1]); + tree_item->setText (4, sc.actual_sc [1]); _item_index_hash[tree_item] = i + 1; // index+1 to avoid 0 _index_item_hash[i] = tree_item; @@ -299,7 +351,10 @@ shortcut_manager::do_write_shortcuts () { for (int i = 0; i < _sc.count (); i++) - _settings->setValue("shortcuts/"+_sc.at (i).settings_key, _sc.at (i).actual_sc.toString ()); + { + _settings->setValue("shortcuts/"+_sc.at (i).settings_key, _sc.at (i).actual_sc[0].toString ()); + _settings->setValue("shortcuts/"+_sc.at (i).settings_key+"_1", _sc.at (i).actual_sc[1].toString ()); + } _settings->sync (); @@ -309,18 +364,36 @@ void shortcut_manager::do_set_shortcut (QAction* action, const QString& key) { - int index = _action_hash[key] - 1; + int set = _settings->value ("shortcuts/set",0).toInt (); + int index; + + index = _action_hash[key] - 1; + + QString key_set = key; + if (set == 1) + key_set = key+"_1"; if (index > -1 && index < _sc.count ()) action->setShortcut (QKeySequence ( - _settings->value ("shortcuts/" + key, _sc.at (index).default_sc).toString ())); + _settings->value ("shortcuts/" + key_set, _sc.at (index).default_sc[set]).toString ())); else - qDebug () << "Key: " << key << " not found in _action_hash"; + qDebug () << "Key: " << key_set << " not found in _action_hash"; } void -shortcut_manager::handle_double_clicked (QTreeWidgetItem* item, int) +shortcut_manager::handle_double_clicked (QTreeWidgetItem* item, int col) { + switch (col) + { + case 2: + case 4: + _selected_set = col/2 - 1; + break; + + default: + return; + } + int i = _item_index_hash[item]; if (i == 0) return; // top-level-item clicked @@ -335,7 +408,8 @@ { _dialog = new QDialog (this); - _dialog->setWindowTitle (tr ("Enter new Shortcut")); + _dialog->setWindowTitle (tr ("Enter new Shortcut for Set %1") + .arg (_selected_set + 1)); QVBoxLayout *box = new QVBoxLayout(_dialog); @@ -388,8 +462,8 @@ } - _edit_actual->setText (_sc.at (index).actual_sc); - _label_default->setText (_sc.at (index).default_sc); + _edit_actual->setText (_sc.at (index).actual_sc[_selected_set]); + _label_default->setText (_sc.at (index).default_sc[_selected_set]); _handled_index = index; _edit_actual->setFocus (); @@ -407,8 +481,12 @@ // get the widget for which this shortcut is defined QString widget = _sc.at (_handled_index).settings_key.section ('_',0,0); - // and look - int double_index = _shortcut_hash[widget + ":" + _edit_actual->text()] - 1; + // and look for shortcut + QString sep = ":"; + if (_selected_set) + sep = "_1:"; + + int double_index = _shortcut_hash[widget + sep + _edit_actual->text()] - 1; if (double_index >= 0 && double_index != _handled_index) { @@ -424,24 +502,26 @@ if (ret == QMessageBox::Yes) { shortcut_t double_shortcut = _sc.at (double_index); - double_shortcut.actual_sc = QKeySequence (); + double_shortcut.actual_sc[_selected_set] = QKeySequence (); _sc.replace (double_index, double_shortcut); - _index_item_hash[double_index]->setText (2, QKeySequence ()); + _index_item_hash[double_index]->setText ((_selected_set + 1)*2, QKeySequence ()); } else return; } shortcut_t shortcut = _sc.at (_handled_index); - if (! shortcut.actual_sc.isEmpty ()) - _shortcut_hash.remove (widget + ":" + shortcut.actual_sc.toString ()); - shortcut.actual_sc = _edit_actual->text(); + if (! shortcut.actual_sc[_selected_set].isEmpty ()) + _shortcut_hash.remove (widget + sep + shortcut.actual_sc[_selected_set].toString ()); + shortcut.actual_sc[_selected_set] = _edit_actual->text(); _sc.replace (_handled_index, shortcut); - _index_item_hash[_handled_index]->setText (2, shortcut.actual_sc); + _index_item_hash[_handled_index]->setText ((_selected_set + 1)*2, + shortcut.actual_sc[_selected_set]); - if (! shortcut.actual_sc.isEmpty ()) - _shortcut_hash[widget + ":" + shortcut.actual_sc.toString ()] = _handled_index + 1; + if (! shortcut.actual_sc[_selected_set].isEmpty ()) + _shortcut_hash[widget + sep + shortcut.actual_sc[_selected_set].toString ()] = + _handled_index + 1; } void diff --git a/libgui/src/shortcut-manager.h b/libgui/src/shortcut-manager.h --- a/libgui/src/shortcut-manager.h +++ b/libgui/src/shortcut-manager.h @@ -116,8 +116,8 @@ { QString description; QString settings_key; - QKeySequence actual_sc; - QKeySequence default_sc; + QKeySequence actual_sc[2]; + QKeySequence default_sc[2]; QTreeWidgetItem *tree_item; }; @@ -134,6 +134,7 @@ int _handled_index; QSettings *_settings; + int _selected_set; }; diff --git a/libinterp/octave-value/ov-usr-fcn.cc b/libinterp/octave-value/ov-usr-fcn.cc diff --git a/scripts/plot/util/figure.m b/scripts/plot/util/figure.m --- a/scripts/plot/util/figure.m +++ b/scripts/plot/util/figure.m @@ -21,7 +21,7 @@ ## @deftypefnx {Command} {} figure @var{n} ## @deftypefnx {Function File} {} figure (@var{n}) ## @deftypefnx {Function File} {} figure (@dots{}, "@var{property}", @var{value}, @dots{}) -## @deftypefnx {Function File} {@var{h} =} figure (@var{dots}) +## @deftypefnx {Function File} {@var{h} =} figure (@dots{}) ## Create a new figure window for plotting. ## ## If no arguments are specified, a new figure with the next available number diff --git a/scripts/plot/util/isaxes.m b/scripts/plot/util/isaxes.m --- a/scripts/plot/util/isaxes.m +++ b/scripts/plot/util/isaxes.m @@ -35,10 +35,10 @@ endif hlist = ishandle (h); + retval = hlist; + if (any (hlist)) retval(hlist) = strcmp (get (h(hlist), "type"), "axes"); - else - retval = hlist; endif endfunction @@ -54,3 +54,11 @@ %! close (hf); %! end_unwind_protect +%!test +%! hf = figure ("visible", "off"); +%! unwind_protect +%! hax = axes (); +%! assert (isaxes ([hax NaN]), [true false]); +%! unwind_protect_cleanup +%! close (hf); +%! end_unwind_protect diff --git a/scripts/plot/util/private/__go_draw_axes__.m b/scripts/plot/util/private/__go_draw_axes__.m --- a/scripts/plot/util/private/__go_draw_axes__.m +++ b/scripts/plot/util/private/__go_draw_axes__.m @@ -1604,8 +1604,9 @@ else colorspec = get_text_colorspec (textcolors, mono); endif - fprintf (plot_stream, "set key %s %s;\nset key %s %s %s %s %s;\n", - inout, pos, box, reverse, horzvert, fontspec, colorspec); + fprintf (plot_stream, "set key %s %s;\nset key %s %s %s %s %s %s;\n", + inout, pos, box, reverse, horzvert, fontspec, colorspec, + __do_enhanced_option__ (enhanced, hlgnd)); else fputs (plot_stream, "unset key;\n"); endif @@ -2165,7 +2166,7 @@ tickdir, ticklength, axispos); endif - labels = regexprep (labels, '%', "%%"); + labels = strrep (labels, "%", "%%"); for i = 1:ntics fprintf (plot_stream, " \"%s\" %.15g", labels{k++}, tics(i)); if (i < ntics) @@ -2322,38 +2323,10 @@ warning ("latex markup not supported for text objects"); warned_latex = true; endif - elseif (enhanced) - str = no_super_sub_scripts (str); endif endif endfunction -function str = no_super_sub_scripts (str) - if (iscellstr (str)) - labels = str; - else - labels = cellstr (str); - endif - for marker = "_^" - for m = 1 : numel (labels) - n1 = strfind (labels{m}, sprintf ("\\%s", marker)); - n2 = strfind (labels{m}, marker); - if (! isempty (n1)) - n1 = n1 + 1; - n2 = setdiff (n2, n1); - endif - for n = numel (n2):-1:1 - labels{m} = [labels{m}(1:n2(n)-1), "\\", labels{m}(n2(n):end)]; - endfor - endfor - endfor - if (iscellstr (str)) - str = labels; - else - str = char (labels); - endif -endfunction - function str = __tex2enhanced__ (str, fnt, it, bld) persistent sym = __setup_sym_table__ (); persistent flds = fieldnames (sym);