Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/73247fefc0fc68886737ac6b3962eb4150cabcf8
...commit
http://git.netsurf-browser.org/netsurf.git/commit/73247fefc0fc68886737ac6b3962eb4150cabcf8
...tree
http://git.netsurf-browser.org/netsurf.git/tree/73247fefc0fc68886737ac6b3962eb4150cabcf8
The branch, vince/qt6 has been updated
via 73247fefc0fc68886737ac6b3962eb4150cabcf8 (commit)
from 8b2c3de940f2b2c2532243dee6a26af9a237bbe5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=73247fefc0fc68886737ac6b3962eb4150cabcf8
commit 73247fefc0fc68886737ac6b3962eb4150cabcf8
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>
add status in splitter with horizontal scrollbar
diff --git a/frontends/qt/widget.cls.h b/frontends/qt/widget.cls.h
index f97da76..f7bea58 100644
--- a/frontends/qt/widget.cls.h
+++ b/frontends/qt/widget.cls.h
@@ -45,7 +45,7 @@ protected:
public:
NS_Widget(QWidget *parent, struct browser_window *bw)
: QWidget(parent, Qt::Widget), m_bw(bw), m_xoffset(0),
m_yoffset(0) {}
-
+ QSize sizeHint() const override;
bool get_scroll(int *sx, int *sy);
nserror get_dimensions(int *width, int *height);
diff --git a/frontends/qt/widget.cpp b/frontends/qt/widget.cpp
index 0980244..9f1c56b 100644
--- a/frontends/qt/widget.cpp
+++ b/frontends/qt/widget.cpp
@@ -26,6 +26,7 @@
extern "C" {
#include "utils/errors.h"
+#include "utils/nsoption.h"
#include "netsurf/plotters.h"
}
@@ -161,3 +162,17 @@ void NS_Widget::setVerticalScroll(int value)
m_yoffset = value;
update();
}
+
+QSize NS_Widget::sizeHint() const
+{
+ int width = nsoption_int(window_width);
+ if (width == 0) {
+ width = 1000;
+ }
+ int height = nsoption_int(window_height);
+ if (height == 0) {
+ height = 700;
+ }
+ QSize s(width, height);
+ return s;
+}
diff --git a/frontends/qt/window.cls.h b/frontends/qt/window.cls.h
index ef0f94b..968c144 100644
--- a/frontends/qt/window.cls.h
+++ b/frontends/qt/window.cls.h
@@ -23,6 +23,7 @@
#include <QWidget>
#include <QScrollBar>
+#include <QLabel>
extern "C" {
#include "utils/errors.h"
@@ -46,21 +47,16 @@ private:
NS_Widget *m_nswidget;
QScrollBar *m_vscrollbar;
QScrollBar *m_hscrollbar;
- //Fl_Output *m_status;
+ QLabel *m_status;
nserror set_scroll(const struct rect *rect);
void set_status(const char *text);
void set_title(const char *title);
nserror set_extent(int w, int h);
- //void close_callback(Fl_Widget *w);
-
- /* static wrapper for qt callbacks */
- //static void static_close_callback(Fl_Widget *w, void *f);
- //static void static_hscroll_callback(Fl_Widget *w, void *f);
- //static void static_vscroll_callback(Fl_Widget *w, void *f);
protected:
void closeEvent(QCloseEvent *event);
+
public:
NS_Window(QWidget* parent, struct browser_window *bw);
~NS_Window();
diff --git a/frontends/qt/window.cpp b/frontends/qt/window.cpp
index 51c8e00..4d79811 100644
--- a/frontends/qt/window.cpp
+++ b/frontends/qt/window.cpp
@@ -22,6 +22,7 @@
*/
#include <QGridLayout>
+#include <QSplitter>
extern "C" {
@@ -83,22 +84,28 @@ NS_Window::NS_Window(QWidget *parent, struct browser_window
*bw)
connect(m_vscrollbar, &QScrollBar::valueChanged,
m_nswidget, &NS_Widget::setVerticalScroll);
+ /* status */
+ m_status = new QLabel();
+
+ QSplitter *splitter = new QSplitter();
+ splitter->setChildrenCollapsible(false);
+ splitter->addWidget(m_status);
+ splitter->addWidget(m_hscrollbar);
+ int tb_pct = nsoption_int(toolbar_status_size);
+ //NSLOG(netsurf,WARNING,"%d:%d",tb_pct,10000 - tb_pct);
+ splitter->setStretchFactor(0,tb_pct);
+ splitter->setStretchFactor(1,10000 - tb_pct);
+
// Build browser window grid layout
QGridLayout *layout = new QGridLayout(this);
layout->setContentsMargins(0,0,0,0);
+ layout->setHorizontalSpacing(0);
+ layout->setVerticalSpacing(0);
layout->addWidget(m_nsurlbar, 0, 0, 1, 2);
layout->addWidget(m_nswidget,1,0);
layout->addWidget(m_vscrollbar, 1,1);
layout->setRowStretch(1,1);
- layout->addWidget(m_hscrollbar, 2,0);
-
-
-#if 0
-
- // status text
- m_status = new Fl_Output(0, m_hscrollbar->y(), splitx, scrlsize);
-
-#endif
+ layout->addWidget(splitter, 2,0);
}
NS_Window::~NS_Window() {
@@ -116,7 +123,7 @@ void NS_Window::closeEvent(QCloseEvent *event)
*/
void NS_Window::set_status(const char *text)
{
- //m_status->value(text);
+ m_status->setText(text);
}
@@ -158,24 +165,6 @@ nserror NS_Window::set_extent(int ew, int eh)
/* static methods */
-#if 0
-
-/**
- * static vertical scrollbar qt callback which calls the instance
- */
-void NS_Window::static_vscroll_callback(Fl_Widget *w, void *f)
-{
- ((NS_Widget *)f)->vscroll_callback((Fl_Scrollbar *)w);
-}
-
-/**
- * static horizontal scrollbar qt callback which calls the instance
- */
-void NS_Window::static_hscroll_callback(Fl_Widget *w, void *f)
-{
- ((NS_Widget *)f)->hscroll_callback((Fl_Scrollbar *)w);
-}
-#endif
/**
* Set the status bar message of a browser window.
-----------------------------------------------------------------------
Summary of changes:
frontends/qt/widget.cls.h | 2 +-
frontends/qt/widget.cpp | 15 +++++++++++++++
frontends/qt/window.cls.h | 10 +++-------
frontends/qt/window.cpp | 45 +++++++++++++++++----------------------------
4 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/frontends/qt/widget.cls.h b/frontends/qt/widget.cls.h
index f97da76..f7bea58 100644
--- a/frontends/qt/widget.cls.h
+++ b/frontends/qt/widget.cls.h
@@ -45,7 +45,7 @@ protected:
public:
NS_Widget(QWidget *parent, struct browser_window *bw)
: QWidget(parent, Qt::Widget), m_bw(bw), m_xoffset(0),
m_yoffset(0) {}
-
+ QSize sizeHint() const override;
bool get_scroll(int *sx, int *sy);
nserror get_dimensions(int *width, int *height);
diff --git a/frontends/qt/widget.cpp b/frontends/qt/widget.cpp
index 0980244..9f1c56b 100644
--- a/frontends/qt/widget.cpp
+++ b/frontends/qt/widget.cpp
@@ -26,6 +26,7 @@
extern "C" {
#include "utils/errors.h"
+#include "utils/nsoption.h"
#include "netsurf/plotters.h"
}
@@ -161,3 +162,17 @@ void NS_Widget::setVerticalScroll(int value)
m_yoffset = value;
update();
}
+
+QSize NS_Widget::sizeHint() const
+{
+ int width = nsoption_int(window_width);
+ if (width == 0) {
+ width = 1000;
+ }
+ int height = nsoption_int(window_height);
+ if (height == 0) {
+ height = 700;
+ }
+ QSize s(width, height);
+ return s;
+}
diff --git a/frontends/qt/window.cls.h b/frontends/qt/window.cls.h
index ef0f94b..968c144 100644
--- a/frontends/qt/window.cls.h
+++ b/frontends/qt/window.cls.h
@@ -23,6 +23,7 @@
#include <QWidget>
#include <QScrollBar>
+#include <QLabel>
extern "C" {
#include "utils/errors.h"
@@ -46,21 +47,16 @@ private:
NS_Widget *m_nswidget;
QScrollBar *m_vscrollbar;
QScrollBar *m_hscrollbar;
- //Fl_Output *m_status;
+ QLabel *m_status;
nserror set_scroll(const struct rect *rect);
void set_status(const char *text);
void set_title(const char *title);
nserror set_extent(int w, int h);
- //void close_callback(Fl_Widget *w);
-
- /* static wrapper for qt callbacks */
- //static void static_close_callback(Fl_Widget *w, void *f);
- //static void static_hscroll_callback(Fl_Widget *w, void *f);
- //static void static_vscroll_callback(Fl_Widget *w, void *f);
protected:
void closeEvent(QCloseEvent *event);
+
public:
NS_Window(QWidget* parent, struct browser_window *bw);
~NS_Window();
diff --git a/frontends/qt/window.cpp b/frontends/qt/window.cpp
index 51c8e00..4d79811 100644
--- a/frontends/qt/window.cpp
+++ b/frontends/qt/window.cpp
@@ -22,6 +22,7 @@
*/
#include <QGridLayout>
+#include <QSplitter>
extern "C" {
@@ -83,22 +84,28 @@ NS_Window::NS_Window(QWidget *parent, struct browser_window
*bw)
connect(m_vscrollbar, &QScrollBar::valueChanged,
m_nswidget, &NS_Widget::setVerticalScroll);
+ /* status */
+ m_status = new QLabel();
+
+ QSplitter *splitter = new QSplitter();
+ splitter->setChildrenCollapsible(false);
+ splitter->addWidget(m_status);
+ splitter->addWidget(m_hscrollbar);
+ int tb_pct = nsoption_int(toolbar_status_size);
+ //NSLOG(netsurf,WARNING,"%d:%d",tb_pct,10000 - tb_pct);
+ splitter->setStretchFactor(0,tb_pct);
+ splitter->setStretchFactor(1,10000 - tb_pct);
+
// Build browser window grid layout
QGridLayout *layout = new QGridLayout(this);
layout->setContentsMargins(0,0,0,0);
+ layout->setHorizontalSpacing(0);
+ layout->setVerticalSpacing(0);
layout->addWidget(m_nsurlbar, 0, 0, 1, 2);
layout->addWidget(m_nswidget,1,0);
layout->addWidget(m_vscrollbar, 1,1);
layout->setRowStretch(1,1);
- layout->addWidget(m_hscrollbar, 2,0);
-
-
-#if 0
-
- // status text
- m_status = new Fl_Output(0, m_hscrollbar->y(), splitx, scrlsize);
-
-#endif
+ layout->addWidget(splitter, 2,0);
}
NS_Window::~NS_Window() {
@@ -116,7 +123,7 @@ void NS_Window::closeEvent(QCloseEvent *event)
*/
void NS_Window::set_status(const char *text)
{
- //m_status->value(text);
+ m_status->setText(text);
}
@@ -158,24 +165,6 @@ nserror NS_Window::set_extent(int ew, int eh)
/* static methods */
-#if 0
-
-/**
- * static vertical scrollbar qt callback which calls the instance
- */
-void NS_Window::static_vscroll_callback(Fl_Widget *w, void *f)
-{
- ((NS_Widget *)f)->vscroll_callback((Fl_Scrollbar *)w);
-}
-
-/**
- * static horizontal scrollbar qt callback which calls the instance
- */
-void NS_Window::static_hscroll_callback(Fl_Widget *w, void *f)
-{
- ((NS_Widget *)f)->hscroll_callback((Fl_Scrollbar *)w);
-}
-#endif
/**
* Set the status bar message of a browser window.
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]