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 }