# HG changeset patch # User John W. Eaton # Date 1385520677 18000 # Node ID 989ff97a7e8c899d371130582f7b91827c23aed3 # Parent 4138a7f807798c25a0cd4b3ddc327d375b06a11a provide warning about experimental GUI * main-window.h, main-window.cc (main_window::construct_warning_bar): New function. (main_window::construct): Call it. diff -r 4138a7f80779 -r 989ff97a7e8c libgui/src/main-window.cc --- 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 ("You are using Octave's experimental GUI. " + "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 http://octave.org.")); + 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"); diff -r 4138a7f80779 -r 989ff97a7e8c libgui/src/main-window.h --- 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);