changeset 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 98bde3b5b7a0
children a43ecce77eec
files gui/src/BrowserWidget.h gui/src/FilesDockWidget.cpp gui/src/FilesDockWidget.h gui/src/HistoryDockWidget.cpp gui/src/HistoryDockWidget.h gui/src/MainWindow.cpp gui/src/MainWindow.h gui/src/SettingsDialog.cpp gui/src/SettingsDialog.ui gui/src/VariablesDockWidget.cpp gui/src/VariablesDockWidget.h
diffstat 11 files changed, 128 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/gui/src/BrowserWidget.h	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/BrowserWidget.h	Tue Jul 26 18:11:34 2011 +0200
@@ -27,11 +27,13 @@
 
 class BrowserWidget:public QWidget
 {
-Q_OBJECT public:
+  Q_OBJECT
+public:
   BrowserWidget (QWidget * parent = 0);
   void load (QUrl url);
 
-  public slots:void setUrl (QUrl url);
+public slots:
+  void setUrl (QUrl url);
   void jumpToWebsite ();
   void showStatusMessage (QString message);
 
--- a/gui/src/FilesDockWidget.cpp	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/FilesDockWidget.cpp	Tue Jul 26 18:11:34 2011 +0200
@@ -165,3 +165,9 @@
 	emit openFile (fileInfo.absoluteFilePath ());
     }
 }
+
+void
+FilesDockWidget::noticeSettings ()
+{
+
+}
--- a/gui/src/FilesDockWidget.h	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/FilesDockWidget.h	Tue Jul 26 18:11:34 2011 +0200
@@ -48,19 +48,26 @@
 
 class FilesDockWidget:public QDockWidget
 {
-  Q_OBJECT public:FilesDockWidget (QWidget * parent = 0);
-  public slots:
-    /** Slot for handling a change in directory via double click. */
+  Q_OBJECT
+public:
+  FilesDockWidget (QWidget * parent = 0);
+
+public slots:
+  /** Slot for handling a change in directory via double click. */
   void itemDoubleClicked (const QModelIndex & index);
 
-    /** Slot for handling the up-directory button in the toolbar. */
+  /** Slot for handling the up-directory button in the toolbar. */
   void onUpDirectory ();
 
   void setCurrentDirectory (QString currentDirectory);
 
   void currentDirectoryEntered ();
 
-    signals:void openFile (QString fileName);
+  /** Tells the widget to notice settings that are probably new. */
+  void noticeSettings ();
+
+signals:
+  void openFile (QString fileName);
 
 private:
   // TODO: Add toolbar with buttons for navigating the path, creating dirs, etc
--- a/gui/src/HistoryDockWidget.cpp	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/HistoryDockWidget.cpp	Tue Jul 26 18:11:34 2011 +0200
@@ -42,3 +42,9 @@
 
   widget ()->setLayout (layout);
 }
+
+void
+HistoryDockWidget::noticeSettings ()
+{
+
+}
--- a/gui/src/HistoryDockWidget.h	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/HistoryDockWidget.h	Tue Jul 26 18:11:34 2011 +0200
@@ -30,6 +30,10 @@
   HistoryDockWidget (QWidget *parent = 0);
   void updateHistory (QStringList history);
 
+public slots:
+  /** Tells the widget to notice settings that are probably new. */
+  void noticeSettings ();
+
 signals:
   void information (QString message);
 
--- a/gui/src/MainWindow.cpp	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/MainWindow.cpp	Tue Jul 26 18:11:34 2011 +0200
@@ -34,9 +34,7 @@
 m_isRunning (true)
 {
   QDesktopServices desktopServices;
-  m_settingsFile =
-    desktopServices.storageLocation (QDesktopServices::HomeLocation) +
-    "/.quint/settings.ini";
+  m_settingsFile = desktopServices.storageLocation (QDesktopServices::HomeLocation) + "/.quint/settings.ini";
   construct ();
   establishOctaveLink ();
 }
@@ -85,8 +83,7 @@
     QFileDialog::getSaveFileName (this, tr ("Save Workspace"),
 				  desktopServices.
 				  storageLocation (QDesktopServices::
-						   HomeLocation) +
-				  "/.quint/workspace");
+                                                   HomeLocation));
   m_octaveTerminal->sendText (QString ("save \'%1\'\n").arg (selectedFile));
   m_octaveTerminal->setFocus ();
 }
@@ -99,8 +96,7 @@
     QFileDialog::getOpenFileName (this, tr ("Load Workspace"),
 				  desktopServices.
 				  storageLocation (QDesktopServices::
-						   HomeLocation) +
-				  "/.quint/workspace");
+                                                   HomeLocation));
   m_octaveTerminal->sendText (QString ("load \'%1\'\n").arg (selectedFile));
   m_octaveTerminal->setFocus ();
 }
@@ -136,22 +132,19 @@
 void
 MainWindow::openBugTrackerPage ()
 {
-  QDesktopServices::
-    openUrl (QUrl ("http://savannah.gnu.org/bugs/?group=octave"));
+  QDesktopServices::openUrl (QUrl ("http://savannah.gnu.org/bugs/?group=octave"));
 }
 
 void
 MainWindow::openAgoraPage ()
 {
-  QDesktopServices::
-    openUrl (QUrl ("http://agora.panocha.org.mx/"));
+  QDesktopServices::openUrl (QUrl ("http://agora.panocha.org.mx/"));
 }
 
 void
 MainWindow::openOctaveForgePage ()
 {
-  QDesktopServices::
-    openUrl (QUrl ("http://octave.sourceforge.net/"));
+  QDesktopServices::openUrl (QUrl ("http://octave.sourceforge.net/"));
 }
 
 void
@@ -159,6 +152,7 @@
 {
   SettingsDialog settingsDialog (this, m_settingsFile);
   settingsDialog.exec ();
+  emit settingsChanged ();
 }
 
 void
@@ -181,6 +175,8 @@
   QSettings settings (m_settingsFile, QSettings::IniFormat);
   restoreGeometry (settings.value ("MainWindow/geometry").toByteArray ());
   restoreState (settings.value ("MainWindow/windowState").toByteArray ());
+  m_centralMdiArea->restoreGeometry (settings.value ("MdiArea/geometry").toByteArray ());
+  emit settingsChanged ();
 }
 
 void
@@ -189,6 +185,7 @@
   QSettings settings (m_settingsFile, QSettings::IniFormat);
   settings.setValue ("MainWindow/geometry", saveGeometry ());
   settings.setValue ("MainWindow/windowState", saveState ());
+  settings.setValue ("MdiArea/geometry", m_centralMdiArea->saveGeometry ());
 }
 
 void
@@ -292,6 +289,16 @@
   connect (showFileBrowserAction, SIGNAL (toggled (bool)), m_filesDockWidget, SLOT (setShown (bool)));
   //connect (m_filesDockWidget, SIGNAL (visibilityChanged (bool)), showFileBrowserAction, SLOT (setChecked (bool)));
 
+  connect (this, SIGNAL (settingsChanged ()), m_variablesDockWidget, SLOT (noticeSettings ()));
+  connect (this, SIGNAL (settingsChanged ()), m_historyDockWidget, SLOT (noticeSettings ()));
+  connect (this, SIGNAL (settingsChanged ()), m_filesDockWidget, SLOT (noticeSettings ()));
+
+  connect (m_filesDockWidget, SIGNAL (openFile (QString)), this, SLOT (handleOpenFileRequest (QString)));
+  connect (m_historyDockWidget, SIGNAL (information (QString)), this, SLOT (reportStatusMessage (QString)));
+  connect (saveWorkspaceAction, SIGNAL (triggered ()), this, SLOT (handleSaveWorkspaceRequest ()));
+  connect (loadWorkspaceAction, SIGNAL (triggered ()), this, SLOT (handleLoadWorkspaceRequest ()));
+  connect (clearWorkspaceAction, SIGNAL (triggered ()), this, SLOT (handleClearWorkspaceRequest ()));
+
   setWindowTitle (QString (VERSION_STRING));
 
   setCentralWidget (m_centralMdiArea);
@@ -301,18 +308,6 @@
   setStatusBar (m_statusBar);
 
   readSettings ();
-
-  connect (m_filesDockWidget, SIGNAL (openFile (QString)), this,
-	   SLOT (handleOpenFileRequest (QString)));
-  connect (m_historyDockWidget, SIGNAL (information (QString)), this,
-	   SLOT (reportStatusMessage (QString)));
-  connect (saveWorkspaceAction, SIGNAL (triggered ()), this,
-	   SLOT (handleSaveWorkspaceRequest ()));
-  connect (loadWorkspaceAction, SIGNAL (triggered ()), this,
-	   SLOT (handleLoadWorkspaceRequest ()));
-  connect (clearWorkspaceAction, SIGNAL (triggered ()), this,
-	   SLOT (handleClearWorkspaceRequest ()));
-
   openWebPage ("http://www.gnu.org/software/octave/doc/interpreter/");
 }
 
--- a/gui/src/MainWindow.h	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/MainWindow.h	Tue Jul 26 18:11:34 2011 +0200
@@ -68,8 +68,10 @@
   {
     return m_filesDockWidget;
   }
+signals:
+  void settingsChanged ();
 
-  public slots:
+public slots:
   void handleOpenFileRequest (QString fileName);
   void reportStatusMessage (QString statusMessage);
   void openWebPage (QString url);
--- a/gui/src/SettingsDialog.cpp	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/SettingsDialog.cpp	Tue Jul 26 18:11:34 2011 +0200
@@ -16,6 +16,12 @@
   ui->nickServPassword->setText (settings.value ("nickServPassword").toString ());
   ui->useCustomFileEditor->setChecked (settings.value ("useCustomFileEditor").toBool ());
   ui->customFileEditor->setText (settings.value ("customFileEditor").toString ());
+  ui->showFilenames->setChecked (settings.value ("showFilenames").toBool());
+  ui->showFileSize->setChecked (settings.value ("showFileSize").toBool());
+  ui->showFileType->setChecked (settings.value ("showFileType").toBool());
+  ui->showLastModified->setChecked (settings.value ("showLastModified").toBool());
+  ui->showHiddenFiles->setChecked (settings.value ("showHiddenFiles").toBool());
+  ui->useAlternatingRowColors->setChecked (settings.value ("useAlternatingRowColors").toBool());
 }
 
 SettingsDialog::~SettingsDialog ()
@@ -28,5 +34,11 @@
   settings.setValue ("nickServPassword", ui->nickServPassword->text ());
   settings.setValue ("useCustomFileEditor", ui->useCustomFileEditor->isChecked ());
   settings.setValue ("customFileEditor", ui->customFileEditor->text ());
+  settings.setValue ("showFilenames", ui->showFilenames->isChecked ());
+  settings.setValue ("showFileSize", ui->showFileSize->isChecked ());
+  settings.setValue ("showFileType", ui->showFileType->isChecked ());
+  settings.setValue ("showLastModified", ui->showLastModified->isChecked ());
+  settings.setValue ("showHiddenFiles", ui->showHiddenFiles->isChecked ());
+  settings.setValue ("useAlternatingRowColors", ui->useAlternatingRowColors->isChecked ());
   delete ui;
 }
--- a/gui/src/SettingsDialog.ui	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/SettingsDialog.ui	Tue Jul 26 18:11:34 2011 +0200
@@ -161,6 +161,55 @@
        </item>
       </layout>
      </widget>
+     <widget class="QWidget" name="tab_2">
+      <attribute name="title">
+       <string>File Browser</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_3">
+       <item>
+        <widget class="QCheckBox" name="showFilenames">
+         <property name="text">
+          <string>Show filenames</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="showFileSize">
+         <property name="text">
+          <string>Show file size</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="showFileType">
+         <property name="text">
+          <string>Show file type</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="showLastModified">
+         <property name="text">
+          <string>Show date of last modification</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="showHiddenFiles">
+         <property name="text">
+          <string>Show hidden files</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="useAlternatingRowColors">
+         <property name="text">
+          <string>Alternating row colors</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
     </widget>
    </item>
    <item>
--- a/gui/src/VariablesDockWidget.cpp	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/VariablesDockWidget.cpp	Tue Jul 26 18:11:34 2011 +0200
@@ -188,3 +188,9 @@
 	}
     }
 }
+
+void
+VariablesDockWidget::noticeSettings ()
+{
+
+}
--- a/gui/src/VariablesDockWidget.h	Tue Jul 26 17:33:59 2011 +0200
+++ b/gui/src/VariablesDockWidget.h	Tue Jul 26 18:11:34 2011 +0200
@@ -26,10 +26,15 @@
 
 class VariablesDockWidget:public QDockWidget
 {
-Q_OBJECT public:
+  Q_OBJECT
+public:
   VariablesDockWidget (QWidget * parent = 0);
   void setVariablesList (QList < SymbolRecord > symbolTable);
 
+public slots:
+  /** Tells the widget to notice settings that are probably new. */
+  void noticeSettings ();
+
 private:
   void construct ();
   void updateTreeEntry (QTreeWidgetItem * treeItem,