Mercurial > octave-nkf
comparison libgui/src/settings-dialog.cc @ 18310:03a8428adef7 gui-release
gui: provide prefernces for the file browser's directory at startup
* settings-dialog.ui: add check box for restoring previous directory and
line edit / file dialog for setting startup directory
* settings-dialog.cc (constructor): init new input widgets from settings,
connect needed signals;
(write_changed_settings): write values from new widgets into settings file;
(get_file_browser_dir): new slot for settings octave dir in a file dialog;
(get_dir): common function for settings dialog slots;
(get_octave_dir): use get_dir;
(set_disabled_pref_file_browser_dir): slot for disabling some setting widgets
* settings-dialog.h: new slots get_file_browser_dir, get_dir,
set_disabled_pref_file_browser_dir
* files-doc-widget.cc (constructor): set start directory depending on settings
author | Torsten <ttl@justmail.de> |
---|---|
date | Sun, 19 Jan 2014 17:25:35 +0100 |
parents | 024940bd5b77 |
children | 3df71e1d3b24 |
comparison
equal
deleted
inserted
replaced
18309:024940bd5b77 | 18310:03a8428adef7 |
---|---|
181 settings->value ("editor/create_new_file",false).toBool ()); | 181 settings->value ("editor/create_new_file",false).toBool ()); |
182 ui->terminal_fontName->setCurrentFont (QFont ( | 182 ui->terminal_fontName->setCurrentFont (QFont ( |
183 settings->value ("terminal/fontName","Courier New").toString ()) ); | 183 settings->value ("terminal/fontName","Courier New").toString ()) ); |
184 ui->terminal_fontSize->setValue ( | 184 ui->terminal_fontSize->setValue ( |
185 settings->value ("terminal/fontSize", 10).toInt ()); | 185 settings->value ("terminal/fontSize", 10).toInt ()); |
186 | |
187 // file browser | |
186 ui->showFileSize->setChecked ( | 188 ui->showFileSize->setChecked ( |
187 settings->value ("filesdockwidget/showFileSize", false).toBool ()); | 189 settings->value ("filesdockwidget/showFileSize", false).toBool ()); |
188 ui->showFileType->setChecked ( | 190 ui->showFileType->setChecked ( |
189 settings->value ("filesdockwidget/showFileType", false).toBool ()); | 191 settings->value ("filesdockwidget/showFileType", false).toBool ()); |
190 ui->showLastModified->setChecked ( | 192 ui->showLastModified->setChecked ( |
191 settings->value ("filesdockwidget/showLastModified",false).toBool ()); | 193 settings->value ("filesdockwidget/showLastModified",false).toBool ()); |
192 ui->showHiddenFiles->setChecked ( | 194 ui->showHiddenFiles->setChecked ( |
193 settings->value ("filesdockwidget/showHiddenFiles",false).toBool ()); | 195 settings->value ("filesdockwidget/showHiddenFiles",false).toBool ()); |
194 ui->useAlternatingRowColors->setChecked ( | 196 ui->useAlternatingRowColors->setChecked ( |
195 settings->value ("filesdockwidget/useAlternatingRowColors",true).toBool ()); | 197 settings->value ("filesdockwidget/useAlternatingRowColors",true).toBool ()); |
198 connect (ui->sync_octave_directory, SIGNAL (toggled (bool)), | |
199 this, SLOT (set_disabled_pref_file_browser_dir (bool))); | |
196 ui->sync_octave_directory->setChecked ( | 200 ui->sync_octave_directory->setChecked ( |
197 settings->value ("filesdockwidget/sync_octave_directory",true).toBool ()); | 201 settings->value ("filesdockwidget/sync_octave_directory",true).toBool ()); |
202 ui->cb_restore_file_browser_dir->setChecked ( | |
203 settings->value ("filesdockwidget/restore_last_dir",false).toBool ()); | |
204 ui->le_file_browser_dir->setText ( | |
205 settings->value ("filesdockwidget/startup_dir").toString ()); | |
206 connect (ui->pb_file_browser_dir, SIGNAL (pressed ()), | |
207 this, SLOT (get_file_browser_dir ())); | |
208 | |
198 ui->checkbox_allow_web_connect->setChecked ( | 209 ui->checkbox_allow_web_connect->setChecked ( |
199 settings->value ("news/allow_web_connection",false).toBool ()); | 210 settings->value ("news/allow_web_connection",false).toBool ()); |
200 ui->useProxyServer->setChecked ( | 211 ui->useProxyServer->setChecked ( |
201 settings->value ("useProxyServer", false).toBool ()); | 212 settings->value ("useProxyServer", false).toBool ()); |
202 ui->proxyHostName->setText (settings->value ("proxyHostName").toString ()); | 213 ui->proxyHostName->setText (settings->value ("proxyHostName").toString ()); |
566 settings->setValue ("editor/create_new_file", | 577 settings->setValue ("editor/create_new_file", |
567 ui->editor_create_new_file->isChecked ()); | 578 ui->editor_create_new_file->isChecked ()); |
568 settings->setValue ("terminal/fontSize", ui->terminal_fontSize->value ()); | 579 settings->setValue ("terminal/fontSize", ui->terminal_fontSize->value ()); |
569 settings->setValue ("terminal/fontName", | 580 settings->setValue ("terminal/fontName", |
570 ui->terminal_fontName->currentFont ().family ()); | 581 ui->terminal_fontName->currentFont ().family ()); |
582 | |
571 settings->setValue ("filesdockwidget/showFileSize", | 583 settings->setValue ("filesdockwidget/showFileSize", |
572 ui->showFileSize->isChecked ()); | 584 ui->showFileSize->isChecked ()); |
573 settings->setValue ("filesdockwidget/showFileType", | 585 settings->setValue ("filesdockwidget/showFileType", |
574 ui->showFileType->isChecked ()); | 586 ui->showFileType->isChecked ()); |
575 settings->setValue ("filesdockwidget/showLastModified", | 587 settings->setValue ("filesdockwidget/showLastModified", |
578 ui->showHiddenFiles->isChecked ()); | 590 ui->showHiddenFiles->isChecked ()); |
579 settings->setValue ("filesdockwidget/useAlternatingRowColors", | 591 settings->setValue ("filesdockwidget/useAlternatingRowColors", |
580 ui->useAlternatingRowColors->isChecked ()); | 592 ui->useAlternatingRowColors->isChecked ()); |
581 settings->setValue ("filesdockwidget/sync_octave_directory", | 593 settings->setValue ("filesdockwidget/sync_octave_directory", |
582 ui->sync_octave_directory->isChecked ()); | 594 ui->sync_octave_directory->isChecked ()); |
595 settings->setValue ("filesdockwidget/restore_last_dir", | |
596 ui->cb_restore_file_browser_dir->isChecked ()); | |
597 settings->setValue ("filesdockwidget/startup_dir", | |
598 ui->le_file_browser_dir->text ()); | |
599 | |
600 | |
583 settings->setValue ("news/allow_web_connection", | 601 settings->setValue ("news/allow_web_connection", |
584 ui->checkbox_allow_web_connect->isChecked ()); | 602 ui->checkbox_allow_web_connect->isChecked ()); |
585 settings->setValue ("useProxyServer", ui->useProxyServer->isChecked ()); | 603 settings->setValue ("useProxyServer", ui->useProxyServer->isChecked ()); |
586 settings->setValue ("proxyType", ui->proxyType->currentText ()); | 604 settings->setValue ("proxyType", ui->proxyType->currentText ()); |
587 settings->setValue ("proxyHostName", ui->proxyHostName->text ()); | 605 settings->setValue ("proxyHostName", ui->proxyHostName->text ()); |
762 color->color ()); | 780 color->color ()); |
763 } | 781 } |
764 settings->sync (); | 782 settings->sync (); |
765 } | 783 } |
766 | 784 |
785 | |
786 // internal slots | |
787 | |
788 void | |
789 settings_dialog::get_dir (QLineEdit *line_edit, const QString& title) | |
790 { | |
791 QString dir = QFileDialog::getExistingDirectory(this, | |
792 title, line_edit->text (), | |
793 QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); | |
794 line_edit->setText (dir); | |
795 } | |
796 | |
767 void | 797 void |
768 settings_dialog::get_octave_dir () | 798 settings_dialog::get_octave_dir () |
769 { | 799 { |
770 QString dir = QFileDialog::getExistingDirectory(this, | 800 get_dir (ui->le_octave_dir, tr ("Set Octave Startup Directory")); |
771 tr("Set Octave Startup Directory"), "", | 801 } |
772 QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); | 802 |
773 ui->le_octave_dir->setText (dir); | 803 void |
774 } | 804 settings_dialog::get_file_browser_dir () |
805 { | |
806 get_dir (ui->le_file_browser_dir, tr ("Set File Browser Startup Directory")); | |
807 } | |
808 | |
809 void | |
810 settings_dialog::set_disabled_pref_file_browser_dir (bool disable) | |
811 { | |
812 ui->cb_restore_file_browser_dir->setDisabled (disable); | |
813 | |
814 if (! disable) | |
815 { | |
816 ui->le_file_browser_dir->setDisabled (ui->cb_restore_file_browser_dir->isChecked ()); | |
817 ui->pb_file_browser_dir->setDisabled (ui->cb_restore_file_browser_dir->isChecked ()); | |
818 } | |
819 else | |
820 { | |
821 ui->le_file_browser_dir->setDisabled (disable); | |
822 ui->pb_file_browser_dir->setDisabled (disable); | |
823 } | |
824 } |