Mercurial > hg > octave-nkf
changeset 18155:14acb08d75fa gui-release
gui: optionally set focus to console when a command is run from another widget
* settings-dialog.ui: new checkbox for focus switching to console
* settings-dialog.cc (constructor): read new setting and init check box,
(write_changed_settings): write state from check box into settings file
* main-window.cc (focus_console_after_command): new functions checking
settings file for new settings,
(execute_command_in_terminal): focus console if desired,
(run_file_in_terminal): focus console if desired
* main-window.h: new function focus_console_after_command
author | Torsten <ttl@justmail.de> |
---|---|
date | Fri, 20 Dec 2013 16:13:20 +0100 |
parents | 5971c8f515a7 |
children | d13fb462dd92 |
files | libgui/src/main-window.cc libgui/src/main-window.h libgui/src/settings-dialog.cc libgui/src/settings-dialog.ui |
diffstat | 4 files changed, 129 insertions(+), 116 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/main-window.cc +++ b/libgui/src/main-window.cc @@ -241,17 +241,27 @@ octave_link::post_event (this, &main_window::clear_history_callback); } +bool +main_window::focus_console_after_command () +{ + QSettings *settings = resource_manager::get_settings (); + return settings->value ("terminal/focus_after_command",false).toBool (); +} + void main_window::execute_command_in_terminal (const QString& command) { queue_command (command); - focus_command_window (); + if (focus_console_after_command ()) + focus_command_window (); } void main_window::run_file_in_terminal (const QFileInfo& info) { octave_link::post_event (this, &main_window::run_file_callback, info); + if (focus_console_after_command ()) + focus_command_window (); } void
--- a/libgui/src/main-window.h +++ b/libgui/src/main-window.h @@ -250,6 +250,7 @@ void execute_command_callback (); void run_file_callback (const QFileInfo& info); + bool focus_console_after_command (); void new_figure_callback (void);
--- a/libgui/src/settings-dialog.cc +++ b/libgui/src/settings-dialog.cc @@ -168,6 +168,8 @@ settings->value ("terminal/cursorBlinking",true).toBool ()); ui->terminal_cursorUseForegroundColor->setChecked ( settings->value ("terminal/cursorUseForegroundColor",true).toBool ()); + ui->terminal_focus_command->setChecked ( + settings->value ("terminal/focus_after_command",false).toBool ()); QString cursorType = settings->value ("terminal/cursorType", "ibeam").toString (); @@ -537,6 +539,8 @@ ui->terminal_cursorBlinking->isChecked ()); settings->setValue ("terminal/cursorUseForegroundColor", ui->terminal_cursorUseForegroundColor->isChecked ()); + settings->setValue ("terminal/focus_after_command", + ui->terminal_focus_command->isChecked ()); // the cursor QString cursorType;
--- a/libgui/src/settings-dialog.ui +++ b/libgui/src/settings-dialog.ui @@ -32,7 +32,7 @@ <item> <widget class="QTabWidget" name="tabWidget"> <property name="currentIndex"> - <number>6</number> + <number>3</number> </property> <widget class="QWidget" name="tab_general"> <property name="enabled"> @@ -855,67 +855,113 @@ <attribute name="title"> <string>Terminal</string> </attribute> - <widget class="QWidget" name="horizontalLayoutWidget"> - <property name="geometry"> - <rect> - <x>10</x> - <y>50</y> - <width>631</width> - <height>31</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Cursor type:</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="terminal_cursorType"/> - </item> - <item> - <spacer name="horizontalSpacer"> - <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> - <widget class="QCheckBox" name="terminal_cursorBlinking"> - <property name="text"> - <string>Cursor blinking</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="terminal_cursorUseForegroundColor"> - <property name="text"> - <string>Use foreground color</string> - </property> - </widget> - </item> - </layout> - </widget> <widget class="QWidget" name="verticalLayoutWidget_3"> <property name="geometry"> <rect> <x>10</x> - <y>90</y> + <y>10</y> <width>631</width> - <height>291</height> + <height>371</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_8"> <item> - <widget class="Line" name="line_6"> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <widget class="QLabel" name="label_11"> + <property name="text"> + <string>Font</string> + </property> + </widget> + </item> + <item> + <widget class="QFontComboBox" name="terminal_fontName"> + <property name="editable"> + <bool>false</bool> + </property> + <property name="fontFilters"> + <set>QFontComboBox::MonospacedFonts</set> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_12"> + <property name="text"> + <string>Font size</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="terminal_fontSize"> + <property name="minimum"> + <number>2</number> + </property> + <property name="maximum"> + <number>96</number> + </property> + <property name="value"> + <number>10</number> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_5"> + <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> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Cursor type:</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="terminal_cursorType"/> + </item> + <item> + <spacer name="horizontalSpacer"> + <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> + <widget class="QCheckBox" name="terminal_cursorBlinking"> + <property name="text"> + <string>Cursor blinking</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="terminal_cursorUseForegroundColor"> + <property name="text"> + <string>Use foreground color</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="Line" name="line_7"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> @@ -948,6 +994,20 @@ </widget> </item> <item> + <widget class="QCheckBox" name="terminal_focus_command"> + <property name="text"> + <string>Set focus to terminal when running a command from within another widget</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_6"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> <spacer name="verticalSpacer_3"> <property name="orientation"> <enum>Qt::Vertical</enum> @@ -962,68 +1022,6 @@ </item> </layout> </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>10</x> - <y>10</y> - <width>631</width> - <height>31</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_5"> - <item> - <widget class="QLabel" name="label_11"> - <property name="text"> - <string>Font</string> - </property> - </widget> - </item> - <item> - <widget class="QFontComboBox" name="terminal_fontName"> - <property name="editable"> - <bool>false</bool> - </property> - <property name="fontFilters"> - <set>QFontComboBox::MonospacedFonts</set> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_12"> - <property name="text"> - <string>Font size</string> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="terminal_fontSize"> - <property name="minimum"> - <number>2</number> - </property> - <property name="maximum"> - <number>96</number> - </property> - <property name="value"> - <number>10</number> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_5"> - <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> - </widget> </widget> <widget class="QWidget" name="tab_file_browser"> <attribute name="title">