comparison gui/src/MainWindow.cpp @ 13536:869c62c15e95

Few minor improvements, added advanced settings for file browser.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Tue, 26 Jul 2011 18:11:34 +0200
parents e02a2fb08bfd
children a43ecce77eec
comparison
equal deleted inserted replaced
13535:98bde3b5b7a0 13536:869c62c15e95
32 32
33 MainWindow::MainWindow (QWidget * parent):QMainWindow (parent), 33 MainWindow::MainWindow (QWidget * parent):QMainWindow (parent),
34 m_isRunning (true) 34 m_isRunning (true)
35 { 35 {
36 QDesktopServices desktopServices; 36 QDesktopServices desktopServices;
37 m_settingsFile = 37 m_settingsFile = desktopServices.storageLocation (QDesktopServices::HomeLocation) + "/.quint/settings.ini";
38 desktopServices.storageLocation (QDesktopServices::HomeLocation) +
39 "/.quint/settings.ini";
40 construct (); 38 construct ();
41 establishOctaveLink (); 39 establishOctaveLink ();
42 } 40 }
43 41
44 MainWindow::~MainWindow () 42 MainWindow::~MainWindow ()
83 QDesktopServices desktopServices; 81 QDesktopServices desktopServices;
84 QString selectedFile = 82 QString selectedFile =
85 QFileDialog::getSaveFileName (this, tr ("Save Workspace"), 83 QFileDialog::getSaveFileName (this, tr ("Save Workspace"),
86 desktopServices. 84 desktopServices.
87 storageLocation (QDesktopServices:: 85 storageLocation (QDesktopServices::
88 HomeLocation) + 86 HomeLocation));
89 "/.quint/workspace");
90 m_octaveTerminal->sendText (QString ("save \'%1\'\n").arg (selectedFile)); 87 m_octaveTerminal->sendText (QString ("save \'%1\'\n").arg (selectedFile));
91 m_octaveTerminal->setFocus (); 88 m_octaveTerminal->setFocus ();
92 } 89 }
93 90
94 void 91 void
97 QDesktopServices desktopServices; 94 QDesktopServices desktopServices;
98 QString selectedFile = 95 QString selectedFile =
99 QFileDialog::getOpenFileName (this, tr ("Load Workspace"), 96 QFileDialog::getOpenFileName (this, tr ("Load Workspace"),
100 desktopServices. 97 desktopServices.
101 storageLocation (QDesktopServices:: 98 storageLocation (QDesktopServices::
102 HomeLocation) + 99 HomeLocation));
103 "/.quint/workspace");
104 m_octaveTerminal->sendText (QString ("load \'%1\'\n").arg (selectedFile)); 100 m_octaveTerminal->sendText (QString ("load \'%1\'\n").arg (selectedFile));
105 m_octaveTerminal->setFocus (); 101 m_octaveTerminal->setFocus ();
106 } 102 }
107 103
108 void 104 void
134 } 130 }
135 131
136 void 132 void
137 MainWindow::openBugTrackerPage () 133 MainWindow::openBugTrackerPage ()
138 { 134 {
139 QDesktopServices:: 135 QDesktopServices::openUrl (QUrl ("http://savannah.gnu.org/bugs/?group=octave"));
140 openUrl (QUrl ("http://savannah.gnu.org/bugs/?group=octave"));
141 } 136 }
142 137
143 void 138 void
144 MainWindow::openAgoraPage () 139 MainWindow::openAgoraPage ()
145 { 140 {
146 QDesktopServices:: 141 QDesktopServices::openUrl (QUrl ("http://agora.panocha.org.mx/"));
147 openUrl (QUrl ("http://agora.panocha.org.mx/"));
148 } 142 }
149 143
150 void 144 void
151 MainWindow::openOctaveForgePage () 145 MainWindow::openOctaveForgePage ()
152 { 146 {
153 QDesktopServices:: 147 QDesktopServices::openUrl (QUrl ("http://octave.sourceforge.net/"));
154 openUrl (QUrl ("http://octave.sourceforge.net/"));
155 } 148 }
156 149
157 void 150 void
158 MainWindow::processSettingsDialogRequest () 151 MainWindow::processSettingsDialogRequest ()
159 { 152 {
160 SettingsDialog settingsDialog (this, m_settingsFile); 153 SettingsDialog settingsDialog (this, m_settingsFile);
161 settingsDialog.exec (); 154 settingsDialog.exec ();
155 emit settingsChanged ();
162 } 156 }
163 157
164 void 158 void
165 MainWindow::closeEvent (QCloseEvent * closeEvent) 159 MainWindow::closeEvent (QCloseEvent * closeEvent)
166 { 160 {
179 MainWindow::readSettings () 173 MainWindow::readSettings ()
180 { 174 {
181 QSettings settings (m_settingsFile, QSettings::IniFormat); 175 QSettings settings (m_settingsFile, QSettings::IniFormat);
182 restoreGeometry (settings.value ("MainWindow/geometry").toByteArray ()); 176 restoreGeometry (settings.value ("MainWindow/geometry").toByteArray ());
183 restoreState (settings.value ("MainWindow/windowState").toByteArray ()); 177 restoreState (settings.value ("MainWindow/windowState").toByteArray ());
178 m_centralMdiArea->restoreGeometry (settings.value ("MdiArea/geometry").toByteArray ());
179 emit settingsChanged ();
184 } 180 }
185 181
186 void 182 void
187 MainWindow::writeSettings () 183 MainWindow::writeSettings ()
188 { 184 {
189 QSettings settings (m_settingsFile, QSettings::IniFormat); 185 QSettings settings (m_settingsFile, QSettings::IniFormat);
190 settings.setValue ("MainWindow/geometry", saveGeometry ()); 186 settings.setValue ("MainWindow/geometry", saveGeometry ());
191 settings.setValue ("MainWindow/windowState", saveState ()); 187 settings.setValue ("MainWindow/windowState", saveState ());
188 settings.setValue ("MdiArea/geometry", m_centralMdiArea->saveGeometry ());
192 } 189 }
193 190
194 void 191 void
195 MainWindow::construct () 192 MainWindow::construct ()
196 { 193 {
290 connect (showHistoryAction, SIGNAL (toggled (bool)), m_historyDockWidget, SLOT (setShown (bool))); 287 connect (showHistoryAction, SIGNAL (toggled (bool)), m_historyDockWidget, SLOT (setShown (bool)));
291 //connect (m_historyDockWidget, SIGNAL (visibilityChanged (bool)), showHistoryAction, SLOT (setChecked (bool))); 288 //connect (m_historyDockWidget, SIGNAL (visibilityChanged (bool)), showHistoryAction, SLOT (setChecked (bool)));
292 connect (showFileBrowserAction, SIGNAL (toggled (bool)), m_filesDockWidget, SLOT (setShown (bool))); 289 connect (showFileBrowserAction, SIGNAL (toggled (bool)), m_filesDockWidget, SLOT (setShown (bool)));
293 //connect (m_filesDockWidget, SIGNAL (visibilityChanged (bool)), showFileBrowserAction, SLOT (setChecked (bool))); 290 //connect (m_filesDockWidget, SIGNAL (visibilityChanged (bool)), showFileBrowserAction, SLOT (setChecked (bool)));
294 291
292 connect (this, SIGNAL (settingsChanged ()), m_variablesDockWidget, SLOT (noticeSettings ()));
293 connect (this, SIGNAL (settingsChanged ()), m_historyDockWidget, SLOT (noticeSettings ()));
294 connect (this, SIGNAL (settingsChanged ()), m_filesDockWidget, SLOT (noticeSettings ()));
295
296 connect (m_filesDockWidget, SIGNAL (openFile (QString)), this, SLOT (handleOpenFileRequest (QString)));
297 connect (m_historyDockWidget, SIGNAL (information (QString)), this, SLOT (reportStatusMessage (QString)));
298 connect (saveWorkspaceAction, SIGNAL (triggered ()), this, SLOT (handleSaveWorkspaceRequest ()));
299 connect (loadWorkspaceAction, SIGNAL (triggered ()), this, SLOT (handleLoadWorkspaceRequest ()));
300 connect (clearWorkspaceAction, SIGNAL (triggered ()), this, SLOT (handleClearWorkspaceRequest ()));
301
295 setWindowTitle (QString (VERSION_STRING)); 302 setWindowTitle (QString (VERSION_STRING));
296 303
297 setCentralWidget (m_centralMdiArea); 304 setCentralWidget (m_centralMdiArea);
298 addDockWidget (Qt::LeftDockWidgetArea, m_variablesDockWidget); 305 addDockWidget (Qt::LeftDockWidgetArea, m_variablesDockWidget);
299 addDockWidget (Qt::LeftDockWidgetArea, m_historyDockWidget); 306 addDockWidget (Qt::LeftDockWidgetArea, m_historyDockWidget);
300 addDockWidget (Qt::RightDockWidgetArea, m_filesDockWidget); 307 addDockWidget (Qt::RightDockWidgetArea, m_filesDockWidget);
301 setStatusBar (m_statusBar); 308 setStatusBar (m_statusBar);
302 309
303 readSettings (); 310 readSettings ();
304
305 connect (m_filesDockWidget, SIGNAL (openFile (QString)), this,
306 SLOT (handleOpenFileRequest (QString)));
307 connect (m_historyDockWidget, SIGNAL (information (QString)), this,
308 SLOT (reportStatusMessage (QString)));
309 connect (saveWorkspaceAction, SIGNAL (triggered ()), this,
310 SLOT (handleSaveWorkspaceRequest ()));
311 connect (loadWorkspaceAction, SIGNAL (triggered ()), this,
312 SLOT (handleLoadWorkspaceRequest ()));
313 connect (clearWorkspaceAction, SIGNAL (triggered ()), this,
314 SLOT (handleClearWorkspaceRequest ()));
315
316 openWebPage ("http://www.gnu.org/software/octave/doc/interpreter/"); 311 openWebPage ("http://www.gnu.org/software/octave/doc/interpreter/");
317 } 312 }
318 313
319 void 314 void
320 MainWindow::establishOctaveLink () 315 MainWindow::establishOctaveLink ()