Mercurial > hg > octave-nkf
changeset 18555:8473198fd005
maint: Periodic merge of gui-release to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 18 Feb 2014 02:51:48 -0500 |
parents | 16b0cd465ecd (current diff) ca65b05b9a8a (diff) |
children | 1fa5bba16218 |
files | Makefile.am configure.ac doc/interpreter/plot.txi libinterp/corefcn/file-io.cc |
diffstat | 13 files changed, 222 insertions(+), 228 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags +++ b/.hgtags @@ -83,3 +83,5 @@ d734216aa2b1022c190e6b07d7ccdd59fe15678f rc-3-8-0-1 f1fa148766d623f7f24cf541ea8b88d8c1b63d33 rc-3-8-0-2 b72bcf5f78cc2231e9bf2735d3b8d92779fc4dff release-3-8-0 +85d31344fb23725791bc687337295d47416b9c17 rc-3-8-1-2 +02ce68d63fba31cd14ac060c087212a032ae3202 rc-3-8-1-3
--- a/Makefile.am +++ b/Makefile.am @@ -164,8 +164,9 @@ .PHONY: ChangeLog octetc_DATA = \ + CITATION \ NEWS \ - CITATION + config.log doxyhtml: $(MAKE) -C doc/doxyhtml doxyhtml
--- a/configure.ac +++ b/configure.ac @@ -24,9 +24,9 @@ dnl Note that the version number is duplicated here and in AC_INIT dnl because AC_INIT requires it to be static, not computed from dnl shell variables. -OCTAVE_MAJOR_VERSION=3 -OCTAVE_MINOR_VERSION=8 -OCTAVE_PATCH_VERSION=0 +OCTAVE_MAJOR_VERSION=4 +OCTAVE_MINOR_VERSION=1 +OCTAVE_PATCH_VERSION=0+ dnl PACKAGE_VERSION is set by the AC_INIT VERSION arg OCTAVE_VERSION="$PACKAGE_VERSION"
--- a/doc/interpreter/plot.txi +++ b/doc/interpreter/plot.txi @@ -2646,7 +2646,13 @@ @item @qcode{"-"} Solid line. [default] -@item @qcode{"--"} +@c Special handling required to avoid '--' becoming single en-dash in Info +@ifnottex +@item @verb{|"--"|} +@end ifnottex +@iftex +@item @code{"--"} +@end iftex Dashed line. @item @qcode{":"}
--- a/libgui/src/m-editor/file-editor-tab.cc +++ b/libgui/src/m-editor/file-editor-tab.cc @@ -139,8 +139,7 @@ _edit_area->setUtf8 (true); // auto completion - _edit_area->autoCompleteFromAll (); - _edit_area->setAutoCompletionSource (QsciScintilla::AcsAll); + _edit_area->SendScintilla (QsciScintillaBase::SCI_AUTOCSETCANCELATSTART, false); QVBoxLayout *edit_area_layout = new QVBoxLayout (); edit_area_layout->addWidget (_edit_area); @@ -835,6 +834,32 @@ } void +file_editor_tab::show_auto_completion (const QWidget *ID) +{ + if (ID != this) + return; + + QsciScintilla::AutoCompletionSource s = _edit_area->autoCompletionSource (); + switch (s) + { + case QsciScintilla::AcsAll: + _edit_area->autoCompleteFromAll (); + break; + + case QsciScintilla::AcsAPIs: + _edit_area->autoCompleteFromAPIs (); + break; + + case QsciScintilla::AcsDocument: + _edit_area->autoCompleteFromDocument (); + break; + + case QsciScintilla::AcsNone: + break; + } +} + +void file_editor_tab::do_indent_selected_text (bool indent) { // TODO @@ -1361,30 +1386,29 @@ _edit_area->setCaretLineVisible (settings->value ("editor/highlightCurrentLine", true).toBool ()); - if (settings->value ("editor/codeCompletion", true).toBool ()) // auto compl. - { - bool match_keywords = settings->value + bool match_keywords = settings->value ("editor/codeCompletion_keywords",true).toBool (); - bool match_document = settings->value + bool match_document = settings->value ("editor/codeCompletion_document",true).toBool (); - QsciScintilla::AutoCompletionSource source = QsciScintilla::AcsNone; - if (match_keywords) - if (match_document) - source = QsciScintilla::AcsAll; - else - source = QsciScintilla::AcsAPIs; - else if (match_document) - source = QsciScintilla::AcsDocument; - _edit_area->setAutoCompletionSource (source); + QsciScintilla::AutoCompletionSource source = QsciScintilla::AcsNone; + if (match_keywords) + if (match_document) + source = QsciScintilla::AcsAll; + else + source = QsciScintilla::AcsAPIs; + else if (match_document) + source = QsciScintilla::AcsDocument; + _edit_area->setAutoCompletionSource (source); - _edit_area->setAutoCompletionReplaceWord - (settings->value ("editor/codeCompletion_replace",false).toBool ()); - _edit_area->setAutoCompletionCaseSensitivity - (settings->value ("editor/codeCompletion_case",true).toBool ()); - _edit_area->setAutoCompletionThreshold - (settings->value ("editor/codeCompletion_threshold",2).toInt ()); - } + _edit_area->setAutoCompletionReplaceWord + (settings->value ("editor/codeCompletion_replace",false).toBool ()); + _edit_area->setAutoCompletionCaseSensitivity + (settings->value ("editor/codeCompletion_case",true).toBool ()); + + if (settings->value ("editor/codeCompletion", true).toBool ()) + _edit_area->setAutoCompletionThreshold + (settings->value ("editor/codeCompletion_threshold",2).toInt ()); else _edit_area->setAutoCompletionThreshold (-1); @@ -1576,6 +1600,9 @@ void file_editor_tab::handle_cursor_moved (int line, int col) { + if (_edit_area->SendScintilla (QsciScintillaBase::SCI_AUTOCACTIVE)) + show_auto_completion (this); + _row_indicator->setNum (line+1); _col_indicator->setNum (col+1); }
--- a/libgui/src/m-editor/file-editor-tab.h +++ b/libgui/src/m-editor/file-editor-tab.h @@ -99,6 +99,7 @@ void find (const QWidget *ID); void goto_line (const QWidget *ID, int line = -1); + void show_auto_completion (const QWidget *ID); void insert_debugger_pointer (const QWidget *ID, int line = -1); void delete_debugger_pointer (const QWidget *ID, int line = -1);
--- a/libgui/src/m-editor/file-editor.cc +++ b/libgui/src/m-editor/file-editor.cc @@ -370,7 +370,7 @@ tr ("File\n%1\ndoes not exist. " "Do you want to create it?").arg (openFileName), QMessageBox::Yes - | QMessageBox::No, this); + | QMessageBox::No, 0); msgBox->setAttribute (Qt::WA_DeleteOnClose); answer = msgBox->exec (); @@ -697,6 +697,12 @@ void +file_editor::request_completion (void) +{ + emit fetab_completion (_tab_widget->currentWidget ()); +} + +void file_editor::handle_mru_add_file (const QString& file_name) { _mru_files.removeAll (file_name); @@ -986,9 +992,10 @@ _goto_line_action = new QAction (tr ("Go &to Line..."), _tool_bar); + _completion_action = new QAction (tr ("&Show Completion List"), _tool_bar); + // the mru-list and an empty array of actions QSettings *settings = resource_manager::get_settings (); - // FIXME: what should happen if settings is 0? _mru_files = settings->value ("editor/mru_file_list").toStringList (); for (int i = 0; i < MaxMRUFiles; ++i) { @@ -1015,6 +1022,7 @@ _unindent_selection_action->setShortcutContext (Qt::WindowShortcut); _find_action->setShortcutContext (Qt::WindowShortcut); _goto_line_action->setShortcutContext (Qt::WindowShortcut); + _completion_action->setShortcutContext (Qt::WindowShortcut); // toolbar _tool_bar->addAction (new_action); @@ -1092,10 +1100,11 @@ editMenu->addSeparator (); editMenu->addAction (_comment_selection_action); editMenu->addAction (_uncomment_selection_action); - editMenu->addSeparator (); editMenu->addAction (_indent_selection_action); editMenu->addAction (_unindent_selection_action); editMenu->addSeparator (); + editMenu->addAction (_completion_action); + editMenu->addSeparator (); editMenu->addAction (_toggle_bookmark_action); editMenu->addAction (_next_bookmark_action); editMenu->addAction (_previous_bookmark_action); @@ -1237,6 +1246,9 @@ connect (_goto_line_action, SIGNAL (triggered ()), this, SLOT (request_goto_line ())); + connect (_completion_action, SIGNAL (triggered ()), + this, SLOT (request_completion ())); + connect (_mru_file_menu, SIGNAL (triggered (QAction *)), this, SLOT (request_mru_open_file (QAction *))); @@ -1396,6 +1408,9 @@ connect (this, SIGNAL (fetab_goto_line (const QWidget*, int)), f, SLOT (goto_line (const QWidget*, int))); + connect (this, SIGNAL (fetab_completion (const QWidget*)), + f, SLOT (show_auto_completion (const QWidget*))); + connect (this, SIGNAL (fetab_set_focus (const QWidget*)), f, SLOT (set_focus (const QWidget*))); @@ -1458,6 +1473,7 @@ _find_action->setShortcut (QKeySequence::Find); _goto_line_action->setShortcut (Qt::ControlModifier+ Qt::Key_G); + _completion_action->setShortcut (Qt::ControlModifier + Qt::Key_Space); _next_bookmark_action->setShortcut (Qt::Key_F2); _previous_bookmark_action->setShortcut (Qt::SHIFT + Qt::Key_F2); @@ -1492,6 +1508,7 @@ _find_action->setShortcut (no_key); _goto_line_action->setShortcut (no_key); + _completion_action->setShortcut (no_key); _next_bookmark_action->setShortcut (no_key); _previous_bookmark_action->setShortcut (no_key); @@ -1528,6 +1545,7 @@ _find_action->setEnabled (have_tabs); _goto_line_action->setEnabled (have_tabs); + _completion_action->setEnabled (have_tabs); _next_bookmark_action->setEnabled (have_tabs); _previous_bookmark_action->setEnabled (have_tabs);
--- a/libgui/src/m-editor/file-editor.h +++ b/libgui/src/m-editor/file-editor.h @@ -97,6 +97,7 @@ void fetab_unindent_selected_text (const QWidget* ID); void fetab_find (const QWidget* ID); void fetab_goto_line (const QWidget* ID, int line = -1); + void fetab_completion (const QWidget*); void fetab_insert_debugger_pointer (const QWidget* ID, int line = -1); void fetab_delete_debugger_pointer (const QWidget* ID, int line = -1); void fetab_do_breakpoint_marker (bool insert, const QWidget* ID, @@ -150,6 +151,7 @@ void request_find (void); void request_goto_line (void); + void request_completion (void); void handle_file_name_changed (const QString& fileName, const QString& toolTip); @@ -222,6 +224,7 @@ QAction *_find_action; QAction *_goto_line_action; + QAction *_completion_action; QAction *_next_bookmark_action; QAction *_previous_bookmark_action;
--- a/libgui/src/settings-dialog.ui +++ b/libgui/src/settings-dialog.ui @@ -32,7 +32,7 @@ </size> </property> <property name="currentIndex"> - <number>5</number> + <number>1</number> </property> <widget class="QWidget" name="tab_general"> <property name="enabled"> @@ -389,7 +389,7 @@ <x>0</x> <y>0</y> <width>662</width> - <height>399</height> + <height>419</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_16"> @@ -781,35 +781,131 @@ <property name="verticalSpacing"> <number>0</number> </property> - <item row="0" column="0"> - <widget class="QCheckBox" name="editor_codeCompletion"> - <property name="enabled"> - <bool>true</bool> - </property> - <property name="text"> - <string>Code completion</string> - </property> - <property name="checked"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="0" column="2"> + <item row="1" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_2"> <property name="spacing"> <number>6</number> </property> + <property name="bottomMargin"> + <number>4</number> + </property> <item> + <widget class="QLabel" name="label_16"> + <property name="text"> + <string>Auto completion</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="2" column="1"> + <layout class="QGridLayout" name="gridLayout_3"> + <property name="verticalSpacing"> + <number>0</number> + </property> + <item row="0" column="1"> + <spacer name="horizontalSpacer_15"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>10</width> + <height>0</height> + </size> + </property> + </spacer> + </item> + <item row="0" column="0"> + <widget class="QCheckBox" name="editor_checkbox_ac_keywords"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Match keywords</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="editor_checkbox_ac_case"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Case sensitive</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QCheckBox" name="editor_checkbox_ac_replace"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Replace word by suggested one</string> + </property> + </widget> + </item> + <item row="0" column="3"> + <spacer name="horizontalSpacer_8"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="0" column="2"> + <widget class="QCheckBox" name="editor_checkbox_ac_document"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Match words in document</string> + </property> + </widget> + </item> + <item row="1" column="3"> + <spacer name="horizontalSpacer_19"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item row="3" column="1"> + <layout class="QGridLayout" name="gridLayout_10"> + <item row="0" column="1"> <widget class="QLabel" name="editor_label_ac_threshold"> <property name="enabled"> <bool>false</bool> </property> <property name="text"> - <string># of characters typed before completion list displayed</string> + <string>after number of characters typed: </string> </property> </widget> </item> - <item> + <item row="0" column="2"> <widget class="QSpinBox" name="editor_spinbox_ac_threshold"> <property name="enabled"> <bool>false</bool> @@ -834,7 +930,20 @@ </property> </widget> </item> - <item> + <item row="0" column="0"> + <widget class="QCheckBox" name="editor_codeCompletion"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Show completion list automatically ...</string> + </property> + <property name="checked"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="0" column="3"> <spacer name="horizontalSpacer_2"> <property name="orientation"> <enum>Qt::Horizontal</enum> @@ -849,117 +958,6 @@ </item> </layout> </item> - <item row="1" column="2"> - <layout class="QGridLayout" name="gridLayout_3"> - <property name="verticalSpacing"> - <number>0</number> - </property> - <item row="0" column="1"> - <spacer name="horizontalSpacer_15"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>10</width> - <height>0</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0"> - <widget class="QCheckBox" name="editor_checkbox_ac_keywords"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>Match keywords</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QCheckBox" name="editor_checkbox_ac_case"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>Case sensitive</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2"> - <widget class="QCheckBox" name="editor_checkbox_ac_replace"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>Replace word by suggested one</string> - </property> - </widget> - </item> - <item row="0" column="3"> - <spacer name="horizontalSpacer_8"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="2"> - <widget class="QCheckBox" name="editor_checkbox_ac_document"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>Match words in document</string> - </property> - </widget> - </item> - <item row="1" column="3"> - <spacer name="horizontalSpacer_19"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item row="0" column="1"> - <spacer name="horizontalSpacer_7"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>10</width> - <height>0</height> - </size> - </property> - </spacer> - </item> </layout> </item> <item> @@ -2006,54 +2004,6 @@ </hints> </connection> <connection> - <sender>editor_codeCompletion</sender> - <signal>toggled(bool)</signal> - <receiver>editor_checkbox_ac_keywords</receiver> - <slot>setEnabled(bool)</slot> - <hints> - <hint type="sourcelabel"> - <x>83</x> - <y>170</y> - </hint> - <hint type="destinationlabel"> - <x>238</x> - <y>201</y> - </hint> - </hints> - </connection> - <connection> - <sender>editor_codeCompletion</sender> - <signal>toggled(bool)</signal> - <receiver>editor_checkbox_ac_document</receiver> - <slot>setEnabled(bool)</slot> - <hints> - <hint type="sourcelabel"> - <x>83</x> - <y>170</y> - </hint> - <hint type="destinationlabel"> - <x>390</x> - <y>201</y> - </hint> - </hints> - </connection> - <connection> - <sender>editor_codeCompletion</sender> - <signal>toggled(bool)</signal> - <receiver>editor_checkbox_ac_replace</receiver> - <slot>setEnabled(bool)</slot> - <hints> - <hint type="sourcelabel"> - <x>83</x> - <y>170</y> - </hint> - <hint type="destinationlabel"> - <x>427</x> - <y>229</y> - </hint> - </hints> - </connection> - <connection> <sender>editor_highlightCurrentLine</sender> <signal>toggled(bool)</signal> <receiver>editor_label_cl_color</receiver> @@ -2070,22 +2020,6 @@ </hints> </connection> <connection> - <sender>editor_codeCompletion</sender> - <signal>toggled(bool)</signal> - <receiver>editor_checkbox_ac_case</receiver> - <slot>setEnabled(bool)</slot> - <hints> - <hint type="sourcelabel"> - <x>83</x> - <y>172</y> - </hint> - <hint type="destinationlabel"> - <x>525</x> - <y>203</y> - </hint> - </hints> - </connection> - <connection> <sender>editor_ws_checkbox</sender> <signal>toggled(bool)</signal> <receiver>editor_ws_indent_checkbox</receiver>
--- a/libinterp/corefcn/file-io.cc +++ b/libinterp/corefcn/file-io.cc @@ -1805,7 +1805,7 @@ return retval; } -DEFUN (popen, args, , +DEFUNX ("popen", Fpopen, args, , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{fid} =} popen (@var{command}, @var{mode})\n\ Start a process and create a pipe. The name of the command to run is\n\
--- a/liboctave/numeric/DASPK-opts.in +++ b/liboctave/numeric/DASPK-opts.in @@ -212,7 +212,7 @@ in the equation set. This option is required by the -@qcode{compute consistent initial condition\"} and +@qcode{\"compute consistent initial condition\"} and @qcode{\"exclude algebraic variables from error test\"} options. END_DOC_ITEM
--- a/scripts/general/validateattributes.m +++ b/scripts/general/validateattributes.m @@ -147,7 +147,7 @@ ## @item @qcode{"scalar"} ## It is a scalar. ## -## @item @qcode{"size",} +## @item @qcode{"size"} ## Its size has length equal to the values of the next in @var{attributes}. ## The next value must is an array with the length for each dimension. To ## ignore the check for a certain dimension, the value of @code{NaN} can be
--- a/scripts/plot/appearance/axis.m +++ b/scripts/plot/appearance/axis.m @@ -185,9 +185,11 @@ ## aspect ratio elseif (strcmpi (ax, "image")) __axis__ (ca, "equal"); + set (ca, "plotboxaspectratiomode", "auto"); __do_tight_option__ (ca); elseif (strcmpi (ax, "square")) - set (ca, "plotboxaspectratio", [1, 1, 1]); + set (ca, "dataaspectratiomode", "auto", + "plotboxaspectratio", [1, 1, 1]); elseif (strcmp (ax, "equal")) if (strcmp (get (get (ca, "parent"), "__graphics_toolkit__"), "gnuplot")) ## FIXME - gnuplot applies the aspect ratio activepostionproperty.