changeset 18024:989ff97a7e8c stable

provide warning about experimental GUI * main-window.h, main-window.cc (main_window::construct_warning_bar): New function. (main_window::construct): Call it.
author John W. Eaton <jwe@octave.org>
date Tue, 26 Nov 2013 21:51:17 -0500
parents 4138a7f80779
children 7c0f59b688fc
files libgui/src/main-window.cc libgui/src/main-window.h
diffstat 2 files changed, 52 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/main-window.cc	Tue Nov 26 14:49:54 2013 -0800
+++ b/libgui/src/main-window.cc	Tue Nov 26 21:51:17 2013 -0500
@@ -1150,6 +1150,8 @@
 
   construct_tool_bar ();
 
+  construct_warning_bar ();
+
   connect (qApp, SIGNAL (aboutToQuit ()),
            this, SLOT (prepare_to_exit ()));
 
@@ -1771,6 +1773,55 @@
 }
 
 void
+main_window::construct_warning_bar (void)
+{
+  QDockWidget *warning_bar = new QDockWidget (this);
+
+  QFrame *box = new QFrame (warning_bar);
+
+  QLabel *icon = new QLabel (box);
+  QIcon warning_icon = QIcon::fromTheme ("dialog-warning");
+  QPixmap icon_pixmap = warning_icon.pixmap (QSize (32, 32));
+  icon->setPixmap (icon_pixmap);
+
+  QTextBrowser *msg = new QTextBrowser (box);
+  msg->setOpenExternalLinks (true);
+  msg->setText
+    (tr ("<strong>You are using Octave's experimental GUI.</strong>  "
+         "It is under continuous improvement and will be the default "
+         "interface for the 4.0 release.  For more information, select "
+         "the \"Release Notes\" item in the \"Help\" menu of the GUI, "
+         "or visit <a href=\"http://octave.org\">http://octave.org</a>."));
+  msg->setStyleSheet ("background-color: #ffd97f; color: black; margin 4px;");
+  msg->setMinimumWidth (100);
+  msg->setMinimumHeight (48);
+  msg->setMaximumHeight (64);
+  msg->setSizePolicy (QSizePolicy (QSizePolicy::Expanding,
+                                   QSizePolicy::Minimum));
+
+  QHBoxLayout *icon_and_message = new QHBoxLayout;
+
+  icon_and_message->addWidget (icon);
+  icon_and_message->addSpacing (10);
+  icon_and_message->addWidget (msg);
+
+  box->setFrameStyle (QFrame::Box);
+  box->setLineWidth (2);
+  box->setMaximumWidth (1000);
+  box->adjustSize ();
+  box->setLayout (icon_and_message);
+
+  warning_bar->setFeatures (QDockWidget::NoDockWidgetFeatures);
+  warning_bar->setObjectName ("WarningToolBar");
+  warning_bar->setWidget (box);
+
+  addDockWidget (Qt::TopDockWidgetArea, warning_bar);
+
+  setCorner (Qt::TopLeftCorner, Qt::TopDockWidgetArea);
+  setCorner (Qt::TopRightCorner, Qt::TopDockWidgetArea);
+};
+
+void
 main_window::construct_tool_bar (void)
 {
   _main_tool_bar = addToolBar ("Main");
--- a/libgui/src/main-window.h	Tue Nov 26 14:49:54 2013 -0800
+++ b/libgui/src/main-window.h	Tue Nov 26 21:51:17 2013 -0500
@@ -222,6 +222,7 @@
 
   void construct_news_menu (QMenuBar *p);
 
+  void construct_warning_bar (void);
   void construct_tool_bar (void);
 
   void establish_octave_link (void);